unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke@fastmail.com>
Cc: Ricardo Wurmus <rekado@elephly.net>,
	Hartmut Goebel <h.goebel@crazy-compilers.com>,
	27271@debbugs.gnu.org
Subject: bug#27271: Avoiding ‘propagated-inputs’ for Python dependencies
Date: Sat, 10 Jun 2017 15:39:56 +0200	[thread overview]
Message-ID: <8737b80xn7.fsf_-_@gnu.org> (raw)
In-Reply-To: <87fuf8nbpv.fsf@fastmail.com> (Marius Bakke's message of "Fri, 09 Jun 2017 22:32:44 +0200")

Heya,

(+Cc: Hartmut.)

Marius Bakke <mbakke@fastmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:

[...]

>> Perhaps we could modify ‘sys.path’ from the top of ‘__init__.py’ file to
>> get something similar to RUNPATH.  I’m not sure if there are any
>> downsides or gotchas.  Thoughts?
>
> Python actually has a native mechanism for setting up package-specific
> search paths: https://docs.python.org/3/library/site.html
>
> In short, it looks for a file "package.pth" where additional search
> paths can be specified (other sys.path manipulations are allowed too).

Looks good at first sight.

> I asked Hartmut about this during the python-build-system refactoring,
> and the counter-argument was that if package A and B depends on
> different versions of package C, odd failures could occur. I'm not
> convinced propagation sidesteps this problem, however:
>
> https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00856.html

I think we’re in trouble anyway if multiple versions of a package end up
in the dependency graph because that’s not something Python supports
(the same is probably true for most languages, with the notable
exception of Node.)

Perhaps it would be worth making a PoC to see what happens with a small
set of packages?

(I’m not volunteering though, just trying to tweak others into doing
it.  :-))

Ludo’.

  reply	other threads:[~2017-06-10 13:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07  9:22 bug#27271: [PATCH 0/4] Catch collisions at profile creation time Ludovic Courtès
2017-06-07  9:25 ` bug#27271: [PATCH 1/4] profiles: Represent propagated inputs as manifest entries Ludovic Courtès
2017-06-07  9:25   ` bug#27271: [PATCH 2/4] profiles: Manifest entries keep a reference to their parent entry Ludovic Courtès
2017-06-07  9:25   ` bug#27271: [PATCH 3/4] guix package: Always upgrade packages that have propagated inputs Ludovic Courtès
2017-06-07  9:25   ` bug#27271: [PATCH 4/4] profiles: Catch and report collisions in the profile Ludovic Courtès
2017-06-09  1:42 ` bug#27271: [PATCH 0/4] Catch collisions at profile creation time Ricardo Wurmus
2017-06-09  9:41   ` Ludovic Courtès
2017-06-09 20:32     ` Marius Bakke
2017-06-10 13:39       ` Ludovic Courtès [this message]
2017-06-17  8:40         ` [bug#27271] Avoiding ‘propagated-inputs’ for Python dependencies Hartmut Goebel
2017-06-17  9:00         ` Hartmut Goebel
2017-06-17  9:28     ` [bug#27271] [PATCH 0/4] Catch collisions at profile creation time Ricardo Wurmus
2017-06-17 12:30       ` Ludovic Courtès
2017-06-21  9:07         ` bug#27271: " Ludovic Courtès

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=8737b80xn7.fsf_-_@gnu.org \
    --to=ludo@gnu.org \
    --cc=27271@debbugs.gnu.org \
    --cc=h.goebel@crazy-compilers.com \
    --cc=mbakke@fastmail.com \
    --cc=rekado@elephly.net \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).