GNU bug report logs - #38613
Disabling bytecompilation on a list of files.

Previous Next

Package: guix;

Reported by: Brett Gilio <brettg <at> posteo.net>

Date: Sat, 14 Dec 2019 21:03:01 UTC

Severity: normal

Done: Brett Gilio <brettg <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Brett Gilio <brettg <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>, Brett Gilio <brettg <at> posteo.net>, 38613 <at> debbugs.gnu.org
Subject: bug#38613: Disabling bytecompilation on a list of files.
Date: Mon, 23 Dec 2019 18:31:05 -0600
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hello,
>
> Leo Prikler <leo.prikler <at> 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 <at> 2.5.23 cedille <at> 1.1.1 cflow <at> 1.6
> translate-shell <at> 0.9.6.11 kicad <at> 5.1.4 lepton-eda <at> 1.9.5-20180820
> quadrapassel <at> 3.31.3 eog-plugins <at> 3.26.4 workrave <at> 1.10.34 emacsy <at> 0.4.1
> guile-gi <at> 0.2.0 nomad <at> 0.1.1-alpha emacsy-minimal <at> v0.4.1-19.f3bf0db
> evisum <at> 0.2.6 enlightenment-wayland <at> 0.23.1 terminology <at> 1.5.0 ephoto <at> 1.5
> enlightenment <at> 0.23.1 econnman <at> 1.1 python-efl <at> 1.23.0 lekha <at> 0.2.1
> python2-efl <at> 1.23.0 edi <at> 0.6.0 rage <at> 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]
<brettg <at> gnu.org> <brettg <at> posteo.net>




This bug report was last modified 5 years and 150 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.