Created attachment 603442 [details, diff] guile-3.0.0-stack-grows-up.patch Guile 3.0.0 has been released with a long list of changes and probably some backward compatibility problems. - It left a stack direction problem in continuations.c on architectures where the stack grows up, for which a patch is attached. - It adds JIT support for some architectures but not others, which should be enabled through IUSE=jit (it can be left to automatic detection, too).
(cont.) - The prebuilt issue from bug #676468 was not fixed in this release.
This would also require a sub-SLOT (or better yet, a normal SLOT, see bug #689408).
There 3.0.1 bugfix release also https://www.gnu.org/software/guile/news/gnu-guile-301-released.html > Among the bug fixes is a significant performance improvement for applications making heavy use of bignums, such as the compiler. Also included are fixes for an embarrassing bug in the `include` directive, for the `hash` procedure when applied to keywords and some other objects, portability fixes, and better R7RS support. https://lists.gnu.org/archive/html/guile-devel/2020-03/msg00012.html
This patch is not required with the 3.0.2 I believe, so the keyword might be removed.
Can we please just update to the current 3 release before being concerned with the finer details and subtle issues that might arise?
Created attachment 663853 [details] .ebuild for 3.0.4 - patch in FILES renamed accordingly
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48d334d335e508843e01686e55cdf5ca3beec366 commit 48d334d335e508843e01686e55cdf5ca3beec366 Author: Sam James <sam@gentoo.org> AuthorDate: 2020-10-05 20:05:20 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2020-10-05 20:07:02 +0000 dev-scheme/guile: bump to 3.0.4 (masked) Masking this for testing in case of compatibility problems. Guile is not slotted right now, so committing unmasked initially could mean various packages breaking. Bug: https://bugs.gentoo.org/705554 Bug: https://bugs.gentoo.org/689408 Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Sam James <sam@gentoo.org> dev-scheme/guile/Manifest | 1 + dev-scheme/guile/guile-3.0.4.ebuild | 72 +++++++++++++++++++++++++++++++ profiles/arch/amd64/package.use.mask | 5 +++ profiles/arch/arm/armv7a/package.use.mask | 6 +++ profiles/arch/arm64/package.use.mask | 5 +++ profiles/arch/base/package.use.mask | 5 +++ profiles/arch/x86/package.use.mask | 6 +++ profiles/package.mask | 7 +++ 8 files changed, 107 insertions(+)
Among other things guile-3 allows library loading by their absolute name (for gentoo's zlib it's the only option to make it work at all): $ guile -c '(dynamic-link "/lib64/libz.so.1")' <ok> guile-2 has no equivalent interface: $ guile -c '(dynamic-link "/lib64/libz.so.1")' Backtrace: 5 (apply-smob/1 #<catch-closure 7f682ca25240>) In ice-9/boot-9.scm: 705:2 4 (call-with-prompt ("prompt") #<procedure 7f682ca3e720 …> …) In ice-9/eval.scm: 619:8 3 (_ #(#(#<directory (guile-user) 7f682c69a140>))) In ice-9/command-line.scm: 181:18 2 (_ #<input: string 7f682c6b8a80>) In unknown file: 1 (eval (dynamic-link "/lib64/libz.so.1") #<directory (gu…>) 0 (dynamic-link "/lib64/libz.so.1") ERROR: In procedure dynamic-link: In procedure dynamic-link: file: "/lib64/libz.so.1", message: "file not found" Lack of direct library loading makes it hard to package guile-zlib (a dependency of guix).
Any updates on this? What needs to be done?
(In reply to contact from comment #9) > Any updates on this? What needs to be done? - guile eclass to pick proper guile version for build and runtime - proper SLOTting a'la python_compat - testing if any builds break So, quite a lot, because of stale packages depending on guile 2.0, see: https://bugs.gentoo.org/746914
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a8e4918d692387e41f5e322448aecf09920b0ec commit 9a8e4918d692387e41f5e322448aecf09920b0ec Author: Arsen Arsenović <arsen@gentoo.org> AuthorDate: 2023-03-26 20:56:58 +0000 Commit: Arsen Arsenović <arsen@gentoo.org> CommitDate: 2024-08-18 17:43:14 +0000 dev-scheme/guile: add properly slotted revisions Bug: https://bugs.gentoo.org/689408 Bug: https://bugs.gentoo.org/640116 Bug: https://bugs.gentoo.org/746914 Bug: https://bugs.gentoo.org/705554 Signed-off-by: Arsen Arsenović <arsen@gentoo.org> dev-scheme/guile/guile-2.2.7-r100.ebuild | 93 +++++++++++++++++++++++++++++++ dev-scheme/guile/guile-3.0.10-r100.ebuild | 91 ++++++++++++++++++++++++++++++ dev-scheme/guile/guile-3.0.10.ebuild | 2 +- dev-scheme/guile/metadata.xml | 9 +++ profiles/package.mask | 7 +++ 5 files changed, 201 insertions(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=549cdd3ac1db8f08ca7cab1aff9244a2acb5a340 commit 549cdd3ac1db8f08ca7cab1aff9244a2acb5a340 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-09-27 15:04:37 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-09-27 15:04:58 +0000 profiles: drop legacy guile masks too Missed in b1875a96f478b575e0387f097ae0575d548ba09c. Bug: https://bugs.gentoo.org/436400 Bug: https://bugs.gentoo.org/689408 Bug: https://bugs.gentoo.org/705554 Signed-off-by: Sam James <sam@gentoo.org> profiles/package.mask | 14 -------------- 1 file changed, 14 deletions(-)