Gentoo Archives: gentoo-commits

From: Alfredo Tupone <tupone@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ada/gnat_util/files/, dev-ada/gnat_util/
Date: Sun, 02 Apr 2017 19:16:35
Message-Id: 1491160575.982565bd10630c6f6ccb8ec0eb714dd2f9c0e272.tupone@gentoo
1 commit: 982565bd10630c6f6ccb8ec0eb714dd2f9c0e272
2 Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
3 AuthorDate: Sun Apr 2 19:16:15 2017 +0000
4 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
5 CommitDate: Sun Apr 2 19:16:15 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=982565bd
7
8 dev-ada/gnat_util: Adding dev-ada/gnat-util-2016
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.1
11
12 dev-ada/gnat_util/Manifest | 1 +
13 .../gnat_util/files/gnat_util-2016-gentoo.patch | 100 +++++++++++++++++++++
14 dev-ada/gnat_util/gnat_util-2016.ebuild | 55 ++++++++++++
15 dev-ada/gnat_util/metadata.xml | 22 +++++
16 4 files changed, 178 insertions(+)
17
18 diff --git a/dev-ada/gnat_util/Manifest b/dev-ada/gnat_util/Manifest
19 new file mode 100644
20 index 00000000000..74f186b9a0a
21 --- /dev/null
22 +++ b/dev-ada/gnat_util/Manifest
23 @@ -0,0 +1 @@
24 +DIST gnat_util-gpl-2016-src.tar.gz 1126296 SHA256 8e76d7eb1cbae1d3040b9e4196ab07d6e0dd5d4eeb3f5e0fbeb267b1a3470af5 SHA512 1edb67e762637e9e951356c7be402d7b2b903a05abdc93eadaf5ba98bc7bfa936b4fa2a2ae7eb986200dec755020e53d312d42769512fba2e290099f6030bbd0 WHIRLPOOL c2218ba14f669aa2412be4e0a42b1ffb475c720e608e73bca3bbe42dcaefe2dc4410c4632e0e900a8c72ed92c3ec670bd35935783f43c1eb0eb2cdb7afc4f63e
25
26 diff --git a/dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch b/dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch
27 new file mode 100644
28 index 00000000000..7559894c6d0
29 --- /dev/null
30 +++ b/dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch
31 @@ -0,0 +1,100 @@
32 +--- gnat_util-gpl-2014-src/Makefile.old 2016-12-28 09:56:49.378950217 +0100
33 ++++ gnat_util-gpl-2014-src/Makefile 2016-12-28 09:57:12.301562519 +0100
34 +@@ -19,17 +19,26 @@
35 + MKDIR=mkdir -p
36 + SRC=gen_src
37 +
38 +-.PHONY: all
39 +-all: generate_sources
40 ++build-static:
41 + ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
42 +- -XLIBRARY_TYPE=static -Pgnat_util -p
43 ++ -XLIBRARY_TYPE=static -Pgnat_util -p \
44 ++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
45 +-ifeq ($(ENABLE_SHARED), yes)
46 ++build-shared:
47 + ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
48 +- -XLIBRARY_TYPE=relocatable -Pgnat_util -p
49 ++ -XLIBRARY_TYPE=relocatable -Pgnat_util -p \
50 ++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
51 +-endif
52 +-ifeq ($(ENABLE_PIC), yes)
53 ++build-static-pic:
54 + ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
55 +- -XLIBRARY_TYPE=static-pic -Pgnat_util -p
56 ++ -XLIBRARY_TYPE=static-pic -Pgnat_util -p \
57 ++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
58 ++.PHONY: all
59 ++all: generate_sources
60 ++ $(MAKE) build-static
61 ++ifeq ($(ENABLE_SHARED), yes)
62 ++ $(MAKE) build-shared
63 ++endif
64 ++ifeq ($(ENABLE_PIC), yes)
65 ++ $(MAKE) build-static-pic
66 + endif
67 +
68 + .PHONY: generate_sources
69 +@@ -48,7 +48,7 @@
70 + $(MKDIR) $(SRC)
71 + $(CP) xsnamest.adb xutil.* snames.adb-tmpl snames.ads-tmpl snames.h-tmpl $(SRC)
72 + (cd $(SRC) && \
73 +- gnatmake -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
74 ++ ${GNATMAKE} -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
75 + ./xsnamest && mv snames.ns snames.ads && mv snames.nb snames.adb)
76 + $(CP) sdefault_adb.gnat_util $(SRC)/sdefault.adb
77 +
78 +@@ -58,8 +58,7 @@
79 + --prefix=$(prefix) --project-subdir=lib/gnat gnat_util
80 + endif
81 +
82 +-.PHONY: install
83 +-install: install-clean
84 ++install-static:
85 + ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
86 + -XLIBRARY_TYPE=static \
87 + --prefix=$(prefix) \
88 +@@ -67,7 +66,7 @@
89 + --lib-subdir=lib/gnat_util/static \
90 + --project-subdir=lib/gnat \
91 + --build-var=LIBRARY_TYPE --build-name=static -Pgnat_util
92 +-ifeq ($(ENABLE_SHARED), yes)
93 ++install-shared:
94 + ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
95 + -XLIBRARY_TYPE=relocatable \
96 + --prefix=$(prefix) \
97 +@@ -75,8 +74,7 @@
98 + --lib-subdir=lib/gnat_util/relocatable \
99 + --project-subdir=lib/gnat \
100 + --build-var=LIBRARY_TYPE --build-name=relocatable -Pgnat_util
101 +-endif
102 +-ifeq ($(ENABLE_PIC), yes)
103 ++install-static-pic:
104 + ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
105 + -XLIBRARY_TYPE=static-pic \
106 + --prefix=$(prefix) \
107 +@@ -84,6 +82,14 @@
108 + --lib-subdir=lib/gnat_util/static-pic \
109 + --project-subdir=lib/gnat \
110 + --build-var=LIBRARY_TYPE --build-name=static-pic -Pgnat_util
111 ++.PHONY: install
112 ++install: install-clean
113 ++ $(MAKE) install-static
114 ++ifeq ($(ENABLE_SHARED), yes)
115 ++ $(MAKE) install-shared
116 ++endif
117 ++ifeq ($(ENABLE_PIC), yes)
118 ++ $(MAKE) install-static-pic
119 + endif
120 +
121 + .PHONY: clean
122 +--- gnat_util-gpl-2016-src/gnat_util.gpr.old 2017-02-09 22:15:27.153827164 +0100
123 ++++ gnat_util-gpl-2016-src/gnat_util.gpr 2017-02-09 22:15:38.307627480 +0100
124 +@@ -31,6 +31,7 @@
125 + for Default_Switches ("Ada") use ("-O0", "-gnato", "-g", "-gnata");
126 + for Default_Switches ("C") use ("-g");
127 + end case;
128 ++ for Driver ("C") use External ("CC", "gcc");
129 + end Compiler;
130 +
131 + package Builder is
132
133 diff --git a/dev-ada/gnat_util/gnat_util-2016.ebuild b/dev-ada/gnat_util/gnat_util-2016.ebuild
134 new file mode 100644
135 index 00000000000..0fab74a0ea2
136 --- /dev/null
137 +++ b/dev-ada/gnat_util/gnat_util-2016.ebuild
138 @@ -0,0 +1,55 @@
139 +# Copyright 1999-2017 Gentoo Foundation
140 +# Distributed under the terms of the GNU General Public License v2
141 +# $Id$
142 +
143 +EAPI=6
144 +
145 +inherit toolchain-funcs multiprocessing
146 +
147 +MYP=${PN}-gpl-${PV}
148 +
149 +DESCRIPTION="Provides access to GNAT compiler internals for AdaCore utilities"
150 +HOMEPAGE="http://libre.adacore.com"
151 +SRC_URI="http://mirrors.cdn.adacore.com/art/57399637c7a447658e0affa6 -> ${MYP}-src.tar.gz"
152 +
153 +LICENSE="GPL-3"
154 +SLOT="0"
155 +KEYWORDS="~amd64"
156 +IUSE="+shared static static-pic"
157 +
158 +RDEPEND="dev-lang/gnat-gpl"
159 +DEPEND="${RDEPEND}
160 + dev-ada/gprbuild"
161 +
162 +S="${WORKDIR}"/${MYP}-src
163 +
164 +PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
165 +
166 +pkg_setup() {
167 + GCC=${ADA:-$(tc-getCC)}
168 + GNATMAKE="${GCC/gcc/gnatmake}"
169 + if [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
170 + eerror "You need a gcc compiler that provides the Ada Compiler:"
171 + eerror "1) use gcc-config to select the right compiler or"
172 + eerror "2) set ADA=gcc-4.9.4 in make.conf"
173 + die "ada compiler not available"
174 + fi
175 +}
176 +
177 +src_compile() {
178 + emake GNATMAKE=${GNATMAKE} BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
179 + for kind in shared static static-pic; do
180 + if use ${kind}; then
181 + emake BUILDER="gprbuild -j$(makeopts_jobs)" build-${kind}
182 + fi
183 + done
184 +}
185 +
186 +src_install() {
187 + for kind in shared static static-pic; do
188 + if use ${kind}; then
189 + emake prefix="${D}"/usr install-${kind}
190 + fi
191 + done
192 + einstalldocs
193 +}
194
195 diff --git a/dev-ada/gnat_util/metadata.xml b/dev-ada/gnat_util/metadata.xml
196 new file mode 100644
197 index 00000000000..06e6729dec8
198 --- /dev/null
199 +++ b/dev-ada/gnat_util/metadata.xml
200 @@ -0,0 +1,22 @@
201 +<?xml version="1.0" encoding="UTF-8"?>
202 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
203 +<pkgmetadata>
204 + <maintainer type="person">
205 + <email>tupone@g.o</email>
206 + <name>Tupone Alfredo</name>
207 + </maintainer>
208 + <use>
209 + <flag name="shared">Build gnat_util shared library</flag>
210 + <flag name="static">Build gnat_util static library</flag>
211 + <flag name="static-pic">Build gnat_util static library with pic code</flag>
212 + </use>
213 + <longdescription lang="en">
214 + Gnat_Util is a library uniting a number of GNAT sources that are used by
215 + different tools. At the moment Gnat_Util provides GNAT sources needed by ASIS,
216 + GNATCOLL and Gprbuild. Its main purpose is allowing to simultaneously use
217 + tools like ASIS and GNATCOLL (and other ones based on GNAT sources, if they
218 + are to come), which would normally cause name conflicts between the same GNAT
219 + sources that they use. Building both of them using same set of sources that
220 + is Gnat_Util solves this problem.
221 + </longdescription>
222 +</pkgmetadata>