From 7269c10b1cefe59869bbdda4d2ed392265ed8597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sat, 6 Jul 2024 05:29:46 +0700 Subject: [PATCH] libreoffice: update to 24.2.4.2. --- .../patches/001-build-option-java.patch | 18 +++ ...-musl.patch => 002-libjvm-path-musl.patch} | 0 .../{musl-java.patch => 003-musl-java.patch} | 8 +- ...o-fsword_t.patch => 004-no-fsword_t.patch} | 2 - ...slowcheck.patch => 005-no-slowcheck.patch} | 0 .../libreoffice/patches/006-cross-flag.patch | 33 +++++ .../patches/007-cross-python.patch | 13 ++ srcpkgs/libreoffice/patches/008-zxing.patch | 90 ++++++++++++ srcpkgs/libreoffice/patches/009-kde.patch | 38 +++++ srcpkgs/libreoffice/patches/010-gpgmepp.patch | 124 ++++++++++++++++ .../patches/build-option-java.patch | 19 --- srcpkgs/libreoffice/template | 134 +++++++++++------- srcpkgs/libreoffice/update | 2 +- 13 files changed, 407 insertions(+), 74 deletions(-) create mode 100644 srcpkgs/libreoffice/patches/001-build-option-java.patch rename srcpkgs/libreoffice/patches/{libjvm-path-musl.patch => 002-libjvm-path-musl.patch} (100%) rename srcpkgs/libreoffice/patches/{musl-java.patch => 003-musl-java.patch} (87%) rename srcpkgs/libreoffice/patches/{no-fsword_t.patch => 004-no-fsword_t.patch} (92%) rename srcpkgs/libreoffice/patches/{no-slowcheck.patch => 005-no-slowcheck.patch} (100%) create mode 100644 srcpkgs/libreoffice/patches/006-cross-flag.patch create mode 100644 srcpkgs/libreoffice/patches/007-cross-python.patch create mode 100644 srcpkgs/libreoffice/patches/008-zxing.patch create mode 100644 srcpkgs/libreoffice/patches/009-kde.patch create mode 100644 srcpkgs/libreoffice/patches/010-gpgmepp.patch delete mode 100644 srcpkgs/libreoffice/patches/build-option-java.patch diff --git a/srcpkgs/libreoffice/patches/001-build-option-java.patch b/srcpkgs/libreoffice/patches/001-build-option-java.patch new file mode 100644 index 00000000000..bc135ea5345 --- /dev/null +++ b/srcpkgs/libreoffice/patches/001-build-option-java.patch @@ -0,0 +1,18 @@ +--- a/cui/source/options/optjava.cxx ++++ b/cui/source/options/optjava.cxx +@@ -976,6 +976,7 @@ OUString SvxJavaClassPathDlg::GetClassPa + #if HAVE_FEATURE_JAVA + void SvxJavaClassPathDlg::SetClassPath( const OUString& _rPath ) + { ++#if HAVE_FEATURE_JAVA + if ( m_sOldPath.isEmpty() ) + m_sOldPath = _rPath; + m_xPathList->clear(); +@@ -1001,6 +1002,7 @@ void SvxJavaClassPathDlg::SetClassPath( + m_xPathList->select(0); + } + SelectHdl_Impl(*m_xPathList); ++#endif + } + #endif + diff --git a/srcpkgs/libreoffice/patches/libjvm-path-musl.patch b/srcpkgs/libreoffice/patches/002-libjvm-path-musl.patch similarity index 100% rename from srcpkgs/libreoffice/patches/libjvm-path-musl.patch rename to srcpkgs/libreoffice/patches/002-libjvm-path-musl.patch diff --git a/srcpkgs/libreoffice/patches/musl-java.patch b/srcpkgs/libreoffice/patches/003-musl-java.patch similarity index 87% rename from srcpkgs/libreoffice/patches/musl-java.patch rename to srcpkgs/libreoffice/patches/003-musl-java.patch index a5c62c296ff..3524fd66323 100644 --- a/srcpkgs/libreoffice/patches/musl-java.patch +++ b/srcpkgs/libreoffice/patches/003-musl-java.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -8909,7 +8909,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN +@@ -8998,7 +8998,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" ;; @@ -9,7 +9,7 @@ JAVAINC="-I$JAVA_HOME/include" JAVAINC="$JAVAINC -I$JAVA_HOME/include/linux" test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" -@@ -14744,7 +14744,7 @@ else +@@ -15074,7 +15074,7 @@ else case "$host_os" in @@ -20,7 +20,7 @@ fi --- a/configure +++ b/configure -@@ -22737,7 +22737,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN +@@ -23020,7 +23020,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" ;; @@ -29,7 +29,7 @@ JAVAINC="-I$JAVA_HOME/include" JAVAINC="$JAVAINC -I$JAVA_HOME/include/linux" test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" -@@ -46802,7 +46802,7 @@ else +@@ -48162,7 +48162,7 @@ else case "$host_os" in diff --git a/srcpkgs/libreoffice/patches/no-fsword_t.patch b/srcpkgs/libreoffice/patches/004-no-fsword_t.patch similarity index 92% rename from srcpkgs/libreoffice/patches/no-fsword_t.patch rename to srcpkgs/libreoffice/patches/004-no-fsword_t.patch index 482674caaaf..af2481f38f9 100644 --- a/srcpkgs/libreoffice/patches/no-fsword_t.patch +++ b/srcpkgs/libreoffice/patches/004-no-fsword_t.patch @@ -13,8 +13,6 @@ Reviewed-by: Stephan Bergmann sal/osl/unx/file.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx -index 5c4069cae2de4..b15fe963605fd 100644 --- a/sal/osl/unx/file.cxx +++ b/sal/osl/unx/file.cxx @@ -39,6 +39,7 @@ diff --git a/srcpkgs/libreoffice/patches/no-slowcheck.patch b/srcpkgs/libreoffice/patches/005-no-slowcheck.patch similarity index 100% rename from srcpkgs/libreoffice/patches/no-slowcheck.patch rename to srcpkgs/libreoffice/patches/005-no-slowcheck.patch diff --git a/srcpkgs/libreoffice/patches/006-cross-flag.patch b/srcpkgs/libreoffice/patches/006-cross-flag.patch new file mode 100644 index 00000000000..a43847862c0 --- /dev/null +++ b/srcpkgs/libreoffice/patches/006-cross-flag.patch @@ -0,0 +1,33 @@ +Upstream: needs work +Description: Perhaps cleanup a bit and submit to upstream + And we need to force *FLAGS_FOR_BUILD to something, + otherwise, those flags will be empty and make will pick up the *FLAGS + environment during build. +--- a/configure.ac ++++ b/configure.ac +@@ -5753,10 +5753,11 @@ if test "$cross_compiling" = "yes"; then + test -d config_build && cp -p config_build/*.h CONF-FOR-BUILD/config_host 2>/dev/null + ( + unset COM USING_X11 OS CPUNAME +- unset CC CXX SYSBASE CFLAGS ++ unset CC CXX SYSBASE CFLAGS CXXFLAGS CPP CPPFLAGS LD LDFLAGS + unset AR LD NM OBJDUMP PKG_CONFIG RANLIB READELF STRIP + unset CPPUNIT_CFLAGS CPPUNIT_LIBS + unset LIBXML_CFLAGS LIBXML_LIBS LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC ++ unset PYTHON_CFLAGS PYTHON_LIBS + unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH + if test -n "$CC_FOR_BUILD"; then + export CC="$CC_FOR_BUILD" +@@ -5766,6 +5767,12 @@ if test "$cross_compiling" = "yes"; then + export CXX="$CXX_FOR_BUILD" + CXX_BASE=`first_arg_basename "$CXX"` + fi ++ export CFLAGS="$CFLAGS_FOR_BUILD" ++ export CXXFLAGS="$CXXFLAGS_FOR_BUILD" ++ export CPP="$CPP_FOR_BUILD" ++ export CPPFLAGS="$CPPFLAGS_FOR_BUILD" ++ export LD="$LD_FOR_BUILD" ++ export LDFLAGS="$LDFLAGS_FOR_BUILD" + test -n "$PKG_CONFIG_FOR_BUILD" && export PKG_CONFIG="$PKG_CONFIG_FOR_BUILD" + cd CONF-FOR-BUILD + diff --git a/srcpkgs/libreoffice/patches/007-cross-python.patch b/srcpkgs/libreoffice/patches/007-cross-python.patch new file mode 100644 index 00000000000..4fcef7d3e54 --- /dev/null +++ b/srcpkgs/libreoffice/patches/007-cross-python.patch @@ -0,0 +1,13 @@ +Upstream: no +Description: In VoidLinux, we always have same version of python in build and host +--- a/configure.ac ++++ b/configure.ac +@@ -9879,8 +9879,6 @@ if test "$build_os" != "cygwin" -a "$ena + else + # This allows a lack of system python with no error, we use internal one in that case. + AM_PATH_PYTHON([3.3],, [:]) +- # Clean PYTHON_VERSION checked below if cross-compiling +- PYTHON_VERSION="" + if test "$PYTHON" != ":"; then + PYTHON_FOR_BUILD=$PYTHON + fi diff --git a/srcpkgs/libreoffice/patches/008-zxing.patch b/srcpkgs/libreoffice/patches/008-zxing.patch new file mode 100644 index 00000000000..133b28c605e --- /dev/null +++ b/srcpkgs/libreoffice/patches/008-zxing.patch @@ -0,0 +1,90 @@ +Upstream: maybe +Description: we should always check for full path + (i.e. ZXing/MultiFormatWriter), however those file hierarchy is made + by installation step, thus libreoffice must use the non-prefix. + Perhap we should changes the file hierarchy of zxing-cpp project instead? +--- a/configure.ac ++++ b/configure.ac +@@ -11292,35 +11292,16 @@ else + SYSTEM_ZXING=TRUE + ZXING_CFLAGS= + AC_LANG_PUSH([C++]) +- save_CXXFLAGS=$CXXFLAGS +- save_IFS=$IFS +- IFS=$P_SEP +- for i in $CPLUS_INCLUDE_PATH /usr/include; do +- dnl Reset IFS as soon as possible, to avoid unexpected side effects (and the +- dnl "/usr/include" fallback makes sure we get here at least once; resetting rather than +- dnl unsetting follows the advice at "Add recommendation on (not) +- dnl unsetting IFS."): +- IFS=$save_IFS +- dnl TODO: GCC and Clang treat empty paths in CPLUS_INCLUDE_PATH like ".", but we simply +- dnl ignore them here: +- if test -z "$i"; then +- continue +- fi +- dnl TODO: White space in $i would cause problems: +- CXXFLAGS="$save_CXXFLAGS ${CXXFLAGS_CXX11} -I$i/ZXing" +- AC_CHECK_HEADER(MultiFormatWriter.h, [ZXING_CFLAGS=-I$i/ZXing; break], +- [unset ac_cv_header_MultiFormatWriter_h], [#include ]) +- done +- CXXFLAGS=$save_CXXFLAGS +- if test -z "$ZXING_CFLAGS"; then ++ AC_CHECK_HEADER([ZXing/MultiFormatWriter.h],[],[ + AC_MSG_ERROR(zxing headers not found.) +- fi ++ ], [ ++ AC_INCLUDES_DEFAULT ++ #include ++ ]) + AC_CHECK_LIB([ZXing], [main], [ZXING_LIBS=-lZXing], + [ AC_CHECK_LIB([ZXingCore], [main], [ZXING_LIBS=-lZXingCore], + [ AC_MSG_ERROR(zxing C++ library not found.) ])], []) + AC_LANG_POP([C++]) +- ZXING_CFLAGS=$(printf '%s' "$ZXING_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g") + FilterLibs "${ZXING_LIBS}" + ZXING_LIBS="${filteredlibs}" + else +@@ -11337,8 +11318,8 @@ else + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11 $ZXING_CFLAGS" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +- #include +- #include ++ #include ++ #include + int main(){ + ZXing::BitMatrix matrix(1, 1); + matrix.set(0, 0, true); +--- a/cui/source/dialogs/QrCodeGenDialog.cxx ++++ b/cui/source/dialogs/QrCodeGenDialog.cxx +@@ -26,22 +26,22 @@ + #pragma GCC diagnostic ignored "-Wshadow" + #endif + +-#include +-#include +-#include ++#include ++#include ++#include + + #ifdef __GNUC__ + #pragma GCC diagnostic pop + #endif + + #if HAVE_ZXING_TOSVG +-#include ++#include + #endif + + #if __has_include() +-#include ++#include + #else +-#include ++#include + #endif + + #endif // ENABLE_ZXING diff --git a/srcpkgs/libreoffice/patches/009-kde.patch b/srcpkgs/libreoffice/patches/009-kde.patch new file mode 100644 index 00000000000..ea299000f9f --- /dev/null +++ b/srcpkgs/libreoffice/patches/009-kde.patch @@ -0,0 +1,38 @@ +Upstream: maybe +Description: Moving some runtime check to compile time check +--- a/configure.ac ++++ b/configure.ac +@@ -13410,12 +13410,13 @@ then + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$CXXFLAGS $KF5_CFLAGS" + AC_MSG_CHECKING([whether KDE is >= 5.0]) +- AC_RUN_IFELSE([AC_LANG_SOURCE([[ ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include + + int main(int argc, char **argv) { +- if (KCOREADDONS_VERSION_MAJOR == 5 && KCOREADDONS_VERSION_MINOR >= 0) return 0; +- else return 1; ++ int a[2 * (KCOREADDONS_VERSION_MAJOR == 5 && KCOREADDONS_VERSION_MINOR >= 0) - 1]; ++ a[0] = 0; ++ return a[0]; + } + ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([KDE version too old])],[]) + CXXFLAGS=$save_CXXFLAGS +@@ -13486,12 +13487,13 @@ then + CXXFLAGS="$CXXFLAGS $KF6_CFLAGS" + dnl KF6 development version as of 2023-06 uses version number 5.240 + AC_MSG_CHECKING([whether KDE is >= 5.240]) +- AC_RUN_IFELSE([AC_LANG_SOURCE([[ ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include + + int main(int argc, char **argv) { +- if (KCOREADDONS_VERSION_MAJOR == 6 || (KCOREADDONS_VERSION_MAJOR == 5 && KCOREADDONS_VERSION_MINOR >= 240)) return 0; +- else return 1; ++ int a[2 *(KCOREADDONS_VERSION_MAJOR == 6 || (KCOREADDONS_VERSION_MAJOR == 5 && KCOREADDONS_VERSION_MINOR >= 240)) - 1]; ++ a[0] = 0; ++ return a[0]; + } + ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([KDE version too old])],[]) + CXXFLAGS=$save_CXXFLAGS diff --git a/srcpkgs/libreoffice/patches/010-gpgmepp.patch b/srcpkgs/libreoffice/patches/010-gpgmepp.patch new file mode 100644 index 00000000000..19651724461 --- /dev/null +++ b/srcpkgs/libreoffice/patches/010-gpgmepp.patch @@ -0,0 +1,124 @@ +Upstream: no +Description: we should always use full path + (i.e. gpgme++/context.h), however those file hierarchy is made + by installation step, thus libreoffice must use the non-prefix + for vendored file. +--- a/comphelper/source/misc/docpasswordhelper.cxx ++++ b/comphelper/source/misc/docpasswordhelper.cxx +@@ -39,9 +39,9 @@ + #include + + #if HAVE_FEATURE_GPGME +-# include +-# include +-# include ++# include ++# include ++# include + #endif + + using ::com::sun::star::uno::Sequence; +--- a/comphelper/source/misc/storagehelper.cxx ++++ b/comphelper/source/misc/storagehelper.cxx +@@ -62,10 +62,10 @@ + #include + + #if HAVE_FEATURE_GPGME +-# include +-# include +-# include +-# include ++# include ++# include ++# include ++# include + #endif + + using namespace ::com::sun::star; +--- a/configure.ac ++++ b/configure.ac +@@ -12707,7 +12707,7 @@ elif test \( \( "$_os" = "Linux" -o "$_o + SYSTEM_GPGMEPP=TRUE + + # C++ library doesn't come with fancy gpgmepp-config, check for headers the old-fashioned way +- AC_CHECK_HEADER(gpgme++/gpgmepp_version.h, [ GPGMEPP_CFLAGS=-I/usr/include/gpgme++ ], ++ AC_CHECK_HEADER(gpgme++/gpgmepp_version.h, [], + [AC_MSG_ERROR([gpgmepp headers not found, install gpgmepp >= 1.14 development package])], []) + AC_CHECK_HEADER(gpgme.h, [], + [AC_MSG_ERROR([gpgme headers not found, install gpgme development package])], []) +--- a/xmlsecurity/source/gpg/CertificateImpl.cxx ++++ b/xmlsecurity/source/gpg/CertificateImpl.cxx +@@ -19,8 +19,8 @@ + #include + #include + +-#include +-#include ++#include ++#include + + using namespace css; + using namespace css::uno; +--- a/xmlsecurity/source/gpg/SEInitializer.cxx ++++ b/xmlsecurity/source/gpg/SEInitializer.cxx +@@ -12,7 +12,7 @@ + #include "SecurityEnvironment.hxx" + #include "XMLSecurityContext.hxx" + +-#include ++#include + + namespace com::sun::star::uno + { +--- a/xmlsecurity/source/gpg/SecurityEnvironment.cxx ++++ b/xmlsecurity/source/gpg/SecurityEnvironment.cxx +@@ -25,8 +25,8 @@ + #include + #endif + +-#include +-#include ++#include ++#include + #include + + #if defined _MSC_VER && defined __clang__ +@@ -37,7 +37,7 @@ + #if defined _MSC_VER && defined __clang__ + #pragma clang diagnostic pop + #endif +-#include ++#include + + using namespace css; + using namespace css::security; +--- a/xmlsecurity/source/gpg/CertificateImpl.hxx ++++ b/xmlsecurity/source/gpg/CertificateImpl.hxx +@@ -25,7 +25,7 @@ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wundef" + #endif +-#include ++#include + #if defined _MSC_VER && defined __clang__ + #pragma clang diagnostic pop + #endif +--- a/xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx ++++ b/xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx +@@ -32,11 +32,11 @@ + #if defined _MSC_VER && defined __clang__ + #pragma clang diagnostic pop + #endif +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include + + #include + #include diff --git a/srcpkgs/libreoffice/patches/build-option-java.patch b/srcpkgs/libreoffice/patches/build-option-java.patch deleted file mode 100644 index 217d54c12fa..00000000000 --- a/srcpkgs/libreoffice/patches/build-option-java.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur libreoffice-7.6.0.3.orig/cui/source/options/optjava.cxx libreoffice-7.6.0.3/cui/source/options/optjava.cxx ---- libreoffice-7.6.0.3.orig/cui/source/options/optjava.cxx 2023-08-08 15:49:18.000000000 -0400 -+++ libreoffice-7.6.0.3/cui/source/options/optjava.cxx 2023-08-21 12:38:20.652657824 -0400 -@@ -937,6 +937,7 @@ - - void SvxJavaClassPathDlg::SetClassPath( const OUString& _rPath ) - { -+#if HAVE_FEATURE_JAVA - if ( m_sOldPath.isEmpty() ) - m_sOldPath = _rPath; - m_xPathList->clear(); -@@ -962,6 +963,7 @@ - m_xPathList->select(0); - } - SelectHdl_Impl(*m_xPathList); -+#endif - } - - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template index 96ea62b01ea..592f02a8eef 100644 --- a/srcpkgs/libreoffice/template +++ b/srcpkgs/libreoffice/template @@ -1,31 +1,33 @@ # Template file for 'libreoffice' pkgname=libreoffice -version=24.2.3.2 -revision=2 +version=24.2.5.1 +revision=1 build_style=meta +build_helper="gir" make_build_target="build" +# Use order in configure.ac +_xdeps="zlib-devel libjpeg-turbo-devel clucene-devel expat-devel xmlsec1-devel + nss-devel nspr-devel librevenge-devel libodfgen-devel libepubgen-devel + libwpd-devel libwpg-devel libwps-devel libvisio-devel libcdr-devel + libmspub-devel libmwaw-devel libetonyek-devel libfreehand-devel + libe-book-devel libabw-devel libpagemaker-devel libqxp-devel libzmf-devel + libstaroffice-devel lcms2-devel libcppunit-devel freetype-devel libxslt-devel + libgcrypt-devel libxml2-devel python3-devel libcurl-devel boost-devel + mdds frozen glm unixodbc-devel libldap-devel sane-devel icu-devel liborcus-devel + graphite-devel harfbuzz-devel libargon2-devel redland-devel hunspell-devel + zxcvbn-c-devel zxing-cpp-devel box2d-devel hyphen-devel mythes-devel + CoinMP-devel lpsolve-devel libexttextcat-devel libnumbertext-devel + libepoxy-devel cairo-devel liblangtag-devel libpng-devel tiff-devel + libwebp-devel fontconfig-devel gobject-introspection libgirepository-devel" hostmakedepends="automake flex gperf hyphen icu libtool openldap which gettext xz tar perl-Archive-Zip pkg-config sane unzip zip python3-setuptools - fontforge python3-lxml qt6-base gtk4-devel gobject-introspection gnupg" -makedepends="CoinMP-devel apr-devel avahi-libs-devel clucene-devel - kf6-kio-devel - kf6-frameworkintegration-devel glyphy-devel gpgmepp-devel gst-plugins-base1-devel - gtk+3-devel gtk4-devel hunspell-devel hyphen-devel libXt-devel libabw-devel glm - libatomic_ops-devel libbluetooth-devel libcdr-devel libe-book-devel - libepubgen-devel libetonyek-devel libexttextcat-devel libfbclient3-devel - libfreehand-devel boost-devel zlib-devel bzip2-devel libxslt-devel frozen - libgcrypt-devel libgltf-devel libldap-devel libmariadbclient-devel libmspub-devel - libmwaw-devel libnumbertext-devel libodfgen-devel libopenjpeg2-devel - liborcus-devel libargon2-devel zxcvbn-c-devel libzmf-devel - libpagemaker-devel libqxp-devel librsvg-devel libvisio-devel libwpg-devel - libwps-devel lpsolve-devel mdds mythes-devel neon-devel nss-devel nspr-devel - postgresql-libs-devel python3-devel redland-devel sane-devel - telepathy-glib-devel unixodbc-devel vigra-devel libcppunit-devel imath-devel - qt6-base-devel libwebp-devel libgirepository-devel icu-devel twaindsm-devel - libepoxy-devel libcurl-devel cairo-devel graphite-devel libjpeg-turbo-devel - expat-devel fontconfig-devel freetype-devel harfbuzz-devel gpgmepp-devel - lcms2-devel openssl-devel libpng-devel tiff-devel librevenge-devel - xmlsec1-devel poppler-cpp-devel libxml2-devel zxing-cpp-devel" + fontforge python3-lxml qt6-base gnupg" +makedepends="$_xdeps openssl-devel libXrender-devel libbluetooth-devel + gpgmepp-devel libXinerama-devel libXt-devel libX11-devel libICE-devel + libSM-devel libopenjpeg2-devel abseil-cpp-devel poppler-cpp-devel + gtk+3-devel gtk4-devel gst-plugins-base1-devel + qt6-base-devel kf6-kio-devel kf6-frameworkintegration-devel + libmariadbclient-devel postgresql-libs-devel" # Add the previously installed default languages as well depends="libreoffice-common>=${version}_${revision} libreoffice-base>=${version}_${revision} @@ -47,15 +49,15 @@ depends="libreoffice-common>=${version}_${revision} libreoffice-i18n-pt>=${version}_${revision}" checkdepends="gdb" short_desc="Productivity suite" -maintainer="Érico Nogueira " +maintainer="Đoàn Trần Công Danh " license="GPL-3.0-or-later" homepage="https://www.libreoffice.org/" -nocross="Several dependencies are nocross=yes" +# nocross="Several dependencies are nocross=yes" # Source, dictionary, help and translations _baseurl="https://download.documentfoundation.org/libreoffice/src/${version%.*}" # Please don't remove this mirror, it's faster for me -_baseurl="https://download.nus.edu.sg/mirror/tdf/libreoffice/src/${version%.*}" +# _baseurl="https://download.nus.edu.sg/mirror/tdf/libreoffice/src/${version%.*}" # _baseurl="https://mirrors.nju.edu.cn/tdf/libreoffice/src/${version%.*}" _addurl="https://dev-www.libreoffice.org/src" _exturl="https://dev-www.libreoffice.org/extern" @@ -73,9 +75,7 @@ distfiles=" ${_addurl}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip ${_addurl}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ${_addurl}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip - ${_addurl}/box2d-2.4.1.tar.gz ${_addurl}/libcmis-0.6.1.tar.xz - ${_addurl}/libstaroffice-0.0.7.tar.xz ${_addurl}/pdfium-6179.tar.bz2 ${_exturl}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar ${_exturl}/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar @@ -97,9 +97,9 @@ distfiles=" ${_addurl}/Java-WebSocket-1.5.4.tar.gz ${_addurl}/zxcvbn-c-2.5.tar.gz " -checksum="f6e2059cd85d07793e8d95828b2412906bdba8bf61a5f76b8c51907898481e64 - 8e8acf4c09e2a43e8a86a19418bade97f67b837917bd0c2c6af9c8a8b261bb6b - e71053a3b51f79079ef745663e68432c2bf20e49557083ab4de1a40c9fae2b4a +checksum="8c73a987d538cec82556ca2f654cdcaefed28f8d623a337e0671fd3550f1f3f5 + 815e039d3bf26e8a9d172758ae3a7259668a0755571d7196edd34e1dc3043e20 + b9c9422b46fbbccc6fb2de6ab0b7422ec0d9b8feb7657e8532007ba9d1838be7 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753 75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870 7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66 @@ -107,9 +107,7 @@ checksum="f6e2059cd85d07793e8d95828b2412906bdba8bf61a5f76b8c51907898481e64 d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd - d6b4650ff897ee1ead27cf77a5933ea197cbeef6705638dd181adc2e816b23c2 d54d19d86153dbc88e2d468f7136269a2cfe71b73227e12fded01d29ac268074 - f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db 4d3f08fe0e2fda86246832085426616826dcca0912202874428bfbc24d13d95c f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770 d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0 @@ -138,9 +136,7 @@ skip_extraction=" 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip - box2d-2.4.1.tar.gz libcmis-0.6.1.tar.xz - libstaroffice-0.0.7.tar.xz pdfium-6179.tar.bz2 8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar @@ -164,8 +160,9 @@ skip_extraction=" " replaces="libreoffice-firebird<6.2.4.2_1" -build_options="java" +build_options="java firebird" desc_option_java="Enable Java support" +desc_option_firebird="Enable Firebird SDBC support" CXXFLAGS="-DGLM_ENABLE_EXPERIMENTAL -DU_USING_ICU_NAMESPACE=1" @@ -173,11 +170,24 @@ case "$XBPS_TARGET_MACHINE" in i686*) # Broken unit tests CXXFLAGS+=" -DDISABLE_CVE_TESTS=1" ;; - x86_64*|ppc64*) build_options_default="java" - makedepends+=" openjdk17 apache-ant" - ;; + x86_64*|ppc64*) build_options_default="java" ;; + armv[56]*) broken="untested" ;; esac +if [ -z "$CROSS_BUILD" ]; then + build_options_default+=" firebird" +else + hostmakedepends+=" $_xdeps" +fi + +if [ "$build_option_java" ]; then + makedepends+=" openjdk17 apache-ant" +fi + +if [ "$build_option_firebird" ]; then + makedepends+=" libfbclient3-devel libatomic_ops-devel" +fi + # Move files listed in a _list.txt into $PKGDESTDIR _split() { local list file dir destdir @@ -396,6 +406,7 @@ post_patch() { do_configure() { local opts + local bopts= # the build system tries to call curl or wget, we can catch any invocations here and add them to distfiles ln -sf /bin/false ${XBPS_WRAPPERDIR}/curl @@ -436,7 +447,9 @@ do_configure() { opts+=" --disable-epm" # New strategy: enable all libs and headers, then disable what's missing opts+=" --with-system-libs" + bopts+=" --with-system-libs" opts+=" --with-system-headers" + bopts+=" --with-system-headers" case "$XBPS_TARGET_MACHINE" in x86_64) # opts+=" --enable-ext-mariadb-connector" # opts+=" --enable-ext-ct2n" @@ -462,30 +475,55 @@ do_configure() { else opts+=" --without-java" fi + + # You can native compile firebird then cross-compile libreoffice. + if [ "$build_option_firebird" ]; then + export FIREBIRD_CFLAGS=-I$XBPS_CROSS_BASE/usr/include/firebird + export FIREBIRD_LIBS=-lfbclient + opts+=" --enable-firebird-sdbc" + else + opts+=" --disable-firebird-sdbc" + fi + opts+=" --with-tls=nss" - opts+=" --without-system-abseil" - opts+=" --without-system-box2d" # https://github.com/tdf/libcmis/pull/43 changes ABI opts+=" --without-system-libcmis" - opts+=" --without-system-libstaroffice" + bopts+=" --without-system-libcmis" opts+=" --without-system-libtommath" + bopts+=" --without-system-libtommath" opts+=" --without-system-jfreereport" + bopts+=" --without-system-jfreereport" opts+=" --without-system-beanshell" - # opts+=" --without-system-cuckoo" - # opts+=" --without-system-glm" + bopts+=" --without-system-beanshell" opts+=" --without-system-dragonbox" + bopts+=" --without-system-dragonbox" opts+=" --without-system-libfixmath" + bopts+=" --without-system-libfixmath" opts+=" --without-myspell-dicts" - # opts+=" --with-system-icu-for-build=yes" # use system utilities opts+=" --enable-build-opensymbol" # finish configuring build - opts+=" --with-external-dict-dir=${XBPS_CROSS_BASE}/usr/share/hunspell" - opts+=" --with-external-hyph-dir=${XBPS_CROSS_BASE}/usr/share/hyphen" - opts+=" --with-external-thes-dir=${XBPS_CROSS_BASE}/usr/share/mythes" + opts+=" --with-external-dict-dir=/usr/share/hunspell" + opts+=" --with-external-hyph-dir=/usr/share/hyphen" + opts+=" --with-external-thes-dir=/usr/share/mythes" opts+=" --with-parallelism=${XBPS_MAKEJOBS}" - ./configure ${opts} --with-lang="${_languages}" + if [ "$CROSS_BUILD" ]; then + opts+=" --host=$XBPS_CROSS_TRIPLET" + opts+=" --with-boost=${XBPS_CROSS_BASE}/usr" + opts+=" --x-libraries=${XBPS_CROSS_BASE}/usr/lib" + export QT6INC=$XBPS_CROSS_BASE/usr/include/qt6 + export QT6LIB=$XBPS_CROSS_BASE/usr/lib + export KF6INC=$XBPS_CROSS_BASE/usr/include + export KF6LIB=$XBPS_CROSS_BASE/usr/lib + # CXXFLAGS+=" -I$XBPS_CROSS_BASE/${py3_inc}" + export PYTHON_CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}" + export PYTHON_LIBS="-L$XBPS_CROSS_BASE/usr/lib -lpython${py3_ver}" + LDFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD" + fi + + ./configure ${opts} --with-lang="${_languages}" \ + --with-build-platform-configure-options="$bopts" } do_build() { diff --git a/srcpkgs/libreoffice/update b/srcpkgs/libreoffice/update index 6a313fbec73..40269b427e7 100644 --- a/srcpkgs/libreoffice/update +++ b/srcpkgs/libreoffice/update @@ -1 +1 @@ -site=https://downloadarchive.documentfoundation.org/libreoffice/old/latest/src/ +site=https://www.libreoffice.org/download/download-libreoffice/