unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "宋文武 via Guix-patches via" <guix-patches@gnu.org>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>
Cc: 65550@debbugs.gnu.org, 宋文武 <iyzsong@member.fsf.org>
Subject: [bug#65550] [PATCH] profiles: Don't propagate inputs for non-development packages.
Date: Sun, 27 Aug 2023 15:30:05 +0800	[thread overview]
Message-ID: <87edjpaqo2.fsf@envs.net> (raw)
In-Reply-To: <851f008ab9e989badb8bcb10f4b7eee5bc5616c0.camel@gmail.com> (Liliana Marie Prikler's message of "Sat, 26 Aug 2023 16:21:34 +0200")

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Am Samstag, dem 26.08.2023 um 21:53 +0800 schrieb iyzsong@envs.net:
>> From: 宋文武 <iyzsong@member.fsf.org>
>> 
>> * guix/profiles.scm (package->manifest-entry): Only include
>> propagated inputs from a package for its "dev" output, or its "out"
>> output if the package doesn't have a "dev" one.
>> ---
> I think this patch misses the most obvious use case of the out:lib
> split.  I also think that hardcoding this list is bound to fail.

Ah, that's true.  We currently put both headers and pkgconfig files in
the "lib" output, I think we should put those files into "dev" instead,
only leave shared libraries in "lib" (then we don't need propagated it
anymore).

And I did a test to find packages with "lib" and propagated-inputs:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu packages)
             (guix packages)
             (srfi srfi-1)
             (ice-9 pretty-print))

(define x
  (delete-duplicates
   (fold-packages
    (lambda (package result)
      (if (and (member "lib" (package-outputs package))
               (not (null? (package-propagated-inputs package))))
          (cons (package-name package) result)
          result))
    '())))

(pretty-print x)
--8<---------------cut here---------------end--------------->8---
Only hwloc and apache-arrow, and 24 packages (uniqued by name) have
a "lib" output, seems doable.


> Instead, we could for the time being solve this with yet another
> package property.
>   '((propagate-inputs-from "lib")) ; but not out
>   '((propagate-inputs-from . ("lib"))) ; same meaning, different style
>   '((propagate-inputs-from "out" "lib")) ; but not doc
> If the property is missing, we still propagate from all outputs, as is
> currently done.
>
> WDYT?

Yes, a property is more flexible here, haven't think about it.  Well I
wishful think if we always follow a good convention (put development
files in "dev" or "out"), then maybe we can saving some bytes in code?
I'd like to split more packages with multiple outputs with "dev" to see
how the convention works out.  If not then we could take this 'property'
way.

Thanks!




  reply	other threads:[~2023-08-27  7:31 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-26 11:36 Don't add propagated-inputs for all outputs 宋文武
2023-08-26 13:53 ` [bug#65550] [PATCH] profiles: Don't propagate inputs for non-development packages iyzsong--- via Guix-patches via
2023-08-26 14:21   ` Liliana Marie Prikler
2023-08-27  7:30     ` 宋文武 via Guix-patches via [this message]
2023-08-27  9:31       ` Liliana Marie Prikler
2023-08-29 10:24         ` 宋文武 via Guix-patches via
2023-08-29 17:01           ` Liliana Marie Prikler
2023-08-30 10:55             ` 宋文武 via Guix-patches via
2023-09-01  2:16           ` [bug#65550] Don't add propagated-inputs for all outputs Maxim Cournoyer
2023-08-27  7:34     ` [bug#65550] [PATCH] profiles: Don't propagate inputs for non-development packages Josselin Poiret via Guix-patches via
2023-09-01  2:34     ` [bug#65550] Don't add propagated-inputs for all outputs Maxim Cournoyer
2023-09-01 12:53       ` 宋文武 via Guix-patches via
2023-09-01 15:03         ` Maxim Cournoyer
2023-09-02  0:43           ` bug#65550: " 宋文武 via Guix-patches via
2023-09-09 10:38   ` [bug#65550] [PATCH] profiles: Don't propagate inputs for non-development packages 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=87edjpaqo2.fsf@envs.net \
    --to=guix-patches@gnu.org \
    --cc=65550@debbugs.gnu.org \
    --cc=iyzsong@envs.net \
    --cc=iyzsong@member.fsf.org \
    --cc=liliana.prikler@gmail.com \
    /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).