summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred Wingate <parona@protonmail.com>2023-12-17 16:00:11 +0200
committerSam James <sam@gentoo.org>2023-12-18 07:01:42 +0000
commite7eae3f15e1223e854d5062436d55c39c439ba32 (patch)
treecc086864902da6a1d05d59206309b9b9eba8bf24 /dev-libs
parentmedia-video/ffmpeg: Stabilize 4.4.4-r8 arm64, #920238 (diff)
downloadgentoo-e7eae3f15e1223e854d5062436d55c39c439ba32.tar.gz
gentoo-e7eae3f15e1223e854d5062436d55c39c439ba32.tar.bz2
gentoo-e7eae3f15e1223e854d5062436d55c39c439ba32.zip
dev-libs/dmalloc: redo patches
* Split changes, drop redundant and problematic changes. Closes: https://bugs.gentoo.org/919579 Closes: https://bugs.gentoo.org/920106 Signed-off-by: Alfred Wingate <parona@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/34326 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild62
-rw-r--r--dev-libs/dmalloc/dmalloc-5.6.5.ebuild73
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch343
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch103
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch89
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch35
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch22
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch32
8 files changed, 329 insertions, 430 deletions
diff --git a/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild
new file mode 100644
index 000000000000..62fc41dd4d5e
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="https://dmalloc.com"
+SRC_URI="https://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="threads"
+
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6.5-add-destdir-support.patch
+ "${FILESDIR}"/${PN}-5.6.5-allow-overriding-ar-and-ld.patch
+ "${FILESDIR}"/${PN}-5.6.5-set-soname-version.patch
+ "${FILESDIR}"/${PN}-5.6.5-configure-c99.patch
+ "${FILESDIR}"/${PN}-5.6.5-fix-cxx-check.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-cxx \
+ --enable-shlib \
+ $(use_enable threads)
+}
+
+src_test() {
+ # mv: cannot stat 'aout': No such file or directory
+ emake -j1 heavy
+}
+
+src_install() {
+ default
+
+ soname_link() {
+ dosym ${1}.so.${PV} /usr/$(get_libdir)/${1}.so.${PV%%.*}
+ dosym ${1}.so.${PV%%.*} /usr/$(get_libdir)/${1}.so
+ }
+
+ soname_link libdmalloc
+ soname_link libdmallocxx
+
+ if use threads; then
+ soname_link libdmallocth
+ soname_link libdmallocthcxx
+ fi
+
+ rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
+}
diff --git a/dev-libs/dmalloc/dmalloc-5.6.5.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5.ebuild
deleted file mode 100644
index 75f5f823673e..000000000000
--- a/dev-libs/dmalloc/dmalloc-5.6.5.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="A Debug Malloc Library"
-HOMEPAGE="https://dmalloc.com"
-SRC_URI="https://dmalloc.com/releases/${P}.tgz"
-
-LICENSE="CC-BY-SA-3.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="threads"
-
-BDEPEND="sys-apps/texinfo"
-
-PATCHES=(
- # - Build objects twice, once -fPIC for shared.
- # - Use DESTDIR.
- # - Fix SONAME and NEEDED.
- "${FILESDIR}"/${PN}-5.6.5-Makefile.in.patch
- # - Broken test, always returns false.
- "${FILESDIR}"/${PN}-5.5.2-cxx.patch
- "${FILESDIR}"/${PN}-5.6.5-configure-c99.patch
-)
-
-src_prepare() {
- default
-
- # - Add threads support.
- use threads && eapply "${FILESDIR}"/${PN}-5.5.2-threads.patch
-
- # Respect CFLAGS/LDFLAGS. #337429
- sed -i \
- -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
- -e 's|ar cr|$(AR) cr|g' \
- Makefile.in || die
-
- # Run autoconf for -cxx.patch.
- eautoconf
-}
-
-src_configure() {
- tc-export AR
-
- econf \
- --enable-cxx \
- --enable-shlib \
- $(use_enable threads)
-}
-
-src_test() {
- emake heavy
-}
-
-src_install() {
- default
-
- # add missing symlinks, lazy
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
-
- local lib
- for lib in cxx th thcxx; do
- dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
- dosym lib${PN}${lib}.so.${PV} \
- /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
- done
-
- rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
-}
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch
deleted file mode 100644
index 2f28c6159218..000000000000
--- a/dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch
+++ /dev/null
@@ -1,343 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -42,7 +42,7 @@ LIBRARY = lib$(MODULE).a
-
- # thread version of the library
- LIB_TH = lib$(MODULE)th.a
--LIB_TH_SL = lib$(MODULE)th.@shlibext@
-+LIB_TH_SL = lib$(MODULE)th.@shlibext@.5.5.2
- @TH_ON@BUILD_ALL_1 = threads
- @TH_ON@INSTALL_LIB_1 = installth
- @SL_ON@BUILD_THREADS_1 = $(LIB_TH_SL)
-@@ -51,8 +51,8 @@ LIB_TH_SL = lib$(MODULE)th.@shlibext@
- @TH_ON@@SL_ON@INSTALL_LIB_2 = installthsl
-
- # C++ version of the library
--LIB_CXX = lib$(MODULE)xx.a
--LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
-+LIB_CXX = lib$(MODULE)cxx.a
-+LIB_CXX_SL = lib$(MODULE)cxx.@shlibext@.5.5.2
- @CXX_ON@BUILD_ALL_3 = $(LIB_CXX)
- @CXX_ON@INSTALL_LIB_3 = installcxx
- @SL_ON@BUILD_CXX_3 = $(LIB_CXX_SL)
-@@ -62,7 +62,7 @@ LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
-
- # threads + C++
- LIB_TH_CXX = lib$(MODULE)thcxx.a
--LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@
-+LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@.5.5.2
- @TH_ON@@CXX_ON@BUILD_ALL_5 = $(LIB_TH_CXX)
- @TH_ON@@CXX_ON@INSTALL_LIB_5 = installthcxx
- @TH_ON@BUILD_CXX_5 = $(LIB_TH_CXX)
-@@ -77,7 +77,7 @@ LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@
- @CXX_ON@@SL_ON@INSTALL_THREADS_6 = installthcxxsl
-
- # shared versions of the libraries
--LIB_SL = lib$(MODULE).@shlibext@
-+LIB_SL = lib$(MODULE).@shlibext@.5.5.2
- @SL_ON@BUILD_ALL_7 = $(LIB_SL)
- @SL_ON@INSTALL_LIB_7 = installsl
- @SL_ON@BUILD_TH_CXX_7 = $(LIB_TH_CXX_SL)
-@@ -150,9 +150,14 @@ SHELL = /bin/sh
-
- HFLS = dmalloc.h
- OBJS = append.o arg_check.o compat.o dmalloc_rand.o dmalloc_tab.o env.o heap.o
-+OBJS_SL = arg_check_sl.o compat_sl.o dmalloc_rand_sl.o dmalloc_tab_sl.o env_sl.o heap_sl.o
-+
- NORMAL_OBJS = chunk.o error.o user_malloc.o
-+NORMAL_OBJS_SL = chunk_sl.o error_sl.o user_malloc_sl.o
- THREAD_OBJS = chunk_th.o error_th.o user_malloc_th.o
-+THREAD_OBJS_SL = chunk_th_sl.o error_th_sl.o malloc_th_sl.o
- CXX_OBJS = dmallocc.o
-+CXX_OBJS_SL = dmallocc_sl.o
-
- CFLAGS = $(CCFLAGS)
- TEST = $(MODULE)_t
-@@ -165,9 +170,9 @@ all : $(BUILD_ALL)
-
- clean :
- rm -f $(A_OUT) core *.o *.t
-- rm -f $(LIBRARY) $(LIB_TH) $(LIB_CXX) $(LIB_TH_CXX) $(TEST) $(TEST_FC)
-- rm -f $(LIB_TH_SL) $(LIB_CXX_SL) $(LIB_TH_CXX_SL) $(LIB_SL)
-+ rm -f $(TEST) $(TEST_FC)
- rm -f $(UTIL) dmalloc.h
-+ rm -f lib$(MODULE)*.*
-
- realclean : clean
-
-@@ -182,65 +187,65 @@ distclean : clean
- docs : $(DOCS) LICENSE.txt
-
- installdirs :
-- $(srcdir)/mkinstalldirs $(includedir) $(libdir) $(bindir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
-
- installincs : $(HFLS)
-- $(srcdir)/mkinstalldirs $(includedir)
-- $(INSTALL_DATA) $(HFLS) $(includedir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
-+ $(INSTALL_DATA) $(HFLS) $(DESTDIR)$(includedir)
-
- installthsl : $(LIB_TH_SL)
-- $(srcdir)/mkinstalldirs $(libdir)
-- $(INSTALL_PROGRAM) $(LIB_TH_SL) $(libdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
-+ $(INSTALL_PROGRAM) $(DESTDIR)$(LIB_TH_SL) $(DESTDIR)$(libdir)
-
- installth : $(INSTALL_THREADS)
-- $(srcdir)/mkinstalldirs $(libdir)
-- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
-+ $(INSTALL_PROGRAM) $(LIB_TH) $(DESTDIR)$(libdir)
- @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
- @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
-
- installthcxxsl : $(LIB_TH_CXX_SL)
-- $(srcdir)/mkinstalldirs $(shlibdir)
-- $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(shlibdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
-+ $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(DESTDIR)$(shlibdir)
-
- installthcxx : $(INSTALL_TH_CXX)
-- $(srcdir)/mkinstalldirs $(libdir)
-- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
-+ $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(DESTDIR)$(libdir)
- @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
-
- installcxxsl : $(LIB_CXX_SL)
-- $(srcdir)/mkinstalldirs $(libdir)
-- $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(libdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
-+ $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(DESTDIR)$(libdir)
-
- installcxx : $(INSTALL_CXX)
-- $(srcdir)/mkinstalldirs $(libdir)
-- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
-+ $(INSTALL_PROGRAM) $(LIB_CXX) $(DESTDIR)$(libdir)
- @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
- @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
-
- installsl : $(LIB_SL)
-- $(srcdir)/mkinstalldirs $(shlibdir)
-- $(INSTALL_PROGRAM) $(LIB_SL) $(shlibdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
-+ $(INSTALL_PROGRAM) $(LIB_SL) $(DESTDIR)$(shlibdir)
- @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
- @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
-
- installlib : $(INSTALL_LIB)
-- $(srcdir)/mkinstalldirs $(libdir)
-- $(INSTALL_PROGRAM) $(LIBRARY) $(libdir)
-- @RANLIB@ $(libdir)/$(LIBRARY)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
-+ $(INSTALL_PROGRAM) $(LIBRARY) $(DESTDIR)$(libdir)
-+ @RANLIB@ $(DESTDIR)$(libdir)/$(LIBRARY)
- @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
- @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
- @TH_OFF@ @echo "Enter 'make installth' to install thread library"
-
- # see notes about why we need the FILE2 entries below
- installdocs : $(INSTALL_FILE2) $(HTML_FILE2) $(INFO_FILE)
-- $(srcdir)/mkinstalldirs $(docdir)
-- $(INSTALL_DATA) $(INSTALL_FILE2) $(docdir)/$(INSTALL_FILE)
-- $(INSTALL_DATA) $(HTML_FILE2) $(docdir)/$(HTML_FILE)
-- $(INSTALL_DATA) $(INFO_FILE) $(docdir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
-+ $(INSTALL_DATA) $(INSTALL_FILE2) $(DESTDIR)$(docdir)/$(INSTALL_FILE)
-+ $(INSTALL_DATA) $(HTML_FILE2) $(DESTDIR)$(docdir)/$(HTML_FILE)
-+ $(INSTALL_DATA) $(INFO_FILE) $(DESTDIR)$(docdir)
-
- install : installincs installlib $(UTIL)
-- $(srcdir)/mkinstalldirs $(bindir)
-- $(INSTALL_PROGRAM) $(UTIL) $(bindir)
-+ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
-+ $(INSTALL_PROGRAM) $(UTIL) $(DESTDIR)$(bindir)
- @echo "Enter 'make installdocs' to install $(DOCS) in $(docdir)"
-
- dmalloc.h.2 conf.h settings.h version.h : $(srcdir)/configure $(srcdir)/settings.dist $(srcdir)/conf.h.in
-@@ -297,10 +302,8 @@ shlib : $(BUILD_SL)
-
- # NOTE: you may have to edit the configure.ac script to get this to
- # work on your operating system. Please send feedback to the author
--$(LIB_SL) : $(LIBRARY)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIBRARY)
-- mv $@.t $@
-+$(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
-
- $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
- ar cr $@ $?
-@@ -310,32 +313,26 @@ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
- ar cr $@ $?
- @RANLIB@ $@
-
--$(LIB_TH_SL) : $(LIB_TH)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIB_TH)
-- mv $@.t $@
-+$(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
-
- $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
- ar cr $@ $?
- @RANLIB@ $@
-
--$(LIB_CXX_SL) : $(LIB_CXX)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIB_CXX)
-- mv $@.t $@
-+$(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
-
- $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
- ar cr $@ $?
- @RANLIB@ $@
-
--$(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIB_TH_CXX)
-- mv $@.t $@
-+$(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmallocthcxx.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
-
--threadssl : $(LIB_TH_SL)
-+threadssl : $(LIB_TH_SL)$(ver)
-
--threadscxxsl : $(LIB_TH_CXX_SL)
-+threadscxxsl : $(LIB_TH_CXX_SL)$(ver)
-
- threadscxx : $(BUILD_TH_CXX)
- @SL_OFF@ @echo "Enter 'make threadscxxsl' to build the threaded C++ shared-library"
-@@ -344,7 +341,7 @@ threads : $(BUILD_THREADS)
- @CXX_OFF@ @echo "Enter 'make threadscxx' to build the threaded C++ library"
- @SL_OFF@ @echo "Enter 'make threadssl' to build the threaded shared library"
-
--cxxsl : $(LIB_CXX_SL)
-+cxxsl : $(LIB_CXX_SL)$(ver)
-
- cxx : $(BUILD_CXX)
- @SL_OFF@ @echo "Enter 'make cxxsl' to build the cxx shared library"
-@@ -404,6 +401,11 @@ heavy : $(TEST) light
- rm -f $@
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
-
-+dmallocc_sl.o : $(srcdir)/dmallocc.cc dmalloc.h
-+ rm -f $@
-+ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
-+ -o ./$@
-+
- #
- # .cc.o auto-target doesn't work on some systems.
- # also, $? did not work on OSF for the -c, grrr
-@@ -434,39 +436,108 @@ append.o: append.c conf.h settings.h dmalloc.h append.h compat.h \
- dmalloc_loc.h
- arg_check.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
- dmalloc_loc.h error.h arg_check.h
-+arg_check_sl.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
-+ dmalloc_loc.h error.h arg_check.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- chunk.o: chunk.c conf.h settings.h dmalloc.h append.h chunk.h chunk_loc.h \
- dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h \
- error.h error_val.h heap.h
-+chunk_sl.o: chunk.c conf.h settings.h dmalloc.h append.h chunk.h chunk_loc.h \
-+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h \
-+ error.h error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- compat.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
-+compat_sl.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h append.h \
- compat.h debug_tok.h dmalloc_loc.h env.h error_val.h version.h
-+dmalloc_sl.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
-+ debug_tok.h dmalloc_loc.h env.h error_val.h version.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_argv.o: dmalloc_argv.c conf.h settings.h append.h dmalloc_argv.h \
- dmalloc_argv_loc.h compat.h
-+dmalloc_argv_sl.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
-+ dmalloc_argv_loc.h compat.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_fc_t.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
- dmalloc_rand.h debug_tok.h dmalloc_loc.h error_val.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_rand.o: dmalloc_rand.c dmalloc_rand.h
-+dmalloc_rand_sl.o: dmalloc_rand.c dmalloc_rand.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_t.o: dmalloc_t.c conf.h settings.h append.h compat.h dmalloc.h \
- dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
- error_val.h heap.h
-+dmalloc_t_sl.o: dmalloc_t.c conf.h settings.h compat.h dmalloc.h \
-+ dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
-+ error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_tab.o: dmalloc_tab.c conf.h settings.h append.h chunk.h compat.h \
- dmalloc.h dmalloc_loc.h dmalloc_tab.h dmalloc_tab_loc.h
-+dmalloc_tab_sl.o: dmalloc_tab.c conf.h settings.h chunk.h compat.h dmalloc.h \
-+ dmalloc_loc.h error.h error_val.h dmalloc_tab.h dmalloc_tab_loc.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- env.o: env.c conf.h settings.h dmalloc.h append.h compat.h dmalloc_loc.h \
- debug_tok.h env.h error.h
-+env_sl.o: env.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h \
-+ debug_tok.h env.h error.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- error.o: error.c conf.h settings.h dmalloc.h append.h chunk.h compat.h \
- debug_tok.h dmalloc_loc.h env.h error.h error_val.h version.h
-+error_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
-+ dmalloc_loc.h env.h error.h error_val.h version.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- heap.o: heap.c conf.h settings.h dmalloc.h append.h chunk.h compat.h \
- debug_tok.h dmalloc_loc.h error.h error_val.h heap.h
-+heap_sl.o: heap.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
-+ dmalloc_loc.h error.h error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- protect.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
- heap.h protect.h
-+protect_sl.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
-+ heap.h protect.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- user_malloc.o: user_malloc.c conf.h settings.h dmalloc.h append.h chunk.h \
- compat.h debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
- user_malloc.h return.h
-+user_malloc_sl.o: user_malloc.c conf.h settings.h dmalloc.h append.h chunk.h \
-+ compat.h debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
-+ user_malloc.h return.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmallocc.o: dmallocc.cc dmalloc.h return.h conf.h settings.h
- chunk_th.o: chunk.c conf.h settings.h dmalloc.h append.h chunk.h chunk_loc.h \
- dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h \
- error.h error_val.h heap.h
-+chunk_th_sl.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
-+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
-+ error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- error_th.o: error.c conf.h settings.h dmalloc.h append.h chunk.h compat.h \
- debug_tok.h dmalloc_loc.h env.h error.h error_val.h version.h
-+error_th_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
-+ dmalloc_loc.h env.h error.h error_val.h version.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- user_malloc_th.o: user_malloc.c conf.h settings.h dmalloc.h append.h chunk.h \
- compat.h debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
- user_malloc.h return.h
-+user_malloc_th_sl.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
-+ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
-+ malloc_funcs.h return.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch
new file mode 100644
index 000000000000..2ab42e0d258c
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch
@@ -0,0 +1,103 @@
+From 79c791659a519cc7b3b3e615a3cc51c5e85a0a0a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 16 Dec 2023 14:13:57 +0200
+Subject: [PATCH 1/5] Add DESTDIR support
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -182,65 +182,65 @@ distclean : clean
+ docs : $(DOCS) LICENSE.txt
+
+ installdirs :
+- $(srcdir)/mkinstalldirs $(includedir) $(libdir) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
+
+ installincs : $(HFLS)
+- $(srcdir)/mkinstalldirs $(includedir)
+- $(INSTALL_DATA) $(HFLS) $(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
++ $(INSTALL_DATA) $(HFLS) $(DESTDIR)$(includedir)
+
+ installthsl : $(LIB_TH_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_SL) $(DESTDIR)$(libdir)
+
+ installth : $(INSTALL_THREADS)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH) $(DESTDIR)$(libdir)
+ @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
+
+ installthcxxsl : $(LIB_TH_CXX_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(DESTDIR)$(shlibdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(DESTDIR)$(libdir)
+ @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
+
+ installcxxsl : $(LIB_CXX_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(DESTDIR)$(libdir)
+
+ installcxx : $(INSTALL_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_CXX) $(DESTDIR)$(libdir)
+ @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+
+ installsl : $(LIB_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL_PROGRAM) $(LIB_SL) $(DESTDIR)$(shlibdir)
+ @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+ @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
+
+ installlib : $(INSTALL_LIB)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIBRARY) $(libdir)
+- @RANLIB@ $(libdir)/$(LIBRARY)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIBRARY) $(DESTDIR)$(libdir)
++ @RANLIB@ $(DESTDIR)$(libdir)/$(LIBRARY)
+ @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
+ @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
+ @TH_OFF@ @echo "Enter 'make installth' to install thread library"
+
+ # see notes about why we need the FILE2 entries below
+ installdocs : $(INSTALL_FILE2) $(HTML_FILE2) $(INFO_FILE)
+- $(srcdir)/mkinstalldirs $(docdir)
+- $(INSTALL_DATA) $(INSTALL_FILE2) $(docdir)/$(INSTALL_FILE)
+- $(INSTALL_DATA) $(HTML_FILE2) $(docdir)/$(HTML_FILE)
+- $(INSTALL_DATA) $(INFO_FILE) $(docdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(INSTALL_FILE2) $(DESTDIR)$(docdir)/$(INSTALL_FILE)
++ $(INSTALL_DATA) $(HTML_FILE2) $(DESTDIR)$(docdir)/$(HTML_FILE)
++ $(INSTALL_DATA) $(INFO_FILE) $(DESTDIR)$(docdir)
+
+ install : installincs installlib $(UTIL)
+- $(srcdir)/mkinstalldirs $(bindir)
+- $(INSTALL_PROGRAM) $(UTIL) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
++ $(INSTALL_PROGRAM) $(UTIL) $(DESTDIR)$(bindir)
+ @echo "Enter 'make installdocs' to install $(DOCS) in $(docdir)"
+
+ dmalloc.h.2 conf.h settings.h version.h : $(srcdir)/configure $(srcdir)/settings.dist $(srcdir)/conf.h.in
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch
new file mode 100644
index 000000000000..981909d9940a
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch
@@ -0,0 +1,89 @@
+From 626e5fb4c3f89b21e5ed75ee6c01d86527dede5f Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 13:57:11 +0200
+Subject: [PATCH 2/5] Allow overriding AR and LD
+
+https://bugs.gentoo.org/337429
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -303,11 +303,11 @@ $(LIB_SL) : $(LIBRARY)
+ mv $@.t $@
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_SL) : $(LIB_TH)
+@@ -316,7 +316,7 @@ $(LIB_TH_SL) : $(LIB_TH)
+ mv $@.t $@
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_CXX_SL) : $(LIB_CXX)
+@@ -325,7 +325,7 @@ $(LIB_CXX_SL) : $(LIB_CXX)
+ mv $@.t $@
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,8 +76,13 @@ if test "$ac_cv_prog_cc_stdc" = "no" ; then
+ fi
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AC_CHECK_TOOL(AR,ar)
++AC_CHECK_TOOL(LD,ld)
+ AC_C_CONST
+
++AC_ARG_VAR(AR)
++AC_ARG_VAR(LD)
++
+ # we need this for various settings
+ AC_HEADER_STDC
+ AC_CHECK_HEADER([stdarg.h],
+@@ -144,7 +149,7 @@ AC_SUBST(shlibdir)
+ AC_MSG_CHECKING([shared library link args])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ # so now we try to create an archive from the compiled .o file
+- (ar cr conftest.a conftest.o) 2>&5
++ (${AR} cr conftest.a conftest.o) 2>&5
+ # see which shared-library ld commands work
+ #
+ # Darwin/Mac OS X - Terry Teague
+@@ -169,12 +174,12 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+ enable_shlib=no
+ fi
+- elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t'
+- elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all'
+- elif (ld -G -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -G -o $@.t'
++ elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -shared --whole-archive -soname $@ -o $@.t'
++ elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -shared -o $@.t -all -soname $@ -none -lc -all'
++ elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -G -o $@.t'
+ else
+ # oh well, toss an error
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
index f4c4904a235e..4f5e6339d8aa 100644
--- a/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
@@ -1,6 +1,12 @@
+From debb91ecdd39a7039abdc6b2fb4c9b79956fc758 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:35:31 +0200
+Subject: [PATCH 4/5] Fix c99 compatibility in configure script
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
--- a/configure.ac
+++ b/configure.ac
-@@ -482,19 +482,20 @@ AC_MSG_RESULT([$ac_cv_pnt_arith_type])
+@@ -486,19 +486,20 @@ AC_MSG_RESULT([$ac_cv_pnt_arith_type])
AC_CHECK_FUNCS(abort)
AC_MSG_CHECKING([abort safe])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
@@ -24,7 +30,7 @@
/* it should be already 0s */
start = malloc (number * size);
pnt = start;
-@@ -504,7 +505,7 @@ char *calloc (int number, int size) {
+@@ -508,7 +509,7 @@ char *calloc (int number, int size) {
}
char *realloc (char *old_pnt, int new_size) {
char *start, *pnt, *end;
@@ -33,7 +39,15 @@
start = malloc (new_size);
pnt = start;
end = start + new_size;
-@@ -647,6 +648,7 @@ fi
+@@ -549,6 +550,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ AC_CHECK_FUNCS(getenv)
+ AC_MSG_CHECKING([getenv safe])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ static char heap_mem[102400], *heap_p = heap_mem;
+ free (char *pnt) {
+ }
+@@ -651,6 +653,7 @@ fi
#
AC_MSG_CHECKING([constructor attribute])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
@@ -41,7 +55,7 @@
/* if we call the loc_con constructor then exit with error code 0 */
static void loc_con() __attribute__((constructor));
static void loc_con() { exit(0); }
-@@ -662,6 +664,7 @@ int main() { return 1; }
+@@ -666,6 +669,7 @@ int main() { return 1; }
#
AC_MSG_CHECKING([destructor attribute])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
@@ -49,13 +63,6 @@
/* if we call the loc_decon destructor then exit with error code 0 */
static void loc_decon() __attribute__((destructor));
static void loc_decon() { exit(0); }
---- a/configure.ac
-+++ b/configure.ac
-@@ -546,6 +546,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
- AC_CHECK_FUNCS(getenv)
- AC_MSG_CHECKING([getenv safe])
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+#include <stdlib.h>
- static char heap_mem[102400], *heap_p = heap_mem;
- free (char *pnt) {
- }
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch
new file mode 100644
index 000000000000..7e7c61f1baa3
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch
@@ -0,0 +1,22 @@
+From 17fb0cc429213fa3c2dd3d2bdec3b87e6b779be9 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:49:28 +0200
+Subject: [PATCH 5/5] Fix CXX check
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,8 +63,8 @@ AC_PROG_CC
+ AC_PROG_CXX
+
+ # see if we actually have a CXX program
+-if test "$ac_cv_prog_CXX" = "" -o ! -x "$ac_cv_prog_CXX"; then
+- AC_MSG_WARN(could not find C++ compiler $ac_cv_prog_CXX)
++if test "x$CXX" = "x" -o -x "$CXX"; then
++ AC_MSG_WARN(could not find C++ compiler $CXX)
+ enable_cxx=no
+ fi
+
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch
new file mode 100644
index 000000000000..ebed9c0ef1aa
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch
@@ -0,0 +1,32 @@
+From 4cab6b74df4fb9ed7046faeb53c5ab01fa0716a1 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:26:44 +0200
+Subject: [PATCH 3/5] Set soname version for shared library
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -175,9 +175,9 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ enable_shlib=no
+ fi
+ elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='$(LD) -shared --whole-archive -soname $@ -o $@.t'
++ ac_cv_shared_link_args="\$(LD) -shared --whole-archive -soname \$(@:${dmalloc_version}=${dmalloc_version_major}) -o \$@.t"
+ elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='$(LD) -shared -o $@.t -all -soname $@ -none -lc -all'
++ ac_cv_shared_link_args="\$(LD) -shared -o \$@.t -all -soname \$(@:${dmalloc_version}=${dmalloc_version_major}) -none -lc -all"
+ elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
+ ac_cv_shared_link_args='$(LD) -G -o $@.t'
+ else
+@@ -208,7 +208,7 @@ if test `uname` = "Darwin"; then
+ else
+ ac_cv_shared_lib_suffix=so
+ fi
+-shlibext="$ac_cv_shared_lib_suffix"
++shlibext="$ac_cv_shared_lib_suffix.$dmalloc_version"
+ AC_MSG_RESULT([$ac_cv_shared_lib_suffix])
+ AC_SUBST(shlibext)
+
+--
+2.43.0
+