summaryrefslogtreecommitdiffstats
path: root/guix
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2016-11-04 20:08:27 +0800
committerTing-Wei Lan <lantw44@gmail.com>2016-11-04 20:14:56 +0800
commitab7645d6dcfd1891903b2f002d9522709123bfc9 (patch)
tree1cd53676f4830724a3ed26145a5f321079ae920a /guix
parentdfca034f4937bba003b6c3a6457612cbd8304354 (diff)
downloadAUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.tar
AUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.tar.gz
AUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.tar.bz2
AUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.tar.lz
AUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.tar.xz
AUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.tar.zst
AUR4-PKGBUILD-ab7645d6dcfd1891903b2f002d9522709123bfc9.zip
guix: Fix build failure with Guile 2.0.13
Reported by rafaelff on AUR at 2016-11-01 15:36: https://aur.archlinux.org/packages/guix/?comments=all
Diffstat (limited to 'guix')
-rw-r--r--guix/.SRCINFO8
-rw-r--r--guix/PKGBUILD18
-rw-r--r--guix/guix-delete-go-files-SIGINT.patch31
-rw-r--r--guix/guix-guile-2.2-compat.patch45
4 files changed, 97 insertions, 5 deletions
diff --git a/guix/.SRCINFO b/guix/.SRCINFO
index c078059..c2e82d3 100644
--- a/guix/.SRCINFO
+++ b/guix/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Wed Aug 10 18:00:53 UTC 2016
+# Fri Nov 4 12:11:55 UTC 2016
pkgbase = guix
pkgdesc = A purely functional package manager for the GNU system
pkgver = 0.11.0
- pkgrel = 2
+ pkgrel = 3
url = https://www.gnu.org/software/guix/
install = guix.install
arch = x86_64
@@ -27,8 +27,12 @@ pkgbase = guix
options = !strip
source = ftp://alpha.gnu.org/gnu/guix/guix-0.11.0.tar.gz
source = ftp://alpha.gnu.org/gnu/guix/guix-0.11.0.tar.gz.sig
+ source = guix-guile-2.2-compat.patch
+ source = guix-delete-go-files-SIGINT.patch
sha1sums = bd12d65a46c8eef3b490efea6ac953b995d524eb
sha1sums = a9080412df96832d22e57a1bcc76e3016f93f0b0
+ sha1sums = 0b976fe5862798b34fdb90d9f9f405b39ccedb1b
+ sha1sums = 3506f8bb7cf35776739a6cc1afceff31555cebc0
pkgname = guix
diff --git a/guix/PKGBUILD b/guix/PKGBUILD
index 302d952..ba86e19 100644
--- a/guix/PKGBUILD
+++ b/guix/PKGBUILD
@@ -7,7 +7,7 @@
pkgname=guix
pkgver=0.11.0
-pkgrel=2
+pkgrel=3
pkgdesc="A purely functional package manager for the GNU system"
arch=('x86_64' 'i686')
url="https://www.gnu.org/software/guix/"
@@ -32,12 +32,24 @@ optdepends=(
'graphviz: to enable Emacs Interface'
'guile-json: to import packages from cpan, gem, pypi')
source=(
- "ftp://alpha.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig})
+ "ftp://alpha.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
+ "guix-guile-2.2-compat.patch"
+ "guix-delete-go-files-SIGINT.patch")
install="${pkgname}.install"
sha1sums=('bd12d65a46c8eef3b490efea6ac953b995d524eb'
- 'a9080412df96832d22e57a1bcc76e3016f93f0b0')
+ 'a9080412df96832d22e57a1bcc76e3016f93f0b0'
+ '0b976fe5862798b34fdb90d9f9f405b39ccedb1b'
+ '3506f8bb7cf35776739a6cc1afceff31555cebc0')
validpgpkeys=('3CE464558A84FDC69DB40CFB090B11993D9AEBB5')
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ # http://git.savannah.gnu.org/cgit/guix.git/commit/?id=5a88b2d
+ patch -Np1 < "${srcdir}/${source[2]}"
+ # http://git.savannah.gnu.org/cgit/guix.git/commit/?id=402bb3b
+ patch -Np1 < "${srcdir}/${source[3]}"
+}
+
build() {
bash_completion_dir="`pkg-config --variable=completionsdir bash-completion`"
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/guix/guix-delete-go-files-SIGINT.patch b/guix/guix-delete-go-files-SIGINT.patch
new file mode 100644
index 0000000..c2423f8
--- /dev/null
+++ b/guix/guix-delete-go-files-SIGINT.patch
@@ -0,0 +1,31 @@
+From 402bb3b9f7eaaa66f2652fda2d9e0d2e34cf59f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
+Date: Wed, 12 Oct 2016 14:55:32 +0200
+Subject: [PATCH] build: Arrange so temporary .go files are deleted upon
+ SIGINT.
+
+* build-aux/compile-all.scm: Install SIGINT handler.
+---
+ build-aux/compile-all.scm | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/build-aux/compile-all.scm b/build-aux/compile-all.scm
+index 46b3817..6ce4040 100644
+--- a/build-aux/compile-all.scm
++++ b/build-aux/compile-all.scm
+@@ -76,6 +76,12 @@
+ #:output-file go
+ #:opts `(#:warnings ,warnings)))))))
+
++;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
++;; opportunity to run upon SIGINT and to remove temporary output files.
++(sigaction SIGINT
++ (lambda args
++ (exit 1)))
++
+ (match (command-line)
+ ((_ . files)
+ (let ((files (filter file-needs-compilation? files)))
+--
+2.7.4
+
diff --git a/guix/guix-guile-2.2-compat.patch b/guix/guix-guile-2.2-compat.patch
new file mode 100644
index 0000000..50a8f8e
--- /dev/null
+++ b/guix/guix-guile-2.2-compat.patch
@@ -0,0 +1,45 @@
+From 5a88b2d1304ad57c1249558a261a8d191daf9758 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
+ <taylanbayirli@gmail.com>
+Date: Tue, 27 Sep 2016 22:34:06 +0200
+Subject: [PATCH] build: Improve Guile 2.2 compatibility.
+
+* build-aux/compile-all.scm (compile-file*): Ensure loading of
+ compilation related modules before going parallel.
+* guix/build/pull.scm (build-guix): Ditto.
+---
+ build-aux/compile-all.scm | 3 +++
+ guix/build/pull.scm | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/build-aux/compile-all.scm b/build-aux/compile-all.scm
+index 7c937a0..46b3817 100644
+--- a/build-aux/compile-all.scm
++++ b/build-aux/compile-all.scm
+@@ -81,6 +81,9 @@
+ (let ((files (filter file-needs-compilation? files)))
+ (for-each load-module-file files)
+ (let ((mutex (make-mutex)))
++ ;; Make sure compilation related modules are loaded before starting to
++ ;; compile files in parallel.
++ (compile #f)
+ (par-for-each (lambda (file)
+ (compile-file* file mutex))
+ files)))))
+diff --git a/guix/build/pull.scm b/guix/build/pull.scm
+index ccf1868..871bf6f 100644
+--- a/guix/build/pull.scm
++++ b/guix/build/pull.scm
+@@ -125,6 +125,9 @@ containing the source code. Write any debugging output to DEBUG-PORT."
+ (newline)
+ (let ((mutex (make-mutex))
+ (completed 0))
++ ;; Make sure compilation related modules are loaded before starting to
++ ;; compile files in parallel.
++ (compile #f)
+ (par-for-each
+ (lambda (file)
+ (with-mutex mutex
+--
+2.7.4
+