diff mbox

[1/2] gnu: Add nasm.

Message ID 87twgmscpq.fsf@gnu.org
State New
Headers show

Commit Message

Jan Nieuwenhuizen June 21, 2016, 4:56 p.m. UTC
Ludovic Courtès writes:

>> Applied but to assembly.scm as Alex suggested; I also added a
>> ‘supported-systems’ field.

Thanks!

> I forgot to mention another thing: nasm is currently not
> bit-reproducible, as visible with --rounds=2, due to differences in its
> PDF and PS files:

Ouch.  Sorry.

> Could you look into it?

Find patch attached.

> I suspect it would be easier to simply remove these two files.  Packages
> in Guix don’t usually install their PDF/PS documentation, and this one
> already installs its doc as HTML.

Done.  There is indeed already info, text and HTML.
Greetings,
Jan

Comments

Ludovic Courtès June 21, 2016, 9:30 p.m. UTC | #1
Jan Nieuwenhuizen <janneke@gnu.org> skribis:

> From d269a1e1fbb23f584f4360534b4708890e689808 Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen <janneke@gnu.org>
> Date: Tue, 21 Jun 2016 18:51:02 +0200
> Subject: [PATCH] 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.

Awesome.  Applied, thanks!

Ludo’.
diff mbox

Patch

From d269a1e1fbb23f584f4360534b4708890e689808 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 21 Jun 2016 18:51:02 +0200
Subject: [PATCH] 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.
---
 gnu/local.mk                              |  1 +
 gnu/packages/assembly.scm                 |  8 ++++----
 gnu/packages/patches/nasm-no-ps-pdf.patch | 20 ++++++++++++++++++++
 3 files changed, 25 insertions(+), 4 deletions(-)
 create mode 100644 gnu/packages/patches/nasm-no-ps-pdf.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1ef7ef0..f8d661e 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 575856a..d09e76a 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,10 +39,10 @@ 
                                   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"
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 0000000..b03b57a
--- /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)
-- 
2.9.0