aboutsummaryrefslogtreecommitdiffstats
path: root/x11/kdebase4
diff options
context:
space:
mode:
authorwill <will@FreeBSD.org>2001-03-13 17:48:11 +0800
committerwill <will@FreeBSD.org>2001-03-13 17:48:11 +0800
commit5878547031a9347b01ade1786d60b83fa4449db5 (patch)
tree1056f8693231934a13cf9efc97aaa9d668cd2e3c /x11/kdebase4
parent0245b3a2fdc9eeb528707aff01ab30e01a66db47 (diff)
downloadfreebsd-ports-gnome-5878547031a9347b01ade1786d60b83fa4449db5.tar.gz
freebsd-ports-gnome-5878547031a9347b01ade1786d60b83fa4449db5.tar.zst
freebsd-ports-gnome-5878547031a9347b01ade1786d60b83fa4449db5.zip
Bring in my KDE 2.1 + X 4.0.2 + threads "fixes". WARNING: Doesn't quite
work right yet. This needs other eyes to look at in order for me to figure out what's going on here. Help, please? Basically, the current situation is this: You can hack the startkde script to make KDE2 start all the way through, which basically consists of simply replacing the kdeinit line with "kcminit". However, at certain points after KDE is done setting things up, processes named "kdeinit" that are in charge of certain apps go crazy and hit infinite loops somewhere. I haven't been able to determine where exactly, and if this is related to threads at all, or if a critical app or similar somehow doesn't get compiled with threads. Or something like that. *sigh* Konqueror can startup and seems to work okay in a different window manager, but it seems to randomly set off a kdeinit proc as above. Anyhow, this is 2 weeks' worth of debugging on a 4-month-old problem. If you're using XFree86 4.0.2, I caution against trying this stuff out unless you're going to help me out and are willing to help me figure out exactly where the heck things are going awry. Things should still compile and work just fine for those on XFree86 3.3.6. I decided to leave out these hacks in nonessential stuff (like kdenetwork et al) because kde2 itself needs to work with threads first. =) I guess I can thank my lucky stars JKH's decided to stick with 3.3.6 until some point in the future when 4.0.x becomes more stable...
Diffstat (limited to 'x11/kdebase4')
-rw-r--r--x11/kdebase4/Makefile38
1 files changed, 34 insertions, 4 deletions
diff --git a/x11/kdebase4/Makefile b/x11/kdebase4/Makefile
index 16190dd22f0b..8ce6abfc9403 100644
--- a/x11/kdebase4/Makefile
+++ b/x11/kdebase4/Makefile
@@ -25,6 +25,30 @@ USE_BZIP2= yes
USE_NEWGCC= yes
INSTALLS_SHLIB= yes
USE_AUTOCONF= yes
+
+.include <bsd.port.pre.mk>
+
+# Hack to make pthread support work correctly.
+.if exists(${X11BASE}/lib/libqt2-mt.so)
+.if exists(${X11BASE}/lib/libXThrStub.so)
+QTNAME= qt2-mt
+.if ${OSVERSION} >= 500016
+PTHREAD_CFLAGS=
+PTHREAD_LIBS= -lc_r
+.else
+PTHREAD_CFLAGS= -D_THREAD_SAFE
+PTHREAD_LIBS= -pthread
+.endif
+.else
+QTNAME= qt2
+PTHREAD_CFLAGS=
+PTHREAD_LIBS=
+.endif
+.endif
+
+CFLAGS+= ${PTHREAD_CFLAGS} ${PTHREAD_LIBS}
+LDFLAGS+= ${PTHREAD_LIBS}
+
CONFIGURE_ARGS+=--with-xdmdir=${X11BASE}/lib/X11/xdm \
--with-qt-dir=${X11BASE} \
--with-qt-includes=${X11BASE}/include/qt2 \
@@ -32,9 +56,10 @@ CONFIGURE_ARGS+=--with-xdmdir=${X11BASE}/lib/X11/xdm \
--with-extra-libs=${LOCALBASE}/lib \
--without-ldap \
--disable-closure
-CONFIGURE_ENV+= MOC="${MOC}" LIBQT="-lqt2" LIBQTFILE="libqt2" \
- CPPFLAGS="-I${LOCALBASE}/include -D_GETOPT_H" \
- LIBS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lstdc++ -lgcc"
+CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include -I${PREFIX}/include -D_GETOPT_H ${PTHREAD_CFLAGS}" \
+ MOC="${MOC}" LIBQT="-l${QTNAME}" LIBQTFILE="lib${QTNAME}" \
+ LIBS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lstdc++ -lgcc ${PTHREAD_LIBS}" \
+ LDFLAGS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lstdc++ -lgcc ${PTHREAD_LIBS}"
USE_GMAKE= yes
pre-configure:
@@ -43,4 +68,9 @@ pre-configure:
${PERL} -pi -e "s@version-info 1:1:0@version-info ${SOMAJOR}:${SOMINOR}@g" ${WRKSRC}/nsplugins/Makefile.in
${PERL} -pi -e "s@TIME_WITH_SYS_TIME@INVALID_FOO@g" ${WRKSRC}/kioslave/ldap/kldap.h
-.include <bsd.port.mk>
+post-configure:
+ @${CP} ${WRKSRC}/libtool ${WRKSRC}/libtool.orig
+ ${SED} -e 's@\\\$$compiler_flags@\\\$$compiler_flags ${PTHREAD_LIBS}@g' ${WRKSRC}/libtool.orig \
+ > ${WRKSRC}/libtool
+
+.include <bsd.port.post.mk>