summaryrefslogtreecommitdiff
path: root/dev-libs/dmalloc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/dmalloc
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/dmalloc')
-rw-r--r--dev-libs/dmalloc/Manifest9
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild76
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild85
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch343
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch11
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch19
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch18
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch11
-rw-r--r--dev-libs/dmalloc/metadata.xml8
9 files changed, 580 insertions, 0 deletions
diff --git a/dev-libs/dmalloc/Manifest b/dev-libs/dmalloc/Manifest
new file mode 100644
index 000000000000..370a2c1f23eb
--- /dev/null
+++ b/dev-libs/dmalloc/Manifest
@@ -0,0 +1,9 @@
+AUX dmalloc-5.5.2-Makefile.in.patch 13855 BLAKE2B 3f3d6e5c87fb92b659a0af860186c11dbb9b532ea3a69ef4fe41f87be8ee50f9280a9e4696adcf8060f68488638bff1ff9b2c3ff6a4072b18a72780c2229d4b2 SHA512 6a8bc9fabafc22b390696df5573d94a71080215627a1c67e45b5b8805fb240165c0961bd9175d6f7b2e5914aecf9dd680de14f744b099a750699f1ca391d86d7
+AUX dmalloc-5.5.2-ar.patch 390 BLAKE2B d339b90b38b045ef929a661aa2fb0c95e35a89bd8d2c15bd2e7567c7d6ff69f91c992130b9e60885e772d3596695838c5c0ff719249904c94ecbca9d6ebe1984 SHA512 79c1a2b4a0ffa43da2e3e49bb10ce0defe58a33f881bcb356ac72c386ad870903bb12c37ddb0e3fcd30ee60d74e8ddae69eb4f5eec1d080008cba3a1a40f9626
+AUX dmalloc-5.5.2-cxx.patch 546 BLAKE2B 6f85a3024d417c81f3a4dd4f50cf444f09eb3b53eb9faf7ccbd022ea9e596ebcefe0038fa894bf2782e08c53dab3a8d89fc43153e9bef34a2c84771fcf497bd5 SHA512 370ff73c4af16d7b4cb5e15a88f3cafcc16494df7df50c4494b1e34ed687f1385b774431cc94a9ba75ef96f2828f75501ee2d0addc9d3e34d4f718ac94ae5f6d
+AUX dmalloc-5.5.2-string-macros.patch 367 BLAKE2B 7fd3e6ae9b4564ec519da953c5116b9a8d19fa446c1d3e24ff736ce3725fd7425881dc07272a3f5dbdee1202e1dac8f68f19266296f5c8335976e5287fa90ddc SHA512 61d0015e7997ecad97e722a1b308ec90e996e9d53b9f475c911f1d9eb929d8007881e52699e9f3427c5cecb9f0b2d202d12a7d607d23434913afbef455f08617
+AUX dmalloc-5.5.2-threads.patch 165 BLAKE2B fee0be1573996dc7460735a94c645989db6fb9570e1140ec64e87e4bddd6b84227d072454bd64c4e0f261e81da0dd27a6ebf310b60e8a74539a21f83370e291f SHA512 b561c715c19604128c046b36bfe09794922176ce1cd12947da277631a410bbc19c5a1f7e998f0b61d7564e3b7516bee0fb4deddb13e036bb9e667f3502e56d0e
+DIST dmalloc-5.5.2.tgz 666608 BLAKE2B 9371b35b9a39706215ff2fc4e31510dafa30a86dccb2290563a2c8a0e7211372dca419dd7d549011548853f1e168fe15c55361d763d27230c547c93113de823e SHA512 96bb94aeb2bc3220f652b5294bdf8592b984cb2a53e5f02b2b8d52450c3396d18651f334644cdfff9c85a8c0d0cedc7f6a18b9d70497b2c6b5f85dbd1e827b93
+EBUILD dmalloc-5.5.2-r4.ebuild 1772 BLAKE2B 791a089b3da139f5511447fa9d8e428b6e4a30d6b14488b0d68649c17c838f27a1708c2e09483b0230f86bfceb09e737405f35dfb718f8e641cc3ce942caf7d0 SHA512 fd498387c1f74667570d46ffa7dfd8cbb59ef004054c9296b889cad0a273e5d76825ec6ee5cf087015f1f6ca95edf62c44c65739225da425778d85325e4a4ac6
+EBUILD dmalloc-5.5.2-r6.ebuild 1934 BLAKE2B 7ff964028d5231f688097b7d85299dbaa5da66f6a57c79f2193b7039286cf67c9e14d71347392524d46cc3930bcda0829bdedecb9c1b58d6be33857af27b0ee6 SHA512 408af45eee50f038c867898306695f0c69eab9d9dd536e7680f599a2b252d8a612280498a41eff1e893eed5eb86870a6425def9e8e5f3b49abc3d0690ef87510
+MISC metadata.xml 244 BLAKE2B 9c6750147c240d7416fad33e04b53730dc89cbb615648a7f3defeed3ec058aeee6dbed55a1f81241417b42ca9f7daec177c725692166a5ba08765b5dcf5a6bc5 SHA512 1da71f4fae0251c97a8fcfa1e13b0a3f8b95a856fa919ebd30bf4f2f1b8fa900841db09ebc2a0ae9fe0d91f786ac40b63290382668412fcb05bca15b0746f1db
diff --git a/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild
new file mode 100644
index 000000000000..cfc84a7048d0
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools eutils multilib
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="http://dmalloc.com"
+SRC_URI="http://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs threads"
+
+DEPEND="sys-apps/texinfo"
+RDEPEND=""
+
+DOCS=( NEWS README docs/NOTES docs/TODO )
+
+src_prepare() {
+ # - Build objects twice, once -fPIC for shared.
+ # - Use DESTDIR.
+ # - Fix SONAME and NEEDED.
+ epatch "${FILESDIR}"/${P}-Makefile.in.patch
+ # - Broken test, always returns false.
+ epatch "${FILESDIR}"/${P}-cxx.patch
+ # - Add threads support.
+ use threads && epatch "${FILESDIR}"/${P}-threads.patch
+ # Respect CFLAGS/LDFLAGS. #337429
+ sed -i Makefile.in \
+ -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
+ || die "sed Makefile.in"
+ # - Run autoconf for -cxx.patch.
+ eautoconf
+}
+
+src_configure() {
+ econf --enable-cxx --enable-shlib $(use_enable threads)
+}
+
+src_compile() {
+ default
+
+ cd docs
+ makeinfo dmalloc.texi || die
+}
+
+src_test() {
+ emake heavy
+}
+
+src_install() {
+ default
+
+ newdoc ChangeLog.1 ChangeLog
+ insinto /usr/share/doc/${PF}
+ doins docs/dmalloc.pdf
+ dohtml RELEASE.html docs/dmalloc.html
+ doinfo docs/dmalloc.info
+
+ # 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%%.*}
+
+ 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
+
+ if ! use static-libs; then
+ rm "${D}"/usr/$(get_libdir)/lib${PN}*.a || die
+ fi
+}
diff --git a/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild
new file mode 100644
index 000000000000..e01e60c5cea6
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="http://dmalloc.com"
+SRC_URI="http://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="static-libs threads"
+
+DEPEND="sys-apps/texinfo"
+RDEPEND=""
+
+DOCS=( NEWS README docs/NOTES docs/TODO )
+
+src_prepare() {
+ # - Build objects twice, once -fPIC for shared.
+ # - Use DESTDIR.
+ # - Fix SONAME and NEEDED.
+ epatch "${FILESDIR}"/${P}-Makefile.in.patch
+
+ # - Broken test, always returns false.
+ epatch "${FILESDIR}"/${P}-cxx.patch
+ epatch "${FILESDIR}"/${P}-ar.patch
+
+ # - Add threads support.
+ use threads && epatch "${FILESDIR}"/${P}-threads.patch
+
+ # strdup() strndup() macros
+ epatch "${FILESDIR}"/${P}-string-macros.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_compile() {
+ default
+
+ cd docs
+ makeinfo dmalloc.texi || die
+}
+
+src_test() {
+ emake heavy
+}
+
+src_install() {
+ default
+
+ newdoc ChangeLog.1 ChangeLog
+ insinto /usr/share/doc/${PF}
+ doins docs/dmalloc.pdf
+ dohtml RELEASE.html docs/dmalloc.html
+ doinfo docs/dmalloc.info
+
+ # 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%%.*}
+
+ 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
+
+ if ! use static-libs; then
+ rm "${D}"/usr/$(get_libdir)/lib${PN}*.a || die
+ fi
+}
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch
new file mode 100644
index 000000000000..92b232eb58e9
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-Makefile.in.patch
@@ -0,0 +1,343 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -41,7 +41,7 @@
+
+ # 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)
+@@ -50,8 +50,8 @@
+ @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)
+@@ -61,7 +61,7 @@
+
+ # 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)
+@@ -76,7 +76,7 @@
+ @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)
+@@ -145,9 +145,13 @@
+
+ HFLS = dmalloc.h
+ OBJS = 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 malloc.o
++NORMAL_OBJS_SL = chunk_sl.o error_sl.o malloc_sl.o
+ THREAD_OBJS = chunk_th.o error_th.o 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
+@@ -160,9 +164,9 @@
+
+ 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
+
+@@ -174,65 +178,65 @@
+ # rm -f configure
+
+ 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)$(shlibdir)
++ $(INSTALL) $(LIB_TH_SL) $(DESTDIR)$(shlibdir)
+
+ installth : $(INSTALL_THREADS)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(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) $(LIB_TH_CXX_SL) $(DESTDIR)$(libdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(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)$(shlibdir)
++ $(INSTALL) $(LIB_CXX_SL) $(DESTDIR)$(shlibdir)
+
+ installcxx : $(INSTALL_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL) $(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) $(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) $(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"
+
+ installdocs : $(srcdir)/docs/$(HTMLFILE) $(srcdir)/docs/$(TEXIFILE) \
+ $(srcdir)/docs/$(PDFFILE)
+- $(srcdir)/mkinstalldirs $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(HTMLFILE) $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(TEXIFILE) $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(PDFFILE) $(docdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(HTMLFILE) $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(TEXIFILE) $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(PDFFILE) $(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 $(DOCFILES) in $(docdir)"
+
+ dmalloc.h.2 : $(srcdir)/configure
+@@ -255,10 +259,8 @@
+ # 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
+ # via: http://256.com/gray/email.html
+-$(LIB_SL) : $(LIBRARY)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS)
+- 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 $@ $?
+@@ -268,32 +270,26 @@
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_TH_SL) : $(LIB_TH)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS)
+- 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) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- 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) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- 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"
+@@ -302,7 +298,7 @@
+ @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"
+@@ -371,6 +367,11 @@
+ $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
+ -o ./$@
+
++dmallocc_sl.o : $(srcdir)/dmallocc.cc
++ rm -f $@
++ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
++ -o ./$@
++
+ #
+ # auto configure settings - uncomment if you are doing configure
+ # development on the library
+@@ -395,38 +396,109 @@
+
+ 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 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 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 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 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
++dmalloc_fc_t_sl.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 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 chunk.h compat.h dmalloc.h \
+ dmalloc_loc.h error.h error_val.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 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 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 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 ./$@
+ malloc.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
++malloc_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 ./$@
+ 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 ./$@
+ chunk_th.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
++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 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 ./$@
+ malloc_th.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
++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.5.2-ar.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch
new file mode 100644
index 000000000000..56be2fa3ef4e
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-ar.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -131,7 +132,7 @@
+ AC_MSG_CHECKING([shared library link args])
+ AC_COMPILE_IFELSE([ 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
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch
new file mode 100644
index 000000000000..0fa01e105c53
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-cxx.patch
@@ -0,0 +1,19 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,11 +55,12 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+
++# fixme. always returns false.
+ # 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)
+- enable_cxx=no
+-fi
++#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)
++# enable_cxx=no
++#fi
+
+ # hopefully we have a stdc c-compiler
+ if test "$ac_cv_prog_cc_stdc" = "no" ; then
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch
new file mode 100644
index 000000000000..e3d4eb78fe52
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-string-macros.patch
@@ -0,0 +1,18 @@
+--- a/dmalloc.h.3
++++ b/dmalloc.h.3
+@@ -405,6 +405,7 @@
+ *
+ * string -> String we are duplicating.
+ */
++#undef strdup
+ extern
+ char *strdup(const char *string);
+ #endif /* ifndef DMALLOC_STRDUP_MACRO */
+@@ -429,6 +430,7 @@
+ *
+ * len -> Length of the string to duplicate.
+ */
++#undef strndup
+ extern
+ char *strndup(const char *string, const DMALLOC_SIZE len);
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch b/dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch
new file mode 100644
index 000000000000..c3cbd90aa9f5
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.5.2-threads.patch
@@ -0,0 +1,11 @@
+--- a/settings.dist
++++ b/settings.dist
+@@ -409,7 +409,7 @@
+ */
+
+ #ifndef LOCK_THREADS
+-#define LOCK_THREADS 0
++#define LOCK_THREADS 1
+ #endif
+
+ #if LOCK_THREADS
diff --git a/dev-libs/dmalloc/metadata.xml b/dev-libs/dmalloc/metadata.xml
new file mode 100644
index 000000000000..f8bd6f3f34f9
--- /dev/null
+++ b/dev-libs/dmalloc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+ </maintainer>
+</pkgmetadata>