Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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} ]] ||
Expand All @@ -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
Expand All @@ -38,19 +52,23 @@ 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}
}

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}
}
80 changes: 29 additions & 51 deletions common/hooks/pre-pkg/04-generate-runtime-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
#
Expand Down
50 changes: 1 addition & 49 deletions common/shlibs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -2052,6 +2020,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
Expand Down Expand Up @@ -2641,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
Expand All @@ -2674,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
Expand Down Expand Up @@ -3645,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
Expand Down Expand Up @@ -4188,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
Expand Down
4 changes: 1 addition & 3 deletions srcpkgs/CLion/template
Original file line number Diff line number Diff line change
@@ -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++"
Expand All @@ -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"
Expand Down
2 changes: 0 additions & 2 deletions srcpkgs/PhpStorm/template
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
2 changes: 0 additions & 2 deletions srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg

This file was deleted.

9 changes: 4 additions & 5 deletions srcpkgs/intellij-idea-ultimate-edition/template
Original file line number Diff line number Diff line change
@@ -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 <anton@doubleasoftware.com>"
license="custom:Commercial"
Expand All @@ -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 .
Expand Down
4 changes: 0 additions & 4 deletions srcpkgs/jetbrains-jdk-bin/template
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
1 change: 0 additions & 1 deletion srcpkgs/libreoffice-epub

This file was deleted.

25 changes: 0 additions & 25 deletions srcpkgs/libreoffice/files/skia-no-execinfo.patch

This file was deleted.

19 changes: 19 additions & 0 deletions srcpkgs/libreoffice/patches/build-option-java.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
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: */
Loading