Initial commit

This commit is contained in:
Folkert Kevelam 2025-05-17 23:04:25 +02:00
commit d0339a3ec6
4 changed files with 229 additions and 0 deletions

View File

@ -0,0 +1,11 @@
--- Makefile 2024-04-04 19:55:18.161620100 +1100
+++ Makefile.new 2024-05-20 18:45:26.006166710 +1000
@@ -82,7 +82,7 @@
CLEANER=gprclean -q $(RBD)
GPRBUILD_BUILDER=$(BUILDER) $(GPRBUILD_GPR) \
- -XLIBRARY_TYPE=static -XXMLADA_BUILD=static
+ -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
LIBGPR_BUILDER=$(BUILDER) $(GPR_GPR) $(LIBGPR_OS)
LIBGPR_INSTALLER=$(LIB_INSTALLER) $(GPR_GPR) $(LIBGPR_OS) -XBUILD=${BUILD} \
--install-name=gpr \

View File

@ -0,0 +1,32 @@
From 9dc1dc5559ae72026c8d33fed1e74c9612782b44 Mon Sep 17 00:00:00 2001
From: Xiretza <xiretza@xiretza.xyz>
Date: Sat, 4 Dec 2021 19:47:58 +0100
Subject: [PATCH] compilers.xml: use gcc --version to get version number
instead of gcc -v
The output of gcc -v is dependent on locale can thus break the regex.
See also https://github.com/AdaCore/gprconfig_kb/issues/10
---
db/compilers.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/db/compilers.xml b/db/compilers.xml
index f8909d2..eee25a2 100644
--- a/db/compilers.xml
+++ b/db/compilers.xml
@@ -22,9 +22,9 @@
<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>
<version>
- <external>$EXEC -v</external>
+ <external>$EXEC --version</external>
<nogrep regexp="for GNAT Pro"></nogrep>
- <grep regexp="^gcc \S+ (\S+)" group="1"></grep>
+ <grep regexp="^gcc \(GCC\) (\S+)" group="1"></grep>
</version>
<languages>C</languages>
<target>
--
2.34.1

175
PKGBUILD Normal file
View File

@ -0,0 +1,175 @@
# Maintainer: Rod Kay <rodakay5 at gmail dot com>
# Contributor: Pierre-Marie de Rodat <pmderodat on #ada at irc.libera.chat>
# Contributor: Earnestly <zibeon AT googlemail.com>
pkgbase=gprbuild
pkgdesc="Builder for multi-language systems."
pkgname=(libgpr gprbuild gprtools gprname gprslave)
pkgver=25.0.0
pkgrel=1
epoch=1
arch=(i686 x86_64)
url=https://github.com/AdaCore/gprbuild/
license=(GPL3 custom)
depends=(gcc-ada xmlada)
makedepends=(gprbuild python-sphinx)
source=("gprbuild-${pkgver}::https://github.com/AdaCore/gprbuild/archive/refs/tags/v$pkgver.tar.gz"
"gprconfig_kb-${pkgver}::https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v$pkgver.tar.gz"
0001-Makefile-build-relocatable-instead-of-static-binary.patch
gpr.gpr-patch)
sha256sums=(d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121
96df34fab3c61790a7af8db2659a59ce9c8f767d712e9d999e50778bce259db1
b4a31b4f23c1a040eebad26aff6c771d04afe0b9d7da19c97ef9fde9bceed3db)
_gprbuild_src=gprbuild-$pkgver
_gprconfig_kb_src=gprconfig_kb-$pkgver
prepare()
{
cd $srcdir/$_gprbuild_src
patch -Np0 -i $srcdir/0001-Makefile-build-relocatable-instead-of-static-binary.patch
patch -Np0 -i $srcdir/gpr.gpr-patch # Rename 'libgpr.so' to 'libgpr-gnat.so' to prevent name clash with the 'grpc' package.
ln -sfT $srcdir/gprconfig_kb-$pkgver/db/ share/gprconfig
# GPRbuild hard-codes references to /usr/libexec, but ArchLinux packages
# must use /usr/lib instead.
#
sed -i 's/libexec/lib/g' \
doinstall gprbuild.gpr \
$srcdir/$_gprconfig_kb_src/db/compilers.xml \
$srcdir/$_gprconfig_kb_src/db/linker.xml \
$srcdir/$_gprconfig_kb_src/db/gnat.xml \
$srcdir/$_gprconfig_kb_src/db/aamp.xml
}
build()
{
cd $srcdir/$_gprbuild_src
export OS=UNIX
ADA_FLAGS="$CFLAGS"
ADA_FLAGS="${ADA_FLAGS//-Wformat}"
ADA_FLAGS="${ADA_FLAGS//-Werror=format-security}"
GPRBUILD_OPTIONS="-R -cargs $ADA_FLAGS -largs $LDFLAGS -gargs"
make BUILD=production setup
make GPRBUILD_OPTIONS="$GPRBUILD_OPTIONS" libgpr.build
make GPRBUILD_OPTIONS="$GPRBUILD_OPTIONS" build
cd doc
make html \
1> doc-make-1.log \
2> doc-make-2.log
}
_install_licenses()
{
cd $srcdir/$_gprbuild_src
# Install the license.
#
install -D -m644 \
COPYING3 \
$pkgdir/usr/share/licenses/$pkgname/COPYING3
# Install the custom license.
#
install -D -m644 \
COPYING.RUNTIME \
$pkgdir/usr/share/licenses/$pkgname/COPYING.RUNTIME
}
package_libgpr()
{
pkgdesc="Ada library to handle Gnat project files."
depends=(xmlada)
cd $srcdir/$_gprbuild_src
make prefix=$pkgdir/usr libgpr.install
_install_licenses
}
package_gprbuild()
{
depends=(libgpr)
conflicts=(gprbuild-bootstrap gprbuild-bootstrap-debug)
cd $srcdir/$_gprbuild_src
make prefix=$pkgdir/usr install
rm $pkgdir/usr/bin/gprclean
rm $pkgdir/usr/bin/gprconfig
rm $pkgdir/usr/bin/gprinstall
rm $pkgdir/usr/bin/gprls
rm $pkgdir/usr/bin/gprslave
rm $pkgdir/usr/bin/gprname
_install_licenses
# We don't need to distribute the installation script.
#
rm -f -- $pkgdir/usr/doinstall
# Install the knowledge base.
#
cp -fr $srcdir/$_gprconfig_kb_src/db \
$pkgdir/usr/share/gprconfig
}
package_gprtools()
{
conflicts=(gprbuild-bootstrap gprbuild-bootstrap-debug)
cd $srcdir/$_gprbuild_src
mkdir -p $pkgdir/usr/bin
cp exe/production/gprclean $pkgdir/usr/bin
cp exe/production/gprconfig $pkgdir/usr/bin
cp exe/production/gprinstall $pkgdir/usr/bin
cp exe/production/gprls $pkgdir/usr/bin
_install_licenses
}
package_gprname()
{
conflicts=(gprbuild-bootstrap gprbuild-bootstrap-debug)
cd $srcdir/$_gprbuild_src
mkdir -p $pkgdir/usr/bin
cp exe/production/gprname $pkgdir/usr/bin
_install_licenses
}
package_gprslave()
{
cd $srcdir/$_gprbuild_src
mkdir -p $pkgdir/usr/bin
cp exe/production/gprslave $pkgdir/usr/bin
_install_licenses
}

11
gpr.gpr-patch Normal file
View File

@ -0,0 +1,11 @@
--- gpr/gpr.gpr 2023-04-27 11:26:41.635112300 +1000
+++ gpr/gpr.gpr-new 2023-10-18 09:33:01.782042032 +1100
@@ -37,7 +37,7 @@
for Source_Dirs use ("src");
- for Library_Name use "gpr";
+ for Library_Name use "gpr-gnat";
for Object_Dir use "libobj/" & Bld & "/" & Gnat_Lib_Type;
for Library_Dir use "lib/" & Bld & "/" & Gnat_Lib_Type;