void-packages/srcpkgs/musl/template
q66 53d00fffc2 musl: backport patches to fix pthread_cond_wait with PI mutex
https://github.com/pulseaudio/pulseaudio/blob/master/src/pulsecore/mutex-posix.c#L55
https://github.com/pulseaudio/pulseaudio/blob/master/src/pulse/thread-mainloop.c#L118

413a8f8917

pulseaudio uses a prio-inheriting mutex since the above revision
that is paised with a condition variable; the behavior of this
was broken in musl until the above patches, which would result
in pulseaudio deadlocking with gstreamer pulsesink (most often
with webkit) and possibly other things.

Fixes https://github.com/void-linux/void-packages/issues/15631
2021-08-02 22:09:57 +02:00

54 lines
1.3 KiB
Bash

# Template file for 'musl'
pkgname=musl
reverts="1.2.0_1"
version=1.1.24
revision=9
archs="*-musl"
bootstrap=yes
build_style=gnu-configure
configure_args="--prefix=/usr --disable-gcc-wrapper"
short_desc="Musl C library"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="MIT"
homepage="http://www.musl-libc.org/"
distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
nostrip_files="libc.so"
shlib_provides="libc.so"
post_build() {
$CC $CFLAGS $LDFLAGS -fpie ${FILESDIR}/getent.c -o getent
$CC $CFLAGS $LDFLAGS -fpie ${FILESDIR}/getconf.c -o getconf
$CC $CFLAGS $LDFLAGS -fpie ${FILESDIR}/iconv.c -o iconv
}
do_install() {
# Move everything to /usr.
vmkdir usr/lib
ln -s usr/lib ${DESTDIR}/lib
make DESTDIR=${DESTDIR} install
rm ${DESTDIR}/lib
# provide ldd
vmkdir usr/bin
ln -s ../lib${XBPS_TARGET_WORDSIZE}/libc.so ${DESTDIR}/usr/bin/ldd
# additional utils from Alpine/NetBSD
vbin iconv
vbin getent
vman ${FILESDIR}/getent.1
vbin getconf
vman ${FILESDIR}/getconf.1
# Fake ldconfig
ln -s true ${DESTDIR}/usr/bin/ldconfig
vlicense COPYRIGHT
}
musl-devel_package() {
depends="kernel-libc-headers ${sourcepkg}-${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.o"
}
}