diff options
author | Pierre-Marie de Rodat | 2017-06-18 11:53:12 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat | 2017-06-18 12:34:20 +0200 |
commit | aba0e73218bc8f748abf483b230c9860be639aef (patch) | |
tree | a3a3b0c2ce07bb27591aaf46b81a09d597f9c74e | |
download | aur-aba0e73218bc8f748abf483b230c9860be639aef.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 58 | ||||
-rw-r--r-- | expose-cargs-and-largs-makefile.patch | 28 | ||||
-rw-r--r-- | relocatable-build.patch | 11 |
5 files changed, 126 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..62acdbf3088a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,25 @@ +pkgbase = gprbuild-git + pkgdesc = Build system for multi-language systems + pkgver = r3152.ba7dba01 + pkgrel = 1 + url = https://github.com/AdaCore/gprbuild/ + arch = i686 + arch = x86_64 + license = GPL3 + makedepends = git + makedepends = gprbuild-bootstrap-git + makedepends = libgpr + depends = libgpr + provides = gprbuild + provides = gprbuild-bootstrap-git + conflicts = gprbuild + conflicts = gprbuild-bootstrap-git + source = git+https://github.com/AdaCore/gprbuild.git + source = relocatable-build.patch + source = expose-cargs-and-largs-makefile.patch + sha1sums = SKIP + sha1sums = 4aaab0df8b611750d2cb35973ed28823fb233989 + sha1sums = db88bcb65d1a5f41c5b30e0c3dea996c47c4f5b9 + +pkgname = gprbuild-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..0fe8e029c33e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +gprbuild +pkg +src +*.pkg.tar.xz diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..afa751f89cd6 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Pierre-Marie de Rodat <pmderodat on #ada at freenode.net> +# Contributor: Rod Kay <charlie5 on #ada at freenode.net> +pkgname=gprbuild-git +pkgver=r3152.ba7dba01 +pkgrel=1 +pkgdesc="Build system for multi-language systems" +arch=('i686' 'x86_64') +url="https://github.com/AdaCore/gprbuild/" +license=('GPL3') +depends=('libgpr') +makedepends=('git' 'gprbuild-bootstrap-git' 'libgpr') + +# gprbuild-bootstrap is here only to bootstrap gprbuild and xmlada +provides=("${pkgname%-git}" "gprbuild-bootstrap-git") +conflicts=("${pkgname%-git}" "gprbuild-bootstrap-git") +source=('git+https://github.com/AdaCore/gprbuild.git' + 'relocatable-build.patch' + 'expose-cargs-and-largs-makefile.patch') +sha1sums=('SKIP' + '4aaab0df8b611750d2cb35973ed28823fb233989' + 'db88bcb65d1a5f41c5b30e0c3dea996c47c4f5b9') + +pkgver() { + cd "$srcdir/${pkgname%-git}" + printf "r%s.%s" \ + "$(git rev-list --count HEAD)" \ + "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$srcdir/${pkgname%-git}" + patch -Np1 -i "$srcdir/relocatable-build.patch" + patch -Np1 -i "$srcdir/expose-cargs-and-largs-makefile.patch" + + # GPRbuild hard-codes references to /usr/libexec, but ArchLinux packages + # must use /usr/lib instead. + sed -i 's/libexec/lib/g' doinstall gprbuild.gpr \ + share/gprconfig/compilers.xml \ + share/gprconfig/linker.xml \ + share/gprconfig/gnat.xml +} + +build() { + cd "$srcdir/${pkgname%-git}" + make prefix=/usr PROCESSORS="$(nproc)" setup + make GPRBUILD_OPTIONS=-R +} + +package() { + cd "$srcdir/${pkgname%-git}" + + # 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 + + # We don't need to distribute the installation script + rm -f -- "$pkgdir/usr/doinstall" +} diff --git a/expose-cargs-and-largs-makefile.patch b/expose-cargs-and-largs-makefile.patch new file mode 100644 index 000000000000..113a29a9bd7b --- /dev/null +++ b/expose-cargs-and-largs-makefile.patch @@ -0,0 +1,28 @@ +diff --git a/Makefile b/Makefile +index b591cb9a..4d711028 100644 +--- a/Makefile ++++ b/Makefile +@@ -67,6 +67,14 @@ else + LIBGPR_TYPES=static + endif + ++ifneq ($(strip $(CFLAGS)),) ++ CARGS := -cargs $(CFLAGS) ++endif ++ ++ifneq ($(strip $(LDFLAGS)),) ++ LARGS := -largs $(LDFLAGS) ++endif ++ + # Used to pass extra options to GPRBUILD, like -d for instance + GPRBUILD_OPTIONS= + +@@ -75,7 +83,7 @@ LIB_INSTALLER=gprinstall -p -f --target=$(TARGET) $(RBD) --prefix=${prefix} + CLEANER=gprclean -q $(RBD) + + GPRBUILD_BUILDER=$(BUILDER) $(GPRBUILD_GPR) \ +- -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable ++ -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable $(CARGS) $(LARGS) + LIBGPR_BUILDER=$(BUILDER) $(GPR_GPR) + LIBGPR_INSTALLER=$(LIB_INSTALLER) $(GPR_GPR) -XBUILD=${BUILD} \ + --install-name=gpr --build-var=LIBRARY_TYPE $(GTARGET) diff --git a/relocatable-build.patch b/relocatable-build.patch new file mode 100644 index 000000000000..0ed02e6ba1a9 --- /dev/null +++ b/relocatable-build.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -75,7 +75,7 @@ + CLEANER=gprclean -q $(RBD) + + GPRBUILD_BUILDER=$(BUILDER) $(GPRBUILD_GPR) \ +- -XLIBRARY_TYPE=static -XXMLADA_BUILD=static ++ -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable + LIBGPR_BUILDER=$(BUILDER) $(GPR_GPR) + LIBGPR_INSTALLER=$(LIB_INSTALLER) $(GPR_GPR) -XBUILD=${BUILD} \ + --install-name=gpr --build-var=LIBRARY_TYPE $(GTARGET) |