* [PR PATCH] New package: gprbuild-25.0.0
@ 2024-12-21 1:55 Tevo45
2024-12-21 2:27 ` [PR REVIEW] " abenson
` (17 more replies)
0 siblings, 18 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-21 1:55 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1357 bytes --]
There is a new pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 9551 bytes --]
From 40f274f0697b8a32d3482061031afc70dac5e92c Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 1/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..34f38ddf75839d
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,34 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz
+ https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz>gprconfig_kb-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca
+ 802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+hostmakedepends="gcc-ada"
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --with-kb="../gprconfig_kb-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-kb="../gprconfig_kb-${version}" \
+ --prefix="$DESTDIR/usr" \
+ --install
+}
From b4500b580cf409e6ad1bac7cd3de06e753f30a37 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 2/4] New package: xmlada-25.0.0
---
common/shlibs | 5 +++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 32 +++++++++++++++++
srcpkgs/xmlada/template | 36 +++++++++++++++++++
4 files changed, 74 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index c732517b8d50ed..964bce100999f4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4545,3 +4545,8 @@ libflashrom.so.1 flashrom-1.4.0_1
libpyside6.so.6.7 libpyside6-6.7.2_1
libpyside6qml.so.6.7 libpyside6-6.7.2_1
libshiboken6.so.6.7 libshiboken6-6.7.2_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..4b74bee17a89fe
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..597c59bf996139
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-with-GCC-exception
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From b2b6956651e7ef947f55025c0ca637ad08f9b715 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 3/4] New package: gprconfig_kb-25.0.0
---
srcpkgs/gprconfig_kb/template | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..e4f9c3c7c2cf87
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From 3ab7cab8ac33130dcefed896d1af3f1bba4ff821 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
srcpkgs/gprbuild/template | 49 +++++++++++++++++++++++++++++++++++++++
srcpkgs/libgpr | 1 +
srcpkgs/libgpr-devel | 1 +
4 files changed, 52 insertions(+)
create mode 100644 srcpkgs/gprbuild/template
create mode 120000 srcpkgs/libgpr
create mode 120000 srcpkgs/libgpr-devel
diff --git a/common/shlibs b/common/shlibs
index 964bce100999f4..618f86175840b2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4550,3 +4550,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgpr.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..ea936afd10af3c
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,49 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+subpackages="libgpr libgpr-devel"
+
+make_build_target="all libgpr.build"
+make_install_target="install libgpr.install"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" setup
+}
+
+libgpr_package() {
+ license=GPL-3.0-with-GCC-exception
+ short_desc+=" - library"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/gpr/*/*/*.so*; do
+ vmove "$file"
+ done
+ }
+}
+
+libgpr-devel_package() {
+ license=GPL-3.0-with-GCC-exception
+ short_desc+=" - library - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ vmove "usr/lib/*.so"
+ vmove usr/lib/gpr
+ vmove usr/share/gpr
+ vmove usr/include
+ }
+}
diff --git a/srcpkgs/libgpr b/srcpkgs/libgpr
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
diff --git a/srcpkgs/libgpr-devel b/srcpkgs/libgpr-devel
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr-devel
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR REVIEW] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
@ 2024-12-21 2:27 ` abenson
2024-12-22 19:33 ` [PR PATCH] [Updated] " Tevo45
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2024-12-21 2:27 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 189 bytes --]
New review comment by abenson on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#discussion_r1894537181
Comment:
These are going to be `GPL-3.0-or-later`.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
2024-12-21 2:27 ` [PR REVIEW] " abenson
@ 2024-12-22 19:33 ` Tevo45
2024-12-22 19:37 ` [PR REVIEW] " Tevo45
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:33 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 9588 bytes --]
From c70f520f7284319a92b4cc9cf7d192efa8fc1eca Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 1/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..3133d64174e85c
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,34 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz
+ https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz>gprconfig_kb-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca
+ 802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+hostmakedepends="gcc-ada"
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --with-kb="../gprconfig_kb-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-kb="../gprconfig_kb-${version}" \
+ --prefix="$DESTDIR/usr" \
+ --install
+}
From 23b4e1649c83b2f8f4d7b1f17bf64420fdff783c Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 2/4] New package: xmlada-25.0.0
---
common/shlibs | 5 +++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 32 +++++++++++++++++
srcpkgs/xmlada/template | 36 +++++++++++++++++++
4 files changed, 74 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index c732517b8d50ed..964bce100999f4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4545,3 +4545,8 @@ libflashrom.so.1 flashrom-1.4.0_1
libpyside6.so.6.7 libpyside6-6.7.2_1
libpyside6qml.so.6.7 libpyside6-6.7.2_1
libshiboken6.so.6.7 libshiboken6-6.7.2_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..4b74bee17a89fe
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..613e0454d5caa2
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From dbb5e6ce3b97cc18a940b3b64fbb84dd5d0365df Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 3/4] New package: gprconfig_kb-25.0.0
---
srcpkgs/gprconfig_kb/template | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..9fa01eb70c27e1
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From 0610b198fe1393b9d20b5b97167b7d92b28cc4b3 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
srcpkgs/gprbuild/template | 49 +++++++++++++++++++++++++++++++++++++++
srcpkgs/libgpr | 1 +
srcpkgs/libgpr-devel | 1 +
4 files changed, 52 insertions(+)
create mode 100644 srcpkgs/gprbuild/template
create mode 120000 srcpkgs/libgpr
create mode 120000 srcpkgs/libgpr-devel
diff --git a/common/shlibs b/common/shlibs
index 964bce100999f4..039b82ee1cf888 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4550,3 +4550,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..103832270ce34a
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,49 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+subpackages="libgpr libgpr-devel"
+
+make_build_target="all libgpr.build"
+make_install_target="install libgpr.install"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" setup
+}
+
+libgpr_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/gpr/*/*/*.so*; do
+ vmove "$file"
+ done
+ }
+}
+
+libgpr-devel_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library - development files"
+ depends="libgpr>=${version}_${revision}"
+ pkg_install() {
+ vmove "usr/lib/*.so"
+ vmove usr/lib/gpr
+ vmove usr/share/gpr
+ vmove usr/include
+ }
+}
diff --git a/srcpkgs/libgpr b/srcpkgs/libgpr
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
diff --git a/srcpkgs/libgpr-devel b/srcpkgs/libgpr-devel
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr-devel
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR REVIEW] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
2024-12-21 2:27 ` [PR REVIEW] " abenson
2024-12-22 19:33 ` [PR PATCH] [Updated] " Tevo45
@ 2024-12-22 19:37 ` Tevo45
2024-12-22 19:44 ` Tevo45
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:37 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 401 bytes --]
New review comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#discussion_r1895035074
Comment:
Had seen the COPYING3 file in the repository roots, but didn't pay too much attention to the file headers. I've also changed the libgpr and xmlada licenses to use `WITH GCC-exception-3.1`, as per https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (2 preceding siblings ...)
2024-12-22 19:37 ` [PR REVIEW] " Tevo45
@ 2024-12-22 19:44 ` Tevo45
2024-12-22 19:44 ` Tevo45
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:44 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1602 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2558574058
Comment:
I hadn't noticed it before, since libgpr-devel was missing a dependency on libgpr, it seems I cannot install the built libgpr package due to "broken, unresolvable shlib"s on xmlada's libraries?
```sh
tenshi$ sudo xbps-install --repository hostdir/binpkgs/gprbuild libgpr
Password:
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_dom.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_input_sources.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_sax.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_schema.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_unicode.so.18.0w'
Transaction aborted due to unresolved shlibs.
```
I'm not exactly sure why; xmlada's shared objects are listed on `common/shlibs`, and the soname for those listed built libgpr.so seems to those match exactly:
```sh
tenshi$ readelf -d libgnatprj.so
Dynamic section at offset 0x63ad40 contains 35 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libxmlada_schema.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_dom.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_sax.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_input_sources.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_unicode.so.18.0w]
[...]
```
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (3 preceding siblings ...)
2024-12-22 19:44 ` Tevo45
@ 2024-12-22 19:44 ` Tevo45
2024-12-22 19:45 ` Tevo45
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:44 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1606 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2558574058
Comment:
I hadn't noticed it before, since libgpr-devel was missing a dependency on libgpr, but it seems I cannot install the built libgpr package due to "broken, unresolvable shlib"s on xmlada's libraries?
```sh
tenshi$ sudo xbps-install --repository hostdir/binpkgs/gprbuild libgpr
Password:
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_dom.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_input_sources.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_sax.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_schema.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_unicode.so.18.0w'
Transaction aborted due to unresolved shlibs.
```
I'm not exactly sure why; xmlada's shared objects are listed on `common/shlibs`, and the soname for those listed built libgpr.so seems to those match exactly:
```sh
tenshi$ readelf -d libgnatprj.so
Dynamic section at offset 0x63ad40 contains 35 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libxmlada_schema.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_dom.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_sax.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_input_sources.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_unicode.so.18.0w]
[...]
```
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (4 preceding siblings ...)
2024-12-22 19:44 ` Tevo45
@ 2024-12-22 19:45 ` Tevo45
2024-12-22 19:48 ` [PR PATCH] [Updated] " Tevo45
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:45 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1607 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2558574058
Comment:
I hadn't noticed it before, since libgpr-devel was missing a dependency on libgpr, but it seems I cannot install the built libgpr package due to "broken, unresolvable shlib"s on xmlada's libraries?
```sh
tenshi$ sudo xbps-install --repository hostdir/binpkgs/gprbuild libgpr
Password:
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_dom.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_input_sources.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_sax.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_schema.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_unicode.so.18.0w'
Transaction aborted due to unresolved shlibs.
```
I'm not exactly sure why; xmlada's shared objects are listed on `common/shlibs`, and the soname for those listed on the built libgpr.so seems to match exactly:
```sh
tenshi$ readelf -d libgnatprj.so
Dynamic section at offset 0x63ad40 contains 35 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libxmlada_schema.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_dom.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_sax.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_input_sources.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_unicode.so.18.0w]
[...]
```
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (5 preceding siblings ...)
2024-12-22 19:45 ` Tevo45
@ 2024-12-22 19:48 ` Tevo45
2024-12-22 19:56 ` Tevo45
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:48 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 9592 bytes --]
From c70f520f7284319a92b4cc9cf7d192efa8fc1eca Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 1/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..3133d64174e85c
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,34 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz
+ https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz>gprconfig_kb-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca
+ 802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+hostmakedepends="gcc-ada"
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --with-kb="../gprconfig_kb-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-kb="../gprconfig_kb-${version}" \
+ --prefix="$DESTDIR/usr" \
+ --install
+}
From 23b4e1649c83b2f8f4d7b1f17bf64420fdff783c Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 2/4] New package: xmlada-25.0.0
---
common/shlibs | 5 +++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 32 +++++++++++++++++
srcpkgs/xmlada/template | 36 +++++++++++++++++++
4 files changed, 74 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index c732517b8d50ed..964bce100999f4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4545,3 +4545,8 @@ libflashrom.so.1 flashrom-1.4.0_1
libpyside6.so.6.7 libpyside6-6.7.2_1
libpyside6qml.so.6.7 libpyside6-6.7.2_1
libshiboken6.so.6.7 libshiboken6-6.7.2_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..4b74bee17a89fe
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..613e0454d5caa2
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From dbb5e6ce3b97cc18a940b3b64fbb84dd5d0365df Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 3/4] New package: gprconfig_kb-25.0.0
---
srcpkgs/gprconfig_kb/template | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..9fa01eb70c27e1
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From 6137ca17fa83b08352d5b29bbd2b4c4cba195e9a Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
srcpkgs/gprbuild/template | 49 +++++++++++++++++++++++++++++++++++++++
srcpkgs/libgpr | 1 +
srcpkgs/libgpr-devel | 1 +
4 files changed, 52 insertions(+)
create mode 100644 srcpkgs/gprbuild/template
create mode 120000 srcpkgs/libgpr
create mode 120000 srcpkgs/libgpr-devel
diff --git a/common/shlibs b/common/shlibs
index 964bce100999f4..039b82ee1cf888 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4550,3 +4550,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..a8f6ec331d0cc5
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,49 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+subpackages="libgpr libgpr-devel"
+
+make_build_target="all libgpr.build"
+make_install_target="install libgpr.install"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" setup
+}
+
+libgpr_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library"
+ depends="xmlada ${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/gpr/*/*/*.so*; do
+ vmove "$file"
+ done
+ }
+}
+
+libgpr-devel_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library - development files"
+ depends="libgpr>=${version}_${revision}"
+ pkg_install() {
+ vmove "usr/lib/*.so"
+ vmove usr/lib/gpr
+ vmove usr/share/gpr
+ vmove usr/include
+ }
+}
diff --git a/srcpkgs/libgpr b/srcpkgs/libgpr
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
diff --git a/srcpkgs/libgpr-devel b/srcpkgs/libgpr-devel
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr-devel
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (6 preceding siblings ...)
2024-12-22 19:48 ` [PR PATCH] [Updated] " Tevo45
@ 2024-12-22 19:56 ` Tevo45
2024-12-22 20:00 ` [PR PATCH] [Updated] " Tevo45
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 19:56 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 360 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2558577575
Comment:
Following the example from [Fedora](https://src.fedoraproject.org/rpms/gprbuild/blob/rawhide/f/gprbuild-resolve-libgpr-conflict.patch), I've also renamed libgpr.so to libgnatprj.so, to avoid conflict with gRPC's libgpr.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (7 preceding siblings ...)
2024-12-22 19:56 ` Tevo45
@ 2024-12-22 20:00 ` Tevo45
2024-12-22 20:00 ` Tevo45
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 20:00 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 9585 bytes --]
From c70f520f7284319a92b4cc9cf7d192efa8fc1eca Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 1/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..3133d64174e85c
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,34 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz
+ https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz>gprconfig_kb-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca
+ 802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+hostmakedepends="gcc-ada"
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --with-kb="../gprconfig_kb-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-kb="../gprconfig_kb-${version}" \
+ --prefix="$DESTDIR/usr" \
+ --install
+}
From 23b4e1649c83b2f8f4d7b1f17bf64420fdff783c Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 2/4] New package: xmlada-25.0.0
---
common/shlibs | 5 +++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 32 +++++++++++++++++
srcpkgs/xmlada/template | 36 +++++++++++++++++++
4 files changed, 74 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index c732517b8d50ed..964bce100999f4 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4545,3 +4545,8 @@ libflashrom.so.1 flashrom-1.4.0_1
libpyside6.so.6.7 libpyside6-6.7.2_1
libpyside6qml.so.6.7 libpyside6-6.7.2_1
libshiboken6.so.6.7 libshiboken6-6.7.2_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..4b74bee17a89fe
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..613e0454d5caa2
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From dbb5e6ce3b97cc18a940b3b64fbb84dd5d0365df Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 3/4] New package: gprconfig_kb-25.0.0
---
srcpkgs/gprconfig_kb/template | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..9fa01eb70c27e1
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From 27f99ecd26aa3de28eb592a7b07dca9cf7025210 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
srcpkgs/gprbuild/template | 49 +++++++++++++++++++++++++++++++++++++++
srcpkgs/libgpr | 1 +
srcpkgs/libgpr-devel | 1 +
4 files changed, 52 insertions(+)
create mode 100644 srcpkgs/gprbuild/template
create mode 120000 srcpkgs/libgpr
create mode 120000 srcpkgs/libgpr-devel
diff --git a/common/shlibs b/common/shlibs
index 964bce100999f4..039b82ee1cf888 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4550,3 +4550,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..9b30226450a325
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,49 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+subpackages="libgpr libgpr-devel"
+
+make_build_target="all libgpr.build"
+make_install_target="install libgpr.install"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" setup
+}
+
+libgpr_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/gpr/*/*/*.so*; do
+ vmove "$file"
+ done
+ }
+}
+
+libgpr-devel_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library - development files"
+ depends="libgpr>=${version}_${revision}"
+ pkg_install() {
+ vmove "usr/lib/*.so"
+ vmove usr/lib/gpr
+ vmove usr/share/gpr
+ vmove usr/include
+ }
+}
diff --git a/srcpkgs/libgpr b/srcpkgs/libgpr
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
diff --git a/srcpkgs/libgpr-devel b/srcpkgs/libgpr-devel
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr-devel
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (8 preceding siblings ...)
2024-12-22 20:00 ` [PR PATCH] [Updated] " Tevo45
@ 2024-12-22 20:00 ` Tevo45
2025-01-12 3:12 ` Tevo45
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2024-12-22 20:00 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1813 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2558574058
Comment:
I hadn't noticed it before, since libgpr-devel was missing a dependency on libgpr, but it seems I cannot install the built libgpr package due to "broken, unresolvable shlib"s on xmlada's libraries?
```sh
tenshi$ sudo xbps-install --repository hostdir/binpkgs/gprbuild libgpr
Password:
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_dom.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_input_sources.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_sax.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_schema.so.18.0w'
libgpr-25.0.0_1: broken, unresolvable shlib `libxmlada_unicode.so.18.0w'
Transaction aborted due to unresolved shlibs.
```
I'm not exactly sure why; xmlada's shared objects are listed on `common/shlibs`, and the soname for those listed on the built libgpr.so seems to match exactly:
```sh
tenshi$ readelf -d libgnatprj.so
Dynamic section at offset 0x63ad40 contains 35 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libxmlada_schema.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_dom.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_sax.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_input_sources.so.18.0w]
0x0000000000000001 (NEEDED) Shared library: [libxmlada_unicode.so.18.0w]
[...]
```
I've tried adding xmlada to libgpr's depends, and adding xmlada's libraries' full path to `common/shlibs` (i.e. /usr/lib/xmlada/xmlada_schema.relocatable/libxmlada_schema.so.18.0w, etc) without much luck.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (9 preceding siblings ...)
2024-12-22 20:00 ` Tevo45
@ 2025-01-12 3:12 ` Tevo45
2025-01-12 3:14 ` [PR PATCH] [Updated] " Tevo45
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-01-12 3:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 384 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2585558951
Comment:
I haven't made any effort to investigate the installation failure for libgpr, but gprbuild itself has been working fine for me. I figure if nobody minds we could just drop libgpr for the time being, and revisit it once somebody feels the need.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (10 preceding siblings ...)
2025-01-12 3:12 ` Tevo45
@ 2025-01-12 3:14 ` Tevo45
2025-01-12 21:59 ` abenson
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-01-12 3:14 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 9591 bytes --]
From 793051719e3e31e63bc8d863d1b90e51f942e67d Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 1/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 34 +++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..3133d64174e85c
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,34 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz
+ https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz>gprconfig_kb-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca
+ 802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+hostmakedepends="gcc-ada"
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --with-kb="../gprconfig_kb-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-kb="../gprconfig_kb-${version}" \
+ --prefix="$DESTDIR/usr" \
+ --install
+}
From 99f537ac9b090c6accaa85ec5750e92a47aa48b1 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 2/4] New package: xmlada-25.0.0
---
common/shlibs | 5 +++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 32 +++++++++++++++++
srcpkgs/xmlada/template | 36 +++++++++++++++++++
4 files changed, 74 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index e0bba1a4f23171..37f46190a50146 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4550,3 +4550,8 @@ libshiboken6.so.6.7 libshiboken6-6.7.2_1
libopencore-amrnb.so.0 opencore-amr-0.1.6_1
libopencore-amrwb.so.0 opencore-amr-0.1.6_1
libilbc.so.3 libilbc-3.0.4_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..4b74bee17a89fe
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..613e0454d5caa2
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From edd548c1d4f53ce84946be74cd74f58f4eae9c66 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 3/4] New package: gprconfig_kb-25.0.0
---
srcpkgs/gprconfig_kb/template | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..9fa01eb70c27e1
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From 04720e590b8182d62043e2050878db044183e37d Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
srcpkgs/gprbuild/template | 49 +++++++++++++++++++++++++++++++++++++++
srcpkgs/libgpr | 1 +
srcpkgs/libgpr-devel | 1 +
4 files changed, 52 insertions(+)
create mode 100644 srcpkgs/gprbuild/template
create mode 120000 srcpkgs/libgpr
create mode 120000 srcpkgs/libgpr-devel
diff --git a/common/shlibs b/common/shlibs
index 37f46190a50146..ab0e4ae4418efb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4555,3 +4555,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..9b30226450a325
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,49 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <estevan.cps@gmail.com>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+subpackages="libgpr libgpr-devel"
+
+make_build_target="all libgpr.build"
+make_install_target="install libgpr.install"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" setup
+}
+
+libgpr_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/gpr/*/*/*.so*; do
+ vmove "$file"
+ done
+ }
+}
+
+libgpr-devel_package() {
+ license+=" WITH GCC-exception-3.1"
+ short_desc+=" - library - development files"
+ depends="libgpr>=${version}_${revision}"
+ pkg_install() {
+ vmove "usr/lib/*.so"
+ vmove usr/lib/gpr
+ vmove usr/share/gpr
+ vmove usr/include
+ }
+}
diff --git a/srcpkgs/libgpr b/srcpkgs/libgpr
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
diff --git a/srcpkgs/libgpr-devel b/srcpkgs/libgpr-devel
new file mode 120000
index 00000000000000..5cd80f8ab7fe46
--- /dev/null
+++ b/srcpkgs/libgpr-devel
@@ -0,0 +1 @@
+gprbuild
\ No newline at end of file
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (11 preceding siblings ...)
2025-01-12 3:14 ` [PR PATCH] [Updated] " Tevo45
@ 2025-01-12 21:59 ` abenson
2025-03-30 18:43 ` [PR PATCH] [Updated] " Tevo45
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2025-01-12 21:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 191 bytes --]
New comment by abenson on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2585932594
Comment:
It's still using the host `gcc` for cross-builds.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (12 preceding siblings ...)
2025-01-12 21:59 ` abenson
@ 2025-03-30 18:43 ` Tevo45
2025-03-30 19:05 ` Tevo45
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-03-30 18:43 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 28870 bytes --]
From 68c7a543162c731d14fb974f745b1ff440c54d9f Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 1/4] New package: gprconfig_kb-25.0.0
---
.../add-arm-v7l-and-musl-targets.patch | 366 ++++++++++++++++++
srcpkgs/gprconfig_kb/template | 16 +
2 files changed, 382 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch b/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
new file mode 100644
index 00000000000000..ca1601c5e7fa05
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
@@ -0,0 +1,366 @@
+From b7dc6bc873aaf8809b511b2110286e5978a888ce Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sun, 30 Mar 2025 17:17:52 +0000
+Subject: [PATCH] Add aarch64-linux-musl, arm(v7l)?-linux-(gnu|musl)eabi(hf)?
+
+---
+ db/compilers.xml | 24 +++----
+ db/cross.xml | 4 +-
+ db/linker.xml | 161 +++++++++++++++++++++++++++++++++++++++++++++--
+ 3 files changed, 169 insertions(+), 20 deletions(-)
+
+diff --git a/db/compilers.xml b/db/compilers.xml
+index 185ca031..59e8e407 100644
+--- a/db/compilers.xml
++++ b/db/compilers.xml
+@@ -20,7 +20,7 @@
+ <!-- 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.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-freebsd.*)?gcc(-\d+)?</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-freebsd.*)?gcc(-\d+)?</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+@@ -36,7 +36,7 @@
+ <!-- GCC for GNAT Pro 3.x & 4.x -->
+ <compiler_description>
+ <name>GCC_Pro</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
+ <version>
+ <external>${PREFIX}gcc -v</external>
+
+@@ -121,7 +121,7 @@
+ <!-- G++ compilers for GNAT Pro -->
+ <compiler_description>
+ <name>G++_Pro</name>
+- <executable prefix="1">(.*-elf-.*|.*-eabi-.*|.*-wrs-.*|.*-fastos.*|.*-freebsd.*|.*-linux-gnu.*-|.*-linux-android.*|.*-rtems.*)?g\+\+</executable>
++ <executable prefix="1">(.*-elf-.*|.*-eabi-.*|.*-wrs-.*|.*-fastos.*|.*-freebsd.*|.*-linux-(gnu|musl).*-|.*-linux-android.*|.*-rtems.*)?g\+\+</executable>
+ <version>
+ <external>${PREFIX}g++ -v</external>
+
+@@ -138,7 +138,7 @@
+ <!-- Assembler (not for GNAT Pro) -->
+ <compiler_description>
+ <name>GCC-ASM</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc(-\d+)?</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc(-\d+)?</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+@@ -154,7 +154,7 @@
+ <!-- Assembler (for GNAT Pro) -->
+ <compiler_description>
+ <name>GCC-ASM_Pro</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-.*fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-.*fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
+ <version>
+ <external>${PREFIX}gcc -v</external>
+ <grep regexp="^gcc \S+ (\S+) \d+ (\(prerelease\) )?\(?for GNAT Pro" group="1"></grep>
+@@ -169,7 +169,7 @@
+ <!-- Binary image -->
+ <compiler_description>
+ <name>LD</name>
+- <executable prefix="1">(.*-wrs.*-|.*-sysgo.*-|.*-elf.*-|.*-eabi.*-|.*-eabispe.*-|avr.*-|.*-elinos-linux.*-|.*-linux-gnu-|.*mingw32.*-|.*-xcoff.*-|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*-|.*-rtems.*-)?ld</executable>
++ <executable prefix="1">(.*-wrs.*-|.*-sysgo.*-|.*-elf.*-|.*-eabi.*-|.*-eabispe.*-|avr.*-|.*-elinos-linux.*-|.*-linux-(gnu|musl)-|.*mingw32.*-|.*-xcoff.*-|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*-|.*-rtems.*-)?ld</executable>
+ <version>
+ <external>${PREFIX}ld -v</external>
+ <grep regexp="^(GNU ld.*|LLD) (\S+)" group="2"></grep>
+@@ -189,7 +189,7 @@
+ -->
+ <compiler_description>
+ <name>GNAT</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gnatls</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gnatls</executable>
+ <version>
+ <external>${PREFIX}gnatls -v --version</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+@@ -262,7 +262,7 @@
+
+ <compiler_description>
+ <name>GNAT_LLVM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?llvm-)gnatls</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?llvm-)gnatls</executable>
+ <version>
+ <external>${PREFIX}gnatls -v</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+@@ -287,7 +287,7 @@
+
+ <compiler_description>
+ <name>GNAT_LLVM_ASM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?llvm-)gcc</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?llvm-)gcc</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp="^llvm-.*gcc.+GNAT Pro (\S+)" group="1"></grep>
+@@ -532,7 +532,7 @@
+ <!-- Clang C compiler -->
+ <compiler_description>
+ <name>CLANG-C</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+@@ -547,7 +547,7 @@
+ <!-- Clang++ C++ compiler -->
+ <compiler_description>
+ <name>CLANG-C++</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang\+\+</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang\+\+</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+@@ -562,7 +562,7 @@
+ <!-- Clang assembler -->
+ <compiler_description>
+ <name>CLANG-ASM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+diff --git a/db/cross.xml b/db/cross.xml
+index 1c7a5d41..d4165d2a 100644
+--- a/db/cross.xml
++++ b/db/cross.xml
+@@ -44,8 +44,8 @@
+ <target name="^.*-qnx[0-9]*$" />
+ <target name="^.*-rtems.*$" />
+ <target name="^arm-linux-androideabi" />
+- <target name="^arm-linux-gnueabi" />
+- <target name="^arm-linux-gnueabihf" />
++ <target name="^arm.*-linux-(gnu|musl)eabi" />
++ <target name="^arm.*-linux-(gnu|musl)eabihf" />
+ <target name="^aarch64-linux-android" />
+ <target name="^aarch64-.*linux-gnu" />
+ <target name="^e500v2-gnu-linux" />
+diff --git a/db/linker.xml b/db/linker.xml
+index c83f3051..acb27a11 100644
+--- a/db/linker.xml
++++ b/db/linker.xml
+@@ -162,10 +162,10 @@
+ <configuration>
+ <!-- aarch64-linux - native compiler. -->
+ <targets>
+- <target name="^aarch64-linux-gnu$" />
++ <target name="^aarch64-linux-(gnu|musl)$" />
+ </targets>
+ <hosts>
+- <host name="^aarch64-linux-gnu$" />
++ <host name="^aarch64-linux-(gnu|musl)$" />
+ </hosts>
+ <config>
+ for Object_Lister use ("nm", "-g");
+@@ -179,7 +179,7 @@
+ </configuration>
+
+ <configuration>
+- <!-- aarch64-linux - cross compiler. -->
++ <!-- aarch64-linux-gnu - cross compiler. -->
+ <targets>
+ <target name="^aarch64-.*linux-gnu$" />
+ </targets>
+@@ -197,6 +197,25 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <!-- aarch64-linux-musl - cross compiler. -->
++ <targets>
++ <target name="^aarch64-.*linux-musl$" />
++ </targets>
++ <hosts negate="true">
++ <host name="^aarch64-linux-musl$" />
++ </hosts>
++ <config>
++ for Object_Lister use ("${PREFIX(C)}nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^arm-linux-gnueabi$" />
+@@ -227,6 +246,96 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-gnueabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-gnueabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^arm-linux-musleabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("arm-linux-musleabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^arm-linux-musleabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("arm-linux-musleabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-musleabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-musleabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-musleabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-musleabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^powerpc-.*linux.*$" />
+@@ -676,6 +785,30 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabi$" />
++ </targets>
++ <config>
++ for Archive_Builder use ("armv7l-linux-gnueabi-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("armv7l-linux-gnueabi-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabihf$" />
++ </targets>
++ <config>
++ for Archive_Builder use ("armv7l-linux-gnueabihf-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("armv7l-linux-gnueabihf-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
+ <configuration>
+ <!-- aarch64-android - cross compiler. -->
+ <targets>
+@@ -692,10 +825,10 @@
+ <configuration>
+ <!-- aarch64-linux - native compiler. -->
+ <targets>
+- <target name="^aarch64-linux-gnu$" />
++ <target name="^aarch64-linux-(gnu|musl)$" />
+ </targets>
+ <hosts>
+- <host name="^aarch64-linux-gnu$" />
++ <host name="^aarch64-linux-(gnu|musl)$" />
+ </hosts>
+ <config>
+ for Archive_Builder use ("ar", "cr");
+@@ -706,7 +839,7 @@
+ </configuration>
+
+ <configuration>
+- <!-- aarch64-linux - cross compiler. -->
++ <!-- aarch64-linux-gnu - cross compiler. -->
+ <targets>
+ <target name="^aarch64-.*linux-gnu$" />
+ </targets>
+@@ -721,6 +854,22 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <!-- aarch64-linux-musl - cross compiler. -->
++ <targets>
++ <target name="^aarch64-.*linux-musl$" />
++ </targets>
++ <hosts negate="true">
++ <host name="^aarch64-linux-musl$" />
++ </hosts>
++ <config>
++ for Archive_Builder use ("aarch64-linux-musl-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("aarch64-linux-musl-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^aarch64-thales-fastos$" />
+--
+2.48.1
+
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..c8e1ed701ccbe2
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From f0bc19cb8ad9eb97dba04d6c24bb48e2a451a5f7 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 2/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 42 +++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..10d5985ec3c354
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,42 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+nocross="This is only used by the bootstrap process to build the real gprbuild - it doesn't make much sense to cross-compile."
+
+hostmakedepends="gprconfig_kb gcc-ada"
+depends="gprconfig_kb"
+
+do_configure() {
+ # kludge to get the bootstrap to use our packaged gprconfig
+ # knowledge base - it expects the kb to be under db/, as on the
+ # source package
+ mkdir -p gprconfig_kb
+ ln -sf /usr/share/gprconfig gprconfig_kb/db
+}
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --prefix="$DESTDIR/usr" \
+ --install
+ rm -rf "$DESTDIR/usr/share/gprconfig"
+}
From b17bc833ee47563768a183234e0a29dfc0871239 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 3/4] New package: xmlada-25.0.0
---
common/shlibs | 5 ++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 59 +++++++++++++++++++
.../install-cross-under-native-prefix.patch | 26 ++++++++
srcpkgs/xmlada/template | 36 +++++++++++
5 files changed, 127 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index 0bd2d1fb7e4696..c99c9d1148a5d2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4542,3 +4542,8 @@ libmaliit-plugins.so.2 maliit-keyboard-2.3.1_1
libSDL3.so.0 SDL3-3.2.2_1
libiconv.so.2 libiconv-1.18_1
libcharset.so.1 libiconv-1.18_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..ed43b0051f9e12
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,59 @@
+From a8be28e067456dc2c700719d09ab08e20fccc0ea Mon Sep 17 00:00:00 2001
+From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
+Date: Fri, 20 Dec 2024 00:05:37 +0000
+Subject: [PATCH] Fix Autoconf cross-compilation flag confusion
+
+Previously, we used the --host and --target arguments of the configure
+script to mean the build machine and the machine the package will run
+on, mirroring GPRBuild's own usage of the terminology. By convention,
+however, autoconf scripts usually take --build to mean the build
+machine, --host to mean the machine the package will run on and
+--target to mean the target of the toolchain being configured (if
+relevant). Our non-standard usage tends to cause problems with some
+distribution's packaging machinery (such as Void Linux's, or RHEL's),
+which often follow autoconf's conventions instead.
+
+When in Rome, do as the Romans do; hopefully this won't confuse
+GPRBuild users (too much)!
+
+Fixes #15
+---
+ Makefile.in | 6 +++---
+ aclocal.m4 | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
+--
+2.48.1
+
diff --git a/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch b/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
new file mode 100644
index 00000000000000..41bb0c0e47fedf
--- /dev/null
+++ b/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
@@ -0,0 +1,26 @@
+From f239d0499875a5dcadc2f9ea4586c4d933bbbcf1 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sat, 29 Mar 2025 22:19:53 +0000
+Subject: [PATCH] Do not install cross-compiled built artifacts under a
+ separate tree
+
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 880262b..521e04f 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -40,7 +40,7 @@ ifeq (${HOST},${TARGET})
+ IPREFIX=${DESTDIR}${prefix}
+ else
+ GPROPTS+=--target=${TARGET_ALIAS}
+-IPREFIX=${DESTDIR}${prefix}/${TARGET_ALIAS}
++IPREFIX=${DESTDIR}${prefix}
+ endif
+
+ ifdef RTS
+--
+2.48.1
+
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..f678c6cb3cd7dc
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From 0cb57b8933ac2fa0e1cad3760c6542f7e921dd01 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
.../do-not-clear-gprbuild_options.patch | 25 +++++++++++++++++++
.../patches/resolve-libgpr-conflict.patch | 25 +++++++++++++++++++
srcpkgs/gprbuild/template | 24 ++++++++++++++++++
4 files changed, 75 insertions(+)
create mode 100644 srcpkgs/gprbuild/patches/do-not-clear-gprbuild_options.patch
create mode 100644 srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
create mode 100644 srcpkgs/gprbuild/template
diff --git a/common/shlibs b/common/shlibs
index c99c9d1148a5d2..ad4ac4c42ac9bb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4547,3 +4547,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/patches/do-not-clear-gprbuild_options.patch b/srcpkgs/gprbuild/patches/do-not-clear-gprbuild_options.patch
new file mode 100644
index 00000000000000..a29c686db1805e
--- /dev/null
+++ b/srcpkgs/gprbuild/patches/do-not-clear-gprbuild_options.patch
@@ -0,0 +1,25 @@
+From 28fef2080e8b9f9b0c52b486b5f059aafbc8efb0 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sat, 29 Mar 2025 23:19:47 +0000
+Subject: [PATCH] Do not clear GPRBUILD_OPTIONS if it has been set
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index aa5a175c..e8993e07 100644
+--- a/Makefile
++++ b/Makefile
+@@ -75,7 +75,7 @@ endif
+ LIBGPR_OS = $(if $(findstring linux,$(TARGET)),-XOS=UNIX)
+
+ # Used to pass extra options to GPRBUILD, like -d for instance
+-GPRBUILD_OPTIONS=
++GPRBUILD_OPTIONS:=
+
+ BUILDER=gprbuild -p -m $(GTARGET) $(RBD) -j${PROCESSORS} -XBUILD=${BUILD} ${GPRBUILD_OPTIONS}
+ LIB_INSTALLER=gprinstall -p -f --target=$(TARGET) $(RBD) "--prefix=${prefix}"
+--
+2.48.1
+
diff --git a/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch b/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
new file mode 100644
index 00000000000000..fbc3ecea39e302
--- /dev/null
+++ b/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
@@ -0,0 +1,25 @@
+From 52238495d997432ecf6bd811977f9165ad3fb765 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sun, 30 Mar 2025 03:52:52 +0000
+Subject: [PATCH] Resolve .so conflict with gRPC
+
+---
+ gpr/gpr.gpr | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gpr/gpr.gpr b/gpr/gpr.gpr
+index da6b0a08..67122de7 100644
+--- a/gpr/gpr.gpr
++++ b/gpr/gpr.gpr
+@@ -38,7 +38,7 @@ library project GPR is
+
+ for Source_Dirs use ("src");
+
+- for Library_Name use "gpr";
++ for Library_Name use "gnatprj";
+ for Object_Dir use "libobj/" & Bld & "/" & Gnat_Lib_Type;
+ for Library_Dir use "lib/" & Bld & "/" & Gnat_Lib_Type;
+
+--
+2.48.1
+
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..d124967ef35a37
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,24 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+make_build_target="all"
+make_install_target="install"
+
+export GPR_PROJECT_PATH="$XBPS_CROSS_BASE/usr/share/gpr"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" TARGET="$($CC -dumpmachine)" setup
+}
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (13 preceding siblings ...)
2025-03-30 18:43 ` [PR PATCH] [Updated] " Tevo45
@ 2025-03-30 19:05 ` Tevo45
2025-03-30 19:06 ` Tevo45
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-03-30 19:05 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 27642 bytes --]
From 68c7a543162c731d14fb974f745b1ff440c54d9f Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 1/4] New package: gprconfig_kb-25.0.0
---
.../add-arm-v7l-and-musl-targets.patch | 366 ++++++++++++++++++
srcpkgs/gprconfig_kb/template | 16 +
2 files changed, 382 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch b/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
new file mode 100644
index 00000000000000..ca1601c5e7fa05
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
@@ -0,0 +1,366 @@
+From b7dc6bc873aaf8809b511b2110286e5978a888ce Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sun, 30 Mar 2025 17:17:52 +0000
+Subject: [PATCH] Add aarch64-linux-musl, arm(v7l)?-linux-(gnu|musl)eabi(hf)?
+
+---
+ db/compilers.xml | 24 +++----
+ db/cross.xml | 4 +-
+ db/linker.xml | 161 +++++++++++++++++++++++++++++++++++++++++++++--
+ 3 files changed, 169 insertions(+), 20 deletions(-)
+
+diff --git a/db/compilers.xml b/db/compilers.xml
+index 185ca031..59e8e407 100644
+--- a/db/compilers.xml
++++ b/db/compilers.xml
+@@ -20,7 +20,7 @@
+ <!-- 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.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-freebsd.*)?gcc(-\d+)?</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-freebsd.*)?gcc(-\d+)?</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+@@ -36,7 +36,7 @@
+ <!-- GCC for GNAT Pro 3.x & 4.x -->
+ <compiler_description>
+ <name>GCC_Pro</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
+ <version>
+ <external>${PREFIX}gcc -v</external>
+
+@@ -121,7 +121,7 @@
+ <!-- G++ compilers for GNAT Pro -->
+ <compiler_description>
+ <name>G++_Pro</name>
+- <executable prefix="1">(.*-elf-.*|.*-eabi-.*|.*-wrs-.*|.*-fastos.*|.*-freebsd.*|.*-linux-gnu.*-|.*-linux-android.*|.*-rtems.*)?g\+\+</executable>
++ <executable prefix="1">(.*-elf-.*|.*-eabi-.*|.*-wrs-.*|.*-fastos.*|.*-freebsd.*|.*-linux-(gnu|musl).*-|.*-linux-android.*|.*-rtems.*)?g\+\+</executable>
+ <version>
+ <external>${PREFIX}g++ -v</external>
+
+@@ -138,7 +138,7 @@
+ <!-- Assembler (not for GNAT Pro) -->
+ <compiler_description>
+ <name>GCC-ASM</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc(-\d+)?</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc(-\d+)?</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+@@ -154,7 +154,7 @@
+ <!-- Assembler (for GNAT Pro) -->
+ <compiler_description>
+ <name>GCC-ASM_Pro</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-.*fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-.*fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
+ <version>
+ <external>${PREFIX}gcc -v</external>
+ <grep regexp="^gcc \S+ (\S+) \d+ (\(prerelease\) )?\(?for GNAT Pro" group="1"></grep>
+@@ -169,7 +169,7 @@
+ <!-- Binary image -->
+ <compiler_description>
+ <name>LD</name>
+- <executable prefix="1">(.*-wrs.*-|.*-sysgo.*-|.*-elf.*-|.*-eabi.*-|.*-eabispe.*-|avr.*-|.*-elinos-linux.*-|.*-linux-gnu-|.*mingw32.*-|.*-xcoff.*-|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*-|.*-rtems.*-)?ld</executable>
++ <executable prefix="1">(.*-wrs.*-|.*-sysgo.*-|.*-elf.*-|.*-eabi.*-|.*-eabispe.*-|avr.*-|.*-elinos-linux.*-|.*-linux-(gnu|musl)-|.*mingw32.*-|.*-xcoff.*-|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*-|.*-rtems.*-)?ld</executable>
+ <version>
+ <external>${PREFIX}ld -v</external>
+ <grep regexp="^(GNU ld.*|LLD) (\S+)" group="2"></grep>
+@@ -189,7 +189,7 @@
+ -->
+ <compiler_description>
+ <name>GNAT</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gnatls</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gnatls</executable>
+ <version>
+ <external>${PREFIX}gnatls -v --version</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+@@ -262,7 +262,7 @@
+
+ <compiler_description>
+ <name>GNAT_LLVM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?llvm-)gnatls</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?llvm-)gnatls</executable>
+ <version>
+ <external>${PREFIX}gnatls -v</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+@@ -287,7 +287,7 @@
+
+ <compiler_description>
+ <name>GNAT_LLVM_ASM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?llvm-)gcc</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?llvm-)gcc</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp="^llvm-.*gcc.+GNAT Pro (\S+)" group="1"></grep>
+@@ -532,7 +532,7 @@
+ <!-- Clang C compiler -->
+ <compiler_description>
+ <name>CLANG-C</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+@@ -547,7 +547,7 @@
+ <!-- Clang++ C++ compiler -->
+ <compiler_description>
+ <name>CLANG-C++</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang\+\+</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang\+\+</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+@@ -562,7 +562,7 @@
+ <!-- Clang assembler -->
+ <compiler_description>
+ <name>CLANG-ASM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+diff --git a/db/cross.xml b/db/cross.xml
+index 1c7a5d41..d4165d2a 100644
+--- a/db/cross.xml
++++ b/db/cross.xml
+@@ -44,8 +44,8 @@
+ <target name="^.*-qnx[0-9]*$" />
+ <target name="^.*-rtems.*$" />
+ <target name="^arm-linux-androideabi" />
+- <target name="^arm-linux-gnueabi" />
+- <target name="^arm-linux-gnueabihf" />
++ <target name="^arm.*-linux-(gnu|musl)eabi" />
++ <target name="^arm.*-linux-(gnu|musl)eabihf" />
+ <target name="^aarch64-linux-android" />
+ <target name="^aarch64-.*linux-gnu" />
+ <target name="^e500v2-gnu-linux" />
+diff --git a/db/linker.xml b/db/linker.xml
+index c83f3051..acb27a11 100644
+--- a/db/linker.xml
++++ b/db/linker.xml
+@@ -162,10 +162,10 @@
+ <configuration>
+ <!-- aarch64-linux - native compiler. -->
+ <targets>
+- <target name="^aarch64-linux-gnu$" />
++ <target name="^aarch64-linux-(gnu|musl)$" />
+ </targets>
+ <hosts>
+- <host name="^aarch64-linux-gnu$" />
++ <host name="^aarch64-linux-(gnu|musl)$" />
+ </hosts>
+ <config>
+ for Object_Lister use ("nm", "-g");
+@@ -179,7 +179,7 @@
+ </configuration>
+
+ <configuration>
+- <!-- aarch64-linux - cross compiler. -->
++ <!-- aarch64-linux-gnu - cross compiler. -->
+ <targets>
+ <target name="^aarch64-.*linux-gnu$" />
+ </targets>
+@@ -197,6 +197,25 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <!-- aarch64-linux-musl - cross compiler. -->
++ <targets>
++ <target name="^aarch64-.*linux-musl$" />
++ </targets>
++ <hosts negate="true">
++ <host name="^aarch64-linux-musl$" />
++ </hosts>
++ <config>
++ for Object_Lister use ("${PREFIX(C)}nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^arm-linux-gnueabi$" />
+@@ -227,6 +246,96 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-gnueabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-gnueabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^arm-linux-musleabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("arm-linux-musleabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^arm-linux-musleabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("arm-linux-musleabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-musleabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-musleabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-musleabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-musleabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^powerpc-.*linux.*$" />
+@@ -676,6 +785,30 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabi$" />
++ </targets>
++ <config>
++ for Archive_Builder use ("armv7l-linux-gnueabi-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("armv7l-linux-gnueabi-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabihf$" />
++ </targets>
++ <config>
++ for Archive_Builder use ("armv7l-linux-gnueabihf-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("armv7l-linux-gnueabihf-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
+ <configuration>
+ <!-- aarch64-android - cross compiler. -->
+ <targets>
+@@ -692,10 +825,10 @@
+ <configuration>
+ <!-- aarch64-linux - native compiler. -->
+ <targets>
+- <target name="^aarch64-linux-gnu$" />
++ <target name="^aarch64-linux-(gnu|musl)$" />
+ </targets>
+ <hosts>
+- <host name="^aarch64-linux-gnu$" />
++ <host name="^aarch64-linux-(gnu|musl)$" />
+ </hosts>
+ <config>
+ for Archive_Builder use ("ar", "cr");
+@@ -706,7 +839,7 @@
+ </configuration>
+
+ <configuration>
+- <!-- aarch64-linux - cross compiler. -->
++ <!-- aarch64-linux-gnu - cross compiler. -->
+ <targets>
+ <target name="^aarch64-.*linux-gnu$" />
+ </targets>
+@@ -721,6 +854,22 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <!-- aarch64-linux-musl - cross compiler. -->
++ <targets>
++ <target name="^aarch64-.*linux-musl$" />
++ </targets>
++ <hosts negate="true">
++ <host name="^aarch64-linux-musl$" />
++ </hosts>
++ <config>
++ for Archive_Builder use ("aarch64-linux-musl-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("aarch64-linux-musl-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^aarch64-thales-fastos$" />
+--
+2.48.1
+
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..c8e1ed701ccbe2
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From f0bc19cb8ad9eb97dba04d6c24bb48e2a451a5f7 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 2/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 42 +++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..10d5985ec3c354
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,42 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+nocross="This is only used by the bootstrap process to build the real gprbuild - it doesn't make much sense to cross-compile."
+
+hostmakedepends="gprconfig_kb gcc-ada"
+depends="gprconfig_kb"
+
+do_configure() {
+ # kludge to get the bootstrap to use our packaged gprconfig
+ # knowledge base - it expects the kb to be under db/, as on the
+ # source package
+ mkdir -p gprconfig_kb
+ ln -sf /usr/share/gprconfig gprconfig_kb/db
+}
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --prefix="$DESTDIR/usr" \
+ --install
+ rm -rf "$DESTDIR/usr/share/gprconfig"
+}
From b17bc833ee47563768a183234e0a29dfc0871239 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 3/4] New package: xmlada-25.0.0
---
common/shlibs | 5 ++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 59 +++++++++++++++++++
.../install-cross-under-native-prefix.patch | 26 ++++++++
srcpkgs/xmlada/template | 36 +++++++++++
5 files changed, 127 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index 0bd2d1fb7e4696..c99c9d1148a5d2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4542,3 +4542,8 @@ libmaliit-plugins.so.2 maliit-keyboard-2.3.1_1
libSDL3.so.0 SDL3-3.2.2_1
libiconv.so.2 libiconv-1.18_1
libcharset.so.1 libiconv-1.18_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..ed43b0051f9e12
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,59 @@
+From a8be28e067456dc2c700719d09ab08e20fccc0ea Mon Sep 17 00:00:00 2001
+From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
+Date: Fri, 20 Dec 2024 00:05:37 +0000
+Subject: [PATCH] Fix Autoconf cross-compilation flag confusion
+
+Previously, we used the --host and --target arguments of the configure
+script to mean the build machine and the machine the package will run
+on, mirroring GPRBuild's own usage of the terminology. By convention,
+however, autoconf scripts usually take --build to mean the build
+machine, --host to mean the machine the package will run on and
+--target to mean the target of the toolchain being configured (if
+relevant). Our non-standard usage tends to cause problems with some
+distribution's packaging machinery (such as Void Linux's, or RHEL's),
+which often follow autoconf's conventions instead.
+
+When in Rome, do as the Romans do; hopefully this won't confuse
+GPRBuild users (too much)!
+
+Fixes #15
+---
+ Makefile.in | 6 +++---
+ aclocal.m4 | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
+--
+2.48.1
+
diff --git a/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch b/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
new file mode 100644
index 00000000000000..41bb0c0e47fedf
--- /dev/null
+++ b/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
@@ -0,0 +1,26 @@
+From f239d0499875a5dcadc2f9ea4586c4d933bbbcf1 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sat, 29 Mar 2025 22:19:53 +0000
+Subject: [PATCH] Do not install cross-compiled built artifacts under a
+ separate tree
+
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 880262b..521e04f 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -40,7 +40,7 @@ ifeq (${HOST},${TARGET})
+ IPREFIX=${DESTDIR}${prefix}
+ else
+ GPROPTS+=--target=${TARGET_ALIAS}
+-IPREFIX=${DESTDIR}${prefix}/${TARGET_ALIAS}
++IPREFIX=${DESTDIR}${prefix}
+ endif
+
+ ifdef RTS
+--
+2.48.1
+
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..f678c6cb3cd7dc
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From 7860abb8a11e495ecade664863db35614e8b9675 Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
.../patches/resolve-libgpr-conflict.patch | 25 +++++++++++++++++++
srcpkgs/gprbuild/template | 24 ++++++++++++++++++
3 files changed, 50 insertions(+)
create mode 100644 srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
create mode 100644 srcpkgs/gprbuild/template
diff --git a/common/shlibs b/common/shlibs
index c99c9d1148a5d2..ad4ac4c42ac9bb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4547,3 +4547,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch b/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
new file mode 100644
index 00000000000000..fbc3ecea39e302
--- /dev/null
+++ b/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
@@ -0,0 +1,25 @@
+From 52238495d997432ecf6bd811977f9165ad3fb765 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sun, 30 Mar 2025 03:52:52 +0000
+Subject: [PATCH] Resolve .so conflict with gRPC
+
+---
+ gpr/gpr.gpr | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gpr/gpr.gpr b/gpr/gpr.gpr
+index da6b0a08..67122de7 100644
+--- a/gpr/gpr.gpr
++++ b/gpr/gpr.gpr
+@@ -38,7 +38,7 @@ library project GPR is
+
+ for Source_Dirs use ("src");
+
+- for Library_Name use "gpr";
++ for Library_Name use "gnatprj";
+ for Object_Dir use "libobj/" & Bld & "/" & Gnat_Lib_Type;
+ for Library_Dir use "lib/" & Bld & "/" & Gnat_Lib_Type;
+
+--
+2.48.1
+
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..d124967ef35a37
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,24 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+make_build_target="all"
+make_install_target="install"
+
+export GPR_PROJECT_PATH="$XBPS_CROSS_BASE/usr/share/gpr"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" TARGET="$($CC -dumpmachine)" setup
+}
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (14 preceding siblings ...)
2025-03-30 19:05 ` Tevo45
@ 2025-03-30 19:06 ` Tevo45
2025-03-30 19:12 ` [PR PATCH] [Updated] " Tevo45
2025-03-30 21:01 ` Tevo45
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-03-30 19:06 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1453 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2764701376
Comment:
Sorry for the long delay. I've removed the `libgpr*` subpackages, and also marked `gprbuild-bootstrap` as `nocross` since it doesn't make much sense to spend any effort getting that to cross-compile, as it only exists as a means to bootstrap the full GPRbuild itself. Other than that:
- Cross-compiling `x86_64-gnu` to `x86_64-musl` doesn't work, since `xmlada` ends up with a dependency on `glibc`; a native musl build works fine, however. It might be that `gprbuild` thinks both are same target and uses the native compiler, so we'd need to disambiguate that on `gprconfig_kb`, but I haven't looked into it too deeply yet.
- Cross-compiling to `armv7l` seems to produce a `xmlada` that doesn't install, complaining about "broken, unresolvable shlib"s to already packaged libraries:
```
xmlada-25.0.0_1: broken, unresolvable shlib `ld-linux-armhf.so.3'
xmlada-25.0.0_1: broken, unresolvable shlib `libc.so.6'
xmlada-25.0.0_1: broken, unresolvable shlib `libgcc_s.so.1'
xmlada-25.0.0_1: broken, unresolvable shlib `libgnat-13.so'
```
Besides those, cross-builds of `gprbuild` et. al. from `x86_64` to `aarch64`, `aarch64-musl`, `i686` and `armv6l` seem to work just fine. The patch adding `linux-*musl*` targets to `gprconfig_kb` might be worthwhile submitting upstream, I'll look into that later.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Updated] New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (15 preceding siblings ...)
2025-03-30 19:06 ` Tevo45
@ 2025-03-30 19:12 ` Tevo45
2025-03-30 21:01 ` Tevo45
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-03-30 19:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
There is an updated pull request by Tevo45 against master on the void-packages repository
https://github.com/Tevo45/void-packages gprbuild
https://github.com/void-linux/void-packages/pull/53605
New package: gprbuild-25.0.0
<!-- Uncomment relevant sections and delete options which are not applicable -->
GPRbuild is a multi-language build system commonly found in Ada projects. Changes include xmlada and gprconfig_kb, both dependencies of gprbuild, as well as libgpr, an optional library component. Lightly tested, but should receive some more usage in the coming days.
Closes #45421
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
A patch file from https://github.com/void-linux/void-packages/pull/53605.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gprbuild-53605.patch --]
[-- Type: text/x-diff, Size: 27621 bytes --]
From 68c7a543162c731d14fb974f745b1ff440c54d9f Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Sat, 21 Dec 2024 01:42:44 +0000
Subject: [PATCH 1/4] New package: gprconfig_kb-25.0.0
---
.../add-arm-v7l-and-musl-targets.patch | 366 ++++++++++++++++++
srcpkgs/gprconfig_kb/template | 16 +
2 files changed, 382 insertions(+)
create mode 100644 srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
create mode 100644 srcpkgs/gprconfig_kb/template
diff --git a/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch b/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
new file mode 100644
index 00000000000000..ca1601c5e7fa05
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/patches/add-arm-v7l-and-musl-targets.patch
@@ -0,0 +1,366 @@
+From b7dc6bc873aaf8809b511b2110286e5978a888ce Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sun, 30 Mar 2025 17:17:52 +0000
+Subject: [PATCH] Add aarch64-linux-musl, arm(v7l)?-linux-(gnu|musl)eabi(hf)?
+
+---
+ db/compilers.xml | 24 +++----
+ db/cross.xml | 4 +-
+ db/linker.xml | 161 +++++++++++++++++++++++++++++++++++++++++++++--
+ 3 files changed, 169 insertions(+), 20 deletions(-)
+
+diff --git a/db/compilers.xml b/db/compilers.xml
+index 185ca031..59e8e407 100644
+--- a/db/compilers.xml
++++ b/db/compilers.xml
+@@ -20,7 +20,7 @@
+ <!-- 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.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-freebsd.*)?gcc(-\d+)?</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-freebsd.*)?gcc(-\d+)?</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+@@ -36,7 +36,7 @@
+ <!-- GCC for GNAT Pro 3.x & 4.x -->
+ <compiler_description>
+ <name>GCC_Pro</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
+ <version>
+ <external>${PREFIX}gcc -v</external>
+
+@@ -121,7 +121,7 @@
+ <!-- G++ compilers for GNAT Pro -->
+ <compiler_description>
+ <name>G++_Pro</name>
+- <executable prefix="1">(.*-elf-.*|.*-eabi-.*|.*-wrs-.*|.*-fastos.*|.*-freebsd.*|.*-linux-gnu.*-|.*-linux-android.*|.*-rtems.*)?g\+\+</executable>
++ <executable prefix="1">(.*-elf-.*|.*-eabi-.*|.*-wrs-.*|.*-fastos.*|.*-freebsd.*|.*-linux-(gnu|musl).*-|.*-linux-android.*|.*-rtems.*)?g\+\+</executable>
+ <version>
+ <external>${PREFIX}g++ -v</external>
+
+@@ -138,7 +138,7 @@
+ <!-- Assembler (not for GNAT Pro) -->
+ <compiler_description>
+ <name>GCC-ASM</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc(-\d+)?</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc(-\d+)?</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+@@ -154,7 +154,7 @@
+ <!-- Assembler (for GNAT Pro) -->
+ <compiler_description>
+ <name>GCC-ASM_Pro</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-.*fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-.*fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gcc</executable>
+ <version>
+ <external>${PREFIX}gcc -v</external>
+ <grep regexp="^gcc \S+ (\S+) \d+ (\(prerelease\) )?\(?for GNAT Pro" group="1"></grep>
+@@ -169,7 +169,7 @@
+ <!-- Binary image -->
+ <compiler_description>
+ <name>LD</name>
+- <executable prefix="1">(.*-wrs.*-|.*-sysgo.*-|.*-elf.*-|.*-eabi.*-|.*-eabispe.*-|avr.*-|.*-elinos-linux.*-|.*-linux-gnu-|.*mingw32.*-|.*-xcoff.*-|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*-|.*-rtems.*-)?ld</executable>
++ <executable prefix="1">(.*-wrs.*-|.*-sysgo.*-|.*-elf.*-|.*-eabi.*-|.*-eabispe.*-|avr.*-|.*-elinos-linux.*-|.*-linux-(gnu|musl)-|.*mingw32.*-|.*-xcoff.*-|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*-|.*-rtems.*-)?ld</executable>
+ <version>
+ <external>${PREFIX}ld -v</external>
+ <grep regexp="^(GNU ld.*|LLD) (\S+)" group="2"></grep>
+@@ -189,7 +189,7 @@
+ -->
+ <compiler_description>
+ <name>GNAT</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-gnu-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gnatls</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-linux-(gnu|musl)-|.*mingw32.*|.*-xcoff-.*|.*linux-android.*|arm.*-linux-(gnu|musl)eabi-|arm.*-linux-(gnu|musl)eabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|.*-fastos.*|.*-freebsd.*|.*-qnx.*|.*-rtems.*)?gnatls</executable>
+ <version>
+ <external>${PREFIX}gnatls -v --version</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+@@ -262,7 +262,7 @@
+
+ <compiler_description>
+ <name>GNAT_LLVM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?llvm-)gnatls</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?llvm-)gnatls</executable>
+ <version>
+ <external>${PREFIX}gnatls -v</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+@@ -287,7 +287,7 @@
+
+ <compiler_description>
+ <name>GNAT_LLVM_ASM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?llvm-)gcc</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?llvm-)gcc</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp="^llvm-.*gcc.+GNAT Pro (\S+)" group="1"></grep>
+@@ -532,7 +532,7 @@
+ <!-- Clang C compiler -->
+ <compiler_description>
+ <name>CLANG-C</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+@@ -547,7 +547,7 @@
+ <!-- Clang++ C++ compiler -->
+ <compiler_description>
+ <name>CLANG-C++</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang\+\+</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang\+\+</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+@@ -562,7 +562,7 @@
+ <!-- Clang assembler -->
+ <compiler_description>
+ <name>CLANG-ASM</name>
+- <executable prefix="1">((.*-elf-|.*-linux-gnu-)?)clang</executable>
++ <executable prefix="1">((.*-elf-|.*-linux-(gnu|musl)-)?)clang</executable>
+ <version>
+ <external>$EXEC -v</external>
+ <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+diff --git a/db/cross.xml b/db/cross.xml
+index 1c7a5d41..d4165d2a 100644
+--- a/db/cross.xml
++++ b/db/cross.xml
+@@ -44,8 +44,8 @@
+ <target name="^.*-qnx[0-9]*$" />
+ <target name="^.*-rtems.*$" />
+ <target name="^arm-linux-androideabi" />
+- <target name="^arm-linux-gnueabi" />
+- <target name="^arm-linux-gnueabihf" />
++ <target name="^arm.*-linux-(gnu|musl)eabi" />
++ <target name="^arm.*-linux-(gnu|musl)eabihf" />
+ <target name="^aarch64-linux-android" />
+ <target name="^aarch64-.*linux-gnu" />
+ <target name="^e500v2-gnu-linux" />
+diff --git a/db/linker.xml b/db/linker.xml
+index c83f3051..acb27a11 100644
+--- a/db/linker.xml
++++ b/db/linker.xml
+@@ -162,10 +162,10 @@
+ <configuration>
+ <!-- aarch64-linux - native compiler. -->
+ <targets>
+- <target name="^aarch64-linux-gnu$" />
++ <target name="^aarch64-linux-(gnu|musl)$" />
+ </targets>
+ <hosts>
+- <host name="^aarch64-linux-gnu$" />
++ <host name="^aarch64-linux-(gnu|musl)$" />
+ </hosts>
+ <config>
+ for Object_Lister use ("nm", "-g");
+@@ -179,7 +179,7 @@
+ </configuration>
+
+ <configuration>
+- <!-- aarch64-linux - cross compiler. -->
++ <!-- aarch64-linux-gnu - cross compiler. -->
+ <targets>
+ <target name="^aarch64-.*linux-gnu$" />
+ </targets>
+@@ -197,6 +197,25 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <!-- aarch64-linux-musl - cross compiler. -->
++ <targets>
++ <target name="^aarch64-.*linux-musl$" />
++ </targets>
++ <hosts negate="true">
++ <host name="^aarch64-linux-musl$" />
++ </hosts>
++ <config>
++ for Object_Lister use ("${PREFIX(C)}nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^arm-linux-gnueabi$" />
+@@ -227,6 +246,96 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-gnueabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-gnueabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^arm-linux-musleabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("arm-linux-musleabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^arm-linux-musleabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("arm-linux-musleabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-musleabi$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-musleabi-nm", "-g");
++ for Object_Lister_Matcher use " [TDSR] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-musleabihf$" />
++ </targets>
++ <config>
++ for Object_Lister use ("armv7l-linux-musleabihf-nm", "-g");
++ for Object_Lister_Matcher use " [TDRBSG] (.*)";
++
++ package Linker is
++ for Export_File_Format use "GNU";
++ for Export_File_Switch use "-Wl,--version-script=";
++ end Linker;
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^powerpc-.*linux.*$" />
+@@ -676,6 +785,30 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabi$" />
++ </targets>
++ <config>
++ for Archive_Builder use ("armv7l-linux-gnueabi-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("armv7l-linux-gnueabi-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
++ <configuration>
++ <targets>
++ <target name="^armv7l-linux-gnueabihf$" />
++ </targets>
++ <config>
++ for Archive_Builder use ("armv7l-linux-gnueabihf-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("armv7l-linux-gnueabihf-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
+ <configuration>
+ <!-- aarch64-android - cross compiler. -->
+ <targets>
+@@ -692,10 +825,10 @@
+ <configuration>
+ <!-- aarch64-linux - native compiler. -->
+ <targets>
+- <target name="^aarch64-linux-gnu$" />
++ <target name="^aarch64-linux-(gnu|musl)$" />
+ </targets>
+ <hosts>
+- <host name="^aarch64-linux-gnu$" />
++ <host name="^aarch64-linux-(gnu|musl)$" />
+ </hosts>
+ <config>
+ for Archive_Builder use ("ar", "cr");
+@@ -706,7 +839,7 @@
+ </configuration>
+
+ <configuration>
+- <!-- aarch64-linux - cross compiler. -->
++ <!-- aarch64-linux-gnu - cross compiler. -->
+ <targets>
+ <target name="^aarch64-.*linux-gnu$" />
+ </targets>
+@@ -721,6 +854,22 @@
+ </config>
+ </configuration>
+
++ <configuration>
++ <!-- aarch64-linux-musl - cross compiler. -->
++ <targets>
++ <target name="^aarch64-.*linux-musl$" />
++ </targets>
++ <hosts negate="true">
++ <host name="^aarch64-linux-musl$" />
++ </hosts>
++ <config>
++ for Archive_Builder use ("aarch64-linux-musl-ar", "cr");
++ for Archive_Builder_Append_Option use ("q");
++ for Archive_Indexer use ("aarch64-linux-musl-ranlib");
++ for Archive_Suffix use ".a";
++ </config>
++ </configuration>
++
+ <configuration>
+ <targets>
+ <target name="^aarch64-thales-fastos$" />
+--
+2.48.1
+
diff --git a/srcpkgs/gprconfig_kb/template b/srcpkgs/gprconfig_kb/template
new file mode 100644
index 00000000000000..c8e1ed701ccbe2
--- /dev/null
+++ b/srcpkgs/gprconfig_kb/template
@@ -0,0 +1,16 @@
+# Template file for 'gprconfig_kb'
+pkgname=gprconfig_kb
+version=25.0.0
+revision=1
+short_desc="Knowledge base for configuring GPR toolchains"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprconfig_kb"
+distfiles="https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v${version}.tar.gz"
+checksum="802e6d38a3b110897924a9c16e143cb86360f2dde94bb5b9144c7c391e37b121"
+
+do_install() {
+ destination="$DESTDIR/usr/share/gprconfig"
+ mkdir -p "$destination"
+ cp -rv db/* "$destination"
+}
From cd207b97e0441857e3986dad2ccab09c4aaf839c Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:08:39 +0000
Subject: [PATCH 2/4] New package: gprbuild-bootstrap-25.0.0
---
srcpkgs/gprbuild-bootstrap/template | 42 +++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 srcpkgs/gprbuild-bootstrap/template
diff --git a/srcpkgs/gprbuild-bootstrap/template b/srcpkgs/gprbuild-bootstrap/template
new file mode 100644
index 00000000000000..ee89c676c201f5
--- /dev/null
+++ b/srcpkgs/gprbuild-bootstrap/template
@@ -0,0 +1,42 @@
+# Template file for 'gprbuild-bootstrap'
+pkgname=gprbuild-bootstrap
+version=25.0.0
+revision=1
+short_desc="Advanced build system for multi-language programs - bootstrap package"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="
+ https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz>gprbuild-${version}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz>xmlada-${version}.tar.gz"
+checksum="
+ d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1
+ dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+nocross="This is only used by the bootstrap process to build the real gprbuild - it doesn't make much sense to cross-compile."
+
+hostmakedepends="gprconfig_kb gcc-ada"
+depends="gprconfig_kb"
+
+do_configure() {
+ # kludge to get the bootstrap to use our packaged gprconfig
+ # knowledge base - it expects the kb to be under db/, as on the
+ # source package
+ mkdir -p gprconfig_kb
+ ln -sf /usr/share/gprconfig gprconfig_kb/db
+}
+
+do_build() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --with-xmlada="../xmlada-${version}" \
+ --build
+}
+
+do_install() {
+ cd "gprbuild-${version}"
+ ./bootstrap.sh \
+ --prefix="$DESTDIR/usr" \
+ --install
+ rm -rf "$DESTDIR/usr/share/gprconfig"
+}
From 3a74b94951aa3845b657ad0c9e8b129a1f3fc5fc Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:10:55 +0000
Subject: [PATCH 3/4] New package: xmlada-25.0.0
---
common/shlibs | 5 ++
srcpkgs/xmlada-devel | 1 +
.../patches/fix-autoconf-flag-confusion.patch | 59 +++++++++++++++++++
.../install-cross-under-native-prefix.patch | 26 ++++++++
srcpkgs/xmlada/template | 36 +++++++++++
5 files changed, 127 insertions(+)
create mode 120000 srcpkgs/xmlada-devel
create mode 100644 srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
create mode 100644 srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
create mode 100644 srcpkgs/xmlada/template
diff --git a/common/shlibs b/common/shlibs
index 0bd2d1fb7e4696..c99c9d1148a5d2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4542,3 +4542,8 @@ libmaliit-plugins.so.2 maliit-keyboard-2.3.1_1
libSDL3.so.0 SDL3-3.2.2_1
libiconv.so.2 libiconv-1.18_1
libcharset.so.1 libiconv-1.18_1
+libxmlada_schema.so.18.0w xmlada-25.0.0_1
+libxmlada_dom.so.18.0w xmlada-25.0.0_1
+libxmlada_sax.so.18.0w xmlada-25.0.0_1
+libxmlada_unicode.so.18.0w xmlada-25.0.0_1
+libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
diff --git a/srcpkgs/xmlada-devel b/srcpkgs/xmlada-devel
new file mode 120000
index 00000000000000..2f2d27d92b8ead
--- /dev/null
+++ b/srcpkgs/xmlada-devel
@@ -0,0 +1 @@
+xmlada
\ No newline at end of file
diff --git a/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
new file mode 100644
index 00000000000000..ed43b0051f9e12
--- /dev/null
+++ b/srcpkgs/xmlada/patches/fix-autoconf-flag-confusion.patch
@@ -0,0 +1,59 @@
+From a8be28e067456dc2c700719d09ab08e20fccc0ea Mon Sep 17 00:00:00 2001
+From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
+Date: Fri, 20 Dec 2024 00:05:37 +0000
+Subject: [PATCH] Fix Autoconf cross-compilation flag confusion
+
+Previously, we used the --host and --target arguments of the configure
+script to mean the build machine and the machine the package will run
+on, mirroring GPRBuild's own usage of the terminology. By convention,
+however, autoconf scripts usually take --build to mean the build
+machine, --host to mean the machine the package will run on and
+--target to mean the target of the toolchain being configured (if
+relevant). Our non-standard usage tends to cause problems with some
+distribution's packaging machinery (such as Void Linux's, or RHEL's),
+which often follow autoconf's conventions instead.
+
+When in Rome, do as the Romans do; hopefully this won't confuse
+GPRBuild users (too much)!
+
+Fixes #15
+---
+ Makefile.in | 6 +++---
+ aclocal.m4 | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e03b63c..880262b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -16,9 +16,9 @@ GPRBUILD_OPTIONS=
+ PROCESSORS?=0
+ GPRBUILD=@gprbuild@ -j${PROCESSORS} -m ${GPRBUILD_OPTIONS}
+ GPRINSTALL=@gprinstall@
+-TARGET=@target@
+-TARGET_ALIAS=@target_alias@
+-HOST=@host@
++TARGET=@host@
++TARGET_ALIAS=@host_alias@
++HOST=@build@
+
+ # Compiler mode: one of "distrib", "Debug", "Production", "profile", "coverage"
+ MODE=@BUILD_TYPE@
+diff --git a/aclocal.m4 b/aclocal.m4
+index 39392bc..e17b338 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -91,8 +91,8 @@ project Lib is
+ end Lib;
+ EOF
+
+- if test "x$host_alias" != "x$target_alias"; then
+- $gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
++ if test "x$build_alias" != "x$host_alias"; then
++ $gprbuild --target=$host_alias -c -q -P$tmp/lib 2>/dev/null
+ else
+ $gprbuild -c -q -P$tmp/lib 2>/dev/null
+ fi
+--
+2.48.1
+
diff --git a/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch b/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
new file mode 100644
index 00000000000000..41bb0c0e47fedf
--- /dev/null
+++ b/srcpkgs/xmlada/patches/install-cross-under-native-prefix.patch
@@ -0,0 +1,26 @@
+From f239d0499875a5dcadc2f9ea4586c4d933bbbcf1 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sat, 29 Mar 2025 22:19:53 +0000
+Subject: [PATCH] Do not install cross-compiled built artifacts under a
+ separate tree
+
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 880262b..521e04f 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -40,7 +40,7 @@ ifeq (${HOST},${TARGET})
+ IPREFIX=${DESTDIR}${prefix}
+ else
+ GPROPTS+=--target=${TARGET_ALIAS}
+-IPREFIX=${DESTDIR}${prefix}/${TARGET_ALIAS}
++IPREFIX=${DESTDIR}${prefix}
+ endif
+
+ ifdef RTS
+--
+2.48.1
+
diff --git a/srcpkgs/xmlada/template b/srcpkgs/xmlada/template
new file mode 100644
index 00000000000000..f678c6cb3cd7dc
--- /dev/null
+++ b/srcpkgs/xmlada/template
@@ -0,0 +1,36 @@
+# Template file for 'xmlada'
+pkgname=xmlada
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="XML parser for Ada"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license="GPL-3.0-or-later WITH GCC-exception-3.1"
+homepage="https://github.com/AdaCore/xmlada"
+distfiles="https://github.com/AdaCore/xmlada/archive/refs/tags/v${version}.tar.gz"
+checksum="dbb5984a0931311c7a787a679ef4cfaeeedd357474a585dc170140ef2251dcca"
+
+hostmakedepends="gcc-ada autoconf gprbuild-bootstrap"
+
+configure_args+=" --enable-shared"
+
+do_configure() {
+ autoreconf -fi
+ ./configure $configure_args
+}
+
+xmlada-devel_package() {
+ short_desc+=" - development files"
+ depends="${sourcepkg}>=${version}_${revision}"
+ pkg_install() {
+ cd "$DESTDIR"
+ # vmove isn't the biggest fan of globs on parent directories
+ for file in usr/lib/xmlada/*/*.{ali,a}; do
+ vmove "$file"
+ done
+ vmove "usr/lib/*.so"
+ vmove usr/share/gpr
+ vmove usr/include
+ vmove usr/share/examples/xmlada
+ }
+}
From 0a7b1580b7934dafe88dfd383a77bd40c973d5fd Mon Sep 17 00:00:00 2001
From: "Estevan Castilho (Tevo)" <estevan.cps@gmail.com>
Date: Fri, 20 Dec 2024 02:11:10 +0000
Subject: [PATCH 4/4] New package: gprbuild-25.0.0
---
common/shlibs | 1 +
.../patches/resolve-libgpr-conflict.patch | 25 +++++++++++++++++++
srcpkgs/gprbuild/template | 24 ++++++++++++++++++
3 files changed, 50 insertions(+)
create mode 100644 srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
create mode 100644 srcpkgs/gprbuild/template
diff --git a/common/shlibs b/common/shlibs
index c99c9d1148a5d2..ad4ac4c42ac9bb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4547,3 +4547,4 @@ libxmlada_dom.so.18.0w xmlada-25.0.0_1
libxmlada_sax.so.18.0w xmlada-25.0.0_1
libxmlada_unicode.so.18.0w xmlada-25.0.0_1
libxmlada_input_sources.so.18.0w xmlada-25.0.0_1
+libgnatprj.so libgpr-25.0.0_1
diff --git a/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch b/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
new file mode 100644
index 00000000000000..fbc3ecea39e302
--- /dev/null
+++ b/srcpkgs/gprbuild/patches/resolve-libgpr-conflict.patch
@@ -0,0 +1,25 @@
+From 52238495d997432ecf6bd811977f9165ad3fb765 Mon Sep 17 00:00:00 2001
+From: Estevan Castilho <tevo@riajuu.net>
+Date: Sun, 30 Mar 2025 03:52:52 +0000
+Subject: [PATCH] Resolve .so conflict with gRPC
+
+---
+ gpr/gpr.gpr | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gpr/gpr.gpr b/gpr/gpr.gpr
+index da6b0a08..67122de7 100644
+--- a/gpr/gpr.gpr
++++ b/gpr/gpr.gpr
+@@ -38,7 +38,7 @@ library project GPR is
+
+ for Source_Dirs use ("src");
+
+- for Library_Name use "gpr";
++ for Library_Name use "gnatprj";
+ for Object_Dir use "libobj/" & Bld & "/" & Gnat_Lib_Type;
+ for Library_Dir use "lib/" & Bld & "/" & Gnat_Lib_Type;
+
+--
+2.48.1
+
diff --git a/srcpkgs/gprbuild/template b/srcpkgs/gprbuild/template
new file mode 100644
index 00000000000000..ea6254ef9328df
--- /dev/null
+++ b/srcpkgs/gprbuild/template
@@ -0,0 +1,24 @@
+# Template file for 'gprbuild'
+pkgname=gprbuild
+version=25.0.0
+revision=1
+build_style=gnu-configure
+short_desc="Advanced build system for multi-language programs"
+maintainer="Estevan Castilho <tevo@riajuu.net>"
+license=GPL-3.0-or-later
+homepage="https://github.com/AdaCore/gprbuild"
+distfiles="https://github.com/AdaCore/gprbuild/archive/refs/tags/v${version}.tar.gz"
+checksum="d12f94c1ec0b6e219f6b162f71f57129d22426e7798092f5f85b9ec2cc818bf1"
+
+hostmakedepends="gcc-ada gprbuild-bootstrap which"
+makedepends="xmlada-devel"
+depends="gprconfig_kb"
+
+make_build_target="all"
+make_install_target="install"
+
+export GPR_PROJECT_PATH="$XBPS_CROSS_BASE/usr/share/gpr"
+
+do_configure() {
+ make prefix="$DESTDIR/usr" TARGET="$($CC -dumpmachine)" setup
+}
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: New package: gprbuild-25.0.0
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
` (16 preceding siblings ...)
2025-03-30 19:12 ` [PR PATCH] [Updated] " Tevo45
@ 2025-03-30 21:01 ` Tevo45
17 siblings, 0 replies; 19+ messages in thread
From: Tevo45 @ 2025-03-30 21:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1452 bytes --]
New comment by Tevo45 on void-packages repository
https://github.com/void-linux/void-packages/pull/53605#issuecomment-2764701376
Comment:
Sorry for the long delay. I've removed the `libgpr*` subpackages, and also marked `gprbuild-bootstrap` as `nocross` since it doesn't make much sense to spend any effort getting that to cross-compile, as it only exists as a means to bootstrap the full GPRbuild itself. Other than that:
- Cross-compiling `x86_64-gnu` to `x86_64-musl` doesn't work, since `xmlada` ends up with a dependency on `glibc`; a native musl build works fine, however. It might be that `gprbuild` thinks both are same target and uses the native compiler, so we'd need to disambiguate that on `gprconfig_kb`, but I haven't looked into it too deeply yet.
- Cross-compiling to `armv7l` seems to produce a `xmlada` that doesn't install, complaining about "broken, unresolvable shlib"s to already packaged libraries:
```
xmlada-25.0.0_1: broken, unresolvable shlib `ld-linux-armhf.so.3'
xmlada-25.0.0_1: broken, unresolvable shlib `libc.so.6'
xmlada-25.0.0_1: broken, unresolvable shlib `libgcc_s.so.1'
xmlada-25.0.0_1: broken, unresolvable shlib `libgnat-13.so'
```
Besides those, cross-builds of `gprbuild` et al. from `x86_64` to `aarch64`, `aarch64-musl`, `i686` and `armv6l` seem to work just fine. The patch adding `linux-*musl*` targets to `gprconfig_kb` might be worthwhile submitting upstream, I'll look into that later.
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2025-03-30 21:01 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-21 1:55 [PR PATCH] New package: gprbuild-25.0.0 Tevo45
2024-12-21 2:27 ` [PR REVIEW] " abenson
2024-12-22 19:33 ` [PR PATCH] [Updated] " Tevo45
2024-12-22 19:37 ` [PR REVIEW] " Tevo45
2024-12-22 19:44 ` Tevo45
2024-12-22 19:44 ` Tevo45
2024-12-22 19:45 ` Tevo45
2024-12-22 19:48 ` [PR PATCH] [Updated] " Tevo45
2024-12-22 19:56 ` Tevo45
2024-12-22 20:00 ` [PR PATCH] [Updated] " Tevo45
2024-12-22 20:00 ` Tevo45
2025-01-12 3:12 ` Tevo45
2025-01-12 3:14 ` [PR PATCH] [Updated] " Tevo45
2025-01-12 21:59 ` abenson
2025-03-30 18:43 ` [PR PATCH] [Updated] " Tevo45
2025-03-30 19:05 ` Tevo45
2025-03-30 19:06 ` Tevo45
2025-03-30 19:12 ` [PR PATCH] [Updated] " Tevo45
2025-03-30 21:01 ` Tevo45
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).