# Template file for 'libreoffice' pkgname=libreoffice version=6.0.3.2 revision=3 build_style=gnu-configure configure_args="--disable-werror" nocross=yes # # XXX: mit-krb5-devel nasm firebird3 hamcrest iwyu ogl-math # Missing, required libraries are downloaded and built internally # hostmakedepends="automake libtool pkg-config bison flex gperf icu perl-Archive-Zip hyphen openldap sane ucpp unzip zip wget" makedepends="apr-devel gst-plugins-base1-devel gtk+-devel gtk+3-devel libatomic_ops-devel librsvg-devel nss-devel python3-devel libgcrypt-devel gpgmepp-devel poppler-cpp-devel postgresql-libs-devel redland-devel liborcus-devel lpsolve-devel unixodbc-devel libXt-devel neon-devel avahi-libs-devel hunspell-devel hyphen-devel libabw-devel libcdr-devel CoinMP-devel libbluetooth-devel libcmis-devel libe-book-devel libfreehand-devel libexttextcat-devel libgltf-devel libldap-devel libmspub-devel libmwaw-devel glew-devel glyphy-devel gst-plugins-base1-devel libodfgen-devel libpagemaker-devel libvisio-devel libetonyek-devel libwpg-devel telepathy-glib-devel libepubgen-devel libqxp-devel libwps-devel glm mdds0 mythes-devel sane-devel vigra-devel vlc-devel" depends="hyphen openldap sane" short_desc="Productivity suite, formerly OpenOffice.org" maintainer="Jürgen Buchmüller " license="LGPL-3" homepage="http://www.libreoffice.org/" # Additional zip archives _ooop_fonts_md5hash=a10aa597411643326e27d7fc128af12d _ooop_fonts_version=2.9.0.0 _ooop_gallery_md5hash=af9314c5972d95a5d6da23ffad818f68 _ooop_gallery_version=2.8.0.0 _ooop_samples_md5hash=a6bccacf44914969e6e7b2f8faf4132c _ooop_samples_version=2.7.0.0 _ooop_templates_md5hash=1be202fbbbc13f10592a98f70a4a87fb _ooop_templates_version=2.9.0.0 # Extra gallery, samples and templates _ooopurl="http://ooo.itc.hu/oxygenoffice/download/libreoffice" # Source, dictionary, help and translations _baseurl="http://download.documentfoundation.org/${pkgname}/src/${version%.*}" _addurl="http://dev-www.libreoffice.org/src" _exturl="http://dev-www.libreoffice.org/extern" distfiles=" ${_baseurl}/${pkgname}-${version}.tar.xz ${_baseurl}/${pkgname}-dictionaries-${version}.tar.xz ${_baseurl}/${pkgname}-help-${version}.tar.xz ${_baseurl}/${pkgname}-translations-${version}.tar.xz ${_ooopurl}/${_ooop_fonts_md5hash}-OOOP-fonts-pack-${_ooop_fonts_version}.zip ${_ooopurl}/${_ooop_gallery_md5hash}-OOOP-gallery-pack-${_ooop_gallery_version}.zip ${_ooopurl}/${_ooop_samples_md5hash}-OOOP-samples-pack-${_ooop_samples_version}.zip ${_ooopurl}/${_ooop_templates_md5hash}-OOOP-templates-pack-${_ooop_templates_version}.zip ${_addurl}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip ${_addurl}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip ${_addurl}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz ${_addurl}/language-subtag-registry-2017-08-15.tar.bz2 ${_addurl}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip ${_addurl}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ${_addurl}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip ${_addurl}/Firebird-3.0.0.32483-0.tar.bz2 ${_addurl}/libstaroffice-0.0.5.tar.xz ${_addurl}/libzmf-0.0.2.tar.xz ${_addurl}/pdfium-3235.tar.bz2 ${_addurl}/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip ${_exturl}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar ${_exturl}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar ${_exturl}/185d60944ea767075d27247c3162b3bc-unowinreg.dll ${_addurl}/commons-logging-1.2-src.tar.gz ${_addurl}/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip ${_addurl}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_addurl}/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt ${_addurl}/b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt ${_addurl}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip ${_addurl}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip ${_addurl}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip ${_addurl}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip ${_addurl}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip ${_addurl}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip ${_addurl}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip ${_addurl}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip ${_addurl}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip ${_addurl}/ltm-1.0.zip ${_addurl}/xmlsec1-1.2.25.tar.gz ${_addurl}/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz ${_addurl}/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz ${_addurl}/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip ${_addurl}/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip ${_addurl}/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz ${_addurl}/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz ${_addurl}/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip ${_addurl}/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz ${_addurl}/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz ${_addurl}/EmojiOneColor-SVGinOT-1.3.tar.gz ${_addurl}/noto-fonts-20171024.tar.gz ${_addurl}/culmus-0.131.tar.gz ${_addurl}/libre-hebrew-1.0.tar.gz ${_addurl}/alef-1.001.tar.gz ${_addurl}/amiri-0.109.zip ${_addurl}/ttf-kacst_2.01+mry.tar.gz ${_addurl}/ReemKufi-0.6.tar.gz ${_addurl}/Scheherazade-2.100.zip " checksum=" 12b8a2f57d797ad51b7661e2302babfe73c0d23b52ddac9f4c7eb1b82472859b f6628c8108660e8540f7bd9a05abe2cdc7df87a25a608ae06fa211b843c0ad7f 06999eac776c4fcf7339732bf988d2b85b7193283d4be622f848706e278e4701 8aa651266b701b17e78aaca77db394bec3da07faf62546496484c63dd519a5b3 cf21b8a0a58c0f0af562869846ce2af4c68b13a7178b9b74ee7be7480a87c84c c95f6c398e81ee7def378e51e4c7b5bdeba526f28ff281e79ca3795e6d467159 1834aa0632499134f98ce85057d6d67604b9ed3b7efa7f13e76046f5886a3a2d c31a4b1ab988a6b016654cc91e9652727cbb0fcbe9b09ee4b3d93b57a57901e0 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753 75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870 983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776 d6a97fc8da5ae54d867e7f1b65ffb51e816cadd11714e45fc23ee0abf81a51ab d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd 6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860 315507add58068aa6d5c437e7c2a6fd1abe684515915152c6cf338fc588da982 27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22 7dc0d33fc24b1612865f5e173d48800ba3f2db891c57e3f92b9d2ce56ffeb72f d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770 aa8896eef3adbd6b54d4ec1817c1bc3871cce99120faf26f93502077480233cf eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6 49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81 9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96 64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1 71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3 1568ed1d2feb8210bb5de61d69574a165cded536cfa17c6953c9064076469de2 75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743 5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772 3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8 abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095 05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343 7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66 085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483 967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2 c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09 4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a 7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a 2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc 61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c 7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504 54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5 09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61 d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7 29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994 dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52 97ee6e40d87f4b31de15d9a93bb30bf27bf308f0814f4ee9c47365b027402ad6 dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56 4dfbd8b227ea062ca1742fb15d707f0b74398f9ddb231892554f0959048e809b 251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5 " skip_extraction=" ${pkgname}-dictionaries-${version}.tar.xz ${pkgname}-help-${version}.tar.xz ${pkgname}-translations-${version}.tar.xz ${_ooop_fonts_md5hash}-OOOP-fonts-pack-${_ooop_fonts_version}.zip ${_ooop_gallery_md5hash}-OOOP-gallery-pack-${_ooop_gallery_version}.zip ${_ooop_samples_md5hash}-OOOP-samples-pack-${_ooop_samples_version}.zip ${_ooop_templates_md5hash}-OOOP-templates-pack-${_ooop_templates_version}.zip 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz language-subtag-registry-2017-08-15.tar.bz2 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip Firebird-3.0.0.32483-0.tar.bz2 libstaroffice-0.0.5.tar.xz libzmf-0.0.2.tar.xz pdfium-3235.tar.bz2 bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar 185d60944ea767075d27247c3162b3bc-unowinreg.dll commons-logging-1.2-src.tar.gz beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip 3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip 3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip 97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip 8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip ltm-1.0.zip xmlsec1-1.2.25.tar.gz 368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz 33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip 1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip 134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz 5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip 907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz EmojiOneColor-SVGinOT-1.3.tar.gz noto-fonts-20171024.tar.gz culmus-0.131.tar.gz libre-hebrew-1.0.tar.gz alef-1.001.tar.gz amiri-0.109.zip ttf-kacst_2.01+mry.tar.gz ReemKufi-0.6.tar.gz Scheherazade-2.100.zip " build_options="java" desc_option_java="Enable Java support" if [ -z "$CROSS_BUILD" ]; then # mariadbclient can't currently be cross compiled makedepends+=" libmariadbclient-devel" fi case "$XBPS_TARGET_MACHINE" in i686) # Broken unit tests CXXFLAGS+=" -DDISABLE_CVE_TESTS=1" makedepends+=" clucene-devel" ;; *-musl) # use shipped clucene, because CLucene/analysis/cjk/CJKAnalyzer.h # is missing in the musl clucene-devel files # make no checks because they fail on the builder make_build_args="build-nocheck" ;; x86_64) build_options_default="java" makedepends+=" apache-ant openjdk " makedepends+=" clucene-devel" ;; *) makedepends+=" clucene-devel" ;; esac post_fetch() { local srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version} pkg mkdir -p ${wrksrc}/external/tarballs for pkg in ${skip_extraction}; do if [ "${pkg%.dll}" != "${pkg}" ]; then cp ${srcdistdir}/${pkg} ${wrksrc}/external/tarballs/ else ln -svf ${srcdistdir}/${pkg} ${wrksrc}/external/tarballs/ fi done } pre_configure() { sed -e "/gzip -f/d" \ -e "s|.1.gz|.1|g" \ -i bin/distro-install-desktop-integration sed -e "/distro-install-file-lists/d" -i Makefile.in chmod +x bin/unpack-sources mkdir -p external/firebird # Add musl patch cp ${FILESDIR}/musl-os_utils_h.patch external/firebird/ sed -i external/firebird/UnpackedTarball_firebird.mk \ -e's;\(.*external/firebird\)/libc++.patch\(.*\)$;\1/libc++.patch\2\n\1/musl-os_utils_h.patch\2;' case "$XBPS_TARGET_MACHINE" in i686*) # Don't run broken tests sed -i "/CppunitTest_sw_ooxmlexport9/d" sw/Module_sw.mk sed -i "/CPPUNIT_TEST(testTdf111798);/d" sd/qa/unit/export-tests-ooxml2.cxx make_build_args="build-nocheck" ;; esac } do_configure() { local incdir="${XBPS_CROSS_BASE}/usr/include" # Separate autogen.sh and configure because we need # to patch configure for musl support NOCONFIGURE=1 ./autogen.sh # Add linux-musl* as host OS to lines containing linux-gnu* sed -i configure -e 's;linux-gnu\*;linux-gnu*|linux-musl*;g' configure_args+=" --with-vendor='VoidLinux'" configure_args+=" --with-help" configure_args+=" --with-alloc=system" configure_args+=" --without-system-dicts" configure_args+=" --disable-odk" configure_args+=" --enable-python=system" configure_args+=" --enable-gtk3" configure_args+=" --enable-vlc" configure_args+=" --disable-dependency-tracking" configure_args+=" --enable-release-build=yes" configure_args+=" --disable-dconf" # New strategy: enable all libs and headers, then disable what's missing configure_args+=" --with-system-libs" configure_args+=" --with-system-headers" case "$XBPS_TARGET_MACHINE" in i686*|*-musl) # Can't use system clucence configure_args+=" --without-system-clucene" ;; x86_64) configure_args+=" --enable-ext-mariadb-connector" configure_args+=" --enable-ext-ct2n" configure_args+=" --enable-ext-numbertext" configure_args+=" --enable-ext-nlpsolver" configure_args+=" --enable-ext-languagetool" ;; esac if [ "$build_option_java" ]; then configure_args+=" --with-java" configure_args+=" --with-jdk-home=/usr/lib/jvm/openjdk" configure_args+=" --without-junit" else configure_args+=" --without-java" fi configure_args+=" --with-tls=nss" # xmlsec1-nss is missing, thus don't use system-xmlsec configure_args+=" --without-system-xmlsec" configure_args+=" --without-system-libzmf" configure_args+=" --without-system-libstaroffice" configure_args+=" --without-system-mysql-cppconn" # libreoffice want's firebird3 configure_args+=" --without-system-firebird" configure_args+=" --without-system-libtommath" configure_args+=" --without-system-jfreereport" configure_args+=" --without-system-apache-commons" configure_args+=" --without-system-beanshell" # configure_args+=" --without-system-glm" configure_args+=" --with-myspell-dicts" configure_args+=" --with-system-icu-for-build=yes" configure_args+=" --with-external-dict-dir=${XBPS_CROSS_BASE}/usr/share/hunspell" configure_args+=" --with-external-hyph-dir=${XBPS_CROSS_BASE}/usr/share/hyphen" configure_args+=" --with-external-thes-dir=${XBPS_CROSS_BASE}/usr/share/mythes" configure_args+=" --with-parallelism=${XBPS_MAKEJOBS}" # In theory we could use --with-lang=ALL but building the package then takes ages. ./configure ${configure_args} --with-lang='en-US de es fr it pl pt' # Disable slowchecks target sed -i Makefile -e "/gb_Top_MODULE_CHECK_TARGETS /s/ slowchecks//" } do_install() { local f make DESTDIR="${DESTDIR}" PREFIXDIR="/usr" distro-pack-install mkdir -p ${INSTDIR}/share/appdata cp -p sysui/desktop/appstream-appdata/*.xml ${INSTDIR}/share/appdata/ # Remove unwanted libreoffice packaging files from the root directory rm -f ${DESTDIR}/gid_Module* # Remove useless directory usr/lib32 rm -rf ${DESTDIR}/usr/lib32 } post_install() { case "$XBPS_TARGET_MACHINE" in i686*) # correct desktop files sed -i "s/libreoffice5.4/libreoffice/" ${DESTDIR}/usr/lib/libreoffice/share/xdg/*.desktop ;; esac }