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>
This commit is contained in:
Jan Nieuwenhuizen 2016-06-21 18:51:02 +02:00 committed by Ludovic Courtès
parent ab23fb83c2
commit a837997cab
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 25 additions and 5 deletions

View file

@ -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 \

View file

@ -23,7 +23,7 @@ (define-module (gnu packages assembly)
#: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 @@ (define-public nasm
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")

View file

@ -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)