# Contributor: Timo Teräs # Maintainer: pkgname=libreoffice pkgver=5.2.0.4 pkgrel=1 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 openssl-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="40ee24812d171238981599843ca9f5b6 libreoffice-5.2.0.4.tar.xz 6a30891f131323947db97de00b99e3a9 libreoffice-dictionaries-5.2.0.4.tar.xz 584877f514a723403c0344cc84a0bc59 libreoffice-translations-5.2.0.4.tar.xz ce12af00283eb90d9281956524250d6e ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz bfde50b1b04c715cd172be03a204521f linux-musl.patch 1cff63a520d1b037edddf1b4de4799dc fix-execinfo.patch c6fc4d38ef1bab69f3570a0d087b4c52 fix-includes.patch" sha256sums="47de41b85f6bb084bd657cd4f56510997ae04d0e6c6342877ec160a7c45c6bec libreoffice-5.2.0.4.tar.xz 2f08228c234382a8da732bef94043e2206c7bdef78f9b730fb1d3b05967e5b3f libreoffice-dictionaries-5.2.0.4.tar.xz a5d17109dbe8af2ab2d8a4dd2feda61e78826c73a48cb7e5b95387992ab66d28 libreoffice-translations-5.2.0.4.tar.xz 3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305 ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz fd0778cfd18b034a415a8966f7a3d8437c3f2ba1c6cfde8220ba663261b9c67f linux-musl.patch 7171dfa651a7ee81b4e13a9fd9131428d9a65af138cac4cb428ae6c3e4bcb1f3 fix-execinfo.patch 51052d983eeea85d8d71385e4eeda61b6a8746854fe046b9a91e12c013d9ed89 fix-includes.patch" sha512sums="43142bbde02b21538b5c49bb2baf973d8a2f7bdeb5fdc60630b1c1819c4f2f2acd8851b7a4e103cbb1d502e3c59b8fd9d9fc9b760c1b5991b931aac078cf5f6a libreoffice-5.2.0.4.tar.xz 70d7aad21affa73665afde50619a1b0b92c8f67a7ba57cabc5ae3664c9fae8b8daa072564722180a469c4635059bfcefefb439920122fe3595ecd3a0639acedb libreoffice-dictionaries-5.2.0.4.tar.xz 77c89603dda394a59e80776ac6e8d92bafb7961131dcefd2df262825cfc2052f0f152d46841cd925e7b417789c9096cc87d30e4ae60682f7f9c1c6b0f6a214f7 libreoffice-translations-5.2.0.4.tar.xz 2f8d473916abf9822367edbe857fc2e12dc9858d12e790d689d787e439904bd6a452bf631043aa66e7502457ab0815a473657f58fca17a213e2490f5655e5ae5 ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz 6abfd9c6cf1917e9ee89695086013c94f5ec68f9732ad60faeeaabe6f3765f5ff19df575a3ef0098d6dd6ba3c76369cec871770396f5cd84829031c3e38485a8 linux-musl.patch 567123f990c4a47c2e4cebf99f3486150740015e647ca2b2521e606f3350fc55ceda6c7ac031302da34e8fc90747d66619334fcfda4e7b8998456fe3619ab860 fix-execinfo.patch c9e0b05640d7d0e6053b8dd4735664d761a7d381c5b5cbda059fb7b38ab28531c014b6d38f58a0e1f7171a43d62f04d8ecbb7b6b008d0ad30017228ec7e6601a fix-includes.patch"