summary refs log tree commit diff
diff options
context:
space:
mode:
authorZ. Ren <zren@dlut.edu.cn>2017-08-08 14:50:35 +0800
committerLudovic Courtès <ludo@gnu.org>2017-08-22 15:19:49 +0200
commit0e4d822e3fccd1bb360924ed4dba42f5b16458ea (patch)
tree07afc42bc29efa6c2963ebb40b5a6bf8b3ef330b
parentc15374e03d257ef0630a9ee6b9bbbc6a748d9be5 (diff)
downloadguix-0e4d822e3fccd1bb360924ed4dba42f5b16458ea.tar.gz
gnu: skalibs: Build reproducibly.
* gnu/packages/skarnet.scm (skalibs)[arguments]: Add #:phases.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/skarnet.scm12
1 files changed, 11 insertions, 1 deletions
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 37e09d8642..5a46b0db64 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
 ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
+;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,7 +40,16 @@
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-force-devr") ; do not analyze /dev/random
-       #:tests? #f)) ; no tests exist
+       #:tests? #f ; no tests exist
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'reproducible
+                    (lambda _
+                      ;; Sort source files deterministically so that the *.a
+                      ;; and *.so files are reproducible.
+                      (substitute* "Makefile"
+                        (("\\$\\(ALL_SRCS:%.c=%.o\\)")
+                         "$(sort $(ALL_SRCS:%.c=%.o))"))
+                      #t)))))
     (home-page "http://skarnet.org/software/skalibs/")
     (synopsis "Platform abstraction libraries for skarnet.org software")
     (description