# Contributor: Timo Teräs # Maintainer: pkgname=libreoffice pkgver=5.2.3.3 pkgrel=0 pkgdesc="LibreOffice - Meta package for the full office suite" url="http://www.libreoffice.org/" arch="all" license="MPL2" depends_dev="cups-dev libjpeg-turbo-dev boost-dev clucene-dev libe-book-dev icu-dev icu libetonyek-dev libwpd-dev libwpg-dev libmspub-dev libmwaw-dev libpagemaker-dev libvisio-dev libcmis-dev lcms2-dev cppunit-dev freetype-dev libabw-dev libwps-dev libxslt-dev postgresql-dev mdds-dev glm-dev glu-dev glew-dev vigra-dev unixodbc-dev openldap-dev libressl-dev nss-dev npapi-sdk hunspell-dev libxrender-dev libxrandr-dev neon-dev apr-dev redland-dev libexttextcat-dev gconf-dev bluez-dev gstreamer1-dev gst-plugins-base1-dev gtk+2.0-dev poppler-dev cairo-dev hyphen-dev mythes-dev python3-dev harfbuzz-dev libfreehand-dev libodfgen-dev libcdr-dev" makedepends="$depends_dev autoconf automake tar coreutils findutils ucpp gperf bison flex zip perl perl-archive-zip sed libxml2-utils doxygen" # GNU sed is needed for in i18npool/CustomTarget_localedata.mk install="" subpackages="$pkgname-base $pkgname-calc $pkgname-common $pkgname-draw $pkgname-gnome $pkgname-impress $pkgname-math $pkgname-connector-postgres $pkgname-writer" depends="$subpackages" _addsrcurl="http://dev-www.libreoffice.org/src" case $pkgver in *.*.*.*) _v=${pkgver%.*};; *.*.*) _v=$pkgver;; esac # grep LIBXMLSEC_TARBALL download.lst source="http://download.documentfoundation.org/libreoffice/src/${_v}/libreoffice-$pkgver.tar.xz http://download.documentfoundation.org/libreoffice/src/${_v}/libreoffice-dictionaries-$pkgver.tar.xz http://download.documentfoundation.org/libreoffice/src/${_v}/libreoffice-translations-$pkgver.tar.xz $_addsrcurl/ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz linux-musl.patch fix-execinfo.patch fix-includes.patch " languages="" add_lang() { local pkglang="${3:-$1}" subpackages="$subpackages $pkgname-lang-${1}:_lang_${1}" languages="$languages ${pkglang/_/-}" eval "_lang_$1() { pkgdesc=\"LibreOffice - $2 language pack\"; depends=\"\"; _split lang_${pkglang}; }" } add_lang en_us "English (US)" en_US add_lang es "Spanish" add_lang fi "Finnish" add_lang pt "Portuguese" add_lang pt_br "Portuguese (Brazil)" pt_BR add_lang ru "Russian" add_lang sv "Swedish" # help abuild find shared objects in rpath ldpath="/usr/lib/libreoffice/program:/usr/lib/libreoffice/ure/lib/" _builddir="$srcdir"/libreoffice-$pkgver unpack() { if [ -z "$force" ]; then verify || return 1 initdcheck || return 1 fi mkdir -p "$srcdir" msg "Unpacking sources..." local u for u in $source; do local s="$SRCDEST/$(filename_from_uri $u)" case $s in */libreoffice-*.tar.xz) msg "Unpacking $s..." unxz -c "$s" | tar -C "$srcdir" -x || return 1;; esac done } prepare() { local i cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done # https://bugs.documentfoundation.org/show_bug.cgi?id=78174 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64812 # gcc 4.9.x -fvisibility-inlines-hidden is broken, force disable it for now sed -e 's/@HAVE_GCC_VISIBILITY_BROKEN@/TRUE/g' -i config_host.mk.in NOCONFIGURE=1 ./autogen.sh } build() { cd "$_builddir" # boost-1.59 export CPPFLAGS="$CPPFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --with-vendor="Alpine Linux" \ --disable-online-update \ --disable-fetch-external \ --disable-dependency-tracking \ --disable-crashdump \ --enable-release-build \ --enable-split-app-modules \ --enable-verbose \ --enable-python=system \ --with-alloc=system \ --with-tls=openssl \ --with-system-libs \ --with-system-dicts \ --with-system-ucpp \ --with-external-dict-dir=/usr/share/hunspell \ --with-external-hyph-dir=/usr/share/hyphen \ --with-external-tar="$srcdir" \ --with-lang="$languages" \ --without-java \ --without-fonts \ --without-system-sane \ --without-myspell-dicts \ --disable-firebird-sdbc \ --disable-orcus \ --disable-graphite \ --disable-coinmp \ --disable-lpsolve \ --disable-gltf \ --disable-liblangtag \ || return 1 # adding '-isystem /usr/include' make things break with gcc6 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823145 sed -i -e 's:-isystem /usr/include[^/]::g' config_host.mk || return 1 make build-nocheck || return 1 } package() { cd "$_builddir" make DESTDIR="$pkgdir"/../all distro-pack-install || return 1 } _split() { local i for i in $(grep -v ^%dir $_builddir/file-lists/${1}_list.txt | sort -u); do dirname="$(dirname $i)" [ -d "$subpkgdir/$dirname" ] || install -dm755 "$subpkgdir/$dirname" mv "$pkgdir"/../all/"$i" "$subpkgdir"/"$i" done } base() { pkgdesc="LibreOffice - Database frontend" depends="libreoffice-common" _split base } calc() { pkgdesc="LibreOffice - Spreadsheet" depends="libreoffice-common" _split calc } common() { pkgdesc="LibreOffice - Common files" depends="libreoffice-lang-en_us" _split common } draw() { pkgdesc="LibreOffice - Drawing application" depends="libreoffice-common" _split draw } gnome() { pkgdesc="LibreOffice - GNOME integration" depends="libreoffice-common" _split gnome } impress() { pkgdesc="LibreOffice - Presentation application" depends="libreoffice-common" _split impress } math() { pkgdesc="LibreOffice - Equation editor" depends="libreoffice-common" _split math } postgres() { pkgdesc="LibreOffice - Connector for PostgreSQL database" depends="libreoffice-base" _split postgresql } writer() { pkgdesc="LibreOffice - Word Processor" depends="libreoffice-common" _split writer } md5sums="6177d8be5ca358929277a19292cae36d libreoffice-5.2.3.3.tar.xz 113eaf27048a8d2443852b917b03988c libreoffice-dictionaries-5.2.3.3.tar.xz 2346cacee8b4e797ba23765b748cf3ae libreoffice-translations-5.2.3.3.tar.xz ce12af00283eb90d9281956524250d6e ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz bfde50b1b04c715cd172be03a204521f linux-musl.patch 1cff63a520d1b037edddf1b4de4799dc fix-execinfo.patch c6fc4d38ef1bab69f3570a0d087b4c52 fix-includes.patch" sha256sums="a8f1365d166bf24ac4b97ed8466f46cca29cf72e7e992bb84d24c3dc8e1c32c1 libreoffice-5.2.3.3.tar.xz c40ac3a1381c3c6e8281df1b7d9eb5f99db794a32012e45762b0847b520529a5 libreoffice-dictionaries-5.2.3.3.tar.xz 8401e51c4b91cd47f103ba09519f0b5b9213561b7d6296ff5bdc2d1622950a48 libreoffice-translations-5.2.3.3.tar.xz 3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305 ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz fd0778cfd18b034a415a8966f7a3d8437c3f2ba1c6cfde8220ba663261b9c67f linux-musl.patch 7171dfa651a7ee81b4e13a9fd9131428d9a65af138cac4cb428ae6c3e4bcb1f3 fix-execinfo.patch 51052d983eeea85d8d71385e4eeda61b6a8746854fe046b9a91e12c013d9ed89 fix-includes.patch" sha512sums="8628a820ad620ca946457adf0b0ed9741f13c67aa061761d04b743340d13ef498f23e75e6183206b34ce7154b1ec3096f8afcb69b2ab02e17c6ef00155e1b084 libreoffice-5.2.3.3.tar.xz f618f88f45a9c9c526029030922427f9bfa73e35d452fdd1821690ba361f8656106556d94427f328066905f0ac7dcd761f384eba7feaf61a00e4828d5b97de98 libreoffice-dictionaries-5.2.3.3.tar.xz 939246f7c96799a0b5a4f6496b68ba9b941b6ef6691418a887cabaffd7fc19408b5a2d8b12b850c6a02c838ffd29190e63a50f23cf168602bb51b1b10e0a427c libreoffice-translations-5.2.3.3.tar.xz 2f8d473916abf9822367edbe857fc2e12dc9858d12e790d689d787e439904bd6a452bf631043aa66e7502457ab0815a473657f58fca17a213e2490f5655e5ae5 ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz 6abfd9c6cf1917e9ee89695086013c94f5ec68f9732ad60faeeaabe6f3765f5ff19df575a3ef0098d6dd6ba3c76369cec871770396f5cd84829031c3e38485a8 linux-musl.patch 567123f990c4a47c2e4cebf99f3486150740015e647ca2b2521e606f3350fc55ceda6c7ac031302da34e8fc90747d66619334fcfda4e7b8998456fe3619ab860 fix-execinfo.patch c9e0b05640d7d0e6053b8dd4735664d761a7d381c5b5cbda059fb7b38ab28531c014b6d38f58a0e1f7171a43d62f04d8ecbb7b6b008d0ad30017228ec7e6601a fix-includes.patch"