diff options
-rw-r--r-- | dev-ada/gnatcoll-db/Manifest | 1 | ||||
-rw-r--r-- | dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch | 21 | ||||
-rw-r--r-- | dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild | 104 | ||||
-rw-r--r-- | dev-ada/gnatcoll-db/metadata.xml | 33 |
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> |