;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages ninja) #:use-module ((guix licenses) #:select (asl2.0)) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages python)) (define-public ninja (package (name "ninja") (version "1.10.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ninja-build/ninja") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0mspq4mvx41qri2v2zlg2y3znx5gfw6d8s3czbcfpr2218qbpz55")))) (build-system gnu-build-system) (inputs `(("python" ,python-wrapper))) (arguments '(#:phases (modify-phases %standard-phases (replace 'configure (lambda _ (substitute* "src/subprocess-posix.cc" (("/bin/sh") (which "sh"))) (substitute* "src/subprocess_test.cc" (("/bin/echo") (which "echo"))))) (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))))))) (home-page "https://ninja-build.org/") (synopsis "Small build system") (description "Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible.") (license asl2.0))) s up file insertion in the store and, more importantly, leaves 'removeUnusedLinks' with fewer entries to traverse, thereby speeding it up proportionally. Partly fixes <https://issues.guix.gnu.org/24937>. * config-daemon.ac: Remove symlink hard link check and CAN_LINK_SYMLINK definition. * guix/store/deduplication.scm (%deduplication-minimum-size): New variable. (deduplicate)[loop]: Do not recurse when FILE's size is below %DEDUPLICATION-MINIM2019-03-14Merge branch 'staging' into core-updatesMarius Bakke 2019-03-13doc: Document the graphical installer some more....* doc/guix.texi (Preparing for Installation): Rewrite to specify the two installation modes. (Guided Graphical Installation): New node. (Manual Installation): New node, with the former sections. (After System Installation): New node. * doc/images/installer-network.png, doc/images/installer-partitions.png, doc/images/installer-resume.png: New files. * doc/local.mk (dist_infoimage_DATA): Add them. Ludovic Courtès 2018-12-16doc: Update mesboot graph without bootstrap-guile....* doc/images/gcc-mesboot-bag-graph.dot: Update. Jan Nieuwenhuizen 2018-11-24doc: Update for bootstrap-mescc-tools change....* doc/guix.texi (Reduced Binary Seed Bootstrap): Update for bootstrap-mescc-tools change. * doc/images/gcc-mesboot-bag-graph.dot: Regenerate. Jan Nieuwenhuizen 2018-09-23doc: Describe the Reduced Binary Seed bootstrap....* doc/guix.texi (Reduced Binary Seed Bootstrap): New node. * doc/images/gcc-mesboot-bag-graph.dot: New file. * doc/local.mk (DOT_FILES): Add it. Jan Nieuwenhuizen