diff options
author | Xiretza | 2020-05-21 19:09:27 +0200 |
---|---|---|
committer | Xiretza | 2020-06-06 15:39:47 +0200 |
commit | 896504c0e763ba4cb9ab143ed01c4c607b41c6f7 (patch) | |
tree | 26ff92565d9fe80da8ca57d0b66f6f8a8ec9f544 | |
parent | 3fe127142997abb8e2fe72c913339b90c18cce38 (diff) | |
download | aur-896504c0e763ba4cb9ab143ed01c4c607b41c6f7.tar.gz |
Merge gprbuild and libgpr into single package
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 55 | ||||
-rw-r--r-- | always-use-host-gprinstall.patch | 11 | ||||
-rw-r--r-- | expose-cargs-and-largs-makefile.patch | 71 |
4 files changed, 57 insertions, 98 deletions
@@ -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 @@ -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)) - |