summaryrefslogtreecommitdiff
path: root/dev-ada/libgpr
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada/libgpr')
-rw-r--r--dev-ada/libgpr/Manifest9
-rw-r--r--dev-ada/libgpr/files/libgpr-2016-gentoo.patch89
-rw-r--r--dev-ada/libgpr/files/libgpr-2017-gentoo.patch65
-rw-r--r--dev-ada/libgpr/libgpr-2016.ebuild54
-rw-r--r--dev-ada/libgpr/libgpr-2017.ebuild64
-rw-r--r--dev-ada/libgpr/libgpr-2018.ebuild68
-rw-r--r--dev-ada/libgpr/metadata.xml25
7 files changed, 374 insertions, 0 deletions
diff --git a/dev-ada/libgpr/Manifest b/dev-ada/libgpr/Manifest
new file mode 100644
index 000000000000..77803838eed8
--- /dev/null
+++ b/dev-ada/libgpr/Manifest
@@ -0,0 +1,9 @@
+AUX libgpr-2016-gentoo.patch 2822 BLAKE2B 759977ffe76fefc27c1aecdfe8a8647c78c8c3b5305b5bcb20d5c403394cd492b68ff3256d65ef0969eb44aa002fdfb83815cf095017c0c06e441639fea8d607 SHA512 c0a507f692002a32d40d56216a033987c3e5e2ad07f9f25d0bd542fe1e77c8c3a7acd1e11a3d4f07d224b63002dbecd548a256599017cf97c820c6cfce2ac596
+AUX libgpr-2017-gentoo.patch 2047 BLAKE2B 8c8befa6b392863163fac1c03acc63b96c075929fec2207fb654ab191bb6a8995e0c2576c218c59b90b1eb90d330ea7837d032427b9b9495bdd5e98709363070 SHA512 51b82725f94488c06e9a9aece82b9a3df78f7a763ed6ae6055335c0eae802207a698e186fb321261b4c45539c2fba076d08605dd5fc64508d71928210fe80f0c
+DIST gprbuild-gpl-2016-src.tar.gz 2142261 BLAKE2B 69948427eb6315b9fb2b84755192b53c035f74093dacb34852713083779bf8bd88dac6b38fe7685f6a40ecb2482f78b15a5221913df997847eee8b1359cf6c14 SHA512 6b9e00248aaee90f3c00e7ce442c2b551b8532ec4d94a4471858d117feb27e91fd6d218995d4b71ee3f1f0677e9547d562fc2cda9ba80c3f6eb8d840ed56eb7e
+DIST gprbuild-gpl-2017-src.tar.gz 2454957 BLAKE2B 890e5aa29e9f8fa8b140988ee8e5d6042640c34fe0877acde959de803bf690bb33c63b1c7e7db486f804882bddd77ab76ffbaa4dd27da327e21ed0376cadb99d SHA512 12f3682d64ce0718de4940c1e71a4380b20021805d88543842dbf3b5ce5d518c23a6b2d868565579baf81efa1d8cf05c7778253162f0df5d7adc0eb1865c9f88
+DIST gprbuild-gpl-2018-src.tar.gz 2479651 BLAKE2B b0e24f4d97f06fe84569f8f0284e1028fce8e4ae90cfd27ab31ada0988f4f1b37eca4868bc212a21d26fb1a0a7ba6f031062e16d9758ab211e2fee40e25077ab SHA512 d22c0133baa6a0b626a0c1d145b21865bd0699cd8155ca22727272b0f8988c78163410b432ae148e87099e931df19d51ea867981556c79cb1cceb25456333044
+EBUILD libgpr-2016.ebuild 1243 BLAKE2B 68a8d2acd9a75c49cdbfc8828bc004ca4f1a586914302f108fdb655672ea229d965c3d00f08b041c6dc32316627d90a0d9fb1ca9c9126cf9f5fbd51e07043831 SHA512 389b16cbf67e40ef924f50492ac81cecb54eddf25342a435d16cebaf7b3b1be74e86b7ed2539a2c4cbb288f301ed6877998f8c50d5788fb7d075143f9f917349
+EBUILD libgpr-2017.ebuild 1388 BLAKE2B 97c790d84d22f76209bdc4f47a834a190e5faa8f6a3b179bf0d67ef91077e9c98b6a522903ee232a0444dd73a9fb6b8862f2a98155241657193c0175ef03ec93 SHA512 0430a17c2e7250b209cbe9508229a4dc59ff9f3b1f51f2c13de8a6484703946e59ae7380169c0e892b45aa78a5275b987075cf0903ab9e59068e30fab59945ac
+EBUILD libgpr-2018.ebuild 1546 BLAKE2B 2a9fe66051f7ee45c2007191903f7750c5124cd7b2549c45a1325b779802164ff95f52c90b8532003a1c0bf6cf2fc18ff59f16ee141776d948ec5208e942b258 SHA512 8458b8b1e0df071a827f3443488975ecc382b5e796f038e716ad562ef0e9200fd1eee29383763f45eb27d9578869206b924e6ffadb54808044716b50353882fc
+MISC metadata.xml 1175 BLAKE2B 8b512fd5efae4481d319fc52a11f3730af081d5c3ff12f6c6d62768e905e0651e3b4792765f65edbf659862b56372f32ba3aa7ae51c12b2911b711cb12a013e1 SHA512 edd6bb889abfe036d2509e56f350cf058e249e398811fdb2890bd001b75143b8d9df28bb64acba195852d01d484b7e6381e82ce972aad6d8cf1e0c961b3ade72
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 000000000000..2ddbab095d72
--- /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 000000000000..656240e62589
--- /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 000000000000..39fb18af6899
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2016.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+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 x86"
+IUSE="+gnat_2016 gnat_2017 +shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[gnat_2016=,gnat_2017=]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="|| ( shared static-libs static-pic )"
+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}
+ if use static-libs; then
+ emake PROCESSORS=$(makeopts_jobs) libgpr.build.static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake PROCESSORS=$(makeopts_jobs) libgpr.build.${kind}
+ fi
+ done
+}
+
+src_install() {
+ if use static-libs; then
+ emake DESTDIR="${D}" libgpr.install.static
+ fi
+ for kind in shared 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 000000000000..f2ca1d510730
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2017.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+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 x86"
+IUSE="gnat_2016 +gnat_2017 +shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[static-libs,gnat_2016=,gnat_2017=]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="|| ( shared static-libs static-pic )"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_configure() {
+ emake prefix="${D}"usr setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ gpr/gpr.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ 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
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_install() {
+ if use static-libs; then
+ emake DESTDIR="${D}" libgpr.install.static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake DESTDIR="${D}" libgpr.install.${kind}
+ fi
+ done
+}
diff --git a/dev-ada/libgpr/libgpr-2018.ebuild b/dev-ada/libgpr/libgpr-2018.ebuild
new file mode 100644
index 000000000000..9a2f65dac23a
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2018.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a68
+ -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[shared?,static-libs?,static-pic?]
+ dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018=]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?]"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_configure() {
+ emake prefix="${D}"usr setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ gpr/gpr.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ elif use gnat_2017; then
+ GCC_PV=6.3.0
+ else
+ GCC_PV=7.3.1
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_install() {
+ if use static-libs; then
+ emake DESTDIR="${D}" libgpr.install.static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake DESTDIR="${D}" libgpr.install.${kind}
+ fi
+ done
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/libgpr/metadata.xml b/dev-ada/libgpr/metadata.xml
new file mode 100644
index 000000000000..aa6b2a5d355a
--- /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>tupone@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="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <flag name="shared">Build shared 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>