gnu: ninja: Update to 1.8.2.

* gnu/packages/ninja.scm (ninja): Update to 1.8.2.
[source]: Remove upstreamed patch.
[arguments]: Substitute INVOKE for SYSTEM*.  Use standard indentation.
* gnu/packages/patches/ninja-zero-mtime.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
This commit is contained in:
Tobias Geerinckx-Rice 2018-01-19 05:27:06 +01:00
parent 5d0bd1fbbf
commit 5bb12e1462
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79
3 changed files with 24 additions and 48 deletions

View file

@ -925,7 +925,6 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-test-http2-server-rst-stream.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \

View file

@ -2,6 +2,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,7 +30,7 @@ (define-module (gnu packages ninja)
(define-public ninja
(package
(name "ninja")
(version "1.7.2")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/martine/ninja/"
@ -37,38 +38,33 @@ (define-public ninja
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1n8n3g26ppwh7zwrc37n3alkbpbj0wki34ih53s3rkhs8ajs1p9f"))
(patches (search-patches "ninja-zero-mtime.patch"))))
"1x66q6494ml1p1f74mxzik1giakl4zj7rxig9jsc50087l671f46"))))
(build-system gnu-build-system)
(native-inputs `(("python" ,python-2)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace
'configure
(lambda _
(substitute* "src/subprocess-posix.cc"
(("/bin/sh") (which "sh")))
#t))
(replace
'build
(lambda _
(zero? (system* "./configure.py" "--bootstrap"))))
(replace
'check
(lambda _
(and (zero? (system* "./configure.py"))
(zero? (system* "./ninja" "ninja_test"))
(zero? (system* "./ninja_test")))))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja")))
(install-file "ninja" bin)
(install-file "doc/manual.asciidoc" doc)
#t))))))
(replace 'configure
(lambda _
(substitute* "src/subprocess-posix.cc"
(("/bin/sh") (which "sh")))
#t))
(replace 'build
(lambda _
(invoke "./configure.py" "--bootstrap")))
(replace 'check
(lambda _
(invoke "./configure.py")
(invoke "./ninja" "ninja_test")
(invoke "./ninja_test")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja")))
(install-file "ninja" bin)
(install-file "doc/manual.asciidoc" doc)
#t))))))
(home-page "https://ninja-build.org/")
(synopsis "Small build system")
(description

View file

@ -1,19 +0,0 @@
Work around a design defect in Ninja whereby a zero mtime is used to
denote missing files (we happen to produce files that have a zero mtime
and yet really do exist.)
--- ninja-1.5.3/src/disk_interface.cc 2014-11-24 18:37:47.000000000 +0100
+++ ninja-1.5.3/src/disk_interface.cc 2015-07-18 23:20:38.572290139 +0200
@@ -194,6 +194,12 @@ TimeStamp RealDiskInterface::Stat(const
}
return -1;
}
+
+ if (st.st_mtime == 0)
+ // All the code assumes that mtime == 0 means "file missing". Here we
+ // know the file is not missing, so tweak the mtime.
+ st.st_mtime = 1;
+
return st.st_mtime;
#endif
}