all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: 44882@debbugs.gnu.org
Subject: [bug#44882] Dependencies issues
Date: Fri, 4 Dec 2020 14:56:14 -0500	[thread overview]
Message-ID: <X8qUXq1paMFJwt2V@jasmine.lan> (raw)
In-Reply-To: <ff11ad2f-aa74-64db-d7ba-820e4b8fdd81@mailbox.org>

On Sat, Nov 28, 2020 at 09:53:20AM +0100, Tomás Ortín Fernández via Guix-patches via wrote:
> I have realized this patch isn't correct. I hadn't tested it on a clean environment before.
> Solargraph requires Rubocop 0.52 (!). In fact, the current version of Solargraph doesn't currently work, either: there are version issues with Rubocop and with ruby-thor.

Okay, thanks for the followup email.

> I need a more-or-less current Solargraph and Rubocop, that's why I have been updating some packages, but I realize now I wasn't doing it properly and that I'm getting tangled into a web of dependencies issues.
> 
> How should I proceed? Clearly Rubocop should be updated, but I don't know how to keep Solargraph working and how to figure out which packages will need to be updated or checked in case they need an older version of Rubocop.

It's not clear to me exactly what is wrong, so I can't give specific
advice. If Solargraph is not currently working, you don't need to "keep
it working" while doing other work, right?

To check what packages will be rebuilt if the Rubocop package changes,
you can use `guix refresh --list-dependents ruby-rubocop`. Building and
testing the packages listed by that command will allow you to test the
impact of any changes to ruby-rubocop.

Currently, our ruby-rubocop package is at version 0.88.0. We don't
usually downgrade packages, but you can add another package based on the
earlier version 0.52. For example, something like this (untested!):

------
(define-public ruby-rubocop-0.52
  (package
    (inherit ruby-rubocop)
    (version "0.52")
    (source (origin [...]))))
------

... then use ruby-rubocop-0.52 as an input to the Solargraph package.

In general, dealing with complex dependency graphs while updating
packages is hard, but Guix makes it easier. I would start at the top of
the graph: try building the new Solargraph, see which dependencies are
too old, update them, repeat. Once Solargraph is working, you can use
`guix refresh --list-dependents` for each changed package, fix any
breakage, and so on.

Does that make sense? Please don't hesitate to keep asking for advice,
here or on our Freenode IRC channel #guix




  reply	other threads:[~2020-12-04 20:41 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-26 10:02 [bug#44882] [PATCH] gnu: ruby-solargraph: Update to 0.39.17 and add two dependencies Tomás Ortín Fernández via Guix-patches via
2020-11-28  8:53 ` [bug#44882] Dependencies issues Tomás Ortín Fernández via Guix-patches via
2020-12-04 19:56   ` Leo Famulari [this message]
2020-12-28  1:17   ` Björn Höfling
2020-12-04 19:44 ` [bug#44882] [PATCH] gnu: ruby-solargraph: Update to 0.39.17 and add two dependencies Leo Famulari
2021-02-25 22:47 ` Björn Höfling
2021-02-25 22:47 ` Björn Höfling

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=X8qUXq1paMFJwt2V@jasmine.lan \
    --to=leo@famulari.name \
    --cc=44882@debbugs.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.