From d4fe086215e4697ebb12f8a0d30e5a1b23775a16 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 4 Aug 2011 21:09:39 -0500
Subject: valgrind: Initial inclusion. Dep of openmpi

---
 abs/extra/valgrind/PKGBUILD                        | 45 +++++++++++++++
 abs/extra/valgrind/glibc-patch-version.patch       | 52 +++++++++++++++++
 abs/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch | 67 ++++++++++++++++++++++
 3 files changed, 164 insertions(+)
 create mode 100644 abs/extra/valgrind/PKGBUILD
 create mode 100644 abs/extra/valgrind/glibc-patch-version.patch
 create mode 100644 abs/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch

diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD
new file mode 100644
index 0000000..0ac6fd4
--- /dev/null
+++ b/abs/extra/valgrind/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id$
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=valgrind
+pkgver=3.6.1
+pkgrel=2
+pkgdesc="A tool to help find memory-management problems in programs"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://valgrind.org/"
+depends=('glibc>=2.14' 'glibc<2.15' 'perl')
+makedepends=('gdb')
+options=('!emptydirs')
+source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2
+        valgrind-3.6.1-glibc-2.14.patch
+        glibc-patch-version.patch)    
+md5sums=('2c3aa122498baecc9d69194057ca88f5'
+         '560032ce5d27ef0c7c1af32c3fd45833'
+         'b657f0ebdde3d9aefc9fd16f9e653702')
+
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+
+  # make sure our CFLAGS are respected
+  sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in
+
+  # glibc-2.14 compatibility
+  patch -Np1 -i ${srcdir}/valgrind-3.6.1-glibc-2.14.patch
+
+  # prevent need to rebuild with glibc patch level version bumps
+  patch -Np1 -i ${srcdir}/glibc-patch-version.patch
+
+  if [ "${CARCH}" = "x86_64" ]; then
+    ./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit
+  else
+    ./configure --prefix=/usr --mandir=/usr/share/man
+  fi
+  make
+}
+
+package() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  make DESTDIR=${pkgdir} install
+}
diff --git a/abs/extra/valgrind/glibc-patch-version.patch b/abs/extra/valgrind/glibc-patch-version.patch
new file mode 100644
index 0000000..2c6830a
--- /dev/null
+++ b/abs/extra/valgrind/glibc-patch-version.patch
@@ -0,0 +1,52 @@
+Saves having to rebuild valgrind on glibc-x.x.* patch level releases
+
+diff -Naur valgrind-3.5.0-old//glibc-2.X.supp.in valgrind-3.5.0/glibc-2.X.supp.in
+--- valgrind-3.5.0-old//glibc-2.X.supp.in	2009-08-19 23:37:48.000000000 +1000
++++ valgrind-3.5.0/glibc-2.X.supp.in	2010-05-22 19:43:08.088007038 +1000
+@@ -168,9 +168,9 @@
+    Memcheck:Param
+    socketcall.sendto(msg)
+    fun:__sendto_nocancel
+-   obj:/*libc-@GLIBC_VERSION@.so
+-   obj:/*libc-@GLIBC_VERSION@.so
+-   obj:/*libc-@GLIBC_VERSION@.so
++   obj:/*libc-@GLIBC_VERSION@*.so
++   obj:/*libc-@GLIBC_VERSION@*.so
++   obj:/*libc-@GLIBC_VERSION@*.so
+ }
+ {
+    glibc24-64bit-padding-1c
+@@ -180,7 +180,7 @@
+    fun:__nscd_get_map_ref
+    fun:nscd_get*_r
+    fun:*nscd*
+-   obj:/*libc-@GLIBC_VERSION@.so
++   obj:/*libc-@GLIBC_VERSION@*.so
+ }
+ 
+ 
+@@ -199,18 +199,18 @@
+    Memcheck:Param
+    socketcall.sendto(msg)
+    fun:send
+-   obj:/*libc-@GLIBC_VERSION@.so
+-   obj:/*libc-@GLIBC_VERSION@.so
+-   obj:/*libc-@GLIBC_VERSION@.so
++   obj:/*libc-@GLIBC_VERSION@*.so
++   obj:/*libc-@GLIBC_VERSION@*.so
++   obj:/*libc-@GLIBC_VERSION@*.so
+ }
+ {
+    X11-64bit-padding-4b
+    Memcheck:Param
+    socketcall.send(msg)
+    fun:send
+-   obj:/*libc-@GLIBC_VERSION@.so
+-   obj:/*libc-@GLIBC_VERSION@.so
+-   obj:/*libc-@GLIBC_VERSION@.so
++   obj:/*libc-@GLIBC_VERSION@*.so
++   obj:/*libc-@GLIBC_VERSION@*.so
++   obj:/*libc-@GLIBC_VERSION@*.so
+ }
+ 
+ ##----------------------------------------------------------------------##
diff --git a/abs/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch b/abs/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch
new file mode 100644
index 0000000..7fd2170
--- /dev/null
+++ b/abs/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch
@@ -0,0 +1,67 @@
+--- valgrind/configure.in.jj	2010-10-21 03:14:02.000000000 +0200
++++ valgrind/configure.in	2010-11-05 17:09:18.674455299 +0100
+@@ -749,6 +759,13 @@ case "${GLIBC_VERSION}" in
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.14)
++	AC_MSG_RESULT(2.14 family)
++	AC_DEFINE([GLIBC_2_14], 1, [Define to 1 if you're using glibc 2.14.x])
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      aix5)
+ 	AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
+ 	AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3])
+@@ -762,7 +779,7 @@ case "${GLIBC_VERSION}" in
+ 
+      *)
+ 	AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+-	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.13])
++	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
+ 	AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION])
+ 	AC_MSG_ERROR([or Darwin libc])
+ 	;;
+--- valgrind/config.h.in.jj	2010-10-20 22:20:49.000000000 +0200
++++ valgrind/config.h.in	2010-11-05 17:08:33.863454886 +0100
+@@ -33,6 +33,9 @@
+ /* Define to 1 if you're using glibc 2.13.x */
+ #undef GLIBC_2_13
+ 
++/* Define to 1 if you're using glibc 2.14.x */
++#undef GLIBC_2_14
++
+ /* Define to 1 if you're using glibc 2.2.x */
+ #undef GLIBC_2_2
+ 
+--- valgrind/configure.jj	2010-10-21 03:16:18.000000000 +0200
++++ valgrind/configure	2010-11-05 17:09:39.163455396 +0100
+@@ -6367,6 +6389,18 @@ $as_echo "#define GLIBC_2_13 1" >>confde
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.14)
++	echo "$as_me:$LINENO: result: 2.14 family" >&5
++echo "${ECHO_T}2.14 family" >&6
++
++cat >>confdefs.h <<\_ACEOF
++#define GLIBC_2_14 1
++_ACEOF
++
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      aix5)
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: AIX 5.1 or 5.2 or 5.3" >&5
+ $as_echo "AIX 5.1 or 5.2 or 5.3" >&6; }
+@@ -6387,7 +6421,7 @@ $as_echo "#define DARWIN_LIBC 1" >>confd
+      *)
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
+ $as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
+-	as_fn_error "Valgrind requires glibc version 2.2 - 2.13" "$LINENO" 5
++	as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5
+ 	as_fn_error "or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION" "$LINENO" 5
+ 	as_fn_error "or Darwin libc" "$LINENO" 5
+ 	;;
-- 
cgit v0.12

