all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Simon Tournier <zimon.toutoune@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix Devel <guix-devel@gnu.org>, Lars-Dominik Braun <lars@6xq.net>
Subject: Re: properties for default version? (was bug#60200: Incompatibilities between gcc-toolchain and R packages)
Date: Tue, 17 Jan 2023 19:48:51 +0100	[thread overview]
Message-ID: <873589ro8c.fsf@gmail.com> (raw)
In-Reply-To: <87v8l5dtxv.fsf@gnu.org>

Hi Ludo,

On mar., 17 janv. 2023 at 17:09, Ludovic Courtès <ludo@gnu.org> wrote:

>> For other cases, such issue is avoided by appending the suffix -next to
>> package name; as with ghc-next, python-numpy-next, emacs-next, etc.
>>
>> Personally, I find the -next trick useful because the package name
>> reflects that it is not the default.  However, it can be annoying to
>> update manifest files when this -next is becoming default.
>
> To me it’s mostly a packaging issue: I would expect ‘ocaml’ to be able
> to use ‘ocaml-ppxlib’.  If not, then it should indeed be ‘-next’.

Currently, yes it is a packaging issue.  And yes, the usual trick to fix
the issue is to append -next to the package name.  As I have tried to
explain in bug#60200 [1]. ;-)

About this -next, Lars’s answer is, quoting [2]:

        The -next suffix has the obvious disadvantage that
        specifications may become invalid as we move -next to the
        “regular” package. So maybe marking packages “default” like the
        attached patch does could improve the current situation. Not
        just for gcc, but also Haskell and Python come to mind.

Hence this discussion. :-)

The addition of a ’properties’ to make the difference between “current”
and “next” packages appears to be a cleaner fix than to append -next to
package name.

Consider the manifest:

    (specifications->manifest (list "ghc-next@9.2"))

and note that currently the Haskell compiler used by
haskell-build-system is ghc@8.10.7.

When this default is updated to an higher version of GHC, says version
9.4, then this manifest breaks because ghc-next@9.2 is renamed ghc@9.2;
the -next suffix is only applied to version higher than the one used by
the Haskell build system.


1: <http://issues.guix.gnu.org/msgid/86wn6nynp1.fsf@gmail.com>
2: <http://issues.guix.gnu.org/msgid/Y6LQs9+in964glaz@noor.fritz.box>


> I’m slightly reluctant because then you can have several packages that
> declare themselves as “default”, which looks weird.  Reasoning about why
> a given package was chosen would now involve more than version strings.

As similarly we can have several packages that declare themselves with
the same name and version. :-)

If we go for -next, then the two packages gcc-toolchain@{11,12} must be
renamed gcc-toolchain-next@{11,12} to be compliant and fixes bug#60200.


Why a given package was chosen as “default”?  Because the packages
marked as “default” are – if and only if several versions are publicly
declared – the ones used by the build-systems and also the ones with
many dependents as Numpy.  It avoids the -next dance.

Well, all in all this “default” property appears to me more elegant than
append -next to package name.

Cheers,
simon


      parent reply	other threads:[~2023-01-17 19:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-19 12:00 bug#60200: Incompatibilities between gcc-toolchain and R packages Lars-Dominik Braun
2022-12-19 23:32 ` zimoun
2022-12-21  9:24   ` Lars-Dominik Braun
2023-01-11 21:13     ` properties for default version? (was bug#60200: Incompatibilities between gcc-toolchain and R packages) Simon Tournier
2023-01-12  6:22       ` Csepp
2023-01-12  9:03       ` pukkamustard
2023-01-17 16:09       ` Ludovic Courtès
2023-01-17 18:41         ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
2023-01-17 18:48         ` Simon Tournier [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=873589ro8c.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=lars@6xq.net \
    --cc=ludo@gnu.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.