desktop/libreoffice/PKGBUILD
2018-09-28 10:20:01 +02:00

717 lines
33 KiB
Bash

# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Chakra Linux use ONLY. For your own distribution, please
# get your own set of keys.
_google_default_client_id=3502044743.apps.googleusercontent.com
_google_default_client_secret=TPvjII_2SwZn_9Ic0kRKqjtG
pkgbase="libreoffice"
pkgname=('libreoffice-common'
'libreoffice-base'
'libreoffice-calc'
'libreoffice-draw'
'libreoffice-impress'
'libreoffice-gtk3'
'libreoffice-kde5'
'libreoffice-math'
'libreoffice-sdk'
'libreoffice-sdk-doc'
'libreoffice-writer'
'libreoffice-en-US'
'libreoffice-postgresql-connector'
'libreoffice-extension-wiki-publisher'
'libreoffice-extension-nlpsolver')
_LOver=6.1.2.1
pkgver=6.1.2
pkgrel=1
arch=('x86_64')
license=('LGPL3')
url="http://www.libreoffice.org/"
screenshot="http://wstaw.org/m/2012/04/20/libre2.png"
makedepends=( # makedepends
'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'gtk3' 'gtk2' 'gobject-introspection'
'apache-ant' 'gperf' 'cppunit>=1.14.0' 'glu' 'libodfgen'
'beanshell' 'kcoreaddons' 'ki18n' 'kwindowsystem' 'kconfig' 'kio'
'libldap' 'libmythes' 'junit' 'libwpg' 'imagemagick' 'mdds' 'poppler>=0.12.0'
'mesa' 'gst-plugins-base' 'java-runtime' 'postgresql-libs' 'clucene' 'doxygen' 'libvisio' 'bluez-libs' 'junit' 'hsqldb-java' 'libzmf'
# libreoffice main pkg
"curl>=7.20.0" "hunspell>=1.2.8" 'python3' 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6"
'pango' 'nss' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' "icu>=4.6" 'libxslt'
'redland' 'graphite' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'librsvg' 'lcms2'
'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'translate-toolkit' 'xdg-utils' 'ttf-dejavu' 'libcups' 'libmwaw' 'ttf-liberation'
'glew' 'libetonyek' 'harfbuzz-icu' 'gdb' 'libzmf' 'serf' 'libtommath' 'gpgme' 'boost'
)
_mirror="https://download.documentfoundation.org/libreoffice/src/$pkgver"
#_mirror="http://dev-builds.libreoffice.org/pre-releases/src"
_additional_source_url="https://dev-www.libreoffice.org/src"
_additional_source_url2="https://dev-www.libreoffice.org/extern"
_gentoo_patch_url="https://dev.gentoo.org/~asturm/distfiles"
source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc}
# Environment variables
${_additional_source_url}/xmlsec1-1.2.25.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}/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}/d8bd5eed178db6e2b18eeed243f85aa8-flute-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}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
${_additional_source_url}/libexttextcat-3.4.5.tar.xz
${_additional_source_url}/libcmis-0.5.1.tar.gz
${_additional_source_url}/liborcus-0.13.4.tar.gz
${_additional_source_url}/liblangtag-0.6.2.tar.bz2
${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
${_additional_source_url}/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
${_additional_source_url}/commons-logging-1.2-src.tar.gz
${_additional_source_url}/libcdr-0.1.4.tar.xz
${_additional_source_url}/libmspub-0.1.4.tar.xz
${_additional_source_url}/libatomic_ops-7_2d.zip
${_additional_source_url}/libfreehand-0.1.2.tar.xz
${_additional_source_url}/Firebird-3.0.0.32483-0.tar.bz2
${_additional_source_url}/libe-book-0.1.3.tar.xz
${_additional_source_url}/libabw-0.1.2.tar.xz
${_additional_source_url}/libpagemaker-0.0.4.tar.xz
${_additional_source_url}/language-subtag-registry-2018-04-23.tar.bz2
${_additional_source_url}/CoinMP-1.7.6.tgz
${_additional_source_url}/libstaroffice-0.0.6.tar.xz
${_additional_source_url}/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2
${_additional_source_url}/OpenCOLLADA-master-6509aa13af.tar.bz2
${_additional_source_url}/libgltf/libgltf-0.1.0.tar.gz
${_additional_source_url}/pdfium-3426.tar.bz2
${_additional_source_url}/libepubgen-0.1.1.tar.xz
${_additional_source_url}/libnumbertext-1.0.4.tar.xz
${_additional_source_url}/libqxp-0.0.1.tar.xz
${_additional_source_url}/lxml-4.1.1.tgz
make-pyuno-work-with-system-wide-module-install.diff)
validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) <build@documentfoundation.org>
sha1sums=('58d22a84a5ac4ee1e103331e3e3cc51ba51d85a0'
'SKIP'
'b1c9b84652a35c03e649781b18f9d406973fc5f8'
'SKIP'
'4513171f28890bc32c4a6e1e28dcafcd68507bd6'
'SKIP'
'0ef1117b8d11da475fd8d842a1341c675e627ab9'
'1acea86fd399ed7817879d36370d3d1f8b109050'
'8a90669029e107b61953b90ba11545fef586c2ca'
'2d49e11b0b711970f494294dc3698f05eb294853'
'c78ddd06845e267ba5bec20a38430f66eec3e0e4'
'5c604f102e0716597b3d2659ac3e77f80a02f22d'
'885cc4b6c9472d95e2515e777f6018a90657e974'
'43a7ff11dd15370d456b20a093e1ee81279163a0'
'b92930010622906778f713fb8f0153fa0683d018'
'3232dd31859be4f7eb443c33e8e3287f394789a0'
'47b58e0ef2d856df26372a7061ae43fae6e08051'
'5ecb895ffc1eff2c381fa78d2197d0c57422b3df'
'a637c0c3ad3be32d6814972e1c45e547c5f6359d'
'3478ebc27bb76025f4b5c2ae6a9bac6090e2cb09'
'e393beea80d36ff27b732882c706826988a64f5c'
'b19ad429273abb116432eae3af955ecaf1ab5b17'
'65dfba9970bb862d09c1f9e636b86b22f05d3936'
'1acd76cd63f7b19f6a0252eb029c3cb13a25aa9b'
'dd6b4163c752a44384f309f8dabb830161f5f85f'
'94c00715ae8a31bc8e5a6a699e36c22d0020649e'
'9598262549571491ebfdf9d2c20bfe5fd37d8d25'
'8f2c0d7f0c2ae9510a58f570aa4bc894c31e22c1'
'452eba922e4f41603539c9dc39947d2271e47093'
'7168b0f40aa5c72267899601c116d2348d2f56ec'
'f4772556920231cf164348e51285b0c18dfc7f5b'
'68fc1959b1387448fc6d71134ee3e45f4dbc996a'
'0619ed3a89644bef318df67db12045b2b590585b'
'73ad0ffc515f44a5ae1f1501ebb858153b523937'
'0a134d01e9aeb09b33f4c7450fb41abb7bed9db6'
'59148610e572d1a79c4f3494a01d020944f0e1c1'
'dcfe4dba518b44cc500385e878b66f53c5734df6'
'58a4a5d602bc5f2bfebe4c7b054d565ae11b758c'
'f945b23b7801a3601998973028a054ee379967cb'
'e4a5d0ae688a754a9159be581c28b63a98777115'
'18fde9588c236d51eea9437ed882d8b751daf01f'
'6d6327d7c7a26c173993604e68915e226fb5185c'
'4e8e9a6711c6dcbb937a295135f955dee6efc52f'
'9414d32c4898e2c424dce590bab6e925df151a17'
'f52c74abcbf55c72cd89f709db658ea33ed45154'
'd4f0ab61702fe24f3d89ec625616583e77a33697'
'1169780b4a0c515b23b96c913fd9bc52ceb7fb39'
'c4f5760a1d21213dc52e2cf3ad9c0b9112585f36'
'719ab0d7b711650c787fe9bfb51109321d21e07b'
'1f3070598936acf30f6bdce51a1cce7874e482fc'
'48e81c60e173552fce77ce3b414e68b7d52a5301'
'1fb3b31e1e0dd79cd602e0d24c34f8c30ebe127f'
'a5963474afcc8e7b0eb352754325c21e1a1f5e18'
'154279bc5939d7099697887ea15c5ca921abeaeb'
'fed07f208b58c42bb85b0721fb2fae193da6f780')
noextract=(xmlsec1-1.2.25.tar.gz
35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
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
d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
libexttextcat-3.4.5.tar.xz
libcmis-0.5.1.tar.gz
liborcus-0.13.4.tar.gz
liblangtag-0.6.2.tar.bz2
0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-461.jar
185d60944ea767075d27247c3162b3bc-unowinreg.dll
bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
commons-logging-1.2-src.tar.gz
libcdr-0.1.4.tar.xz
libmspub-0.1.4.tar.xz
libatomic_ops-7_2d.zip
libfreehand-0.1.2.tar.xz
Firebird-3.0.0.32483-0.tar.bz2
libe-book-0.1.3.tar.xz
libabw-0.1.2.tar.xz
libpagemaker-0.0.4.tar.xz
CoinMP-1.7.6.tgz
language-subtag-registry-2018-04-23.tar.bz2
4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2
OpenCOLLADA-master-6509aa13af.tar.bz2
libgltf-0.1.0.tar.gz
libstaroffice-0.0.6.tar.xz
libnumbertext-1.0.4.tar.xz
lxml-4.1.1.tgz
pdfium-3426.tar.bz2
libepubgen-0.1.1.tar.xz
libqxp-0.0.1.tar.xz)
prepare() {
cd libreoffice-$_LOver
# fix exttextcat build error
# /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
unset CPPFLAGS
# move external sources into place
mkdir -p ${srcdir}/ext_sources && pushd ${srcdir}/ext_sources
for source in "${noextract[@]}"; do
ln -sf ${srcdir}/$source .
done
popd
# don't run broken tests
sed -i "/CppunitTest_sd_export_ooxml2/d" sd/Module_sd.mk
sed -i "/CppunitTest_sw_ww8export2/d" sw/Module_sw.mk
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
#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
export PYHTON=/usr/bin/python3
./autogen.sh --with-build-version="${pkgver} Chakra GNU/Linux-${pkgrel}" --with-vendor="Chakra GNU/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="" \
--enable-avahi \
--enable-dbus \
--disable-evolution2 \
--with-system-graphite\
--enable-gio\
--disable-epm \
--disable-gtk \
--enable-gtk3 \
--disable-dconf \
--disable-mergelibs \
--enable-introspection \
--enable-qt5 \
--enable-gtk3-kde5 \
--disable-gstreamer-0-10 \
--enable-openssl \
--enable-odk \
--enable-python=system \
--enable-scripting-beanshell \
--enable-scripting-javascript \
--enable-ext-wiki-publisher \
--enable-ext-nlpsolver \
--without-fonts \
--without-system-glm \
--without-system-libcdr \
--without-system-jfreereport \
--without-system-apache-commons \
--with-system-mdds \
--without-myspell-dicts \
--with-system-libvisio \
--without-system-libcmis \
--without-system-libmspub \
--without-system-libexttextcat \
--without-system-orcus \
--without-system-liblangtag \
--with-system-libetonyek \
--without-system-libfreehand \
--without-system-firebird \
--without-system-libatomic-ops \
--without-system-libebook \
--without-system-libabw \
--without-system-libnumbertext \
--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-libwpg \
--with-system-libwps \
--with-system-libodfgen \
--with-system-redland \
--with-ant-home="/usr/share/java/apache-ant"\
--with-system-boost \
--with-system-icu \
--with-system-cairo \
--with-system-libs \
--with-system-mythes \
--with-system-headers \
--with-system-libzmf \
--without-system-libstaroffice \
--without-system-hsqldb \
--without-system-libpagemaker \
--without-system-coinmp \
--with-alloc=system \
--with-system-clucene \
--without-system-xmlsec \
--without-system-libepubgen \
--without-system-libqxp \
--with-gdrive-client-id=${_google_default_client_id} \
--with-gdrive-client-secret=${_google_default_client_secret} \
--disable-dependency-tracking
touch src.downloaded
#./download
make build-nocheck
# fake installation to create split file lists
mkdir $srcdir/fakeinstall
make DESTDIR=${srcdir}/fakeinstall distro-pack-install
}
package_libreoffice-common() {
pkgdesc="common files for LibreOffice - a productivity suite that is compatible with other major office suites"
install=${pkgbase}.install
depends=("hunspell" "python3" "neon" 'poppler'
'nspr' "icu" 'libsm' 'redland' 'hyphen' 'graphite' 'lcms2'
'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils' 'clucene' 'libodfgen' 'libmwaw' 'lpsolve' 'libmythes'
'libvisio' 'glew' 'harfbuzz-icu')
optdepends=('libreoffice-langpack: additional language support'
'java-runtime: adds java support'
'libcups: adds printing support'
'nss: adds support for signed files/macros'
'pstoedit: translates PostScript and PDF graphics into other vector formats'
'libmythes: for use in thesaurus'
'beanshell: 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 Corel WordPerfect(tm) Graphics images'
'sane: for scanner access'
'unixodbc: adds ODBC database support'
'gst-plugins-base: + some gstr-plugins to support multimedia content, e.g. in impress'
'libetonyek: Apple Keynote document importer'
'libreoffice-desktop-integration: for KDE4/Plasma/GTK3 integration')
backup=(etc/libreoffice/sofficerc
etc/libreoffice/bootstraprc
etc/libreoffice/psprint.conf
etc/profile.d/libreoffice.sh)
groups=('libreoffice')
provides=('libreoffice-extension-pdfimport'
'libreoffice-extension-presenter-screen'
'libreoffice-scripting-beanshell'
'libreoffice-scripting-javascript'
'libreoffice-extensions-report-builder'
'libreoffice-extension-scripting-python'
'libreoffice-extension-presentation-minimizer')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/common_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/common_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
# 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 .
# remove conflicting files
rm -f ${pkgdir}/usr/lib/libreoffice/program/classes/ScriptProviderForJavaScript.jar
rm -f ${pkgdir}/usr/lib/libreoffice/program/classes/js.jar
rm -f ${pkgdir}/usr/lib/libreoffice/program/services/scriptproviderforjavascript.rdb
# workaround all packages now depend on that file
cp ${srcdir}/fakeinstall/usr/lib/libreoffice/share/registry/writer.xcd ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd
# add missing files from Beanshell provider
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file || /bin/true # some double file entries make it fail
done
# move dicts to en-US langpack to avoid file conflicts with en-GBen-ZA packages
rm ${pkgdir}/usr/lib/libreoffice/share/wordbook/en-GB.dic
mv ${pkgdir}/usr/lib/libreoffice/share/wordbook/en-US.dic ${srcdir}/
}
package_libreoffice-base() {
pkgdesc="GUI Spreadsheet Applicationdatabase front-end for LibreOffice. Allows creation and management of databases through a GUI."
depends=('libreoffice-common')
optdepends=('libreoffice-postgresql-connector'
'libreoffice-desktop-integration: for KDE4/Plasma/GTK3 integration')
backup=()
groups=('libreoffice')
replaces=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/base_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/base_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-postgresql-connector() {
pkgdesc="A PostgreSQL connector for the database front-end for LibreOffice"
depends=('libreoffice-base' 'postgresql-libs')
groups=('libreoffice')
replaces=('libreoffice')
# workaround double entries in the file list
mv ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt.orig
sort ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt.orig | uniq 1>& ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/postgresql_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-calc() {
pkgdesc="Spreadsheet application for LibreOffice."
depends=('libreoffice-common' 'lpsolve' 'libwps' )
optdepends=('libreoffice-desktop-integration: for KDE4/Plasma/GTK3 integration')
backup=()
groups=('libreoffice')
replaces=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/calc_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/calc_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-draw() {
pkgdesc="Drawing Application for LibreOffice."
depends=('libreoffice-common')
optdepends=('libreoffice-desktop-integration: better desktop environment integration')
backup=()
groups=('libreoffice')
replaces=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/draw_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/draw_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-impress() {
pkgdesc="Presentation Application for LibreOffice."
depends=('libreoffice-common')
optdepends=('mesa: for the OGLTrans extension'
'libreoffice-desktop-integration: better desktop environment integration')
backup=()
groups=('libreoffice')
replaces=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/impress_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/impress_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-kde5() {
pkgdesc="Plug-in for LibreOffice that enables integration into Plasma desktop environment."
depends=('kcoreaddons' 'kio' 'kwindowsystem' 'kconfig' 'ki18n' 'gtk3')
provides=(libreoffice-desktop-integration)
replaces=('libreoffice-qt5' "libreoffice-kde4<=$pkgver")
groups=('libreoffice')
# Merge kde and kde4 filelists as we do not bother with compat anymore
# Not worth fixing unless really cleaning up the install completely
# cat ${srcdir}/libreoffice-$_LOver/file-lists/kde_list.txt >> ${srcdir}/libreoffice-$_LOver/file-lists/kde4_list.txt
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/kde4_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/kde4_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-gtk3() {
pkgdesc="Plug-in for LibreOffice that enables GTK3 engine."
depends=('gtk3')
provides=(libreoffice-desktop-integration)
groups=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/gnome_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/gnome_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
rm -rfv $pkgdir/usr/lib/libreoffice/share/registry
}
package_libreoffice-math() {
pkgdesc="Equation Editor Application for LibreOffice."
depends=('libreoffice-common')
optdepends=('libreoffice-desktop-integration: better desktop environment integration')
backup=()
groups=('libreoffice')
replaces=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/math_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/math_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-sdk() {
pkgdesc="Software Development Kit for LibreOffice."
depends=('libreoffice-common' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment')
backup=()
groups=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/sdk_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/sdk_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
}
package_libreoffice-sdk-doc() {
pkgdesc="Software Development Kit documentation for LibreOffice"
depends=('libreoffice-common' 'libreoffice-sdk')
optdepends=()
backup=()
groups=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/sdk_doc_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/sdk_doc_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
#fix permissions
find ${pkgdir}/usr/lib/libreoffice/sdk/examples -type f -exec chmod -x {} \;
}
package_libreoffice-writer() {
pkgdesc="Word Processor Applicationfor LibreOffice."
depends=('libreoffice-common' 'libwpd' 'libwps' 'libxml2')
optdepends=('libwpg: library for importing and converting Corel WordPerfect(tm) Graphics images'
'libreoffice-desktop-integration: better desktop environment integration')
backup=()
groups=('libreoffice')
replaces=('libreoffice')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/writer_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/writer_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
# workaround this file belongs now to common
rm -vf ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd
}
package_libreoffice-en-US() {
pkgdesc="English (US) language pack for LibreOffice"
#arch=('x86_64')
provides=('libreoffice-langpack')
# create directories from *list.txt file
for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/lang_en_US_list.txt`; do
install -dm755 ${pkgdir}/${directory/\%dir/}
done
# install files into the pkg from fakeinstall dir
for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/lang_en_US_list.txt`; do
dirname=`dirname $file`
# check if directory has been already been created - some are missing like manpages
[ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
# mv file from fakeinstall to pkgdir
mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
done
# en-US.dic
install -Dm644 ${srcdir}/en-US.dic ${pkgdir}/usr/lib/libreoffice/share/wordbook/en-US.dic
}
package_libreoffice-extension-wiki-publisher() {
pkgdesc="This extension enables you to create Wiki articles on MediaWiki servers without having to know the syntax of the MediaWiki markup language"
#arch=('any')
depends=('libreoffice-common' 'java-environment')
groups=('libreoffice-extensions')
install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
unzip -q ${srcdir}/libreoffice-$_LOver/workdir/Extension/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher
}
package_libreoffice-extension-nlpsolver() {
pkgdesc="This extension integrates into Calc and offers new Solver engines to use for optimizing nonlinear programming models"
#arch=('any')
depends=('libreoffice-common' 'java-environment')
groups=('libreoffice-extensions')
install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
unzip -q ${srcdir}/libreoffice-$_LOver/workdir/Extension/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver
}