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

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:

--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

  parent reply	other threads:[~2019-12-17  5:04 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 [this message]
2019-12-24  0:31         ` Brett Gilio
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=875zifmtlq.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=38613@debbugs.gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    /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.