diff --git a/common/shlibs b/common/shlibs index cc09f0842e9..daf2b80acbb 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2176,7 +2176,7 @@ libKF5CddbWidgets.so.5 libkcddb-17.08.2_1 libKF5Cddb.so.5 libkcddb-17.08.2_1 libk3bdevice.so.7 k3b-17.08.2_1 libk3blib.so.7 k3b-17.08.2_1 -libsndio.so.7.0 libsndio-1.4.0_1 +libsndio.so.7 libsndio-1.7.0_1 libopenconnect.so.5 openconnect-7.05_1 libusbredirparser.so.1 usbredir-0.7_1 libusbredirhost.so.1 usbredir-0.7_1 diff --git a/srcpkgs/sndio/patches/7a03da2.patch b/srcpkgs/sndio/patches/7a03da2.patch new file mode 100644 index 00000000000..26c15cddcba --- /dev/null +++ b/srcpkgs/sndio/patches/7a03da2.patch @@ -0,0 +1,73 @@ +From 7a03da2848551e6bd9d3e06d2beee4b2d438a999 Mon Sep 17 00:00:00 2001 +From: Duncan Overbruck +Date: Mon, 31 Aug 2020 22:36:58 +0200 +Subject: [PATCH] Add libsndio.so.${MAJ} symlink and use it as SONAME on linux + +This avoids having to rebuild a lot of packages even if the +ABI did not break. cubeb used by firefox currently dlopen's +either libsndio.so.7.1 or libsndio.so, with the major link +this would also avoid having to patch this as long as the +ABI doesn't break without having to ship the libsndio.so +symlink outside of -dev/-devel packages. +--- + configure | 4 +++- + libsndio/Makefile.in | 8 ++++++-- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index 94829c4..eb2ea9e 100755 +--- configure ++++ configure +@@ -60,8 +60,9 @@ case `uname` in + alsa=yes + ldadd="-lrt" + user=sndiod +- so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}.\${MIN}" + so_link="libsndio.so" ++ so_link_maj="libsndio.so.\${MAJ}" ++ so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}" + defs='-D_GNU_SOURCE -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME' + ;; + NetBSD) +@@ -268,6 +269,7 @@ do + -e "s:@ldadd@:$ldadd:" \ + -e "s:@so@:$so:" \ + -e "s:@so_link@:$so_link:" \ ++ -e "s:@so_link_maj@:$so_link_maj:" \ + -e "s:@so_ldflags@:$so_ldflags:" \ + -e "s:@vars@:${vars}:" \ + -e "s:@precision@:$precision:" \ +diff --git a/libsndio/Makefile.in b/libsndio/Makefile.in +index 58ec1e7..36f1fd9 100644 +--- libsndio/Makefile.in ++++ libsndio/Makefile.in +@@ -49,8 +49,9 @@ MAJ = 7 + MIN = 1 + SO = @so@ + SO_LINK = @so_link@ ++SO_LINK_MAJ = @so_link_maj@ + +-all: ${SO} ${SO_LINK} ++all: ${SO} ${SO_LINK} ${SO_LINK_MAJ} + + + install: +@@ -59,7 +60,7 @@ install: + mkdir -p ${DESTDIR}${MAN3_DIR} + mkdir -p ${DESTDIR}${MAN7_DIR} + cp sndio.h ${DESTDIR}${INCLUDE_DIR} +- cp -R ${SO} ${SO_LINK} ${DESTDIR}${LIB_DIR} ++ cp -R ${SO} ${SO_LINK} ${SO_LINK_MAJ} ${DESTDIR}${LIB_DIR} + cp sio_open.3 ${DESTDIR}${MAN3_DIR} + ln -sf sio_open.3 ${DESTDIR}${MAN3_DIR}/sio_close.3 + ln -sf sio_open.3 ${DESTDIR}${MAN3_DIR}/sio_setpar.3 +@@ -126,6 +127,9 @@ ${SO}: ${OBJS} + ${SO_LINK}: + ln -sf ${SO} ${SO_LINK} + ++${SO_LINK_MAJ}: ++ ln -sf ${SO} ${SO_LINK_MAJ} ++ + issetugid.o: ../bsd-compat/issetugid.c + ${CC} ${CFLAGS} ${SO_CFLAGS} ${INCLUDE} ${DEFS} -c -o issetugid.o ../bsd-compat/issetugid.c + diff --git a/srcpkgs/sndio/template b/srcpkgs/sndio/template index ae62ca79304..76524cdc03c 100644 --- a/srcpkgs/sndio/template +++ b/srcpkgs/sndio/template @@ -1,19 +1,19 @@ # Template file for 'sndio' pkgname=sndio -version=1.6.0 +version=1.7.0 revision=1 build_style=configure configure_args="--prefix=/usr" makedepends="alsa-lib-devel" short_desc="Small audio and MIDI framework part of the OpenBSD project" -maintainer="Orphaned " +maintainer="Duncaen " license="ISC" system_accounts="sndiod" sndiod_descr="sndio daemon" sndiod_pgroup="audio" homepage="http://www.sndio.org/" distfiles="http://www.sndio.org/${pkgname}-${version}.tar.gz" -checksum=99e0064ac11aceab24c73ed4630a31de401ff2f37689565b7b375682476f5bc1 +checksum=dda4e3d0879423ed57923975ba74668cbb9299939cad579b0ac64a4b01535552 post_install() { vsv sndiod @@ -23,8 +23,11 @@ post_install() { libsndio_package() { short_desc+=" -- library" + shlib_provides="libsndio.so.7.0" pkg_install() { vmove "usr/lib/libsndio.so.*" + # compat symlink until everything is built with libsndio.so.7 as SONAME + ln -sf libsndio.7 ${PKGDESTDIR}/usr/lib/libsndio.7.0 } } sndio-devel_package() {