updated fork of electric fence (fixes bug 160695)
authorSteve Arnold <nerdboy@gentoo.org>
Tue, 3 Apr 2007 05:57:40 +0000 (05:57 +0000)
committerSteve Arnold <nerdboy@gentoo.org>
Tue, 3 Apr 2007 05:57:40 +0000 (05:57 +0000)
Package-Manager: portage-2.1.2.2

dev-util/duma/ChangeLog [new file with mode: 0644]
dev-util/duma/Manifest [new file with mode: 0644]
dev-util/duma/duma-2.4.27.ebuild [new file with mode: 0644]
dev-util/duma/files/digest-duma-2.4.27 [new file with mode: 0644]
dev-util/duma/files/duma-2.4.27-make.patch [new file with mode: 0644]
dev-util/duma/files/duma-2.4.27-types.patch [new file with mode: 0644]
dev-util/duma/metadata.xml [new file with mode: 0644]

diff --git a/dev-util/duma/ChangeLog b/dev-util/duma/ChangeLog
new file mode 100644 (file)
index 0000000..8ad1326
--- /dev/null
@@ -0,0 +1,12 @@
+# ChangeLog for dev-util/duma
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/duma/ChangeLog,v 1.1 2007/04/03 05:57:40 nerdboy Exp $
+
+*duma-2.4.27 (03 Apr 2007)
+
+  03 Apr 2007; Steve Arnold <nerdboy@gentoo.org>
+  +files/duma-2.4.27-make.patch, +files/duma-2.4.27-types.patch,
+  +metadata.xml, +duma-2.4.27.ebuild:
+  Updated fork of electric fence (fixes bug 160695) as the latter is no longer
+  maintained.
+
diff --git a/dev-util/duma/Manifest b/dev-util/duma/Manifest
new file mode 100644 (file)
index 0000000..4b206b7
--- /dev/null
@@ -0,0 +1,24 @@
+AUX duma-2.4.27-make.patch 1706 RMD160 0a0e0c30871fddca18ed714c4138d43a1cd57224 SHA1 78c81579035c7503a21c00b00369f94f28e6211a SHA256 3f04db181872f181aa3449cf5783285a2bf3efcc3d01ec8f21789a8d3769b81c
+MD5 47a1ab23b99fc72d8333a51ebf530c89 files/duma-2.4.27-make.patch 1706
+RMD160 0a0e0c30871fddca18ed714c4138d43a1cd57224 files/duma-2.4.27-make.patch 1706
+SHA256 3f04db181872f181aa3449cf5783285a2bf3efcc3d01ec8f21789a8d3769b81c files/duma-2.4.27-make.patch 1706
+AUX duma-2.4.27-types.patch 1118 RMD160 7495dd75ff286e1c5e18151c88928c49dab4e5e7 SHA1 3dd9923e284c061c5daf04389969429306ca56b8 SHA256 8dee22387d1d64bcb965caa15f931707f10b79bc6b229fb71a4afb6897dca89c
+MD5 92002d53cf75b5263adcd7c930a597db files/duma-2.4.27-types.patch 1118
+RMD160 7495dd75ff286e1c5e18151c88928c49dab4e5e7 files/duma-2.4.27-types.patch 1118
+SHA256 8dee22387d1d64bcb965caa15f931707f10b79bc6b229fb71a4afb6897dca89c files/duma-2.4.27-types.patch 1118
+DIST duma_2_4_27.tar.gz 89150 RMD160 97031490edb832d325243ed09b0132393faa730d SHA1 1d0521b01188e9ee05c40124ee2382d40da9b6c4 SHA256 4993373c7f0241e8e247e510335157c22b113a9cb449fd7d346d6f494c6211d8
+EBUILD duma-2.4.27.ebuild 2083 RMD160 e675347c4b9a367658350ee20bf4c0b75a83fedb SHA1 d0090ceeee47338bba1f105a36a398142063993e SHA256 85ecbe4cd6b1506d38836dbf2deb50aae14820b0daf3602484c2618d86d63ef1
+MD5 e995280eb5524eaf0cfcb992185a3c76 duma-2.4.27.ebuild 2083
+RMD160 e675347c4b9a367658350ee20bf4c0b75a83fedb duma-2.4.27.ebuild 2083
+SHA256 85ecbe4cd6b1506d38836dbf2deb50aae14820b0daf3602484c2618d86d63ef1 duma-2.4.27.ebuild 2083
+MISC ChangeLog 474 RMD160 fb4da0bd01fea5a565f993c8c0349b51b569a88d SHA1 bd4ccc5b0a896d1cf486243ac40e2ca1940835a7 SHA256 3ef07f55059251a2d0511eaf875c9c636c01df64c5315b5d1039cdc53bfa1900
+MD5 0608330ea8fe9006aa6fcfa7017514b1 ChangeLog 474
+RMD160 fb4da0bd01fea5a565f993c8c0349b51b569a88d ChangeLog 474
+SHA256 3ef07f55059251a2d0511eaf875c9c636c01df64c5315b5d1039cdc53bfa1900 ChangeLog 474
+MISC metadata.xml 571 RMD160 7503a42ba65123b48155aa20812e1f76165843af SHA1 57e85da85b7fcd90018216e371fed033cac76ee7 SHA256 5a422de5cb204ec5f8cc4631fb5c54721f27e929e290e9fa494bcd15351cf107
+MD5 9e3f016d10486f5355508e18b4cb09b4 metadata.xml 571
+RMD160 7503a42ba65123b48155aa20812e1f76165843af metadata.xml 571
+SHA256 5a422de5cb204ec5f8cc4631fb5c54721f27e929e290e9fa494bcd15351cf107 metadata.xml 571
+MD5 9c873ed300e5f9f68070191dda99256a files/digest-duma-2.4.27 232
+RMD160 f2edcaf84ef057438f12ad5bb3c119230bca2bcc files/digest-duma-2.4.27 232
+SHA256 f9575d7cc8fb53152cf3c834e652fb48f2f600221d3429ab70e13079aaf42384 files/digest-duma-2.4.27 232
diff --git a/dev-util/duma/duma-2.4.27.ebuild b/dev-util/duma/duma-2.4.27.ebuild
new file mode 100644 (file)
index 0000000..95152df
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/duma/duma-2.4.27.ebuild,v 1.1 2007/04/03 05:57:40 nerdboy Exp $
+
+inherit eutils versionator multilib toolchain-funcs
+# flag-o-matic
+
+MY_P="${PN}_$(replace_all_version_separators '_')"
+S="${WORKDIR}/${MY_P}"
+
+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 ~x86"
+IUSE=""
+
+DEPEND="virtual/libc"
+RDEPEND="${DEPEND}
+       app-shells/bash"
+
+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}."
+           ewarn ""
+       else
+           ewarn ""
+           elog "Custom build options are not set!"
+           elog "See the package Makefile for more options."
+           ewarn ""
+       fi
+}
+
+src_unpack(){
+       unpack ${A}
+       cd "${S}"
+       epatch "${FILESDIR}/${P}-types.patch"
+       epatch "${FILESDIR}/${P}-make.patch"
+       # source has carriage returns scattered throughout...
+       #edos2unix *
+}
+
+src_compile(){
+       # filter parallel make, because it generate header and that header needed
+       # for next part of compile
+       use amd64 && export DUMA_ALIGNMENT=16
+       # append-flags doesn't work here (stupid static makefile)
+       emake CFLAGS="${DUMA_OPTIONS} ${CFLAGS}" CC=$(tc-getCC) \
+           || die "emake failed"
+}
+
+src_test() {
+       einfo "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) check || die "make check failed"
+
+       einfo "Check output above to verify all tests have passed..."
+}
+
+src_install(){
+       make prefix="${D}usr" LIB_INSTALL_DIR="${D}usr/$(get_libdir)" install \
+           || die "make install failed"
+       insinto /usr/include
+       doins duma.h duma_config.h duma_hlp.h dumapp.h noduma.h paging.h print.h \
+           sem_inc.h || die " failed install headers"
+       dodoc CHANGELOG README
+}
+
diff --git a/dev-util/duma/files/digest-duma-2.4.27 b/dev-util/duma/files/digest-duma-2.4.27
new file mode 100644 (file)
index 0000000..88c0254
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 6fdcce41c593f164951d215542b6ef03 duma_2_4_27.tar.gz 89150
+RMD160 97031490edb832d325243ed09b0132393faa730d duma_2_4_27.tar.gz 89150
+SHA256 4993373c7f0241e8e247e510335157c22b113a9cb449fd7d346d6f494c6211d8 duma_2_4_27.tar.gz 89150
diff --git a/dev-util/duma/files/duma-2.4.27-make.patch b/dev-util/duma/files/duma-2.4.27-make.patch
new file mode 100644 (file)
index 0000000..4fffab8
--- /dev/null
@@ -0,0 +1,51 @@
+diff -urN Makefile Makefile
+--- Makefile   2007-01-07 14:38:21.000000000 +0100
++++ Makefile   2007-01-07 14:38:39.000000000 +0100
+@@ -109,7 +109,7 @@
+ prefix=/usr
+ BIN_INSTALL_DIR= $(prefix)/bin
+ LIB_INSTALL_DIR= $(prefix)/lib
+-MAN_INSTALL_DIR= $(prefix)/man/man3
++MAN_INSTALL_DIR= $(prefix)/share/man/man3
+@@ -123,7 +123,9 @@
+ SO_OBJECTS = dumapp_so.o duma_so.o sem_inc_so.o print_so.o
+-all:  libduma.a $(DUMASO) tstheap dumatest dumatestpp testoperators tstheap_so dumatestpp_so
++all:  libduma.a $(DUMASO) 
++
++check:        tstheap dumatest dumatestpp testoperators tstheap_so dumatestpp_so
+       @ echo "Testing DUMA."
+       @ echo "After the last test, it should print that the test has PASSED."
+       $(CURPATH)dumatest
+@@ -134,13 +136,16 @@
+       @ echo "DUMA confidence test PASSED."
+ install: libduma.a duma.3 $(DUMASO)
++      ${INSTALL} -d ${BIN_INSTALL_DIR}
+       $(INSTALL) -m 755 duma.sh $(BIN_INSTALL_DIR)/duma
++      ${INSTALL} -d ${LIB_INSTALL_DIR}
+       $(INSTALL) -m 644 libduma.a $(LIB_INSTALL_DIR)
+       $(INSTALL) -m 755 $(DUMASO) $(LIB_INSTALL_DIR)
+       - rm -f $(LIB_INSTALL_DIR)/$(DUMASO_LINK1)
+       ln -s $(DUMASO) $(LIB_INSTALL_DIR)/$(DUMASO_LINK1)
+       - rm -f $(LIB_INSTALL_DIR)/$(DUMASO_LINK2)
+       ln -s $(DUMASO) $(LIB_INSTALL_DIR)/$(DUMASO_LINK2)
++      ${INSTALL} -d ${MAN_INSTALL_DIR}
+       $(INSTALL) -m 644 duma.3 $(MAN_INSTALL_DIR)/duma.3
+ clean:
+@@ -201,8 +206,8 @@
+ ifneq ($(OS), Windows_NT)
+ $(DUMASO): duma_config.h $(SO_OBJECTS)
+-      $(CXX) -g -shared -Wl,-soname,$(DUMASO) -o $(DUMASO) $(SO_OBJECTS) -lpthread -lc
+-      $(CXX) -g -shared -o $(DUMASO) $(SO_OBJECTS) -lpthread -lc
++      $(CXX) -g -shared -Wl,-soname,$(DUMASO) -o $(DUMASO) $(SO_OBJECTS) -lpthread
++#     $(CXX) -g -shared -o $(DUMASO) $(SO_OBJECTS) -lpthread
+ endif
diff --git a/dev-util/duma/files/duma-2.4.27-types.patch b/dev-util/duma/files/duma-2.4.27-types.patch
new file mode 100644 (file)
index 0000000..902b540
--- /dev/null
@@ -0,0 +1,33 @@
+--- duma.c.orig        2007-03-18 20:41:35.000000000 -0700
++++ duma.c     2007-03-18 20:43:08.000000000 -0700
+@@ -230,7 +230,7 @@
+  * so that its name matches the name of the environment variable that is used
+  * to set it. This gives the programmer one less name to remember.
+  */
+-int           DUMA_ALIGNMENT = DUMA_MIN_ALIGNMENT;
++size_t           DUMA_ALIGNMENT = DUMA_MIN_ALIGNMENT;
+ /*
+  * DUMA_PROTECT_BELOW is used to modify the behavior of the allocator. When
+--- duma.h.orig        2007-03-18 20:41:26.000000000 -0700
++++ duma.h     2007-03-18 20:44:29.000000000 -0700
+@@ -64,7 +64,7 @@
+ #define DUMA_EXTERNS_DECLARED\r
+ /* global DUMA variables */
+ DUMA_EXTERN_C int  DUMA_PROTECT_BELOW;
+-DUMA_EXTERN_C int  DUMA_ALIGNMENT;
++DUMA_EXTERN_C size_t  DUMA_ALIGNMENT;
+ DUMA_EXTERN_C int  DUMA_FILL;
+ DUMA_EXTERN_C struct _DUMA_Slot * _duma_allocList;
+ #ifndef DUMA_NO_CPP_SUPPORT\r
+--- dumatest.c.orig    2007-03-18 20:51:19.000000000 -0700
++++ dumatest.c 2007-03-18 20:51:33.000000000 -0700
+@@ -53,7 +53,7 @@
+ };
+ extern int  DUMA_PROTECT_BELOW;
+-extern int  DUMA_ALIGNMENT;
++extern size_t  DUMA_ALIGNMENT;
+ static jmp_buf  env;
diff --git a/dev-util/duma/metadata.xml b/dev-util/duma/metadata.xml
new file mode 100644 (file)
index 0000000..c8e2944
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dev-tools</herd>
+<maintainer>
+    <email>nerdboy@gentoo.org</email>
+    <name>Steve Arnold</name>
+    <description>Primary Maintainer</description>
+</maintainer>
+<longdescription>
+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.</longdescription>
+</pkgmetadata>