# Maintainer: AndyRTR # Maintainer: Bartłomiej Piotrowski # ALARM: Kevin Mihelich # - disable firebird until libfbclient is updated # - specify a US mirror # - make build-nocheck buildarch=12 highmem=1 # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Arch Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact foutrelis@archlinux.org for # more information. _google_default_client_id=413772536636.apps.googleusercontent.com _google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4 pkgbase=libreoffice-still pkgname=('libreoffice-still-sdk' 'libreoffice-still') _LOver=6.0.7.3 pkgver=6.0.7 pkgrel=4 arch=('x86_64') license=('LGPL3') url="http://www.libreoffice.org/" makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps' 'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr' 'libmspub' 'harfbuzz-icu' 'nss' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'gst-plugins-base-libs' 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'ant' 'gperf' 'gtk3' 'cppunit' 'beanshell' 'clucene' 'junit' 'libmythes' 'libwpg' 'java-environment=8' 'postgresql-libs' 'libgl' 'bluez-libs' 'gdb' 'doxygen' 'libatomic_ops' 'apr' 'serf' 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama' 'libpagemaker' 'glm' 'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'libexttextcat' 'libcmis' 'gobject-introspection' 'libtommath' 'libzmf' 'gpgme' 'xmlsec' 'rxvt-unicode' 'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' ) _mirror="http://mirror.sjc02.svwh.net/tdf/libreoffice/src/${pkgver}" #_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}" #_mirror="https://dev-builds.libreoffice.org/pre-releases/src" _additional_source_url="http://dev-www.libreoffice.org/src" _additional_source_url2="http://dev-www.libreoffice.org/extern" source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc} ${_additional_source_url}/boost_1_65_1.tar.bz2 ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip # keep old bundled version, new system version ftbs ${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip ${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz ${_additional_source_url}/language-subtag-registry-2017-08-15.tar.bz2 ${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip ${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip ${_additional_source_url}/Firebird-3.0.0.32483-0.tar.bz2 ${_additional_source_url}/pdfium-3235.tar.bz2 ${_additional_source_url}/mdds-1.3.1.tar.bz2 ${_additional_source_url}/liborcus-0.13.3.tar.gz ${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite ${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar # for test suite ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll make-pyuno-work-with-system-wide-module-install.diff poppler-0.70.patch libreoffice-poppler-0.71.patch libreoffice-poppler-0.72.patch libreoffice-poppler-0.73.patch emfio.patch libreoffice-still.sh libreoffice-still.csh) noextract=(boost_1_65_1.tar.bz2 35c94d2df8893241173de1d16b6034c0-swingExSrc.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 pdfium-3235.tar.bz2 mdds-1.3.1.tar.bz2 liborcus-0.13.3.tar.gz 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar # for test suite 185d60944ea767075d27247c3162b3bc-unowinreg.dll ) validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) sha256sums=('b9633ccbd719fe6ad8142eceed3047eda346fca5d2962567283f350354b64c72' 'SKIP' '91c82943cf6ea8f6122c8cf3bfa84620de72404985e793c776227a4d77c0dd1c' 'SKIP' 'ae5cd0067c8abdde9b8dfff3de62026b256207c87567777bb6d963fece7168e6' 'SKIP' '9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81' '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1' '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753' '75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870' '983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776' 'd6a97fc8da5ae54d867e7f1b65ffb51e816cadd11714e45fc23ee0abf81a51ab' 'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370' '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133' '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd' '6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860' '7dc0d33fc24b1612865f5e173d48800ba3f2db891c57e3f92b9d2ce56ffeb72f' 'dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1' '62e76de1fd3101e77118732b860354121b40a87bbb1ebfeb8203477fffac16e9' 'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770' '702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769' 'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6' 'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563' '4cac21ffdb711803c0d5372c6b0ba04f1310afa7907081fdd01c11e68c1785bf' 'ffe1698d3db3320a9213a459e7619f4962c9792a8b256ea0fe2b7e0af1df430a' 'dc8b5b0d1a4a1fed4f5cab048cd7ecd78630725458311bcbfe0a660c82357b49' '69337273a8a125be1c9e066b955306659b19066c3c82b61c62bcb62234e2e1ad' '8b4815788be087940750b775690b5890c4cf9e121f11006a72ccab834f212abb' '52e90a5a3d8d5b626caa51675b601aba508463c2b9caa98d07cfa35220fc0b22' '531de4133cb6ff5c841e4251fdafe69521ccd195f5933eb8c113291d3eff183a') prepare() { cd libreoffice-$_LOver # move external sources into place mkdir ${srcdir}/ext_sources && pushd ${srcdir}/ext_sources for source in "${noextract[@]}"; do ln -s ${srcdir}/$source . done popd # don't run broken tests sed -i "/CppunitTest_sw_ooxmlexport9/d" sw/Module_sw.mk sed -i "/CppunitTest_sw_uiwriter/d" sw/Module_sw.mk sed -i "/CppunitTest_sw_ww8export2/d" sw/Module_sw.mk sed -i "/CppunitTest_xmlsecurity_signing/d" xmlsecurity/Module_xmlsecurity.mk sed -i "/CppunitTest_sc_subsequent_filters_test/d" sc/Module_sc.mk sed -i "/CppunitTest_sc_subsequent_export_test/d" sc/Module_sc.mk sed -i "/CppunitTest_chart2_export/d" chart2/Module_chart2.mk sed -i "/CppunitTest_dbaccess_RowSetClones/d" dbaccess/Module_dbaccess.mk sed -i "/CppunitTest_dbaccess_hsqldb/d" dbaccess/Module_dbaccess.mk # apply upstream fix for broken cppunit test patch -Np1 -i ../emfio.patch sed -i "/CppunitTest_emfio_emf_test/d" emfio/Module_emfio.mk # unowinreg.dll must be a file not a symlink or the result will become a broken symlink # /usr/share/libreoffice/sdk/classes/win/unowinreg.dll -> /build/libreoffice/src/185d60944ea767075d27247c3162b3bc-unowinreg.dll rm ${srcdir}/ext_sources/185d60944ea767075d27247c3162b3bc-unowinreg.dll cp -f ${srcdir}/185d60944ea767075d27247c3162b3bc-unowinreg.dll ${srcdir}/ext_sources # fix not upstreamable pyuno paths - FS#54250 patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff # fix build with poppler 0.70 patch -Np1 -i ../poppler-0.70.patch # fix build with poppler 0.71 patch -p1 -i ../libreoffice-poppler-0.71.patch # fix build with poppler 0.72 patch -p1 -i ../libreoffice-poppler-0.72.patch # fix build with poppler 0.73 patch -p1 -i ../libreoffice-poppler-0.73.patch #use the CFLAGS but remove the LibO overridden ones for i in $CFLAGS; do case "$i" in -O?|-pipe|-Wall|-g|-fexceptions) continue;; esac ARCH_FLAGS="$ARCH_FLAGS $i" done } build() { cd libreoffice-$_LOver # strip -s from Makeflags in case you use it to shorten build logs _MAKEFLAGS=${MAKEFLAGS/-s/} # http://site.icu-project.org/download/61#TOC-Migration-Issues CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' ./autogen.sh --with-build-version="${pkgver}-${pkgrel}" \ --with-vendor="Arch Linux" \ --enable-split-app-modules \ --with-parallelism=${_MAKEFLAGS/-j/} \ --with-external-tar="${srcdir}/ext_sources" \ --disable-fetch-external \ --enable-release-build \ --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \ --libdir=/usr/lib --mandir=/usr/share/man \ --with-lang="" \ --with-help \ --disable-avahi \ --enable-dbus \ --enable-evolution2\ --enable-gio\ --disable-kde4\ --enable-gtk3 \ --enable-introspection \ --disable-gstreamer-0-10 \ --enable-openssl \ --enable-odk\ --enable-python=system \ --enable-scripting-beanshell \ --enable-scripting-javascript \ --disable-dconf \ --disable-report-builder \ --enable-ext-wiki-publisher \ --enable-ext-nlpsolver \ --without-fonts\ --with-system-apr \ --with-system-libcdr \ --without-system-mdds\ --without-myspell-dicts \ --with-system-libvisio \ --with-system-libcmis \ --with-system-libmspub \ --with-system-libexttextcat \ --without-system-orcus \ --with-system-liblangtag \ --with-system-libodfgen \ --with-system-libmwaw \ --with-system-libetonyek \ --with-system-libfreehand \ --disable-firebird-sdbc \ --with-system-libtommath \ --with-system-libatomic-ops \ --with-system-libebook \ --with-system-libabw \ --with-system-coinmp \ --with-system-dicts \ --with-external-dict-dir=/usr/share/hunspell \ --with-external-hyph-dir=/usr/share/hyphen \ --with-external-thes-dir=/usr/share/mythes \ --with-system-beanshell \ --with-system-cppunit\ --with-system-graphite\ --with-system-glm \ --with-system-libwpg \ --with-system-libwps \ --with-system-redland\ --with-system-libzmf \ --with-system-gpgmepp \ --with-system-libstaroffice \ --with-system-serf \ --with-jdk-home="/usr/lib/jvm/default" \ --with-ant-home="/usr/share/ant"\ --without-system-boost\ --with-system-icu \ --with-system-cairo \ --with-system-libs \ --with-system-mythes \ --with-system-headers \ --without-system-hsqldb \ --with-alloc=system \ --with-system-clucene \ --with-gdrive-client-id=${_google_default_client_id} \ --with-gdrive-client-secret=${_google_default_client_secret} \ --disable-dependency-tracking touch src.downloaded make build-nocheck mkdir ${srcdir}/fakeinstall make DESTDIR=${srcdir}/fakeinstall distro-pack-install } #check() { # cd ${srcdir}/build # make check #} package_libreoffice-still-sdk() { pkgdesc="Software Development Kit for LibreOffice maintenance branch" depends=('libreoffice-still' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment') provides=('libreoffice-sdk') conflicts=('libreoffice-fresh-sdk') for dir in $(grep -h ^%dir libreoffice-$_LOver/file-lists/sdk{,_doc}_list.txt); do install -dm755 ${pkgdir}/${dir/\%dir/} done for file in $(grep -h -v ^%dir libreoffice-$_LOver/file-lists/sdk{,_doc}_list.txt); do dirname=$(dirname $file) [[ -d ${pkgdir}/$dirname ]] || install -dm755 ${pkgdir}/$dirname mv ${srcdir}/fakeinstall/${file} ${pkgdir}/$file done # fix environment path to keep compatibility with other java-environments sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" \ ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.sh # fix permissions find ${pkgdir}/usr/lib/libreoffice/sdk/examples -type f -exec chmod -x {} + # add LibreOfficeKit headers; FS#48066 install -dm755 ${pkgdir}/usr/include/LibreOfficeKit install -v -m644 ${srcdir}/libreoffice-$_LOver/include/LibreOfficeKit/* ${pkgdir}/usr/include/LibreOfficeKit } package_libreoffice-still() { pkgdesc="LibreOffice maintenance branch" depends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps' 'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr' 'libmspub' 'harfbuzz-icu' 'nss' 'clucene' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'libpagemaker' 'libxinerama' 'libabw' 'libmwaw' 'libe-book' 'libcups' 'liblangtag' 'libexttextcat' 'libcmis' 'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'gpgme' 'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy') optdepends=('java-runtime: adds java support' 'java-environment: required by extension-wiki-publisher and extension-nlpsolver' 'pstoedit: translates PostScript and PDF graphics into other vector formats' 'libmythes: for use in thesaurus' 'beanshell: interactive java -- good for prototyping/macros' 'libwpg: library for importing and converting WordPerfect Graphics format' 'sane: for scanner access' 'unixodbc: adds ODBC database support' 'gst-plugins-base-libs: for multimedia content, e.g. in Impress' 'libpaper: takes care of papersize' 'postgresql-libs: for postgresql-connector' 'coin-or-mp: required by the Calc solver' 'gtk2: for GTK2 integration' 'gtk3: for GTK3 integration') backup=(etc/libreoffice/sofficerc etc/libreoffice/bootstraprc etc/libreoffice/psprint.conf etc/profile.d/libreoffice-still.sh etc/profile.d/libreoffice-still.csh) provides=('libreoffice' 'libreoffice-en-US') conflicts=('libreoffice-fresh') mv fakeinstall/* ${pkgdir}/ # put configuration files into place install -dm755 ${pkgdir}/etc/libreoffice install -m644 ${pkgdir}/usr/lib/libreoffice/program/{bootstraprc,sofficerc} \ ${pkgdir}/etc/libreoffice/ install -m644 ${pkgdir}/usr/lib/libreoffice/share/psprint/psprint.conf \ ${pkgdir}/etc/libreoffice/ # install dummy links to make them found by LibO cd ${pkgdir}/usr/lib/libreoffice/program/ ln -vsf /etc/libreoffice/{bootstraprc,sofficerc} . cd ${pkgdir}/usr/lib/libreoffice/share/psprint/ ln -vsf /etc/libreoffice/psprint.conf . # allow to preset desired VLC install -dm755 ${pkgdir}/etc/profile.d install -m644 ${srcdir}/libreoffice-still.{sh,csh} ${pkgdir}/etc/profile.d/ # make pyuno find its modules install -dm755 ${pkgdir}/usr/lib/python3.7/site-packages ln -svf /usr/lib/libreoffice/program/uno.py \ ${pkgdir}/usr/lib/python3.7/site-packages/uno.py ln -svf /usr/lib/libreoffice/program/unohelper.py \ ${pkgdir}/usr/lib/python3.7/site-packages/unohelper.py # add a symlink required for gnome-documents; FS#51887 # https://lists.freedesktop.org/archives/libreoffice/2016-March/073787.html ln -svf /usr/lib/libreoffice/program/liblibreofficekitgtk.so \ ${pkgdir}/usr/lib/liblibreofficekitgtk.so # cleanup rm -rf ${pkgdir}/usr/share/libreoffice/sdk # add application descriptions install -v -m644 ${srcdir}/libreoffice-$_LOver/sysui/desktop/appstream-appdata/*.xml \ ${pkgdir}/usr/share/appdata }