~ruther/guix-local

8202adbceeba6c43dd5af5ffaa35e780cc9c5429 — Bruno Victal 2 years ago a6170fc
gnu: enblend-enfuse: Backport upstream fixes.

Backport changes for reproducible builds & missing include.

* gnu/packages/patches/enblend-enfuse-reproducible.patch: New file.
* gnu/local.mk: Register it.
* gnu/packages/photo.scm (enblend-enfuse)[source]: Use newly added patch. Add
snippet to fix missing header.
[arguments]<#:phases>: Remove 'add-missing-include.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
3 files changed, 59 insertions(+), 11 deletions(-)

M gnu/local.mk
A gnu/packages/patches/enblend-enfuse-reproducible.patch
M gnu/packages/photo.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1113,6 1113,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/emacs-kv-fix-tests.patch	\
  %D%/packages/patches/emacs-pgtk-super-key-fix.patch	\
  %D%/packages/patches/emacs-xelb-ignore-length-element.patch	\
  %D%/packages/patches/enblend-enfuse-reproducible.patch	\
  %D%/packages/patches/enjarify-setup-py.patch			\
  %D%/packages/patches/enlightenment-fix-setuid-path.patch	\
  %D%/packages/patches/erlang-man-path.patch			\

A gnu/packages/patches/enblend-enfuse-reproducible.patch => gnu/packages/patches/enblend-enfuse-reproducible.patch +44 -0
@@ 0,0 1,44 @@
# HG changeset patch
# User Bernhard M. Wiedemann <bwiedemann@suse.de>
# Date 1502609999 -7200
#      Sun Aug 13 09:39:59 2017 +0200
# Node ID a98e00eed893f62dd8349fc2894abca3aff4b33a
# Parent  41ce01b7d413b3654211da0147857e7d6a1495de
Facilitate reproducible builds
by allowing to externally hold constant the build date and time.
See
        https://reproducible-builds.org/specs/source-date-epoch/

Backport asap.

diff -r 41ce01b7d413 -r a98e00eed893 NEWS
--- a/NEWS	Sun Aug 13 09:39:56 2017 +0200
+++ b/NEWS	Sun Aug 13 09:39:59 2017 +0200
@@ -48,6 +48,12 @@
           https://github.com/akrzemi1/Optional
   where only "optional.hpp" is needed.
 
+- The environment variable SOURCE_DATE_EPOCH overrides the build
+  timestamp as recorded by the signatures.  See
+          https://reproducible-builds.org/specs/source-date-epoch/
+  for details.
+
+
 
 * Version 4.2  "Compressor Road"
 
diff -r 41ce01b7d413 -r a98e00eed893 src/DefaultSig.pm
--- a/src/DefaultSig.pm	Sun Aug 13 09:39:56 2017 +0200
+++ b/src/DefaultSig.pm	Sun Aug 13 09:39:59 2017 +0200
@@ -109,9 +109,10 @@
 sub update_date_and_time {
     my $self = shift;
 
+    my $now = $ENV{SOURCE_DATE_EPOCH} || time;
     my ($second, $minute, $hour,
         $day_of_month, $month, $year,
-        $day_of_week) = $self->is_using_gmt() ? gmtime : localtime;
+        $day_of_week) = $self->is_using_gmt() ? gmtime($now) : localtime($now);
 
     $self->{DATE} = $self->format_date($day_of_month, $month, $year + 1900, $day_of_week,
                                        $self->weekdays->[$day_of_week],

M gnu/packages/photo.scm => gnu/packages/photo.scm +14 -11
@@ 370,7 370,18 @@ overlapping images, as well as some command line tools.")
                                  name "-" version ".tar.gz"))
              (sha256
               (base32
                "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"))))
                "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"))
              (patches
               ;; TODO: Remove when updating.
               ;; Fixed upstream with a98e00eed893f62dd8349fc2894abca3aff4b33a.
               (search-patches "enblend-enfuse-reproducible.patch"))
              (modules '((guix build utils)))
              (snippet
               ;; TODO: Remove when updating.
               ;; Fixed upstream with 81e25afe71146aaaf5058c604034f35d57e3be9d.
               #~(substitute* "src/minimizer.cc"
                   (("^#include <gsl/gsl_errno\\.h>" all)
                    (string-append all "\n#include <limits>"))))))
    (build-system gnu-build-system)
    (native-inputs
     (list pkg-config


@@ 395,16 406,8 @@ overlapping images, as well as some command line tools.")
           vigra
           zlib))
    (arguments
     (list #:configure-flags
           #~(list "--enable-openmp")
           #:phases
           #~(modify-phases %standard-phases
               (add-after 'unpack 'add-missing-include
                 (lambda _
                   (substitute* "src/minimizer.h"
                     ;; Fix error: ‘numeric_limits’ is not a member of ‘std’.
                     (("#include <vector>" line)
                      (string-append line "\n#include <limits>"))))))))
     (list
      #:configure-flags #~(list "--enable-openmp")))
    (home-page "https://enblend.sourceforge.net/")
    (synopsis "Tools for combining and blending images")
    (description