dev-ada/gnatcoll-core: EAPI 7
[gentoo.git] / dev-ada / gnatcoll-core / gnatcoll-core-2019.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5 inherit multiprocessing
6
7 MYP=${P}-20190515-24AD8
8
9 DESCRIPTION="GNAT Component Collection Core packages"
10 HOMEPAGE="http://libre.adacore.com"
11 SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8ae231e87a8f1d425052
12         -> ${MYP}-src.tar.gz"
13
14 LICENSE="GPL-3"
15 SLOT="0"
16 KEYWORDS="~amd64 ~x86"
17 IUSE="gnat_2016 gnat_2017 +gnat_2018 gnat_2019 +shared static-libs static-pic"
18
19 RDEPEND="
20         dev-ada/libgpr[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?,gnat_2019(-)?]
21         dev-ada/libgpr[shared?,static-libs?,static-pic?]
22         !dev-ada/gnatcoll"
23 DEPEND="${RDEPEND}
24         dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?,gnat_2019(-)?]"
25
26 REQUIRED_USE="^^ ( gnat_2016 gnat_2017 gnat_2018 gnat_2019 )"
27
28 S="${WORKDIR}"/${MYP}-src
29
30 PATCHES=( "${FILESDIR}"/${PN}-2018-gentoo.patch )
31
32 src_prepare() {
33         if use gnat_2016; then
34                 GCC_PV=4.9.4
35         elif use gnat_2017; then
36                 GCC_PV=6.3.0
37         elif use gnat_2018; then
38                 GCC_PV=7.3.1
39         else
40                 GCC_PV=8.3.1
41         fi
42         default
43         sed -i \
44                 -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
45                 src/gnatcoll-projects.ads \
46                 || die
47 }
48
49 src_configure() {
50         emake prefix="${D}"/usr PROCESSORS=$(makeopts_jobs) setup
51 }
52
53 src_compile() {
54         build () {
55                 gprbuild -p -m -j$(makeopts_jobs) \
56                         -XBUILD=PROD -v -XGNATCOLL_VERSION=${PV} \
57                         -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$* -XGPR_BUILD=$1 \
58                         gnatcoll.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
59         }
60         if use shared; then
61                 build relocatable
62         fi
63         if use static-pic; then
64                 build static-pic
65         fi
66         if use static-libs; then
67                 build static
68         fi
69 }
70
71 src_install() {
72         if use shared; then
73                 emake install-relocatable
74         fi
75         if use static-pic; then
76                 emake install-static-pic
77         fi
78         if use static-libs; then
79                 emake install-static
80         fi
81         rm -r "${D}"/usr/share/gpr/manifests || die
82         einstalldocs
83 }