diff --git a/srcpkgs/mumble/patches/musl-dlsym.patch b/srcpkgs/mumble/patches/musl-dlsym.patch new file mode 100644 index 00000000000..abb01c87d7d --- /dev/null +++ b/srcpkgs/mumble/patches/musl-dlsym.patch @@ -0,0 +1,30 @@ +--- overlay_gl/overlay.c ++++ overlay_gl/overlay.c +@@ -690,19 +690,24 @@ static void initializeLibrary() { + int nchains = 0; + ElfW(Sym) *symtab = NULL; + const char *strtab = NULL; ++#ifdef __GLIBC__ ++ const ElfW(Addr) base = 0; ++#else ++ const ElfW(Addr) base = lm->l_addr; ++#endif + + ElfW(Dyn) *dyn = lm->l_ld; + + while (dyn->d_tag) { + switch (dyn->d_tag) { + case DT_HASH: +- nchains = *(int *)(dyn->d_un.d_ptr + 4); ++ nchains = *(int *)(base + dyn->d_un.d_ptr + 4); + break; + case DT_STRTAB: +- strtab = (const char *) dyn->d_un.d_ptr; ++ strtab = (const char *)(base + dyn->d_un.d_ptr); + break; + case DT_SYMTAB: +- symtab = (ElfW(Sym) *) dyn->d_un.d_ptr; ++ symtab = (ElfW(Sym) *)(base + dyn->d_un.d_ptr); + break; + } + dyn ++; diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template index 60f68db7429..79a7780cb0f 100644 --- a/srcpkgs/mumble/template +++ b/srcpkgs/mumble/template @@ -1,7 +1,7 @@ # Template file for 'mumble' pkgname=mumble version=1.2.19 -revision=4 +revision=5 hostmakedepends="pkg-config qt-host-tools qt-qmake protobuf Ice" makedepends=" libcap-devel Ice-devel protobuf-devel libXi-devel qt-devel libressl-devel