commit:     ae69ac67cfc989fcbba8838863c170167a213522
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 24 20:22:37 2022 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 20:26:21 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae69ac67

dev-ada/gprconfig_kb: new package, add 22.0.0

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-ada/gprconfig_kb/Manifest                      |   1 +
 .../files/gprconfig_kb-22.0.0-gentoo.patch         | 261 +++++++++++++++++++++
 dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild    |  42 ++++
 dev-ada/gprconfig_kb/metadata.xml                  |  20 ++
 4 files changed, 324 insertions(+)

diff --git a/dev-ada/gprconfig_kb/Manifest b/dev-ada/gprconfig_kb/Manifest
new file mode 100644
index 000000000000..638d372afab3
--- /dev/null
+++ b/dev-ada/gprconfig_kb/Manifest
@@ -0,0 +1 @@
+DIST gprconfig_kb-22.0.0.tar.gz 40598 BLAKE2B 
c0b18078ac3384de9bb503f78a1bb39a486b5ae899ad1ab135fa05da414eb6a55b5b7156bb4fc60a34c0d085b33af13ef2e0ec46840ad43ca63c387863ae6eac
 SHA512 
69f8490af56b0e07afbfef51c12cd6361a00327af774cd0deacf8260ccc4782e1e8465a074e8a025024570ce43ba1b4b3adfbde9ae4ea372e487d342da6994d4

diff --git a/dev-ada/gprconfig_kb/files/gprconfig_kb-22.0.0-gentoo.patch 
b/dev-ada/gprconfig_kb/files/gprconfig_kb-22.0.0-gentoo.patch
new file mode 100644
index 000000000000..7dfa8e0e9cd4
--- /dev/null
+++ b/dev-ada/gprconfig_kb/files/gprconfig_kb-22.0.0-gentoo.patch
@@ -0,0 +1,261 @@
+--- a/db/compilers.xml 2019-06-01 21:29:57.611722804 +0200
++++ b/db/compilers.xml 2019-06-01 21:42:56.000608601 +0200
+@@ -20,15 +20,15 @@
+   <!--    GCC 3.x & 4.x (not for GNAT Pro)-->
+   <compiler_description>
+     <name>GCC</name>
+-    <executable 
prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc</executable>
++    <executable 
prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@</executable>
+     <version>
+-      <external>${PREFIX}gcc -v</external>
++      <external>${PREFIX}gcc-@VER@ -v</external>
+       <nogrep regexp="for GNAT Pro"></nogrep>
+       <grep regexp="^gcc \S+ (\S+)" group="1"></grep>
+     </version>
+     <languages>C</languages>
+     <target>
+-      <external>${PREFIX}gcc -dumpmachine</external>
++      <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+       <grep regexp="[^\r\n]+"></grep>
+     </target>
+   </compiler_description>
+@@ -185,14 +185,14 @@
+    -->
+   <compiler_description>
+     <name>GNAT</name>
+-    <executable 
prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*|.*-rtems.*)?gnatls</executable>
++    <executable 
prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*|.*-rtems.*)?gnatls-@VER@</executable>
+     <version>
+-      <external>${PREFIX}gnatls -v --version</external>
++      <external>${PREFIX}gnatls-@VER@ -v --version</external>
+       <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+     </version>
+     <languages>Ada</languages>
+     <variable name="gcc_version">
+-      <external>${PREFIX}gcc -v</external>
++      <external>${PREFIX}gcc-@VER@ -v</external>
+       <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+     </variable>
+     <runtimes default="default,kernel,native">
+@@ -202,68 +202,11 @@
+        <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+     </runtimes>
+     <target>
+-      <external>${PREFIX}gcc -dumpmachine</external>
++      <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+       <grep regexp="[^\r\n]+"></grep>
+     </target>
+   </compiler_description>
+ 
+-  <!--  CodePeer -->
+-
+-  <compiler_description>
+-    <name>GNAT_CODEPEER</name>
+-    <executable prefix="1">(.*gnsa-|.*codepeer-)gnatls</executable>
+-    <version>
+-      <external>${PREFIX}gnatls -v</external>
+-      <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+-    </version>
+-    <languages>Ada,C,C++</languages>
+-    <variable name="gcc_version">
+-      <external>${PREFIX}gcc -v</external>
+-      <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+-    </variable>
+-    <runtimes default="default,native">
+-       <directory group="default" 
>\.\./lib/gcc/.*/$gcc_version/adalib/</directory>
+-       <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
+-       <directory group="1" 
>\.\./lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
+-    </runtimes>
+-    <target>codepeer</target>
+-  </compiler_description>
+-
+-  <!--  Generic GNAT LLVM Target -->
+-
+-  <compiler_description>
+-    <name>GNAT_LLVM</name>
+-    <executable prefix="1">(llvm-)gnatls</executable>
+-    <version>
+-      <external>${PREFIX}gnatls -v</external>
+-      <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+-    </version>
+-    <languages>Ada</languages>
+-    <variable name="gcc_version">
+-      <external>${PREFIX}gcc -v</external>
+-      <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+-    </variable>
+-    <runtimes default="default,native">
+-       <directory group="default" >\.\./lib/rts-native/adalib/</directory>
+-       <directory group="1" >\.\./lib/rts-(.*)/adalib/</directory>
+-    </runtimes>
+-    <target>llvm</target>
+-  </compiler_description>
+-
+-  <!--  Generic C compiler for LLVM  -->
+-  <compiler_description>
+-    <name>C_LLVM</name>
+-    <executable>clang</executable>
+-    <version>
+-      <external>clang --version</external>
+-
+-      <!--  '...clang version 6.0.0...'  -->
+-      <grep regexp="clang version (\S+)" group="1"></grep>
+-    </version>
+-    <languages>C</languages>
+-    <target>llvm</target>
+-  </compiler_description>
+-
+   <!--  Generic C++ compiler for LLVM  -->
+   <compiler_description>
+     <name>C++_LLVM</name>
+@@ -221,28 +221,6 @@
+     <target>llvm</target>
+   </compiler_description>
+ 
+-  <!--  C Target -->
+-
+-  <compiler_description>
+-    <name>GNAT_C</name>
+-    <executable prefix="1">(c-)gnatls</executable>
+-    <version>
+-      <external>${PREFIX}gnatls -v</external>
+-      <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+-    </version>
+-    <languages>Ada</languages>
+-    <variable name="gcc_version">
+-      <external>${PREFIX}gcc -v</external>
+-      <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+-    </variable>
+-    <runtimes default="default,ccg">
+-       <directory group="default" 
>\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/adalib/</directory>
+-       <directory group="1" 
>\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
+-       <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
+-    </runtimes>
+-    <target>c</target>
+-  </compiler_description>
+-
+   <!--  CCG Target (C generation via LLVM) -->
+ 
+   <compiler_description>
+@@ -286,23 +264,6 @@
+   </compiler_description>
+ 
+ 
+-  <!--  GNAT_DOTNET -->
+-
+-  <compiler_description>
+-    <name>GNAT_DOTNET</name>
+-    <executable prefix="1">(.*dotnet-)gnatls</executable>
+-    <version>
+-      <external>${PREFIX}gnatls -v</external>
+-      <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+-    </version>
+-    <languages>Ada</languages>
+-    <runtimes default="default,kernel">
+-       <directory group="default" >\.\./lib/dotgnat/adalib/</directory>
+-       <directory group="1" >\.\./lib/dotgnat/rts-(.*)/adalib/</directory>
+-    </runtimes>
+-    <target>dotnet</target>
+-  </compiler_description>
+-
+   <!--  JGNAT -->
+ 
+   <compiler_description>
+@@ -421,21 +326,6 @@
+     </target>
+   </compiler_description>
+ 
+-  <!-- LLVM Compiler -->
+-  <compiler_description>
+-    <name>LLVM</name>
+-    <executable>clang</executable>
+-    <version>
+-      <external>clang -v</external>
+-      <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+-    </version>
+-    <languages>C,C++</languages>
+-    <target>
+-      <external>clang -dumpmachine</external>
+-      <grep regexp="[^\r\n]+"></grep>
+-    </target>
+-  </compiler_description>
+-
+   <!--  Windres compiler -->
+   <compiler_description>
+     <name>WINDRES</name>
+--- a/db/gnat.xml      2019-06-01 21:53:53.383281607 +0200
++++ b/db/gnat.xml      2019-06-01 21:57:08.414196529 +0200
+@@ -60,7 +60,7 @@
+    &filter_gnat;
+    <config>
+    package Compiler is
+-      for Driver                   ("Ada") use 
"${PATH(ada)}${PREFIX(ada)}gcc";
++      for Driver                   ("Ada") use 
"${PATH(ada)}${PREFIX(ada)}gcc-@VER@";
+       for Language_Kind            ("Ada") use "unit_based";
+       for Dependency_Kind          ("Ada") use "ALI_File";
+       for Leading_Required_Switches        ("Ada") use
+@@ -77,6 +77,9 @@
+       for Objects_Path_File     ("Ada") use "ADA_PRJ_OBJECTS_FILE";
+       for Driver         ("Ada") use
+           "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind";
++      for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@");
++      for Required_Switches ("Ada") use
++        Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+    end Binder;
+ 
+    for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+--- a/db/c.xml 2019-06-01 21:57:36.244755708 +0200
++++ b/db/c.xml 2019-06-01 21:59:14.919191663 +0200
+@@ -14,7 +14,7 @@
+      </compilers>
+      <config>
+    package Compiler is
+-      for Driver              ("C") use "${PATH(c)}${PREFIX(c)}gcc";
++      for Driver              ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@";
+    end Compiler;
+      </config>
+    </configuration>
+--- a/db/linker.xml    2021-12-21 22:36:01.054738486 +0100
++++ b/db/linker.xml    2021-12-21 22:36:59.973738600 +0100
+@@ -128,9 +128,13 @@
+       <host name="^i686.*-linux.*$" />
+     </hosts>
+     <config>
+-   for Object_Lister use ("nm", "-g");
++   NM := External("NM", "nm");
++   for Object_Lister use (NM, "-g");
+    for Object_Lister_Matcher use " [TDRB] (.*)";
+ 
++   LDFLAGS := External_As_List ("LDFLAGS", " ");
++   for Leading_Library_Options use LDFLAGS;
++
+    package Linker is
+       for Export_File_Format use "GNU";
+       for Export_File_Switch use "-Wl,--version-script=";
+@@ -877,7 +877,8 @@
+       <host name="^x86_64-.*linux.*" />
+     </hosts>
+     <config>
+-   for Archive_Builder  use ("ar", "cr");
++   AR := External("AR", "ar");
++   for Archive_Builder  use (AR, "cr");
+    for Archive_Builder_Append_Option use ("q");
+    for Archive_Indexer  use ("ranlib");
+    for Archive_Suffix   use ".a";
+@@ -1211,7 +1211,7 @@
+     </targets>
+     <config>
+    for Library_Partial_Linker use
+-     ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib")
++     ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib")
+       &amp; GCC_No_Pie
+       &amp; ("-Wl,-r", "-o");
+     </config>
+@@ -1232,7 +1232,7 @@
+     </targets>
+     <config>
+    for Library_Partial_Linker use
+-     ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib")
++     ("${PATH(c)}${PREFIX(c)}gcc-@VER@", "-nostdlib")
+       &amp; GCC_No_Pie
+       &amp; ("-Wl,-r", "-o");
+     </config>

diff --git a/dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild 
b/dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild
new file mode 100644
index 000000000000..8dde8339ac1e
--- /dev/null
+++ b/dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_2021 gcc_12_2_0 )
+
+inherit ada
+
+DESCRIPTION="GPR configuration knowledge base"
+HOMEPAGE="https://www.adacore.com/";
+SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+       -> ${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="!=dev-ada/gprbuild-2021*"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+       default
+
+       sed -i \
+               -e "s:@VER@:${GCC_PV}:g" \
+               -e "s:\$gcc_version:${GCC_PV}:g" \
+               db/compilers.xml \
+               db/gnat.xml \
+               db/c.xml \
+               db/linker.xml \
+               || die
+}
+
+src_install() {
+       insinto /usr/share/gprconfig
+       doins db/*.xml
+       doins db/*.ent
+       einstalldocs
+}

diff --git a/dev-ada/gprconfig_kb/metadata.xml 
b/dev-ada/gprconfig_kb/metadata.xml
new file mode 100644
index 000000000000..a8dc92e88861
--- /dev/null
+++ b/dev-ada/gprconfig_kb/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>a...@gentoo.org</email>
+       </maintainer>
+       <longdescription lang="en">
+               GPRbuild is an advanced software tool designed to help automate 
the
+               construction of multi-language systems. It removes complexity 
from
+               multi-language development by allowing developers to quickly 
and easily
+               compile and link software written in a combination of languages
+               including Ada, Assembler, C, C++, and Fortran. Easily 
extendable by
+               users to cover new toolchains and languages it is primarily 
aimed at
+               projects of all sizes organized into subsystems and libraries 
and is
+               particularly well-suited for compiled languages.
+       </longdescription>
+       <upstream>
+               <remote-id type="github">adacore/gprconfig_kb</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to