summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Marie de Rodat2017-06-18 11:53:12 +0200
committerPierre-Marie de Rodat2017-06-18 12:34:20 +0200
commitaba0e73218bc8f748abf483b230c9860be639aef (patch)
treea3a3b0c2ce07bb27591aaf46b81a09d597f9c74e
downloadaur-aba0e73218bc8f748abf483b230c9860be639aef.tar.gz
Initial commit
-rw-r--r--.SRCINFO25
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD58
-rw-r--r--expose-cargs-and-largs-makefile.patch28
-rw-r--r--relocatable-build.patch11
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)