commit:     9e9509dff2654e8cd0e0d4806df84fd255208519
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 24 15:27:32 2018 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Jun 24 15:27:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e9509df

dev-ada/gnatcoll-db: New package

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-ada/gnatcoll-db/Manifest                       |   1 +
 .../files/gnatcoll-db-2018-gentoo.patch            |  21 +++++
 dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild        | 104 +++++++++++++++++++++
 dev-ada/gnatcoll-db/metadata.xml                   |  33 +++++++
 4 files changed, 159 insertions(+)

diff --git a/dev-ada/gnatcoll-db/Manifest b/dev-ada/gnatcoll-db/Manifest
new file mode 100644
index 00000000000..ff30551ad6e
--- /dev/null
+++ b/dev-ada/gnatcoll-db/Manifest
@@ -0,0 +1 @@
+DIST gnatcoll-db-gpl-2018-src.tar.gz 2375712 BLAKE2B 
d5678bdc0993b67d93bdd4cb33ee3ecba15f7cdeead173caaaa08312103505d97099037215a3b0699296aadfa0ef68327f28e01c6229db1fefc5b7d7ebf93187
 SHA512 
02c967b5951ef0e17e58874e03c9a6252f9c4b28100c9530fb88212e91bc692545f3acc8623477942db220bd54d56b494150b088d05c40f6a24aad8cf6a8f8de

diff --git a/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch 
b/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch
new file mode 100644
index 00000000000..e6d5119aed4
--- /dev/null
+++ b/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch
@@ -0,0 +1,21 @@
+--- a/sqlite/gnatcoll_sqlite.gpr       2018-06-24 14:08:52.477478654 +0200
++++ b/sqlite/gnatcoll_sqlite.gpr       2018-06-24 14:08:59.149372684 +0200
+@@ -42,7 +42,7 @@
+    for Library_Name    use Name;
+    for Library_Version use "lib" & Name & Gnatcoll.So_Ext & "." & Version;
+ 
+-   for Languages use ("Ada", "C");
++   for Languages use ("Ada");
+ 
+    Thread_Lib := ();
+ 
+--- a/postgres/gnatcoll_postgres.gpr   2018-06-24 16:39:56.345322365 +0200
++++ b/postgres/gnatcoll_postgres.gpr   2018-06-24 16:40:30.737772583 +0200
+@@ -81,6 +81,7 @@
+             for Switches ("Ada") use ("-O2", "-gnatn", "-gnatwaCJ");
+             for Switches ("C") use ("-O2", "-Wunreachable-code") & PQP_Flag;
+       end case;
++      for Driver ("C") use External ("GCC", "gcc");
+    end Compiler;
+ 
+    package Binder is

diff --git a/dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild 
b/dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild
new file mode 100644
index 00000000000..7ff7b209c48
--- /dev/null
+++ b/dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit multilib multiprocessing autotools python-single-r1
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com";
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0ce9cbc7a4475263382be6
+       -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 gnatcoll_db2ada gnatinspect postgres
+       +shared sql sqlite static-libs static-pic xref"
+
+RDEPEND="dev-lang/gnat-gpl:7.3.0
+       dev-ada/gnatcoll-core[gnat_2018,shared?,static-libs?,static-pic?]
+       dev-ada/libgpr[gnat_2018,shared?,static-libs?,static-pic?]
+       dev-ada/xmlada[gnat_2018,shared?,static-libs?,static-pic?]
+       sqlite? ( dev-db/sqlite:3 )
+       postgres? ( dev-db/postgresql:* )
+       xref? (
+               
dev-ada/gnatcoll-bindings[iconv,shared?,static-libs?,static-pic?]
+       )"
+DEPEND="${RDEPEND}
+       dev-ada/gprbuild[gnat_2018]"
+
+REQUIRED_USE="!gnat_2016 !gnat_2017 gnat_2018
+       sqlite? ( sql )
+       xref? ( sqlite )
+       gnatinspect? ( xref )
+       gnatcoll_db2ada? ( sql )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+       GCC_PV=7.3.0
+       build () {
+               GCC=${CHOST}-gcc-${GCC_PV} \
+                       GPR_PROJECT_PATH="${S}/sql":"${S}/sqlite":"${S}/xref" \
+                       gprbuild -p -m -v -j$(makeopts_jobs) 
-XGNATCOLL_SQLITE=external \
+                       -XGNATCOLL_VERSION=2018 \
+                       -XBUILD=PROD -XLIBRARY_TYPE=$2 -XXMLADA_BUILD=$2 
-XGPR_BUILD=$2 \
+                       -P $1/$3.gpr \
+                       -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die 
"gprbuild failed"
+       }
+       for kind in shared static-libs static-pic ; do
+               if use $kind; then
+                       lib=${kind%-libs}
+                       lib=${lib/shared/relocatable}
+                       for dir in sql sqlite xref postgres ; do
+                               if use $dir; then
+                                       build $dir $lib gnatcoll_${dir}
+                               fi
+                       done
+               fi
+       done
+       if use shared; then
+               preflib=relocatable
+       elif use static-libs; then
+               preflib=static
+       else
+               preflib=static-pic
+       fi
+       for dir in gnatinspect gnatcoll_db2ada ; do
+               if use $dir; then
+                       build $dir $lib ${dir}
+               fi
+       done
+}
+
+src_install() {
+       build () {
+               GPR_PROJECT_PATH="${D}/usr/share/gpr" gprinstall -p -f \
+                       -XBUILD=PROD -XGNATCOLL_VERSION=2018 \
+                       --prefix="${D}"/usr -XLIBRARY_TYPE=$2 -XXMLADA_BUILD=$2 
\
+                       -XGPR_BUILD=$2 --build-name=$2 --build-var=LIBRARY_TYPE 
\
+                       -P $1/$3.gpr
+       }
+       for kind in shared static-libs static-pic ; do
+               if use $kind; then
+                       lib=${kind%-libs}
+                       lib=${lib/shared/relocatable}
+                       for dir in sql sqlite xref postgres ; do
+                               if use $dir; then
+                                       build $dir $lib gnatcoll_${dir}
+                               fi
+                       done
+               fi
+       done
+       for dir in gnatinspect gnatcoll_db2ada ; do
+               if use $dir; then
+                       build $dir $lib ${dir}
+               fi
+       done
+       einstalldocs
+}

diff --git a/dev-ada/gnatcoll-db/metadata.xml b/dev-ada/gnatcoll-db/metadata.xml
new file mode 100644
index 00000000000..4a18c9113ff
--- /dev/null
+++ b/dev-ada/gnatcoll-db/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</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="gnatcoll_db2ada">Build gnatcoll_db2ada</flag>
+               <flag name="gnatinspect">Build gnatinspect</flag>
+               <flag name="shared">Build shared library</flag>
+               <flag name="sql">Build sql library</flag>
+               <flag name="static-pic">Build shared library</flag>
+               <flag name="xref">Build xref library</flag>
+       </use>
+       <longdescription lang="en">
+               The reusable library known as the GNAT Component Collection 
(GNATColl)
+               is based on one main principle: general-purpose packages that 
are part
+               of the GNAT technology should also be available to GNAT user
+               application code. The compiler front end, the GNAT Programming 
Studio
+               (GPS) Interactive Development Environment, and the GNAT Tracker
+               web-based interface all served as sources for the components.
+
+               The GNATColl components complement the predefined Ada and GNAT
+               libraries and deal with a range of common programming issues 
including
+               string and text processing, memory management, and file 
handling.
+               Several of the components are especially useful in enterprise
+               applications.
+       </longdescription>
+</pkgmetadata>

Reply via email to