summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2016-06-21 18:51:02 +0200
committerLudovic Courtès <ludo@gnu.org>2016-06-21 23:14:05 +0200
commita837997cab842026bde1d5c0fac3a2d5258fe06f (patch)
tree729ea522e40f7c85367104e781170b9da9ca39df
parentab23fb83c2ddc38cbcc2751814efe7b385b36c56 (diff)
downloadguix-a837997cab842026bde1d5c0fac3a2d5258fe06f.tar.gz
gnu: nasm: Make build bit-reproducible.
* gnu/packages/patches/nasm-no-ps-pdf.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/assembly.scm (nasm): Use it.  Remove ghostscript, do not
build PS or PDF docs.  Makes build bit-reproducible.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/assembly.scm9
-rw-r--r--gnu/packages/patches/nasm-no-ps-pdf.patch20
3 files changed, 25 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 1ef7ef0833..f8d661e9b9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -670,6 +670,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mumps-build-parallelism.patch		\
   %D%/packages/patches/mupen64plus-ui-console-notice.patch	\
   %D%/packages/patches/mutt-store-references.patch		\
+  %D%/packages/patches/nasm-no-ps-pdf.patch			\
   %D%/packages/patches/net-tools-bitrot.patch			\
   %D%/packages/patches/netcdf-config-date.patch			\
   %D%/packages/patches/ngircd-handle-zombies.patch		\
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 575856a13e..8c9b6b30fe 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -23,7 +23,7 @@
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
-  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages python)
@@ -39,17 +39,16 @@
                                   version "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "12bl6vc5sjp9nnhf0iwy6l27vq783y0rxrjpp8sy84h5cb7a3fwx"))))
+                "12bl6vc5sjp9nnhf0iwy6l27vq783y0rxrjpp8sy84h5cb7a3fwx"))
+              (patches (search-patches "nasm-no-ps-pdf.patch"))))
     (build-system gnu-build-system)
-    (native-inputs `(("ghostscript" ,ghostscript) ; ps2pdf
-                     ("perl" ,perl)  ;for test target
+    (native-inputs `(("perl" ,perl)  ;for doc and test target
                      ("texinfo" ,texinfo)))
     (arguments
      `(#:test-target "test"
        #:phases (modify-phases %standard-phases
                   (add-after 'install 'install-info
                     (lambda _
-                      ;; FIXME: The PDF and PS files are not reproducible.
                       (zero? (system* "make" "install_doc")))))))
     (home-page "http://www.nasm.us/")
     (synopsis "80x86 and x86-64 assembler")
diff --git a/gnu/packages/patches/nasm-no-ps-pdf.patch b/gnu/packages/patches/nasm-no-ps-pdf.patch
new file mode 100644
index 0000000000..b03b57a6ed
--- /dev/null
+++ b/gnu/packages/patches/nasm-no-ps-pdf.patch
@@ -0,0 +1,20 @@
+Avoid building PS and PDF docs, which do not build bit-reproducible.  NASM
+already installs doc in info and html.
+
+--- nasm-2.12.01/doc/Makefile.in.orig	2016-06-21 18:02:59.483484829 +0200
++++ nasm-2.12.01/doc/Makefile.in	2016-06-21 18:03:46.700151410 +0200
+@@ -27,7 +27,7 @@
+ PS2PDF          = @PS2PDF@		# Part of GhostScript
+ 
+ SRCS		= nasmdoc.src inslist.src changes.src
+-OUT		= info html nasmdoc.txt nasmdoc.ps nasmdoc.pdf
++OUT		= info html nasmdoc.txt
+ 
+ # exports
+ export srcdir
+@@ -100,4 +100,4 @@
+ 	$(INSTALL_DATA) info/* $(INSTALLROOT)$(infodir)
+ 	mkdir -p $(INSTALLROOT)$(docdir)/html
+ 	$(INSTALL_DATA) html/* $(INSTALLROOT)$(docdir)/html
+-	$(INSTALL_DATA) nasmdoc.ps nasmdoc.pdf nasmdoc.txt $(INSTALLROOT)$(docdir)
++	$(INSTALL_DATA) nasmdoc.txt $(INSTALLROOT)$(docdir)