aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2016-11-04 15:35:16 +0800
committerTing-Wei Lan <lantw44@gmail.com>2016-11-04 15:35:16 +0800
commite8e0fa7d7183c83030e247ee09c3378703822f8d (patch)
tree3ec45de85c31ff8fe4d4197d8b224e0440cf7e7f
parent5c8658f0bc84f0a8e8e1e179768f131d288444da (diff)
downloadcopr-rpm-spec-e8e0fa7d7183c83030e247ee09c3378703822f8d.tar.gz
copr-rpm-spec-e8e0fa7d7183c83030e247ee09c3378703822f8d.tar.zst
copr-rpm-spec-e8e0fa7d7183c83030e247ee09c3378703822f8d.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
-rw-r--r--guix/guix/guix-delete-go-files-SIGINT.patch31
-rw-r--r--guix/guix/guix-guile-2.2-compat.patch45
-rw-r--r--guix/guix/guix.spec16
3 files changed, 90 insertions, 2 deletions
diff --git a/guix/guix/guix-delete-go-files-SIGINT.patch b/guix/guix/guix-delete-go-files-SIGINT.patch
new file mode 100644
index 0000000..c2423f8
--- /dev/null
+++ b/guix/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/guix-guile-2.2-compat.patch b/guix/guix/guix-guile-2.2-compat.patch
new file mode 100644
index 0000000..50a8f8e
--- /dev/null
+++ b/guix/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
+
diff --git a/guix/guix/guix.spec b/guix/guix/guix.spec
index a4cde5f..0547d97 100644
--- a/guix/guix/guix.spec
+++ b/guix/guix/guix.spec
@@ -1,12 +1,20 @@
Name: guix
Version: 0.11.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: A purely functional package manager for the GNU system
License: GPLv3+
URL: https://www.gnu.org/software/guix
Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
+# Add a patch from upstream to fix build issue on Guile 2.0.13
+# http://git.savannah.gnu.org/cgit/guix.git/commit/?id=5a88b2d
+Patch0: guix-guile-2.2-compat.patch
+
+# Add a patch from upstream to delete compiled files on interrupt
+# http://git.savannah.gnu.org/cgit/guix.git/commit/?id=402bb3b
+Patch1: guix-delete-go-files-SIGINT.patch
+
%global guix_user guixbuild
%global guix_group guixbuild
%global completionsdir %(pkg-config --variable=completionsdir bash-completion)
@@ -52,7 +60,7 @@ composed.
%prep
-%setup -q
+%autosetup -p1
%build
@@ -255,6 +263,10 @@ fi
%changelog
+* Fri Nov 04 2016 Ting-Wei Lan <lantw44@gmail.com> - 0.11.0-3
+- Use autosetup macro
+- Fix build failure on Guile 2.0.13
+
* Sat Sep 10 2016 Ting-Wei Lan <lantw44@gmail.com> - 0.11.0-2
- Rebuilt for Fedora 25 and 26