ports/121787: Patch for OpenOffice.org to fix icu-3.8 breakage, as well as -CURRENT diablo-jdk breakage

Marcin Cieslak saper at system.pl
Wed Apr 23 10:00:07 UTC 2008


The following reply was made to PR ports/121787; it has been noted by GNATS.

From: Marcin Cieslak <saper at system.pl>
To: bug-followup at FreeBSD.org, ohartman at zedat.fu-berlin.de,
  Maho NAKATA <chat95 at mac.com>, kvedulv at kvedulv.de,
  Olivier Gautherot <olivier at gautherot.net>
Cc:  
Subject: ports/121787: Patch for OpenOffice.org to fix icu-3.8 breakage, as
 well as -CURRENT diablo-jdk breakage
Date: Wed, 23 Apr 2008 11:50:55 +0200

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig5CD469B0AB5C77E86AFF019F
 Content-Type: multipart/mixed;
  boundary="------------010905020202010205000309"
 
 This is a multi-part message in MIME format.
 --------------010905020202010205000309
 Content-Type: text/plain; charset=ISO-8859-2; format=flowed
 Content-Transfer-Encoding: quoted-printable
 
 Can you try this patch?
 
 -------- 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 at FreeBSD.org>
 Organization: FreeBSD Project
 To: ports at 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
 
 
 --------------010905020202010205000309
 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"
 
 --------------010905020202010205000309
 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=
 ().)
 
 --------------010905020202010205000309--
 
 --------------enig5CD469B0AB5C77E86AFF019F
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 
 iQCVAwUBSA8GgD2W2v2wY27ZAQOZNwQAkLTSCjPQyFcGMgZhpBr42J/PqwIs2zTP
 xBcU+z23QMZIrKDgHj2d5GXtfUQ4eGZpmhUoS/wydUTenqVn4UcvF0pHW0bUOJnE
 2GnxGxqDLaGhwghBDlAYQdteEguRmeHxTE0qY3rcibLGmQ4KmJj6CB6AvBY1PLyY
 1hey85/TOc0=
 =+sEB
 -----END PGP SIGNATURE-----
 
 --------------enig5CD469B0AB5C77E86AFF019F--


More information about the freebsd-openoffice mailing list