# $Id$ # Maintainer: AndyRTR # Maintainer: Bartłomiej Piotrowski # ALARM: Kevin Mihelich # - make build-nocheck: unit tests take a huge amount of time on ARM buildarch=20 pkgbase=libreoffice-fresh pkgname=('libreoffice-fresh-sdk' 'libreoffice-fresh') _LOver=5.0.3.2 pkgver=5.0.3 pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.5' 'libwpd>=0.9.2' 'libwps' 'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'redland' 'icu' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr' 'libmspub' 'harfbuzz-icu' 'glew' 'nss' 'clucene' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'xdg-utils' 'gst-plugins-base-libs' 'glu' 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'apache-ant' 'gperf' 'kdelibs' 'cppunit' 'beanshell2' 'vigra' 'clucene' #'gtk3' 'junit' 'libmythes' 'libwpg' 'mesa' 'java-environment' 'postgresql-libs' 'bluez-libs' 'harfbuzz-icu' 'gdb' 'doxygen' 'libatomic_ops' 'mdds' 'glew' 'apr' 'serf' 'chrpath' 'ttf-liberation' 'glm' 'libxinerama' 'libpagemaker' 'libabw' 'libmwaw' 'libe-book') _mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}" #_mirror="http://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}/d6eef4b4cacb2183f2bf265a5a03a354-boost_1_55_0.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip ${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip ${_additional_source_url}/commons-logging-1.2-src.tar.gz ${_additional_source_url}/8ab049135b2d15313da5d9f0656894a1-commons-lang3-3.3.1-src.tar.gz ${_additional_source_url}/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz ${_additional_source_url}/048751f3271906db5126ab76870444c4-commons-codec-1.9-src.zip ${_additional_source_url}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip ${_additional_source_url}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip ${_additional_source_url}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip ${_additional_source_url}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip ${_additional_source_url}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip ${_additional_source_url}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip ${_additional_source_url}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip ${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip ${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip ${_additional_source_url}/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2 ${_additional_source_url}/7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2 ${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz ${_additional_source_url}/language-subtag-registry-2015-06-08.tar.bz2 ${_additional_source_url}/CoinMP-1.7.6.tgz ${_additional_source_url}/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 ${_additional_source_url}/OpenCOLLADA-master-6509aa13af.tar.bz2 ${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip ${_additional_source_url}/Firebird-2.5.2.26540-0.tar.bz2 ${_additional_source_url}/libgltf/libgltf-0.0.2.tar.bz2 ${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip ${_additional_source_url}/5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz ${_additional_source_url}/libfreehand-0.1.1.tar.bz2 ${_additional_source_url}/36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2 ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll make-pyuno-work-with-system-wide-module-install.diff libreoffice-fresh.sh libreoffice-fresh.csh) noextract=(d6eef4b4cacb2183f2bf265a5a03a354-boost_1_55_0.tar.bz2 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip commons-logging-1.2-src.tar.gz 8ab049135b2d15313da5d9f0656894a1-commons-lang3-3.3.1-src.tar.gz 2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz 048751f3271906db5126ab76870444c4-commons-codec-1.9-src.zip eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip 3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip 97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip 8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip 3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip 10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2 7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz language-subtag-registry-2015-06-08.tar.bz2 CoinMP-1.7.6.tgz 4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 OpenCOLLADA-master-6509aa13af.tar.bz2 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip Firebird-2.5.2.26540-0.tar.bz2 libgltf-0.0.2.tar.bz2 d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip 5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz libfreehand-0.1.1.tar.bz2 36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll) validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) md5sums=('879471fa970c30bb080e11906a3bcdab' 'SKIP' '0ba4c4939e01ed63e39b0751da54ae8f' 'SKIP' '8439f56d4696e64571bbdc8224ede59d' 'SKIP' 'd6eef4b4cacb2183f2bf265a5a03a354' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' '798b2ffdc8bcfe7bca2cf92b62caf685' 'a7983f859eafb2677d7ff386a023bc40' 'ce977548f1cbf46918e93cd38ac35163' '8ab049135b2d15313da5d9f0656894a1' '2c9b0f83ed5890af02c0df1c1776f39b' '048751f3271906db5126ab76870444c4' 'eeb2c7ddf0d302fba4bfc6e97eac9624' '39bb3fcea1514f1369fcfc87542390fd' '3404ab6b1792ae5f16bbd603bd1e1d03' '97b2d4dba862397f446b217e2b623e71' 'f94d9870737518e3b597f9265f4e9803' '8ce2fcd72becf06c41f7201d15373ed9' '3bdf40c0d199af31923e900d082ca2dd' 'ace6ab49184e329db254e454a010f56d' 'db60e4fde8dd6d6807523deb71ee34dc' '10d61fbaa6a06348823651b1bd7940fe' '7681383be6ce489d84c1c74f4e7f9643' '0168229624cfac409e766913506961a8' 'd431bd8a70455be1fa8523fa633c005b' '1cce53bf4b40ae29790d2c5c9f8b1129' '4b87018f7fff1d054939d19920b751a0' '4ca8a6ef0afeefc864e9ef21b9f14bd6' '17410483b5b5f267aa18b7e00b65e6e0' '21154d2004e025c8a3666625b0357bb5' 'd63a9f47ab048f5009d90693d6aa6424' 'd8bd5eed178db6e2b18eeed243f85aa8' 'ba2930200c9f019c2d93a8c88c651a0f' '5821b806a98e6c38370970e682ce76e8' '8cf70c5dc4d24d2dc4a107f509d2d6d7' '36271d3fa0d9dec1632029b6d7aac925' '185d60944ea767075d27247c3162b3bc' 'dcb5ad3e5f7139227677ea064b075422' '40680393752d98bcb590f1f62efa61a9' 'f82232620f3e27d1532c49af4b36ce9a') 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 # 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 - patch taken from Debian patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff #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 # i686 build broken [ "$CARCH" = "i686" ] && sed -i '/CppunitTest_sw_ooxmlimport/d' sw/Module_sw.mk # qt4 fix sed -i "s:qmake:qmake-qt4:g" configure.ac } build() { cd libreoffice-$_LOver # strip -s from Makeflags in case you use it to shorten build logs _MAKEFLAGS=${MAKEFLAGS/-s/} ./autogen.sh --with-build-version="${_LOver} Arch Linux build-${pkgrel}" --with-vendor="Arch Linux" \ --enable-split-app-modules \ --with-parallelism=${_MAKEFLAGS/-j/} \ --with-external-tar="${srcdir}/ext_sources" \ --disable-fetch-external \ --disable-verbose \ --enable-release-build \ --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \ --libdir=/usr/lib --mandir=/usr/share/man \ --with-lang="" \ --with-help \ --enable-crashdump \ --disable-avahi \ --enable-dbus \ --enable-evolution2\ --enable-gio\ --disable-gnome-vfs\ --disable-kde\ --enable-kde4\ --disable-gtk3 \ --disable-gstreamer-0-10 \ --disable-gconf \ --disable-lockdown \ --enable-openssl \ --enable-odk\ --enable-orcus \ --enable-python=system \ --enable-scripting-beanshell \ --enable-scripting-javascript \ --disable-telepathy \ --enable-ext-wiki-publisher \ --enable-ext-nlpsolver \ --without-fonts\ --with-system-apr \ --with-system-libcdr \ --with-system-mdds\ --without-myspell-dicts \ --with-system-libvisio \ --without-system-libcmis \ --with-system-libmspub \ --without-system-libexttextcat \ --without-system-orcus \ --without-system-liblangtag \ --without-system-jfreereport \ --without-system-apache-commons \ --with-system-libodfgen \ --with-system-libmwaw \ --with-system-libetonyek \ --without-system-libfreehand \ --without-system-firebird \ --with-system-libatomic-ops \ --with-system-libebook \ --with-system-libabw \ --without-system-coinmp \ --without-system-libgltf \ --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-glew \ --with-system-glm \ --with-system-libwpg \ --with-system-libwps \ --with-system-redland\ --with-system-serf \ --without-system-npapi-headers \ --with-jdk-home="/usr/lib/jvm/default" \ --with-ant-home="/usr/share/apache-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 \ --disable-dependency-tracking \ --enable-hardlink-deliver touch src.downloaded make build-nocheck # use this if i686 fails #make || make CppunitTest_sw_ooxmlsdrexport VALGRIND=memcheck mkdir ${srcdir}/fakeinstall make DESTDIR=${srcdir}/fakeinstall distro-pack-install } #check() { # cd ${srcdir}/build # make check #} package_libreoffice-fresh-sdk() { pkgdesc="Software Development Kit for LibreOffice Fresh" depends=('libreoffice-fresh' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment') provides=('libreoffice-sdk') conflicts=('libreoffice-still-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 {} + } package_libreoffice-fresh() { pkgdesc="LibreOffice branch which contains new features and program enhancements" depends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.5' 'libwpd>=0.9.2' 'libwps' 'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'redland' 'icu' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr' 'libmspub' 'harfbuzz-icu' 'glew' 'nss' 'clucene' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils' 'glu' 'libpagemaker' 'gst-plugins-base-libs' 'libxinerama' 'libabw' 'libmwaw' 'libe-book' 'libcups') 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' 'beanshell2: interactive java -- good for prototyping/macros' 'vigra: C++ computer vision library, usable in Basebmp' 'libmspack: library for Microsoft compression formats for use in FontOOo' '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' 'gtk2: for GTK2 integration' #'gtk3: for GTK3 integration' 'kdelibs: for KDE desktop integration') backup=(etc/libreoffice/sofficerc etc/libreoffice/bootstraprc etc/libreoffice/psprint.conf etc/profile.d/libreoffice-fresh.sh etc/profile.d/libreoffice-fresh.csh) install=$pkgbase.install provides=('libreoffice' 'libreoffice-en-US') conflicts=('libreoffice-still') 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 -m755 ${srcdir}/libreoffice-fresh.{sh,csh} ${pkgdir}/etc/profile.d/ # move bash-completion files to its new place install -dm755 ${pkgdir}/usr/share/bash-completion/completions mv ${pkgdir}/etc/bash_completion.d/libreoffice.sh \ ${pkgdir}/usr/share/bash-completion/completions/libreoffice.sh # fails rm -rf ${pkgdir}/etc/bash_completion.d # make pyuno find its modules install -dm755 ${pkgdir}/usr/lib/python3.5/site-packages ln -svf /usr/lib/libreoffice/program/uno.py \ ${pkgdir}/usr/lib/python3.5/site-packages/uno.py ln -svf /usr/lib/libreoffice/program/unohelper.py \ ${pkgdir}/usr/lib/python3.5/site-packages/unohelper.py # 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 # fix insecure rpath chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libCbc.so.3 chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libOsi.so.1 chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libCoinMP.so.1 chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libCbcSolver.so.3 chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libOsiClp.so.1 chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libCgl.so.1 chrpath -d ${pkgdir}/usr/lib/libreoffice/program/libClp.so.1 }