all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Brett Gilio <brettg@gnu.org>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: Leo Prikler <leo.prikler@student.tugraz.at>, 38613@debbugs.gnu.org
Subject: bug#38613: Disabling bytecompilation on a list of files.
Date: Mon, 23 Dec 2019 18:31:05 -0600	[thread overview]
Message-ID: <87sglak1iu.fsf@gnu.org> (raw)
In-Reply-To: <875zifmtlq.fsf@gmail.com> (Maxim Cournoyer's message of "Tue, 17 Dec 2019 14:03:29 +0900")

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hello,
>
> Leo Prikler <leo.prikler@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]
<brettg@gnu.org> <brettg@posteo.net>

  reply	other threads:[~2019-12-24  0:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-14 19:45 bug#38613: Disabling bytecompilation on a list of files Brett Gilio
2019-12-15  0:35 ` Leo Prikler
2019-12-15 22:26   ` Brett Gilio
2019-12-15 23:01     ` Leo Prikler
2019-12-15 23:18       ` Brett Gilio
2019-12-17  5:03       ` Maxim Cournoyer
2019-12-24  0:31         ` Brett Gilio [this message]
2019-12-27  5:06           ` Maxim Cournoyer
2019-12-27 23:07             ` Brett Gilio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sglak1iu.fsf@gnu.org \
    --to=brettg@gnu.org \
    --cc=38613@debbugs.gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.