Hello,
I started a package of gprbuild for OpenBSD that uses the bootstrap script.
I was able to build, install and then use it to build Alire just fine and without errors or warnings.
However, I am not sure if some change to the source would be needed to fully support OpenBSD, so any comments, ideas and suggestions appreciated. Maybe this is helpful: AdaCore/gprconfig_kb@2f58b6b
The diff would be placed at /usr/ports/devel/gprbuild for anyone that plans on building this on their machine.
Last but not least, I found that this built without issues. That is quite infrequent on OpenBSD and very much appreciated 😄.
Index: Makefile
===================================================================
RCS file: Makefile
diff -N Makefile
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Makefile 23 Mar 2026 18:43:04 -0000
@@ -0,0 +1,44 @@
+
+COMMENT = build system designed to construct multi-language systems
+
+V = 25.0.0
+DISTNAME = gprbuild-${V}
+REVISION = 0
+
+CATEGORIES = devel
+
+HOMEPAGE = https://github.com/AdaCore/gprbuild
+
+MAINTAINER = ports@openbsd.org
+
+# GLPv3+
+PERMIT_PACKAGE = Probably Yes, this is GPLv3
+PERMIT_DISTFILES = Probably Yes, this is GPLv3
+
+WANTLIB += c pthread
+
+SITES = https://github.com/
+
+BUILD_DEPENDS = lang/gcc/15,-ada
+
+DISTFILES += gprbuild-${V}{AdaCore/gprbuild/archive/refs/tags/v${V}}.tar.gz
+DISTFILES += xmlada-${V}{AdaCore/xmlada/archive/refs/tags/v${V}}.tar.gz
+DISTFILES += gprconfig_kb-${V}{AdaCore/gprconfig_kb/archive/refs/tags/v${V}}.tar.gz
+
+# We use the bootstrap script because building gprbuild requires gprbuild
+do-build:
+ cd ${WRKDIR}/gprbuild-${V}; \
+ ./bootstrap.sh \
+ --with-xmlada=../xmlada-${V} \
+ --with-kb=../gprconfig_kb-${V} \
+ --build
+
+do-install:
+ cd ${WRKDIR}/gprbuild-${V}; \
+ ./bootstrap.sh \
+ --prefix=/usr/local \
+ --with-xmlada=../xmlada-${V} \
+ --with-kb=../gprconfig_kb-${V} \
+ --install
+
+.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: distinfo
diff -N distinfo
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ distinfo 23 Mar 2026 18:43:04 -0000
@@ -0,0 +1,6 @@
+SHA256 (gprbuild-25.0.0.tar.gz) = 0S+UwewLbiGfaxYvcfVxKdIkJud5gJL1+FuewsyBi/E=
+SHA256 (gprconfig_kb-25.0.0.tar.gz) = gC5tOKOxEIl5JKnBbhQ8uGNg8t3pS7W5FEx8OR43sSE=
+SHA256 (xmlada-25.0.0.tar.gz) = 27WYSgkxMRx6eHpnnvTPru7dNXR0pYXcFwFA7yJR3Mo=
+SIZE (gprbuild-25.0.0.tar.gz) = 940774
+SIZE (gprconfig_kb-25.0.0.tar.gz) = 44165
+SIZE (xmlada-25.0.0.tar.gz) = 1082553
Index: pkg/DESCR
===================================================================
RCS file: pkg/DESCR
diff -N pkg/DESCR
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR 23 Mar 2026 18:43:04 -0000
@@ -0,0 +1,4 @@
+GPRbuild is a generic build tool designed for the construction of large
+multi-language systems organized into subsystems and libraries. It is
+well-suited for compiled languages supporting separate compilation, such as
+Ada, C, C++ and Fortran.
Index: pkg/PLIST
===================================================================
RCS file: pkg/PLIST
diff -N pkg/PLIST
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST 23 Mar 2026 18:43:04 -0000
@@ -0,0 +1,77 @@
+@bin bin/gprbuild
+@bin bin/gprclean
+@bin bin/gprconfig
+@bin bin/gprinstall
+@bin bin/gprls
+@bin bin/gprname
+libexec/gprbuild/
+@bin libexec/gprbuild/gprbind
+@bin libexec/gprbuild/gprlib
+share/gpr/
+share/gpr/_default.gpr
+share/gprconfig/
+share/gprconfig/0_default.xml
+share/gprconfig/aamp.xml
+share/gprconfig/aamp_compilers.xml
+share/gprconfig/aarch64-vx7.xml
+share/gprconfig/aarch64-vx7r2.xml
+share/gprconfig/arm-vx6.xml
+share/gprconfig/arm-vx7.xml
+share/gprconfig/arm-vx7r2.xml
+share/gprconfig/asis.xml
+share/gprconfig/asm.xml
+share/gprconfig/baselined.xml
+share/gprconfig/bin_img.xml
+share/gprconfig/c.xml
+share/gprconfig/clean.xml
+share/gprconfig/compilers-arm-vx7.xml
+share/gprconfig/compilers-asis.xml
+share/gprconfig/compilers-baselined.xml
+share/gprconfig/compilers-e500v2-vx6.xml
+share/gprconfig/compilers-e500v2-vx653.xml
+share/gprconfig/compilers-e500v2-vx7.xml
+share/gprconfig/compilers-e500v2-vx7r2.xml
+share/gprconfig/compilers-ppc-vx653.xml
+share/gprconfig/compilers-ppc-vx7.xml
+share/gprconfig/compilers-ppc-vx7r2.xml
+share/gprconfig/compilers-ppc64-vx7.xml
+share/gprconfig/compilers-ppc64-vx7r2.xml
+share/gprconfig/compilers-vxworks.xml
+share/gprconfig/compilers-x86-vx7.xml
+share/gprconfig/compilers-x86_64-vx7.xml
+share/gprconfig/compilers.xml
+share/gprconfig/cpp.xml
+share/gprconfig/cross.xml
+share/gprconfig/e500v2-vx6.xml
+share/gprconfig/e500v2-vx653.xml
+share/gprconfig/e500v2-vx7.xml
+share/gprconfig/e500v2-vx7r2.xml
+share/gprconfig/env.ent
+share/gprconfig/fallback_targets.xml
+share/gprconfig/fortran.xml
+share/gprconfig/gnat.xml
+share/gprconfig/linker.xml
+share/gprconfig/morello-vx7r2.xml
+share/gprconfig/nocompiler.xml
+share/gprconfig/ppc-vx6.xml
+share/gprconfig/ppc-vx653.xml
+share/gprconfig/ppc-vx7.xml
+share/gprconfig/ppc-vx7r2.xml
+share/gprconfig/ppc64-vx7.xml
+share/gprconfig/ppc64-vx7r2.xml
+share/gprconfig/shortcuts.ent
+share/gprconfig/targetset.xml
+share/gprconfig/tricore-compilers.xml
+share/gprconfig/tricore-configuration.xml
+share/gprconfig/tricore-target.xml
+share/gprconfig/vx6.ent
+share/gprconfig/vx653.ent
+share/gprconfig/vx7.ent
+share/gprconfig/vxworks.ent
+share/gprconfig/vxworks.xml
+share/gprconfig/windres.xml
+share/gprconfig/x86-vx6.xml
+share/gprconfig/x86-vx7.xml
+share/gprconfig/x86-vx7r2.xml
+share/gprconfig/x86_64-vx7.xml
+share/gprconfig/x86_64-vx7r2.xml
Hello,
I started a package of gprbuild for OpenBSD that uses the bootstrap script.
I was able to build, install and then use it to build Alire just fine and without errors or warnings.
However, I am not sure if some change to the source would be needed to fully support OpenBSD, so any comments, ideas and suggestions appreciated. Maybe this is helpful: AdaCore/gprconfig_kb@2f58b6b
The diff would be placed at
/usr/ports/devel/gprbuildfor anyone that plans on building this on their machine.Last but not least, I found that this built without issues. That is quite infrequent on OpenBSD and very much appreciated 😄.