commit:     1768732cd0b4449a50874131b7b583f7617c5bf9
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 28 20:16:14 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Wed Jun 28 20:16:14 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1768732c

dev-ada/gnat_util: Add version 2017

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 dev-ada/gnat_util/Manifest                         |  1 +
 .../gnat_util/files/gnat_util-2017-gentoo.patch    | 80 ++++++++++++++++++++++
 dev-ada/gnat_util/gnat_util-2016.ebuild            | 30 ++++----
 ...gnat_util-2016.ebuild => gnat_util-2017.ebuild} | 33 +++++----
 dev-ada/gnat_util/metadata.xml                     |  2 +
 5 files changed, 113 insertions(+), 33 deletions(-)

diff --git a/dev-ada/gnat_util/Manifest b/dev-ada/gnat_util/Manifest
index 74f186b9a0a..48970740db2 100644
--- a/dev-ada/gnat_util/Manifest
+++ b/dev-ada/gnat_util/Manifest
@@ -1 +1,2 @@
 DIST gnat_util-gpl-2016-src.tar.gz 1126296 SHA256 
8e76d7eb1cbae1d3040b9e4196ab07d6e0dd5d4eeb3f5e0fbeb267b1a3470af5 SHA512 
1edb67e762637e9e951356c7be402d7b2b903a05abdc93eadaf5ba98bc7bfa936b4fa2a2ae7eb986200dec755020e53d312d42769512fba2e290099f6030bbd0
 WHIRLPOOL 
c2218ba14f669aa2412be4e0a42b1ffb475c720e608e73bca3bbe42dcaefe2dc4410c4632e0e900a8c72ed92c3ec670bd35935783f43c1eb0eb2cdb7afc4f63e
+DIST gnat_util-gpl-2017-src.tar.gz 868496 SHA256 
46910f4248ebbb6cae5e576cae766768d376fdbf459c55f7efca9ea10d4ea8ad SHA512 
d5e48c6fafc870f36094d2dfd5f45f2d5b5729c97596afff7475b7838c1c7c029ef57395ca1011ee74d8a4195597ea1f502732e654a02561a7abc72c8a7d3a6a
 WHIRLPOOL 
9db8569a56e5ca61ba9cc76276838bb82b07bd1cf9357540d2716136df85a85144eb4f93c2d8336a67b071cf07dfb7b3c0197a0010442b9d1b65471c057cd0b9

diff --git a/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch 
b/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch
new file mode 100644
index 00000000000..50f74d3a138
--- /dev/null
+++ b/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch
@@ -0,0 +1,80 @@
+--- gnat_util-gpl-2014-src/Makefile.old        2016-12-28 09:56:49.378950217 
+0100
++++ gnat_util-gpl-2014-src/Makefile    2016-12-28 09:57:12.301562519 +0100
+@@ -21,21 +21,30 @@
+ 
+ .PHONY: all
+ all: generate_sources
+-      ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+-              -XLIBRARY_TYPE=static -Pgnat_util -p
++      $(MAKE) build-static
+ ifeq ($(ENABLE_SHARED), yes)
+-      ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+-              -XLIBRARY_TYPE=relocatable -Pgnat_util -p
++      $(MAKE) build-shared
+ endif
++      $(MAKE) build-static-pic
++build-static:
++      ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
++              -XLIBRARY_TYPE=static -Pgnat_util -p -XCC=${CC} \
++              -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
++build-shared:
++      ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
++              -XLIBRARY_TYPE=relocatable -Pgnat_util -p -XCC=${CC} \
++              -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
++build-static-pic:
+       ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+-              -XLIBRARY_TYPE=static-pic -Pgnat_util -p
++              -XLIBRARY_TYPE=static-pic -Pgnat_util -p -XCC=${CC} \
++              -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
+ 
+ .PHONY: generate_sources
+ generate_sources:
+       $(MKDIR) $(SRC)
+       $(CP) xsnamest.adb xutil.* snames.adb-tmpl snames.ads-tmpl 
snames.h-tmpl $(SRC)
+       (cd $(SRC) && \
+-         gnatmake -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
++         ${GNATMAKE} -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
+          ./xsnamest && mv snames.ns snames.ads && mv snames.nb snames.adb)
+       $(CP) sdefault_adb.gnat_util $(SRC)/sdefault.adb
+ 
+@@ -47,6 +56,12 @@
+ 
+ .PHONY: install
+ install: install-clean
++      ${MAKE} install-static
++ifeq ($(ENABLE_SHARED), yes)
++      ${MAKE} install-shared
++endif
++      ${MAKE} install-static-pic
++install-static:
+       ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+               -XLIBRARY_TYPE=static \
+               --prefix=$(prefix) \
+@@ -54,7 +69,7 @@
+               --lib-subdir=lib/gnat_util/static \
+               --project-subdir=lib/gnat \
+               --build-var=LIBRARY_TYPE --build-name=static -Pgnat_util
+-ifeq ($(ENABLE_SHARED), yes)
++install-shared:
+       ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+               -XLIBRARY_TYPE=relocatable \
+               --prefix=$(prefix) \
+@@ -62,7 +77,7 @@
+               --lib-subdir=lib/gnat_util/relocatable \
+               --project-subdir=lib/gnat \
+               --build-var=LIBRARY_TYPE --build-name=relocatable -Pgnat_util
+-endif
++install-static-pic:
+       ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+               -XLIBRARY_TYPE=static-pic \
+               --prefix=$(prefix) \
+--- gnat_util-gpl-2016-src/gnat_util.gpr.old   2017-02-09 22:15:27.153827164 
+0100
++++ gnat_util-gpl-2016-src/gnat_util.gpr       2017-02-09 22:15:38.307627480 
+0100
+@@ -31,6 +31,7 @@
+             for Default_Switches ("Ada") use ("-O0", "-gnato", "-g", 
"-gnata");
+             for Default_Switches ("C") use ("-g");
+       end case;
++      for Driver ("C") use External ("CC", "gcc");
+    end Compiler;
+ 
+    package Builder is

diff --git a/dev-ada/gnat_util/gnat_util-2016.ebuild 
b/dev-ada/gnat_util/gnat_util-2016.ebuild
index dd8a3f6cba1..f3a43667276 100644
--- a/dev-ada/gnat_util/gnat_util-2016.ebuild
+++ b/dev-ada/gnat_util/gnat_util-2016.ebuild
@@ -14,34 +14,32 @@ 
SRC_URI="http://mirrors.cdn.adacore.com/art/57399637c7a447658e0affa6 -> ${MYP}-s
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="+shared static static-pic"
+IUSE="gnat_2016 gnat_2017 +shared static static-pic"
 
-RDEPEND="dev-lang/gnat-gpl"
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+       gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
 DEPEND="${RDEPEND}
-       dev-ada/gprbuild"
+       dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
 
 S="${WORKDIR}"/${MYP}-src
 
 PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
 
-pkg_setup() {
-       GCC=${ADA:-$(tc-getCC)}
-       GNATMAKE="${GCC/gcc/gnatmake}"
-       CC="${GCC}"
-       if [[ -z "$(type ${GNATMAKE} 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_compile() {
+       if use gnat_2016; then
+               GCC_PV=4.9.4
+       else
+               GCC_PV=6.3.0
+       fi
+       GCC=${CHOST}-gcc-${GCC_PV}
+       GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
        emake GNATMAKE="${GNATMAKE} ${ADAFLAGS}" \
                BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
        for kind in shared static static-pic; do
                if use ${kind}; then
-                       emake BUILDER="gprbuild -v -j$(makeopts_jobs)" 
build-${kind}
+                       emake CC="${GCC}" BUILDER="gprbuild -v 
-j$(makeopts_jobs)" \
+                               build-${kind}
                fi
        done
 }

diff --git a/dev-ada/gnat_util/gnat_util-2016.ebuild 
b/dev-ada/gnat_util/gnat_util-2017.ebuild
similarity index 57%
copy from dev-ada/gnat_util/gnat_util-2016.ebuild
copy to dev-ada/gnat_util/gnat_util-2017.ebuild
index dd8a3f6cba1..90558f72e05 100644
--- a/dev-ada/gnat_util/gnat_util-2016.ebuild
+++ b/dev-ada/gnat_util/gnat_util-2017.ebuild
@@ -9,39 +9,38 @@ MYP=${PN}-gpl-${PV}
 
 DESCRIPTION="Provides access to GNAT compiler internals for AdaCore utilities"
 HOMEPAGE="http://libre.adacore.com";
-SRC_URI="http://mirrors.cdn.adacore.com/art/57399637c7a447658e0affa6 -> 
${MYP}-src.tar.gz"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed037
+       -> ${MYP}-src.tar.gz"
 
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="+shared static static-pic"
+IUSE="gnat_2016 gnat_2017 +shared static static-pic"
 
-RDEPEND="dev-lang/gnat-gpl"
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+       gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
 DEPEND="${RDEPEND}
-       dev-ada/gprbuild"
+       dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
 
 S="${WORKDIR}"/${MYP}-src
 
 PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
 
-pkg_setup() {
-       GCC=${ADA:-$(tc-getCC)}
-       GNATMAKE="${GCC/gcc/gnatmake}"
-       CC="${GCC}"
-       if [[ -z "$(type ${GNATMAKE} 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_compile() {
+       if use gnat_2016; then
+               GCC_PV=4.9.4
+       else
+               GCC_PV=6.3.0
+       fi
+       GCC=${CHOST}-gcc-${GCC_PV}
+       GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
        emake GNATMAKE="${GNATMAKE} ${ADAFLAGS}" \
                BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
        for kind in shared static static-pic; do
                if use ${kind}; then
-                       emake BUILDER="gprbuild -v -j$(makeopts_jobs)" 
build-${kind}
+                       emake CC="${GCC}" BUILDER="gprbuild -v 
-j$(makeopts_jobs)" \
+                               build-${kind}
                fi
        done
 }

diff --git a/dev-ada/gnat_util/metadata.xml b/dev-ada/gnat_util/metadata.xml
index 06e6729dec8..22a3c1f31fe 100644
--- a/dev-ada/gnat_util/metadata.xml
+++ b/dev-ada/gnat_util/metadata.xml
@@ -6,6 +6,8 @@
                <name>Tupone Alfredo</name>
        </maintainer>
        <use>
+               <flag name="gnat_2016">Compile with 
dev-lang/gnat-gpl-2016</flag>
+               <flag name="gnat_2017">Compile with 
dev-lang/gnat-gpl-2017</flag>
                <flag name="shared">Build gnat_util shared library</flag>
                <flag name="static">Build gnat_util static library</flag>
                <flag name="static-pic">Build gnat_util static library with pic 
code</flag>

Reply via email to