mbox series

[bug#55612,0/2] Update guile-hall to 0.4.1.

Message ID 20220524132642.14122-1-higashi@taiju.info
Headers show
Series Update guile-hall to 0.4.1. | expand

Message

Taiju HIGASHI May 24, 2022, 1:26 p.m. UTC
Hi,

Since I wanted to update guile-hall to 0.4.1, I tried to update the dependent
library guile-config to 0.5.0. However, the incompatible change of
guile-config 0.5.0 made it impossible to build gwl. Therefore, I would like to
address this by temporarily adding a variant called guile-config-0.5.

Cheers

Taiju HIGASHI (2):
  gnu: Add guile-config-0.5.
  gnu: guile-hall: Update to 0.4.1.

 gnu/packages/guile-xyz.scm | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

--
2.36.0

Comments

M May 24, 2022, 2:10 p.m. UTC | #1
Taiju HIGASHI schreef op di 24-05-2022 om 22:26 [+0900]:
> Since I wanted to update guile-hall to 0.4.1, I tried to update the dependent
> library guile-config to 0.5.0. However, the incompatible change of
> guile-config 0.5.0 made it impossible to build gwl. Therefore, I would like to
> address this by temporarily adding a variant called guile-config-0.5.

Would it be feasible to make gwl compatible with 0.5.0?  Otherwise, it
becomes impossible to install 'guile-hall' and the dependencies of
'gwl' in the same profile due to propagation conflicts, which can be
rather inconvenient

Greetings,
Maxime.
Taiju HIGASHI May 24, 2022, 2:20 p.m. UTC | #2
Hi Maxime,

Thanks for your reply.
I see. So separating the packages doesn't solve anything because of the
conflicts that occur?
I'll see if I can fix gwl to solve this.

Cheers
M May 24, 2022, 2:26 p.m. UTC | #3
Taiju HIGASHI schreef op di 24-05-2022 om 23:20 [+0900]:
> I see. So separating the packages doesn't solve anything because of the
> conflicts that occur?

Depends on how things are used.  If you install two applications (*)
'foo' and 'bar' in the same profile that use different versions of
guile-config: no problem.  If you are developing both 'foo' and 'bar'
in the same session, e.g. with "guix shell -D foo -D bar", then there's
a problem because the profile can contain only a single version of
their dependency guile-config (**).  Some other problematic variations
are possible too.

(*) Normally applications don't propagate anything, they just put
things in 'inputs' and use sufficient amount of wrapping to avoid
propagation.

(**) IIUC, "guix shell -D" currently silently picks one version or the
other
Taiju HIGASHI May 26, 2022, 1:10 a.m. UTC | #4
Hi Maxime,

Thanks!

I did not know that installing both packages in the same profile would
not cause problems.
It doesn't seem to be a problem in my usual use cases, but it is not
desirable.

I wrote a patch for gwl to fix building errors. However,  I'm not
confident that patch, because I'm not familiar with gwl much, so I ask
in the gwl-devel mailing list whether my patch not have any problems.
Ludovic Courtès June 3, 2022, 9:23 p.m. UTC | #5
Hi,

Taiju HIGASHI <higashi@taiju.info> skribis:

> Thanks for your reply.
> I see. So separating the packages doesn't solve anything because of the
> conflicts that occur?
> I'll see if I can fix gwl to solve this.

Indeed, I get this:

--8<---------------cut here---------------start------------->8---
$ guix build gwl --with-latest=guile-config
guix build: warning: cannot authenticate source of 'guile-config', version 0.5.1
updating checkout of 'https://gitlab.com/a-sassmannshausen/guile-config'...
retrieved commit 6a00702d044663fef6d6d619f4aeb75417e1b10b
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://guix.bordeaux.inria.fr'... 100.0%
The following derivations will be built:
  /gnu/store/9xnjw36mzhshqh3x7vmwi6q45v10i7rc-gwl-0.4.0.drv
  /gnu/store/0mwhz53h7whs3nahiv6d8drclqajz282-guile-config-0.5.1.drv
  /gnu/store/z9vkfyxlsnh1v2v4mmbdymxwza1dwmd3-guile-config-0.5.1-checkout.drv

[…]

starting phase `build'
  GEN      guix/extensions/workflow.scm
mv -f "guix/extensions/workflow.scm-t" "guix/extensions/workflow.scm"
  GEN      gwl/config.go
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Syntax error:
gwl/config.scm:66:8: argument: extraneous field initializers (optional?) in form (argument (name (quote file)) (optional? #f) (test file-exists?) (handler identity) (example "/path/to/my-workflow.w"))
make: *** [Makefile:1574: gwl/config.go] Error 1
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("GUILE_AUTO_COMPILE=0") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 0.3 seconds
command "make" "GUILE_AUTO_COMPILE=0" failed with status 2
builder for `/gnu/store/9xnjw36mzhshqh3x7vmwi6q45v10i7rc-gwl-0.4.0.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

How about one of these two options:

  1. Provide both versions of guile-config, use the old one in GWL, at
     the risk of preventing installation of guile-hall + gwl in the same
     profile (which is probably not much of a problem in practice).

  2. Patch GWL so it works with the latest guile-config.

That should unblock the situation.  WDYT?

Thanks,
Ludo’.
Taiju HIGASHI June 3, 2022, 10:24 p.m. UTC | #6
Hi Ludovic,

Thank you for the comment!

>How about one of these two options:
>
>  1. Provide both versions of guile-config, use the old one in GWL, at
>     the risk of preventing installation of guile-hall + gwl in the same
>     profile (which is probably not much of a problem in practice).
>
>  2. Patch GWL so it works with the latest guile-config.
>
>That should unblock the situation.  WDYT?

The second option is preferable and is currently being worked on.

I have the patch reviewed for adequacy.

https://lists.gnu.org/archive/html/gwl-devel/2022-05/msg00010.html
https://lists.gnu.org/archive/html/gwl-devel/2022-06/msg00000.html

Cheers,
--
Taiju
Ricardo Wurmus July 6, 2022, 8:40 a.m. UTC | #7
The GWL now supports guile-config 0.5.x.  My apologies for the delay.

Taiju Higashi, could you please update your patch so that it updates to
guile-config 0.5.1?  Once ready I can apply it.  Thanks!

(The GWL should get a new release soon, but that shouldn’t block this
issue.)