[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#38613: Disabling bytecompilation on a list of files.
From: |
Maxim Cournoyer |
Subject: |
bug#38613: Disabling bytecompilation on a list of files. |
Date: |
Tue, 17 Dec 2019 14:03:29 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello,
Leo Prikler <address@hidden>
[...]
> Regarding the impact, I think it should be fine if we commit this
> closely before or after #38619, since that probably forces all Elisp
> libraries to be rebuilt anyways (also CC'd Maxim to have a look at
> this). Hopefully at least the doom-theme autoloads compile correctly.
> WDYT?
>
> Leo
IIRC, emacs{-minimal} have about ~300 non-Elisp dependents, which IMO is
OK for master (Elisp packages are very cheap to build, so I don't count
them).
I've just verified this with the following script:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu packages)
(guix graph)
(guix monads)
(guix packages)
(guix store)
(guix scripts graph)
(guix scripts refresh)
(gnu packages emacs)
(srfi srfi-1)
(srfi srfi-26))
(define (all-packages)
"Return the list of all the distro's packages."
(fold-packages (lambda (package result)
;; Ignore deprecated packages.
(if (package-superseded package)
result
(cons package result)))
'()
#:select? (const #t)))
(define (packages->dependents packages)
(define (full-name package)
(string-append (package-name package) "@"
(package-version package)))
(with-store store
(run-with-store store
(mlet %store-monad ((edges (node-back-edges
%bag-node-type
(package-closure (all-packages)))))
(let ((dependents (node-transitive-edges packages edges)))
(return (map full-name dependents)))))))
(define (compute-results)
(let* ((dependents (packages->dependents (list emacs emacs-minimal)))
(non-emacs (remove (cut string-prefix? "emacs-" <>) dependents)))
(format #t "Emacs{-minimal} have ~d dependents, ~d of which are not pure \
Emacs libraries: ~a~%" (length dependents) (length non-emacs) non-emacs)))
(compute-results)
--8<---------------cut here---------------end--------------->8---
Which outputs:
Emacs{-minimal} have 973 dependents, 274 of which are not pure Emacs
libraries: (faust@2.5.23 cedille@1.1.1 cflow@1.6
translate-shell@0.9.6.11 kicad@5.1.4 lepton-eda@1.9.5-20180820
quadrapassel@3.31.3 eog-plugins@3.26.4 workrave@1.10.34 emacsy@0.4.1
guile-gi@0.2.0 nomad@0.1.1-alpha emacsy-minimal@v0.4.1-19.f3bf0db
evisum@0.2.6 enlightenment-wayland@0.23.1 terminology@1.5.0 ephoto@1.5
enlightenment@0.23.1 econnman@1.1 python-efl@1.23.0 lekha@0.2.1
python2-efl@1.23.0 edi@0.6.0 rage@0.3.1 dbus-c++@0.9.0
[...]
HTH,
Maxim
- bug#38613: Disabling bytecompilation on a list of files., Brett Gilio, 2019/12/14
- bug#38613: Disabling bytecompilation on a list of files., Leo Prikler, 2019/12/14
- bug#38613: Disabling bytecompilation on a list of files., Brett Gilio, 2019/12/15
- bug#38613: Disabling bytecompilation on a list of files., Leo Prikler, 2019/12/15
- bug#38613: Disabling bytecompilation on a list of files., Brett Gilio, 2019/12/15
- bug#38613: Disabling bytecompilation on a list of files.,
Maxim Cournoyer <=
- bug#38613: Disabling bytecompilation on a list of files., Brett Gilio, 2019/12/23
- bug#38613: Disabling bytecompilation on a list of files., Maxim Cournoyer, 2019/12/27
- bug#38613: Disabling bytecompilation on a list of files., Brett Gilio, 2019/12/27