summaryrefslogtreecommitdiffstats
path: root/editors
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2005-01-10 12:28:20 +0000
committermaho <maho@FreeBSD.org>2005-01-10 12:28:20 +0000
commitc5236966ac904bd154488c04a1ad59d0184586b3 (patch)
tree8bbeb3cf7cb7e90e717607750658065d36aaa23c /editors
parent6928ca6d31cf5af40067c3841d2293a8de46b280 (diff)
downloadFreeBSD-ports-c5236966ac904bd154488c04a1ad59d0184586b3.zip
FreeBSD-ports-c5236966ac904bd154488c04a1ad59d0184586b3.tar.gz
Update to 1.9m71 and unbreak
Special thanks to: Pavel Janik, and Kris Kennaway They contributed for in many ways. Additional contributors. thank you very much for all: daichi, Eric Bachard, kan, lofi, Martin Hollmichel, nork, obrien, Sander Vesik, sem, and Stefan Taxhet
Diffstat (limited to 'editors')
-rw-r--r--editors/openoffice-2.0-devel/Makefile223
-rw-r--r--editors/openoffice-2.0-devel/distinfo4
-rw-r--r--editors/openoffice-2.0-devel/files/Makefile.knobs79
-rw-r--r--editors/openoffice-2.0-devel/files/Makefile.localized199
-rw-r--r--editors/openoffice-2.0-devel/files/generate.pl21
-rw-r--r--editors/openoffice-2.0-devel/files/oo_setup.resp7
-rw-r--r--editors/openoffice-2.0-devel/files/openoffice-wrapper4
-rw-r--r--editors/openoffice-2.0-devel/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice-2.0-devel/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice-2.0-devel/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice-2.0-devel/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice-2.0-devel/files/patch-project-bridges1002
-rw-r--r--editors/openoffice-2.0-devel/files/patch-project-extentions103
-rw-r--r--editors/openoffice-2.0-devel/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice-2.0-devel/files/patch-project-python32
-rw-r--r--editors/openoffice-2.0-devel/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice-2.0-devel/pkg-descr3
-rw-r--r--editors/openoffice-2.0-devel/pkg-message82
-rw-r--r--editors/openoffice-3-devel/Makefile223
-rw-r--r--editors/openoffice-3-devel/distinfo4
-rw-r--r--editors/openoffice-3-devel/files/Makefile.knobs79
-rw-r--r--editors/openoffice-3-devel/files/Makefile.localized199
-rw-r--r--editors/openoffice-3-devel/files/generate.pl21
-rw-r--r--editors/openoffice-3-devel/files/oo_setup.resp7
-rw-r--r--editors/openoffice-3-devel/files/openoffice-wrapper2
-rw-r--r--editors/openoffice-3-devel/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice-3-devel/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice-3-devel/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice-3-devel/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice-3-devel/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice-3-devel/files/patch-project-bridges1002
-rw-r--r--editors/openoffice-3-devel/files/patch-project-extentions103
-rw-r--r--editors/openoffice-3-devel/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice-3-devel/files/patch-project-python32
-rw-r--r--editors/openoffice-3-devel/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice-3-devel/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice-3-devel/pkg-descr3
-rw-r--r--editors/openoffice-3-devel/pkg-message82
-rw-r--r--editors/openoffice-3/Makefile223
-rw-r--r--editors/openoffice-3/distinfo4
-rw-r--r--editors/openoffice-3/files/Makefile.knobs79
-rw-r--r--editors/openoffice-3/files/Makefile.localized199
-rw-r--r--editors/openoffice-3/files/generate.pl21
-rw-r--r--editors/openoffice-3/files/oo_setup.resp7
-rw-r--r--editors/openoffice-3/files/openoffice-wrapper4
-rw-r--r--editors/openoffice-3/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice-3/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice-3/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice-3/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice-3/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice-3/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice-3/files/patch-project-bridges1002
-rw-r--r--editors/openoffice-3/files/patch-project-extentions103
-rw-r--r--editors/openoffice-3/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice-3/files/patch-project-python32
-rw-r--r--editors/openoffice-3/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice-3/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice-3/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice-3/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice-3/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice-3/pkg-descr3
-rw-r--r--editors/openoffice-3/pkg-message82
-rw-r--r--editors/openoffice.org-2-RC/Makefile223
-rw-r--r--editors/openoffice.org-2-RC/distinfo4
-rw-r--r--editors/openoffice.org-2-RC/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-2-RC/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-2-RC/files/generate.pl21
-rw-r--r--editors/openoffice.org-2-RC/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-2-RC/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-2-RC/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-2-RC/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-2-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-2-RC/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-2-RC/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-2-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-2-RC/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-2-RC/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-2-RC/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-2-RC/files/patch-project-python32
-rw-r--r--editors/openoffice.org-2-RC/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-2-RC/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-2-RC/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-2-RC/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-2-RC/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-2-RC/pkg-descr3
-rw-r--r--editors/openoffice.org-2-RC/pkg-message82
-rw-r--r--editors/openoffice.org-2-devel/Makefile223
-rw-r--r--editors/openoffice.org-2-devel/distinfo4
-rw-r--r--editors/openoffice.org-2-devel/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-2-devel/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-2-devel/files/generate.pl21
-rw-r--r--editors/openoffice.org-2-devel/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-2-devel/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-2-devel/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-2-devel/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-2-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-2-devel/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-2-devel/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-2-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-2-devel/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-2-devel/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-2-devel/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-2-devel/files/patch-project-python32
-rw-r--r--editors/openoffice.org-2-devel/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-2-devel/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-2-devel/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-2-devel/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-2-devel/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-2-devel/pkg-descr3
-rw-r--r--editors/openoffice.org-2-devel/pkg-message82
-rw-r--r--editors/openoffice.org-2.0-devel/Makefile223
-rw-r--r--editors/openoffice.org-2.0-devel/distinfo4
-rw-r--r--editors/openoffice.org-2.0-devel/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-2.0-devel/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-2.0-devel/files/generate.pl21
-rw-r--r--editors/openoffice.org-2.0-devel/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-2.0-devel/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-project-python32
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-2.0-devel/pkg-descr3
-rw-r--r--editors/openoffice.org-2.0-devel/pkg-message82
-rw-r--r--editors/openoffice.org-2.0/Makefile223
-rw-r--r--editors/openoffice.org-2.0/distinfo4
-rw-r--r--editors/openoffice.org-2.0/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-2.0/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-2.0/files/generate.pl21
-rw-r--r--editors/openoffice.org-2.0/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-2.0/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-2.0/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-2.0/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-2.0/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-2.0/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-2.0/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-2.0/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-2.0/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-2.0/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-2.0/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-2.0/files/patch-project-python32
-rw-r--r--editors/openoffice.org-2.0/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-2.0/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-2.0/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-2.0/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-2.0/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-2.0/pkg-descr3
-rw-r--r--editors/openoffice.org-2.0/pkg-message82
-rw-r--r--editors/openoffice.org-2/Makefile223
-rw-r--r--editors/openoffice.org-2/distinfo4
-rw-r--r--editors/openoffice.org-2/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-2/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-2/files/generate.pl21
-rw-r--r--editors/openoffice.org-2/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-2/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-2/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-2/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-2/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-2/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-2/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-2/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-2/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-2/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-2/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-2/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-2/files/patch-project-python32
-rw-r--r--editors/openoffice.org-2/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-2/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-2/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-2/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-2/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-2/pkg-descr3
-rw-r--r--editors/openoffice.org-2/pkg-message82
-rw-r--r--editors/openoffice.org-3-RC/Makefile223
-rw-r--r--editors/openoffice.org-3-RC/distinfo4
-rw-r--r--editors/openoffice.org-3-RC/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-3-RC/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-3-RC/files/generate.pl21
-rw-r--r--editors/openoffice.org-3-RC/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-3-RC/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-3-RC/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-3-RC/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-3-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-3-RC/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-3-RC/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-3-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-3-RC/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-3-RC/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-3-RC/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-3-RC/files/patch-project-python32
-rw-r--r--editors/openoffice.org-3-RC/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-3-RC/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-3-RC/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-3-RC/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-3-RC/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-3-RC/pkg-descr3
-rw-r--r--editors/openoffice.org-3-RC/pkg-message82
-rw-r--r--editors/openoffice.org-3-devel/Makefile223
-rw-r--r--editors/openoffice.org-3-devel/distinfo4
-rw-r--r--editors/openoffice.org-3-devel/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-3-devel/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-3-devel/files/generate.pl21
-rw-r--r--editors/openoffice.org-3-devel/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-3-devel/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-3-devel/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-3-devel/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-3-devel/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-3-devel/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-3-devel/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-3-devel/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-3-devel/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-3-devel/files/patch-project-python32
-rw-r--r--editors/openoffice.org-3-devel/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-3-devel/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-3-devel/pkg-descr3
-rw-r--r--editors/openoffice.org-3-devel/pkg-message82
-rw-r--r--editors/openoffice.org-3/Makefile223
-rw-r--r--editors/openoffice.org-3/distinfo4
-rw-r--r--editors/openoffice.org-3/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-3/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-3/files/generate.pl21
-rw-r--r--editors/openoffice.org-3/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-3/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-3/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-3/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-3/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-3/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-3/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-3/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-3/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-3/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-3/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-3/files/patch-project-python32
-rw-r--r--editors/openoffice.org-3/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-3/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-3/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-3/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-3/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-3/pkg-descr3
-rw-r--r--editors/openoffice.org-3/pkg-message82
-rw-r--r--editors/openoffice.org-vcltesttool/Makefile223
-rw-r--r--editors/openoffice.org-vcltesttool/distinfo4
-rw-r--r--editors/openoffice.org-vcltesttool/files/Makefile.knobs79
-rw-r--r--editors/openoffice.org-vcltesttool/files/Makefile.localized199
-rw-r--r--editors/openoffice.org-vcltesttool/files/generate.pl21
-rw-r--r--editors/openoffice.org-vcltesttool/files/oo_setup.resp7
-rw-r--r--editors/openoffice.org-vcltesttool/files/openoffice-wrapper4
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-automation+source+server+statemnt.cxx19
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-config_office+configure.in69
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in30
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-cppuhelper+source+gcc3_linux_intel.map14
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-instsetoo_native+util+makefile.mk25
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-odk+setsdkenv_unix.in3
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl23
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-project-bridges1002
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-project-extentions103
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-project-jvmfwk64
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-project-python32
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-project-xmlsecurity10
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-psprint+source+helper+strhelper.cxx2
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-scp2+source+ooo+file_library_ooo.scp22
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-sfx2+source+config+cfgmgr.cxx17
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk84
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx31
-rw-r--r--editors/openoffice.org-vcltesttool/files/patch-ucbhelper+source+client+proxydecider.cxx17
-rw-r--r--editors/openoffice.org-vcltesttool/pkg-descr3
-rw-r--r--editors/openoffice.org-vcltesttool/pkg-message82
324 files changed, 19367 insertions, 6899 deletions
diff --git a/editors/openoffice-2.0-devel/Makefile b/editors/openoffice-2.0-devel/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice-2.0-devel/Makefile
+++ b/editors/openoffice-2.0-devel/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice-2.0-devel/distinfo b/editors/openoffice-2.0-devel/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice-2.0-devel/distinfo
+++ b/editors/openoffice-2.0-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice-2.0-devel/files/Makefile.knobs b/editors/openoffice-2.0-devel/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice-2.0-devel/files/Makefile.localized b/editors/openoffice-2.0-devel/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice-2.0-devel/files/Makefile.localized
+++ b/editors/openoffice-2.0-devel/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice-2.0-devel/files/generate.pl b/editors/openoffice-2.0-devel/files/generate.pl
new file mode 100644
index 0000000..2356735
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice-2.0-devel/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice-2.0-devel/files/oo_setup.resp b/editors/openoffice-2.0-devel/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice-2.0-devel/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice-2.0-devel/files/openoffice-wrapper b/editors/openoffice-2.0-devel/files/openoffice-wrapper
index 34e3d5d..007c4e0 100644
--- a/editors/openoffice-2.0-devel/files/openoffice-wrapper
+++ b/editors/openoffice-2.0-devel/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice-2.0-devel/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice-2.0-devel/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice-2.0-devel/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice-2.0-devel/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice-2.0-devel/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice-2.0-devel/files/patch-config_office+configure.in b/editors/openoffice-2.0-devel/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice-2.0-devel/files/patch-config_office+configure.in
+++ b/editors/openoffice-2.0-devel/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in b/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice-2.0-devel/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice-2.0-devel/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice-2.0-devel/files/patch-odk+setsdkenv_unix.in b/editors/openoffice-2.0-devel/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice-2.0-devel/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice-2.0-devel/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice-2.0-devel/files/patch-project-bridges b/editors/openoffice-2.0-devel/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice-2.0-devel/files/patch-project-extentions b/editors/openoffice-2.0-devel/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice-2.0-devel/files/patch-project-extentions
+++ b/editors/openoffice-2.0-devel/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice-2.0-devel/files/patch-project-jvmfwk b/editors/openoffice-2.0-devel/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice-2.0-devel/files/patch-project-python b/editors/openoffice-2.0-devel/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice-2.0-devel/files/patch-project-xmlsecurity b/editors/openoffice-2.0-devel/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice-2.0-devel/files/patch-project-xmlsecurity
+++ b/editors/openoffice-2.0-devel/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice-2.0-devel/pkg-descr b/editors/openoffice-2.0-devel/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice-2.0-devel/pkg-descr
+++ b/editors/openoffice-2.0-devel/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice-2.0-devel/pkg-message b/editors/openoffice-2.0-devel/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice-2.0-devel/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice-3-devel/Makefile b/editors/openoffice-3-devel/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice-3-devel/Makefile
+++ b/editors/openoffice-3-devel/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice-3-devel/distinfo b/editors/openoffice-3-devel/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice-3-devel/distinfo
+++ b/editors/openoffice-3-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice-3-devel/files/Makefile.knobs b/editors/openoffice-3-devel/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice-3-devel/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice-3-devel/files/Makefile.localized b/editors/openoffice-3-devel/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice-3-devel/files/Makefile.localized
+++ b/editors/openoffice-3-devel/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice-3-devel/files/generate.pl b/editors/openoffice-3-devel/files/generate.pl
new file mode 100644
index 0000000..0e9c591
--- /dev/null
+++ b/editors/openoffice-3-devel/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice-3-devel/files/oo_setup.resp b/editors/openoffice-3-devel/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice-3-devel/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice-3-devel/files/openoffice-wrapper b/editors/openoffice-3-devel/files/openoffice-wrapper
index e56dae3..e0f7435 100644
--- a/editors/openoffice-3-devel/files/openoffice-wrapper
+++ b/editors/openoffice-3-devel/files/openoffice-wrapper
@@ -2,7 +2,7 @@
#
# $FreeBSD$
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice-3-devel/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice-3-devel/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice-3-devel/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice-3-devel/files/patch-config_office+configure.in b/editors/openoffice-3-devel/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice-3-devel/files/patch-config_office+configure.in
+++ b/editors/openoffice-3-devel/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in b/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice-3-devel/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice-3-devel/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice-3-devel/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice-3-devel/files/patch-odk+setsdkenv_unix.in b/editors/openoffice-3-devel/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice-3-devel/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice-3-devel/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice-3-devel/files/patch-project-bridges b/editors/openoffice-3-devel/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice-3-devel/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice-3-devel/files/patch-project-extentions b/editors/openoffice-3-devel/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice-3-devel/files/patch-project-extentions
+++ b/editors/openoffice-3-devel/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice-3-devel/files/patch-project-jvmfwk b/editors/openoffice-3-devel/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice-3-devel/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice-3-devel/files/patch-project-python b/editors/openoffice-3-devel/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice-3-devel/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice-3-devel/files/patch-project-xmlsecurity b/editors/openoffice-3-devel/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice-3-devel/files/patch-project-xmlsecurity
+++ b/editors/openoffice-3-devel/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice-3-devel/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice-3-devel/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice-3-devel/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice-3-devel/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice-3-devel/pkg-descr b/editors/openoffice-3-devel/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice-3-devel/pkg-descr
+++ b/editors/openoffice-3-devel/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice-3-devel/pkg-message b/editors/openoffice-3-devel/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice-3-devel/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice-3/Makefile b/editors/openoffice-3/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice-3/Makefile
+++ b/editors/openoffice-3/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice-3/distinfo b/editors/openoffice-3/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice-3/distinfo
+++ b/editors/openoffice-3/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice-3/files/Makefile.knobs b/editors/openoffice-3/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice-3/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice-3/files/Makefile.localized b/editors/openoffice-3/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice-3/files/Makefile.localized
+++ b/editors/openoffice-3/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice-3/files/generate.pl b/editors/openoffice-3/files/generate.pl
new file mode 100644
index 0000000..72d511a
--- /dev/null
+++ b/editors/openoffice-3/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice-3/files/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice-3/files/oo_setup.resp b/editors/openoffice-3/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice-3/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice-3/files/openoffice-wrapper b/editors/openoffice-3/files/openoffice-wrapper
index 447b0a2..7dc25c8 100644
--- a/editors/openoffice-3/files/openoffice-wrapper
+++ b/editors/openoffice-3/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice-3/files/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice-3/files/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice-3/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice-3/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice-3/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice-3/files/patch-config_office+configure.in b/editors/openoffice-3/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice-3/files/patch-config_office+configure.in
+++ b/editors/openoffice-3/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice-3/files/patch-config_office+set_soenv.in b/editors/openoffice-3/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice-3/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice-3/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice-3/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice-3/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice-3/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice-3/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice-3/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice-3/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice-3/files/patch-odk+setsdkenv_unix.in b/editors/openoffice-3/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice-3/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice-3/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice-3/files/patch-project-bridges b/editors/openoffice-3/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice-3/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice-3/files/patch-project-extentions b/editors/openoffice-3/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice-3/files/patch-project-extentions
+++ b/editors/openoffice-3/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice-3/files/patch-project-jvmfwk b/editors/openoffice-3/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice-3/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice-3/files/patch-project-python b/editors/openoffice-3/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice-3/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice-3/files/patch-project-xmlsecurity b/editors/openoffice-3/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice-3/files/patch-project-xmlsecurity
+++ b/editors/openoffice-3/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice-3/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice-3/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice-3/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice-3/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice-3/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice-3/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice-3/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice-3/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice-3/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice-3/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice-3/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice-3/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice-3/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice-3/pkg-descr b/editors/openoffice-3/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice-3/pkg-descr
+++ b/editors/openoffice-3/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice-3/pkg-message b/editors/openoffice-3/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice-3/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-2-RC/Makefile b/editors/openoffice.org-2-RC/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-2-RC/Makefile
+++ b/editors/openoffice.org-2-RC/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-2-RC/distinfo b/editors/openoffice.org-2-RC/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-2-RC/distinfo
+++ b/editors/openoffice.org-2-RC/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-2-RC/files/Makefile.knobs b/editors/openoffice.org-2-RC/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-2-RC/files/Makefile.localized b/editors/openoffice.org-2-RC/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-2-RC/files/Makefile.localized
+++ b/editors/openoffice.org-2-RC/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-2-RC/files/generate.pl b/editors/openoffice.org-2-RC/files/generate.pl
new file mode 100644
index 0000000..700afe7
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2-RC/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-2-RC/files/oo_setup.resp b/editors/openoffice.org-2-RC/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-2-RC/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-2-RC/files/openoffice-wrapper b/editors/openoffice.org-2-RC/files/openoffice-wrapper
index 46aef94..e2347f2 100644
--- a/editors/openoffice.org-2-RC/files/openoffice-wrapper
+++ b/editors/openoffice.org-2-RC/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2-RC/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2-RC/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-2-RC/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-2-RC/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-2-RC/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-2-RC/files/patch-config_office+configure.in b/editors/openoffice.org-2-RC/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-2-RC/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-2-RC/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-2-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-2-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-2-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-2-RC/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-2-RC/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-2-RC/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-2-RC/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-2-RC/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-2-RC/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-2-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-2-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-2-RC/files/patch-project-bridges b/editors/openoffice.org-2-RC/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-2-RC/files/patch-project-extentions b/editors/openoffice.org-2-RC/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-2-RC/files/patch-project-extentions
+++ b/editors/openoffice.org-2-RC/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-2-RC/files/patch-project-jvmfwk b/editors/openoffice.org-2-RC/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-2-RC/files/patch-project-python b/editors/openoffice.org-2-RC/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-2-RC/files/patch-project-xmlsecurity b/editors/openoffice.org-2-RC/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-2-RC/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-2-RC/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-2-RC/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-2-RC/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-2-RC/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-2-RC/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-2-RC/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-2-RC/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-2-RC/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-2-RC/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-2-RC/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-2-RC/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-2-RC/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-2-RC/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-2-RC/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-2-RC/pkg-descr b/editors/openoffice.org-2-RC/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-2-RC/pkg-descr
+++ b/editors/openoffice.org-2-RC/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-2-RC/pkg-message b/editors/openoffice.org-2-RC/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-2-RC/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-2-devel/Makefile b/editors/openoffice.org-2-devel/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-2-devel/Makefile
+++ b/editors/openoffice.org-2-devel/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-2-devel/distinfo b/editors/openoffice.org-2-devel/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-2-devel/distinfo
+++ b/editors/openoffice.org-2-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-2-devel/files/Makefile.knobs b/editors/openoffice.org-2-devel/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-2-devel/files/Makefile.localized b/editors/openoffice.org-2-devel/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-2-devel/files/Makefile.localized
+++ b/editors/openoffice.org-2-devel/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-2-devel/files/generate.pl b/editors/openoffice.org-2-devel/files/generate.pl
new file mode 100644
index 0000000..db03c6e
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2-devel/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-2-devel/files/oo_setup.resp b/editors/openoffice.org-2-devel/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-2-devel/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-2-devel/files/openoffice-wrapper b/editors/openoffice.org-2-devel/files/openoffice-wrapper
index 86d121d..5bfeab5 100644
--- a/editors/openoffice.org-2-devel/files/openoffice-wrapper
+++ b/editors/openoffice.org-2-devel/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2-devel/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2-devel/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-2-devel/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-2-devel/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-2-devel/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-2-devel/files/patch-config_office+configure.in b/editors/openoffice.org-2-devel/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-2-devel/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-2-devel/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-2-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-2-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-2-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-2-devel/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-2-devel/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-2-devel/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-2-devel/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-2-devel/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-2-devel/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-2-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-2-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-2-devel/files/patch-project-bridges b/editors/openoffice.org-2-devel/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-2-devel/files/patch-project-extentions b/editors/openoffice.org-2-devel/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-2-devel/files/patch-project-extentions
+++ b/editors/openoffice.org-2-devel/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-2-devel/files/patch-project-jvmfwk b/editors/openoffice.org-2-devel/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-2-devel/files/patch-project-python b/editors/openoffice.org-2-devel/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-2-devel/files/patch-project-xmlsecurity b/editors/openoffice.org-2-devel/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-2-devel/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-2-devel/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-2-devel/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-2-devel/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-2-devel/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-2-devel/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-2-devel/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-2-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-2-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-2-devel/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-2-devel/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-2-devel/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-2-devel/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-2-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-2-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-2-devel/pkg-descr b/editors/openoffice.org-2-devel/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-2-devel/pkg-descr
+++ b/editors/openoffice.org-2-devel/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-2-devel/pkg-message b/editors/openoffice.org-2-devel/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-2-devel/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-2.0-devel/Makefile b/editors/openoffice.org-2.0-devel/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-2.0-devel/Makefile
+++ b/editors/openoffice.org-2.0-devel/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-2.0-devel/distinfo b/editors/openoffice.org-2.0-devel/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-2.0-devel/distinfo
+++ b/editors/openoffice.org-2.0-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-2.0-devel/files/Makefile.knobs b/editors/openoffice.org-2.0-devel/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-2.0-devel/files/Makefile.localized b/editors/openoffice.org-2.0-devel/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-2.0-devel/files/Makefile.localized
+++ b/editors/openoffice.org-2.0-devel/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-2.0-devel/files/generate.pl b/editors/openoffice.org-2.0-devel/files/generate.pl
new file mode 100644
index 0000000..912d033
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2.0-devel/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-2.0-devel/files/oo_setup.resp b/editors/openoffice.org-2.0-devel/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-2.0-devel/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-2.0-devel/files/openoffice-wrapper b/editors/openoffice.org-2.0-devel/files/openoffice-wrapper
index 7808524..2455a90 100644
--- a/editors/openoffice.org-2.0-devel/files/openoffice-wrapper
+++ b/editors/openoffice.org-2.0-devel/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2.0-devel/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2.0-devel/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-2.0-devel/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-2.0-devel/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-2.0-devel/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-2.0-devel/files/patch-config_office+configure.in b/editors/openoffice.org-2.0-devel/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-2.0-devel/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-2.0-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-2.0-devel/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-2.0-devel/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-2.0-devel/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-2.0-devel/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-2.0-devel/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-bridges b/editors/openoffice.org-2.0-devel/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-extentions b/editors/openoffice.org-2.0-devel/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-project-extentions
+++ b/editors/openoffice.org-2.0-devel/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-jvmfwk b/editors/openoffice.org-2.0-devel/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-python b/editors/openoffice.org-2.0-devel/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-xmlsecurity b/editors/openoffice.org-2.0-devel/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-2.0-devel/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-2.0-devel/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-2.0-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-2.0-devel/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-2.0-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-2.0-devel/pkg-descr b/editors/openoffice.org-2.0-devel/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-2.0-devel/pkg-descr
+++ b/editors/openoffice.org-2.0-devel/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-2.0-devel/pkg-message b/editors/openoffice.org-2.0-devel/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-2.0-devel/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-2.0/Makefile b/editors/openoffice.org-2.0/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-2.0/Makefile
+++ b/editors/openoffice.org-2.0/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-2.0/distinfo b/editors/openoffice.org-2.0/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-2.0/distinfo
+++ b/editors/openoffice.org-2.0/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-2.0/files/Makefile.knobs b/editors/openoffice.org-2.0/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-2.0/files/Makefile.localized b/editors/openoffice.org-2.0/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-2.0/files/Makefile.localized
+++ b/editors/openoffice.org-2.0/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-2.0/files/generate.pl b/editors/openoffice.org-2.0/files/generate.pl
new file mode 100644
index 0000000..d4a1b23
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2.0/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-2.0/files/oo_setup.resp b/editors/openoffice.org-2.0/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-2.0/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-2.0/files/openoffice-wrapper b/editors/openoffice.org-2.0/files/openoffice-wrapper
index 92dfcdb..a41f8d0 100644
--- a/editors/openoffice.org-2.0/files/openoffice-wrapper
+++ b/editors/openoffice.org-2.0/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2.0/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2.0/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-2.0/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-2.0/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-2.0/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-2.0/files/patch-config_office+configure.in b/editors/openoffice.org-2.0/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-2.0/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-2.0/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-2.0/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-2.0/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-2.0/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-2.0/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-2.0/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-2.0/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-2.0/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-2.0/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-2.0/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-2.0/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-2.0/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-2.0/files/patch-project-bridges b/editors/openoffice.org-2.0/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-2.0/files/patch-project-extentions b/editors/openoffice.org-2.0/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-2.0/files/patch-project-extentions
+++ b/editors/openoffice.org-2.0/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-2.0/files/patch-project-jvmfwk b/editors/openoffice.org-2.0/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-2.0/files/patch-project-python b/editors/openoffice.org-2.0/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-2.0/files/patch-project-xmlsecurity b/editors/openoffice.org-2.0/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-2.0/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-2.0/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-2.0/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-2.0/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-2.0/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-2.0/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-2.0/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-2.0/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-2.0/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-2.0/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-2.0/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-2.0/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-2.0/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-2.0/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-2.0/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-2.0/pkg-descr b/editors/openoffice.org-2.0/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-2.0/pkg-descr
+++ b/editors/openoffice.org-2.0/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-2.0/pkg-message b/editors/openoffice.org-2.0/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-2.0/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-2/Makefile b/editors/openoffice.org-2/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-2/Makefile
+++ b/editors/openoffice.org-2/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-2/distinfo b/editors/openoffice.org-2/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-2/distinfo
+++ b/editors/openoffice.org-2/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-2/files/Makefile.knobs b/editors/openoffice.org-2/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-2/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-2/files/Makefile.localized b/editors/openoffice.org-2/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-2/files/Makefile.localized
+++ b/editors/openoffice.org-2/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-2/files/generate.pl b/editors/openoffice.org-2/files/generate.pl
new file mode 100644
index 0000000..eead243
--- /dev/null
+++ b/editors/openoffice.org-2/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-2/files/oo_setup.resp b/editors/openoffice.org-2/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-2/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-2/files/openoffice-wrapper b/editors/openoffice.org-2/files/openoffice-wrapper
index 1bc3086..dac41f5 100644
--- a/editors/openoffice.org-2/files/openoffice-wrapper
+++ b/editors/openoffice.org-2/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-2/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-2/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-2/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-2/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-2/files/patch-config_office+configure.in b/editors/openoffice.org-2/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-2/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-2/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-2/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-2/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-2/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-2/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-2/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-2/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-2/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-2/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-2/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-2/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-2/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-2/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-2/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-2/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-2/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-2/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-2/files/patch-project-bridges b/editors/openoffice.org-2/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-2/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-2/files/patch-project-extentions b/editors/openoffice.org-2/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-2/files/patch-project-extentions
+++ b/editors/openoffice.org-2/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-2/files/patch-project-jvmfwk b/editors/openoffice.org-2/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-2/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-2/files/patch-project-python b/editors/openoffice.org-2/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-2/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-2/files/patch-project-xmlsecurity b/editors/openoffice.org-2/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-2/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-2/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-2/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-2/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-2/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-2/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-2/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-2/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-2/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-2/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-2/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-2/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-2/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-2/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-2/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-2/pkg-descr b/editors/openoffice.org-2/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-2/pkg-descr
+++ b/editors/openoffice.org-2/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-2/pkg-message b/editors/openoffice.org-2/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-2/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-3-RC/Makefile b/editors/openoffice.org-3-RC/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-3-RC/Makefile
+++ b/editors/openoffice.org-3-RC/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-3-RC/distinfo b/editors/openoffice.org-3-RC/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-3-RC/distinfo
+++ b/editors/openoffice.org-3-RC/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-3-RC/files/Makefile.knobs b/editors/openoffice.org-3-RC/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-3-RC/files/Makefile.localized b/editors/openoffice.org-3-RC/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-3-RC/files/Makefile.localized
+++ b/editors/openoffice.org-3-RC/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-3-RC/files/generate.pl b/editors/openoffice.org-3-RC/files/generate.pl
new file mode 100644
index 0000000..ce9856ea
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3-RC/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-3-RC/files/oo_setup.resp b/editors/openoffice.org-3-RC/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-3-RC/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-3-RC/files/openoffice-wrapper b/editors/openoffice.org-3-RC/files/openoffice-wrapper
index 4f93ff5..3fb57f9 100644
--- a/editors/openoffice.org-3-RC/files/openoffice-wrapper
+++ b/editors/openoffice.org-3-RC/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3-RC/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3-RC/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-3-RC/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-3-RC/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-3-RC/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-3-RC/files/patch-config_office+configure.in b/editors/openoffice.org-3-RC/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-3-RC/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-3-RC/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in b/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-3-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-3-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-3-RC/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-3-RC/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-3-RC/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-3-RC/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-3-RC/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-3-RC/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-3-RC/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-3-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-3-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-3-RC/files/patch-project-bridges b/editors/openoffice.org-3-RC/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-3-RC/files/patch-project-extentions b/editors/openoffice.org-3-RC/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-3-RC/files/patch-project-extentions
+++ b/editors/openoffice.org-3-RC/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-3-RC/files/patch-project-jvmfwk b/editors/openoffice.org-3-RC/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-3-RC/files/patch-project-python b/editors/openoffice.org-3-RC/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-3-RC/files/patch-project-xmlsecurity b/editors/openoffice.org-3-RC/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-3-RC/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-3-RC/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-3-RC/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-3-RC/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-3-RC/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-3-RC/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-3-RC/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-3-RC/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-3-RC/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-3-RC/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-3-RC/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-3-RC/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-3-RC/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-3-RC/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-3-RC/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-3-RC/pkg-descr b/editors/openoffice.org-3-RC/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-3-RC/pkg-descr
+++ b/editors/openoffice.org-3-RC/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-3-RC/pkg-message b/editors/openoffice.org-3-RC/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-3-RC/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-3-devel/Makefile b/editors/openoffice.org-3-devel/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-3-devel/Makefile
+++ b/editors/openoffice.org-3-devel/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-3-devel/distinfo b/editors/openoffice.org-3-devel/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-3-devel/distinfo
+++ b/editors/openoffice.org-3-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-3-devel/files/Makefile.knobs b/editors/openoffice.org-3-devel/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-3-devel/files/Makefile.localized b/editors/openoffice.org-3-devel/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-3-devel/files/Makefile.localized
+++ b/editors/openoffice.org-3-devel/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-3-devel/files/generate.pl b/editors/openoffice.org-3-devel/files/generate.pl
new file mode 100644
index 0000000..b110223
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3-devel/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-3-devel/files/oo_setup.resp b/editors/openoffice.org-3-devel/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-3-devel/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-3-devel/files/openoffice-wrapper b/editors/openoffice.org-3-devel/files/openoffice-wrapper
index ae2a03e..a1027f9 100644
--- a/editors/openoffice.org-3-devel/files/openoffice-wrapper
+++ b/editors/openoffice.org-3-devel/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3-devel/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3-devel/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-3-devel/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-3-devel/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-3-devel/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-3-devel/files/patch-config_office+configure.in b/editors/openoffice.org-3-devel/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-3-devel/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-3-devel/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in b/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-3-devel/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-3-devel/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-3-devel/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-3-devel/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-3-devel/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-3-devel/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-3-devel/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-3-devel/files/patch-project-bridges b/editors/openoffice.org-3-devel/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-3-devel/files/patch-project-extentions b/editors/openoffice.org-3-devel/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-3-devel/files/patch-project-extentions
+++ b/editors/openoffice.org-3-devel/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-3-devel/files/patch-project-jvmfwk b/editors/openoffice.org-3-devel/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-3-devel/files/patch-project-python b/editors/openoffice.org-3-devel/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-3-devel/files/patch-project-xmlsecurity b/editors/openoffice.org-3-devel/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-3-devel/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-3-devel/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-3-devel/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-3-devel/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-3-devel/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-3-devel/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-3-devel/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-3-devel/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-3-devel/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-3-devel/pkg-descr b/editors/openoffice.org-3-devel/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-3-devel/pkg-descr
+++ b/editors/openoffice.org-3-devel/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-3-devel/pkg-message b/editors/openoffice.org-3-devel/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-3-devel/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-3/Makefile b/editors/openoffice.org-3/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-3/Makefile
+++ b/editors/openoffice.org-3/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-3/distinfo b/editors/openoffice.org-3/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-3/distinfo
+++ b/editors/openoffice.org-3/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-3/files/Makefile.knobs b/editors/openoffice.org-3/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-3/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-3/files/Makefile.localized b/editors/openoffice.org-3/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-3/files/Makefile.localized
+++ b/editors/openoffice.org-3/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-3/files/generate.pl b/editors/openoffice.org-3/files/generate.pl
new file mode 100644
index 0000000..5080528
--- /dev/null
+++ b/editors/openoffice.org-3/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-3/files/oo_setup.resp b/editors/openoffice.org-3/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-3/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-3/files/openoffice-wrapper b/editors/openoffice.org-3/files/openoffice-wrapper
index a43a2b4..6b2037d 100644
--- a/editors/openoffice.org-3/files/openoffice-wrapper
+++ b/editors/openoffice.org-3/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-3/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-3/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-3/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-3/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-3/files/patch-config_office+configure.in b/editors/openoffice.org-3/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-3/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-3/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-3/files/patch-config_office+set_soenv.in b/editors/openoffice.org-3/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-3/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-3/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-3/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-3/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-3/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-3/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-3/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-3/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-3/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-3/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-3/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-3/files/patch-project-bridges b/editors/openoffice.org-3/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-3/files/patch-project-extentions b/editors/openoffice.org-3/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-3/files/patch-project-extentions
+++ b/editors/openoffice.org-3/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-3/files/patch-project-jvmfwk b/editors/openoffice.org-3/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-3/files/patch-project-python b/editors/openoffice.org-3/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-3/files/patch-project-xmlsecurity b/editors/openoffice.org-3/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-3/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-3/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-3/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-3/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-3/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-3/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-3/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-3/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-3/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-3/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-3/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-3/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-3/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-3/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-3/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-3/pkg-descr b/editors/openoffice.org-3/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-3/pkg-descr
+++ b/editors/openoffice.org-3/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-3/pkg-message b/editors/openoffice.org-3/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-3/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
diff --git a/editors/openoffice.org-vcltesttool/Makefile b/editors/openoffice.org-vcltesttool/Makefile
index 5ec9a81..75defa7 100644
--- a/editors/openoffice.org-vcltesttool/Makefile
+++ b/editors/openoffice.org-vcltesttool/Makefile
@@ -13,15 +13,13 @@ MASTER_SITES+= ${MASTER_SITE_LOCAL} \
${MASTER_SITE_MOZILLA:S,%SUBDIR%,mozilla/releases/mozilla1.7b/src/&,}:mozsrc \
http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR= maho/openoffice.org
-DISTFILES+= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2 gpc231.tar.Z:gpc
-EXTRACT_ONLY= OOo_${BUILD_NR}${MILESTONE}_${SNAPDATE}_source.tar.bz2
+DISTFILES+= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 gpc231.tar.Z:gpc
+EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2
MAINTAINER= openoffice@FreeBSD.org
COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version)
-IGNORE= is not installable because bison 1.875a or newer is required, and port does not work yet
-
-SNAPDATE= 20041122
+SNAPDATE= 20050110
NO_LATEST_LINK= yes
USE_GNOME= gtk20
MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz
@@ -45,41 +43,47 @@ JAVA_BUILD= jdk
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
-LANG_PKGNAME?= en-US
-LANG_EXT?= 01
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade your rtld"
+.endif
-.if defined(L10NHELP)
-DISTFILES+= ${L10NHELP}:help
+CODELINE= 680
+RELEASE_NR= 1.9
+MILESTONE= 71
+INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE}
+EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE}
+DIST_SUBDIR= openoffice2.0
+SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'
+PACKAGE_BASENAME= OOo_${RELEASE_NR}m${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel
+
+LOCALIZED_LANG?= en-US
+# FIXME (Somehow INDEX build fails)
+.if defined(LANG_PKGNAME)
+PKGNAMEPREFIX= ${LANG_PKGNAME}-
.endif
-.if defined(ALL_LOCALIZED_LANGS)
-DISTFILES+= helpcontent_49_unix.tgz:help
-L10NHELPS+= helpcontent_49_unix.tgz
+.if defined(LANG_SUFFIX)
+PKGNAMESUFFIX?= -${LANG_SUFFIX}
.endif
-BUILD_NR= 680
-MILESTONE= m62
-RELEASE_NR= 2.0
-DIST_SUBDIR= openoffice2.0
-SIMPLEOSVER!= ${UNAME} -r | ${SED} -e 's/\.//' | ${SED} -e 's/\..*//'
-# gcc 3.3
-BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33
-# FIXME
+BUILD_DEPENDS+= gcc-ooo:${PORTSDIR}/lang/gcc-ooo
+# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache
-CC= ccache gcc33
-CXX= ccache g++33
+CC= ccache gcc-ooo
+CXX= ccache g++-ooo
.else
-CC= gcc33
-CXX= g++33
+CC= gcc-ooo
+CXX= g++-ooo
.endif
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
gcp:${PORTSDIR}/sysutils/coreutils \
epm:${PORTSDIR}/devel/epm \
gpatch:${PORTSDIR}/devel/patch \
+ xmkmf:${X_IMAKE_PORT} \
${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft \
- ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
-# bison-devel:${PORTSDIR}/devel/bison-devel
+ ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip \
+ bison-devel:${PORTSDIR}/devel/bison-devel
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
@@ -91,43 +95,19 @@ BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF_VER= 259
-
-OOODIR= oo_${RELEASE_NR}_src
WRKDIR= ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC= ${WRKDIR}/${OOODIR}
-CONFIGURE_WRKSRC= ${WRKDIR}/${OOODIR}/config_office
+WRKSRC= ${WRKDIR}
+CONFIGURE_WRKSRC= ${WRKSRC}/config_office
ANT?= ${LOCALBASE}/bin/ant
TCSH?= /bin/tcsh
ZIP?= ${PREFIX}/bin/zip
UNZIP?= ${PREFIX}/bin/unzip
+PKGMESSAGE= ${WRKDIR}/pkg-message
+NUMOFPROCESSES?= 8
-CONFIGURE_ENV= PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
- PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+= --with-gnu-cp=${LOCALBASE}/bin/gcp --with-gnu-patch=${LOCALBASE}/bin/gpatch
-.if defined(WITHOUT_JAVA)
-CONFIGURE_ARGS+= --disable-java
-.else
-CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
-.endif
-
-.if defined(WITHOUT_MOZILLA)
-CONFIGURE_ARGS+= --disable-mozilla
-.endif
-
-.if defined(ALL_LOCALIZED_LANGS)
-CONFIGURE_ARGS+= --with-lang=ALL
-.else
-CONFIGURE_ARGS+= --with-lang=${LANG_PKG_NAME}
-.endif
-
-.if defined(WITH_DEBUG)
-.if ${WITH_DEBUG} == 2
-CONFIGURE_ARGS+= --enable-debug
-.else
-CONFIGURE_ARGS+= --enable-symbols
-.endif
-.endif
+.include <${FILESDIR}/Makefile.knobs>
pre-everything::
# really tweak, extremely useful when you build all localized language versions
@@ -150,25 +130,11 @@ post-extract:
@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
-.if defined(L10NHELP)
- @${ECHO_MSG} "===> Extracting L10NHELP sub project"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
-.endif
-.if defined(ALL_LOCALIZED_LANGS)
- @${ECHO_MSG} "===> Extracting All available L10NHELPs"
- @${MKDIR} ${WRKDIR}/L10NHELP
- @cd ${WRKDIR}/L10NHELP ; \
- for helpfile in ${L10NHELPS}; do \
- ${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$helpfile | ${GZIP_CMD} -d | ${TAR} xf - ; \
- done
-.endif
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
- ${MKDIR} ${WRKSRC}/moz/download
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/mozilla-source-1.7b-source.tar.gz ${WRKSRC}/moz/download
- cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
+ @cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
+ @${MKDIR} ${WRKSRC}/moz/download
+ @${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
+ @cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif
post-patch:
@@ -177,75 +143,98 @@ post-patch:
do-build:
@cd ${WRKSRC} ; ./bootstrap
-.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
- @${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
- @${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
-.endif
+#DEFAULT_TO_ENGLISH_FOR_PACKING=yes, see #iz 35659, 34269 and 36708
.if !defined(WITHOUT_MOZILLA)
- cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
+ @cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; ${CP} unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
- @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; dmake'
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; dmake -P${NUMOFPROCESSES}'
-pre-install:
- @${CP} ${FILESDIR}/oo_setup.resp \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/
- @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
- ${WRKSRC}/instsetoo/unxfbsd.pro/${LANG_PKGNAME}/normal/oo_setup.resp
+OOOFILES1= openofficeorg-calc.sw openofficeorg-core.sw openofficeorg-draw.sw openofficeorg-graphicfilter.sw
+OOOFILES2= openofficeorg-impress.sw openofficeorg-javafilter.sw openofficeorg-mailcap.sw
+OOOFILES3= openofficeorg-math.sw openofficeorg-spellcheck.sw openofficeorg-testtool.sw
+OOOFILES4= openofficeorg-writer.sw openofficeorg-xsltfilter.sw
do-install:
- TEMP=${WRKDIR} ${WRKSRC}/instsetoo/*.pro/${LANG_PKGNAME}/normal/setup -r:oo_setup.resp
-
-install-user:
- ${PREFIX}/${INSTALLATION_BASEDIR}/program/setup
+ @${RM} -Rf ${WRKDIR}/tmp
+ @${MKDIR} ${WRKDIR}/tmp
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @${CP} ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice/install/${LOCALIZED_LANG}/freebsd-*/${i} ${WRKDIR}/tmp
+.endfor
+.for i in ${OOOFILES1} ${OOOFILES2} ${OOOFILES3} ${OOOFILES4}
+ @cd ${WRKDIR}/tmp ; ${TAR} xf ${WRKDIR}/tmp/${i}
+.endfor
+ @${MKDIR} ${PREFIX}/${INSTALLATION_BASEDIR}
+ @cd ${WRKDIR}/tmp/opt/openoffice* ; ${TAR} cf - -C . . | ${TAR} xf - -C ${PREFIX}/${INSTALLATION_BASEDIR}
post-install:
@${ECHO_MSG} "===> Add wrapper scripts";
@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
- -e 's#%%LANG%%#${USE_LANG}#g' \
- -e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
${WRKDIR}/openoffice-wrapper
@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
- ${PREFIX}/bin/openoffice-${RELEASE_NR}
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
- @${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
- @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
- @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
+ ${PREFIX}/bin/${EXECBASE}
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sagenda
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-scalc
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sdraw
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-setup
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sfax
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-smath
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-simpress
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-spadmin
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-sweb
+ @${LN} -fs ${PREFIX}/bin/${EXECBASE} ${PREFIX}/bin/${EXECBASE}-swriter
+ @cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} ${EXECBASE} > ${TMPPLIST}
+ @cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} ${EXECBASE} >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}
+ @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
+ @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
+ -e 's#%%INSTALLATION_BASEDIR%%#${INSTALLATION_BASEDIR}#g' \
+ -e 's#%%EXECBASE%%#${EXECBASE}#g' \
+ -e 's#%%MILESTONE%%#${MILESTONE}#g' \
+ -e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
+ ${PKGMESSAGE}
+ @${ECHO_CMD}
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD}
package-rename:
- @${ECHO_MSG} "===> Rename package for OOo mirror upload";
-.if defined(LANG_SUFFIX)
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
-.elif defined(LANG_PKGNAME)
+ @${ECHO_MSG} "===> Rename package for OpenOffice.org mirror upload";
@${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
-.else
- @${MV} ${PKGFILE} \
- ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
-.endif
+ ${WRKDIR}/../${PACKAGE_BASENAME}_install_${LOCALIZED_LANG}${PKG_SUFX}
sdk:
@${ECHO_MSG} "===> Make SDK of OpenOffice.org"
- @cd ${WRKSRC} && ${SH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
- ${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz
+ @cd ${WRKSRC} ; ${TCSH} -c 'source FreeBSDEnv.Set ; cd sdk_oo ; build.pl ; deliver.pl'
+ @${MV} ${WRKSRC}/solver/${CODELINE}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}._SDK.tar.gz ${WRKDIR}/../${PACKAGE_BASENAME}_sdk.tar.gz
solver:
@${ECHO_MSG} "===> Make Solver of OpenOffice.org"
- @cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${BUILD_NR}${MILESTONE}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver
+ @cd ${WRKSRC} ; ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_solver.tar.bz2 solver
+
+languagepack:
+ @${ECHO_MSG} "===> Make languagepack of OpenOffice.org"
+.if defined (ALL_LOCALIZED_LANGS)
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack'
+.else
+ @cd ${WRKSRC} ; ${SETENV} "DEFAULT_TO_ENGLISH_FOR_PACKING=yes" ${TCSH} -c 'source FreeBSDEnv.Set ; cd instsetoo_native/util ; dmake ooolanguagepack_${LOCALIZED_LANG}'
+.endif
+
+.if !defined (ALL_LOCALIZED_LANGS)
+ @${RM} -fr ${WRKDIR}/langpack_tmp
+ @${MKDIR} ${WRKDIR}/langpack_tmp
+.if defined (LOCALIZED_LANG)
+ @cd ${WRKDIR}/langpack_tmp ; \
+ ${TAR} xf ${WRKSRC}/instsetoo_native/unxfbsd.pro/OpenOffice_languagepack/install/${LOCALIZED_LANG}/freebsd-*/openofficeorg-*.sw
+ @cd ${WRKDIR}/langpack_tmp/opt/openoffice* ; \
+ ${MKDIR} ../${INSTALLATION_BASEDIR} ; \
+ ${MV} * ../${INSTALLATION_BASEDIR} ; cd .. ; \
+ ${TAR} cfj ${WRKDIR}/../${PACKAGE_BASENAME}_langpack_${LOCALIZED_LANG}.tar.bz2 ${INSTALLATION_BASEDIR}
+.endif
+.endif
.include <bsd.port.post.mk>
diff --git a/editors/openoffice.org-vcltesttool/distinfo b/editors/openoffice.org-vcltesttool/distinfo
index 38b3728..a09abe3 100644
--- a/editors/openoffice.org-vcltesttool/distinfo
+++ b/editors/openoffice.org-vcltesttool/distinfo
@@ -1,5 +1,5 @@
-MD5 (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = c51fe8320646c30007bdd7c36a2dedd8
-SIZE (openoffice2.0/OOo_680m62_20041122_source.tar.bz2) = 215723858
+MD5 (openoffice2.0/OOo_1.9m71_source.tar.bz2) = d4dbf690d08471dca83d0f25ffe947f8
+SIZE (openoffice2.0/OOo_1.9m71_source.tar.bz2) = 234489374
MD5 (openoffice2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9
SIZE (openoffice2.0/gpc231.tar.Z) = 27917
MD5 (openoffice2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd
diff --git a/editors/openoffice.org-vcltesttool/files/Makefile.knobs b/editors/openoffice.org-vcltesttool/files/Makefile.knobs
new file mode 100644
index 0000000..45d2ac9
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/Makefile.knobs
@@ -0,0 +1,79 @@
+# Makefile for knobs
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD$
+
+.if defined(WITHOUT_JAVA)
+CONFIGURE_ARGS+= --disable-java
+.else
+CONFIGURE_ARGS+= --with-jdk-home="${JAVA_HOME}" --with-ant-home=${LOCALBASE}/ant
+.endif
+
+.if defined(WITHOUT_MOZILLA)
+CONFIGURE_ARGS+= --disable-mozilla
+.endif
+
+.if defined(WITH_CUPS)
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+CONFIGURE_ARGS+= --enable-cups
+.endif
+
+.if defined(ALL_LOCALIZED_LANGS)
+CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW"
+#following langs still seem to be under development
+#af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu
+.else
+CONFIGURE_ARGS+= --with-lang=${LOCALIZED_LANG}
+.endif
+
+.if defined(WITH_DEBUG)
+.if ${WITH_DEBUG} == 2
+CONFIGURE_ARGS+= --enable-debug
+.else
+CONFIGURE_ARGS+= --enable-symbols
+.endif
+.endif
+
+pre-fetch:
+.if (${OSVERSION} < 503001 && ${OSVERSION} >= 500000) || (${OSVERSION} < 492000)
+ @${ECHO}
+ @${ECHO} "WARNING"
+ @${ECHO} "Your rtld seems to be old."
+ @${ECHO} "Please remake your rtld by:"
+ @${ECHO} "# fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c"
+ @${ECHO} "# cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c"
+ @${ECHO} "# make ; make depend ; make install"
+ @${ECHO} "AT YOUR OWN RISK!"
+.endif
+ @${ECHO} "OPTIONS:"
+.if !defined(WITH_DEBUG)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with debug symbols with WITH_DEBUG=1"
+ @${ECHO}
+ @${ECHO} "If you set WITH_DEBUG=2, you add internal"
+ @${ECHO} "OOo debug support."
+.endif
+.if !defined(WITHOUT_MOZILLA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Mozilla connectivity by"
+ @${ECHO} "make -DWITHOUT_MOZILLA"
+.endif
+.if !defined(WITHOUT_JAVA)
+ @${ECHO}
+ @${ECHO} "You can compile OOo without Java support by"
+ @${ECHO} "make -DWITHOUT_JAVA"
+.endif
+.if !defined(WITH_CUPS)
+ @${ECHO}
+ @${ECHO} "You can compile OOo with CUPS support by"
+ @${ECHO} "make -DWITH_CUPS"
+.endif
+ @${ECHO}
+ @${ECHO} "NOTICE:"
+ @${ECHO}
+ @${ECHO} "To build OOo, you should have a lot"
+.if defined(WITH_DEBUG)
+ @${ECHO} "of free diskspace (~ 8GB)."
+.else
+ @${ECHO} "of free diskspace (~ 4GB)."
+.endif
+ @${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"
diff --git a/editors/openoffice.org-vcltesttool/files/Makefile.localized b/editors/openoffice.org-vcltesttool/files/Makefile.localized
index 9973b43..8d8e5e5 100644
--- a/editors/openoffice.org-vcltesttool/files/Makefile.localized
+++ b/editors/openoffice.org-vcltesttool/files/Makefile.localized
@@ -1,157 +1,136 @@
# localized makefile
# Whom: Maho Nakata <maho@FreeBSD.org>
# $FreeBSD$
-
+################################################################
+#See solenv/inc/postset.mk for details
################################################################
.if defined(LOCALIZED_LANG)
.if ${LOCALIZED_LANG} == "af"
-LANG_PKGNAME= af
-LANG_EXT= 27
-LANG_CONFIGURE_ARG= AFRIK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ar"
-CATEGORIES= arabic
-LANG_PKGNAME= ar
-LANG_EXT= 96
-LANG_CONFIGURE_ARG= ARAB
+CATEGORIES= arabic
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "bg"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ca"
-LANG_PKGNAME= ca
-LANG_EXT= 37
-LANG_CONFIGURE_ARG= CAT
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "cs"
-LANG_PKGNAME= cs
-LANG_EXT= 42
-LANG_CONFIGURE_ARG= CZECH
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "cy"
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "da"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "dk"
-LANG_PKGNAME= dk
-LANG_EXT= 45
-LANG_CONFIGURE_ARG= DAN
+.if ${LOCALIZED_LANG} == "de"
+CATEGORIES= german
+LANG_PKGNAME= ${LOCALIZED_LANG}
+COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
.endif
################################################################
.if ${LOCALIZED_LANG} == "el"
-LANG_PKGNAME= el
-LANG_EXT= 30
-LANG_CONFIGURE_ARG= GREEK
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eo"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "es"
-LANG_PKGNAME= es
-LANG_EXT= 34
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SPAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "et"
-LANG_PKGNAME= et
-LANG_EXT= 77
-LANG_CONFIGURE_ARG= ESTONIAN
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "eu"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fi"
-LANG_PKGNAME= fi
-LANG_EXT= 35
-LANG_CONFIGURE_ARG= FINN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "fr"
-CATEGORIES= french
-LANG_PKGNAME= fr
-LANG_EXT= 33
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= FREN
+CATEGORIES= french
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "de"
-CATEGORIES= german
-LANG_PKGNAME= de
-LANG_EXT= 49
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= GER
-COMMENT= Office-Suite mit Textverarbeitung, Tabellenkalkulation, Datenbank und Praesentationsprogramm
-PKGMESSAGE= ${FILESDIR}/pkg-message.de
+.if ${LOCALIZED_LANG} == "gl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "he"
-LANG_PKGNAME= he
-LANG_EXT= 97
-LANG_CONFIGURE_ARG= HEBREW
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "hu"
CATEGORIES= hungarian
-LANG_PKGNAME= hu
-LANG_EXT= 36
-LANG_CONFIGURE_ARG= HUNG
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "it"
-LANG_PKGNAME= it
-LANG_EXT= 39
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= ITAL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ja"
CATEGORIES= japanese
-LANG_PKGNAME= ja
-LANG_EXT= 81
-LANG_CONFIGURE_ARG= JAPN
-MASTER_SITES+= ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/stable/&,}
+LANG_PKGNAME= ${LOCALIZED_LANG}
RUN_DEPENDS+= ${X11BASE}/lib/X11/fonts/TrueType/kochi-mincho-subst.ttf:${PORTSDIR}/japanese/kochi-ttfonts
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "kn-IN"
+LANG_PKGNAME= kn
+LANG_SUFFIX= IN
.endif
################################################################
.if ${LOCALIZED_LANG} == "ko"
CATEGORIES= korean
-LANG_PKGNAME= ko
-LANG_EXT= 82
-LANG_CONFIGURE_ARG= KOREAN
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
+LANG_PKGNAME= ${LOCALIZED_LANG}
+.endif
+################################################################
+.if ${LOCALIZED_LANG} == "lt"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nb"
-LANG_PKGNAME= nb
-LANG_EXT= 47
-LANG_CONFIGURE_ARG= NORBOK
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nl"
-LANG_PKGNAME= nl
-LANG_EXT= 31
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= DTCH
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "nn"
-LANG_PKGNAME= nn
-LANG_EXT= 79
-LANG_CONFIGURE_ARG= NORNYN
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "ns"
-LANG_PKGNAME= ns
-LANG_EXT= 26
-LANG_CONFIGURE_ARG= NSOTHO
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pl"
CATEGORIES= polish
-LANG_PKGNAME= pl
-LANG_EXT= 48
-LANG_CONFIGURE_ARG= POL
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "pt"
COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integrado
CATEGORIES= portuguese
-LANG_PKGNAME= pt
+LANG_PKGNAME= ${LOCALIZED_LANG}
LANG_EXT= 03
LANG_CONFIGURE_ARG= PORT
.endif
@@ -161,81 +140,53 @@ COMMENT= Editor texto/grBaGico, banco de dados/planilha/navegador integra
CATEGORIES= portuguese
LANG_PKGNAME= pt
LANG_SUFFIX= BR
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_EXT= 55
-LANG_CONFIGURE_ARG= PORTBR
.endif
################################################################
.if ${LOCALIZED_LANG} == "ru"
CATEGORIES= russian
-LANG_PKGNAME= ru
-LANG_EXT= 07
-LANG_CONFIGURE_ARG= RUSS
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sv"
-LANG_PKGNAME= sv
-LANG_EXT= 46
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
-LANG_CONFIGURE_ARG= SWED
+.if ${LOCALIZED_LANG} == "sk"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sk"
-LANG_PKGNAME= sk
-LANG_EXT= 43
-LANG_CONFIGURE_ARG= SLOVAK
+.if ${LOCALIZED_LANG} == "sl"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "sl-SI"
-LANG_PKGNAME= sl
-LANG_SUFFIX= SI
-LANG_EXT= 50
-LANG_CONFIGURE_ARG= SLOVENIAN
+.if ${LOCALIZED_LANG} == "sv"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "tr"
-LANG_PKGNAME= tr
-LANG_EXT= 90
-LANG_CONFIGURE_ARG= TURK
+.if ${LOCALIZED_LANG} == "th"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if ${LOCALIZED_LANG} == "we"
-LANG_PKGNAME= cy
-LANG_EXT= 53
-LANG_CONFIGURE_ARG= WELSH
+#.if ${LOCALIZED_LANG} == "tn"
+#LANG_PKGNAME= ${LOCALIZED_LANG}
+#.endif
+################################################################
+.if ${LOCALIZED_LANG} == "tr"
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-CN"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= CN
-LANG_EXT= 86
-LANG_CONFIGURE_ARG= CHINSIM
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/gbsn00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zh-TW"
CATEGORIES= chinese
LANG_PKGNAME= zh
LANG_SUFFIX= TW
-LANG_EXT= 88
-LANG_CONFIGURE_ARG= CHINTRAD
BUILD_DEPENDS+= ${PREFIX}/share/fonts/TrueType/bsmi00lp.ttf:${PORTSDIR}/chinese/arphicttf
-L10NHELP= helpcontent_${LANG_EXT}_unix.tgz
.endif
################################################################
.if ${LOCALIZED_LANG} == "zu"
-LANG_PKGNAME= zu
-LANG_EXT= 28
-LANG_CONFIGURE_ARG= ZULU
+LANG_PKGNAME= ${LOCALIZED_LANG}
.endif
################################################################
-.if defined(LANG_PKGNAME)
-PKGNAMEPREFIX= ${LANG_PKGNAME}-
-.endif
-.if defined(LANG_SUFFIX)
-PKGNAMESUFFIX?= -${LANG_SUFFIX}
-.endif
.endif
-
diff --git a/editors/openoffice.org-vcltesttool/files/generate.pl b/editors/openoffice.org-vcltesttool/files/generate.pl
new file mode 100644
index 0000000..244d288
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/generate.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+# generate full build shell script for OpenOffice.org
+# Whom: Maho Nakata <maho@FreeBSD.org>
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-vcltesttool/files/Attic/generate.pl,v 1.1 2005-01-10 12:28:19 maho Exp $
+
+print "#!/bin/csh\n";
+print "/usr/bin/time make WITH_CCACHE=yes package package-rename solver sdk deinstall languagepack clean >& log.en\n";
+print "/usr/bin/time make ALL_LOCALIZED_LANGS=yes >& log.all\n";
+
+open ( FILE, "< Makefile.localized") ;
+while(<FILE>){
+@tmp=split (' ',$_);
+@tmp2=split ('"',$tmp[3]);
+if ( $tmp[0] eq ".if" && $tmp[1] eq "\${LOCALIZED_LANG}" ) { $LANG=$tmp2[1];
+ print "make TWEAK_L10N=yes LOCALIZED_LANG=$LANG pre-everything\n";
+ print "/usr/bin/time make LOCALIZED_LANG=$LANG WITH_CCACHE=yes languagepack package package-rename deinstall >& log.$LANG\n";
+ }
+}
+close FILE;
+
diff --git a/editors/openoffice.org-vcltesttool/files/oo_setup.resp b/editors/openoffice.org-vcltesttool/files/oo_setup.resp
deleted file mode 100644
index 6c60801..0000000
--- a/editors/openoffice.org-vcltesttool/files/oo_setup.resp
+++ /dev/null
@@ -1,7 +0,0 @@
-[Environment]
-InstallationMode = INSTALL_NETWORK
-InstallationType = STANDARD
-DestinationPath = %%PREFIX%%/OpenOffice.org%%RELEASE_NR%%
-
-[Java]
-JavaSupport = preinstalled_or_none
diff --git a/editors/openoffice.org-vcltesttool/files/openoffice-wrapper b/editors/openoffice.org-vcltesttool/files/openoffice-wrapper
index 4b9a158..bf4c889 100644
--- a/editors/openoffice.org-vcltesttool/files/openoffice-wrapper
+++ b/editors/openoffice.org-vcltesttool/files/openoffice-wrapper
@@ -1,8 +1,8 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-vcltesttool/files/Attic/openoffice-wrapper,v 1.13 2004-06-13 23:57:01 maho Exp $
+# $FreeBSD: /tmp/pcvs/ports/editors/openoffice.org-vcltesttool/files/Attic/openoffice-wrapper,v 1.14 2005-01-10 12:28:19 maho Exp $
-oopath=%%PREFIX%%/OpenOffice.org%%RELEASE_NR%%/program/
+oopath=%%PREFIX%%/%%INSTALLATION_BASEDIR%%/program/
program=`echo $0 | sed -e 's|.*-%%RELEASE_NR%%-||'`
case $program in
diff --git a/editors/openoffice.org-vcltesttool/files/patch-automation+source+server+statemnt.cxx b/editors/openoffice.org-vcltesttool/files/patch-automation+source+server+statemnt.cxx
deleted file mode 100644
index f480a35..0000000
--- a/editors/openoffice.org-vcltesttool/files/patch-automation+source+server+statemnt.cxx
+++ /dev/null
@@ -1,19 +0,0 @@
-#iZ 37204
-
-Index: automation/source/server/statemnt.cxx
-===================================================================
-RCS file: /cvs/util/automation/source/server/statemnt.cxx,v
-retrieving revision 1.18
-diff -u -r1.18 statemnt.cxx
---- automation/source/server/statemnt.cxx 9 Nov 2004 16:52:40 -0000 1.18
-+++ automation/source/server/statemnt.cxx 21 Nov 2004 03:30:37 -0000
-@@ -2251,7 +2251,8 @@
- {
- pRet->GenReturn ( RET_Value, aSmartMethodId, String() );
- GetTTSettings()->pTranslateWin->EnableTranslation();
-- ErrorBox( GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ) ).Execute();
-+ ErrorBox err= ErrorBox(GetTTSettings()->pTranslateWin, TTProperties::GetSvtResId( TT_NO_CONTROL ));
-+ err.Execute();
- GetTTSettings()->bToTop = TRUE;
- }
-
diff --git a/editors/openoffice.org-vcltesttool/files/patch-config_office+configure.in b/editors/openoffice.org-vcltesttool/files/patch-config_office+configure.in
index 356c23b..912adcf 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-config_office+configure.in
+++ b/editors/openoffice.org-vcltesttool/files/patch-config_office+configure.in
@@ -1,37 +1,40 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028 (ant)
+http://www.openoffice.org/issues/show_bug.cgi?id=40176
+http://www.openoffice.org/issues/show_bug.cgi?id=40226
+
+o Correct PTHREAD_CFLAGS, PTHREAD_LIBS
+o CUPS support via --enable-cups
Index: config_office/configure.in
===================================================================
RCS file: /cvs/tools/config_office/configure.in,v
-retrieving revision 1.63
-diff -u -r1.63 configure.in
---- config_office/configure.in 17 Mar 2004 09:33:26 -0000 1.63
-+++ config_office/configure.in 8 Jun 2004 20:53:16 -0000
-@@ -1830,10 +1831,12 @@
-
- if test "$enable_java" != "no"; then
- ANT_HOME=; export ANT_HOME
-+WITH_ANT_HOME=; export WITH_ANT_HOME
- if test -z "$with_ant_home"; then
- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat])
- else
-- AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin)
-+ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat],,$with_ant_home/bin:$PATH)
-+ WITH_ANT_HOME=$with_ant_home
- fi
-
-
-@@ -1873,7 +1876,11 @@
- AC_TRY_EVAL(ant_cmd)
- if test $? = 0 && test -f ./conftest.class ; then
- AC_MSG_RESULT([Ant works])
-- ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ if test -z "$WITH_ANT_HOME"; then
-+ ANT_HOME=`echo $ANT | $SED -n "s/\/bin\/ant.*\$//p"`
-+ else
-+ ANT_HOME="$WITH_ANT_HOME"
-+ fi
- else
- echo "configure: Ant test failed" >&5
- cat conftest.java >&5
+retrieving revision 1.82
+diff -u -r1.82 configure.in
+--- config_office/configure.in 5 Jan 2005 12:09:48 -0000 1.82
++++ config_office/configure.in 9 Jan 2005 10:36:08 -0000
+@@ -449,7 +449,7 @@
+ test_x=yes
+ test_gtk=yes
+ test_kde=yes
+- test_cups=no
++ test_cups=yes
+ AC_MSG_CHECKING([the FreeBSD operating system release])
+ if test -n "$with_os_version"; then
+ OSVERSION="$with_os_version"
+@@ -457,13 +457,15 @@
+ OSVERSION=`/sbin/sysctl -n kern.osreldate`
+ fi
+ AC_MSG_RESULT([found OSVERSION=$OSVERSION])
+- PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ if test "$OSVERSION" -lt "500016"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-pthread"
+ elif test "$OSVERSION" -lt "502102"; then
++ PTHREAD_CFLAGS="-D_THREAD_SAFE"
+ PTHREAD_LIBS="-lc_r"
+ else
+- PTHREAD_LIBS="-lpthread"
++ PTHREAD_CFLAGS=""
++ PTHREAD_LIBS="-pthread"
+ fi
+ ;;
+ "OSF1")
diff --git a/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in b/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in
index 54f4b83..6309519 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in
+++ b/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in
@@ -1,13 +1,19 @@
-#i27028
-http://qa.openoffice.org/issues/show_bug.cgi?id=27028
+http://www.openoffice.org/issues/show_bug.cgi?id=37731
---- config_office/set_soenv.in.old Tue Mar 9 21:31:38 2004
-+++ config_office/set_soenv.in Sun Mar 28 09:56:03 2004
-@@ -1419,6 +1419,7 @@
- ToFile( "XSLTPROC", "@XSLTPROC@", "e" );
- ToFile( "ANT_HOME", "@ANT_HOME@", "e" );
- ToFile( "ANT_LIB", "@ANT_LIB@", "e" );
-+ToFile( "ANT", "@ANT@", "e" );
- ToFile( "JDKLIB", $JAVA_LIB, "e" );
- ToFile( "STLPORT4", $STLPORT4, "e" );
- ToFile( "ASM_PATH", $ASM_PATH, "e" );
+Index: config_office/set_soenv.in
+===================================================================
+RCS file: /cvs/tools/config_office/set_soenv.in,v
+retrieving revision 1.31
+diff -u -r1.31 set_soenv.in
+--- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31
++++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000
+@@ -1684,9 +1684,6 @@
+ ToFile( "CC", $CC, "e" );
+ ToFile( "CXX", $CXX, "e" );
+ ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" );
+-if ( $COM ne "MSC" ) {
+- ToFile( "LINK", $CC, "e" );
+-}
+ ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" );
+ ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" );
+ ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" );
diff --git a/editors/openoffice.org-vcltesttool/files/patch-cppuhelper+source+gcc3_linux_intel.map b/editors/openoffice.org-vcltesttool/files/patch-cppuhelper+source+gcc3_linux_intel.map
deleted file mode 100644
index aa65477..0000000
--- a/editors/openoffice.org-vcltesttool/files/patch-cppuhelper+source+gcc3_linux_intel.map
+++ /dev/null
@@ -1,14 +0,0 @@
-#iz 23917
-Mysterious :)
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=23917
---- cppuhelper/source/gcc3_linux_intel.map.orig Sat Sep 13 22:15:22 2003
-+++ cppuhelper/source/gcc3_linux_intel.map Sat Sep 13 22:16:01 2003
-@@ -299,6 +299,7 @@
- _ZNK4cppu6UnoUrl11getProtocolEv;
- _ZNK4cppu6UnoUrl13getConnectionEv;
- _ZNK4cppu6UnoUrl13getObjectNameEv;
-+_end;
-
- local:
- *;
diff --git a/editors/openoffice.org-vcltesttool/files/patch-instsetoo_native+util+makefile.mk b/editors/openoffice.org-vcltesttool/files/patch-instsetoo_native+util+makefile.mk
new file mode 100644
index 0000000..4837e39
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/patch-instsetoo_native+util+makefile.mk
@@ -0,0 +1,25 @@
+For instsetoo_native project, we should use FORMAT*=-format bsd.
+However, for FreeBSD, we cannot write script towards multiple line,
+so -format bsd break builds. We temporary set -format portable at
+the moment so that we can treat as we want.
+
+Index: instsetoo_native/util/makefile.mk
+===================================================================
+RCS file: /cvs/installation/instsetoo_native/util/makefile.mk,v
+retrieving revision 1.13
+diff -u -r1.13 makefile.mk
+--- instsetoo_native/util/makefile.mk 10 Dec 2004 17:03:50 -0000 1.13
++++ instsetoo_native/util/makefile.mk 20 Dec 2004 11:32:33 -0000
+@@ -82,6 +82,12 @@
+ FORMAT*=-format pkg
+ .ENDIF
+
++.IF "$(OS)" == "FREEBSD"
++#bsd is preffered but epm does not produce valid packages atm
++#FORMAT*=-format bsd
++FORMAT*=-format portable
++.ENDIF
++
+ # epm supports the following formats:
+ # aix - AIX software distribution
+ # bsd - FreeBSD, NetBSD, or OpenBSD software distribution
diff --git a/editors/openoffice.org-vcltesttool/files/patch-odk+setsdkenv_unix.in b/editors/openoffice.org-vcltesttool/files/patch-odk+setsdkenv_unix.in
index 1e5d4e5..06deae8 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-odk+setsdkenv_unix.in
+++ b/editors/openoffice.org-vcltesttool/files/patch-odk+setsdkenv_unix.in
@@ -1,6 +1,5 @@
-#iz 24142
-
http://qa.openoffice.org/issues/show_bug.cgi?id=24142
+
--- odk/setsdkenv_unix.in Sun Jan 25 18:41:01 2004
+++ odk/setsdkenv_unix.in Sun Jan 25 18:42:00 2004
@@ -2,7 +2,8 @@
diff --git a/editors/openoffice.org-vcltesttool/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl b/editors/openoffice.org-vcltesttool/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
new file mode 100644
index 0000000..3023414
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/patch-offapi+drafts+com+sun+star+rendering+XGraphicDevicd.idl
@@ -0,0 +1,23 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40177
+
+Contains an illigal char.
+build breaks at odk project
+like
+ERROR : diff diff -br ../../unxfbsd.pro/bin/odk680/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl /work/ports/editors/openoffice-2.0-devel/work/solver/680/unxfbsd.pro/idl/drafts/com/sun/star/rendering/XGraphicDevice.idl
+
+Index: offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl
+===================================================================
+RCS file: /cvs/api/offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl,v
+retrieving revision 1.4
+diff -u -r1.4 XGraphicDevice.idl
+--- offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 26 Nov 2004 18:01:15 -0000 1.4
++++ offapi/drafts/com/sun/star/rendering/XGraphicDevice.idl 31 Dec 2004 03:53:28 -0000
+@@ -136,7 +136,7 @@
+ /** Query the physical resolution of the device in pixel per
+ millimeter.
+
+- Á special value of 0 here indicates 'unknown', i.e. at the
++ A special value of 0 here indicates 'unknown', i.e. at the
+ time of rendering undetermined or possibly infinite
+ resolution.
+ */
diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-bridges b/editors/openoffice.org-vcltesttool/files/patch-project-bridges
new file mode 100644
index 0000000..ba56a03
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/patch-project-bridges
@@ -0,0 +1,1002 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40178
+
+catch up recent version of
+bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx
+Only difference is:
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT
+
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v
+retrieving revision 1.3
+diff -u -r1.3 cpp2uno.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: cpp2uno.cxx,v $
+ *
+- * $Revision: 1.3 $
++ * $Revision: 1.6 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,34 +59,26 @@
+ *
+ ************************************************************************/
+
+-#include <hash_map>
+-
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
+-#include <osl/mutex.hxx>
+-
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+ #include <typelib/typedescription.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/vtablefactory.hxx"
+
+ #include "share.hxx"
+
+-
+-using namespace ::osl;
+-using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+ //==================================================================================================
+-rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+-
+-//==================================================================================================
+ static typelib_TypeClass cpp2uno_call(
+- cppu_cppInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+@@ -106,7 +98,7 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+@@ -115,7 +107,8 @@
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
++ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+@@ -141,7 +134,9 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
++ // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+@@ -168,11 +163,12 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+@@ -192,7 +188,8 @@
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
++ (*pThis->getUnoI()->pDispatcher)(
++ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+@@ -209,7 +206,9 @@
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
++ CPPU_CURRENT_NAMESPACE::raiseException(
++ &aUnoExc, pThis->getBridge()->getUno2Cpp() );
++ // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+@@ -226,7 +225,7 @@
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+@@ -239,7 +238,7 @@
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+@@ -260,38 +259,41 @@
+
+ //==================================================================================================
+ static typelib_TypeClass cpp_mediate(
+- sal_Int32 nVtableCall,
++ sal_Int32 nFunctionIndex,
++ sal_Int32 nVtableOffset,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+ {
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+- // _this_ ptr is patched cppu_XInterfaceProxy object
+- cppu_cppInterfaceProxy * pCppI = NULL;
+- if( nVtableCall & 0x80000000 )
++ void * pThis;
++ if( nFunctionIndex & 0x80000000 )
+ {
+- nVtableCall &= 0x7fffffff;
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
++ nFunctionIndex &= 0x7fffffff;
++ pThis = pCallStack[2];
+ }
+ else
+ {
+- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
++ pThis = pCallStack[1];
+ }
++ pThis = static_cast< char * >(pThis) - nVtableOffset;
++ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
++ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
++ pThis);
+
+- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
++ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
+
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
++ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
++ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("illegal vtable index!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("illegal vtable index!"),
++ (XInterface *)pThis );
+ }
+
+ // determine called method
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
++ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+@@ -301,7 +303,7 @@
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
++ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+@@ -330,7 +332,7 @@
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+- switch (nVtableCall)
++ switch (nFunctionIndex)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+@@ -347,9 +349,10 @@
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+- pCppI->pBridge->pCppEnv,
+- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
++ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
++ pCppI->getBridge()->getCppEnv(),
++ (void **)&pInterface, pCppI->getOid().pData,
++ (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+@@ -378,8 +381,8 @@
+ default:
+ {
+ throw RuntimeException(
+- OUString::createFromAscii("no member description found!"),
+- (XInterface *)pCppI );
++ rtl::OUString::createFromAscii("no member description found!"),
++ (XInterface *)pThis );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+@@ -393,12 +396,15 @@
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+-static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
++static void cpp_vtable_call(
++ int nFunctionIndex, int nVtableOffset, void** pCallStack )
++ __attribute__((regparm(3)));
+
+-void cpp_vtable_call( int nTableEntry, void** pCallStack )
++void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack )
+ {
+ volatile long nRegReturn[2];
+- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
++ typelib_TypeClass aType = cpp_mediate(
++ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+@@ -434,161 +440,103 @@
+
+
+ //==================================================================================================
+-class MediateClassData
+-{
+- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map;
+- t_classdata_map m_map;
+- Mutex m_mutex;
+-
+-public:
+- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () );
+-
+- inline MediateClassData() SAL_THROW( () )
+- {}
+- ~MediateClassData() SAL_THROW( () );
+-};
+-//__________________________________________________________________________________________________
+-MediateClassData::~MediateClassData() SAL_THROW( () )
++int const codeSnippetSize = 20;
++
++unsigned char * codeSnippet(
++ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
++ bool simpleRetType)
+ {
+- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." );
+-
+- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos )
+- {
+- ::rtl_freeMemory( iPos->second );
+- }
++ if (!simpleRetType) {
++ functionIndex |= 0x80000000;
++ }
++ unsigned char * p = code;
++ OSL_ASSERT(sizeof (sal_Int32) == 4);
++ // mov function_index, %eax:
++ *p++ = 0xB8;
++ *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
++ p += sizeof (sal_Int32);
++ // mov vtable_offset, %edx:
++ *p++ = 0xBA;
++ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
++ p += sizeof (sal_Int32);
++ // mov %esp, %ecx:
++ *p++ = 0x89;
++ *p++ = 0xE1;
++ // jmp cpp_vtable_call:
++ *p++ = 0xE9;
++ *reinterpret_cast< sal_Int32 * >(p)
++ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32);
++ p += sizeof (sal_Int32);
++ OSL_ASSERT(p - code <= codeSnippetSize);
++ return code + codeSnippetSize;
+ }
+-//--------------------------------------------------------------------------------------------------
+-static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () )
+-{
+- if (! simple_ret_type)
+- vtable_pos |= 0x80000000;
+- OSL_ASSERT( sizeof (long) == 4 );
+- // mov $nPos, %eax
+- *code++ = 0xb8;
+- *(long *)code = vtable_pos;
+- code += sizeof (long);
+- // mov %esp, %edx
+- *code++ = 0x89;
+- *code++ = 0xe2;
+- // jmp cpp_vtable_call
+- *code++ = 0xe9;
+- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long);
++
+ }
+-//__________________________________________________________________________________________________
+-void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () )
+-{
+- void * buffer;
+-
+- // avoiding locked counts
+- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName;
+- {
+- MutexGuard aGuard( m_mutex );
+- t_classdata_map::const_iterator iFind( m_map.find( unoName ) );
+- if (iFind == m_map.end())
+- {
+- // create new vtable
+- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex;
+- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) );
+-
+- ::std::pair< t_classdata_map::iterator, bool > insertion(
+- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) );
+- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" );
+-
+- void ** slots = (void **)buffer;
+- *slots++ = 0;
+- *slots++ = 0; // rtti
+- char * code = (char *)(slots + nSlots);
+-
+- sal_uInt32 vtable_pos = 0;
+- sal_Int32 nAllMembers = pTD->nAllMembers;
+- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers;
+- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos )
+- {
+- typelib_TypeDescription * pTD = 0;
+- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] );
+- OSL_ASSERT( pTD );
+- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass)
+- {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass );
+- // get method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
+- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly)
+- {
+- // set method
+- *slots++ = code;
+- codeSnippet( code, vtable_pos++, true );
+- code += 20;
+- }
+- }
+- else
++
++void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block)
++{
++ return reinterpret_cast< void ** >(block) + 2;
++}
++
++char * bridges::cpp_uno::shared::VtableFactory::createBlock(
++ sal_Int32 slotCount, void *** slots)
++{
++ char * block = new char[
++ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++ *slots = mapBlockToVtable(block);
++ (*slots)[-2] = 0;
++ (*slots)[-1] = 0;
++ return block;
++}
++
++unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
++ void ** slots, unsigned char * code,
++ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
++ sal_Int32 functionCount, sal_Int32 vtableOffset)
++{
++ for (sal_Int32 i = 0; i < type->nMembers; ++i) {
++ typelib_TypeDescription * member = 0;
++ TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
++ OSL_ASSERT(member != 0);
++ switch (member->eTypeClass) {
++ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
++ // Getter:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->pAttributeTypeRef));
++ // Setter:
++ if (!reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription * >(
++ member)->bReadOnly)
+ {
+- bool simple_ret = cppu_isSimpleType(
+- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass );
+ *slots++ = code;
+- codeSnippet( code, vtable_pos++, simple_ret );
+- code += 20;
++ code = codeSnippet(code, functionOffset++, vtableOffset, true);
+ }
+- TYPELIB_DANGER_RELEASE( pTD );
++ break;
++
++ case typelib_TypeClass_INTERFACE_METHOD:
++ *slots++ = code;
++ code = codeSnippet(
++ code, functionOffset++, vtableOffset,
++ bridges::cpp_uno::shared::isSimpleType(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription * >(
++ member)->pReturnTypeRef));
++ break;
++
++ default:
++ OSL_ASSERT(false);
++ break;
+ }
+- OSL_ASSERT( vtable_pos == nSlots );
+- }
+- else
+- {
+- buffer = iFind->second;
+- }
++ TYPELIB_DANGER_RELEASE(member);
+ }
+-
+- return ((void **)buffer +2);
+-}
+-
+-//==================================================================================================
+-void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+-{
+- static MediateClassData * s_pMediateClassData = 0;
+- if (! s_pMediateClassData)
+- {
+- MutexGuard aGuard( Mutex::getGlobalMutex() );
+- if (! s_pMediateClassData)
+- {
+-#ifdef LEAK_STATIC_DATA
+- s_pMediateClassData = new MediateClassData();
+-#else
+- static MediateClassData s_aMediateClassData;
+- s_pMediateClassData = &s_aMediateClassData;
+-#endif
+- }
+- }
+- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr );
+-}
+-
++ return code;
+ }
+
+-extern "C"
+-{
+-//##################################################################################################
+-sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+- SAL_THROW_EXTERN_C()
+-{
+- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload(
+- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment(
+- pCppEnv );
+-}
+-//##################################################################################################
+-void SAL_CALL uno_ext_getMapping(
+- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+- SAL_THROW_EXTERN_C()
+-{
+- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping(
+- ppMapping, pFrom, pTo );
+-}
+-}
++void bridges::cpp_uno::shared::VtableFactory::flushCode(
++ unsigned char const *, unsigned char const *)
++{}
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v
+retrieving revision 1.4
+diff -u -r1.4 except.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: except.cxx,v $
+ *
+- * $Revision: 1.4 $
++ * $Revision: 1.10 $
+ *
+- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $
++ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -69,7 +69,8 @@
+ #include <osl/diagnose.h>
+ #include <osl/mutex.hxx>
+
+-#include <bridges/cpp_uno/bridge.hxx>
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <typelib/typedescription.hxx>
+ #include <uno/any2.h>
+
+@@ -147,7 +148,7 @@
+ };
+ //__________________________________________________________________________________________________
+ RTTI::RTTI() SAL_THROW( () )
+- : m_hApp( dlopen( 0, RTLD_LAZY ) )
++ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+ {
+ }
+ //__________________________________________________________________________________________________
+@@ -182,7 +183,8 @@
+ buf.append( 'E' );
+
+ OString symName( buf.makeStringAndClear() );
+- rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
++//#iZ 22253
++ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
+
+ if (rtti)
+ {
+@@ -253,7 +255,7 @@
+ //==================================================================================================
+ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+ {
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr(
+ OUStringToOString(
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+@@ -275,7 +277,7 @@
+ *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
+ Reference< XInterface >() );
+ }
+-
++
+ pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
+ ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+@@ -321,16 +323,16 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+ return;
+ }
+-
++
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ OUString unoName( toUNOname( header->exceptionType->name() ) );
+-#if defined DEBUG
++#if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() );
+ #endif
+@@ -342,7 +344,7 @@
+ Reference< XInterface >() );
+ Type const & rType = ::getCppuType( &aRE );
+ uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
+-#if defined _DEBUG
++#if OSL_DEBUG_LEVEL > 0
+ OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
+ OSL_ENSURE( 0, cstr.getStr() );
+ #endif
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v
+retrieving revision 1.2
+diff -u -r1.2 makefile.mk
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ #
+ # $RCSfile: makefile.mk,v $
+ #
+-# $Revision: 1.2 $
++# $Revision: 1.3 $
+ #
+-# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $
++# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $
+ #
+ # The Contents of this file are made available subject to the terms of
+ # either of the following licenses
+@@ -95,10 +95,8 @@
+ SHL1IMPLIB=i$(TARGET)
+ SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+-SHL1OBJS= \
+- $(SLO)$/except.obj \
+- $(SLO)$/cpp2uno.obj \
+- $(SLO)$/uno2cpp.obj
++SHL1OBJS = $(SLOFILES)
++SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
+
+ SHL1STDLIBS= \
+ $(CPPULIB) \
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v
+retrieving revision 1.2
+diff -u -r1.2 share.hxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000
+@@ -4,7 +4,7 @@
+ *
+ * $Revision: 1.2 $
+ *
+- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $
++ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,6 +59,8 @@
+ *
+ ************************************************************************/
+
++#include "uno/mapping.h"
++
+ #include <typeinfo>
+ #include <exception>
+ #include <cstddef>
+@@ -66,6 +68,8 @@
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+
++void dummy_can_throw_anything( char const * );
++
+ // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+
+ struct _Unwind_Exception
+Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 uno2cpp.cxx
+--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5
++++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000
+@@ -2,9 +2,9 @@
+ *
+ * $RCSfile: uno2cpp.cxx,v $
+ *
+- * $Revision: 1.5 $
++ * $Revision: 1.7 $
+ *
+- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $
++ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+@@ -59,24 +59,25 @@
+ *
+ ************************************************************************/
+
+-#include <sal/alloca.h>
+-#include <rtl/alloc.h>
++#include <stdlib.h>
+
++#include <com/sun/star/uno/genfunc.hxx>
++#include "com/sun/star/uno/RuntimeException.hpp"
+ #include <uno/data.h>
+-#include <bridges/cpp_uno/bridge.hxx>
+-#include <bridges/cpp_uno/type_misc.hxx>
+
+-#include "share.hxx"
++#include "bridges/cpp_uno/shared/bridge.hxx"
++#include "bridges/cpp_uno/shared/types.hxx"
++#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
++#include "bridges/cpp_uno/shared/vtables.hxx"
+
++#include "share.hxx"
+
+ using namespace ::rtl;
+ using namespace ::com::sun::star::uno;
+
+-namespace CPPU_CURRENT_NAMESPACE
++namespace
+ {
+
+-void dummy_can_throw_anything( char const * );
+-
+ //==================================================================================================
+ // The call instruction within the asm section of callVirtualMethod may throw
+ // exceptions. So that the compiler handles this correctly, it is important
+@@ -85,7 +86,7 @@
+ // callVirtualMethod is not inlined at its call site (so that any exceptions are
+ // caught which are thrown from the instruction calling callVirtualMethod):
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -93,7 +94,7 @@
+ sal_Int32 nStackLongs ) __attribute__((noinline));
+
+ void callVirtualMethod(
+- void * pThis,
++ void * pAdjustedThisPtr,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+@@ -103,13 +104,13 @@
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
++ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ // never called
+- if (! pThis) dummy_can_throw_anything("xxx"); // address something
+-
++ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
++
+ volatile long edx = 0, eax = 0; // for register returns
+ void * stackptr;
+ asm volatile (
+@@ -139,8 +140,8 @@
+ // cleanup stack
+ "mov %6, %%esp\n\t"
+ :
+- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex),
+- "m"(eax), "m"(edx), "m"(stackptr)
++ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
++ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
+ : "eax", "edx" );
+ switch( eReturnType )
+ {
+@@ -172,8 +173,8 @@
+
+ //==================================================================================================
+ static void cpp_call(
+- cppu_unoInterfaceProxy * pThis,
+- sal_Int32 nVtableCall,
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
++ bridges::cpp_uno::shared::VtableSlot aVtableSlot,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+@@ -192,21 +193,25 @@
+
+ if (pReturnTypeDescr)
+ {
+- if (cppu_isSimpleType( pReturnTypeDescr ))
++ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+- ? alloca( pReturnTypeDescr->nSize )
+- : pUnoReturn); // direct way
++ pCppReturn = *(void **)pCppStack
++ = (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pReturnTypeDescr )
++ ? alloca( pReturnTypeDescr->nSize )
++ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+- *(void**)pCppStack = pThis->pCppI;
++ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
++ + aVtableSlot.offset;
++ *(void**)pCppStack = pAdjustedThisPtr;
+ pCppStack += sizeof( void* );
+
+ // stack space
+@@ -226,10 +231,11 @@
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
++ if (!rParam.bOut
++ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+- &pThis->pBridge->aUno2Cpp );
++ pThis->getBridge()->getUno2Cpp() );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+@@ -254,11 +260,13 @@
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+- else if (cppu_relatesToInterface( pParamTypeDescr ))
++ else if (bridges::cpp_uno::shared::relatesToInterfaceType(
++ pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
++ pUnoArgs[nPos], pParamTypeDescr,
++ pThis->getBridge()->getUno2Cpp() );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+@@ -278,7 +286,7 @@
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
+ callVirtualMethod(
+- pThis->pCppI, nVtableCall,
++ pAdjustedThisPtr, aVtableSlot.index,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+@@ -296,13 +304,13 @@
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+@@ -313,14 +321,14 @@
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+- &pThis->pBridge->aCpp2Uno );
++ pThis->getBridge()->getCpp2Uno() );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch (...)
+ {
+ // fill uno exception
+- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
++ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+@@ -336,32 +344,32 @@
+ }
+ }
+
++}
+
+ //==================================================================================================
+-void SAL_CALL cppu_unoInterfaceProxy_dispatch(
++void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
++ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(())
+ {
+ // is my surrogate
+- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
++ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
++ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceAttributeTypeDescription const * >(
++ pMemberDescr)));
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+@@ -381,8 +389,9 @@
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
++ aVtableSlot.index += 1; // get, then set method
+ cpp_call(
+- pThis, nVtableCall +1, // get, then set method
++ pThis, aVtableSlot,
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+@@ -394,14 +403,12 @@
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+- // determine vtable call index
+- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+-
+- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+-
+- switch (nVtableCall)
++ VtableSlot aVtableSlot(
++ getVtableSlot(
++ reinterpret_cast<
++ typelib_InterfaceMethodTypeDescription const * >(
++ pMemberDescr)));
++ switch (aVtableSlot.index)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+@@ -419,8 +426,8 @@
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+- pThis->pBridge->pUnoEnv,
++ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
++ pThis->pBridge->getUnoEnv(),
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+@@ -439,7 +446,7 @@
+ default:
+ // dependent dispatch
+ cpp_call(
+- pThis, nVtableCall,
++ pThis, aVtableSlot,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+@@ -459,6 +466,3 @@
+ }
+ }
+ }
+-
+-}
+-
diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-extentions b/editors/openoffice.org-vcltesttool/files/patch-project-extentions
index ff52c17..3b66e952 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-project-extentions
+++ b/editors/openoffice.org-vcltesttool/files/patch-project-extentions
@@ -1,75 +1,60 @@
-#iZ XXXXX
-not yet raised
+http://www.openoffice.org/issues/show_bug.cgi?id=40179
+o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here.
+o FreeBSD doesn't have -ldl
+o INC+= -DNP_LINUX is also requried for FreeBSD
+
+Index: source/config/ldap/makefile.mk
+===================================================================
+RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
+retrieving revision 1.4
+diff -u -r1.4 makefile.mk
+--- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4
++++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000
+@@ -116,6 +116,9 @@
+ $(CPPULIB) \
+ $(SALHELPERLIB) \
+ $(SALLIB)
++.IF "$(OS)"=="FREEBSD"
++SHL1STDLIBS+=-lcompat
++.ENDIF
+
+ DEF1NAME=$(SHL1TARGET)
+ DEF1EXPORTFILE=exports.dxp
+Index: source/nsplugin/source/makefile.mk
+===================================================================
RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v
-retrieving revision 1.3
-diff -u -r1.3 makefile.mk
---- extensions/source/nsplugin/source/makefile.mk 3 Sep 2004 11:41:22 -0000 1.3
-+++ extensions/source/nsplugin/source/makefile.mk 4 Oct 2004 15:42:46 -0000
-@@ -77,6 +77,9 @@
- .IF "$(GUI)"=="UNX"
- .IF "$(OS)"=="LINUX"
+retrieving revision 1.8
+diff -u -r1.8 makefile.mk
+--- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8
++++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000
+@@ -78,7 +78,7 @@
+ @echo GTK disabled - nothing to build
+
+ .ELSE # "$(ENABLE_GTK)"==""
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
INC+= -DNP_LINUX
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
-+.ELIF "$(OS)"=="FREEBSD"
-+CFLAGS+=`pkg-config --cflags gtk+-2.0`
.ENDIF
- .ENDIF
- .IF "$(GUI)"=="WNT"
-@@ -93,8 +96,12 @@
+ PKGCONFIG_MODULES=gtk+-2.0
+@@ -99,8 +99,10 @@
.IF "$(GUI)"=="UNX"
SHL1OBJS+=$(SLO)$/npunix.obj
SLOFILES+=$(SLO)$/npunix.obj
-+.IF "$(OS)"=="FREEBSD"
-+#SHL1STDLIBS+=
-+.ELSE
++.IF "$(OS)"!="FREEBSD"
SHL1STDLIBS+= -ldl -lnsl
-.ENDIF
-+.ENDIF # FREEBSD
-+.ENDIF # UNX
++.ENDIF #FREEBSD
++.ENDIF #UNX
.IF "$(GUI)"=="WNT"
SHL1OBJS+=$(SLO)$/npwin.obj
SLOFILES+=$(SLO)$/npwin.obj
-@@ -123,6 +130,7 @@
+@@ -131,7 +133,7 @@
+
.IF "$(GUI)"=="UNX"
- #APP1STDLIBS+= -lgdk-x11-2.0 -lgtk-x11-2.0
- .IF "$(OS)"=="LINUX"
-+.ELIF "$(OS)"=="FREEBSD"
+ APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//)
+-.IF "$(OS)"=="LINUX"
++.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD"
.ELSE
APP1STDLIBS+= -ldl -lnsl -lnls -lsocket
.ENDIF
-Index: extensions/source/nsplugin/source/so_env.cxx
-===================================================================
-RCS file: /cvs/util/extensions/source/nsplugin/source/so_env.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 so_env.cxx
---- extensions/source/nsplugin/source/so_env.cxx 20 Aug 2004 10:08:00 -0000 1.2
-+++ extensions/source/nsplugin/source/so_env.cxx 4 Oct 2004 15:42:46 -0000
-@@ -62,7 +62,7 @@
- #ifdef UNIX
- #include <sys/types.h>
- #include <strings.h>
--#ifdef NP_LINUX
-+#if defined(NP_LINUX) || defined (FREEBSD)
- #include <stdarg.h>
- #else
- #include <sys/varargs.h>
-
-
-Index: extensions/source/config/ldap/makefile.mk
-===================================================================
-RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v
-retrieving revision 1.2
-diff -u -r1.2 makefile.mk
---- extensions/source/config/ldap/makefile.mk 3 Aug 2004 14:39:30 -0000 1.2
-+++ extensions/source/config/ldap/makefile.mk 24 Oct 2004 04:05:13 -0000
-@@ -97,6 +97,9 @@
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-+.IF "$(OS)"=="FREEBSD"
-+SHL1STDLIBS+=-lcompat
-+.ENDIF
-
- DEF1NAME=$(SHL1TARGET)
- DEF1EXPORTFILE=exports.dxp
diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-jvmfwk b/editors/openoffice.org-vcltesttool/files/patch-project-jvmfwk
new file mode 100644
index 0000000..0b9bab8
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/patch-project-jvmfwk
@@ -0,0 +1,64 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40180
+
+Vendor name of FreeBSD's Java
+(http://www.freebsd.org/cgi/cvsweb.cgi/ports/java/jdk14/)
+is Sun Microsystems Inc. so that we can use as Linux version
+only difference is the out put of java -version
+java version "1.4.2-p6"
+trailing -pXX is different.
+
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.cxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 16 Dec 2004 11:45:15 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 30 Dec 2004 12:55:14 -0000
+@@ -231,6 +231,8 @@
+ m_preRelease = getPreRelease(pCur);
+ if (m_preRelease == Rel_NONE)
+ return false;
++ if (m_preRelease == Rel_FreeBSD)
++ return true;
+ }
+ else
+ {
+@@ -267,6 +269,20 @@
+ return Rel_RC2;
+ else if (! strcmp(szRelease, "rc3"))
+ return Rel_RC3;
++ else if (! strcmp(szRelease, "p5"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p6"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p7"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p8"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p9"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p10"))
++ return Rel_FreeBSD;
++ else if (! strcmp(szRelease, "p11"))
++ return Rel_FreeBSD;
+ else
+ return Rel_NONE;
+ }
+Index: jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+===================================================================
+RCS file: /cvs/udk/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 sunversion.hxx
+--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 16 Dec 2004 11:45:27 -0000 1.5
++++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 30 Dec 2004 12:55:14 -0000
+@@ -107,6 +107,10 @@
+ Rel_RC1,
+ Rel_RC2,
+ Rel_RC3
++#if defined(FREEBSD)
++ ,
++ Rel_FreeBSD
++#endif
+ };
+
+ //contains major,minor,micro,update
diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-python b/editors/openoffice.org-vcltesttool/files/patch-project-python
new file mode 100644
index 0000000..1954202
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/patch-project-python
@@ -0,0 +1,32 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40181
+
+Index: python/Python-2.3.4.patch
+===================================================================
+RCS file: /cvs/external/python/Python-2.3.4.patch,v
+retrieving revision 1.2
+diff -u -r1.2 Python-2.3.4.patch
+--- python/Python-2.3.4.patch 15 Nov 2004 13:07:52 -0000 1.2
++++ python/Python-2.3.4.patch 3 Dec 2004 09:51:31 -0000
+@@ -13513,6 +13513,22 @@
+ *** misc/Python-2.3.4/configure Fri May 7 21:13:40 2004
+ --- misc/build/Python-2.3.4/configure Sun Nov 7 11:43:10 2004
+ ***************
++*** 523,529 ****
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++--- 523,529 ----
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
++ INSTSONAME="$LDLIBRARY".$SOVERSION
++ ;;
++! Linux*|GNU*|NetBSD*|FreeBSD*)
++ LDLIBRARY='libpython$(VERSION).so'
++ BLDLIBRARY='-L. -lpython$(VERSION)'
++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+ *** 10129,10134 ****
+ --- 10129,10135 ----
+ case $ac_sys_system/$ac_sys_release in
diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-xmlsecurity b/editors/openoffice.org-vcltesttool/files/patch-project-xmlsecurity
index ef61490..75fdc85 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-project-xmlsecurity
+++ b/editors/openoffice.org-vcltesttool/files/patch-project-xmlsecurity
@@ -1,7 +1,9 @@
-#iZ XXXX
-porting project xmlsec
-1) we should provide configure based one
-2) malloc.h is deprecated for FreeBSD
+http://www.openoffice.org/issues/show_bug.cgi?id=39958
+http://www.openoffice.org/issues/show_bug.cgi?id=38417
+
+o Not for integration, we should provide configure based one
+ Note: malloc.h is deprecated for FreeBSD.
+o use configure to produce config.h
Index: libxmlsec/xmlsec1-1.2.4.patch
===================================================================
diff --git a/editors/openoffice.org-vcltesttool/files/patch-psprint+source+helper+strhelper.cxx b/editors/openoffice.org-vcltesttool/files/patch-psprint+source+helper+strhelper.cxx
index 186ff5e..bb1c195 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-psprint+source+helper+strhelper.cxx
+++ b/editors/openoffice.org-vcltesttool/files/patch-psprint+source+helper+strhelper.cxx
@@ -1,6 +1,6 @@
http://www.openoffice.org/issues/show_bug.cgi?id=27753
-The isnan() macro is a new feature of C99 and not yet part of C++.
+The isnan() macro is a new feature of C99 and not yet part of C++.
Index: source/helper/strhelper.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/helper/strhelper.cxx,v
diff --git a/editors/openoffice.org-vcltesttool/files/patch-scp2+source+ooo+file_library_ooo.scp b/editors/openoffice.org-vcltesttool/files/patch-scp2+source+ooo+file_library_ooo.scp
new file mode 100644
index 0000000..4d64f72
--- /dev/null
+++ b/editors/openoffice.org-vcltesttool/files/patch-scp2+source+ooo+file_library_ooo.scp
@@ -0,0 +1,22 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40186
+
+The name of resultant library is libxml2.so.7, not libxml2.so.2.5.11
+
+Index: scp2/source/ooo/file_library_ooo.scp
+===================================================================
+RCS file: /cvs/installation/scp2/source/ooo/file_library_ooo.scp,v
+retrieving revision 1.75
+diff -u -r1.75 file_library_ooo.scp
+--- scp2/source/ooo/file_library_ooo.scp 23 Dec 2004 09:49:51 -0000 1.75
++++ scp2/source/ooo/file_library_ooo.scp 30 Dec 2004 13:01:14 -0000
+@@ -2027,7 +2027,9 @@
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+- #ifdef UNX
++ #if defined(FREEBSD)
++ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.7));
++ #elif defined(UNX)
+ Name = STRING(CONCAT3(libxml2,UNXSUFFIX,.2.5.11));
+ #else
+ Name = "libxml2.dll";
diff --git a/editors/openoffice.org-vcltesttool/files/patch-sfx2+source+config+cfgmgr.cxx b/editors/openoffice.org-vcltesttool/files/patch-sfx2+source+config+cfgmgr.cxx
deleted file mode 100644
index e4965fd..0000000
--- a/editors/openoffice.org-vcltesttool/files/patch-sfx2+source+config+cfgmgr.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-#iz 22253
-
-http://qa.openoffice.org/issues/show_bug.cgi?id=22253
-
---- sfx2/source/config/cfgmgr.cxx.org Fri Nov 7 19:11:25 2003
-+++ sfx2/source/config/cfgmgr.cxx Fri Nov 7 19:30:26 2003
-@@ -118,6 +118,10 @@
- catch(com::sun::star::ucb::InteractiveAugmentedIOException&)
- {
- }
-+ // PJ: This is a workaround for weird error on FreeBSD (#i22253#)
-+ catch(com::sun::star::uno::Exception&)
-+ {
-+ }
- sal_Bool bIsDocument;
- if ( (aAny >>= bIsDocument) && bIsDocument )
- return new SotStorage( TRUE, rName, nMode, STORAGE_TRANSACTED );
diff --git a/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk
index 16c987a..31985c5 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk
+++ b/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk
@@ -1,10 +1,15 @@
+http://www.openoffice.org/issues/show_bug.cgi?id=40182
+
+o catch up recent unxlngi6.mk
+o -Wl,-z,defs -> comment out
+
Index: solenv/inc/unxfbsdi.mk
===================================================================
RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v
retrieving revision 1.11
diff -u -r1.11 unxfbsdi.mk
--- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11
-+++ solenv/inc/unxfbsdi.mk 21 Nov 2004 14:26:32 -0000
++++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000
@@ -60,16 +60,26 @@
#
#*************************************************************************
@@ -24,7 +29,7 @@ diff -u -r1.11 unxfbsdi.mk
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+# _PTHREADS is needed for the stl
-+CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
++CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -36,28 +41,29 @@ diff -u -r1.11 unxfbsdi.mk
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
-@@ -77,96 +87,82 @@
- .ELSE
- JAVA_RUNTIME=-ljava_g
- .ENDIF
-+.ENDIF
-+
-+# define default arch flags when needed
-+.IF "$(ARCH_FLAGS)"==""
-+ARCH_FLAGS=-mcpu=pentiumpro
- .ENDIF
-
- # name of C++ Compiler
+@@ -83,90 +93,82 @@
CXX*=g++
# name of C Compiler
CC*=gcc
-+# flags for C and C++ Compiler
-+CFLAGS+=-Wuninitialized -fmessage-length=0 -c $(INCLUDE)
++.IF "$(SYSBASE)"!=""
++CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
++CXX+:=$(CFLAGS_SYSBASE)
++CC+:=$(CFLAGS_SYSBASE)
++.ENDIF # "$(SYSBASE)"!=""
++CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE)
++.IF "$(PRODUCT)"!=""
++CFLAGS+=-Wuninitialized
++.ENDIF
-# filter for supressing verbose messages from linker
-# not needed at the moment
-LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
--
++# flags to enable build with symbols; required for crashdump feature
++.IF "$(ENABLE_SYMBOLS)"=="SMALL"
++CFLAGSENABLESYMBOLS=-g1
++.ELSE
++CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
-# options for C and C++ Compiler
-CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION)
-CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT
@@ -65,11 +71,6 @@ diff -u -r1.11 unxfbsdi.mk
-# flags for C and C++ Compile
-CFLAGS+= -w -c $(INCLUDE)
-CFLAGS+= -I/usr/X11R6/include
-+# flags to enable build with symbols; required for crashdump feature
-+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-+CFLAGSENABLESYMBOLS=-g1
-+.ELSE
-+CFLAGSENABLESYMBOLS=-g
+.ENDIF
# flags for the C++ Compiler
@@ -77,7 +78,7 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSCXX= -pipe -fno-rtti
-CFLAGSCXX+= -Wno-ctor-dtor-privacy
-
-+CFLAGSCC= -pipe $(ARCH_FLAGS)
++CFLAGSCC= -pipe -mtune=pentiumpro
# Flags for enabling exception handling
-CFLAGSEXCEPTIONS= -fexceptions
-CFLAGS_NO_EXCEPTIONS= -fno-exceptions
@@ -111,7 +112,8 @@ diff -u -r1.11 unxfbsdi.mk
-# Compiler flags for profilin
-CFLAGSPROF= -pg
-+CFLAGSCXX= -pipe $(ARCH_FLAGS)
++# -fpermissive should be removed as soon as possible
++CFLAGSCXX= -pipe -mtune=pentiumpro
+CFLAGSCXX+= -Wno-ctor-dtor-privacy
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
@@ -123,11 +125,11 @@ diff -u -r1.11 unxfbsdi.mk
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-+CFLAGSSLOGUIMT=-fPIC
++CFLAGSSLOGUIMT=-fpic
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
-+CFLAGSSLOCUIMT=-fPIC
++CFLAGSSLOCUIMT=-fpic
+# Compiler flags for profiling
-+CFLAGSPROF= -pg
++CFLAGSPROF=
# Compiler flags for debugging
-CFLAGSDEBUG= -g
+CFLAGSDEBUG=-g
@@ -145,17 +147,18 @@ diff -u -r1.11 unxfbsdi.mk
-CFLAGSOUTOBJ= -o
-
+# Compiler flags for enabling optimazations
-+# CFLAGSOPT=-O2
-+# reduce to -O1 to avoid optimisation problems
-+CFLAGSOPT=-O1
++.IF "$(PRODUCT)"!=""
++CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
++.ELSE # "$(PRODUCT)"!=""
++CFLAGSOPT= # no optimizing for non products
++.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O0
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
# Enable all warnings
--CFLAGSWALL=-Wall
+ CFLAGSWALL=-Wall
-
-+CFLAGSWALL=-Wall -Wfloat-equal -Weffc++ -Wold-style-cast -Woverloaded-virtual -Wshadow -Wpointer-arith -Wcast-align -Wsign-compare -Winline
# Set default warn level
-CFLAGSDFLTWARN=-w
+CFLAGSDFLTWARN=
@@ -168,12 +171,12 @@ diff -u -r1.11 unxfbsdi.mk
# name of linker
-LINK=$(CC)
-+LINK*=$(CC)
++LINK*=$(CXX)
# default linker flags
-# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\'
-LINKFLAGS=$(LINKFLAGSRUNPATH)
-+LINKFLAGSDEFS*=-z defs
++LINKFLAGSDEFS*=#-Wl,-z,defs
+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH)
@@ -185,7 +188,7 @@ diff -u -r1.11 unxfbsdi.mk
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
-@@ -177,23 +173,19 @@
+@@ -177,23 +179,19 @@
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
@@ -216,7 +219,7 @@ diff -u -r1.11 unxfbsdi.mk
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
-@@ -201,24 +193,30 @@
+@@ -201,24 +199,25 @@
# libraries for linking applications
STDLIBCUIST=-lm
@@ -238,13 +241,8 @@ diff -u -r1.11 unxfbsdi.mk
-# STLport always needs pthread.
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS)
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS)
-+.IF "$(USE_SYSTEM_STL)"=="YES"
-+LIBSTLPORT=$(DYNAMIC) -lstdc++
-+LIBSTLPORTST=$(STATIC) $(DYNAMIC)
-+.ELSE
-+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
++LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-+.ENDIF
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
@@ -255,7 +253,7 @@ diff -u -r1.11 unxfbsdi.mk
# tool for generating import libraries
IMPLIB=
-@@ -237,3 +235,4 @@
+@@ -237,3 +236,4 @@
DLLPOSTFIX=fi
DLLPRE=lib
DLLPOST=.so
diff --git a/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx
index 1e88b4c..6d562f0 100644
--- a/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx
+++ b/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx
@@ -1,29 +1,20 @@
-#iZ XXXX
+http://www.openoffice.org/issues/show_bug.cgi?id=40184
-FreeBSD doesn't have alloca.h, and
-builtin alloca is defined at stdlib.h.
+FreeBSD doesn't have alloca.h
-Index: transex3/source/xmlparse.cxx
+Index: source/xmlparse.cxx
===================================================================
RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 xmlparse.cxx
---- transex3/source/xmlparse.cxx 30 Aug 2004 17:31:58 -0000 1.2
-+++ transex3/source/xmlparse.cxx 3 Oct 2004 08:41:45 -0000
-@@ -64,11 +64,12 @@
-
-
- #include <stdio.h>
--#ifdef WIN32
--#include <malloc.h>
-+
-+#if defined(SOLARIS) || defined(IRIX)
-+ #include <alloca.h>
+retrieving revision 1.5
+diff -u -r1.5 xmlparse.cxx
+--- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5
++++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+ #include <malloc.h>
#else
-#ifndef MACOSX
--#include <alloca.h>
+#if !(defined(MACOSX) || defined(FREEBSD))
-+ #include <malloc.h>
+ #include <alloca.h>
#endif
#endif
-
diff --git a/editors/openoffice.org-vcltesttool/files/patch-ucbhelper+source+client+proxydecider.cxx b/editors/openoffice.org-vcltesttool/files/patch-ucbhelper+source+client+proxydecider.cxx
deleted file mode 100644
index 5c01ac64..0000000
--- a/editors/openoffice.org-vcltesttool/files/patch-ucbhelper+source+client+proxydecider.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: ucbhelper/source/client/proxydecider.cxx
-===================================================================
-RCS file: /cvs/ucb/ucbhelper/source/client/proxydecider.cxx,v
-retrieving revision 1.4
-diff -u -r1.4 proxydecider.cxx
---- ucbhelper/source/client/proxydecider.cxx 3 Nov 2004 08:03:28 -0000 1.4
-+++ ucbhelper/source/client/proxydecider.cxx 21 Nov 2004 00:08:25 -0000
-@@ -128,6 +128,9 @@
- #include <unistd.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <sys/socket.h>
-+#endif
- namespace
- {
-
diff --git a/editors/openoffice.org-vcltesttool/pkg-descr b/editors/openoffice.org-vcltesttool/pkg-descr
index 31fd1b1..bc2ede1 100644
--- a/editors/openoffice.org-vcltesttool/pkg-descr
+++ b/editors/openoffice.org-vcltesttool/pkg-descr
@@ -12,3 +12,6 @@ Components include:
* A tool for creating effective eye-catching presentations.
* A vector-oriented draw module that enables the creation of 3D
illustrations
+
+WWW: http://www.openoffice.org/
+ http://porting.openoffice.org/freebsd/
diff --git a/editors/openoffice.org-vcltesttool/pkg-message b/editors/openoffice.org-vcltesttool/pkg-message
deleted file mode 100644
index c0b82e6..0000000
--- a/editors/openoffice.org-vcltesttool/pkg-message
+++ /dev/null
@@ -1,82 +0,0 @@
-OpenOffice.org Build 1.1.0 Personal Install How-To
-
-Written by: Martin Blapp <mbr@freebsd.org>
-
-OpenOffice.org 1.1Beta will soon been installed in
-${PREFIX}/OpenOffice.org-1.1.0
-
-1 User installation
--------------------
-
-Just type "openoffice" after you have successfully
-installed the package. If there is no installed
-OO.org dir in hour homedir, you'll be prompted to
-install some files and choose a installed JDK.
-The setup installs a "OpenOffice.org1.1.0" folder
-in your homedir.
-
-If the setup tells you there is already an installed
-version, you may look at the file ".sversionrc" in
-your homedir. In this file OpenOffice and StarOffice
-have both a line for each version which is installed.
-After removing the problematic line you should be able to
-install again.
-
-2 Start OO.org
---------------
-
-There are some wrappers installed for fast startup.
-Add "${PREFIX}/bin/" to your PATH and you will be able
-to use them.
-
-${PREFIX}/bin/openoffice-1.1
-${PREFIX}/bin/openoffice-1.1-sagenda
-${PREFIX}/bin/openoffice-1.1-scalc
-${PREFIX}/bin/openoffice-1.1-sdraw
-${PREFIX}/bin/openoffice-1.1-setup
-${PREFIX}/bin/openoffice-1.1-sfax
-${PREFIX}/bin/openoffice-1.1-simpress
-${PREFIX}/bin/openoffice-1.1-spadmin
-${PREFIX}/bin/openoffice-1.1-sweb
-${PREFIX}/bin/openoffice-1.1-swriter
-
-OO.org does need $LANG to be set to a suitable value.
-If it is not already set, a default value is chosen.
-Some old X-Servers before XFree86 4.2 do not like the
-western locale with Euro symbol (ISO_8859-15).
-You should ignore the warning message then or upgrade to
-to a more recent X-server.
-
-If you have chosen US-ASCII as locale, you cannot load
-and save documents with special characters and these
-characters are also not available in swriter and scalc.
-
-3 Setup problems (FreeBSD < 4.7-RELEASE only)
----------------------------------------------
-
-If the setup complains about a missing file "setup.ins",
-it's time to upgrade your FreeBSD system to the latest
-version. You will encounter this bug only if your OS is
-older than FreeBSD 4.7-RELEASE.
-
-4 Crashes in URL-location bar (FreeBSD < 4.7-RELEASE only)
-----------------------------------------------------------
-
-OO.org can crash if you enter a non existing path
-or URL in the location bar. To fix these crashes
-you need the following patch. You will see this
-bug only if your OS is older than FreeBSD 4.7-RELEASE.
-
-http://people.freebsd.org/~mbr/ooo/rtld-symlookup.diff
-
-5 Crash at startup after using a localized version
---------------------------------------------------
-
-If you had installed the english version, and then have
-switched to a localized OO.org, it will crash instantly.
-
-To solve this issue, please remove the already installed
-OpenOffice.org1.1Beta dir in your homedir and remove the
-appropriate entry from ".sversionrc". After you have done
-this, redo the user installation and the problem will
-go away.
OpenPOWER on IntegriCloud