mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
build: Show completion percentage while building.
* build-aux/compile-all.scm (%): New procedure. (command-line): Use it to report completion.
This commit is contained in:
parent
35a09fd9c1
commit
04b5ac212f
1 changed files with 13 additions and 4 deletions
|
@ -1,6 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -17,7 +17,8 @@
|
||||||
;;; You should have received a copy of the GNU General Public License
|
;;; You should have received a copy of the GNU General Public License
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(use-modules (ice-9 match)
|
(use-modules (ice-9 format)
|
||||||
|
(ice-9 match)
|
||||||
(ice-9 threads)
|
(ice-9 threads)
|
||||||
(srfi srfi-1)
|
(srfi srfi-1)
|
||||||
(guix build compile)
|
(guix build compile)
|
||||||
|
@ -78,6 +79,10 @@ (define* (parallel-job-count #:optional (flags (getenv "MAKEFLAGS")))
|
||||||
(current-processor-count))))
|
(current-processor-count))))
|
||||||
(loop tail)))))))))
|
(loop tail)))))))))
|
||||||
|
|
||||||
|
(define (% completed total)
|
||||||
|
"Return the completion percentage of COMPLETED over TOTAL as an integer."
|
||||||
|
(inexact->exact (round (* 100. (/ completed total)))))
|
||||||
|
|
||||||
;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
|
;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
|
||||||
;; opportunity to run upon SIGINT and to remove temporary output files.
|
;; opportunity to run upon SIGINT and to remove temporary output files.
|
||||||
(sigaction SIGINT
|
(sigaction SIGINT
|
||||||
|
@ -92,10 +97,14 @@ (define* (parallel-job-count #:optional (flags (getenv "MAKEFLAGS")))
|
||||||
#:host host
|
#:host host
|
||||||
#:report-load (lambda (file total completed)
|
#:report-load (lambda (file total completed)
|
||||||
(when file
|
(when file
|
||||||
(format #t " LOAD ~a~%" file)
|
(format #t "[~3d%] LOAD ~a~%"
|
||||||
|
(% (+ 1 completed) (* 2 total))
|
||||||
|
file)
|
||||||
(force-output)))
|
(force-output)))
|
||||||
#:report-compilation (lambda (file total completed)
|
#:report-compilation (lambda (file total completed)
|
||||||
(when file
|
(when file
|
||||||
(format #t " GUILEC ~a~%"
|
(format #t "[~3d%] GUILEC ~a~%"
|
||||||
|
(% (+ total completed 1)
|
||||||
|
(* 2 total))
|
||||||
(scm->go file))
|
(scm->go file))
|
||||||
(force-output))))))
|
(force-output))))))
|
||||||
|
|
Loading…
Reference in a new issue