commit:     438f968a0513043740475474fe09818a381ad7fa
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  2 21:19:31 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Dec  2 21:19:31 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=438f968a

dev-ada/libgpr: splitted ebuild from deb-ada/gprbuild. Provides libs

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 dev-ada/libgpr/Manifest                       |  2 +
 dev-ada/libgpr/files/libgpr-2016-gentoo.patch | 89 +++++++++++++++++++++++++++
 dev-ada/libgpr/files/libgpr-2017-gentoo.patch | 65 +++++++++++++++++++
 dev-ada/libgpr/libgpr-2016.ebuild             | 51 +++++++++++++++
 dev-ada/libgpr/libgpr-2017.ebuild             | 63 +++++++++++++++++++
 dev-ada/libgpr/metadata.xml                   | 25 ++++++++
 6 files changed, 295 insertions(+)

diff --git a/dev-ada/libgpr/Manifest b/dev-ada/libgpr/Manifest
new file mode 100644
index 00000000000..cbdaab7d6a4
--- /dev/null
+++ b/dev-ada/libgpr/Manifest
@@ -0,0 +1,2 @@
+DIST gprbuild-gpl-2016-src.tar.gz 2142261 BLAKE2B 
69948427eb6315b9fb2b84755192b53c035f74093dacb34852713083779bf8bd88dac6b38fe7685f6a40ecb2482f78b15a5221913df997847eee8b1359cf6c14
 SHA512 
6b9e00248aaee90f3c00e7ce442c2b551b8532ec4d94a4471858d117feb27e91fd6d218995d4b71ee3f1f0677e9547d562fc2cda9ba80c3f6eb8d840ed56eb7e
+DIST gprbuild-gpl-2017-src.tar.gz 2454957 BLAKE2B 
890e5aa29e9f8fa8b140988ee8e5d6042640c34fe0877acde959de803bf690bb33c63b1c7e7db486f804882bddd77ab76ffbaa4dd27da327e21ed0376cadb99d
 SHA512 
12f3682d64ce0718de4940c1e71a4380b20021805d88543842dbf3b5ce5d518c23a6b2d868565579baf81efa1d8cf05c7778253162f0df5d7adc0eb1865c9f88

diff --git a/dev-ada/libgpr/files/libgpr-2016-gentoo.patch 
b/dev-ada/libgpr/files/libgpr-2016-gentoo.patch
new file mode 100644
index 00000000000..2ddbab095d7
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-2016-gentoo.patch
@@ -0,0 +1,89 @@
+--- gprbuild-gpl-2016-src/Makefile.in.old      2017-01-19 19:52:41.242907252 
+0100
++++ gprbuild-gpl-2016-src/Makefile.in  2017-01-19 19:54:45.822646333 +0100
+@@ -25,12 +25,12 @@
+ host=@host@
+ target=@target@
+ build=@build@
+-prefix=@prefix@
++prefix=$(DESTDIR)@prefix@
+ srcdir=@srcdir@
+ objdir=@objdir@
+ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+-datadir=@datadir@
++datadir=$(DESTDIR)@datadir@
+ bindir=@bindir@
+ libdir=@libdir@
+ libexecdir=@libexecdir@
+@@ -173,13 +173,13 @@
+ libgpr.build: $(foreach t, $(LIBGPR_TYPES), libgpr.build.$(t))
+ 
+ libgpr.build.shared:
+-      ${BUILDER} -XLIBRARY_TYPE=relocatable -P$(srcdir)/gpr/gpr.gpr
++      ${BUILDER} -XLIBRARY_TYPE=relocatable -P$(srcdir)/gpr/gpr.gpr 
-cargs:Ada $(ADAFLAGS)
+ 
+ libgpr.build.static:
+-      ${BUILDER} -XLIBRARY_TYPE=static -P$(srcdir)/gpr/gpr.gpr
++      ${BUILDER} -XLIBRARY_TYPE=static -P$(srcdir)/gpr/gpr.gpr -cargs:Ada 
$(ADAFLAGS)
+ 
+ libgpr.build.static-pic:
+-      ${BUILDER} -XLIBRARY_TYPE=static-pic -P$(srcdir)/gpr/gpr.gpr
++      ${BUILDER} -XLIBRARY_TYPE=static-pic -P$(srcdir)/gpr/gpr.gpr -cargs:Ada 
$(ADAFLAGS)
+ 
+ libgpr.install: $(foreach t, $(LIBGPR_TYPES), libgpr.install.$(t))
+ 
+--- gprbuild-gpl-2016-src/gpr/src/gpr-env.adb.old      2017-11-13 
22:16:53.349083426 +0100
++++ gprbuild-gpl-2016-src/gpr/src/gpr-env.adb  2017-11-13 22:17:22.692590351 
+0100
+@@ -1948,6 +1948,8 @@
+ 
+       end if;
+ 
++      Add_Directories (Self, "/usr/share/gpr");
++
+       if Gpr_Prj_Path.all /= "" then
+          Add_Directories (Self, Gpr_Prj_Path.all);
+       end if;
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.ads.old    2017-11-19 
13:09:18.947527738 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.ads        2017-11-19 
13:10:08.125654595 +0100
+@@ -27,6 +27,8 @@
+    Name_Buffer : String (1 .. 1_000_000);
+    Name_Len    : Natural := 0;
+ 
++   Last_Id     : Name_Id := Name_Id'First;
++
+    procedure Get_Name_String (Id : Name_Id);
+    procedure Get_Name_String (Id : Unit_Name_Type);
+    procedure Get_Name_String (Id : File_Name_Type);
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.adb.old    2017-11-19 
13:10:27.674316703 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.adb        2017-11-19 
13:14:38.360963627 +0100
+@@ -354,6 +354,8 @@
+ 
+       Name_Chars.Append (ASCII.NUL);
+ 
++      Last_Id := Name_Entries.Last;
++
+       return Name_Entries.Last;
+    end Name_Enter;
+ 
+@@ -427,6 +429,8 @@
+ 
+       Name_Chars.Append (ASCII.NUL);
+ 
++      Last_Id := Name_Entries.Last;
++
+       return Name_Entries.Last;
+    end Name_Find;
+ 
+--- gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb.old   2017-11-19 
13:12:41.592995718 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb       2017-11-19 
13:16:31.980979696 +0100
+@@ -53,6 +53,10 @@
+          return;
+       end if;
+ 
++      if Last_Id = Name_Id'First then
++         Add_Name ("");
++      end if;
++
+       Add_Name ("a");
+       Add_Name ("b");
+       Add_Name ("c");

diff --git a/dev-ada/libgpr/files/libgpr-2017-gentoo.patch 
b/dev-ada/libgpr/files/libgpr-2017-gentoo.patch
new file mode 100644
index 00000000000..656240e6258
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-2017-gentoo.patch
@@ -0,0 +1,65 @@
+--- gprbuild-2017/gpr/gpr.gpr.old      2017-05-27 20:59:07.061135892 +0200
++++ gprbuild-2017/gpr/gpr.gpr  2017-05-27 20:59:38.022638398 +0200
+@@ -67,6 +67,7 @@
+             for Switches ("gpr*.ad?") use
+               Compiler'Default_Switches ("Ada") & ("-g1");
+       end case;
++      for Driver ("C") use External ("CC", "gcc");
+    end Compiler;
+ 
+ end GPR;
+--- gprbuild-gpl-2016-src/gpr/src/gpr-env.adb.old      2017-11-13 
22:16:53.349083426 +0100
++++ gprbuild-gpl-2016-src/gpr/src/gpr-env.adb  2017-11-13 22:17:22.692590351 
+0100
+@@ -1948,6 +1948,8 @@
+ 
+       end if;
+ 
++      Add_Directories (Self, "/usr/share/gpr");
++
+       if Gpr_Prj_Path.all /= "" then
+          Add_Directories (Self, Gpr_Prj_Path.all);
+       end if;
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.ads.old    2017-11-19 
13:09:18.947527738 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.ads        2017-11-19 
13:10:08.125654595 +0100
+@@ -27,6 +27,8 @@
+    Name_Buffer : String (1 .. 1_000_000);
+    Name_Len    : Natural := 0;
+ 
++   Last_Id     : Name_Id := Name_Id'First;
++
+    procedure Get_Name_String (Id : Name_Id);
+    procedure Get_Name_String (Id : Unit_Name_Type);
+    procedure Get_Name_String (Id : File_Name_Type);
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.adb.old    2017-11-19 
13:10:27.674316703 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.adb        2017-11-19 
13:14:38.360963627 +0100
+@@ -354,6 +354,8 @@
+ 
+       Name_Chars.Append (ASCII.NUL);
+ 
++      Last_Id := Name_Entries.Last;
++
+       return Name_Entries.Last;
+    end Name_Enter;
+ 
+@@ -427,6 +429,8 @@
+ 
+       Name_Chars.Append (ASCII.NUL);
+ 
++      Last_Id := Name_Entries.Last;
++
+       return Name_Entries.Last;
+    end Name_Find;
+ 
+--- gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb.old   2017-11-19 
13:12:41.592995718 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb       2017-11-19 
13:16:31.980979696 +0100
+@@ -53,6 +53,10 @@
+          return;
+       end if;
+ 
++      if Last_Id = Name_Id'First then
++         Add_Name ("");
++      end if;
++
+       Add_Name ("a");
+       Add_Name ("b");
+       Add_Name ("c");

diff --git a/dev-ada/libgpr/libgpr-2016.ebuild 
b/dev-ada/libgpr/libgpr-2016.ebuild
new file mode 100644
index 00000000000..b750ef5400a
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2016.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/";
+SRC_URI="http://mirrors.cdn.adacore.com/art/57399662c7a447658e0affa8
+               -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+gnat_2016 gnat_2017 +shared static static-pic"
+
+RDEPEND="dev-ada/xmlada[gnat_2016=,gnat_2017=]
+       gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+       gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+DEPEND="${RDEPEND}
+       dev-ada/gprbuild"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="|| ( shared static static-pic )
+       ^^ ( gnat_2016 gnat_2017 )"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+       if use gnat_2016; then
+               GCC_PV=4.9.4
+       else
+               GCC_PV=6.3.0
+       fi
+       GCC=${CHOST}-gcc-${GCC_PV}
+       for kind in shared static static-pic; do
+               if use ${kind}; then
+                       emake PROCESSORS=$(makeopts_jobs) libgpr.build.${kind}
+               fi
+       done
+}
+
+src_install() {
+       for kind in shared static static-pic; do
+               if use ${kind}; then
+                       emake DESTDIR="${D}" libgpr.install.${kind}
+               fi
+       done
+}

diff --git a/dev-ada/libgpr/libgpr-2017.ebuild 
b/dev-ada/libgpr/libgpr-2017.ebuild
new file mode 100644
index 00000000000..16acad675fe
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2017.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/";
+SRC_URI="
+       http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecff7
+               -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gnat_2016 +gnat_2017 +shared static static-pic"
+
+RDEPEND="dev-ada/xmlada[static,gnat_2016=,gnat_2017=]
+       gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+       gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+DEPEND="${RDEPEND}
+       dev-ada/gprbuild"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="|| ( shared static static-pic )
+       ^^ ( gnat_2016 gnat_2017 )"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_configure() {
+       emake prefix="${D}"usr setup
+}
+
+src_compile() {
+       if use gnat_2016; then
+               GCC_PV=4.9.4
+       else
+               GCC_PV=6.3.0
+       fi
+       GCC=${CHOST}-gcc-${GCC_PV}
+       if use shared; then
+               gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v \
+                       -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
+                       gpr/gpr.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} 
|| die
+       fi
+       for kind in static static-pic; do
+               if use ${kind}; then
+                       gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v 
\
+                               -XLIBRARY_TYPE=${kind} -XXMLADA_BUILD=${kind} 
gpr/gpr.gpr \
+                               -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+               fi
+       done
+}
+
+src_install() {
+       for kind in shared static static-pic; do
+               if use ${kind}; then
+                       emake DESTDIR="${D}" libgpr.install.${kind}
+               fi
+       done
+}

diff --git a/dev-ada/libgpr/metadata.xml b/dev-ada/libgpr/metadata.xml
new file mode 100644
index 00000000000..4cf88165a98
--- /dev/null
+++ b/dev-ada/libgpr/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>tup...@gentoo.org</email>
+               <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 shared library</flag>
+               <flag name="static">Build static library</flag>
+               <flag name="static-pic">Build static library with pic 
code</flag>
+       </use>
+       <longdescription lang="en">
+               GPRbuild is an advanced software tool designed to help automate 
the
+               construction of multi-language systems. It removes complexity 
from
+               multi-language development by allowing developers to quickly 
and easily
+               compile and link software written in a combination of languages
+               including Ada, Assembler, C, C++, and Fortran. Easily 
extendable by
+               users to cover new toolchains and languages it is primarily 
aimed at
+               projects of all sizes organized into subsystems and libraries 
and is
+               particularly well-suited for compiled languages.
+       </longdescription>
+</pkgmetadata>

Reply via email to