Date: Tue, 22 Apr 2008 17:49:37 +0200 From: Marcin Cieslak <saper@system.pl> To: freebsd-openoffice@freebsd.org Subject: CFT: Patch for OpenOffice.org to fix icu-3.8 breakage, as well as -CURRENT diablo-jdk breakage Message-ID: <ful1f2$kvu$1@ger.gmane.org>
next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigAB566453CCDC80F545E19971 Content-Type: multipart/mixed; boundary="------------050906030806030404040501" This is a multi-part message in MIME format. --------------050906030806030404040501 Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: quoted-printable Reposting from -ports -------- Original Message -------- Subject: CFT: Patch for OpenOffice.org to fix icu-3.8 breakage, as=20 well as -CURRENT diablo-jdk breakage Date: Wed, 16 Apr 2008 22:00:44 -0400 From: Coleman Kane <cokane@FreeBSD.org> Organization: FreeBSD Project To: ports@FreeBSD.org Newsgroups: gmane.os.freebsd.devel.ports Hello everyone, I've got a two-in-one patch I'd like to know if any volunteers would like to test to get ports/editors/openoffice.org-2-RC built and installed under the following circumstances where it may be failing: 1. You've installed the devel/icu 3.8+ port, and the build gives you an undefined symbol named "_ZN7icu_3_814LEFontInstance16getStaticClassIDEv" error 2. You're running 8.0-CURRENT and the KSE stuff has been removed and you installed diablo-jdk. This may be crashing when it tries to run the java stuff during the OO.o build, causing the build to fail with obscure error messages. My fix for #1, above, is to provide a new knob WITH_SYSTEM_ICU that tells configure to use the local-system's installed icu library, rather than the one that was shipped with the OO.o tarball. It seems that during the build, the include path unwittingly brings in your system headers, but then attempts to link against the shipped library. Both of these are incompatible APIs, and the result is an inability to resolve a symbol that is public in the OO.o version, but protected in the ports version. I am also attaching a patch for devel/icu that applies this permission change. My fix for #2, above, is to set the build jdk to "bsdjava" for FreeBSD 8.0+, which results in having Mk/bsd.java.mk look for the ports source-build rather than using the diablo-jdk for doing java compiles. For other versions of FreeBSD, the default is left at what it was before (diablo, then ports). --=20 Coleman Kane --------------050906030806030404040501 Content-Type: text/x-patch; name="openoffice.org-system-icu.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="openoffice.org-system-icu.patch" diff --git a/editors/openoffice.org-2-RC/Makefile b/editors/openoffice.or= g-2-RC/Makefile index c870dc7..5655df5 100644 --- a/editors/openoffice.org-2-RC/Makefile +++ b/editors/openoffice.org-2-RC/Makefile @@ -7,6 +7,7 @@ =20 PORTNAME?=3D openoffice.org PORTVERSION?=3D 2.4.${SNAPDATE} +PORTREVISION?=3D 1 CATEGORIES+=3D editors java MASTER_SITES+=3D http://ooopackages.good-day.net/pub/OpenOffice.org/sour= ces/ \ http://openoffice.lunarshells.com/sources/ \ @@ -53,7 +54,11 @@ WITHOUT_CPU_CFLAGS=3D true =20 USE_JAVA=3D yes JAVA_BUILD=3D jdk +.if (${OSVERSION} >=3D 800000) +JAVA_VENDOR=3D bsdjava +.else JAVA_VENDOR=3D freebsd bsdjava +.endif .if (${OSVERSION} >=3D 700000) JAVA_VERSION=3D 1.5 .else diff --git a/editors/openoffice.org-2-RC/files/Makefile.knobs b/editors/o= penoffice.org-2-RC/files/Makefile.knobs index c0c76e9..a5a9644 100644 --- a/editors/openoffice.org-2-RC/files/Makefile.knobs +++ b/editors/openoffice.org-2-RC/files/Makefile.knobs @@ -54,6 +54,13 @@ CONFIGURE_ARGS+=3D --enable-debug --enable-symbols=3DT= RUE --enable-dbgutil CONFIGURE_ARGS+=3D --enable-symbols=3DSMALL .endif =20 +.if defined(WITH_SYSTEM_ICU) +LIB_DEPENDS+=3D icule:${PORTSDIR}/devel/icu +CONFIGURE_ARGS+=3D --with-system-icu=3Dyes +.else +CONFIGURE_ARGS+=3D --with-system-icu=3Dno +.endif + pre-fetch: .if (${OSVERSION} < 503001 && ${OSVERSION} >=3D 500000) || (${OSVERSION}= < 492000) @${ECHO} @@ -86,6 +93,11 @@ pre-fetch: @${ECHO} "You can compile OOo without gnome VFS support with" @${ECHO} "make -DWITHOUT_GNOMEVFS" .endif +.if !defined(WITH_SYSTEM_ICU) + @${ECHO} + @${ECHO} "You can compile OOo with devel/icu from ports with" + @${ECHO} "make -DWITH_SYSTEM_ICU" +.endif .if !defined(WITH_SYSTEM_FREETYPE) @${ECHO} @${ECHO} "You can compile OOo with freetype2 from ports with" --------------050906030806030404040501 Content-Type: text/x-patch; name="icu-public-setBreakType.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="icu-public-setBreakType.patch" diff --git a/devel/icu/Makefile b/devel/icu/Makefile index bc367b3..78edecb 100644 --- a/devel/icu/Makefile +++ b/devel/icu/Makefile @@ -7,7 +7,7 @@ =20 PORTNAME=3D icu PORTVERSION=3D 3.8.1 -PORTREVISION=3D 1 +PORTREVISION=3D 2 CATEGORIES=3D devel MASTER_SITES=3D ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR=3D${PORTNAME} diff --git a/devel/icu/files/patch-common_unicode_rbbi.h b/devel/icu/file= s/patch-common_unicode_rbbi.h new file mode 100644 index 0000000..68f2fc2 --- /dev/null +++ b/devel/icu/files/patch-common_unicode_rbbi.h @@ -0,0 +1,17 @@ +--- common/unicode/rbbi.h.orig 2008-04-16 09:58:20.000000000 -0400 ++++ common/unicode/rbbi.h 2008-04-16 09:59:00.000000000 -0400 +@@ -611,12 +611,14 @@ + virtual int32_t getBreakType() const; + #endif +=20 ++public: + /** + * Set the type of the break iterator. + * @internal + */ + virtual void setBreakType(int32_t type); +=20 ++protected: + /** + * Common initialization function, used by constructors and buffer= Clone. + * (Also used by DictionaryBasedBreakIterator::createBufferClone= ().) --------------050906030806030404040501 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="signature.asc" LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjEuNC44IChG cmVlQlNEKQoKaUVZRUFCRUNBQVlGQWtnR3Iwb0FDZ2tRY01TeFFjWGF0NWVpZlFDY0NUQnpT WWRSZ1NtaUFRd3J2dk5xVUJWNwp5NjBBblJMeE1mL1h6QytGTmhNYk9sSU50MWNYUVhsMgo9 ZWtUOAotLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0KCg== --------------050906030806030404040501-- --------------enigAB566453CCDC80F545E19971 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQCVAwUBSA4JFD2W2v2wY27ZAQNhJwP/TMF2znL827LZUZNU4wd620m93c8yNrNF Xl019XlHrXncJOwl3yLzYqle4q2UAoIIKw4bLWK53bewGc5ccWbXcGaGU0jUV/Fm zXCx6BiD+Uiqc0o57CHnzC2BTUK6lZ9a9ASHebJaHWQIb/70d4qbNH1madpp4VhF EfVTcrc+YZ8= =DuOW -----END PGP SIGNATURE----- --------------enigAB566453CCDC80F545E19971--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ful1f2$kvu$1>