summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiretza2020-05-21 19:09:27 +0200
committerXiretza2020-06-06 15:39:47 +0200
commit896504c0e763ba4cb9ab143ed01c4c607b41c6f7 (patch)
tree26ff92565d9fe80da8ca57d0b66f6f8a8ec9f544
parent3fe127142997abb8e2fe72c913339b90c18cce38 (diff)
downloadaur-896504c0e763ba4cb9ab143ed01c4c607b41c6f7.tar.gz
Merge gprbuild and libgpr into single package
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD55
-rw-r--r--always-use-host-gprinstall.patch11
-rw-r--r--expose-cargs-and-largs-makefile.patch71
4 files changed, 57 insertions, 98 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0a86bfdb3c3e..d17b74f0c17d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,27 @@
pkgbase = gprbuild
pkgdesc = Builder for multi-language systems
pkgver = 2020
- pkgrel = 4
+ pkgrel = 5
url = https://github.com/AdaCore/gprbuild/
arch = i686
arch = x86_64
license = GPL3
makedepends = gprbuild-bootstrap
- depends = libgpr
- provides = gprbuild-bootstrap
- conflicts = gprbuild-bootstrap
+ makedepends = xmlada
source = gprbuild-2020-20200429-19BD2-src.tar.gz::https://community.download.adacore.com/v1/408ec35c3bb86bd227db3da55d3e1e0c572a56e3?filename=gprbuild-2020-20200429-19BD2-src.tar.gz
source = relocatable-build.patch
- source = expose-cargs-and-largs-makefile.patch
+ source = always-use-host-gprinstall.patch
sha1sums = 408ec35c3bb86bd227db3da55d3e1e0c572a56e3
sha1sums = 91b20bde99cf02410cdb2b74aa1adb014458a9b3
- sha1sums = ddaf20842ed9879c3f1cb24b3eb7615d5cfe61a5
+ sha1sums = 66792ebc73aff76a368bd902adc6a6f181d1d878
+
+pkgname = libgpr
+ pkgdesc = Ada library to handle GPRbuild project files
+ depends = xmlada
pkgname = gprbuild
+ depends = libgpr
+ depends = xmlada
+ provides = gprbuild-bootstrap
+ conflicts = gprbuild-bootstrap
diff --git a/PKGBUILD b/PKGBUILD
index 9c573d0d592a..d92e1db1eb7f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,33 +1,34 @@
+# Maintainer: xiretza <xiretza+aur@gmail.com>
# Maintainer: Rod Kay <charlie5 on #ada at freenode.net>
# Contributor: Pierre-Marie de Rodat <pmderodat on #ada at freenode.net>
# Contributor: Earnestly <zibeon AT googlemail.com>
-pkgname=gprbuild
+pkgbase=gprbuild
+pkgname=(libgpr gprbuild)
_upstream_ver=2020-20200429-19BD2
pkgver=2020
-pkgrel=4
+pkgrel=5
pkgdesc="Builder for multi-language systems"
arch=('i686' 'x86_64')
url="https://github.com/AdaCore/gprbuild/"
license=('GPL3')
-depends=('libgpr')
-makedepends=('gprbuild-bootstrap')
-provides=("gprbuild-bootstrap")
-conflicts=("gprbuild-bootstrap")
+makedepends=('gprbuild-bootstrap' 'xmlada')
_checksum=408ec35c3bb86bd227db3da55d3e1e0c572a56e3
-source=("${pkgname}-${_upstream_ver}-src.tar.gz::https://community.download.adacore.com/v1/${_checksum}?filename=${pkgname}-${_upstream_ver}-src.tar.gz"
+source=("${pkgbase}-${_upstream_ver}-src.tar.gz::https://community.download.adacore.com/v1/${_checksum}?filename=${pkgbase}-${_upstream_ver}-src.tar.gz"
'relocatable-build.patch'
- 'expose-cargs-and-largs-makefile.patch')
-sha1sums=('408ec35c3bb86bd227db3da55d3e1e0c572a56e3'
+ 'always-use-host-gprinstall.patch')
+sha1sums=("$_checksum"
'91b20bde99cf02410cdb2b74aa1adb014458a9b3'
- 'ddaf20842ed9879c3f1cb24b3eb7615d5cfe61a5')
+ '66792ebc73aff76a368bd902adc6a6f181d1d878')
prepare() {
- cd "$srcdir/$pkgname-$_upstream_ver-src"
+ cd "$srcdir/$pkgbase-$_upstream_ver-src"
patch -Np1 -i "$srcdir/relocatable-build.patch"
- patch -Np1 -i "$srcdir/expose-cargs-and-largs-makefile.patch"
+ # By default, it tries to use the freshly-built gprinstall to install gprbuild, but that requires libgpr,
+ # which can't be installed yet. Simply fall back to gprinstall from gprbuild-bootstrap
+ patch -Np1 -i "$srcdir/always-use-host-gprinstall.patch"
# GPRbuild hard-codes references to /usr/libexec, but ArchLinux packages
# must use /usr/lib instead.
@@ -38,20 +39,32 @@ prepare() {
}
build() {
- cd "$srcdir/$pkgname-$_upstream_ver-src"
+ cd "$srcdir/$pkgbase-$_upstream_ver-src"
- # Make using a single job (-j1) to avoid the same file being compiled at the same time.
export OS=UNIX
- make -j1 prefix=/usr BUILD=production setup
- make -j1 GPRBUILD_OPTIONS=-R BUILD=production
+ GPRBUILD_OPTIONS="-R -cargs $CFLAGS -largs $LDFLAGS -gargs"
+ make BUILD=production setup
+
+ make GPRBUILD_OPTIONS="$GPRBUILD_OPTIONS" libgpr.build
+ make GPRBUILD_OPTIONS="$GPRBUILD_OPTIONS" build
+}
+
+package_libgpr() {
+ pkgdesc="Ada library to handle GPRbuild project files"
+ depends=('xmlada')
+
+ cd "$srcdir/$pkgbase-$_upstream_ver-src"
+
+ make prefix="$pkgdir/usr" libgpr.install
}
-package() {
- cd "$srcdir/$pkgname-$_upstream_ver-src"
+package_gprbuild() {
+ provides=('gprbuild-bootstrap')
+ conflicts=('gprbuild-bootstrap')
+ depends=('libgpr' 'xmlada')
+ cd "$srcdir/$pkgbase-$_upstream_ver-src"
- # Make one install at a time to avoid GPRinstall reading/writing to
- # the same installed project files at the same time.
- make prefix="$pkgdir/usr" install -j1 BUILD=production
+ make prefix="$pkgdir/usr" install
# We don't need to distribute the installation script
rm -f -- "$pkgdir/usr/doinstall"
diff --git a/always-use-host-gprinstall.patch b/always-use-host-gprinstall.patch
new file mode 100644
index 000000000000..fbbad280b5fd
--- /dev/null
+++ b/always-use-host-gprinstall.patch
@@ -0,0 +1,11 @@
+--- a/Makefile 2020-05-21 18:07:25.521090704 +0200
++++ b/Makefile 2020-05-21 18:07:45.827341018 +0200
+@@ -40,7 +40,7 @@
+ # target options for cross-build
+ ifeq ($(HOST),$(TARGET))
+ GTARGET=
+-INSTALLER=exe/$(BUILD)/$(LIB_INSTALLER)
++INSTALLER=$(LIB_INSTALLER)
+ else
+ GTARGET=--target=$(TARGET)
+ INSTALLER=$(LIB_INSTALLER)
diff --git a/expose-cargs-and-largs-makefile.patch b/expose-cargs-and-largs-makefile.patch
deleted file mode 100644
index 5021c9d78aec..000000000000
--- a/expose-cargs-and-largs-makefile.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -70,6 +70,14 @@
- LIBGPR_TYPES=static
- endif
-
-+ifneq ($(strip $(CFLAGS)),)
-+ TOOLFLAGS += -cargs $(CFLAGS)
-+endif
-+
-+ifneq ($(strip $(LDFLAGS)),)
-+ TOOLFLAGS += -largs $(LDFLAGS)
-+endif
-+
- # Used to pass extra options to GPRBUILD, like -d for instance
- GPRBUILD_OPTIONS=
-
-@@ -92,27 +100,27 @@
- .PHONY: all distall gprbuild gprconfig gprclean gprinstall gprname gprls
-
- build all:
-- $(GPRBUILD_BUILDER)
-+ $(GPRBUILD_BUILDER) $(TOOLFLAGS)
-
- distall: all install
-
- gprbuild:
-- $(GPRBUILD_BUILDER) gprbuild-main.adb
-+ $(GPRBUILD_BUILDER) gprbuild-main.adb $(TOOLFLAGS)
-
- gprinstall:
-- $(GPRBUILD_BUILDER) gprinstall-main.adb
-+ $(GPRBUILD_BUILDER) gprinstall-main.adb $(TOOLFLAGS)
-
- gprclean:
-- $(GPRBUILD_BUILDER) gprclean-main.adb
-+ $(GPRBUILD_BUILDER) gprclean-main.adb $(TOOLFLAGS)
-
- gprconfig:
-- $(GPRBUILD_BUILDER) gprconfig-main.adb
-+ $(GPRBUILD_BUILDER) gprconfig-main.adb $(TOOLFLAGS)
-
- gprname:
-- $(GPRBUILD_BUILDER) gprname-main.adb
-+ $(GPRBUILD_BUILDER) gprname-main.adb $(TOOLFLAGS)
-
- gprls:
-- $(GPRBUILD_BUILDER) gprls-main.adb
-+ $(GPRBUILD_BUILDER) gprls-main.adb $(TOOLFLAGS)
-
- #################################
- # Gprbuild installation targets #
-@@ -140,15 +148,15 @@
-
- libgpr.build.shared:
- ${BUILDER} -XLIBRARY_TYPE=relocatable \
-- -XXMLADA_BUILD=relocatable $(GPR_GPR)
-+ -XXMLADA_BUILD=relocatable $(GPR_GPR) $(TOOLFLAGS)
-
- libgpr.build.static:
- ${BUILDER} -XLIBRARY_TYPE=static \
-- -XXMLADA_BUILD=static $(GPR_GPR)
-+ -XXMLADA_BUILD=static $(GPR_GPR) $(TOOLFLAGS)
-
- libgpr.build.static-pic:
- ${BUILDER} -XLIBRARY_TYPE=static-pic \
-- -XXMLADA_BUILD=static-pic $(GPR_GPR)
-+ -XXMLADA_BUILD=static-pic $(GPR_GPR) $(TOOLFLAGS)
-
- libgpr.install: libgpr.uninstall $(foreach t, $(LIBGPR_TYPES), libgpr.install.$(t))
-