-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
guile: update to 3.0.9, fix ppc; guile2: old guile goes here #14600
Conversation
@kencu The port has no maintainers, so I guess we have to decide anyway. |
Looks like there is a problem with parsing the ending portion of the portfile where a part is commented out inside brackets. I will fix that today. |
@barracuda156 does any port depends on |
@catap Not many; with a previous @2.9.9 (which in fact reports itself as @3.0) I have built @kencu On a side note, why does the macos-10.15 bot report this error?
What does that even mean? ) |
@kencu Okay, another ten hours, and I can confirm that |
@kencu I agree that making an old version as |
It's a bit more complicated. The new guile2 port has to be
|
@kencu Got it. Can someone take care of that? These are nuances specific to Macports internals, which I am not aware of. Or if there is a transparent step-wise instruction, I can do that, of course. |
Building |
By default, when a GitHub action fails, any workflows that are still running are cancelled. Running more tests doesn't help much when there are already errors to fix. It's more useful to have the bots running on other PRs. The macOS 11 build failed, so the 10.15 build was cancelled. Hence the obscure error :) |
Took a while, since in VM. |
I am in charge of nothing, but unless the above comments about making a guile2 port happen are done then many things will break I think. |
What do you think a painless transition could be? Maybe a technically easier, though perhaps less consistent, would be just introduce |
Both OpenBSD and NetBSD decided to keep all three major versions of Guile as separate ports: |
@barracuda156 just an idea split it into commits:
|
|
Sounds reasonable, but I haven't had a chance to review all of the details and prior discussion. |
this was always the recommended plan, but turned out to be harder than it looks when previously tried. see my june 10 comment above, for one example |
oh, whether the newest guile is numbered or not is a small thing. Parallel installs of the various guile versions was the thing thst takes a bit of coding for someone |
What example do we have to avoid conflicts in such cases? |
@barracuda156 I suggest to start to figure out: did glue2 and glue3 had compatibily API? If no => separated ports. If yes => you may simple update the port. If ABI is different => you must increase revision of all ports which is depends on it. |
As the very minimum, dependents may need patches to configure scripts to recognize |
Don't worry about it, I'll take care of it when I have time |
I did it and it's working: I can compile mu +guile. thank's I hope it will be soon in the "real" macports tree. |
This is closing in on two years old. I would like to suggest that we close it for now, and that when someone has time to work on the problem, they can reopen it. |
@pmetzger We do not gain anything by having all this wasted. In the worst case guile3 can be added as a new port, which will not require any changes to existing ones. Then switching to the new guile3 can be done separately. @mascguy Or you still intend to complete this in the present form, which is more demanding, admittedly? |
@barracuda156 Nothing is wasted. It's simply a change of notation on the pull request. Nothing prevents continuing work, changing the state back to open, opening new PRs, etc. I do want to emphasize that the PR queue is meant for things that can be pulled now. The proliferation of drafts that are never progressed is not really what the queue is for. If one is working on a project, one can do so at will without having to invoke the queue. One can even run the CI in one's own fork of the repo at will. However on the objeject level here, given the length of time involved, I think your approach of creating a guile3 port and then moving things over one by one seems least intrusive. |
As explained above, I'm closing this for now. It can be re-opened when someone wants to, or a guile3 port can be started to make the transition easier, or some other method can be chosen. |
It's great that someone is working on the transition to guile 3, thanks for that! The |
@lemzwerg There are two options here:
A technical complication is that some number of guile-related ports are likely to be just broken (unrelated to this PR), and that will prevent CI from passing. I have no write access to the repo, so cannot help here. Someone should make a judgement whether specific ports are fixable, and if not, merge the PR regardless.
|
Alas, I'm not a real Mac user at all, just helping maintain the LilyPond port; I have only sporadic access to an old Lion box, which is not really helpful here. BTW, Perry already voiced his opinion above to proceed with your option 2. |
@@ -106,11 +106,12 @@ set py_ver_nodot [string map {. {}} ${py_ver}] | |||
|
|||
# Either 'pango' or 'pango-devel' will do, thus we depend on its | |||
# pkgconfig file. | |||
set guile_ver 3.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's better if you restrict guile 3 to the lilypond-devel
subport.
Ping! |
Just a friendly reminder: What ultimately stopped progress on this, is issues with Guile 3.x. (And back when I investigated 6+ months ago, it also appeared to affect the Guile 3.x cask from brew. So it's not a MacPorts-specific issue.) Haven't returned to it since, so there's a chance it's been fixed by upstream. But if not, then we need to engage with upstream, to get it fixed. |
@mascguy I think that at least on our side chances of it getting fixed increase substantially with having a port to begin with. This of course does not mean that other ports should be switched to the new Guile without verifying if that works, as it happens with some other languages ) |
Well, the problem is that it's pointless to add a Guile 3.x port, until/unless it actually works. And the failure mentioned earlier is fatal, blocking any potential use by dependents. |
Although you're right, it's a chicken-and-egg issue. So we can certainly add a Guile 3.x port in isolation, so long as the port clearly states that it's not ready for consumption. How does that sound? |
@mascguy Yes, as the first step it will be good, and done that way it is safe. |
Another ping – guile is now available as version 3.0.10... |
I need to build it locally first. It takes a lot of time, but I will try to make it in coming days. |
@lemzwerg You might try making a pull request of your own. |
@pmetzger Sorry, but I have no access to a Mac right now, and I'm actually not a Mac user at all – I just try to take care of LilyPond, which needs guile 3 for current development versions. |
@lemzwerg I will try to make it in coming days. As discussed above, it will not be in a form of this (closed) PR, but rather as a new |
Comment from the peanut gallery: I have working guile30 Portfile. The pkg-config example from above works, all tests do pass (this required 10 patches that I will be sending upstream later; I was surprised how Linux and Hurd centric Guile currently is). I will write an email to the mailing list with few questions and then work on preparing a pull request which will include guile -> guile22 transition and guile_select port. FWIW I intend to put myself into the maintainers field. |
@graywolf Oh, great, please handle this. It would be nice if you pick fixes for legacy systems from my portfile (though if it is problematic, I can do a separate PR for those). I.e. from here: https://github.com/barracuda156/powerpc-ports/blob/009a424aaa540181c7f8ffc9fd3aef0889ccf58c/lang/guile-3.0/Portfile |
First, a disclaimer: I am new to both macports and (more importantly) to apple ecosystem (I simply got handed a macbook pro at work, not by choice). So I might not see some details that seem obvious to other people. I think I would prefer to get the guile rework merged in the form I currently have and then fix portability issues later. I think I managed to keep the Portfile pretty simple, so I would like to complicate it only when necessary and as little as possible. However few questions if I might:
|
Well, as you can see, the PR here was not merged. I kept the upgrade locally.
If the flags are present in earlier guile ports, they are just borrowed. If not, then they were added to fix some errors. Since many month passed, now I cannot say why something was done. For sure nothing was added just for the sake of making a port more complicated. |
@graywolf I wouldn't worry about PPC support anyway. @barracuda156 can fix that up after you have a draft that works correctly for a new Guile. Just do your best based on the MacPorts documentation and existing models, and make a pull request. |
Yeah, if it was not explicit, I am not expecting or asking anyone to test this for ppc or introduce specific fixes. |
So lets consider #25319 starting point for the discussion. |
Description
Long due version update for
guile
, patch forppc32
.Old 2.2.7 moved to a new port,
guile2
.Type(s)
Tested on
macOS 10.8.5 (
x86_64
)Xcode 5.1.1
macOS 10.6.8 Server (
ppc
,x86_64
)Xcode 3.2.6
macOS 10A190 (
ppc
)Xcode 3.2
Installation of both new
guile
andguile2
(old 2.2.7) tested on 10.6.8 Intel. Won’t bother repeat on PPC, takes forever.New
guile
builds on PPC, at least ppc32.