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/gprbuild/, dev-ada/gprbuild/files/
Date: Thu, 22 Jun 2017 20:02:20
Message-Id: 1498161722.e9989d791181545303167f7629934981ff99da4f.tupone@gentoo
1 commit: e9989d791181545303167f7629934981ff99da4f
2 Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 22 20:02:02 2017 +0000
4 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 22 20:02:02 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9989d79
7
8 dev-ada/gprbuild: Add build tool instruction to gprbuild-2016
9
10 Package-Manager: Portage-2.3.5, Repoman-2.3.1
11
12 dev-ada/gprbuild/files/gprbuild-2016.xml | 94 ++++++++++++++++++++++++++++++++
13 dev-ada/gprbuild/gprbuild-2016.ebuild | 11 +++-
14 2 files changed, 104 insertions(+), 1 deletion(-)
15
16 diff --git a/dev-ada/gprbuild/files/gprbuild-2016.xml b/dev-ada/gprbuild/files/gprbuild-2016.xml
17 new file mode 100644
18 index 00000000000..7d321e03b6a
19 --- /dev/null
20 +++ b/dev-ada/gprbuild/files/gprbuild-2016.xml
21 @@ -0,0 +1,94 @@
22 +<?xml version="1.0" ?>
23 +<gprconfig>
24 + <compiler_description>
25 + <name>GNAT-@VER@</name>
26 + <executable prefix="1">gnatmake-@VER@</executable>
27 + <version>
28 + <external>${PREFIX}gnatls-@VER@ -v --version</external>
29 + <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
30 + </version>
31 + <languages>Ada</languages>
32 + <variable name="gcc_version">
33 + <external>${PREFIX}gcc-@VER@ -v</external>
34 + <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
35 + </variable>
36 + <runtimes default="default,kernel,native">
37 + <directory group="default" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory>
38 + <directory group="default" contents="^rts-">\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory>
39 + <directory group="2" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory>
40 + <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
41 + </runtimes>
42 + <target>
43 + <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
44 + <grep regexp="[^\r\n]+"></grep>
45 + </target>
46 + </compiler_description>
47 +
48 + <configuration>
49 + <compilers>
50 + <compiler name="GNAT-@VER@" />
51 + </compilers>
52 + <config>
53 + package Naming is
54 + for Spec_Suffix ("Ada") use ".ads";
55 + for Body_Suffix ("Ada") use ".adb";
56 + for Casing use "lowercase";
57 + for Dot_Replacement use "-";
58 + end Naming;
59 +
60 + package Compiler is
61 + for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@";
62 + for Language_Kind ("Ada") use "unit_based";
63 + for Dependency_Kind ("Ada") use "ALI_File";
64 + for Leading_Required_Switches ("Ada") use
65 + ("-c", "-x", "ada", "-gnatA")
66 + &amp; Compiler'Leading_Required_Switches ("Ada");
67 + for Mapping_File_Switches ("Ada") use ("-gnatem=");
68 + for Mapping_Spec_Suffix ("Ada") use "%s";
69 + for Mapping_Body_Suffix ("Ada") use "%b";
70 + for Config_File_Switches ("Ada") use ("-gnatec=");
71 + for Include_Path_File ("Ada") use "ADA_PRJ_INCLUDE_FILE";
72 + for Multi_Unit_Switches ("Ada") use ("-gnateI");
73 + for Multi_Unit_Object_Separator ("Ada") use "~";
74 + for Config_Body_File_Name ("Ada") use
75 + "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"");";
76 + for Config_Spec_File_Name ("Ada") use
77 + "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"");";
78 + for Config_Body_File_Name_Index ("Ada") use
79 + "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"", Index => %i);";
80 + for Config_Spec_File_Name_Index ("Ada") use
81 + "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"", Index => %i);";
82 + for Config_Body_File_Name_Pattern ("Ada") use
83 + "pragma Source_File_Name_Project " &amp;
84 + " (Body_File_Name => ""*%b""," &amp;
85 + " Casing => %c," &amp;
86 + " Dot_Replacement => ""%d"");";
87 + for Config_Spec_File_Name_Pattern ("Ada") use
88 + "pragma Source_File_Name_Project " &amp;
89 + " (Spec_File_Name => ""*%s""," &amp;
90 + " Casing => %c," &amp;
91 + " Dot_Replacement => ""%d"");";
92 + for Config_File_Unique ("Ada") use "False";
93 + for PIC_Option ("Ada") use ("-fPIC");
94 + end Compiler;
95 +
96 + package Binder is
97 + for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE";
98 + for Driver ("Ada") use
99 + "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind";
100 + for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@");
101 + end Binder;
102 +
103 + package Clean is
104 + for Source_Artifact_Extensions ("Ada")
105 + use (".dg", ".rep", ".stdout", ".stderr");
106 + for Object_Artifact_Extensions ("Ada") use (".s", ".ci", ".gcno");
107 + end Clean;
108 +
109 + for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
110 + for Runtime_Library_Dir ("Ada") use "${RUNTIME_DIR(ada)}/adalib/";
111 + for Runtime_Source_Dirs ("Ada") use ("${RUNTIME_DIR(ada)}/adainclude/");
112 + for Library_Encapsulated_Supported use "true";
113 + </config>
114 + </configuration>
115 +</gprconfig>
116
117 diff --git a/dev-ada/gprbuild/gprbuild-2016.ebuild b/dev-ada/gprbuild/gprbuild-2016.ebuild
118 index a3691ac46ff..c880ef95b51 100644
119 --- a/dev-ada/gprbuild/gprbuild-2016.ebuild
120 +++ b/dev-ada/gprbuild/gprbuild-2016.ebuild
121 @@ -41,6 +41,13 @@ pkg_setup() {
122 fi
123 }
124
125 +src_prepare() {
126 + gnatbase=$(basename ${GCC})
127 + GCC_PV=${gnatbase#*gcc-}
128 + sed -e "s:@VER@:${GCC_PV}:g" "${FILESDIR}"/${P}.xml > gnat-${GCC_PV}.xml
129 + default
130 +}
131 +
132 src_configure() {
133 if ! use bootstrap ; then
134 default
135 @@ -78,9 +85,9 @@ src_compile() {
136 src_install() {
137 if use bootstrap; then
138 dobin ${bin_progs}
139 - insinto /usr/share/gprconfig
140 exeinto /usr/libexec/gprbuild
141 doexe ${lib_progs}
142 + insinto /usr/share/gprconfig
143 doins share/gprconfig/*.xml
144 insinto /usr/share/gpr
145 doins share/_default.gpr
146 @@ -95,5 +102,7 @@ src_install() {
147 mv "${D}"/usr/share/doc/${PN}/* "${D}"/usr/share/doc/${PF} || die
148 rmdir "${D}"/usr/share/doc/${PN} || die
149 fi
150 + insinto /usr/share/gprconfig
151 + doins gnat-${GCC_PV}.xml
152 einstalldocs
153 }