174743bd5d
Bump PORTREVISION just in case this is needed. From Mikhail Teterin: > Well, for the same reason the xslt.cpp sometimes works -- in fact, it > worked for everyone, until someone tried it on current. > > In essence, the code reads the whole file into a buffer. It then tries > to turn that buffer into one of qt's string-objects (QCString). The > class' constructor they chose assumes, it is passed a valid (aka > \0-terminated) string and goes through the buffer looking for the first > 0-byte. The file itself does not contain any, so it happily wonders > behind the real end of the buffer until it either finds a stray 0-byte, > or seg-faults, trying to read a wrong page. > > Apparently, more often than not, some stray 0-byte is there -- no > surprise. But it will usually create a string that's longer than the > file size -- unless the 0-byte happens to be right there at the end of > the buffer. Apparently, the lamer, who wrote it, noticed something > strange, so he/she explicitly truncates the created QCString object to > the known size of the file after instantiation: > > contents.truncate(xmlFile.size()) > > My patch modifies the code to use the correct QCString constructor -- > the one, that accepts the maximum size of the string. This does the > right thing -- once it reaches the end of the buffer, it stops, > allocates the private storage (I hate C++ for all this buffer copying), > appends the 0-byte and creates the object of the expected size. No > truncation is needed.... Thanks to Mikhail for his debugging on this problem; this patch further removes the hazard of meinproc coredumps. Submitted by: mi
92 lines
2.6 KiB
Makefile
92 lines
2.6 KiB
Makefile
# New ports collection makefile for: KDE libraries 2
|
|
# Date created: Fri Apr 14 2000 15:05:00 EDT
|
|
# Whom: will
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= kdelibs
|
|
PORTVERSION= 2.2
|
|
PORTREVISION= 3
|
|
CATEGORIES= x11 kde
|
|
MASTER_SITES= ${MASTER_SITE_KDE}
|
|
MASTER_SITE_SUBDIR= stable/${PORTVERSION}/src
|
|
|
|
MAINTAINER= kde@FreeBSD.org
|
|
|
|
LIB_DEPENDS= tiff.4:${PORTSDIR}/graphics/tiff \
|
|
audiofile.0:${PORTSDIR}/audio/libaudiofile \
|
|
fam.0:${PORTSDIR}/devel/fam \
|
|
cups.2:${PORTSDIR}/print/cups \
|
|
xml2.5:${PORTSDIR}/textproc/libxml2 \
|
|
pcre.0:${PORTSDIR}/devel/pcre
|
|
.if !exists(/usr/bin/bzip2)
|
|
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
|
.endif
|
|
|
|
USE_OPENSSL= yes
|
|
USE_QT_VER= 2
|
|
SOMAJOR= 4
|
|
SOMINOR= 0
|
|
USE_BZIP2= yes
|
|
INSTALLS_SHLIB= yes
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+=--enable-cups --disable-ltdl-install \
|
|
--enable-debug --disable-final
|
|
|
|
.if ${MACHINE_ARCH} == "alpha"
|
|
CFLAGS= -O0 ${KDE_CFLAGS}
|
|
.endif
|
|
|
|
USE_GMAKE= yes
|
|
MAKE_ENV= SOMAJOR="${SOMAJOR}" SOMINOR="${SOMINOR}"
|
|
PLIST_SUB+= LIBVER="${SOMAJOR}" LDCONFIG="${LDCONFIG}"
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
pre-fetch:
|
|
.if ${OSVERSION} <= 410002
|
|
@${ECHO}
|
|
@${ECHO} " NOTICE"
|
|
@${ECHO}
|
|
@${ECHO} "Your OpenSSL installation could be out of date. This is"
|
|
@${ECHO} "just a warning, but if your system's world was built on"
|
|
@${ECHO} "sources earlier than August 20 along RELENG_4 or older,"
|
|
@${ECHO} "then KDE2 will not build with SSL support."
|
|
@${ECHO}
|
|
.endif
|
|
|
|
pre-extract:
|
|
.if exists(${LOCALBASE}/include/kfm.h)
|
|
@${ECHO}
|
|
@${ECHO} " NOTICE"
|
|
@${ECHO}
|
|
@${ECHO} "You have KDE1 headers installed! Installing this port"
|
|
@${ECHO} "will result in conflicts between KDE2 and KDE1!"
|
|
@${ECHO}
|
|
@${FALSE}
|
|
.endif
|
|
|
|
pre-configure:
|
|
${PERL} -pi -e "s@-O2@-O0@g; s@\"-lfam@\"-L${LOCALBASE}/lib -lfam@g" ${WRKSRC}/configure
|
|
${PERL} -pi -e "s@kspell api@@g" ${WRKSRC}/doc/Makefile.in
|
|
(find ${WRKSRC} -name Makefile.in | xargs ${PERL} -pi.orig -e \
|
|
"s@version-info 1:0@version-info ${SOMAJOR}:${SOMINOR}@g; \
|
|
s@version-info 3:0@version-info ${SOMAJOR}:${SOMINOR}@g")
|
|
|
|
post-configure:
|
|
${PERL} -pi -e "s@-D_PTH_H_ -D_PTH_PTHREAD_H_@@g" ${WRKSRC}/arts/mcop_mt/Makefile
|
|
|
|
post-install:
|
|
${SED} -e 's,%%PREFIX%%,${PREFIX},g' ${FILESDIR}/kdelibs.sh > ${PREFIX}/etc/rc.d/kdelibs.sh
|
|
${CHMOD} 755 ${PREFIX}/etc/rc.d/kdelibs.sh
|
|
.for LIB in DCOP kab kdecore kdesu kdeui kfile kformula kio kjs \
|
|
kparts kspell ksycoca kjava
|
|
@${LN} -sf ${PREFIX}/lib/lib${LIB}.so.${SOMAJOR} ${PREFIX}/lib/lib${LIB}.so
|
|
.endfor
|
|
.for LIB in artsc artsflow artsflow_idl kmid kmedia2_idl qtmcop soundserver_idl
|
|
@${LN} -sf ${PREFIX}/lib/lib${LIB}.so.0 ${PREFIX}/lib/lib${LIB}.so
|
|
.endfor
|
|
|
|
.include <bsd.port.post.mk>
|