Opened 5 years ago
Closed 2 months ago
#60139 closed update (fixed)
Guile 3 is out
Reported by: | casouri (Yuan Fu) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | dsedivec, szhorvat (Szabolcs Horvát), dglb | |
Port: | guile |
Description
Could someone update guile to version 3.0.0?
Change History (11)
comment:1 Changed 5 years ago by mf2k (Frank Schima)
comment:2 Changed 5 years ago by dsedivec
Cc: | dsedivec added |
---|
comment:3 Changed 4 years ago by szhorvat (Szabolcs Horvát)
@mf2k, what would be the procedure here? Perhaps rename the current port to guile22
and let guile
be version 3.0? Note that there is already a guile18
port and it should be possible to have several versions installed concurrently.
comment:4 Changed 4 years ago by szhorvat (Szabolcs Horvát)
Cc: | szhorvat added |
---|
comment:5 Changed 4 years ago by szhorvat (Szabolcs Horvát)
For reference, these are the direct dependent of the guile
port (not including dependents of guile18
):
$ port echo 'depends:(^|\W)guile(\W|$)' autogen denemo g-wrap geda-gaf gnotime gnucash gnucash-devel harminv libctl mdk slib-guile swig-guile swig3-guile
Thanks to @neverpanic for the search expression!
comment:6 follow-ups: 7 8 Changed 4 years ago by szhorvat (Szabolcs Horvát)
I gave up on this, but I'll add a few notes in the hope that they'll save others some time.
Several of the current ports do not work with guile 3.0. In many cases, the first problem is that their build system looks specifically for version 2.2. Therefore, it would make sense to provide three versions concurrently: guile18
(existing) guile22
(current version should be renamed) and guile
3.0. Guile supports parallel installations: https://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html
The --program-suffix=22
configure script option can be used to add 22
to the end of all executable names. It will rename most, but not all things that may conflict. The guile18
port does not use this mechanism, I do not know why. Perhaps guile's configure script didn't support it at that time. But it can be used for version 2.2. Note that not everything will be renamed accordingly. Notably, the texinfo documentation pages and guile.m4
need to be renamed manually or deleted (see how guile18
does this).
After this is done, not everything will be working as it should when version 3.0 and 2.2 are installed concurrently. Some dependent ports will detect the guile-2.2
_libraries_, but will pick up the guile
(i.e. version 3.0) executable instead of guile22
and throw an error due to the version mismatch. This is possibly because of the installed guile.m4
file, which provides information to the configure script. I don't have enough knowledge about autoconf to be able to patch this, but I note that guile18
patches it extensively.
guile does install version-specific pkgconfig files (guile-2.2.pc
and guile-3.0.pc
) which contain the correct executable names. Those packages that use pkgconfig to detect guile should work fine. Those that don't can perhaps be patched to use it.
Some dependents are old an unmaintained, e.g. g-wrap
had its last release in 2015. I wouldn't hold my breath to see these updated for guile 3.0 compatibility. The build systems of these likely will also need patching do actually pick up version 2.2. g-wrap
specifically doesn't even have dependents in MacPorts so it may be a candidate for removal.
Most dependents of guile
in MacPorts are nomaintainer
, so if you take up this task, you'll be on your own.
comment:7 Changed 3 years ago by barracuda156
Replying to szhorvat:
I gave up on this, but I'll add a few notes in the hope that they'll save others some time.
Several of the current ports do not work with guile 3.0. In many cases, the first problem is that their build system looks specifically for version 2.2.
This problem can be easily solved by patching configure
and adding 3.0 into corresponding test.
comment:8 Changed 2 years ago by barracuda156
Replying to szhorvat:
I gave up on this, but I'll add a few notes in the hope that they'll save others some time.
Should be soon fixed: https://github.com/macports/macports-ports/pull/14600
comment:9 Changed 12 months ago by dglb
Cc: | dglb added |
---|
comment:10 Changed 2 months ago by graywolf (W.)
Guile 3 is now available as guile-3.0, but I forgot to link this ticket in the commits. Can someone with permissions please close it?
comment:11 Changed 2 months ago by reneeotten (Renee Otten)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Can you submit a GitHub pull request to update it and increase the revision of all dependents? Since this port has no maintainer and has many dependents, it is not likely to get updated until an interested and knowledgable person does this. All of the dependents need to be checked to make sure they don't break.