libreoffice: various enhancements - still not building

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2015-10-29 01:00:35 +01:00
parent 7501c346d0
commit 3b41b611e1
7 changed files with 419 additions and 63 deletions

View File

@@ -0,0 +1,31 @@
From 231a054d94ee9eced6e116829d5a9f7706d7bb41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 27 Oct 2015 01:16:47 +0100
Subject: [PATCH] Makefile.in: avoid building target cross-toolset
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross compiling specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 61b16ab..37405f2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -242,7 +242,7 @@ bootstrap: compilerplugins
# Note: this will pipe through all gbuild targets to ... gbuild
# with some translations like "build"->"all" for historic reasons
#
-build: bootstrap fetch $(if $(CROSS_COMPILING),cross-toolset)
+build: bootstrap fetch
ifneq ($(filter-out WNT MACOSX IOS,$(OS)),)
mkdir -p $(INSTDIR)
$(SRCDIR)/solenv/bin/install-gdb-printers -a $(INSTDIR) -c
--
2.1.0

View File

@@ -0,0 +1,182 @@
From dfba581f6d1dd64fc69ef9db9fc27059366e3f8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 29 Oct 2015 00:23:24 +0100
Subject: [PATCH] update ax_boost scripts to fix configure with system boost
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
m4/ax_boost_base.m4 | 87 +++++++++++++++++++++++++++++++--------------------
m4/ax_boost_system.m4 | 6 ++--
2 files changed, 56 insertions(+), 37 deletions(-)
diff --git a/m4/ax_boost_base.m4 b/m4/ax_boost_base.m4
index 55de0c4..f3279f2 100644
--- a/m4/ax_boost_base.m4
+++ b/m4/ax_boost_base.m4
@@ -33,7 +33,7 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 20
+#serial 26
AC_DEFUN([AX_BOOST_BASE],
[
@@ -91,12 +91,29 @@ if test "x$want_boost" = "xyes"; then
dnl are found, e.g. when only header-only libraries are installed!
libsubdirs="lib"
ax_arch=`uname -m`
- if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = ppc64le -o $ax_arch = s390x -o $ax_arch = sparc64 -o $ax_arch = aarch64; then
- libsubdirs="lib64 lib lib64"
- fi
+ case $ax_arch in
+ x86_64)
+ libsubdirs="lib64 libx32 lib lib64"
+ ;;
+ ppc64|s390x|sparc64|aarch64|ppc64le)
+ libsubdirs="lib64 lib lib64 ppc64le"
+ ;;
+ esac
+
+ dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give
+ dnl them priority over the other paths since, if libs are found there, they
+ dnl are almost assuredly the ones desired.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs"
+
+ case ${host_cpu} in
+ i?86)
+ libsubdirs="lib/i386-${host_os} $libsubdirs"
+ ;;
+ esac
dnl first we check the system location for boost libraries
- dnl this location is chosen if boost libraries are installed with the --layout=system option
+ dnl this location ist chosen if boost libraries are installed with the --layout=system option
dnl or if you install boost with RPM
if test "$ac_boost_path" != ""; then
BOOST_CPPFLAGS="-I$ac_boost_path/include"
@@ -106,13 +123,8 @@ if test "x$want_boost" = "xyes"; then
break
fi
done
- else
- if test "$cross_compiling" != yes; then
- ac_boost_paths='/usr /usr/local /opt /opt/local'
- else
- ac_boost_paths="/usr/$host/sys-root/mingw"
- fi
- for ac_boost_path_tmp in $ac_boost_paths ; do
+ elif test "$cross_compiling" != yes; then
+ for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
for libsubdir in $libsubdirs ; do
if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
@@ -161,6 +173,10 @@ if test "x$want_boost" = "xyes"; then
dnl if we found no boost with system layout we search for boost libraries
dnl built and installed without the --layout=system option or for a staged(not installed) version
if test "x$succeeded" != "xyes"; then
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+ BOOST_CPPFLAGS=
+ BOOST_LDFLAGS=
_version=0
if test "$ac_boost_path" != ""; then
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
@@ -173,33 +189,36 @@ if test "x$want_boost" = "xyes"; then
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
done
+ dnl if nothing found search for layout used in Windows distributions
+ if test -z "$BOOST_CPPFLAGS"; then
+ if test -d "$ac_boost_path/boost" && test -r "$ac_boost_path/boost"; then
+ BOOST_CPPFLAGS="-I$ac_boost_path"
+ fi
+ fi
fi
else
if test "$cross_compiling" != yes; then
- ac_boost_paths='/usr /usr/local /opt /opt/local'
- else
- ac_boost_paths="/usr/$host/sys-root/mingw"
- fi
- for ac_boost_path in $ac_boost_paths ; do
- if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
- for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
- _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
- V_CHECK=`expr $_version_tmp \> $_version`
- if test "$V_CHECK" = "1" ; then
- _version=$_version_tmp
- best_path=$ac_boost_path
- fi
+ for ac_boost_path in /usr /usr/local /opt /opt/local ; do
+ if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
+ for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
+ _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
+ V_CHECK=`expr $_version_tmp \> $_version`
+ if test "$V_CHECK" = "1" ; then
+ _version=$_version_tmp
+ best_path=$ac_boost_path
+ fi
+ done
+ fi
+ done
+
+ VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
+ BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
+ if test "$ac_boost_lib_path" = ""; then
+ for libsubdir in $libsubdirs ; do
+ if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
done
+ BOOST_LDFLAGS="-L$best_path/$libsubdir"
fi
- done
-
- VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
- BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
- if test "$ac_boost_lib_path" = ""; then
- for libsubdir in $libsubdirs ; do
- if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
- done
- BOOST_LDFLAGS="-L$best_path/$libsubdir"
fi
if test "x$BOOST_ROOT" != "x"; then
diff --git a/m4/ax_boost_system.m4 b/m4/ax_boost_system.m4
index 20df5ee..c4c4555 100644
--- a/m4/ax_boost_system.m4
+++ b/m4/ax_boost_system.m4
@@ -31,7 +31,7 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 15
+#serial 17
AC_DEFUN([AX_BOOST_SYSTEM],
[
@@ -83,14 +83,14 @@ AC_DEFUN([AX_BOOST_SYSTEM],
LDFLAGS_SAVE=$LDFLAGS
if test "x$ax_boost_user_system_lib" = "x"; then
- for libextension in `ls $BOOSTLIBDIR/libboost_system*.a* $BOOSTLIBDIR/libboost_system*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.\(so\|a\).*$;\1;' | tac` ; do
+ for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
[link_system="no"])
done
if test "x$link_system" != "xyes"; then
- for libextension in `ls $BOOSTLIBDIR/boost_system*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_system.*\)\.\(dll\|a\).*$;\1;' | tac` ; do
+ for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
--
2.1.0

View File

@@ -0,0 +1,65 @@
require ${BPN}.inc
inherit native
DEPENDS += " \
curl-native \
boost-native \
icu-native \
expat-native \
"
EXTRA_OECONF += " \
--without-x \
--with-system-curl \
--with-system-boost \
--without-boost-date-time \
--without-boost-iostreams \
--without-boost-system \
--with-system-icu \
--with-system-expat \
--disable-postgresql-sdbc \
--disable-lotuswordpro \
--disable-firebird-sdbc \
--disable-liblangtag \
--disable-openssl \
--disable-gltf \
--disable-collada \
--disable-scripting-beanshell \
--disable-scripting-javascript \
--disable-graphite \
--disable-pdfimport \
--disable-orcus \
--disable-coinmp \
"
do_configure() {
olddir=`pwd`
cd ${S}
aclocal --system-acdir=${B}/aclocal-copy/ -I ${S}/m4
gnu-configize
autoconf
cd $olddir
oe_runconf
}
do_compile() {
BUILDDIR=${B} oe_runmake -f ${S}/Makefile.gbuild build-tools
}
#LOBUILDLIBS = "libtllo.so libuno_sal.so.3"
do_install() {
install -d ${D}/${bindir}
for name in ${LOBUILDTOOLS} ; do
install "${B}/workdir/LinkTarget/Executable/$name" ${D}/${bindir}
done
install -d ${D}/${libdir}
for name in `find ${B}/instdir/program -name *.so*` ; do
install "$name" ${D}/${libdir}
done
# for name in ${LOBUILDLIBS} ; do
# install "${B}/instdir/program/$name" ${D}/${libdir}
# done
}

View File

@@ -0,0 +1,34 @@
DESCRIPTION = "Libre office base"
LICENSE = "GPLv3 & LGPLv3 & MPLv1.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.LGPL;md5=6a6a8e020838b23406c81b19c1d46df6 \
file://COPYING.MPL;md5=9741c346eef56131163e13b9db1241b3 \
"
SRC_URI = " \
http://download.documentfoundation.org/libreoffice/src/5.0.2/libreoffice-${PV}.tar.xz \
file://0003-update-ax_boost-scripts-to-fix-configure-with-system.patch \
"
SRC_URI[md5sum] = "e3d129dd7a579b14984c9c1231e851a5"
SRC_URI[sha256sum] = "01f0680709432039762fa608bcb1240786d2b6549099a96095aab92dcebbc176"
inherit autotools pkgconfig distutils-base perlnative pythonnative
DEPENDS = "python3-lxml-native ccache-native archive-zip-native gperf-native bison-native"
LOBUILDTOOLS = " \
gencoll_rule \
genconv_dict \
genindex_data \
rsc \
svidl \
transex3 \
unoidl-check \
unoidl-write \
"
EXTRA_OECONF = " \
--without-java \
--without-doxygen \
"

View File

@@ -0,0 +1,107 @@
require ${BPN}.inc
SRC_URI += " \
file://0001-configure.ac-skip-cross-compile-section-ist-does-not.patch \
file://0002-Makefile.in-avoid-building-target-cross-toolset.patch \
"
DEPENDS += " \
${BPN}-native \
gtk+3 \
curl \
boost \
icu \
expat \
poppler \
harfbuzz \
openldap \
nss \
zlib \
mariadb \
jpeg \
neon \
libpng \
apr \
serf \
libatomic-ops \
lcms \
\
redland \
libabw \
libwps \
libwpg \
libwpd \
libcdr \
librevenge \
libcmis \
"
# necessary to let the call for python-config succeed
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
# By default many many sources are downloaded from libreoffice mirrors.
# This can be avoided by --with-system-.. To see what's still loaded check
# log.do_compile.
# problems during configure detected for (TBD?)
# * boost: 'configure: error: Could not find a version of the library!'
# * glew: 'Requested 'glew >= 1.10.0' but version of glew is 1.9.0'
EXTRA_OECONF += " \
--enable-gtk3 \
--disable-postgresql-sdbc \
--disable-collada \
--disable-coinmp \
--enable-python=internal \
--with-tls=nss \
--with-system-poppler \
--with-system-openldap \
--with-system-zlib \
--with-system-mariadb \
--with-system-jpeg \
--with-system-neon \
--with-system-libpng \
--with-system-nss \
--with-system-apr \
--with-system-serf \
--with-system-libatomic_ops \
--with-system-lcms2 \
--with-system-libxml \
--with-system-icu \
--with-system-expat \
--with-system-curl \
\
--with-system-redland \
--with-system-libabw \
--with-system-libwps \
--with-system-libwpg \
--with-system-libwpd \
--with-system-libcdr \
--with-system-librevenge \
--with-system-libcmis \
"
# executables created by other recipes than libreoffice-native
LOBUILDTOOLS += " \
gendict \
"
do_configure() {
olddir=`pwd`
cd ${S}
aclocal --system-acdir=${B}/aclocal-copy/ -I ${S}/m4
gnu-configize
autoconf
cd $olddir
oe_runconf
mkdir -p ${B}/workdir/Executable
mkdir -p ${B}/workdir/LinkTarget/Executable
cd ${B}/workdir/LinkTarget/Executable
for name in ${LOBUILDTOOLS} ; do
ln -sf ${STAGING_BINDIR_NATIVE}/$name
done
}
# for scripting (requires python >= 3.3)
#RDEPENDS_${PN} = "python3"

View File

@@ -1,63 +0,0 @@
DESCRIPTION = "Libre office base"
LICENSE = "GPLv3 & LGPLv3 & MPLv1.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.LGPL;md5=6a6a8e020838b23406c81b19c1d46df6 \
file://COPYING.MPL;md5=9741c346eef56131163e13b9db1241b3 \
"
SRC_URI = " \
http://download.documentfoundation.org/libreoffice/src/5.0.2/libreoffice-${PV}.tar.xz \
file://0001-configure.ac-skip-cross-compile-section-ist-does-not.patch \
"
SRC_URI[md5sum] = "e3d129dd7a579b14984c9c1231e851a5"
SRC_URI[sha256sum] = "01f0680709432039762fa608bcb1240786d2b6549099a96095aab92dcebbc176"
inherit autotools pkgconfig distutils-base perlnative pythonnative
DEPENDS = "python3-lxml-native ccache-native archive-zip-native gperf-native bison-native"
DEPENDS = "gtk+3 poppler harfbuzz expat curl openldap nss zlib mariadb jpeg neon libpng apr serf libatomic-ops lcms"
# necessary to let the call for python-config succeed
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
EXTRA_AUTORECONF = "--exclude=autoheader"
# By default many many sources are downloaded from libreoffice mirrors.
# This can be avoided by --with-system-.. To see what's still loaded check
# log.do_compile.
# problems during configure detected for (TBD?)
# * boost: 'configure: error: Could not find a version of the library!'
# * glew: 'Requested 'glew >= 1.10.0' but version of glew is 1.9.0'
EXTRA_OECONF = " \
--enable-gtk3 \
--without-java \
--without-doxygen \
--disable-postgresql-sdbc \
--enable-python=internal \
--with-tls=nss \
--with-system-poppler \
--with-system-curl \
--with-system-expat \
--with-system-openldap \
--with-system-zlib \
--with-system-mariadb \
--with-system-jpeg \
--with-system-neon \
--with-system-libpng \
--with-system-nss \
--with-system-apr \
--with-system-serf \
--with-system-libatomic_ops \
--with-system-lcms2 \
"
do_configure_append() {
mkdir -p ${B}/workdir/Executable
}
# for scripting (requires python >= 3.3)
#RDEPENDS_${PN} = "python3"