diff options
-rw-r--r-- | debian/README.Debian-source | 21 | ||||
-rw-r--r-- | debian/changelog | 62 | ||||
-rw-r--r-- | debian/control | 98 | ||||
-rw-r--r-- | debian/control.in | 2 | ||||
-rw-r--r-- | debian/control.mediawiki.in | 2 | ||||
-rw-r--r-- | debian/control.nlpsolver.in | 1 | ||||
-rw-r--r-- | debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff | 2 | ||||
-rw-r--r-- | debian/patches/pdfium-ports.diff | 42 | ||||
-rw-r--r-- | debian/patches/python-3.12.diff | 120 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rwxr-xr-x | debian/rules | 275 |
11 files changed, 482 insertions, 145 deletions
diff --git a/debian/README.Debian-source b/debian/README.Debian-source index 7b9f523b2f..5bc3f54609 100644 --- a/debian/README.Debian-source +++ b/debian/README.Debian-source @@ -80,3 +80,24 @@ $ git submodule init For tarballs/, see above +Build profiles +============== + +Except the "common" build profiles + - nodoc + - nocheck + - nopython + - nojava + - nogir +this source package also has + - an own one which controls whether opens___.ttf of fonts-opensymbol is rebuilt + (which needs fontforge-nox | fontforge) (pkg.libreoffice.opensymbolbuild, default on arch + inde builds) or not. + If this is disabled you must provide opens___.ttf itself since the upstream build will fail + wiithout it being present. The canonical way (which is what upstream does per default actually) + is to put https://dev-www.libreoffice.org/extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf + into tarballs/. It will be picked up from there. + - Then we get a fonts-opensymbol Build-Depends-Arch to make arch-dep builds use the + rebuilt font. In case this makes problem this can be built still by + debuild (-b) -Ppkg.libreoffice.opensymbolbuild + diff --git a/debian/changelog b/debian/changelog index a10383e24a..500e1d4f61 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,65 @@ +libreoffice (4:24.2.2-1) unstable; urgency=medium + + * LibreOffice 24.2.2 release (identical to rc2) + + * upload to unstable + + -- Rene Engelhard <rene@debian.org> Thu, 28 Mar 2024 08:28:58 +0000 + +libreoffice (4:24.2.2~rc2-2) experimental; urgency=medium + + * debian/rules: + - explicitely --disable-* GTK3/dbus/gpgmepp if not to be enabled + - fix DBUS disabling for build-indep + + -- Rene Engelhard <rene@debian.org> Wed, 27 Mar 2024 17:23:35 +0000 + +libreoffice (4:24.2.2~rc2-1) experimental; urgency=medium + + * debian/patches/python-3.12.diff: add from libreoffice-24-2 branch; + only a warning here but probably senseful to have anyway + + * New upstream release candidate + + * debian/rules: + - build-depend on python3-setuptools instead of + python3-distutils (closes: #1065893) + - move images_helpimg.zip to libreoffice-help-common + - don't make build: call build-arch and build-indep manually but + depend on it (and $(STAMP_DIR)/prepare) + - reduce some build-deps to make transitions easier with all the + build-deps we have: + + move fontforge to B-D-I and rebuild opens___.ttf as before. Make + arch-dep builds use fonts-opensymbol and it's copy as it's already + thre. + Implement build profiles to change behaviour here should there + ever be need for it (e.g. if one needed a new version of + opensymbol for the tests and it's not available (yet)). + + aggressively disable unneeded stuff for build-indep builds we don't + need for generating the indep stuff. Move their build deps to + Build-Depends-Arch:. Work around install failures for the KDE stuff in + install-common + - move install of the lokit and gir stuff from install-common to + install-arch, both libreofficekit-dev and gir1.2-lokdocview-0.1 + are arch-dep anyway + * debian/control.in: add replaces to libreoffice-common on + libreoffice-help-common for the images_helpimg.zip move + + -- Rene Engelhard <rene@debian.org> Fri, 22 Mar 2024 20:37:15 +0100 + +libreoffice (4:24.2.2~rc1-2) experimental; urgency=medium + + * debian/patches/fix-32bit-build.diff: as name says; from upstream + gerrit + + -- Rene Engelhard <rene@debian.org> Fri, 08 Mar 2024 10:13:05 +0100 + +libreoffice (4:24.2.2~rc1-1) experimental; urgency=medium + + * New upstream release candidate + + -- Rene Engelhard <rene@debian.org> Thu, 07 Mar 2024 16:55:54 +0100 + libreoffice (4:24.2.1-4) unstable; urgency=medium * debian/rules: diff --git a/debian/control b/debian/control index 661448e2f1..bf26937ae6 100644 --- a/debian/control +++ b/debian/control @@ -14,32 +14,23 @@ Build-Depends: autoconf, binutils (>= 2.37-9) [ppc64], bison, bzip2, - clang [!alpha !hppa !ia64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !s390x !sparc !sparc64], - coinor-libcoinmp-dev, - coinor-libcoinutils-dev, debhelper-compat (= 12), - default-jdk (>= 2:1.17) [!hppa !hurd-i386 !kfreebsd-amd64 !kfreebsd-i386 !hurd-i386 !powerpcspe !s390 !sparc !ppc64el !s390x !armhf] <!nojava>, + default-jdk (>= 2:1.9) [!hppa !hurd-i386 !kfreebsd-amd64 !kfreebsd-i386 !hurd-i386 !powerpcspe !s390 !sparc !ppc64el !s390x !armhf] <!nojava>, dh-python <!nopython>, dpkg-dev (>= 1.22.5) [armel armhf hppa kfreebsd-i386 m68k mips mipsel powerpc powerpcspe sparc], - firebird-dev, flex, - fontforge-nox | fontforge, g++ (>= 4:12), g++-12 [i386], gcc (>= 4:12), gcc-12 [i386], - gobject-introspection <!nogir>, gperf, java-common (>= 0.75) <!nojava>, - javahelper <!nojava>, + javahelper [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, junit4 [amd64 arm64] <!nocheck !nojava>, - libabsl-dev [alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 loong64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64], libabw-dev (<< 0.2~), libabw-dev (>= 0.1), libarchive-zip-perl [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, libargon2-dev, - libatk1.0-dev, - libavahi-client-dev, libbase-java [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, libbluetooth-dev [linux-any], libboost-date-time-dev, @@ -57,12 +48,10 @@ Build-Depends: autoconf, libcmis-dev (>= 0.6.1~), libcups2-dev, libcurl4-openssl-dev, - libdbus-1-dev, libdconf-dev (>= 0.40), libdragonbox-dev, libe-book-dev (<< 0.2~), libe-book-dev (>= 0.1), - libebook1.2-dev, libeot-dev, libepoxy-dev, libepubgen-dev (<< 0.2~), @@ -80,18 +69,10 @@ Build-Depends: autoconf, libfreehand-dev (>= 0.1), libfreetype-dev, libfrozen-dev, - libgirepository1.0-dev <!nogir>, libgl-dev, libglib2.0-dev, libglm-dev, - libgpg-error-dev, - libgpgme-dev, - libgpgmepp-dev, libgraphite2-dev, - libgstreamer-plugins-base1.0-dev, - libgstreamer1.0-dev, - libgtk-3-dev, - libgtk-4-dev, libharfbuzz-dev (>= 5.1.0), libhsqldb1.8.0-java [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, libhunspell-dev, @@ -99,19 +80,12 @@ Build-Depends: autoconf, libice-dev, libicu-dev, libjpeg-dev, - libkf5config-dev, - libkf5coreaddons-dev, - libkf5i18n-dev, - libkf5kio-dev, - libkf5windowsystem-dev, + libkrb5-dev, liblangtag-dev, liblayout-java [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, liblcms2-dev, - libldap-dev, libloader-java [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, liblockfile-bin, - liblpsolve55-dev, - libmariadb-dev, libmdds-dev (<< 2.2~), libmdds-dev (>= 2.1), libmspub-dev (<< 0.2~), @@ -124,7 +98,6 @@ Build-Depends: autoconf, libnumbertext-dev, libodfgen-dev (<< 0.2~), libodfgen-dev (>= 0.1), - libopenjp2-7-dev [alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 loong64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64], liborcus-dev (<< 0.20~), liborcus-dev (>= 0.19.1), libpagemaker-dev, @@ -134,8 +107,6 @@ Build-Depends: autoconf, libpoppler-cpp-dev, libpoppler-dev, libpoppler-private-dev, - libpq-dev, - libqt5x11extras5-dev, libqxp-dev, libqxp-dev (<< 0.1~), librdf0-dev, @@ -162,7 +133,6 @@ Build-Depends: autoconf, libx11-dev, libx11-xcb-dev, libxaw7-dev, - libxcb1-dev, libxext-dev, libxinerama-dev, libxkbfile-dev, @@ -180,19 +150,11 @@ Build-Depends: autoconf, libzmf-dev (<< 0.1~), libzxcvbn-dev, libzxing-dev, - llvm [!alpha !hppa !ia64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !s390x !sparc !sparc64], - lp-solve, maven-repo-helper [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, pkg-config, python3, python3-dev <!nopython>, - python3-distutils <!nopython>, - qmake6, - qt5-qmake, - qt6-base-dev, - qt6-base-dev-tools, - qtbase5-dev, - qtbase5-dev-tools, + python3-setuptools <!nopython>, unixodbc-dev, unzip, x11proto-render-dev, @@ -200,8 +162,12 @@ Build-Depends: autoconf, zip, zlib1g-dev Build-Depends-Arch: at-spi2-core [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, + clang [!alpha !hppa !ia64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !s390x !sparc !sparc64], + coinor-libcoinmp-dev, + coinor-libcoinutils-dev, dbus-x11 [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, - firebird3.0-server-core <!nocheck>, + firebird-dev [!m68k], + firebird3.0-server-core [!m68k] <!nocheck>, fontconfig [amd64 arm64 armhf i386 ppc64el s390x] <!nocheck>, fonts-crosextra-caladea [amd64 arm64 armhf i386 ppc64el s390x] <!nocheck>, fonts-crosextra-carlito (>= 20230309) [amd64 arm64 armhf i386 ppc64el s390x] <!nocheck>, @@ -210,8 +176,10 @@ Build-Depends-Arch: at-spi2-core [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd6 fonts-liberation (>= 1:2) [amd64 arm64 armhf i386 ppc64el s390x] <!nocheck>, fonts-linuxlibertine [amd64 arm64 armhf i386 ppc64el s390x] <!nocheck>, fonts-noto-core [amd64 arm64 armhf i386 ppc64el s390x] <!nocheck>, + fonts-opensymbol <!pkg.libreoffice.opensymbolbuild>, gdb [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, ghostscript [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, + gobject-introspection <!nogir>, gpg [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, gpg-agent [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, gpgconf [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, @@ -219,14 +187,49 @@ Build-Depends-Arch: at-spi2-core [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd6 hyphen-en-us [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, hyphen-es [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, imagemagick [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, + libabsl-dev [alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 loong64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64], + libatk1.0-dev, libatspi2.0-dev [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, + libavahi-client-dev, + libcairo2-dev, libcppunit-dev (>= 1.15.1-4) [amd64 arm64 armhf] <!nocheck>, libcppunit-dev <!nocheck>, + libdbus-1-dev, + libebook1.2-dev, + libgirepository1.0-dev <!nogir>, + libglib2.0-dev, + libgpg-error-dev, + libgpgme-dev, + libgpgmepp-dev, + libgstreamer-plugins-base1.0-dev, + libgstreamer1.0-dev, + libgtk-3-dev, + libgtk-4-dev, + libkf5config-dev, + libkf5coreaddons-dev, + libkf5i18n-dev, + libkf5kio-dev, + libkf5windowsystem-dev, + libldap-dev, + liblpsolve55-dev, + libmariadb-dev, libnumbertext-data (>= 1.0.11) <!nocheck>, + libopenjp2-7-dev [alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 loong64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64], + libpq-dev, + libqt5x11extras5-dev, + libxcb1-dev, + llvm [!alpha !hppa !ia64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !s390x !sparc !sparc64], locales [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, + lp-solve, poppler-data [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, pstoedit [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, python3-lxml [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck !nopython>, + qmake6, + qt5-qmake, + qt6-base-dev, + qt6-base-dev-tools, + qtbase5-dev, + qtbase5-dev-tools, xauth [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck>, xvfb [!alpha !armel !hppa !i386 !ia64 !kfreebsd-amd64 !kfreebsd-i386 !loong64 !m68k !mips !mipsel !mips64 !mips64el !powerpc !powerpcspe !ppc64 !ppc64el !riscv64 !s390x !sparc !sparc64] <!nocheck> Build-Depends-Indep: ant [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !powerpcspe !ppc64el !s390x !sparc] <!nojava>, @@ -234,6 +237,7 @@ Build-Depends-Indep: ant [!armhf !hppa !kfreebsd-amd64 !kfreebsd-i386 !mips64 !p apparmor <!nocheck>, dh-apparmor, doxygen <!nodoc>, + fontforge-nox | fontforge <!pkg.libreoffice.noopensymbolbuild>, gettext, graphviz <!nodoc>, junit4 <!nojava>, @@ -246,7 +250,6 @@ Build-Conflicts: amd-libopencl1, fontconfig-config (= 2.14.1-1) <!nocheck>, fontconfig-config (= 2.14.1-2) <!nocheck>, fontconfig-config (= 2.14.1-3) <!nocheck>, - fonts-opensymbol <!nocheck>, nvidia-glx-dev, nvidia-glx-legacy-dev, nvidia-libopencl1 @@ -645,7 +648,7 @@ Package: libreoffice-help-common Architecture: all Depends: libreoffice-common, ${help-common-depends}, ${misc:Depends} Breaks: libreoffice-common (<< 1:6.1.0~alpha1-1) -Replaces: libreoffice-common (<< 1:6.1.0~alpha1-1) +Replaces: libreoffice-common (<< 4:24.2.2~rc2) Description: office productivity suite -- common files for LibreOffice help LibreOffice is a full-featured office productivity suite that provides a near drop-in replacement for Microsoft(R) Office. @@ -5040,7 +5043,7 @@ Depends: liblibreoffice-java, ${java:Depends}, ${misc:Depends} Enhances: libreoffice-writer -Suggests: mediawiki +Suggests: libreoffice-help-common, mediawiki Description: LibreOffice extension for working with MediaWiki articles LibreOffice is a full-featured office productivity suite that provides a near drop-in replacement for Microsoft(R) Office. @@ -5128,6 +5131,7 @@ Depends: liblibreoffice-java, ${java-common-depends}, ${java-runtime-depends}, ${misc:Depends} +Suggests: libreoffice-help-common Section: math Description: "Solver for Nonlinear Programming" extension for LibreOffice By default LibreOffice Calc ships with a solver engine for linear @@ -5454,7 +5458,7 @@ Depends: libreoffice-core-nogui | libreoffice-core, ${firebird-engine-depends}, ${misc:Depends}, ${shlibs:Depends} -Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 loong64 m68k mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 +Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 loong64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 Section: database Enhances: libreoffice-base-drivers Description: Firebird SDBC driver for LibreOffice diff --git a/debian/control.in b/debian/control.in index f6b6d87a62..4087d38726 100644 --- a/debian/control.in +++ b/debian/control.in @@ -381,7 +381,7 @@ Package: libreoffice-help-common Architecture: all Depends: libreoffice-common, ${help-common-depends}, ${misc:Depends} Breaks: libreoffice-common (<< 1:6.1.0~alpha1-1) -Replaces: libreoffice-common (<< 1:6.1.0~alpha1-1) +Replaces: libreoffice-common (<< 4:24.2.2~rc2) Description: office productivity suite -- common files for LibreOffice help LibreOffice is a full-featured office productivity suite that provides a near drop-in replacement for Microsoft(R) Office. diff --git a/debian/control.mediawiki.in b/debian/control.mediawiki.in index 9255a51a0a..55e3c5c89c 100644 --- a/debian/control.mediawiki.in +++ b/debian/control.mediawiki.in @@ -8,7 +8,7 @@ Depends: libreoffice-core, ${java-runtime-depends}, ${misc:Depends} Enhances: libreoffice-writer -Suggests: mediawiki +Suggests: mediawiki, libreoffice-help-common Description: LibreOffice extension for working with MediaWiki articles LibreOffice is a full-featured office productivity suite that provides a near drop-in replacement for Microsoft(R) Office. diff --git a/debian/control.nlpsolver.in b/debian/control.nlpsolver.in index 9b540eeaa8..9b386d8bc4 100644 --- a/debian/control.nlpsolver.in +++ b/debian/control.nlpsolver.in @@ -1,6 +1,7 @@ Package: libreoffice-nlpsolver Architecture: all Depends: ${misc:Depends}, libreoffice-calc, libreoffice-core, liblibreoffice-java, ${java-common-depends}, ${java-runtime-depends} +Suggests: libreoffice-help-common Section: math Description: "Solver for Nonlinear Programming" extension for LibreOffice By default LibreOffice Calc ships with a solver engine for linear diff --git a/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff b/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff index 72c4914bf9..d8309ba293 100644 --- a/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff +++ b/debian/patches/disable-java-in-odk-build-examples-on-zero-vm.diff @@ -28,7 +28,7 @@ index 06398bfa99a7..06835ae884c4 100644 + fi fi else - AC_MSG_ERROR([Java not found. You need at least JDK 17]) + AC_MSG_ERROR([Java not found. You need at least JDK 8]) @@ -7841,6 +7849,7 @@ else JAVAIFLAGS=$JAVAIFLAGS_FOR_BUILD fi diff --git a/debian/patches/pdfium-ports.diff b/debian/patches/pdfium-ports.diff new file mode 100644 index 0000000000..2f450f5e60 --- /dev/null +++ b/debian/patches/pdfium-ports.diff @@ -0,0 +1,42 @@ +--- a/external/pdfium/debian-ports.diff 2024-03-04 21:33:17.133064736 +0100 ++++ b/external/pdfium/debian-ports.diff 2024-03-05 16:52:13.688932548 +0100 +@@ -0,0 +1,28 @@ ++--- build/build_config.h 2024-03-05 16:50:08.624785549 +0100 +++++ build/build_config.h 2024-03-05 16:50:55.616839071 +0100 ++@@ -350,6 +350,25 @@ ++ #define ARCH_CPU_RISCV64 1 ++ #define ARCH_CPU_64_BITS 1 ++ #define ARCH_CPU_LITTLE_ENDIAN 1 +++#elif defined(__sparc__) +++#define ARCH_CPU_BIG_ENDIAN 1 +++#if defined(__arch64__) +++#define ARCH_CPU_64_BITS 1 +++#else +++#define ARCH_CPU_32_BITS 1 +++#endif +++#elif defined(__m68k__) +++#define ARCH_CPU_32_BITS 1 +++#define ARCH_CPU_BIG_ENDIAN 1 +++#elif defined(__hppa__) +++#define ARCH_CPU_32_BITS 1 +++#define ARCH_CPU_BIG_ENDIAN 1 +++#elif defined(__alpha__) +++#define ARCH_CPU_64_BITS 1 +++#define ARCH_CPU_LITTLE_ENDIAN 1 +++#elif defined(__ia64__) +++#define ARCH_CPU_64_BITS 1 +++#define ARCH_CPU_LITTLE_ENDIAN 1 ++ #else ++ #error Please add support for your architecture in build/build_config.h ++ #endif +--- a/external/pdfium/UnpackedTarball_pdfium.mk 2024-03-05 16:54:17.425089179 +0100 ++++ b/external/pdfium/UnpackedTarball_pdfium.mk 2024-03-05 16:54:31.949108078 +0100 +@@ -18,6 +18,8 @@ + + pdfium_patches += system-abseil.diff + ++pdfium_patches += debian-ports.diff ++ + $(eval $(call gb_UnpackedTarball_UnpackedTarball,pdfium)) + + $(eval $(call gb_UnpackedTarball_set_tarball,pdfium,$(PDFIUM_TARBALL))) diff --git a/debian/patches/python-3.12.diff b/debian/patches/python-3.12.diff new file mode 100644 index 0000000000..40a341470c --- /dev/null +++ b/debian/patches/python-3.12.diff @@ -0,0 +1,120 @@ +From 7a561440acd01949e9b7b4efef9062ce05ce5d64 Mon Sep 17 00:00:00 2001 +From: Justin Luth <jluth@mail.com> +Date: Wed, 13 Mar 2024 08:38:40 -0400 +Subject: allow build with python 3.12.0: initialize new tp_watched +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the build failure after I updated Ubuntu 24.04 (alpha), +which upgraded python 3.11.7 to python 3.12.0, causing the error: + +libreoffice/pyuno/source/module/pyuno_callable.cxx:249:1: +error: missing initializer for member ‘_typeobject::tp_watched’ +[-Werror=missing-field-initializers] +... + +I gleaned this information from a July 2023 commit for +https://github.com/xbmc/xbmc/issues/23503 + +tp_watched was added in upstream commit python/cpython@82ccbf6 +https://github.com/python/cpython/commit/82ccbf69a842db25d8117f1c41b47aa5b4ed96ab + +This change first appeared in Python v3.12.0a1 + +Change-Id: If82ff1eb47d66d2669d90d6e00e0feff3c55b5ca +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164775 +Tested-by: Jenkins +Reviewed-by: Justin Luth <jluth@mail.com> +Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164785 +--- + pyuno/source/module/pyuno.cxx | 3 +++ + pyuno/source/module/pyuno_callable.cxx | 3 +++ + pyuno/source/module/pyuno_iterator.cxx | 6 ++++++ + pyuno/source/module/pyuno_runtime.cxx | 3 +++ + pyuno/source/module/pyuno_struct.cxx | 3 +++ + 5 files changed, 18 insertions(+) + +diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx +index bd4904d5f729..a589c72ba3bf 100644 +--- a/pyuno/source/module/pyuno.cxx ++++ b/pyuno/source/module/pyuno.cxx +@@ -1667,6 +1667,9 @@ static PyTypeObject PyUNOType = + #pragma clang diagnostic pop + #endif + #endif ++#if PY_VERSION_HEX >= 0x030C00A1 ++ , 0 // tp_watched ++#endif + #endif + #endif + }; +diff --git a/pyuno/source/module/pyuno_callable.cxx b/pyuno/source/module/pyuno_callable.cxx +index f22de316b7de..8f19fc8eb654 100644 +--- a/pyuno/source/module/pyuno_callable.cxx ++++ b/pyuno/source/module/pyuno_callable.cxx +@@ -244,6 +244,9 @@ static PyTypeObject PyUNO_callable_Type = + #pragma clang diagnostic pop + #endif + #endif ++#if PY_VERSION_HEX >= 0x030C00A1 ++ , 0 // tp_watched ++#endif + #endif + #endif + }; +diff --git a/pyuno/source/module/pyuno_iterator.cxx b/pyuno/source/module/pyuno_iterator.cxx +index 134f318a1017..2fc70a32fcff 100644 +--- a/pyuno/source/module/pyuno_iterator.cxx ++++ b/pyuno/source/module/pyuno_iterator.cxx +@@ -177,6 +177,9 @@ static PyTypeObject PyUNO_iterator_Type = + #pragma clang diagnostic pop + #endif + #endif ++#if PY_VERSION_HEX >= 0x030C00A1 ++ , 0 // tp_watched ++#endif + #endif + #endif + }; +@@ -323,6 +326,9 @@ static PyTypeObject PyUNO_list_iterator_Type = + #pragma clang diagnostic pop + #endif + #endif ++#if PY_VERSION_HEX >= 0x030C00A1 ++ , 0 // tp_watched ++#endif + #endif + #endif + }; +diff --git a/pyuno/source/module/pyuno_runtime.cxx b/pyuno/source/module/pyuno_runtime.cxx +index cb95e5a46dc1..91e971fdd582 100644 +--- a/pyuno/source/module/pyuno_runtime.cxx ++++ b/pyuno/source/module/pyuno_runtime.cxx +@@ -139,6 +139,9 @@ static PyTypeObject RuntimeImpl_Type = + #pragma clang diagnostic pop + #endif + #endif ++#if PY_VERSION_HEX >= 0x030C00A1 ++ , 0 // tp_watched ++#endif + #endif + #endif + }; +diff --git a/pyuno/source/module/pyuno_struct.cxx b/pyuno/source/module/pyuno_struct.cxx +index c8fd7e987905..364f2776011a 100644 +--- a/pyuno/source/module/pyuno_struct.cxx ++++ b/pyuno/source/module/pyuno_struct.cxx +@@ -354,6 +354,9 @@ static PyTypeObject PyUNOStructType = + #pragma clang diagnostic pop + #endif + #endif ++#if PY_VERSION_HEX >= 0x030C00A1 ++ , 0 // tp_watched ++#endif + #endif + #endif + }; +-- +cgit v1.2.3
\ No newline at end of file diff --git a/debian/patches/series b/debian/patches/series index b25a3b7f78..2c12454c06 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -48,3 +48,5 @@ we-dont-have-the-needed-fonts.diff adapt-for-new-carlito.diff fix-system-abseil-build.diff fix-riscv64-bridge.diff +pdfium-ports.diff +python-3.12.diff diff --git a/debian/rules b/debian/rules index 51762601f7..f3605584e6 100755 --- a/debian/rules +++ b/debian/rules @@ -83,7 +83,7 @@ lo_sources_ver=$(shell grep AC_INIT $(SOURCE_TREE)/configure.ac | grep documentf # NOT in proper libreoffice-3-6 branch # use ./g checkout -b tag-libreoffice-3.6.2.1 libreoffice-3.6.2.1 GIT_TAG=libreoffice-$(lo_sources_ver) -GIT_BRANCH=libreoffice-24-2-1 +GIT_BRANCH=libreoffice-24-2-2 endif ifeq "$(USE_SOURCE_TARBALLS)" "y" lo_sources_ver=$(shell cat $(CURDIR)/sources.ver | cut -d= -f2) @@ -104,7 +104,6 @@ BUILD_DEPS=\ bison,\ bzip2,\ flex, \ - fontforge-nox | fontforge, \ gperf,\ libfreetype-dev,\ libfontconfig-dev,\ @@ -202,6 +201,7 @@ ENABLE_ZXING=y SYSTEM_STUFF += zxing BUILD_CAIROCANVAS=y SYSTEM_STUFF += cairo +ENABLE_GPGMEPP=y ifeq "$(ENABLE_GUI)" "y" BUILD_PLASMA=y # let's assume we won't ship two plasmas parallel.. @@ -462,6 +462,33 @@ SYSTEM_STUFF += libtiff SYSTEM_STUFF += frozen SYSTEM_STUFF += argon2 +# override stuff for build-indep to save build dependencies +ifeq ($(MAKECMDGOALS),build-indep) +ENABLE_EVOAB=n +BUILD_GTK3=n +ENABLE_INTROSPECTION=n +ENABLE_GIO=n +BUILD_GTK4=n +ENABLE_QT5=n +ENABLE_QT6=n +# libgpgmepp-dev depends on Qt, too, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863149 +ENABLE_GPGMEPP=n +ENABLE_KF5=n +ENABLE_KF6=n +BUILD_PLASMA=n +ENABLE_MARIADB=n +ENABLE_FIREBIRD=n +ENABLE_SDBC_POSTGRESQL=n +ENABLE_SKIA=n +ENABLE_COINMP=n +ENABLE_LPSOLVE=n +USE_GSTREAMER=n +ENABLE_LDAP=n +ENABLE_PDFIUM=n +USE_DBUS=n +ENABLE_AVAHI=n +endif + # Default flags to pass to configure CONFIGURE_FLAGS+= \ --with-vendor='$(OOO_VENDOR)' \ @@ -473,11 +500,34 @@ CONFIGURE_FLAGS+= \ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ --disable-online-update \ --disable-fetch-external \ - --without-fonts --enable-build-opensymbol \ + --without-fonts \ --without-myspell-dicts \ --with-branding=$(CURDIR)/debian/branding \ --without-coredumpctl +# don't rebuild the font anywhere, we just really need it in indep builds. +# please put https://dev-www.libreoffice.org/extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf +# into $(SOURCE_TREE)/tarballs if you don't rebuild the font. +BUILD_DEPS_INDEP += , fontforge-nox | fontforge <!pkg.libreoffice.noopensymbolbuild> +ifeq ($(filter pkg.libreoffice.noopensymbolbuild,$(DEB_BUILD_PROFILES)),) +ENABLE_OPENSYMBOL_BUILD=y +endif + +# we get a fonts-opensymbol build-dep -b builds (_ARCH also affects -b), too anyway but it's still lesser +# dependencies than fontforge-nox | fontforge... +# But this can get a problem for bootstrapping if we ever needed a newer fonts-opensymbol for +# tests to pass... +# Allow building it nevertheless if wanted +BUILD_DEPS_ARCH += , fonts-opensymbol <!pkg.libreoffice.opensymbolbuild> +ifneq ($(MAKECMDGOALS),build-arch) +ifneq ($(filter pkg.libreoffice.opensymbolbuild,$(DEB_BUILD_PROFILES)),) +ENABLE_OPENSYMBOL_BUILD=y +endif +ifeq "$(ENABLE_OPENSYMBOL_BUILD)" "y" +CONFIGURE_FLAGS_INDEP += --enable-build-opensymbol +endif +endif + ifeq "$(ENABLE_GUI)" "y" BUILD_DEPS += ,\ libcups2-dev,\ @@ -644,7 +694,7 @@ OOO_BASE_ARCHS := $(OOO_ARCHS) $(eval $(call gen_no_archs,OOO_BASE_ARCHS)) OOO_REPORTBUILDER_ARCHS := $(OOO_JAVA_ARCHS) $(eval $(call gen_no_archs,OOO_REPORTBUILDER_ARCHS)) -OOO_FIREBIRD_ARCHS := $(OOO_BASE_ARCHS) +OOO_FIREBIRD_ARCHS := $(filter-out m68k,$(OOO_BASE_ARCHS)) $(eval $(call gen_no_archs,OOO_FIREBIRD_ARCHS)) OOO_NOGUI_ARCHS := $(filter amd64 i386 arm64 armhf s390x ppc64 ppc64el,$(OOO_ARCHS)) $(eval $(call gen_no_archs,OOO_NOGUI_ARCHS)) @@ -771,9 +821,9 @@ ifneq "$(shell echo $(USE_CLANG)$(ALLOW_CLANG) | grep y)" "" else ifeq "$(ALLOW_CLANG)" "y" ifeq "$(CLANG_VERSION)" "default" - BUILD_DEPS += , llvm$(OOO_NO_CLANG_ARCHS) + BUILD_DEPS_ARCH += , llvm$(OOO_NO_CLANG_ARCHS) else - BUILD_DEPS += , llvm-$(CLANG_VERSION)-linker-tools$(OOO_NO_CLANG_ARCHS) + BUILD_DEPS_ARCH += , llvm-$(CLANG_VERSION)-linker-tools$(OOO_NO_CLANG_ARCHS) endif endif endif @@ -872,11 +922,11 @@ endif ifeq "$(CLANG_VERSION)" "default" export LO_CLANG_CC=clang export LO_CLANG_CXX=clang++ - BUILD_DEPS += , clang$(OOO_NO_CLANG_ARCHS) + BUILD_DEPS_ARCH += , clang$(OOO_NO_CLANG_ARCHS) else export LO_CLANG_CC=clang-$(CLANG_VERSION) export LO_CLANG_CXX=clang++-$(CLANG_VERSION) - BUILD_DEPS += , clang-$(CLANG_VERSION) [$(OOO_LE_ARCHS)] + BUILD_DEPS_ARCH += , clang-$(CLANG_VERSION) [$(OOO_LE_ARCHS)] endif endif endif @@ -927,10 +977,10 @@ ifeq "$(ENABLE_PDFIMPORT)" "y" SYSTEM_STUFF += abseil SYSTEM_STUFF += openjpeg ifneq (,$(filter openjpeg, $(SYSTEM_STUFF))) - BUILD_DEPS += , libopenjp2-7-dev [$(OOO_PDFIUM_ARCHS)] + BUILD_DEPS_ARCH += , libopenjp2-7-dev [$(OOO_PDFIUM_ARCHS)] endif ifneq (,$(filter abseil, $(SYSTEM_STUFF))) - BUILD_DEPS += , libabsl-dev [$(OOO_PDFIUM_ARCHS)] + BUILD_DEPS_ARCH += , libabsl-dev [$(OOO_PDFIUM_ARCHS)] endif endif endif @@ -1020,7 +1070,7 @@ ifneq ($(ENABLE_COINMP),y) CONFIGURE_FLAGS += --disable-coinmp else ifneq (,$(filter coinmp, $(SYSTEM_STUFF))) - BUILD_DEPS += , coinor-libcoinmp-dev $(COINMP_MINVER), coinor-libcoinutils-dev $(COINUTILS_MINVER) + BUILD_DEPS_ARCH += , coinor-libcoinmp-dev $(COINMP_MINVER), coinor-libcoinutils-dev $(COINUTILS_MINVER) endif endif @@ -1086,13 +1136,13 @@ ifeq "$(ENABLE_PYTHON)" "y" PYMAJOR:=$(shell $(PYTHON) -c "import sys; print (sys.version_info[0])") PYMINOR:=$(shell $(PYTHON) -c "import sys; print (sys.version_info[1])") PYMINORPLUS1:=$(shell $(PYTHON) -c "import sys; print (sys.version_info[1]+1)") -PYTHON_SITE:=debian/python3-uno/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') +PYTHON_SITE:=$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') endif BUILD_DEPS += , $(PYTHON) ifeq "$(ENABLE_PYTHON)" "y" BUILD_DEPS += , $(PYTHON)-dev <!nopython> - BUILD_DEPS += , $(PYTHON)-distutils <!nopython> + BUILD_DEPS += , $(PYTHON)-setuptools <!nopython> BUILD_DEPS += , dh-python <!nopython> ifeq "$(RUN_MAKE_CHECK)" "y" ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) @@ -1244,7 +1294,7 @@ ifeq "$(ENABLE_JAVA)" "y" JAVA_HOME=/usr/lib/jvm/default-java DEFAULT_JDK := $(call java_dependency, default-jdk) # build-depend on 1.9 (upstream needs it anyway for module-info support) - BUILD_DEPS += , $(shell echo $(DEFAULT_JDK) | sed -e 's/default-jdk/default-jdk (>= 2:1.17)/' | sed -e 's/\]/$(foreach i,$(JAVA_BRIDGE_BROKEN_ARCHS), !$(i))\]/') <!nojava> + BUILD_DEPS += , $(shell echo $(DEFAULT_JDK) | sed -e 's/default-jdk/default-jdk (>= 2:1.9)/' | sed -e 's/\]/$(foreach i,$(JAVA_BRIDGE_BROKEN_ARCHS), !$(i))\]/') <!nojava> endif ifeq "$(JDK)" "openjdk" BUILD_DEPS += , openjdk-$(JAVA_MAINVER)-jdk <!nojava> @@ -1287,7 +1337,7 @@ export JAVA_HOME CONFIGURE_FLAGS_INDEP += --enable-ext-nlpsolver endif OOO_OFFICEBEAN_DEP = libofficebean-java - BUILD_DEPS += , javahelper $(JAVAHELPER_MIN_VERSION) <!nojava> + BUILD_DEPS += , javahelper $(JAVAHELPER_MIN_VERSION)$(OOO_NO_JAVA_ARCHS) <!nojava> else CONFIGURE_FLAGS += --without-java DEBHELPER_OPTIONS += -Nlibofficebean-java -Nlibreoffice-java-common -Nlibreoffice-script-provider-bsh -Nlibreoffice-script-provider-js -Nlibreoffice-subsequentcheckbase -Nlibunoloader-java -Nliblibreoffice-java -Nlibreoffice-sdbc-hsqldb -Nure-java @@ -1467,7 +1517,7 @@ ifneq (,$(filter lcms2, $(SYSTEM_STUFF))) endif ifneq (,$(filter openldap, $(SYSTEM_STUFF))) - BUILD_DEPS += , libldap-dev + BUILD_DEPS_ARCH += , libldap-dev endif ifneq (,$(filter liblangtag, $(SYSTEM_STUFF))) @@ -1489,39 +1539,39 @@ endif ifeq "$(ENABLE_KF5)" "y" CONFIGURE_FLAGS += --enable-kf5 - BUILD_DEPS += , libkf5coreaddons-dev, libkf5i18n-dev, libkf5config-dev, libkf5windowsystem-dev, libkf5kio-dev + BUILD_DEPS_ARCH += , libkf5coreaddons-dev, libkf5i18n-dev, libkf5config-dev, libkf5windowsystem-dev, libkf5kio-dev endif ifeq "$(ENABLE_KF6)" "y" CONFIGURE_FLAGS += --enable-kf6 - BUILD_DEPS += , libkf6coreaddons-dev, libkf6i18n-dev, libkf6config-dev, libkf6windowsystem-dev, libkf6kio-dev + BUILD_DEPS_ARCH += , libkf6coreaddons-dev, libkf6i18n-dev, libkf6config-dev, libkf6windowsystem-dev, libkf6kio-dev endif PLASMA_ICONSET_DEP=libreoffice-style-breeze ifeq "$(ENABLE_QT5)" "y" CONFIGURE_FLAGS += --enable-qt5 - BUILD_DEPS += , qtbase5-dev $(QT5_MINVER), qt5-qmake $(QT5_MINVER), qtbase5-dev-tools $(QT5_MINVER) - BUILD_DEPS += , libqt5x11extras5-dev $(QT5_MINVER) - BUILD_DEPS += , libglib2.0-dev - BUILD_DEPS += , libxcb1-dev + BUILD_DEPS_ARCH += , qtbase5-dev $(QT5_MINVER), qt5-qmake $(QT5_MINVER), qtbase5-dev-tools $(QT5_MINVER) + BUILD_DEPS_ARCH += , libqt5x11extras5-dev $(QT5_MINVER) + BUILD_DEPS_ARCH += , libglib2.0-dev + BUILD_DEPS_ARCH += , libxcb1-dev endif ifeq "$(ENABLE_QT6)" "y" CONFIGURE_FLAGS += --enable-qt6 - BUILD_DEPS += , qt6-base-dev $(QT6_MINVER), qmake6 $(QT6_MINVER), qt6-base-dev-tools $(QT6_MINVER) - BUILD_DEPS += , libxcb1-dev + BUILD_DEPS_ARCH += , qt6-base-dev $(QT6_MINVER), qmake6 $(QT6_MINVER), qt6-base-dev-tools $(QT6_MINVER) + BUILD_DEPS_ARCH += , libxcb1-dev endif ifeq "$(ENABLE_MARIADB)" "y" ifeq "$(MYSQL_FLAVOUR)" "default" - BUILD_DEPS += , default-libmysqlclient-dev + BUILD_DEPS_ARCH += , default-libmysqlclient-dev else ifeq "$(MYSQL_FLAVOUR)" "mysql" ifneq (,$(filter mariadb, $(SYSTEM_STUFF))) - BUILD_DEPS += , libmysqlclient-dev + BUILD_DEPS_ARCH += , libmysqlclient-dev endif MARIADBCONFIG=/usr/bin/mysql_config endif ifeq "$(MYSQL_FLAVOUR)" "mariadb" ifneq (,$(filter mariadb, $(SYSTEM_STUFF))) - BUILD_DEPS += , libmariadb-dev + BUILD_DEPS_ARCH += , libmariadb-dev endif MARIADBCONFIG=/usr/bin/mariadb_config endif @@ -1534,13 +1584,13 @@ endif ifeq "$(ENABLE_FIREBIRD)" "y" BASE_FIREBIRD_RECOMMENDS = libreoffice-sdbc-firebird [$(OOO_FIREBIRD_ARCHS)] ifneq (,$(filter libatomic-ops, $(SYSTEM_STUFF))) - BUILD_DEPS += , libatomic-ops-dev$(OOO_NO_FIREBIRD_ARCHS) + BUILD_DEPS_ARCH += , libatomic-ops-dev$(OOO_NO_FIREBIRD_ARCHS) endif ifneq (,$(filter libtommath, $(SYSTEM_STUFF))) - BUILD_DEPS += , libtommath-dev$(OOO_NO_FIREBIRD_ARCHS) + BUILD_DEPS_ARCH += , libtommath-dev$(OOO_NO_FIREBIRD_ARCHS) endif ifneq (,$(filter firebird, $(SYSTEM_STUFF))) - BUILD_DEPS += , firebird-dev$(OOO_NO_FIREBIRD_ARCHS) + BUILD_DEPS_ARCH += , firebird-dev$(OOO_NO_FIREBIRD_ARCHS) # we need libEngine12.so ifeq "$(RUN_MAKE_CHECK)" "y" BUILD_DEPS_ARCH += , firebird3.0-server-core $(OOO_NO_FIREBIRD_ARCHS) <!nocheck> @@ -1553,7 +1603,7 @@ else endif ifeq "$(BUILD_GTK3)" "y" - BUILD_DEPS += , libgtk-3-dev, libglib2.0-dev + BUILD_DEPS_ARCH += , libgtk-3-dev, libglib2.0-dev ifneq (cairo,$(findstring cairo,$(SYSTEM_STUFF))) $(error GTK3 build fails without system-cairo!!) endif @@ -1562,7 +1612,7 @@ ifeq "$(BUILD_GTK3)" "y" endif GNOME_GTK_RECOMMENDS += libreoffice-gtk3 ifeq "$(ENABLE_INTROSPECTION)" "y" - BUILD_DEPS += , gobject-introspection <!nogir>, libgirepository1.0-dev <!nogir> + BUILD_DEPS_ARCH += , gobject-introspection <!nogir>, libgirepository1.0-dev <!nogir> CONFIGURE_FLAGS += --enable-introspection else DEBHELPER_OPTIONS+= -Ngir1.2-lokdocview-0.1 @@ -1576,10 +1626,12 @@ ifeq "$(BUILD_GTK3)" "y" # explicitely disable it if not wanted as t is auto-enabled if the above is there CONFIGURE_FLAGS += --disable-atspi-tests endif +else + CONFIGURE_FLAGS += --disable-gtk3 endif ifeq "$(BUILD_GTK4)" "y" - BUILD_DEPS += , libgtk-4-dev, libglib2.0-dev, libcairo2-dev, libatk1.0-dev + BUILD_DEPS_ARCH += , libgtk-4-dev, libglib2.0-dev, libcairo2-dev, libatk1.0-dev CONFIGURE_FLAGS += --enable-gtk4 endif @@ -1588,13 +1640,14 @@ ifeq "$(ENABLE_EVO2)" "n" #DEBHELPER_OPTIONS += -Nlibreoffice-evolution else CONFIGURE_FLAGS += --enable-evolution2 - BUILD_DEPS += , libebook1.2-dev + BUILD_DEPS_ARCH += , libebook1.2-dev LIBEBOOK_DEP = $(shell debian/scripts/get_libebook_dep.sh) endif ifeq "$(ENABLE_SDBC_POSTGRESQL)" "y" ifneq (,$(filter postgresql, $(SYSTEM_STUFF))) - BUILD_DEPS += , libpq-dev + BUILD_DEPS += , libkrb5-dev + BUILD_DEPS_ARCH += , libpq-dev else BUILD_DEPS += , libkrb5-dev endif @@ -1652,7 +1705,7 @@ endif ifeq ($(ENABLE_LPSOLVE),y) ifneq (,$(filter lpsolve, $(SYSTEM_STUFF))) ifeq "$(USE_SHARED_LPSOLVE)" "y" - BUILD_DEPS += , liblpsolve55-dev $(LPSOLVE_MIN_VERSION), lp-solve $(LPSOLVE_MIN_VERSION) + BUILD_DEPS_ARCH += , liblpsolve55-dev $(LPSOLVE_MIN_VERSION), lp-solve $(LPSOLVE_MIN_VERSION) LPSOLVE_DEP = lp-solve $(LPSOLVE_MIN_VERSION) else BUILD_DEPS += , liblpsolve55-dev $(LPSOLVE_MIN_VERSION) @@ -1664,8 +1717,7 @@ else endif ifeq "$(USE_DBUS)" "y" - BUILD_DEPS += , libdbus-1-dev - CONFIGURE_FLAGS += --enable-dbus + BUILD_DEPS_ARCH += , libdbus-1-dev ifeq "$(ENABLE_BLUETOOTH)" "y" BUILD_DEPS += , libglib2.0-dev ifneq (,$(filter bluez, $(SYSTEM_STUFF))) @@ -1677,17 +1729,19 @@ ifeq "$(USE_DBUS)" "y" ifeq "$(ENABLE_PACKAGEKIT)" "y" CONFIGURE_FLAGS += --enable-packagekit endif +else + CONFIGURE_FLAGS += --disable-dbus endif ifeq "$(ENABLE_AVAHI)" "y" - BUILD_DEPS += , libavahi-client-dev + BUILD_DEPS_ARCH += , libavahi-client-dev CONFIGURE_FLAGS += --enable-avahi endif ifeq "$(USE_GSTREAMER)" "y" - BUILD_DEPS += , libgstreamer1.0-dev + BUILD_DEPS_ARCH += , libgstreamer1.0-dev CONFIGURE_FLAGS += --enable-gstreamer-1-0 - BUILD_DEPS += , libgstreamer-plugins-base1.0-dev + BUILD_DEPS_ARCH += , libgstreamer-plugins-base1.0-dev GSTREAMER_PLUGINS_SUGGESTS += , gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, gstreamer1.0-plugins-ugly, gstreamer1.0-plugins-bad, gstreamer1.0-libav else CONFIGURE_FLAGS += --disable-gstreamer-1-0 @@ -1743,18 +1797,22 @@ ifneq (,$(filter glm, $(SYSTEM_STUFF))) BUILD_DEPS += , libglm-dev endif +ifeq "$(ENABLE_GPGMEPP)" "y" ifneq (,$(filter gpgmepp, $(SYSTEM_STUFF))) - BUILD_DEPS+= , libgpgmepp-dev, libgpgme-dev, libgpg-error-dev + BUILD_DEPS_ARCH+= , libgpgmepp-dev, libgpgme-dev, libgpg-error-dev endif ifeq "$(RUN_MAKE_CHECK)" "y" BUILD_DEPS_ARCH += , gpg$(OOO_NO_CHECK_ARCHS) <!nocheck> BUILD_DEPS_ARCH += , gpgconf$(OOO_NO_CHECK_ARCHS) <!nocheck> BUILD_DEPS_ARCH += , gpg-agent$(OOO_NO_CHECK_ARCHS) <!nocheck> endif +else + CONFIGURE_FLAGS += --disable-gpgmepp +endif ifeq "$(ENABLE_GIO)" "y" ifneq "$(BUILD_GTK3)" "y" - BUILD_DEPS += , libglib2.0-dev + BUILD_DEPS_ARCH += , libglib2.0-dev endif else CONFIGURE_FLAGS += --disable-gio @@ -1962,8 +2020,6 @@ endif rm -f download.list - rm -f extras/source/truetype/symbol/opens___.ttf - # obsolete lock file not cleaned up.... rm -f dbaccess/qa/extras/testdocuments/fdo84315.odb.lck @@ -1973,6 +2029,13 @@ endif rm -f prism.js && \ rm -f prism.css + # remove only if we linked it over. otherwise we remove the one + # intentionally added there if so + cd $(SOURCE_TREE)/tarballs && \ + if [ -L f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf ]; then \ + rm f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf; \ + fi + # Files created in debian directory $(MAKE) -f debian/rules clean-debdir @@ -2161,10 +2224,6 @@ endif ifeq "$(MYSQL_FLAVOUR)" "mysql" perl -pi -e "s/(Build-Conflicts: .*)/\1,libmariadbclient-dev,/" debian/control.new endif -ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) - # be sure to use our rebuilt font - perl -pi -e "s/(Build-Conflicts: .*)/\1,fonts-opensymbol <!nocheck>,/" debian/control.new -endif ifneq "$(ALLOW_CLANG)" "y" perl -pi -e "s/(Build-Conflicts: .*)/\1,clang,/" debian/control.new @@ -2289,6 +2348,14 @@ endif ln -sf /usr/share/nodejs/prismjs/prism.js && \ ln -sf /usr/share/nodejs/prismjs/themes/prism-coy.css prism.css +ifeq ($(filter pkg.libreoffice.opensymbolbuild,$(DEB_BUILD_PROFILES)),) + # link to already-rebuilt opens___.ttf (fonts-opensymbol) form the arch indep build. + # Thankfully the sha256sum is only checked in Makefile.fetch (which we don't do) + cd $(SOURCE_TREE)/tarballs && \ + ln -sf /usr/share/fonts/truetype/libreoffice/opens___.ttf \ + f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf +endif + touch $@ .PHONY: config_host.mk @@ -2300,9 +2367,7 @@ config_host.mk: FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \ ./autogen.sh $(CONFIGURE_FLAGS) -build: - $(CURDIR)/debian/rules build-arch - $(CURDIR)/debian/rules build-indep +build: $(STAMP_DIR)/prepare $(STAMP_DIR)/build-arch $(STAMP_DIR)/build-indep touch $(STAMP_DIR)/$@ build-arch: $(STAMP_DIR)/prepare $(STAMP_DIR)/build-arch @@ -2593,37 +2658,47 @@ endif # FIXME cd $(CURDIR)/debian/tmp/pkg && rm -rf \* -ifeq "$(ENABLE_QT5)" "y" # we need to do it here. If -kf5 isn't built # there's no -kf5.install generated, so dh_missing complains later - mkdir -p debian/tmp/pkg/libreoffice-qt5/$(OODIR)/program - mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt5lo.so\ - debian/tmp/pkg/libreoffice-qt5/$(OODIR)/program +ifeq "$(ENABLE_QT5)" "y" + if [ -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt5lo.so ]; then \ + mkdir -p debian/tmp/pkg/libreoffice-qt5/$(OODIR)/program; \ + mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt5lo.so\ + debian/tmp/pkg/libreoffice-qt5/$(OODIR)/program; \ + fi endif ifeq "$(ENABLE_QT6)" "y" - mkdir -p debian/tmp/pkg/libreoffice-qt6/$(OODIR)/program - mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt6lo.so\ - debian/tmp/pkg/libreoffice-qt6/$(OODIR)/program + if [ -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt6lo.so ]; then \ + mkdir -p debian/tmp/pkg/libreoffice-qt6/$(OODIR)/program; \ + mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_qt6lo.so\ + debian/tmp/pkg/libreoffice-qt6/$(OODIR)/program; \ + fi endif ifeq "$(shell echo $(ENABLE_KF5)$(ENABLE_KF6) | grep -q y && echo true)" "true" ifeq "$(BUILD_PLASMA)" "y" - mkdir -p debian/tmp/pkg/libreoffice-plasma/$(OODIR)/program - mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libkf$(PLASMA_VERSION)be1lo.so \ - debian/tmp/pkg/libreoffice-plasma/$(OODIR)/program + if [ -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libkf$(PLASMA_VERSION)be1lo.so ]; then \ + mkdir -p debian/tmp/pkg/libreoffice-plasma/$(OODIR)/program; \ + mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libkf$(PLASMA_VERSION)be1lo.so \ + debian/tmp/pkg/libreoffice-plasma/$(OODIR)/program; \ + fi # remove other ones maybe built by --enable-kfX - rm -f debian/tmp/pkg/libreoffice-kf5/$(OODIR)/libkf*be1lo.so + rm -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/libkf*be1lo.so else - rm -f debian/tmp/pkg/libreoffice-kf5/$(OODIR)/libkf*be1lo.so + rm -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/libkf*be1lo.so endif ifeq "$(ENABLE_KF5)" "y" - mkdir -p debian/tmp/pkg/libreoffice-kf5/$(OODIR)/program - mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_kf5lo.so \ - debian/tmp/pkg/libreoffice-kf5/$(OODIR)/program + if [ -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_kf5lo.so ]; then \ + mkdir -p debian/tmp/pkg/libreoffice-kf5/$(OODIR)/program; \ + mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_kf5lo.so \ + debian/tmp/pkg/libreoffice-kf5/$(OODIR)/program; \ + fi endif ifeq "$(ENABLE_KF6)" "y" - mkdir -p debian/tmp/pkg/libreoffice-kf6/$(OODIR)/program - mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_kf6lo.so \ - debian/tmp/pkg/libreoffice-kf6/$(OODIR)/program + if [ -f debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_kf6lo.so ]; then \ + mkdir -p debian/tmp/pkg/libreoffice-kf6/$(OODIR)/program; \ + mv debian/tmp/pkg/libreoffice-kde/$(OODIR)/program/libvclplug_kf6lo.so \ + debian/tmp/pkg/libreoffice-kf6/$(OODIR)/program; \ + fi endif endif @@ -2768,14 +2843,6 @@ ifeq "$(BUILD_PLASMA)" "y" echo "../usr/share/metainfo/org.libreoffice.kde.metainfo.xml /usr/share/metainfo/" >> $(PKGDIR)-plasma.install endif -ifeq "$(PACKAGE_LOKIT)" "y" - echo "../../../include/LibreOfficeKit usr/include" > debian/libreofficekit-dev.install -endif -ifeq "$(ENABLE_INTROSPECTION)" "y" - echo "../../../workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.gir /usr/share/gir-1.0/" >> debian/libreofficekit-dev.install - echo "../../../workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.typelib /usr/lib/$(DEB_HOST_MULTIARCH)/girepository-1.0" >> debian/gir1.2-lokdocview-0.1.install -endif - ifneq "$(ENABLE_GUI)" "y" rm -rf debian/tmp/pkg/libreofficekit-data endif @@ -2953,9 +3020,9 @@ else endif ifeq "$(PACKAGE_BASE)" "y" - mkdir -p debian/python3-access2base/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') + mkdir -p debian/python3-access2base/$(PYTHON_SITE) mv $(PKGDIR)-common/$(OODIR)/program/access2base.py \ - debian/python3-access2base/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') + debian/python3-access2base/$(PYTHON_SITE) else rm -rf $(PKGDIR)-common/$(OODIR)/share/basic/Access2Base t=`mktemp -q`; grep -v Access2Base $(PKGDIR)-common/$(OODIR)/share/basic/dialog.xlc > \ @@ -2966,9 +3033,9 @@ else endif # ScriptForge - mkdir -p debian/python3-scriptforge/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') + mkdir -p debian/python3-scriptforge/$(PYTHON_SITE) mv $(PKGDIR)-common/$(OODIR)/program/scriptforge.py \ - debian/python3-scriptforge/$(shell $(PYTHON) -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') + debian/python3-scriptforge/$(PYTHON_SITE) ifeq "$(PACKAGE_SDK)" "y" # move gengal stuff into -dev-gui @@ -3302,6 +3369,18 @@ ifeq "$(ENABLE_GUI)" "y" endif endif +ifeq "$(ENABLE_INTROSPECTION)" "y" + echo "workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.typelib /usr/lib/$(DEB_HOST_MULTIARCH)/girepository-1.0" >> debian/gir1.2-lokdocview-0.1.install + dh_install -pgir1.2-lokdocview-0.1 +endif +ifeq "$(PACKAGE_LOKIT)" "y" + echo "include/LibreOfficeKit usr/include" > debian/libreofficekit-dev.install +ifeq "$(ENABLE_INTROSPECTION)" "y" + echo "workdir/CustomTarget/sysui/share/libreoffice/LOKDocView-0.1.gir /usr/share/gir-1.0/" >> debian/libreofficekit-dev.install +endif + dh_install -plibreofficekit-dev +endif + ifeq "$(PACKAGE_BASE)" "y" mkdir -p $(PKGDIR)-base-core/$(OODIR)/program mv $(PKGDIR)-base/$(OODIR)/program/libdbalo.so \ @@ -3354,16 +3433,16 @@ endif ifeq "$(ENABLE_PYTHON)" "y" # PyUNO packaging - install -d $(PYTHON_SITE) + install -d debian/python3-uno/$(PYTHON_SITE) # prepend stuff so that it works when the module is not in LOs # directories but in $(PYTHON_SITE). Can't be a patch (anymore) # as otherwise the python-based unittests fail miserably. - echo "import sys, os" > $(PYTHON_SITE)/uno.py - echo "sys.path.append('/$(OODIR)/program')" >> $(PYTHON_SITE)/uno.py - echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:/$(OODIR)/program/fundamentalrc')" >> $(PYTHON_SITE)/uno.py - cat debian/python3-uno/$(OODIR)/program/uno.py >> $(PYTHON_SITE)/uno.py + echo "import sys, os" > debian/python3-uno/$(PYTHON_SITE)/uno.py + echo "sys.path.append('/$(OODIR)/program')" >> debian/python3-uno/$(PYTHON_SITE)/uno.py + echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:/$(OODIR)/program/fundamentalrc')" >> debian/python3-uno/$(PYTHON_SITE)/uno.py + cat debian/python3-uno/$(OODIR)/program/uno.py >> debian/python3-uno/$(PYTHON_SITE)/uno.py rm -f debian/python3-uno/$(OODIR)/program/uno.py - mv debian/python3-uno/$(OODIR)/program/unohelper.py $(PYTHON_SITE) + mv debian/python3-uno/$(OODIR)/program/unohelper.py debian/python3-uno/$(PYTHON_SITE) touch debian/python3-uno/$(OODIR)/program/pythonloader.unorc chmod u+w debian/python3-uno/$(OODIR)/program/pythonloader.unorc ( echo 'PYTHONHOME=file:///usr/lib/python$(PYMAJOR).$(PYMINOR)' ;\ @@ -3742,12 +3821,12 @@ endif ln -s /$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/$$z \ $(PKGDIR)-style-$$p/$(OODIR)/share/config/$$z; \ done - mkdir -p $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config; \ + mkdir -p $(PKGDIR)-help-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config; \ mv $(PKGDIR)-common/$(OODIR)/share/config/images_helpimg.zip \ - $(PKGDIR)-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/; \ - mkdir -p $(PKGDIR)-common/$(OODIR)/share/config; \ + $(PKGDIR)-help-common/$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/; \ + mkdir -p $(PKGDIR)-help-common/$(OODIR)/share/config; \ ln -s /$(shell echo $(OODIR) | sed -e s/lib/share/)/share/config/images_helpimg.zip \ - $(PKGDIR)-common/$(OODIR)/share/config/images_helpimg.zip; \ + $(PKGDIR)-help-common/$(OODIR)/share/config/images_helpimg.zip; \ ifeq "$(DEB_VENDOR)" "Debian" # install Debian presentation template @@ -3947,6 +4026,15 @@ ifeq "$(INSTALL_APPARMOR_PROFILES)" "y" endif endif + # not installed if skia is disabled. Arch-indep builds disable skia for build-dep and + # speed reasons and it is supposed to end up in an arch-indep package (libreoffice-common) + # So install this manually if skia is disabled +ifneq "$(ENABLE_SKIA)" "y" + mkdir -p $(PKGDIR)-common/$(OODIR)/share/skia + install -m644 $(SOURCE_TREE)/vcl/skia/skia_denylist_vulkan.xml \ + $(PKGDIR)-common/$(OODIR)/share/skia/skia_denylist_vulkan.xml +endif + # fix fundamentalrc to not cause # /usr/lib/libreoffice/program/../program/xpdfimport calls # we know the path and the apparmor profiles disallow this... @@ -4192,9 +4280,6 @@ ifeq "$(ENABLE_JAVA)" "y" perl -pi -e 's/^(java:Depends.*$$)/\1, ure/' \ debian/libofficebean-java.substvars endif -# This switch to dh_shlibdeps reduces the 'libXXX not found' warnings but -# causes ldd crashes sometimes when used with fakeroot: -# -l $(PKGDIR)-core/$(OPENOFFICEDIR)/program dh_gencontrol -a $(DEBHELPER_OPTIONS) \ -- \ -V'base-version=$(BASE_VERSION)' \ |