mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
extra/libreoffice to 4.2.4-1
This commit is contained in:
parent
09dda7e508
commit
6d7c191099
4 changed files with 3157 additions and 45 deletions
|
@ -23,9 +23,9 @@ pkgname=('libreoffice-common'
|
||||||
'libreoffice-postgresql-connector'
|
'libreoffice-postgresql-connector'
|
||||||
'libreoffice-extension-wiki-publisher'
|
'libreoffice-extension-wiki-publisher'
|
||||||
'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built)
|
'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built)
|
||||||
_LOver=4.2.3.3
|
_LOver=4.2.4.2
|
||||||
pkgver=4.2.3
|
pkgver=4.2.4
|
||||||
pkgrel=3
|
pkgrel=1
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
license=('LGPL3')
|
license=('LGPL3')
|
||||||
url="http://www.libreoffice.org/"
|
url="http://www.libreoffice.org/"
|
||||||
|
@ -34,14 +34,14 @@ makedepends=( # makedepends
|
||||||
'gperf' 'kdelibs' 'gconf' 'gtk3' 'cppunit' 'beanshell2' 'vigra'
|
'gperf' 'kdelibs' 'gconf' 'gtk3' 'cppunit' 'beanshell2' 'vigra'
|
||||||
'clucene' 'junit' 'libmythes' 'libwpg' 'mesa' 'clucene'
|
'clucene' 'junit' 'libmythes' 'libwpg' 'mesa' 'clucene'
|
||||||
'java-environment' 'postgresql-libs' 'bluez-libs' 'harfbuzz-icu'
|
'java-environment' 'postgresql-libs' 'bluez-libs' 'harfbuzz-icu'
|
||||||
'gdb' 'doxygen'
|
'gdb' 'doxygen' 'libatomic_ops' 'mdds'
|
||||||
# the runtime dependencies
|
# the runtime dependencies
|
||||||
"curl>=7.20.0" "hunspell>=1.2.8" "python>=3.4" 'libwpd>=0.9.2'
|
"curl>=7.20.0" "hunspell>=1.2.8" "python>=3.4" 'libwpd>=0.9.2'
|
||||||
'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr'
|
'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr'
|
||||||
'libgl' 'dbus-glib' 'libxslt' 'librsvg' 'redland' #"icu>=52.1"
|
'libgl' 'dbus-glib' 'libxslt' 'librsvg' 'redland' 'icu'
|
||||||
'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite'
|
'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite'
|
||||||
'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen'
|
'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen'
|
||||||
#'libcdr' 'libmspub'
|
'libcdr' 'libmspub'
|
||||||
'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info'
|
'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info'
|
||||||
'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils' #'telepathy-glib'
|
'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils' #'telepathy-glib'
|
||||||
'gst-plugins-base-libs' 'glu' 'ttf-liberation' # to satisfy regression tests
|
'gst-plugins-base-libs' 'glu' 'ttf-liberation' # to satisfy regression tests
|
||||||
|
@ -54,13 +54,12 @@ makedepends=( # makedepends
|
||||||
# http://download.documentfoundation.org/mirrors/all.html
|
# http://download.documentfoundation.org/mirrors/all.html
|
||||||
# http://wiki.documentfoundation.org/Mirrors
|
# http://wiki.documentfoundation.org/Mirrors
|
||||||
|
|
||||||
_mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}"
|
#_mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}"
|
||||||
#_mirror="http://dev-builds.libreoffice.org/pre-releases/src"
|
_mirror="http://dev-builds.libreoffice.org/pre-releases/src"
|
||||||
_additional_source_url="http://dev-www.libreoffice.org/src"
|
_additional_source_url="http://dev-www.libreoffice.org/src"
|
||||||
_additional_source_url2="http://dev-www.libreoffice.org/extern"
|
_additional_source_url2="http://dev-www.libreoffice.org/extern"
|
||||||
source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc}
|
source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc}
|
||||||
${_additional_source_url}/15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
|
${_additional_source_url}/15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
|
||||||
${_additional_source_url}/9e96ed4c1d99c0d14ac03c140f9f346c-icu4c-52_1-src.tgz
|
|
||||||
${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
||||||
${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
||||||
${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
||||||
|
@ -80,7 +79,6 @@ source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc}
|
||||||
${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
|
${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
|
||||||
${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
|
${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
|
||||||
${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
||||||
${_additional_source_url}/47203e7cade74e5c385aa812f21e7932-mdds_0.10.2.tar.bz2
|
|
||||||
${_additional_source_url}/ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
|
${_additional_source_url}/ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
|
||||||
${_additional_source_url}/22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz
|
${_additional_source_url}/22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz
|
||||||
${_additional_source_url}/ea2acaf140ae40a87a952caa75184f4d-liborcus-0.5.1.tar.bz2
|
${_additional_source_url}/ea2acaf140ae40a87a952caa75184f4d-liborcus-0.5.1.tar.bz2
|
||||||
|
@ -88,21 +86,20 @@ source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc}
|
||||||
${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
|
${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
|
||||||
${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
||||||
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||||
${_additional_source_url}/libcdr-0.0.14.tar.bz2
|
|
||||||
${_additional_source_url}/libmspub-0.0.6.tar.bz2
|
|
||||||
${_additional_source_url}/libmwaw-0.2.0.tar.bz2
|
${_additional_source_url}/libmwaw-0.2.0.tar.bz2
|
||||||
${_additional_source_url}/libfreehand-0.0.0.tar.bz2
|
${_additional_source_url}/libfreehand-0.0.0.tar.bz2
|
||||||
${_additional_source_url}/Firebird-2.5.2.26540-0.tar.bz2
|
${_additional_source_url}/Firebird-2.5.2.26540-0.tar.bz2
|
||||||
${_additional_source_url}/libatomic_ops-7_2d.zip
|
|
||||||
${_additional_source_url}/libe-book-0.0.3.tar.bz2
|
${_additional_source_url}/libe-book-0.0.3.tar.bz2
|
||||||
${_additional_source_url}/libabw-0.0.2.tar.bz2
|
${_additional_source_url}/libabw-0.0.2.tar.bz2
|
||||||
|
${_additional_source_url}/language-subtag-registry-2014-03-27.tar.bz2
|
||||||
make-pyuno-work-with-system-wide-module-install.diff
|
make-pyuno-work-with-system-wide-module-install.diff
|
||||||
icudata-stdlibs.patch
|
libreoffice-common.sh libreoffice-common.csh
|
||||||
libreoffice-common.sh libreoffice-common.csh)
|
prevent_KDE_Qt_from_interfering_with_the_session_manager.diff
|
||||||
|
icu53.diff
|
||||||
|
icu53_crashfix.diff
|
||||||
|
icudata-stdlibs.patch)
|
||||||
noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
|
noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
|
||||||
9e96ed4c1d99c0d14ac03c140f9f346c-icu4c-52_1-src.tgz
|
|
||||||
185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||||
47203e7cade74e5c385aa812f21e7932-mdds_0.10.2.tar.bz2
|
|
||||||
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
||||||
1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
||||||
ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
|
ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
|
||||||
|
@ -128,22 +125,19 @@ noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
|
||||||
36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
|
36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
|
||||||
0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
|
0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
|
||||||
17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
||||||
libcdr-0.0.14.tar.bz2
|
|
||||||
libmspub-0.0.6.tar.bz2
|
|
||||||
libmwaw-0.2.0.tar.bz2
|
libmwaw-0.2.0.tar.bz2
|
||||||
libfreehand-0.0.0.tar.bz2
|
libfreehand-0.0.0.tar.bz2
|
||||||
Firebird-2.5.2.26540-0.tar.bz2
|
Firebird-2.5.2.26540-0.tar.bz2
|
||||||
libatomic_ops-7_2d.zip
|
|
||||||
libe-book-0.0.3.tar.bz2
|
libe-book-0.0.3.tar.bz2
|
||||||
libabw-0.0.2.tar.bz2)
|
libabw-0.0.2.tar.bz2
|
||||||
md5sums=('0347f2c919e809b3f3794ed509caa902'
|
language-subtag-registry-2014-03-27.tar.bz2)
|
||||||
|
md5sums=('698a482f0cacd8b5eba9865fdd8a5403'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'fa82b4c4510c78fe22a3a56d53fb9752'
|
'a0ed88ac1758d2f87687fcf4bb7c9432'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'81759541de9ce626a02d652399cd1ffe'
|
'3db05930dc7c694d2cf58875b3245c2e'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'15cb8c0803064faef0c4ddf5bc5ca279'
|
'15cb8c0803064faef0c4ddf5bc5ca279'
|
||||||
'9e96ed4c1d99c0d14ac03c140f9f346c'
|
|
||||||
'1f24ab1d39f4a51faf22244c94a6203f'
|
'1f24ab1d39f4a51faf22244c94a6203f'
|
||||||
'35c94d2df8893241173de1d16b6034c0'
|
'35c94d2df8893241173de1d16b6034c0'
|
||||||
'798b2ffdc8bcfe7bca2cf92b62caf685'
|
'798b2ffdc8bcfe7bca2cf92b62caf685'
|
||||||
|
@ -163,7 +157,6 @@ md5sums=('0347f2c919e809b3f3794ed509caa902'
|
||||||
'ace6ab49184e329db254e454a010f56d'
|
'ace6ab49184e329db254e454a010f56d'
|
||||||
'db60e4fde8dd6d6807523deb71ee34dc'
|
'db60e4fde8dd6d6807523deb71ee34dc'
|
||||||
'ba2930200c9f019c2d93a8c88c651a0f'
|
'ba2930200c9f019c2d93a8c88c651a0f'
|
||||||
'47203e7cade74e5c385aa812f21e7932'
|
|
||||||
'ae330b9493bd4503ac390106ff6060d7'
|
'ae330b9493bd4503ac390106ff6060d7'
|
||||||
'22f8a85daf4a012180322e1f52a7563b'
|
'22f8a85daf4a012180322e1f52a7563b'
|
||||||
'ea2acaf140ae40a87a952caa75184f4d'
|
'ea2acaf140ae40a87a952caa75184f4d'
|
||||||
|
@ -171,26 +164,24 @@ md5sums=('0347f2c919e809b3f3794ed509caa902'
|
||||||
'0168229624cfac409e766913506961a8'
|
'0168229624cfac409e766913506961a8'
|
||||||
'17410483b5b5f267aa18b7e00b65e6e0'
|
'17410483b5b5f267aa18b7e00b65e6e0'
|
||||||
'185d60944ea767075d27247c3162b3bc'
|
'185d60944ea767075d27247c3162b3bc'
|
||||||
'd88f9b94df880d2c05be943b000ca112'
|
|
||||||
'1120705cd0f0d9bd5506360bf57b6c2e'
|
|
||||||
'd794625f156a9fb1c53b3f8a8aa13b5e'
|
'd794625f156a9fb1c53b3f8a8aa13b5e'
|
||||||
'496dd00028afcc19f896b01394769043'
|
'496dd00028afcc19f896b01394769043'
|
||||||
'21154d2004e025c8a3666625b0357bb5'
|
'21154d2004e025c8a3666625b0357bb5'
|
||||||
'c0b86562d5aa40761a87134f83e6adcf'
|
|
||||||
'2f1ceaf2ac8752ed278e175447d9b978'
|
'2f1ceaf2ac8752ed278e175447d9b978'
|
||||||
'40fa48e03b1e28ae0325cc34b35bc46d'
|
'40fa48e03b1e28ae0325cc34b35bc46d'
|
||||||
|
'504af523f5d1a5590bbeb6a4b55e8a97'
|
||||||
'07d2bf5ad839a394cca008b3ec6e7bb1'
|
'07d2bf5ad839a394cca008b3ec6e7bb1'
|
||||||
'0fa64bbd473ad7da9eb78a3890c29c2a'
|
|
||||||
'4195735a80876ae812fca5736b50192a'
|
'4195735a80876ae812fca5736b50192a'
|
||||||
'e7e4b3e70e99e5cba8f8dfcacf3b0d87')
|
'e7e4b3e70e99e5cba8f8dfcacf3b0d87'
|
||||||
|
'fa2109339289663cb8ea7cf27cc22f4e'
|
||||||
|
'07f53a9f899e533f9393e48b5d429165'
|
||||||
|
'2a296750092824cd5631e7b529433b28'
|
||||||
|
'0fa64bbd473ad7da9eb78a3890c29c2a')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
|
|
||||||
cd libreoffice-$_LOver
|
cd libreoffice-$_LOver
|
||||||
#return 1
|
#return 1
|
||||||
# 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
|
# move external sources into place
|
||||||
mkdir ${srcdir}/ext_sources && pushd ${srcdir}/ext_sources
|
mkdir ${srcdir}/ext_sources && pushd ${srcdir}/ext_sources
|
||||||
|
@ -206,6 +197,17 @@ prepare() {
|
||||||
|
|
||||||
# fix not upstreamable pyuno paths - patch taken from Debian
|
# fix not upstreamable pyuno paths - patch taken from Debian
|
||||||
patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
|
patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
|
||||||
|
|
||||||
|
# fix some startup issues with kde4 integration
|
||||||
|
# https://bugs.archlinux.org/task/39819 - https://bugs.freedesktop.org/show_bug.cgi?id=77128
|
||||||
|
patch -Np1 -i ${srcdir}/prevent_KDE_Qt_from_interfering_with_the_session_manager.diff
|
||||||
|
|
||||||
|
# upstream fixes for icu 53
|
||||||
|
patch -Np1 -i ${srcdir}/icu53.diff
|
||||||
|
patch -Np1 -i ${srcdir}/icu53_crashfix.diff
|
||||||
|
|
||||||
|
# fix icu building on ARM
|
||||||
|
patch -Np1 -i ${srcdir}/icudata-stdlibs.patch
|
||||||
|
|
||||||
#use the CFLAGS but remove the LibO overridden ones
|
#use the CFLAGS but remove the LibO overridden ones
|
||||||
for i in $CFLAGS; do
|
for i in $CFLAGS; do
|
||||||
|
@ -218,9 +220,6 @@ prepare() {
|
||||||
|
|
||||||
# qt4 fix
|
# qt4 fix
|
||||||
sed -i "s:qmake:qmake-qt4:g" configure.ac
|
sed -i "s:qmake:qmake-qt4:g" configure.ac
|
||||||
|
|
||||||
# icu fix
|
|
||||||
patch -p1 -i ../icudata-stdlibs.patch
|
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
@ -267,13 +266,12 @@ build() {
|
||||||
--enable-ext-nlpsolver \
|
--enable-ext-nlpsolver \
|
||||||
--without-fonts\
|
--without-fonts\
|
||||||
--without-afms\
|
--without-afms\
|
||||||
--without-system-libwps\
|
--with-system-libcdr \
|
||||||
--without-system-libcdr \
|
--with-system-mdds\
|
||||||
--without-system-mdds\
|
|
||||||
--without-myspell-dicts \
|
--without-myspell-dicts \
|
||||||
--with-system-libvisio \
|
--with-system-libvisio \
|
||||||
--without-system-libcmis \
|
--without-system-libcmis \
|
||||||
--without-system-libmspub \
|
--with-system-libmspub \
|
||||||
--without-system-libexttextcat \
|
--without-system-libexttextcat \
|
||||||
--without-system-orcus \
|
--without-system-orcus \
|
||||||
--without-system-liblangtag \
|
--without-system-liblangtag \
|
||||||
|
@ -284,7 +282,7 @@ build() {
|
||||||
--with-system-libetonyek \
|
--with-system-libetonyek \
|
||||||
--without-system-libfreehand \
|
--without-system-libfreehand \
|
||||||
--without-system-firebird \
|
--without-system-firebird \
|
||||||
--without-system-libatomic-ops \
|
--with-system-libatomic-ops \
|
||||||
--without-system-libebook \
|
--without-system-libebook \
|
||||||
--without-system-libabw \
|
--without-system-libabw \
|
||||||
--with-system-dicts \
|
--with-system-dicts \
|
||||||
|
@ -300,7 +298,7 @@ build() {
|
||||||
--without-system-npapi-headers \
|
--without-system-npapi-headers \
|
||||||
--with-ant-home="/usr/share/apache-ant"\
|
--with-ant-home="/usr/share/apache-ant"\
|
||||||
--without-system-boost\
|
--without-system-boost\
|
||||||
--without-system-icu \
|
--with-system-icu \
|
||||||
--with-system-cairo\
|
--with-system-cairo\
|
||||||
--with-system-libs\
|
--with-system-libs\
|
||||||
--with-system-mythes\
|
--with-system-mythes\
|
||||||
|
@ -334,9 +332,10 @@ package_libreoffice-common() {
|
||||||
install=libreoffice-common.install
|
install=libreoffice-common.install
|
||||||
depends=('libreoffice-langpack' "hunspell>=1.2.8" "python>=3.3" "neon>=0.28.6"
|
depends=('libreoffice-langpack' "hunspell>=1.2.8" "python>=3.3" "neon>=0.28.6"
|
||||||
'dbus-glib' 'librsvg' 'libcups' 'nss' 'libsm' 'redland' 'hyphen'
|
'dbus-glib' 'librsvg' 'libcups' 'nss' 'libsm' 'redland' 'hyphen'
|
||||||
'graphite' 'clucene' 'lcms2' "poppler>=0.24.0" #"icu>=52.1"
|
'graphite' 'clucene' 'lcms2' "poppler>=0.24.0" 'icu'
|
||||||
#'telepathy-glib' # (calc telepathy-glib libtubeslo.so)
|
#'telepathy-glib' # (calc telepathy-glib libtubeslo.so)
|
||||||
'libodfgen' 'libvisio' 'harfbuzz-icu' 'hicolor-icon-theme' 'glu'
|
'libodfgen' 'libvisio' 'harfbuzz-icu' 'hicolor-icon-theme' 'glu'
|
||||||
|
'libmspub' 'libcdr'
|
||||||
'desktop-file-utils' 'shared-mime-info' 'xdg-utils')
|
'desktop-file-utils' 'shared-mime-info' 'xdg-utils')
|
||||||
optdepends=('libreoffice-langpack: additional language support'
|
optdepends=('libreoffice-langpack: additional language support'
|
||||||
'java-runtime: adds java support'
|
'java-runtime: adds java support'
|
||||||
|
@ -717,7 +716,6 @@ package_libreoffice-extension-wiki-publisher() {
|
||||||
package_libreoffice-extension-nlpsolver() {
|
package_libreoffice-extension-nlpsolver() {
|
||||||
|
|
||||||
pkgdesc="This extension integrates into Calc and offers new Solver engines to use for optimizing nonlinear programming models"
|
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')
|
depends=('libreoffice-common' 'java-environment')
|
||||||
groups=('libreoffice-extensions')
|
groups=('libreoffice-extensions')
|
||||||
|
|
||||||
|
|
2771
extra/libreoffice/icu53.diff
Normal file
2771
extra/libreoffice/icu53.diff
Normal file
File diff suppressed because it is too large
Load diff
271
extra/libreoffice/icu53_crashfix.diff
Normal file
271
extra/libreoffice/icu53_crashfix.diff
Normal file
|
@ -0,0 +1,271 @@
|
||||||
|
From 1ce42d1001139a9168e9451dbd48a6daef95c691 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eike Rathke <erack@redhat.com>
|
||||||
|
Date: Wed, 30 Apr 2014 16:51:05 +0000
|
||||||
|
Subject: resolve crashes with ICU 53.1 in locales with collator data, fdo#77071
|
||||||
|
|
||||||
|
ICU 53.1 changed API behavior:
|
||||||
|
https://ssl.icu-project.org/apiref/icu4c/classicu_1_1RuleBasedCollator.html#a2f4c7eeaf020ad68e3bd9722dd272357
|
||||||
|
isn't correct anymore:
|
||||||
|
|
||||||
|
length: size of the image. If negative, the API will try to figure out the
|
||||||
|
length of the image
|
||||||
|
|
||||||
|
NO, IT WILL NOT! It bails out with an error instead.
|
||||||
|
Introduced a function to obtain the length for each collator data.
|
||||||
|
|
||||||
|
base: collator, usually root. The base is required to be present through the
|
||||||
|
lifetime of the collator. Currently it cannot be NULL.
|
||||||
|
|
||||||
|
NOT "usually root"! There's a check now that bails out if
|
||||||
|
if(base->tailoring != CollationRoot::getRoot(errorCode))
|
||||||
|
So using an instance created with icu::Locale::getRoot()
|
||||||
|
|
||||||
|
(cherry picked from commit a3c627fe38236e82bc6008075d862b3cbfbd9ce3)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
i18npool/source/collator/collator_unicode.cxx
|
||||||
|
|
||||||
|
Backported.
|
||||||
|
|
||||||
|
make DISABLE_DYNLOADING on Android happy, fdo#77071 related
|
||||||
|
|
||||||
|
(cherry picked from commit dc7ba1af236ec28d399eff833d56608fde9fb70d)
|
||||||
|
|
||||||
|
Change-Id: Ia9c4e27d5ef4f8083bbe57e4e2f4b3ff63bb42ed
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/9215
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
---
|
||||||
|
diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx
|
||||||
|
index 90dd2f3b..42dfef3 100644
|
||||||
|
--- a/i18npool/source/collator/collator_unicode.cxx
|
||||||
|
+++ b/i18npool/source/collator/collator_unicode.cxx
|
||||||
|
@@ -84,6 +84,27 @@ const sal_uInt8* get_collator_data_zh_radical();
|
||||||
|
const sal_uInt8* get_collator_data_zh_stroke();
|
||||||
|
const sal_uInt8* get_collator_data_zh_zhuyin();
|
||||||
|
|
||||||
|
+size_t get_collator_data_ca_charset_length();
|
||||||
|
+size_t get_collator_data_dz_charset_length();
|
||||||
|
+size_t get_collator_data_hu_charset_length();
|
||||||
|
+size_t get_collator_data_ja_charset_length();
|
||||||
|
+size_t get_collator_data_ja_phonetic_alphanumeric_first_length();
|
||||||
|
+size_t get_collator_data_ja_phonetic_alphanumeric_last_length();
|
||||||
|
+size_t get_collator_data_ko_charset_length();
|
||||||
|
+size_t get_collator_data_ku_alphanumeric_length();
|
||||||
|
+size_t get_collator_data_ln_charset_length();
|
||||||
|
+size_t get_collator_data_my_dictionary_length();
|
||||||
|
+size_t get_collator_data_ne_charset_length();
|
||||||
|
+size_t get_collator_data_sid_charset_length();
|
||||||
|
+size_t get_collator_data_zh_TW_charset_length();
|
||||||
|
+size_t get_collator_data_zh_TW_radical_length();
|
||||||
|
+size_t get_collator_data_zh_TW_stroke_length();
|
||||||
|
+size_t get_collator_data_zh_charset_length();
|
||||||
|
+size_t get_collator_data_zh_pinyin_length();
|
||||||
|
+size_t get_collator_data_zh_radical_length();
|
||||||
|
+size_t get_collator_data_zh_stroke_length();
|
||||||
|
+size_t get_collator_data_zh_zhuyin_length();
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@@ -120,6 +141,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
|
||||||
|
}
|
||||||
|
if (!collator && OUString::createFromAscii(LOCAL_RULE_LANGS).indexOf(rLocale.Language) >= 0) {
|
||||||
|
const sal_uInt8* (*func)() = NULL;
|
||||||
|
+ size_t (*funclen)() = NULL;
|
||||||
|
|
||||||
|
#ifndef DISABLE_DYNLOADING
|
||||||
|
OUStringBuffer aBuf;
|
||||||
|
@@ -132,11 +154,21 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
|
||||||
|
aBuf.appendAscii("get_").append(rLocale.Language).appendAscii("_");
|
||||||
|
if ( rLocale.Language == "zh" ) {
|
||||||
|
OUString func_base = aBuf.makeStringAndClear();
|
||||||
|
+ OUString funclen_base = func_base + "_length";
|
||||||
|
if (OUString("TW HK MO").indexOf(rLocale.Country) >= 0)
|
||||||
|
- func=(const sal_uInt8* (*)()) osl_getFunctionSymbol(hModule,
|
||||||
|
+ {
|
||||||
|
+ func = (const sal_uInt8* (*)()) osl_getFunctionSymbol(hModule,
|
||||||
|
OUString(func_base + "TW_" + rAlgorithm).pData);
|
||||||
|
+ funclen = (size_t (*)()) osl_getFunctionSymbol(hModule,
|
||||||
|
+ OUString(funclen_base + "TW_" + rAlgorithm).pData);
|
||||||
|
+ }
|
||||||
|
if (!func)
|
||||||
|
- func=(const sal_uInt8* (*)()) osl_getFunctionSymbol(hModule, OUString(func_base + rAlgorithm).pData);
|
||||||
|
+ {
|
||||||
|
+ func = (const sal_uInt8* (*)()) osl_getFunctionSymbol(
|
||||||
|
+ hModule, OUString(func_base + rAlgorithm).pData);
|
||||||
|
+ funclen = (size_t (*)()) osl_getFunctionSymbol(
|
||||||
|
+ hModule, OUString(funclen_base + rAlgorithm).pData);
|
||||||
|
+ }
|
||||||
|
} else {
|
||||||
|
if ( rLocale.Language == "ja" ) {
|
||||||
|
// replace algorithm name to implementation name.
|
||||||
|
@@ -149,72 +181,147 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
|
||||||
|
} else {
|
||||||
|
aBuf.append(rAlgorithm);
|
||||||
|
}
|
||||||
|
- func=(const sal_uInt8* (*)()) osl_getFunctionSymbol(hModule, aBuf.makeStringAndClear().pData);
|
||||||
|
+ OUString func_base = aBuf.makeStringAndClear();
|
||||||
|
+ OUString funclen_base = func_base + "_length";
|
||||||
|
+ func = (const sal_uInt8* (*)()) osl_getFunctionSymbol(hModule, func_base.pData);
|
||||||
|
+ funclen = (size_t (*)()) osl_getFunctionSymbol(hModule, funclen_base.pData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
if ( rLocale.Language == "ca" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ca_charset;
|
||||||
|
+ funclen = get_collator_data_ca_charset_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "dz" || rLocale.Language == "bo" ) {
|
||||||
|
// 'bo' Tibetan uses the same collation rules as 'dz' Dzongkha
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_dz_charset;
|
||||||
|
+ funclen = get_collator_data_dz_charset_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "hu" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_hu_charset;
|
||||||
|
+ funclen = get_collator_data_hu_charset_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "ja" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ja_charset;
|
||||||
|
+ funclen = get_collator_data_ja_charset_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "phonetic (alphanumeric first)" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ja_phonetic_alphanumeric_first;
|
||||||
|
+ funclen = get_collator_data_ja_phonetic_alphanumeric_first_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "phonetic (alphanumeric last)" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ja_phonetic_alphanumeric_last;
|
||||||
|
+ funclen = get_collator_data_ja_phonetic_alphanumeric_last_length;
|
||||||
|
+ }
|
||||||
|
#if (U_ICU_VERSION_MAJOR_NUM < 53)
|
||||||
|
} else if ( rLocale.Language == "ko" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ko_charset;
|
||||||
|
+ funclen = get_collator_data_ko_charset_length;
|
||||||
|
+ }
|
||||||
|
#endif
|
||||||
|
} else if ( rLocale.Language == "ku" ) {
|
||||||
|
if ( rAlgorithm == "alphanumeric" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ku_alphanumeric;
|
||||||
|
+ funclen = get_collator_data_ku_alphanumeric_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "ln" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ln_charset;
|
||||||
|
+ funclen = get_collator_data_ln_charset_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "my" ) {
|
||||||
|
if ( rAlgorithm == "dictionary" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_my_dictionary;
|
||||||
|
+ funclen = get_collator_data_my_dictionary_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "ne" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_ne_charset;
|
||||||
|
+ funclen = get_collator_data_ne_charset_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "sid" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_sid_charset;
|
||||||
|
+ funclen = get_collator_data_sid_charset_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "zh" && (rLocale.Country == "TW" || rLocale.Country == "HK" || rLocale.Country == "MO") ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_TW_charset;
|
||||||
|
+ funclen = get_collator_data_zh_TW_charset_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "radical" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_TW_radical;
|
||||||
|
+ funclen = get_collator_data_zh_TW_radical_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "stroke" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_TW_stroke;
|
||||||
|
+ funclen = get_collator_data_zh_TW_stroke_length;
|
||||||
|
+ }
|
||||||
|
} else if ( rLocale.Language == "zh" ) {
|
||||||
|
if ( rAlgorithm == "charset" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_charset;
|
||||||
|
+ funclen = get_collator_data_zh_charset_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "pinyin" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_pinyin;
|
||||||
|
+ funclen = get_collator_data_zh_pinyin_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "radical" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_radical;
|
||||||
|
+ funclen = get_collator_data_zh_radical_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "stroke" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_stroke;
|
||||||
|
+ funclen = get_collator_data_zh_stroke_length;
|
||||||
|
+ }
|
||||||
|
else if ( rAlgorithm == "zhuyin" )
|
||||||
|
+ {
|
||||||
|
func = get_collator_data_zh_zhuyin;
|
||||||
|
+ funclen = get_collator_data_zh_zhuyin_length;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
- if (func) {
|
||||||
|
+ if (func && funclen) {
|
||||||
|
const sal_uInt8* ruleImage=func();
|
||||||
|
- uca_base = new RuleBasedCollator(static_cast<UChar*>(NULL), status);
|
||||||
|
+ size_t ruleImageSize = funclen();
|
||||||
|
+ // Not only changed ICU 53.1 the API behavior that a negative
|
||||||
|
+ // length (ruleImageSize) now leads to failure, but also that
|
||||||
|
+ // the base RuleBasedCollator passed as uca_base here needs to
|
||||||
|
+ // have a base->tailoring == CollationRoot::getRoot() otherwise
|
||||||
|
+ // the init bails out as well, as it does for the previously
|
||||||
|
+ // used "empty" RuleBasedCollator.
|
||||||
|
+ // The default collator of the en-US locale would also fulfill
|
||||||
|
+ // the requirement. The collator of the actual locale or the
|
||||||
|
+ // NULL (default) locale does not.
|
||||||
|
+ uca_base = static_cast<RuleBasedCollator*>(icu::Collator::createInstance(
|
||||||
|
+ icu::Locale::getRoot(), status));
|
||||||
|
if (! U_SUCCESS(status)) throw RuntimeException();
|
||||||
|
- collator = new RuleBasedCollator(reinterpret_cast<const uint8_t*>(ruleImage), -1, uca_base, status);
|
||||||
|
+ collator = new RuleBasedCollator(
|
||||||
|
+ reinterpret_cast<const uint8_t*>(ruleImage), ruleImageSize, uca_base, status);
|
||||||
|
if (! U_SUCCESS(status)) throw RuntimeException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/i18npool/source/collator/gencoll_rule.cxx b/i18npool/source/collator/gencoll_rule.cxx
|
||||||
|
index a801545..5ba9f5d 100644
|
||||||
|
--- a/i18npool/source/collator/gencoll_rule.cxx
|
||||||
|
+++ b/i18npool/source/collator/gencoll_rule.cxx
|
||||||
|
@@ -65,8 +65,10 @@ void data_write(char* file, char* name, sal_uInt8 *data, sal_Int32 len)
|
||||||
|
|
||||||
|
fprintf(fp, "#ifndef DISABLE_DYNLOADING\n");
|
||||||
|
fprintf(fp, "SAL_DLLPUBLIC_EXPORT const sal_uInt8* get_%s() { return %s; }\n", name, name);
|
||||||
|
+ fprintf(fp, "SAL_DLLPUBLIC_EXPORT size_t get_%s_length() { return sizeof(%s); }\n", name, name);
|
||||||
|
fprintf(fp, "#else\n");
|
||||||
|
fprintf(fp, "SAL_DLLPUBLIC_EXPORT const sal_uInt8* get_collator_data_%s() { return %s; }\n", name, name);
|
||||||
|
+ fprintf(fp, "SAL_DLLPUBLIC_EXPORT size_t get_collator_data_%s_length() { return sizeof(%s); }\n", name, name);
|
||||||
|
fprintf(fp, "#endif\n");
|
||||||
|
fprintf(fp, "\n");
|
||||||
|
fprintf (fp, "}\n");
|
||||||
|
--
|
||||||
|
cgit v0.9.0.2-2-gbebe
|
|
@ -0,0 +1,72 @@
|
||||||
|
From 01d128557726134b5da9e9b951e60286eac311a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luboš Luňák <l.lunak@collabora.com>
|
||||||
|
Date: Tue, 25 Mar 2014 12:20:16 +0100
|
||||||
|
Subject: [PATCH] prevent KDE/Qt from interfering with the session manager
|
||||||
|
|
||||||
|
I occassionally get lockups in IceProcessMessages() called from QtCore,
|
||||||
|
I'm actually not exactly sure why, as theoretically two connections
|
||||||
|
from one app shouldn't be a problem, but since LO does its own
|
||||||
|
session handling, there's no need to the KDE/Qt code to be involved,
|
||||||
|
so prevent it from connecting to the session manager altogether.
|
||||||
|
|
||||||
|
Change-Id: Iebe20d4cb5403e5fea8bd5d8c1f69b62d1c2907b
|
||||||
|
(cherry picked from commit 71f2aff7a56cef4e133abad3c2e447c76c5ee1fe)
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
|
||||||
|
index 820d39a..e4900a7 100644
|
||||||
|
--- a/vcl/unx/kde4/KDEXLib.cxx
|
||||||
|
+++ b/vcl/unx/kde4/KDEXLib.cxx
|
||||||
|
@@ -166,8 +166,23 @@
|
||||||
|
|
||||||
|
KCmdLineArgs::init( m_nFakeCmdLineArgs, m_pAppCmdLineArgs, kAboutData );
|
||||||
|
|
||||||
|
+ // LO does its own session management, so prevent KDE/Qt from interfering
|
||||||
|
+ // (QApplication::disableSessionManagement(false) wouldn't quite do,
|
||||||
|
+ // since that still actually connects to the session manager, it just
|
||||||
|
+ // won't save the application data on session shutdown).
|
||||||
|
+ char* session_manager = NULL;
|
||||||
|
+ if( getenv( "SESSION_MANAGER" ) != NULL )
|
||||||
|
+ {
|
||||||
|
+ session_manager = strdup( getenv( "SESSION_MANAGER" ));
|
||||||
|
+ unsetenv( "SESSION_MANAGER" );
|
||||||
|
+ }
|
||||||
|
m_pApplication = new VCLKDEApplication();
|
||||||
|
- kapp->disableSessionManagement();
|
||||||
|
+ if( session_manager != NULL )
|
||||||
|
+ {
|
||||||
|
+ setenv( "SESSION_MANAGER", session_manager, 1 );
|
||||||
|
+ free( session_manager );
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
KApplication::setQuitOnLastWindowClosed(false);
|
||||||
|
|
||||||
|
#if KDE_HAVE_GLIB
|
||||||
|
diff --git a/vcl/unx/kde4/VCLKDEApplication.hxx b/vcl/unx/kde4/VCLKDEApplication.hxx
|
||||||
|
index 412ee34..4ce0b2c 100644
|
||||||
|
--- a/vcl/unx/kde4/VCLKDEApplication.hxx
|
||||||
|
+++ b/vcl/unx/kde4/VCLKDEApplication.hxx
|
||||||
|
@@ -21,22 +21,14 @@
|
||||||
|
|
||||||
|
#define Region QtXRegion
|
||||||
|
|
||||||
|
-#include <QSessionManager>
|
||||||
|
-
|
||||||
|
#include <kapplication.h>
|
||||||
|
|
||||||
|
#undef Region
|
||||||
|
|
||||||
|
-/* #i59042# override KApplications method for session management
|
||||||
|
- * since it will interfere badly with our own.
|
||||||
|
- */
|
||||||
|
class VCLKDEApplication : public KApplication
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
VCLKDEApplication();
|
||||||
|
-
|
||||||
|
- virtual void commitData(QSessionManager&) {};
|
||||||
|
-
|
||||||
|
virtual bool x11EventFilter(XEvent* event);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue