all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Vagrant Cascadian <vagrant@reproducible-builds.org>
Cc: 37346@debbugs.gnu.org
Subject: [bug#37346] [PATCH] Move diffoscope from package-management to it's own module.
Date: Wed, 11 Sep 2019 14:13:38 +0200	[thread overview]
Message-ID: <87woefvxn1.fsf@gnu.org> (raw)
In-Reply-To: <87ftl6cqfc.fsf@yucca> (Vagrant Cascadian's message of "Sun, 08 Sep 2019 16:35:19 -0700")

Hello!

Vagrant Cascadian <vagrant@reproducible-builds.org> skribis:

> I was having infinite recursion issues importing additional modules such
> as android.scm, bootloaders.scm and statistics.scm into
> package-management.scm with use-modules calls, along these lines:
>
> error: googletest: unbound variable
> hint: Did you forget a `use-modules' form?

Circular module dependencies alone shouldn’t cause these problems.
Problems arise when those modules that depend on each other refer to
variables exported by one another *at the top level*.

That typically happens if, say, in android.scm you’d do:

  (package (inherit diffoscope) …)

> Moving diffoscope to it's own package module seemed to at least work
> around the issue. Diffoscope itself attempts to deal with an arbitrary
> and growing number of file types, so pulls in quite a few other package
> modules, so at least splitting it into a separate module might limit the
> impacts on other modules.
>
> Attached are two patches attempting the split; comments welcome!

The split is a good idea anyhow!

> From 352058f2ef002e77df6633c00ba009088bf5e8bd Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant@reproducible-builds.org>
> Date: Sun, 8 Sep 2019 14:36:33 -0700
> Subject: [PATCH 1/2] gnu: Move diffoscope and trydiffoscope to new
>  diffoscope.scm.
>
> * gnu/packages/package-management (diffoscope): Remove variable.
>   (trydiffoscope): Remove variable.
>   (use-modules): Remove modules only needed by diffoscope.
>   Update copyright information.
> * gnu/packages/diffoscope.scm: New file.
>   (diffoscope): Add variable.
>   (trydiffoscope): Add variable.

LGTM.

> From c4ef8545514b4d594ab6fc083c954a22eace3786 Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant@reproducible-builds.org>
> Date: Sun, 8 Sep 2019 15:35:33 -0700
> Subject: [PATCH 2/2] gnu: diffoscope: Add additional test dependencies.
>
> * gnu/packages/diffoscope (diffoscope)[native-inputs]: Add abootimg, dtc,
>   and r-minimal.
>   (use-module): Add android, bootloaders and statistics, respectively.

Note that we don’t usually mention ‘use-module’ changes in commit logs.

Anyway, LGTM, thanks!

Ludo’.

      parent reply	other threads:[~2019-09-11 12:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-08 23:35 [bug#37346] [PATCH] Move diffoscope from package-management to it's own module Vagrant Cascadian
2019-09-10 23:46 ` bug#37346: " Danny Milosavljevic
2019-09-18 17:45   ` [bug#37346] " Vagrant Cascadian
2019-09-19  0:30     ` Vagrant Cascadian
2019-09-19 14:04       ` Danny Milosavljevic
2019-09-11 12:13 ` Ludovic Courtès [this message]

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=87woefvxn1.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=37346@debbugs.gnu.org \
    --cc=vagrant@reproducible-builds.org \
    /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.