mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
361 lines
15 KiB
Bash
361 lines
15 KiB
Bash
# Maintainer: AndyRTR <andyrtr@archlinux.org>
|
|
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - disable firebird until libfbclient is updated
|
|
# - specify a US mirror
|
|
# - make build-nocheck
|
|
|
|
buildarch=12
|
|
highmem=1
|
|
|
|
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
|
|
# Note: These are for Arch Linux use ONLY. For your own distribution, please
|
|
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
|
|
# more information.
|
|
_google_default_client_id=413772536636.apps.googleusercontent.com
|
|
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
|
|
|
|
pkgbase=libreoffice-fresh
|
|
pkgname=('libreoffice-fresh-sdk' 'libreoffice-fresh')
|
|
_LOver=6.1.3.2
|
|
pkgver=6.1.3
|
|
pkgrel=2
|
|
arch=('x86_64')
|
|
license=('LGPL3')
|
|
url="http://www.libreoffice.org/"
|
|
makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps'
|
|
'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib'
|
|
'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu'
|
|
'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr'
|
|
'libmspub' 'harfbuzz-icu' 'nss' 'hicolor-icon-theme'
|
|
'desktop-file-utils' 'shared-mime-info' 'gtk2' 'gst-plugins-base-libs'
|
|
'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'ant' #'glu'
|
|
'gperf' 'gtk3' 'qt5-base' 'plasma-framework' 'cppunit' 'beanshell' 'clucene'
|
|
'junit' 'libmythes' 'libwpg' 'java-environment=8' 'postgresql-libs' 'libgl'
|
|
'bluez-libs' 'gdb' 'doxygen' 'libatomic_ops' 'mdds'
|
|
'apr' 'serf' 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama' 'libpagemaker' 'glm'
|
|
'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'liborcus'
|
|
'libexttextcat' 'libcmis' 'gobject-introspection' #'libfbclient'
|
|
'libtommath' 'libzmf' 'gpgme' 'xmlsec' 'rxvt-unicode'
|
|
'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' 'boost' 'libnumbertext'
|
|
)
|
|
|
|
_mirror="http://mirror.sjc02.svwh.net/tdf/libreoffice/src/${pkgver}"
|
|
#_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}"
|
|
#_mirror="https://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}/boost_1_66_0.tar.bz2
|
|
${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
|
${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip # keep old bundled version, new system version ftbs
|
|
${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
|
${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
|
|
${_additional_source_url}/language-subtag-registry-2018-04-23.tar.bz2
|
|
${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
|
${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
|
|
${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
|
${_additional_source_url}/Firebird-3.0.0.32483-0.tar.bz2
|
|
${_additional_source_url}/pdfium-3426.tar.bz2
|
|
${_additional_source_url}/lxml-4.1.1.tgz
|
|
${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite
|
|
${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar # for test suite
|
|
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
|
make-pyuno-work-with-system-wide-module-install.diff
|
|
poppler-0.70.patch
|
|
libreoffice-poppler-0.71.patch
|
|
0001-Update-mdds-to-1.4.1.patch
|
|
0001-Update-orcus-to-0.14.0.patch
|
|
libreoffice-fresh.sh libreoffice-fresh.csh)
|
|
noextract=(#boost_1_66_0.tar.bz2
|
|
35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
|
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
|
a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
|
0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
|
|
language-subtag-registry-2018-04-23.tar.bz2
|
|
17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
|
d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
|
|
ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
|
Firebird-3.0.0.32483-0.tar.bz2
|
|
pdfium-3426.tar.bz2
|
|
lxml-4.1.1.tgz
|
|
8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar # for test suite
|
|
odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar # for test suite
|
|
185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
|
)
|
|
validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) <build@documentfoundation.org>
|
|
sha256sums=('d46f38f6c48c6d2338fb97c6d0fae9b43802f9849b50817b3bcf9910f1708f44'
|
|
'SKIP'
|
|
'8a3fccb9cddb0ae38cba23704fc19734a0a4381eba25cb009e96094cc5fa4660'
|
|
'SKIP'
|
|
'8e3752ee250f85f3859cd03689b968d17505c470ee9229c371329cb9e71b3eb3'
|
|
'SKIP'
|
|
'64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
|
|
'1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
|
|
'75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
|
|
'983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
|
|
'14c21f4533ca74e3af9e09184d6756a750d0cd46099015ba8c595e48499aa878'
|
|
'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
|
|
'1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
|
|
'233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
|
|
'6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860'
|
|
'80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957'
|
|
'940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
|
|
'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
|
|
'702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769'
|
|
'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
|
|
'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
|
|
'4cac21ffdb711803c0d5372c6b0ba04f1310afa7907081fdd01c11e68c1785bf'
|
|
'ffe1698d3db3320a9213a459e7619f4962c9792a8b256ea0fe2b7e0af1df430a'
|
|
'8e8460302a7febc9a29b32b98fb77c85910ccadc65c73e0e9997dc5aabaaeb2a'
|
|
'60560283a5e22acad7f341b16dff4a654559b36db5d49b1e59f3bb9ae9b2336c'
|
|
'28c97effbe55e43a1370ab141c676cec9daba9e3dc408bec78136dfefc892a8b'
|
|
'7af3113c804e4d58c7de3b5ed10f515fc46e349a580ba56eebfc6e891acbef89')
|
|
|
|
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
|
|
|
|
# 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
|
|
|
|
# fix build with poppler 0.70
|
|
patch -Np1 -i ../poppler-0.70.patch
|
|
# fix build with poppler 0.71
|
|
patch -p1 -i ../libreoffice-poppler-0.71.patch
|
|
|
|
# fix build with new mdds 1.4.x, liborcus 0.14.x
|
|
# sed -i "s:mdds-1.2 >= 1.2.3:mdds-1.4 >= 1.4.2:" configure.ac
|
|
patch -Np1 -i ../0001-Update-mdds-to-1.4.1.patch
|
|
# sed -i "s:liborcus-0.13 >= 0.13.3:liborcus-0.14 >= 0.14.1:" configure.ac
|
|
patch -Np1 -i ../0001-Update-orcus-to-0.14.0.patch
|
|
|
|
#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
|
|
|
|
# strip -s from Makeflags in case you use it to shorten build logs
|
|
_MAKEFLAGS=${MAKEFLAGS/-s/}
|
|
|
|
# http://site.icu-project.org/download/61#TOC-Migration-Issues
|
|
CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
|
|
|
|
./autogen.sh --with-build-version="${pkgver}-${pkgrel}" \
|
|
--with-vendor="Arch 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="" \
|
|
--with-help=html \
|
|
--disable-avahi \
|
|
--enable-dbus \
|
|
--enable-evolution2\
|
|
--enable-gio\
|
|
--enable-gtk3-kde5 \
|
|
--enable-gtk3 \
|
|
--enable-introspection \
|
|
--disable-gstreamer-0-10 \
|
|
--enable-openssl \
|
|
--enable-odk\
|
|
--enable-python=system \
|
|
--enable-scripting-beanshell \
|
|
--enable-scripting-javascript \
|
|
--disable-dconf \
|
|
--disable-report-builder \
|
|
--enable-ext-wiki-publisher \
|
|
--enable-ext-nlpsolver \
|
|
--without-fonts\
|
|
--with-system-apr \
|
|
--with-system-libcdr \
|
|
--with-system-mdds\
|
|
--without-myspell-dicts \
|
|
--with-system-libvisio \
|
|
--with-system-libcmis \
|
|
--with-system-libmspub \
|
|
--with-system-libexttextcat \
|
|
--with-system-orcus \
|
|
--with-system-liblangtag \
|
|
--with-system-libodfgen \
|
|
--with-system-libmwaw \
|
|
--with-system-libetonyek \
|
|
--with-system-libfreehand \
|
|
--disable-firebird-sdbc \
|
|
--with-system-libtommath \
|
|
--with-system-libatomic-ops \
|
|
--with-system-libebook \
|
|
--with-system-libabw \
|
|
--with-system-coinmp \
|
|
--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-glm \
|
|
--with-system-libnumbertext \
|
|
--with-system-libwpg \
|
|
--with-system-libwps \
|
|
--with-system-redland\
|
|
--with-system-libzmf \
|
|
--with-system-gpgmepp \
|
|
--with-system-libstaroffice \
|
|
--with-system-serf \
|
|
--with-jdk-home="/usr/lib/jvm/default" \
|
|
--with-ant-home="/usr/share/ant"\
|
|
--with-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 \
|
|
--with-gdrive-client-id=${_google_default_client_id} \
|
|
--with-gdrive-client-secret=${_google_default_client_secret} \
|
|
--disable-dependency-tracking
|
|
|
|
touch src.downloaded
|
|
make build-nocheck
|
|
|
|
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 {} +
|
|
|
|
# add LibreOfficeKit headers; FS#48066
|
|
install -dm755 ${pkgdir}/usr/include/LibreOfficeKit
|
|
install -v -m644 ${srcdir}/libreoffice-$_LOver/include/LibreOfficeKit/* ${pkgdir}/usr/include/LibreOfficeKit
|
|
}
|
|
|
|
package_libreoffice-fresh() {
|
|
pkgdesc="LibreOffice branch which contains new features and program enhancements"
|
|
depends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps'
|
|
'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' # 'dbus-glib'
|
|
'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu'
|
|
'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr'
|
|
'libmspub' 'harfbuzz-icu' 'nss' 'clucene' 'hicolor-icon-theme'
|
|
'desktop-file-utils' 'shared-mime-info' 'libpagemaker' #'glu'
|
|
'libxinerama' 'libabw' 'libmwaw' 'libe-book' 'libcups'
|
|
'liblangtag' 'libexttextcat' 'libcmis' 'liborcus' # 'libfbclient'
|
|
'libtommath' 'libzmf' 'libatomic_ops' 'xmlsec' 'gpgme' 'libnumbertext'
|
|
'libfreehand' 'libstaroffice' 'libepubgen' 'libqxp' 'libepoxy')
|
|
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'
|
|
'beanshell: interactive java -- good for prototyping/macros'
|
|
'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'
|
|
'coin-or-mp: required by the Calc solver'
|
|
'gtk2: for GTK2 integration'
|
|
'gtk3: for GTK3 integration'
|
|
'kio: for KF5 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)
|
|
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 -m644 ${srcdir}/libreoffice-fresh.{sh,csh} ${pkgdir}/etc/profile.d/
|
|
|
|
# make pyuno find its modules
|
|
install -dm755 ${pkgdir}/usr/lib/python3.7/site-packages
|
|
ln -svf /usr/lib/libreoffice/program/uno.py \
|
|
${pkgdir}/usr/lib/python3.7/site-packages/uno.py
|
|
ln -svf /usr/lib/libreoffice/program/unohelper.py \
|
|
${pkgdir}/usr/lib/python3.7/site-packages/unohelper.py
|
|
|
|
# add a symlink required for gnome-documents; FS#51887
|
|
# https://lists.freedesktop.org/archives/libreoffice/2016-March/073787.html
|
|
ln -svf /usr/lib/libreoffice/program/liblibreofficekitgtk.so \
|
|
${pkgdir}/usr/lib/liblibreofficekitgtk.so
|
|
|
|
# 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
|
|
}
|