commit:     d8e663b26f51b3c5f1cdbe1393eb5ec0419b1ab0
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 25 19:52:23 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue Apr 25 19:52:23 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8e663b2

dev-ada/gnatmem: Adding dev-ada/gnatmem-2016

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-ada/gnatmem/Manifest                        |  1 +
 dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch | 85 +++++++++++++++++++++++++
 dev-ada/gnatmem/gnatmem-2016.ebuild             | 50 +++++++++++++++
 dev-ada/gnatmem/metadata.xml                    | 15 +++++
 4 files changed, 151 insertions(+)

diff --git a/dev-ada/gnatmem/Manifest b/dev-ada/gnatmem/Manifest
new file mode 100644
index 00000000000..e30fd588fc2
--- /dev/null
+++ b/dev-ada/gnatmem/Manifest
@@ -0,0 +1 @@
+DIST gnatmem-gpl-2016-src.tar.gz 80104 SHA256 
bd39c7b18e4f52fdd029b999f7e1af52d01c975063c28ae1ef6875e4fc5e224f SHA512 
bc711af9eda55e89a22fee9dbe506a60fbdd718a9f47141a8d13ad4b97c4520c3988e3a55b6c85bb53098e542f655de9572aeefc99d88c41a2645d9f01b2828b
 WHIRLPOOL 
8aee794c18efcbdbb50a4d58b9f247de30dea8d5b0a41034b1e20ad7786eefab5dfd14bf99994340a993d67989eab939ba78097d46933d841686d1bbc68fce0b

diff --git a/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch 
b/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch
new file mode 100644
index 00000000000..357f723c743
--- /dev/null
+++ b/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch
@@ -0,0 +1,85 @@
+--- 1/configure.in.old 2016-12-08 20:57:53.942004080 +0100
++++ 1/configure.in     2016-12-08 21:00:10.393677257 +0100
+@@ -6,19 +6,14 @@
+ if test ${GNATBIND} = "no"; then
+    AC_MSG_ERROR(Ada compiler needed,1)
+ fi
++AC_CONFIG_HEADERS(config.h:config.in)
++AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.])
+ AC_ARG_WITH(binutils-buildtree,
+             [AC_HELP_STRING(
+              [--with-binutils-buildtree=<dir>],
+              [Specifify location of binutils build tree])],
+             BINUTILS_OBJDIR=$withval,
+             BINUTILS_OBJDIR=no)
+-AC_MSG_CHECKING([for binutils build tree validity])
+-if test -f "$BINUTILS_OBJDIR/bfd/libbfd.a"; then
+-   AC_MSG_RESULT(yes)
+-else
+-   AC_MSG_RESULT(no) 
+-   AC_MSG_FAILURE([need valid binutils build tree directory (got 
$BINUTILS_OBJDIR)])
+-fi
+ 
+ AC_ARG_WITH(binutils-sources,
+             [AC_HELP_STRING(
+@@ -26,21 +21,6 @@
+              [Specifify location of binutils sources])],
+             BINUTILS_SRCDIR=$withval,
+             BINUTILS_SRCDIR=auto)
+-if test "$BINUTILS_SRCDIR" = "auto"; then
+-   BINUTILS_SRCDIR=`cat "$BINUTILS_OBJDIR/Makefile" | sed -n -e "/^ *srcdir 
*=/ s/^ *srcdir *= *// p"`
+-   case "$BINUTILS_SRC_DIR" in
+-     /*) ;;
+-      *) # assume we have relative path
+-         BINUTILS_SRCDIR="$BINUTILS_OBJDIR/$BINUTILS_SRCDIR";;
+-   esac
+-fi
+-AC_MSG_CHECKING([for binutils source dir validity])
+-if test -f "$BINUTILS_SRCDIR/bfd/Makefile.in"; then
+-   AC_MSG_RESULT(yes)
+-else
+-   AC_MSG_RESULT(no)
+-   AC_MSG_FAILURE([need valid binutils sources directory])
+-fi
+ 
+ AC_SUBST(BINUTILS_OBJDIR)
+ AC_SUBST(BINUTILS_SRCDIR)
+--- gnatmem-gpl-2016-src/gnatmem.gpr.in.old    2017-02-02 22:15:30.247906007 
+0100
++++ gnatmem-gpl-2016-src/gnatmem.gpr.in        2017-02-02 22:17:22.604974363 
+0100
+@@ -10,8 +10,10 @@
+    for Languages use ("ada", "c");
+ 
+    package Compiler is
++      for Driver ("C") use External ("CC", "gcc");
+       for Default_Switches ("ada") use ("-O2", "-W", "-Wall", "-gnatpg");
+       for Default_Switches ("c")   use ("-O2",
++                                        "-I..",
+                                         "-I" & BINUTILS_OBJDIR & "/binutils",
+                                         "-I" & BINUTILS_OBJDIR & "/bfd",
+                                         "-I" & BINUTILS_SRCDIR & "/include");
+@@ -19,8 +21,8 @@
+ 
+    package Linker is
+       for Default_Switches ("ada") use
+-         (BINUTILS_OBJDIR & "/bfd/libbfd.a",
+-          BINUTILS_OBJDIR & "/libiberty/libiberty.a",
++         ("-lbfd",
++          "-liberty",
+           "@LIBDL@",
+           "@LIBZ@");
+    end Linker;
+--- gnatmem-gpl-2015-src/src/libaddr2line.c.old        2017-01-04 
21:03:36.185233702 +0100
++++ gnatmem-gpl-2015-src/src/libaddr2line.c    2017-01-04 21:04:17.680455390 
+0100
+@@ -23,9 +23,9 @@
+ #include <string.h>
+ #include <stdlib.h>
+ 
+-#include "bfd.h"
+-#include "libiberty.h"
+-#include "demangle.h"
++#include <bfd.h>
++#include <libiberty/libiberty.h>
++#include <libiberty/demangle.h>
+ 
+ static asymbol **cur_syms;            /* Symbol table.  */
+ static bfd *cur_bfd;

diff --git a/dev-ada/gnatmem/gnatmem-2016.ebuild 
b/dev-ada/gnatmem/gnatmem-2016.ebuild
new file mode 100644
index 00000000000..6e1f3b1de96
--- /dev/null
+++ b/dev-ada/gnatmem/gnatmem-2016.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing autotools
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="Monitors dynamic allocation and deallocation activity in a 
program"
+HOMEPAGE="http://libre.adacore.com/";
+SRC_URI="http://mirrors.cdn.adacore.com/art/573995c8c7a447658e0affa2 -> 
${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-ada/gprbuild"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+pkg_setup() {
+       GCC=${ADA:-$(tc-getCC)}
+       export GNATBIND="${GCC/gcc/gnatbind}"
+       if [[ -z "$(type ${GNATBIND} 2>/dev/null)" ]] ; then
+               eerror "You need a gcc compiler that provides the Ada Compiler:"
+               eerror "1) use gcc-config to select the right compiler or"
+               eerror "2) set ADA=gcc-4.9.4 in make.conf"
+               die "ada compiler not available"
+       fi
+}
+
+src_prepare() {
+       default
+       mv configure.in configure.ac
+       eautoreconf
+}
+
+src_compile() {
+       gprbuild -Pgnatmem.gpr -j$(makeopts_jobs) \
+               -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS}
+}
+
+src_install() {
+       dobin obj/gnatmem
+}

diff --git a/dev-ada/gnatmem/metadata.xml b/dev-ada/gnatmem/metadata.xml
new file mode 100644
index 00000000000..4dacd9de192
--- /dev/null
+++ b/dev-ada/gnatmem/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Tupone Alfredo</name>
+       </maintainer>
+       <longdescription lang="en">
+               The gnatmem utility monitors dynamic allocation and 
deallocation activity in a program, and displays information about incorrect 
deallocations and possible sources of memory leaks. It provides three type of 
information:
+
+               General information concerning memory management, such as the 
total number of allocations and deallocations, the amount of allocated memory 
and the high water mark, i.e. the largest amount of allocated memory in the 
course of program execution.
+               Backtraces for all incorrect deallocations, that is to say 
deallocations which do not correspond to a valid allocation.
+               Information on each allocation that is potentially the origin 
of a memory leak. 
+       </longdescription>
+</pkgmetadata>

Reply via email to