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>