Maxim Cournoyer <maxim.courno...@gmail.com> writes: > Hello, > > Leo Prikler <leo.prik...@student.tugraz.at> > > [...] > >> 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: > > (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) > > 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 > > > >
Leo and Maxim, Do you think this feature addition to the emacs-build-system is good to be pushed, then? I think it looks quite fine but I want to double check before potentially doing something dumb. That said, we should probably also document this. -- Brett M. Gilio GNU Guix, Contributor | GNU Project, Webmaster [DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE] <bre...@gnu.org> <bre...@posteo.net>