all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: Csepp <raingloom@riseup.net>, Guix Devel <guix-devel@gnu.org>
Cc: pukkamustard <pukkamustard@posteo.net>
Subject: Re: Packaging OCaml repositories that define multiple packages?
Date: Sun, 08 Jan 2023 16:17:20 +0100	[thread overview]
Message-ID: <663DEABC-D27B-4E6F-B0E8-4B2ADF609F4A@lepiller.eu> (raw)
In-Reply-To: <867cxxxgfv.fsf@riseup.net>

[-- Attachment #1: Type: text/plain, Size: 1678 bytes --]

The importer will not support such a package. As you say, it wants to build them separately because they are separate opam packages. So, either we build them separately too, or we build all at once.

If we build all at once, that's fine. You could name the package ocaml-mirage and not use any #:package argument. Dune will then build all packages from the repository.

One issue with that is that the importer will not know about it and will try to import subpackages again whenever a packages depends on it, instead of using ocaml-mirage.

I don't like the alias solution, though it should work, since the importer would see them.

Le 8 janvier 2023 15:04:35 GMT+01:00, Csepp <raingloom@riseup.net> a écrit :
>I'm going through my MirageOS commits for what is hopefully the last
>time before I send the patches and I realized that a problem that I
>thought was isolated is a lot more widespread than I thought.
>
>As an example look at https://github.com/mirage/mirage/
>
>It defines functoria, functoria-runtime, mirage, and mirage-runtime.
>
>It is possible to build all 4 as one package.
>
>The opam importer seems to not be able to handle situations like this,
>since it defines a new package for each sub-package.
>
>How should I proceed?  I definitely want to merge all redundant packages
>into one, but then what?  How should the package description reflect
>this?  What should the package be named when it corresponds to 4 OPAM
>packages at once?
>
>For now I defined a few aliases for cases like this, but I'm not sure if
>this is ideal.  They look like this (made up but possible example):
>(define ocaml-mirage ocaml-mirage-runtime)

[-- Attachment #2: Type: text/html, Size: 2018 bytes --]

  reply	other threads:[~2023-01-08 15:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-08 14:04 Packaging OCaml repositories that define multiple packages? Csepp
2023-01-08 15:17 ` Julien Lepiller [this message]
2023-01-08 19:52   ` Csepp
2023-01-09  1:37     ` Csepp
2023-01-09  7:17       ` pukkamustard
2023-01-09 12:07         ` Csepp

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=663DEABC-D27B-4E6F-B0E8-4B2ADF609F4A@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=guix-devel@gnu.org \
    --cc=pukkamustard@posteo.net \
    --cc=raingloom@riseup.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 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.