summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-ada/gnatcoll-db/Manifest1
-rw-r--r--dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch21
-rw-r--r--dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild104
-rw-r--r--dev-ada/gnatcoll-db/metadata.xml33
4 files changed, 159 insertions, 0 deletions
diff --git a/dev-ada/gnatcoll-db/Manifest b/dev-ada/gnatcoll-db/Manifest
new file mode 100644
index 000000000000..ff30551ad6e8
--- /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 000000000000..e6d5119aed4e
--- /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 000000000000..7ff7b209c48b
--- /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 000000000000..4a18c9113ff2
--- /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>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="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>