From 1b173ce830966b631bf97e31ec8e6026057a52f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Tue, 8 Aug 2023 13:44:43 +0700 Subject: [PATCH 1/7] hooks: move prepare-32bit and shlib-provides to post-install In a later change, we will generate shlib-depends cross subpkgs during pre-pkg stage. Thus we need shlib-provides information of all subpkgs ready before pre-pkg is run. Those information can only be read in post-install stage at the eariliest. Let's move the shlib-provides to post-install. This hook requires prepare-32bit, so, let's move that hook, too. --- .../05-prepare-32bit.sh => post-install/80-prepare-32bit.sh} | 0 .../06-shlib-provides.sh => post-install/98-shlib-provides.sh} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename common/hooks/{pre-pkg/05-prepare-32bit.sh => post-install/80-prepare-32bit.sh} (100%) rename common/hooks/{pre-pkg/06-shlib-provides.sh => post-install/98-shlib-provides.sh} (100%) diff --git a/common/hooks/pre-pkg/05-prepare-32bit.sh b/common/hooks/post-install/80-prepare-32bit.sh similarity index 100% rename from common/hooks/pre-pkg/05-prepare-32bit.sh rename to common/hooks/post-install/80-prepare-32bit.sh diff --git a/common/hooks/pre-pkg/06-shlib-provides.sh b/common/hooks/post-install/98-shlib-provides.sh similarity index 100% rename from common/hooks/pre-pkg/06-shlib-provides.sh rename to common/hooks/post-install/98-shlib-provides.sh From 279901789acafd98d63b76fd9072b78df2ed2fd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Tue, 8 Aug 2023 22:08:27 +0700 Subject: [PATCH 2/7] hooks/shlib-provides: record shared libraries without SONAME In a later change, we would like to generate runtime-deps between sub-packages. In order to do that, we can add everything into etc/shlibs or we can look into other subpackages directly. The former is cumbersome if such package has lot of shared-objects. The latter requires traversing and checking a lot of files. Furtunately, we can speed up the latter one by storing all shared-objects' information in a centralised place. --- .../hooks/post-install/98-shlib-provides.sh | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/common/hooks/post-install/98-shlib-provides.sh b/common/hooks/post-install/98-shlib-provides.sh index a09eb6f5c3b33..ad1c31c72db05 100644 --- a/common/hooks/post-install/98-shlib-provides.sh +++ b/common/hooks/post-install/98-shlib-provides.sh @@ -6,19 +6,30 @@ collect_sonames() { local _pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)*$" local _versioned_pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)+$" local _tmpfile=$(mktemp) || exit 1 + local _mainpkg="$2" + local _shlib_dir="${XBPS_STATEDIR}/shlib-provides" + local _no_soname=$(mktemp) || exit 1 + mkdir -p "${_shlib_dir}" || exit 1 if [ ! -d ${_destdir} ]; then rm -f ${_tmpfile} + rm -f ${_no_soname} return 0 fi + # real pkg find ${_destdir} -type f -name "*.so*" | while read f; do _fname="${f##*/}" case "$(file -bi "$f")" in application/x-sharedlib*|application/x-pie-executable*) # shared library - _soname=$(${OBJDUMP} -p "$f"|grep SONAME|awk '{print $2}') + _soname=$(${OBJDUMP} -p "$f"|awk '/SONAME/{print $2}') + if [ -n "$noshlibprovides" ]; then + # register all shared lib for rt-deps between sub-pkg + echo "${_fname}" >>${_no_soname} + continue + fi # Register all versioned sonames, and # unversioned sonames only when in libdir. if [[ ${_soname} =~ ${_versioned_pattern} ]] || @@ -27,6 +38,9 @@ collect_sonames() { -e ${_destdir}/usr/lib32/${_fname} ) ]]; then echo "${_soname}" >> ${_tmpfile} echo " SONAME ${_soname} from ${f##${_destdir}}" + else + # register all shared lib for rt-deps between sub-pkg + echo "${_fname}" >>${_no_soname} fi ;; esac @@ -38,6 +52,14 @@ collect_sonames() { if [ -s "${_tmpfile}" ]; then tr '\n' ' ' < "${_tmpfile}" > ${_destdir}/shlib-provides echo >> ${_destdir}/shlib-provides + if [ "$_mainpkg" ]; then + cp "${_tmpfile}" "${_shlib_dir}/${pkgname}.soname" + fi + fi + if [ "$_mainpkg" ] && [ -s "${_no_soname}" ]; then + mv "${_no_soname}" "${_shlib_dir}/${pkgname}.nosoname" + else + rm -f ${_no_soname} fi rm -f ${_tmpfile} } @@ -45,12 +67,8 @@ collect_sonames() { hook() { local _destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version} - if [ -n "$noshlibprovides" ]; then - return 0 - fi - # native pkg - collect_sonames ${PKGDESTDIR} + collect_sonames ${PKGDESTDIR} yes # 32bit pkg collect_sonames ${_destdir32} } From 44564ba82d97a937ecf3e9fb438111b2a1c5b490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 9 Aug 2023 13:19:01 +0700 Subject: [PATCH 3/7] hooks/gen-rt-deps: Look for rt-deps by subpkg first, common/shlibs later --- .../hooks/pre-pkg/04-generate-runtime-deps.sh | 80 +++++++------------ 1 file changed, 29 insertions(+), 51 deletions(-) diff --git a/common/hooks/pre-pkg/04-generate-runtime-deps.sh b/common/hooks/pre-pkg/04-generate-runtime-deps.sh index a291f2ccc8720..e2020ce05f79f 100644 --- a/common/hooks/pre-pkg/04-generate-runtime-deps.sh +++ b/common/hooks/pre-pkg/04-generate-runtime-deps.sh @@ -47,6 +47,7 @@ store_pkgdestdir_rundeps() { hook() { local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps + local _shlib_dir="${XBPS_STATEDIR}/shlib-provides" # Disable trap on ERR, xbps-uhelper cmd might return error... but not something # to be worried about because if there are broken shlibs this hook returns @@ -95,65 +96,42 @@ hook() { # above, the mapping is done thru the common/shlibs file. # for f in ${verify_deps}; do - unset _f j rdep _rdep rdepcnt soname _pkgname _rdepver found - _f=$(echo "$f"|sed -E 's|\+|\\+|g') - rdep="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2)" - rdepcnt="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2|wc -l)" - if [ -z "$rdep" ]; then + unset _rdep _pkgname _rdepver + + if [ "$(find ${PKGDESTDIR} -name "$f")" ]; then # Ignore libs by current pkg - soname=$(find ${PKGDESTDIR} -name "$f") - if [ -z "$soname" ]; then + echo " SONAME: $f <-> $pkgname (ignored)" + continue + # If this library is provided by a subpkg of sourcepkg, use that subpkg + elif _pkgname="$(cd "$_shlib_dir" && grep -F -l -x "$f" *.soname 2>/dev/null)"; then + # If that library has SONAME, add it to shlibs-requires, too. + _pkgname=${_pkgname%.soname} + _sdep="${_pkgname}-${version}_${revision}" + sorequires+="${f} " + elif _pkgname="$(cd "$_shlib_dir" && grep -F -l -x "$f" *.nosoname 2>/dev/null)"; then + _pkgname=${_pkgname%.nosoname} + _sdep="${_pkgname}-${version}_${revision}" + else + _rdep="$(awk -v sl="$f" '$1 == sl { print $2; exit; }' "$mapshlibs")" + + if [ -z "$_rdep" ]; then msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n" broken_shlibs=1 - else - echo " SONAME: $f <-> $pkgname (ignored)" - fi - continue - elif [ "$rdepcnt" -gt 1 ]; then - unset j found - # Check if shlib is provided by multiple pkgs. - for j in ${rdep}; do - _pkgname=$($XBPS_UHELPER_CMD getpkgname "$j") - # if there's a SONAME matching pkgname, use it. - for x in ${pkgname} ${subpackages}; do - [[ $_pkgname == $x ]] && found=1 && break - done - [[ $found ]] && _rdep=$j && break - done - if [ -z "${_rdep}" ]; then - # otherwise pick up the first one. - for j in ${rdep}; do - [ -z "${_rdep}" ] && _rdep=$j - done + continue fi - else - _rdep=$rdep - fi - _pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null) - _rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null) - if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then - msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n" - broken_shlibs=1 - continue - fi - # Check if pkg is a subpkg of sourcepkg; if true, ignore version - # in common/shlibs. - _sdep="${_pkgname}>=${_rdepver}" - for _subpkg in ${subpackages}; do - if [ "${_subpkg}" = "${_pkgname}" ]; then - _sdep="${_pkgname}-${version}_${revision}" - break + _pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null) + _rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null) + if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then + msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n" + broken_shlibs=1 + continue fi - done + _sdep="${_pkgname}>=${_rdepver}" - if [ "${_pkgname}" != "${pkgname}" ]; then - echo " SONAME: $f <-> ${_sdep}" + # By this point, SONAME can't be found in current pkg sorequires+="${f} " - else - # Ignore libs by current pkg - echo " SONAME: $f <-> ${_rdep} (ignored)" - continue fi + echo " SONAME: $f <-> ${_sdep}" add_rundep "${_sdep}" done # From 1258b2b6f60e1a0ea4a1d2de0d72a95c8f6d30bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Thu, 17 Aug 2023 09:35:21 +0700 Subject: [PATCH 4/7] mercury: verify runtime deps --- srcpkgs/mercury/template | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/srcpkgs/mercury/template b/srcpkgs/mercury/template index 078da62c329ee..07ab9363960bc 100644 --- a/srcpkgs/mercury/template +++ b/srcpkgs/mercury/template @@ -1,9 +1,8 @@ # Template file for 'mercury' pkgname=mercury version=22.01.3 -revision=1 +revision=2 hostmakedepends="flex bison gettext texinfo" -depends="mercury-libs>=${version}_${revision}" short_desc="Logic/Functional Programming Language" maintainer="Emily McDonough " license="GPL-2.0-only, custom:LGPL-2.0-only-linking-exception" @@ -11,7 +10,6 @@ homepage="https://mercurylang.org/" distfiles="https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.xz" checksum=4b0783ee9205021e4193b0404fd654e9c6fd288bc9bb7e144b1c1f6cd45dcd2e nocross="Mercury cannot be cross-compiled to different architectures" -noverifyrdeps=yes CFLAGS="-Wno-array-bounds -fno-tree-slp-vectorize" From 9d214dd144f3d59f1b7b10ff857b20d08e3e3bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Thu, 17 Aug 2023 07:05:45 +0700 Subject: [PATCH 5/7] (restricted): verify runtime deps --- common/shlibs | 1 + srcpkgs/CLion/template | 4 +--- srcpkgs/PhpStorm/template | 2 -- srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg | 2 -- srcpkgs/intellij-idea-ultimate-edition/template | 9 ++++----- srcpkgs/jetbrains-jdk-bin/template | 4 ---- srcpkgs/protonmail-bridge/template | 13 +++++++++++-- srcpkgs/teamspeak3/template | 7 ++----- srcpkgs/zoom/template | 12 ++++++------ 9 files changed, 25 insertions(+), 29 deletions(-) delete mode 100644 srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg diff --git a/common/shlibs b/common/shlibs index 82107af453333..fafbe7af4d97d 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2052,6 +2052,7 @@ libQt6LabsSharedImage.so.6 qt6-declarative-6.1.0_1 libQt6LabsWavefrontMesh.so.6 qt6-declarative-6.1.0_1 libQt6QmlLocalStorage.so.6 qt6-declarative-6.1.0_1 libQt6QmlWorkerScript.so.6 qt6-declarative-6.0.0_1 +libQt6QmlXmlListModel.so.6 qt6-declarative-6.5.0_1 libQt6QuickTest.so.6 qt6-quick-test-6.4.2_1 libQt6QuickShapes.so.6 qt6-declarative-6.0.0_1 libQt6QuickWidgets.so.6 qt6-declarative-6.0.0_1 diff --git a/srcpkgs/CLion/template b/srcpkgs/CLion/template index f302b7d6798e9..cc924d23fe49c 100644 --- a/srcpkgs/CLion/template +++ b/srcpkgs/CLion/template @@ -1,7 +1,7 @@ # Template file for 'CLion' pkgname=CLion version=2021.3.4 -revision=1 +revision=2 archs="x86_64 aarch64" depends="jetbrains-jdk-bin giflib libXtst" short_desc="Smart cross-platform IDE for C and C++" @@ -13,8 +13,6 @@ checksum=f3b0b9e0dd0cd4aebef5d424e7a22868c732daad47d6c94f73630cef449ccf78 repository=nonfree restricted=yes nopie=yes -# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs. -noverifyrdeps=yes python_version=3 build_options="bundled_cmake bundled_gdb bundled_lldb" diff --git a/srcpkgs/PhpStorm/template b/srcpkgs/PhpStorm/template index 306a6c77d0b36..cb84a08e13636 100644 --- a/srcpkgs/PhpStorm/template +++ b/srcpkgs/PhpStorm/template @@ -13,8 +13,6 @@ checksum=a23922f5f93bc8df1f2aabbb0f9969e27d28f706c09d18d66d4cc2d56c52ddc9 repository=nonfree restricted=yes nopie=yes -# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs. -noverifyrdeps=yes python_version=3 post_extract() { diff --git a/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg b/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg deleted file mode 100644 index c04f6c9ab2a95..0000000000000 --- a/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg +++ /dev/null @@ -1,2 +0,0 @@ -IntelliJ Ultimate has the following optional dependencies: - libdbusmenu-glib: For global menu support diff --git a/srcpkgs/intellij-idea-ultimate-edition/template b/srcpkgs/intellij-idea-ultimate-edition/template index 92ad9135f3a97..00c1186b589f7 100644 --- a/srcpkgs/intellij-idea-ultimate-edition/template +++ b/srcpkgs/intellij-idea-ultimate-edition/template @@ -1,10 +1,9 @@ # Template file for 'intellij-idea-ultimate-edition' pkgname=intellij-idea-ultimate-edition version=2021.3.3 -revision=1 +revision=2 archs="i686 x86_64" -create_wrksrc="true" -depends="giflib libXtst jetbrains-jdk-bin" +depends="giflib libXtst jetbrains-jdk-bin lldb-devel" short_desc="Most intelligent Java IDE" maintainer="Anton Afanasyev " license="custom:Commercial" @@ -15,9 +14,9 @@ checksum=2a3295fca08060ad515f6c7198879d09963724cfb36af3ea94f16dcd76636470 repository=nonfree restricted=yes nopie=yes -# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs. -noverifyrdeps=yes python_version=3 +# requires liblldb.so which is unversioned, pulled by lldb-devel +skiprdeps="/usr/lib/intellij-idea-ultimate-edition/plugins/Kotlin/bin/linux/LLDBFrontend" do_extract() { bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_filename} --strip-components=1 -C . diff --git a/srcpkgs/jetbrains-jdk-bin/template b/srcpkgs/jetbrains-jdk-bin/template index c275199504e8c..79534a1383f51 100644 --- a/srcpkgs/jetbrains-jdk-bin/template +++ b/srcpkgs/jetbrains-jdk-bin/template @@ -11,11 +11,7 @@ _jdk_ver=${version%b*} _jdk_build=${version#*b} distfiles="https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-${_jdk_ver//\./_}-linux-x64-b${_jdk_build}.tar.gz" checksum=192bc1c4d877a9035a08db8a4bc9ac98551fa344ec5835f08d455fab66c82fe0 -# This JDK appears to link to libs that do not exist, but functions well even in their absence. -# Best guess is that they are optional. ¯\_(ツ)_/¯ -noverifyrdeps=yes nopie=yes -noshlibprovides=yes do_install() { TARGET_PATH="usr/lib/jvm/jbrsdk" diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template index 5d1315f6063ca..ff08aee8720d7 100644 --- a/srcpkgs/protonmail-bridge/template +++ b/srcpkgs/protonmail-bridge/template @@ -1,7 +1,7 @@ # Template file for 'protonmail-bridge' pkgname=protonmail-bridge version=3.3.0 -revision=1 +revision=2 archs="x86_64" create_wrksrc=yes depends="desktop-file-utils" @@ -13,9 +13,18 @@ distfiles="https://proton.me/download/bridge/protonmail-bridge_${version}-1_amd6 checksum=4541f8aa145097ee171889b0c9d058450d09dc23be10231c83d6659789a27627 restricted=yes -noverifyrdeps=yes nopie=yes do_install() { + rm -f usr/lib/protonmail/bridge/plugins/sqldrivers/libqsqlmysql.so + rm -f usr/lib/protonmail/bridge/plugins/sqldrivers/libqsqlodbc.so + rm -f usr/lib/protonmail/bridge/plugins/sqldrivers/libqsqlpsql.so + rm -rf usr/lib/protonmail/bridge/plugins/designer + rm -rf usr/lib/protonmail/bridge/plugins/qmltooling + rm -rf usr/lib/protonmail/bridge/qml/QtTest + rm -rf usr/lib/protonmail/bridge/qml/Qt/labs + rm -rf usr/lib/protonmail/bridge/lib/cmake + rm -rf usr/lib/protonmail/bridge/lib/pkgconfig + rm -rf usr/lib/protonmail/bridge/lib/*.a vcopy usr / } diff --git a/srcpkgs/teamspeak3/template b/srcpkgs/teamspeak3/template index 23ca26aeb08e9..bf0dcfd75b642 100644 --- a/srcpkgs/teamspeak3/template +++ b/srcpkgs/teamspeak3/template @@ -1,12 +1,10 @@ # Template file for 'teamspeak3' pkgname=teamspeak3 version=3.5.6 -revision=1 +revision=2 archs="i686 x86_64" -create_wrksrc=yes hostmakedepends="tar" -depends="glib bash grep freetype nss libXcomposite fontconfig glibc - libxslt dbus-libs alsa-lib libXi libXcursor libXtst libXScrnSaver pciutils" +depends="bash grep" short_desc="Popular proprietary voice chat for gaming" maintainer="Tai Chi Minh Ralph Eastwood " license="custom:Proprietary" @@ -15,7 +13,6 @@ restricted=yes repository="nonfree" nopie=yes nostrip=yes -noverifyrdeps=yes if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then _pkg="TeamSpeak3-Client-linux_amd64-${version}" diff --git a/srcpkgs/zoom/template b/srcpkgs/zoom/template index 7b026f182ae7d..db3e3288bc05c 100644 --- a/srcpkgs/zoom/template +++ b/srcpkgs/zoom/template @@ -1,13 +1,10 @@ # Template file for 'zoom' pkgname=zoom version=5.15.3.4839 -revision=1 +revision=2 archs="x86_64" create_wrksrc=yes -depends="$(vopt_if systemqt 'qt5 qt5-graphicaleffects qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-svg qt5-script qt5-declarative') - xcb-util-image xcb-util-keysyms glib libXfixes libXtst libgbm libglvnd - nss atk at-spi2-atk libXcomposite libXdamage libXrandr libxkbcommon pango - alsa-lib libcups libxshmfence pulseaudio-utils" +depends="libglvnd pulseaudio-utils" short_desc="Video Conferencing and Web Conferencing Service" maintainer="Orphaned " license="custom:Proprietary" @@ -16,13 +13,16 @@ distfiles="https://cdn.zoom.us/prod/${version}/zoom_x86_64.rpm" checksum=3dc36195400744ceacd025009e88549f7a8481a6964ef3276a4f753764e51ac6 repository=nonfree noshlibprovides=yes -noverifyrdeps=yes restricted=yes nopie=yes build_options="systemqt" desc_option_systemqt="Use system QT libraries" pre_install() { + # rm -rf opt/zoom/Qt/qml/QtQml/RemoteObjects + # rm -rf opt/zoom/Qt/qml/Qt/labs + # rm -rf opt/zoom/Qt/qml/QtQuick/Scene2D + # rm -rf opt/zoom/Qt/qml/QtQuick/Scene3D if [ "${build_option_systemqt}" ]; then rm -f opt/zoom/libQt5*.so{,.*} rm -f opt/zoom/libicu*.so{,.*} From 2c52b72fd3bc0c3446b7412628f1edf906c31825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Thu, 17 Aug 2023 11:04:58 +0700 Subject: [PATCH 6/7] common/shlibs: clean up --- common/shlibs | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/common/shlibs b/common/shlibs index fafbe7af4d97d..616785bdb4778 100644 --- a/common/shlibs +++ b/common/shlibs @@ -131,13 +131,6 @@ libGL.so.1 libGL-7.11_1 libEGL.so.1 libEGL-7.11_1 libGLESv1_CM.so.1 libGLES-1.0_1 libGLESv2.so.2 libGLES-1.0_1 -libEGL.so rpi-userland-0.0.0.0.20150907_1 -libGLESv2.so rpi-userland-0.0.0.0.20150907_1 -libGLESv2.so opera-55.0.2994.37_2 -libGLESv2.so discord-0.0.7_1 -libGLESv2.so keybase-desktop-3.1.2_1 -libGLESv2.so Signal-Desktop-1.23.2_1 -libGLESv2.so slack-desktop-3.4.2_1 libbrcmEGL.so rpi-userland-20180103_2 libbrcmGLESv2.so rpi-userland-20180103_2 libbrcmOpenVG.so rpi-userland-20180103_2 @@ -1141,7 +1134,6 @@ libgstpbutils-1.0.so.0 gst-plugins-base1-1.0.0_1 libgstriff-1.0.so.0 gst-plugins-base1-1.0.0_1 libgstapp-1.0.so.0 gst-plugins-base1-1.0.0_1 libgstallocators-1.0.so.0 gst-plugins-base1-1.1.1_1 -libgsttranscoder-1.0.so.0 gst-plugins-bad1-1.22.1_1 libgstphotography-1.0.so.0 gst-plugins-bad1-1.18.3_2 libgstsignalprocessor-1.0.so.0 gst-plugins-bad1-1.18.3_2 libgstbasevideo-1.0.so.0 gst-plugins-bad1-1.18.3_2 @@ -1844,30 +1836,6 @@ libawt_xawt.so openjdk11-jre-11.0.5+10_1 libjava.so openjdk11-jre-11.0.5+10_1 libjli.so openjdk11-jre-11.0.5+10_1 libjvm.so openjdk11-jre-11.0.5+10_1 -libjawt.so openjdk7-bootstrap-7u221b02_1 -libawt.so openjdk7-bootstrap-7u221b02_1 -libawt_xawt.so openjdk7-bootstrap-7u221b02_1 -libjava.so openjdk7-bootstrap-7u221b02_1 -libjli.so openjdk7-bootstrap-7u221b02_1 -libjvm.so openjdk7-bootstrap-7u221b02_1 -libjawt.so openjdk9-bootstrap-9.0.4p12_1 -libawt.so openjdk9-bootstrap-9.0.4p12_1 -libawt_xawt.so openjdk9-bootstrap-9.0.4p12_1 -libjava.so openjdk9-bootstrap-9.0.4p12_1 -libjli.so openjdk9-bootstrap-9.0.4p12_1 -libjvm.so openjdk9-bootstrap-9.0.4p12_1 -libjawt.so openjdk10-bootstrap-10.0.2p13_1 -libawt.so openjdk10-bootstrap-10.0.2p13_1 -libawt_xawt.so openjdk10-bootstrap-10.0.2p13_1 -libjava.so openjdk10-bootstrap-10.0.2p13_1 -libjli.so openjdk10-bootstrap-10.0.2p13_1 -libjvm.so openjdk10-bootstrap-10.0.2p13_1 -libjawt.so mandrel-21.1.0.0_1 -libawt.so mandrel-21.1.0.0_1 -libawt_xawt.so mandrel-21.1.0.0_1 -libjava.so mandrel-21.1.0.0_1 -libjli.so mandrel-21.1.0.0_1 -libjvm.so mandrel-21.1.0.0_1 libucl.so.5 libucl-0.8.1_6 libhandle.so.1 xfsprogs-3.2.1_1 libnfnetlink.so.0 libnfnetlink-1.0.1_1 @@ -2642,16 +2610,10 @@ libglyphy.so.0 glyphy-0.0.20160104_1 libSwiften.so.0 swiften-4.0.3_2 libfreehand-0.1.so.1 libfreehand-0.1.1_1 libe-book-0.1.so.1 libe-book-0.1.2_1 -libOsi.so.1 CoinMP-1.8.3_1 -libClp.so.1 CoinMP-1.8.3_1 libCoinMP.so.1 CoinMP-1.8.3_1 libOsiCbc.so.3 CoinMP-1.8.3_1 -libCoinUtils.so.3 CoinMP-1.8.3_1 -libClpSolver.so.1 CoinMP-1.8.3_1 libCgl.so.1 CoinMP-1.8.3_1 -libOsiClp.so.1 CoinMP-1.8.3_1 libCbc.so.3 CoinMP-1.8.3_1 -libOsiCommonTests.so.1 CoinMP-1.8.3_1 libCbcSolver.so.3 CoinMP-1.8.3_1 libmwaw-0.3.so.3 libmwaw-0.3.7_1 libixion-0.18.so.0 libixion-0.18.1_1 @@ -2675,10 +2637,6 @@ leatherman_curl.so.1.12.4 leatherman-1.12.4_1 leatherman_dynamic_library.so.1.12.4 leatherman-1.12.4_1 leatherman_execution.so.1.12.4 leatherman-1.12.4_1 leatherman_ruby.so.1.12.4 leatherman-1.12.4_1 -libUTF.so opencollada-0.0.20160223_1 -libbuffer.so opencollada-0.0.20160223_1 -libftoa.so opencollada-0.0.20160223_1 -libzlib.so opencollada-1.6.51_1 libfbclient.so.2 libfbclient3-3.0.4.33054_1 libipmiutil.so.1 ipmiutil-3.1.3_4 libqxmpp.so.3 qxmpp-1.2.0_1 @@ -3646,12 +3604,6 @@ libTECkit.so.0 libteckit-2.5.8_1 libTECkit_Compiler.so.0 libteckit-2.5.8_1 libwf-config.so.1 wf-config-0.5.0_1 libQt5Pas.so.1 qt5pas-2.6~beta_1 -libClp.so.1 libClp-1.16.11_1 -libCoinUtils.so.3 libClp-1.16.11_1 -libOsiClp.so.1 libClp-1.16.11_1 -libClpSolver.so.1 libClp-1.16.11_1 -libOsiCommonTests.so.1 libClp-1.16.11_1 -libOsi.so.1 libClp-1.16.11_1 libOGDF.so libogdf-2018.03_1 libCOIN.so libogdf-2018.03_1 librocksdb.so.7 rocksdb-7.4.5_1 @@ -4189,7 +4141,6 @@ libThread.so root-6.24.06_1 libTMVA.so root-6.24.06_1 libMathCore.so root-6.24.06_1 libCore.so root-6.24.06_1 -libCore.so qtcreator-7.0.2_1 liblowdown.so.3 lowdown-1.0.2_1 libjaylink.so.0 libjaylink-0.2.0_1 libnvidia-container.so.1 libnvidia-container-1.10.0_1 From 760b155e534066364bed3f5865e9a8e23f9dcdb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 9 Aug 2023 19:50:06 +0700 Subject: [PATCH 7/7] libreoffice: update to 7.6.0.3. --- srcpkgs/libreoffice-epub | 1 - .../libreoffice/files/skia-no-execinfo.patch | 25 --------- srcpkgs/libreoffice/patches/musl-java.patch | 16 +++--- .../patches/musl-no-execinfo.patch | 10 ---- srcpkgs/libreoffice/template | 52 ++++++------------- 5 files changed, 25 insertions(+), 79 deletions(-) delete mode 120000 srcpkgs/libreoffice-epub delete mode 100644 srcpkgs/libreoffice/files/skia-no-execinfo.patch delete mode 100644 srcpkgs/libreoffice/patches/musl-no-execinfo.patch diff --git a/srcpkgs/libreoffice-epub b/srcpkgs/libreoffice-epub deleted file mode 120000 index d5e3a56f35028..0000000000000 --- a/srcpkgs/libreoffice-epub +++ /dev/null @@ -1 +0,0 @@ -libreoffice \ No newline at end of file diff --git a/srcpkgs/libreoffice/files/skia-no-execinfo.patch b/srcpkgs/libreoffice/files/skia-no-execinfo.patch deleted file mode 100644 index 4495e8ab060ce..0000000000000 --- a/srcpkgs/libreoffice/files/skia-no-execinfo.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/tools/gpu/vk/VkTestUtils.cpp -+++ b/tools/gpu/vk/VkTestUtils.cpp -@@ -26,7 +26,9 @@ - #include - - #if defined(SK_BUILD_FOR_UNIX) --#include -+ #if !defined(__linux__) || defined(__GLIBC__) -+ #include -+ #endif - #endif - #include "include/gpu/vk/GrVkBackendContext.h" - #include "include/gpu/vk/GrVkExtensions.h" -@@ -104,9 +106,11 @@ static int should_include_debug_layer(co - - static void print_backtrace() { - #if defined(SK_BUILD_FOR_UNIX) -+ #if !defined(__linux__) || defined(__GLIBC__) - void* stack[64]; - int count = backtrace(stack, SK_ARRAY_COUNT(stack)); - backtrace_symbols_fd(stack, count, 2); -+ #endif - #else - // Please add implementations for other platforms. - #endif diff --git a/srcpkgs/libreoffice/patches/musl-java.patch b/srcpkgs/libreoffice/patches/musl-java.patch index f5205f3cb48ee..a5c62c296ff68 100644 --- a/srcpkgs/libreoffice/patches/musl-java.patch +++ b/srcpkgs/libreoffice/patches/musl-java.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -8910,7 +8910,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN +@@ -8909,7 +8909,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,18 +9,18 @@ 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" -@@ -14646,7 +14646,7 @@ else +@@ -14744,7 +14744,7 @@ else case "$host_os" in -- aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) -+ aix*|dragonfly*|freebsd*|linux-gnu*|linux-musl*|*netbsd*|openbsd*) +- dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) ++ dragonfly*|freebsd*|linux-gnu*|linux-musl*|*netbsd*|openbsd*) if test "$ENABLE_JAVA" != ""; then pathmunge "$JAVA_HOME/bin" "after" fi --- a/configure +++ b/configure -@@ -22754,7 +22754,7 @@ if test -n "$ENABLE_JAVA" -a -z "$JAVAIN +@@ -22737,7 +22737,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,12 +29,12 @@ 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" -@@ -46454,7 +46454,7 @@ else +@@ -46802,7 +46802,7 @@ else case "$host_os" in -- aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) -+ aix*|dragonfly*|freebsd*|linux-gnu*|linux-musl*|*netbsd*|openbsd*) +- dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) ++ dragonfly*|freebsd*|linux-gnu*|linux-musl*|*netbsd*|openbsd*) if test "$ENABLE_JAVA" != ""; then pathmunge "$JAVA_HOME/bin" "after" fi diff --git a/srcpkgs/libreoffice/patches/musl-no-execinfo.patch b/srcpkgs/libreoffice/patches/musl-no-execinfo.patch deleted file mode 100644 index a430c5d153664..0000000000000 --- a/srcpkgs/libreoffice/patches/musl-no-execinfo.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/external/skia/UnpackedTarball_skia.mk -+++ b/external/skia/UnpackedTarball_skia.mk -@@ -41,6 +41,7 @@ skia_patches := \ - constexpr-template.patch.0 \ - missing-include.patch.0 \ - tdf147342.patch.0 \ -+ skia-no-execinfo.patch.1 \ - - $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1)) - diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template index a5ade73cc1969..6dbe8c8730943 100644 --- a/srcpkgs/libreoffice/template +++ b/srcpkgs/libreoffice/template @@ -1,18 +1,18 @@ # Template file for 'libreoffice' pkgname=libreoffice -version=7.5.5.2 -revision=2 +version=7.6.0.3 +revision=1 build_style=meta make_build_target="build" hostmakedepends="automake flex gperf hyphen icu libtool openldap which gettext xz perl-Archive-Zip pkg-config qt5-qmake sane unzip zip python3-setuptools - fontforge python3-lxml qt6-base-devel gtk4-devel gobject-introspection gnupg" + fontforge python3-lxml qt6-base gtk4-devel gobject-introspection gnupg" makedepends="CoinMP-devel apr-devel avahi-libs-devel clucene-devel 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 + 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 libpagemaker-devel libqxp-devel librsvg-devel libvisio-devel libwpg-devel @@ -90,13 +90,14 @@ distfiles=" ${_addurl}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip ${_addurl}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip ${_addurl}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip - ${_addurl}/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz + ${_addurl}/skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz + ${_addurl}/frozen-1.1.1.tar.gz ${_addurl}/dragonbox-1.1.3.tar.gz " -checksum="6628dfd2a21041a7c5bb6d72733e0fd52efa7959c95084fcd4d96cc4a61b0561 - 33c023d3e5abe5649350ae1242fcd5d6c069066f283db967b6aab35aa4857504 - 1de834979bf25c3c6f368362dd20c95d0bee514a42eee903a32188d40488aa62 - 24b5c791a17128361b5f3c8538348002a714d0ba2aab37e3bf10e16b7ac049b7 +checksum="07f33f11a75b72a3044749d4f2f7d02a0fd79eaed4fb73e618ec5fe3576d0c25 + b932cdd6bd2ee717f3a09766c88fe90100b0c2c0509313c3ee297f95c084ee2e + 210f18ff60e93d366856d84e714d3fd6f184f399b5163afc92b7e11155cbe768 + 667e4ffeacc01bd0f830c2edcc56e2328f924eeac224639babeb3841a44ec5f4 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753 75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870 7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66 @@ -123,7 +124,8 @@ checksum="6628dfd2a21041a7c5bb6d72733e0fd52efa7959c95084fcd4d96cc4a61b0561 abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095 05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343 085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045 - c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9 + 0d08a99ed46cde43b5ad2672b5d8770c8eb85d0d26cb8f1f85fd9befe1e9ceb9 + f7c7075750e8fceeac081e9ef01944f221b36d9725beac8681cbd2838d26be45 09d63b05e9c594ec423778ab59b7a5aa1d76fdd71d25c7048b0258c4ec9c3384" skip_extraction=" 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -152,7 +154,8 @@ skip_extraction=" 8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip - skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz + skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz + frozen-1.1.1.tar.gz dragonbox-1.1.3.tar.gz " replaces="libreoffice-firebird<6.2.4.2_1" @@ -488,8 +491,9 @@ do_install() { libreoffice-common_package() { short_desc+=" - Common files" - depends="hunspell hyphen mythes openldap libreoffice-i18n-en-US>=${version}_${revision}" + depends="libreoffice-i18n-en-US>=${version}_${revision}" skiprdeps=/usr/lib/libreoffice/program/libofficebean.so + replaces="libreoffice-epub>=0" pkg_install() { _split common } @@ -498,7 +502,6 @@ libreoffice-common_package() { libreoffice-base_package() { short_desc+=" - Database frontend" depends="libreoffice-writer>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split base } @@ -507,7 +510,6 @@ libreoffice-base_package() { libreoffice-calc_package() { short_desc+=" - Spreadsheet" depends="libreoffice-writer>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split calc } @@ -516,7 +518,6 @@ libreoffice-calc_package() { libreoffice-draw_package() { short_desc+=" - Drawing application" depends="sane libreoffice-writer>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split draw } @@ -556,8 +557,6 @@ libreoffice-fonts_package() { libreoffice-gnome_package() { short_desc+=" - GNOME integration" - depends="libreoffice-common>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split gnome } @@ -566,7 +565,6 @@ libreoffice-gnome_package() { libreoffice-impress_package() { short_desc+=" - Presentation application" depends="libreoffice-writer>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split impress } @@ -574,8 +572,6 @@ libreoffice-impress_package() { libreoffice-kde_package() { short_desc+=" - KDE integration" - depends="libreoffice-common>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { cat > ${wrksrc}/file-lists/kde5_list.txt <<-EOF %dir /usr/lib/libreoffice/program @@ -593,8 +589,6 @@ libreoffice-kde_package() { libreoffice-qt6_package() { short_desc+=" - Qt6 integration" - depends="libreoffice-common>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { cat > ${wrksrc}/file-lists/qt6_list.txt <<-EOF %dir /usr/lib/libreoffice/program @@ -615,7 +609,6 @@ libreoffice-kit_package() { libreoffice-math_package() { short_desc+=" - Equation editor" depends="libreoffice-writer>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split math } @@ -623,8 +616,7 @@ libreoffice-math_package() { libreoffice-postgresql_package() { short_desc+=" - Connector for PostgreSQL" - depends="libreoffice-base>=${version}_${revision} libreoffice-common>=${version}_${revision}" - noverifyrdeps=yes + depends="libreoffice-base>=${version}_${revision}" pkg_install() { _split postgresql } @@ -632,25 +624,15 @@ libreoffice-postgresql_package() { libreoffice-writer_package() { short_desc+=" - Word processor" - depends="libreoffice-common>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { _split writer } } -libreoffice-epub_package() { - short_desc+=" - EPUB output" - build_style=meta - depends="libreoffice-common>=${version}_${revision} libepubgen libabw libe-book - libetonyek libwps" -} - # Use a name which makes this catch-all subpackage the last one libreoffice-xtensions_package() { short_desc+=" - Extensions" depends="libreoffice-common>=${version}_${revision}" - noverifyrdeps=yes pkg_install() { # Remove empty files find ${DESTDIR}/all -size 0 -delete