gnu: netcdf: Fix reproducibility issue; remove unneeded references.

* gnu/packages/maths.scm (netcdf) [arguments]: Add phase to fix the embedded
  'Configured On' date; truncate reference to compiler store item.
This commit is contained in:
Thomas Danckaert 2017-08-24 15:13:02 +02:00 committed by Thomas Danckaert
parent e464b4550e
commit 43d01672a1
No known key found for this signature in database
GPG key ID: 5C3B064C724A5726

View file

@ -918,6 +918,29 @@ (define-public netcdf
("libjpeg" ,libjpeg)))
(arguments
`(#:configure-flags '("--enable-doxygen" "--enable-dot" "--enable-hdf4")
#:phases (modify-phases %standard-phases
(add-before 'configure 'fix-source-date
(lambda _
;; As we ${SOURCE_DATE_EPOCH} evaluates to "1" in the build
;; environment, `date -u -d ${SOURCE_DATE_EPOCH}` will evaluate
;; to '1st hour of the current day', and therefore makes the
;; package not reproducible.
(substitute* "./configure"
(("date -u -d \"\\$\\{SOURCE_DATE_EPOCH\\}\"")
"date --date='@0'"))
#t))
(add-after 'configure 'patch-settings
(lambda _
;; libnetcdf.settings contains the full filename of the compilers
;; used to build the library. We truncate the hashes of those
;; filenames to avoid unnecessary references to the corresponding
;; store items.
(substitute* "libnetcdf.settings"
(("(/gnu/store/)([a-Z0-9]*)" all prefix hash)
(string-append prefix (string-take hash 10) "...")))
#t)))
#:parallel-tests? #f)) ;various race conditions
(home-page "http://www.unidata.ucar.edu/software/netcdf/")
(synopsis "Library for scientific data")