dev-ada/gprbuild: simplify using ada eclass
authorTupone Alfredo <tupone@gentoo.org>
Thu, 12 Sep 2019 12:42:58 +0000 (14:42 +0200)
committerTupone Alfredo <tupone@gentoo.org>
Thu, 12 Sep 2019 12:42:58 +0000 (14:42 +0200)
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
dev-ada/gprbuild/gprbuild-2017-r2.ebuild [new file with mode: 0644]
dev-ada/gprbuild/gprbuild-2019-r1.ebuild [new file with mode: 0644]

diff --git a/dev-ada/gprbuild/gprbuild-2017-r2.ebuild b/dev-ada/gprbuild/gprbuild-2017-r2.ebuild
new file mode 100644 (file)
index 0000000..4f38907
--- /dev/null
@@ -0,0 +1,89 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7} )
+
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+       http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecff7
+               -> ${MYP}-src.tar.gz
+       http://mirrors.cdn.adacore.com/art/591aeb88c7a4473fcbb154f8
+               -> xmlada-gpl-${PV}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${ADA_DEPS}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gentoo.patch
+       "${FILESDIR}"/${P}-config.patch
+)
+
+src_prepare() {
+       default
+       sed -i \
+               -e "s:@VER@:${GCC_PV}:g" \
+               share/gprconfig/compilers.xml \
+               share/gprconfig/gnat.xml \
+               share/gprconfig/c.xml \
+               share/gprconfig/linker.xml \
+               || die
+       sed -i \
+               -e "s:@GNATBIND@:${GNATBIND}:g" \
+               src/gprlib.adb \
+               || die
+       if use ada_target_gnat_2016; then
+               sed -i \
+                       -e 's:"-no-pie", ::g' \
+                       share/gprconfig/linker.xml \
+                       || die
+       fi
+}
+
+src_configure() {
+       emake prefix="${D}"/usr setup
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+       local xmlada_src="../xmlada-gpl-${PV}-src"
+       incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
+               -I${xmlada_src}/schema -I${xmlada_src}/unicode \
+               -I${xmlada_src}/input_sources"
+       ${GCC} -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die
+       for bin in ${bin_progs}; do
+               ${GNATMAKE} -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \
+                       -o ${bin} -largs gpr_imports.o || die
+       done
+       for lib in $lib_progs; do
+               ${GNATMAKE} -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \
+                       -largs gpr_imports.o || die
+       done
+}
+
+src_install() {
+       dobin ${bin_progs}
+       exeinto /usr/libexec/gprbuild
+       doexe ${lib_progs}
+       insinto /usr/share/gprconfig
+       doins share/gprconfig/*
+       insinto /usr/share/gpr
+       doins share/_default.gpr
+       einstalldocs
+}
diff --git a/dev-ada/gprbuild/gprbuild-2019-r1.ebuild b/dev-ada/gprbuild/gprbuild-2019-r1.ebuild
new file mode 100644 (file)
index 0000000..025a4ab
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{7,8,9} )
+
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${P}-20190517-194D8-src
+XMLADA=xmlada-${PV}-20190429-19B9D-src
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+       http://mirrors.cdn.adacore.com/art/5cdf8e8031e87a8f1d425093
+               -> ${MYP}.tar.gz
+       http://mirrors.cdn.adacore.com/art/5cdf916831e87a8f1d4250b5
+               -> ${XMLADA}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${ADA_DEPS}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+       default
+       sed -i \
+               -e "s:@VER@:${GCC_PV}:g" \
+               share/gprconfig/compilers.xml \
+               share/gprconfig/gnat.xml \
+               share/gprconfig/c.xml \
+               share/gprconfig/linker.xml \
+               || die
+       sed -i \
+               -e "s:@GNATBIND@:${GNATBIND}:g" \
+               src/gprlib.adb \
+               || die
+}
+
+src_configure() {
+       emake prefix="${D}"/usr setup
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+       local xmlada_src="../${XMLADA}"
+       incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
+               -I${xmlada_src}/schema -I${xmlada_src}/unicode \
+               -I${xmlada_src}/input_sources"
+       ${GCC} -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die
+       for bin in ${bin_progs}; do
+               ${GNATMAKE} -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \
+                       -o ${bin} -largs gpr_imports.o || die
+       done
+       for lib in $lib_progs; do
+               ${GNATMAKE} -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \
+                       -largs gpr_imports.o || die
+       done
+}
+
+src_install() {
+       dobin ${bin_progs}
+       exeinto /usr/libexec/gprbuild
+       doexe ${lib_progs}
+       insinto /usr/share/gprconfig
+       doins share/gprconfig/*
+       insinto /usr/share/gpr
+       doins share/_default.gpr
+       einstalldocs
+}