summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTupone Alfredo <tupone@gentoo.org>2017-04-25 21:52:23 +0200
committerTupone Alfredo <tupone@gentoo.org>2017-04-25 21:52:23 +0200
commitd8e663b26f51b3c5f1cdbe1393eb5ec0419b1ab0 (patch)
treef6126ea17ef0523f6b3b4b0ae63b0dedb606aa9d /dev-ada/gnatmem
parentdev-python/cryptography: version bump to 1.8.1 (diff)
downloadgentoo-d8e663b26f51b3c5f1cdbe1393eb5ec0419b1ab0.tar.gz
gentoo-d8e663b26f51b3c5f1cdbe1393eb5ec0419b1ab0.tar.bz2
gentoo-d8e663b26f51b3c5f1cdbe1393eb5ec0419b1ab0.zip
dev-ada/gnatmem: Adding dev-ada/gnatmem-2016
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'dev-ada/gnatmem')
-rw-r--r--dev-ada/gnatmem/Manifest1
-rw-r--r--dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch85
-rw-r--r--dev-ada/gnatmem/gnatmem-2016.ebuild50
-rw-r--r--dev-ada/gnatmem/metadata.xml15
4 files changed, 151 insertions, 0 deletions
diff --git a/dev-ada/gnatmem/Manifest b/dev-ada/gnatmem/Manifest
new file mode 100644
index 000000000000..e30fd588fc2b
--- /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 000000000000..357f723c743c
--- /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 000000000000..6e1f3b1de965
--- /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 000000000000..4dacd9de192f
--- /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>tupone@gentoo.org</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>