# Template file for 'libreoffice' pkgname=libreoffice version=5.1.0.3 revision=3 build_style=gnu-configure configure_args="--disable-werror" nopie=yes nocross=yes # # XXX: mit-krb5-devel nasm openjdk vlc hamcrest # iwyu ogl-math libgltf telepathy-glib-devel # 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 boost-devel cups-devel libcurl-devel dbus-glib-devel libjpeg-turbo-devel libpng-devel glu-devel graphite-devel gst-plugins-base1-devel gtk+-devel gtk+3-devel harfbuzz-devel icu-devel libatomic_ops-devel lcms2-devel librsvg-devel libxml2-devel libxslt-devel MesaLib-devel neon-devel nss-devel python3.4-devel libressl-devel libgcrypt-devel libgpg-error-devel poppler-devel postgresql-libs-devel redland-devel lpsolve-devel unixodbc-devel libXt-devel avahi-libs-devel hunspell-devel hyphen-devel libabw-devel libcdr-devel CoinMP-devel libcmis-devel libcppunit-devel libe-book-devel libfbclient-devel libfreehand-devel libexttextcat-devel liblangtag-devel libldap-devel libmspub-devel libmwaw-devel glew-devel glyphy-devel libodfgen-devel liborcus10-devel libpagemaker-devel librevenge-devel libvisio-devel libetonyek-devel libwpd-devel libwpg-devel libwps-devel mdds0 mythes-devel opencollada-devel vigra-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/" _baseurl="http://download.documentfoundation.org/${pkgname}/src/${version%.*}" distfiles=" ${_baseurl}/${pkgname}-${version}.tar.xz ${_baseurl}/${pkgname}-dictionaries-${version}.tar.xz ${_baseurl}/${pkgname}-help-${version}.tar.xz ${_baseurl}/${pkgname}-translations-${version}.tar.xz" checksum=" b41b03f008dab3439bde31c1918f0477c035eab629166a79eeebb0bb6e8757b3 718822a5ad5400e1026b18453bc38a118851df43e26255c3769078b444ab7a82 c2e9dff6a930637ca9b203dc31b7f87b17a03419891201a386e81bfbbdc1b447 fd0eeee993b8532288b77a43bfda9db6cdf781df3cb43f753ed01b620e760ee3" skip_extraction=" ${pkgname}-dictionaries-${version}.tar.xz ${pkgname}-help-${version}.tar.xz ${pkgname}-translations-${version}.tar.xz" conflicts="libreoffice-bin>=0" # Install location: either /usr or e.g. /opt/libreofficeX.Y.Z _LO_PREFIX=/opt/${pkgname}${version%.*.*} if [ -z "$CROSS_BUILD" ]; then # mariadbclient can't currently be cross compiled makedepends+=" libmariadbclient-devel" configure_args+=" --with-system-mariadb" fi case "$XBPS_TARGET_MACHINE" in *-musl) # use shipped clucene, because CLucene/analysis/cjk/CJKAnalyzer.h # is missing in the musl clucene-devel files ;; *) configure_args+=" --with-system-clucene" makedepends+=" clucene-devel" ;; esac post_fetch() { local srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version} mkdir -p ${wrksrc}/external/tarballs ln -sf ${srcdistdir}/${pkgname}-dictionaries-${version}.tar.xz ${wrksrc}/external/tarballs/ ln -sf ${srcdistdir}/${pkgname}-help-${version}.tar.xz ${wrksrc}/external/tarballs/ ln -sf ${srcdistdir}/${pkgname}-translations-${version}.tar.xz ${wrksrc}/external/tarballs/ } 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 } 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+=" --prefix=${_LO_PREFIX}" configure_args+=" --exec-prefix=${_LO_PREFIX}" configure_args+=" --with-vendor='VoidLinux'" configure_args+=" --with-help" configure_args+=" --with-alloc=system" configure_args+=" --without-java" configure_args+=" --without-system-dicts" configure_args+=" --disable-odk" configure_args+=" --enable-python=system" configure_args+=" --enable-gtk3" configure_args+=" --disable-dependency-tracking" configure_args+=" --enable-release-build=yes" configure_args+=" --disable-dconf" configure_args+=" --with-tls=nss" configure_args+=" --with-system-cairo" configure_args+=" --with-myspell-dicts" configure_args+=" --with-system-zlib" configure_args+=" --with-system-jpeg" configure_args+=" --with-system-expat" configure_args+=" --with-system-icu" configure_args+=" --with-system-icu-for-build=yes" configure_args+=" --with-system-ucpp" configure_args+=" --with-system-opencollada" configure_args+=" --with-system-poppler" configure_args+=" --with-system-curl" configure_args+=" --with-system-boost" configure_args+=" --with-system-mdds" configure_args+=" --with-system-glew" configure_args+=" --with-system-glyphy" configure_args+=" --with-system-nss" configure_args+=" --with-system-graphite" configure_args+=" --with-system-orcus" configure_args+=" --with-system-harfbuzz" configure_args+=" --with-system-apr" configure_args+=" --with-system-neon" configure_args+=" --with-system-openssl" configure_args+=" --with-system-redland" configure_args+=" --with-system-libexttextcat" configure_args+=" --with-system-libpng" configure_args+=" --with-system-lpsolve" configure_args+=" --with-system-coinmp" configure_args+=" --with-system-liblangtag" configure_args+=" --with-system-lcms2" configure_args+=" --with-system-cppunit" configure_args+=" --with-system-hunspell" configure_args+=" --with-system-libabw" configure_args+=" --with-system-libatomic_ops" configure_args+=" --with-system-libcdr" configure_args+=" --with-system-libcmis" configure_args+=" --with-system-libebook" configure_args+=" --with-system-libetonyek" configure_args+=" --with-system-libfreehand" configure_args+=" --with-system-libmspub" configure_args+=" --with-system-libmwaw" configure_args+=" --with-system-libodfgen" configure_args+=" --with-system-libpagemaker" configure_args+=" --with-system-librevenge" configure_args+=" --with-system-libvisio" configure_args+=" --with-system-libwpd" configure_args+=" --with-system-libwpg" configure_args+=" --with-system-libwps" configure_args+=" --with-system-libxml" configure_args+=" --with-system-mythes" configure_args+=" --with-system-altlinuxhyph" configure_args+=" --with-system-odbc" configure_args+=" --with-system-openldap" configure_args+=" --with-system-openssl" configure_args+=" --with-system-postgresql" configure_args+=" --with-system-firebird" configure_args+=" --with-system-vigra" configure_args+=" --with-external-hyph-dir=${XBPS_CROSS_BASE}/usr/share/hyphen" configure_args+=" --with-parallelism=${XBPS_MAKEJOBS}" # In theory we could use --with-lang=ALL but then # building the package then takes ages. OPENCOLLADA_CFLAGS="-I${incdir}/opencollada/COLLADABaseUtils -I${incdir}/opencollada/COLLADAFramework -I${incdir}/opencollada/COLLADASaxFrameworkLoader -I${incdir}/opencollada/COLLADAStreamWriter -I${incdir}/opencollada/GeneratedSaxParser" \ OPENCOLLADA_LIBS="-L${XBPS_CROSS_BASE}/usr/lib -lGeneratedSaxParser -lMathMLSolver -lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lOpenCOLLADAStreamWriter -lUTF -lbuffer -lftoa" \ ./configure ${configure_args} --with-lang='en-US de es fr it pl pt' } do_build() { make build } do_install() { local f local INSTDIR=${DESTDIR}${_LO_PREFIX} make DESTDIR="${DESTDIR}" PREFIXDIR="${_LO_PREFIX}" distro-pack-install if [ "${_LO_PREFIX}" != "/usr" ]; then # HACK: for unknow reasons the i686 build ignores --prefix and installs in /usr if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then # Copy from wrong install path mkdir -p ${INSTDIR}/bin if [ -d ${DESTDIR}/usr/bin ]; then cp -pR ${DESTDIR}/usr/bin/* ${INSTDIR}/bin/ rm -rf ${DESTDIR}/usr/bin fi mkdir -p ${INSTDIR}/lib if [ -d ${DESTDIR}/usr/lib ]; then cp -pR ${DESTDIR}/usr/lib/* ${INSTDIR}/lib/ rm -rf ${DESTDIR}/usr/lib fi if [ -d ${DESTDIR}/usr/lib32 ]; then cp -pR ${DESTDIR}/usr/lib32/* ${INSTDIR}/lib/ rm -rf ${DESTDIR}/usr/lib32 fi mkdir -p ${INSTDIR}/share if [ -d ${DESTDIR}/usr/lib32 ]; then cp -pR ${DESTDIR}/usr/share/* ${INSTDIR}/share/ rm -rf ${DESTDIR}/usr/share fi fi # This symlink is necessary for the desktop menu entries vmkdir usr/bin ln -sf ${_LO_PREFIX}/lib/libreoffice/program/soffice \ ${DESTDIR}/usr/bin/libreoffice if [ -d ${INSTDIR}/share/icons/hicolor/32x32/apps ]; then # Icons vmkdir usr/share/pixmaps for f in $(find ${INSTDIR}/share/icons/hicolor/32x32/apps -type f); do f=${f#${DESTDIR}} ln -sf $f ${DESTDIR}/usr/share/pixmaps/ done fi if [ -d ${INSTDIR}/lib/libreoffice/share/xdg ]; then # Desktop menu entries vmkdir usr/share/applications for f in $(find ${INSTDIR}/lib/libreoffice/share/xdg -type f); do f=${f#${DESTDIR}} ln -sf $f ${DESTDIR}/usr/share/applications/libreoffice-$(basename $f) done fi if [ -d ${INSTDIR}/share/man/man1 ]; then # Manual pages vmkdir usr/share/man/man1 for f in $(find ${INSTDIR}/share/man/man1 -type f); do f=${f#${DESTDIR}} ln -sf $f ${DESTDIR}/usr/share/man/man1/ done fi fi mkdir -p ${INSTDIR}/share/appdata cp -p sysui/desktop/appstream-appdata/*.xml ${INSTDIR}/share/appdata/ # Move bash completion to the right place vmkdir usr/share/bash-completion/completions mv ${DESTDIR}/etc/bash_completion.d/libreoffice.sh \ ${DESTDIR}/usr/share/bash-completion/completions/libreoffice # Remove unwanted libreoffice packaging files from the root directory rm -f ${DESTDIR}/gid_Module* }