unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Sharlatan Hellseher <sharlatanus@gmail.com>
To: 68835@debbugs.gnu.org
Cc: dev@jpoiret.xyz, zimon.toutoune@gmail.com, othacehe@gnu.org,
	ludo@gnu.org, me@tobias.gr, rekado@elephly.net, guix@cbaines.net
Subject: bug#68835: Resolving package inheritance issue
Date: Wed, 31 Jan 2024 01:01:55 +0000	[thread overview]
Message-ID: <87sf2es4cc.fsf@gmail.com> (raw)

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


Hi Guix!

> ./etc/teams.scm cc core
- guix@cbaines.net
- dev@jpoiret.xyz
- ludo@gnu.org
- othacehe@gnu.org
- rekado@elephly.net
- zimon.toutoune@gmail.com
- me@tobias.gr

Long story short, how to resolve package inheritance which would not
break CI ;-) ?

While reviewing and amending patch series from
<https://issues.guix.gnu.org/61946> I've stabilized it on my local
checkout, which passed complete reconfigure and rebuild few times
(not...).

When I've pushed changes to <https://git.savannah.gnu.org/cgit/guix.git>
the commit f8c2d8141efef4565d12d8247bade069889b720e broke CI
<https://ci.guix.gnu.org/eval/1086875/log/raw>.

--8<---------------cut here---------------start------------->8---
In unknown file:
           6 (primitive-load-path "gnu/packages/web" #<procedure 7f79c08dc920 at ice-9/boot-9.scm:3551:37 ()>)
In ice-9/eval.scm:
    619:8  5 (_ #f)
   626:19  4 (_ #<directory (gnu packages web) 7f79c17a2820>)
   173:55  3 (_ #(#(#(#<directory (gnu packages web) 7f79c17a2820> "minify") #<procedure arguments (a)>) #<procedu?>))
    159:9  2 (_ #(#(#(#<directory (gnu packages web) 7f79c17a2820> "minify") #<procedure arguments (a)>) #<procedu?>))
   223:20  1 (proc #(#(#(#<directory (gnu packages web) 7f79c17a2820> "minify") #<procedure arguments (a)>) #<proc?>))
In unknown file:
           0 (%resolve-variable (7 . go-github-com-tdewolff-minify-v2) #<directory (gnu packages web) 7f79c17a2820>)

ERROR: In procedure %resolve-variable:
error: go-github-com-tdewolff-minify-v2: unbound variable
--8<---------------cut here---------------end--------------->8---

My rational was to keep golang module in (gnu packages golang-web) and
the new inherited package providing executable in (gnu packages web)
which introduced the regression.

Here it is that bad boy!
--8<---------------cut here---------------start------------->8---
(define-public minify
  (package
    (inherit go-github-com-tdewolff-minify-v2)
    (name "minify")
    (arguments
     (substitute-keyword-arguments
         (package-arguments go-github-com-tdewolff-minify-v2)
       ((#:install-source? _ #t) #f)
       ((#:import-path _ "github.com/tdewolff/minify/v2")
        "github.com/tdewolff/minify/cmd/minify")))
    (inputs
     (list go-github-com-djherbis-atime
           go-github-com-dustin-go-humanize
           go-github-com-fsnotify-fsnotify
           go-github-com-matryer-try
           go-github-com-spf13-pflag))))
--8<---------------cut here---------------end--------------->8---

Having that all too close to my heart I've pushed revert commit
c4687f5437ad89a7e87deed1933b60f6eac83176 wich fixed CI and `guix pull`.

I've started reviewing what could be wrong and maybe the current split
process of (gnu packages golang) into logical modules e.g. golang-xyz,
golang-check, golang-crypto, golang-web introduced deep level of
circular dependencies among Guile modules.

I search for solutions to mitigate the introduced issue.

My plan is to start cleaning up dependency to (gnu packages golang) for
each recently introduced module by moving packages away from it into
groups.

I would be appreciated on any documentation link or examples in code
where package inheritance is used to source package from other module
^.^

Regards,
Oleg

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

             reply	other threads:[~2024-01-31  1:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-31  1:01 Sharlatan Hellseher [this message]
2024-01-31 10:41 ` bug#68835: Resolving package inheritance issue Josselin Poiret via Bug reports for GNU Guix
2024-02-12  4:53   ` Maxim Cournoyer
2024-02-01 13:27 ` Simon Tournier

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=87sf2es4cc.fsf@gmail.com \
    --to=sharlatanus@gmail.com \
    --cc=68835@debbugs.gnu.org \
    --cc=dev@jpoiret.xyz \
    --cc=guix@cbaines.net \
    --cc=ludo@gnu.org \
    --cc=me@tobias.gr \
    --cc=othacehe@gnu.org \
    --cc=rekado@elephly.net \
    --cc=zimon.toutoune@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).