From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-util/duma/Manifest | 9 +++ dev-util/duma/duma-2.5.13.ebuild | 84 +++++++++++++++++++++++++++ dev-util/duma/duma-2.5.15-r2.ebuild | 93 ++++++++++++++++++++++++++++++ dev-util/duma/files/duma-2.5.15-gcc6.patch | 22 +++++++ dev-util/duma/metadata.xml | 16 +++++ 5 files changed, 224 insertions(+) create mode 100644 dev-util/duma/Manifest create mode 100644 dev-util/duma/duma-2.5.13.ebuild create mode 100644 dev-util/duma/duma-2.5.15-r2.ebuild create mode 100644 dev-util/duma/files/duma-2.5.15-gcc6.patch create mode 100644 dev-util/duma/metadata.xml (limited to 'dev-util/duma') diff --git a/dev-util/duma/Manifest b/dev-util/duma/Manifest new file mode 100644 index 000000000000..23bf0d593315 --- /dev/null +++ b/dev-util/duma/Manifest @@ -0,0 +1,9 @@ +AUX duma-2.5.15-gcc6.patch 599 SHA256 70dfa3df310122bd3387a6495c240edce4286dcd866576d0a9ac05635260f90d SHA512 9577e34e97b6f63654a8fa5b6ad26f54733cdd758a2a96b99c2771f9593436501b09ade40e8b20ff61da033e64c635a29b4884a6e4ea3b62fa9a4c12587cf947 WHIRLPOOL a0412cf7a2cb3da0a97816c84f6c70f60666bf8ebccc1ad526ee1784bad5a4d88ea99bb26e7133ad5ed14f3de3e143cb9ad8184d707715a0728cca018ff9bc80 +DIST duma-2.5.15-GNUmakefile.patch.bz2 4618 SHA256 71c79fedc436402301abc152ff0bca0db505c8641f57c2232a8d2d6e9f3a59b7 SHA512 6d83294897a60c6d0ebac388c8f791adc6a199b2c9838497bcfff39502262014c8437a331e08e3526568d3ef755a7dfdc2557771bdae89c58cd5f714eae70df2 WHIRLPOOL d295b278a35ce1cba7fd4f657c457dbad5a40b8f132632e5a3b1ff618e666a2de75b8347b053aacfaab77550918bcfedb92e8b3f0c6629069b242473c9e5b54f +DIST duma_2_5_13.tar.gz 233157 SHA256 338757d68f580b38d0680f21151c55e705abf5c933d959410be90fe5c5248777 SHA512 da0f46a697f95cbb17d0dbb3135df779ac347fd9e63c1578d2d732300d5288958d02b5a271e84292a8279c1ebc3dc153f896cbeca916cf18aba8e54788671288 WHIRLPOOL 7262fecfb8a2176c352d0730f2fa2667d985740b2a75f42e7980d9a13f72d494eb9bd1dd4116cec37d03cc5441eb128d405de46e8a718b0a918179c7ae41368b +DIST duma_2_5_15.tar.gz 240479 SHA256 baaf794854e3093ad1bddadbfb8ad4b220a7117d70359ee216bd59e353734e17 SHA512 0e2abdb08cfbaf9fd0a6be348c831a83ac4ee86d2297dcd1c4d625ddb4b2c1c73eef05e2b895e291d5b8076b1baea559c89d475f30e409210df4ab69b71b6345 WHIRLPOOL b7775cfefa49e942a8243520741920f506b09251e7c0966c2014863589f74a915de4ba8eee77716512ee3ad4071f748beb8ff4c03c95b7242f80aa397c4c51ad +EBUILD duma-2.5.13.ebuild 2148 SHA256 02e3b9834e8f0229a1d8ed65c6d89c691e280798b19ac53fd4d4b8f45b757c15 SHA512 ae4197f4ebfe774adcaa85f8e9dac52bb66e4bac05f25b2ed91eaed2ad0a6c20433adcea07d0a9a7b3aa41183f597051f6af9266483af04f44c0a1ac0b2f43d0 WHIRLPOOL 76f70c6a3719c0f1132f2eb285d5652340b7835a427f7cc9e3560f0dcd63549e025e82ae9aefc3a782c22a5ed15a98c9d766dc423fbb8690bd26fbf53e86e560 +EBUILD duma-2.5.15-r2.ebuild 2245 SHA256 461391e49f41fda5c52b9c1bbb7806b053ce40914a96f7fa2cff7e65b70bf7b2 SHA512 f0464d408f0666181e79015a7232774f7fbe894474039bad0fcc4dae052e037c4797b9f549c6b050fcb6fd36e5de43456e33181008a818e3adb77b9184a5514b WHIRLPOOL 25bd1534a6fe101e62c040ae62a8b5b52a302daa7c86169f9ba11fefaa6e1af8df82c54f9ec78c140a95fc1201f0e82e488ca1ac600c0870a4ca2b7a454eba3a +MISC ChangeLog 3358 SHA256 9ebc2e7437490916cddc03a82d926fb222fedf4cac374f3b4cb6928affaa3d84 SHA512 6a870f345a7a5d957f47586502bf04c3e8ad2a6d33f5dce3051d7807ebe8dcf104bba3054b5b969df096d0579e569812c1b60844efe1c0430f2368536d3b1d6d WHIRLPOOL 310a41285877b4546b69f9746781e5df4a60c25e2b67e0e0fc55ea53cbbbdb45d082a5deed4ca06a5953f12dda9c4dc2c773ea946c812ea050e984bf7e89877e +MISC ChangeLog-2015 3401 SHA256 9e92b284e75226907b00510bd5336a8fd52c9bb799ee017bc7a0acd3e87967ee SHA512 a54a9e819d640150e9ff781c4c876d963a2f245a30a5bc31e86533f6f1ee2f241bf263d47a77483adcbb2496c6953fe5ffc4d90f54207ee1f2f2e1b8a71bd233 WHIRLPOOL 42c4928bddd38020a6840d1fc0c7e632377fe673a6c94caa3fb5d9d82c73e15263f7cbfbd889da27906f85ccc14e3800da61749aa52c9e4dc1328561ca40a312 +MISC metadata.xml 600 SHA256 965c4175aff48a5102cf4305b0a61dadbd2d230ec1048e174f800524f53d09d4 SHA512 f849e5c61d27430f2c7de1f86ac9f12b8424571703e08661bccb0415743bf2e88aea981e72a5b1c287c949c6634e975c5e3f9882b9a29171389bed998c352f08 WHIRLPOOL 2ebc211272275b05b9a8e7c3489f3b10f414a7fdadf2050339d12cd0554c678f5e0fb976f61eac9a668d0d1a548c3719c44c56445a1fe7ff5a9a778438b95539 diff --git a/dev-util/duma/duma-2.5.13.ebuild b/dev-util/duma/duma-2.5.13.ebuild new file mode 100644 index 000000000000..5098d942b1e8 --- /dev/null +++ b/dev-util/duma/duma-2.5.13.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils flag-o-matic multilib toolchain-funcs versionator + +MY_P="${PN}_$(replace_all_version_separators '_')" + +DESCRIPTION="DUMA (Detect Unintended Memory Access) is a memory debugging library" +HOMEPAGE="http://duma.sourceforge.net/" + +SRC_URI="mirror://sourceforge/duma/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="examples" + +DEPEND="" +RDEPEND="${DEPEND} + app-shells/bash" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + #DUMA_OPTIONS="-DDUMA_LIB_NO_LEAKDETECTION" + DUMA_OPTIONS="-DDUMA_USE_FRAMENO" + if [ -n "${DUMA_OPTIONS}" ]; then + ewarn "" + elog "Custom build options are ${DUMA_OPTIONS}." + else + ewarn "" + elog "Custom build options are not set!" + fi + elog "See the package Makefile for for more options (also installed" + elog "with package docs as Makefile.duma)." + ewarn "" +} + +src_unpack(){ + unpack ${A} + cd "${S}" + sed -i -e "s:(prefix)/lib:(prefix)/$(get_libdir):g" Makefile + sed -i -e "s:share/doc/duma:share/doc/${P}:g" Makefile +} + +src_compile(){ + replace-flags O? O0 + append-flags -Wall -Wextra -U_FORTIFY_SOURCE + tc-export AR CC CXX LD RANLIB + + use amd64 && export DUMA_ALIGNMENT=16 + + make CPPFLAGS="${DUMA_OPTIONS}" reconfig || die "make reconfig failed" + emake CFLAGS="${CFLAGS}" CC=$(tc-getCC) || die "make failed" +} + +src_test() { + ewarn "Control-C now if you want to disable tests..." + epause 5 + + cd "${S}" + use amd64 && export DUMA_ALIGNMENT=16 + make CFLAGS="${DUMA_OPTIONS} ${CFLAGS}" \ + CC=$(tc-getCC) test || die "make test failed" + + elog "" + ewarn "Check output above to verify all tests have passed. Both" + ewarn "static and dynamic confidence tests should say PASSED." + elog "" +} + +src_install(){ + # make install fails nicely here on the first file... + make DESTDIR="${D}" install || die "make install failed" + dodoc CHANGELOG TODO + # All the good comments on duma build options are in the Makefile + newdoc Makefile Makefile.duma + + if use examples; then + insinto /usr/share/doc/${P}/examples + doins example[1-6].cpp + doins example_makes/ex6/Makefile + fi +} diff --git a/dev-util/duma/duma-2.5.15-r2.ebuild b/dev-util/duma/duma-2.5.15-r2.ebuild new file mode 100644 index 000000000000..f44643877e1e --- /dev/null +++ b/dev-util/duma/duma-2.5.15-r2.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit toolchain-funcs versionator + +MY_P=${PN}_$(replace_all_version_separators '_') + +DESCRIPTION="DUMA (Detect Unintended Memory Access) is a memory debugging library" +HOMEPAGE="http://duma.sourceforge.net" +SRC_URI="mirror://sourceforge/duma/${MY_P}.tar.gz + mirror://gentoo/${P}-GNUmakefile.patch.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="examples" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${WORKDIR}"/${P}-GNUmakefile.patch + "${FILESDIR}"/${P}-gcc6.patch +) + +src_configure() { + # other flags will break duma + export CFLAGS="-O0 -Wall -Wextra -U_FORTIFY_SOURCE" + tc-export AR CC CXX LD RANLIB + + case "${CHOST}" in + *-linux-gnu) + OS=linux;; + *-solaris*) + OS=solaris;; + *-darwin*) + OS=osx;; + *-freebsd*) + OS=freebsd;; + *-netbsd*) + OS=netbsd;; + *-cygwin*) + OS=cygwin;; + **-irix**) + OS=irix;; + esac + export OS="${OS}" + elog "Detected OS is: ${OS}" + + if use amd64 && ! [ -n "${DUMA_ALIGNMENT}" ]; then + export DUMA_ALIGNMENT=16 + elog "Exported DUMA_ALIGNMENT=${DUMA_ALIGNMENT} for x86_64," + fi + +} + +src_compile() { + # The below must be run first if distcc is enabled, otherwise + # the real build breaks on parallel makes. + emake reconfig + emake +} + +src_test() { + emake test + + elog "Please, see the output above to verify all tests have passed." + elog "Both static and dynamic confidence tests should say PASSED." +} + +src_install(){ + emake prefix="${D}/usr" libdir="${D}/usr/$(get_libdir)" \ + docdir="${D}/usr/share/doc/${PF}" install + + sed -i "s|LD_PRELOAD=./libduma|LD_PRELOAD=libduma|" "${D}"/usr/bin/duma \ + || die "sed failed" + + dodoc CHANGELOG TODO GNUmakefile + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins example[1-6].cpp example_makes/ex6/Makefile + fi +} + +pkg_postinst() { + elog "See the GNUmakefile which will be also installed at" + elog "/usr/share/doc/${PF} for more options. You can now export" + elog "varibles to the build system easily, e.g.:" + elog "# export CPPFLAGS=\"-DFLAG\" (or by using append-cppflags)" + elog "# export DUMA_ALIGNMENT=${DUMA_ALIGNMENT} (Default is 16 for x86_64)" + elog "See more information about DUMA_ALIGNMENT from Readme.txt" +} diff --git a/dev-util/duma/files/duma-2.5.15-gcc6.patch b/dev-util/duma/files/duma-2.5.15-gcc6.patch new file mode 100644 index 000000000000..7cffef2b4e2c --- /dev/null +++ b/dev-util/duma/files/duma-2.5.15-gcc6.patch @@ -0,0 +1,22 @@ +--- duma_2_5_15/dumapp.cpp.old 2016-09-21 19:28:01.286332961 -0400 ++++ duma_2_5_15/dumapp.cpp 2016-09-21 19:28:06.722907238 -0400 +@@ -190,7 +190,9 @@ + * (11) = (a) ; ASW + */ + void * DUMA_CDECL operator new( DUMA_SIZE_T size ) ++#if __cplusplus < 201103L + throw(std::bad_alloc) ++#endif + { + return duma_new_operator(size, EFA_NEW_ELEM, true DUMA_PARAMS_UK); + } +@@ -254,7 +256,9 @@ + * (21) = (a) ; AAW + */ + void * DUMA_CDECL operator new[]( DUMA_SIZE_T size ) ++#if __cplusplus < 201103L + throw(std::bad_alloc) ++#endif + { + return duma_new_operator(size, EFA_NEW_ARRAY, true DUMA_PARAMS_UK); + } diff --git a/dev-util/duma/metadata.xml b/dev-util/duma/metadata.xml new file mode 100644 index 000000000000..8e3b12d940a2 --- /dev/null +++ b/dev-util/duma/metadata.xml @@ -0,0 +1,16 @@ + + + + + bircoph@gentoo.org + Andrew Savchenko + + +DUMA is an open-source library (under GNU General Public License) to +detect buffer overruns and under-runs in C and C++ programs. This +library is a fork of Buce Perens Electric Fence library and adds +some new features to it. + + duma + + -- cgit v1.2.3