From 391c0b8fcce0821e97eb16655c4833bf2c74921d Mon Sep 17 00:00:00 2001 From: Tupone Alfredo Date: Thu, 28 Sep 2017 09:01:01 +0200 Subject: dev-ada/gnatmem: Adding dev-ada/gnatmem-2017 Package-Manager: Portage-2.3.6, Repoman-2.3.1 --- dev-ada/gnatmem/Manifest | 1 + dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch | 12 ++-- dev-ada/gnatmem/files/gnatmem-2017-gentoo.patch | 89 +++++++++++++++++++++++++ dev-ada/gnatmem/gnatmem-2016.ebuild | 15 +---- dev-ada/gnatmem/gnatmem-2017.ebuild | 39 +++++++++++ dev-ada/gnatmem/metadata.xml | 20 ++++-- 6 files changed, 155 insertions(+), 21 deletions(-) create mode 100644 dev-ada/gnatmem/files/gnatmem-2017-gentoo.patch create mode 100644 dev-ada/gnatmem/gnatmem-2017.ebuild (limited to 'dev-ada') diff --git a/dev-ada/gnatmem/Manifest b/dev-ada/gnatmem/Manifest index e30fd588fc2b..2669213c4151 100644 --- a/dev-ada/gnatmem/Manifest +++ b/dev-ada/gnatmem/Manifest @@ -1 +1,2 @@ DIST gnatmem-gpl-2016-src.tar.gz 80104 SHA256 bd39c7b18e4f52fdd029b999f7e1af52d01c975063c28ae1ef6875e4fc5e224f SHA512 bc711af9eda55e89a22fee9dbe506a60fbdd718a9f47141a8d13ad4b97c4520c3988e3a55b6c85bb53098e542f655de9572aeefc99d88c41a2645d9f01b2828b WHIRLPOOL 8aee794c18efcbdbb50a4d58b9f247de30dea8d5b0a41034b1e20ad7786eefab5dfd14bf99994340a993d67989eab939ba78097d46933d841686d1bbc68fce0b +DIST gnatmem-gpl-2017-src.tar.gz 80106 SHA256 11a27a66030b1a074875ccdaa0ffb06e86d687e1904ab0f5922e08bb488e5e7c SHA512 52ba2cfb24314f481ec07e351ff6d8883753dcfe5d0489a78536bf0b841d931055be02271a5d93b2ec15c52fd775d4b177a17de52f9472cc8f352bf044b28897 WHIRLPOOL 6599c8b77e89d7bc1f6b1eea459009aa2626173a7ebe47b65ead3ba76a109699ff8d0f27cfe1cea9fb0a8cb90cf9a897f70cf8af4647f21feec87b422e544c1b diff --git a/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch b/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch index 357f723c743c..69530dd24b23 100644 --- a/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch +++ b/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch @@ -1,9 +1,13 @@ --- 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 +@@ -2,23 +2,14 @@ + AC_INIT(gnatmem.gpr.in) + AC_CANONICAL_SYSTEM + AC_PROG_CC(gcc) +-AC_CHECK_TOOL(GNATBIND,gnatbind,"no") +-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, diff --git a/dev-ada/gnatmem/files/gnatmem-2017-gentoo.patch b/dev-ada/gnatmem/files/gnatmem-2017-gentoo.patch new file mode 100644 index 000000000000..69530dd24b23 --- /dev/null +++ b/dev-ada/gnatmem/files/gnatmem-2017-gentoo.patch @@ -0,0 +1,89 @@ +--- 1/configure.in.old 2016-12-08 20:57:53.942004080 +0100 ++++ 1/configure.in 2016-12-08 21:00:10.393677257 +0100 +@@ -2,23 +2,14 @@ + AC_INIT(gnatmem.gpr.in) + AC_CANONICAL_SYSTEM + AC_PROG_CC(gcc) +-AC_CHECK_TOOL(GNATBIND,gnatbind,"no") +-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=], + [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 + #include + +-#include "bfd.h" +-#include "libiberty.h" +-#include "demangle.h" ++#include ++#include ++#include + + 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 index 6e1f3b1de965..5875024baefd 100644 --- a/dev-ada/gnatmem/gnatmem-2016.ebuild +++ b/dev-ada/gnatmem/gnatmem-2016.ebuild @@ -14,26 +14,15 @@ SRC_URI="http://mirrors.cdn.adacore.com/art/573995c8c7a447658e0affa2 -> ${MYP}.t LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" -IUSE="" +IUSE="gnat_2016 gnat_2017" RDEPEND="" -DEPEND="dev-ada/gprbuild" +DEPEND="dev-ada/gprbuild[gnat_2016=,gnat_2017=]" 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 diff --git a/dev-ada/gnatmem/gnatmem-2017.ebuild b/dev-ada/gnatmem/gnatmem-2017.ebuild new file mode 100644 index 000000000000..ee97065ed89f --- /dev/null +++ b/dev-ada/gnatmem/gnatmem-2017.ebuild @@ -0,0 +1,39 @@ +# 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/591c45e2c7a447af2deed033 -> ${MYP}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gnat_2016 gnat_2017" + +RDEPEND="" +DEPEND="dev-ada/gprbuild[gnat_2016=,gnat_2017=]" + +S="${WORKDIR}"/${MYP} + +PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) + +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 index 4dacd9de192f..0119f73e16b5 100644 --- a/dev-ada/gnatmem/metadata.xml +++ b/dev-ada/gnatmem/metadata.xml @@ -5,11 +5,23 @@ tupone@gentoo.org Tupone Alfredo + + Compile with dev-lang/gnat-gpl-2016 + Compile with dev-lang/gnat-gpl-2017 + - 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: + 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. + 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. -- cgit v1.2.3-65-gdbad