Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 705554 - dev-scheme/guile-3.0.4 version bump
Summary: dev-scheme/guile-3.0.4 version bump
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Scheme Project
Depends on:
Reported: 2020-01-16 12:37 UTC by Jeroen Roovers (RETIRED)
Modified: 2023-03-03 21:53 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---

guile-3.0.0-stack-grows-up.patch (guile-3.0.0-stack-grows-up.patch,309 bytes, patch)
2020-01-16 12:37 UTC, Jeroen Roovers (RETIRED)
Details | Diff
.ebuild for 3.0.4 - patch in FILES renamed accordingly (guile-3.0.4.ebuild,1.38 KB, text/plain)
2020-10-05 11:17 UTC, Cedric Sodhi

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2020-01-16 12:37:12 UTC
Created attachment 603442 [details, diff]

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).
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2020-01-16 12:38:31 UTC
- The prebuilt issue from bug #676468 was not fixed in this release.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2020-01-17 16:22:11 UTC
This would also require a sub-SLOT (or better yet, a normal SLOT, see bug #689408).
Comment 3 Anton Kochkov 2020-03-23 04:55:37 UTC
There 3.0.1 bugfix release also

> 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.
Comment 4 Anton Kochkov 2020-04-27 05:48:32 UTC
This patch is not required with the 3.0.2 I believe, so the keyword might be removed.
Comment 5 Cedric Sodhi 2020-10-05 11:16:30 UTC
Can we please just update to the current 3 release before being concerned with the finer details and subtle issues that might arise?
Comment 6 Cedric Sodhi 2020-10-05 11:17:18 UTC
Created attachment 663853 [details]
.ebuild for 3.0.4 - patch in FILES renamed accordingly
Comment 7 Larry the Git Cow gentoo-dev 2020-10-05 20:07:07 UTC
The bug has been referenced in the following commit(s):

commit 48d334d335e508843e01686e55cdf5ca3beec366
Author:     Sam James <>
AuthorDate: 2020-10-05 20:05:20 +0000
Commit:     Sam James <>
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.
    Package-Manager: Portage-3.0.4, Repoman-3.0.1
    Signed-off-by: Sam James <>

 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(+)
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2021-05-14 08:52:39 UTC
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/")'

guile-2 has no equivalent interface:

$ guile -c '(dynamic-link "/lib64/")'
           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/") #<directory (gu…>)
           0 (dynamic-link "/lib64/")

ERROR: In procedure dynamic-link:
In procedure dynamic-link: file: "/lib64/", message: "file not found"

Lack of direct library loading makes it hard to package guile-zlib (a dependency of guix).
Comment 9 Erik Bäckman 2023-03-03 21:50:45 UTC
Any updates on this? What needs to be done?
Comment 10 Maciej Barć gentoo-dev 2023-03-03 21:53:49 UTC
(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: