diff mbox series

[bug#49440,core-updates] : Compile bdw-gc with support for disclaim procedures

Message ID ca3b0ee52ab4855c5929d16ca88986825aa4c0ac.camel@telenet.be
State Accepted
Headers show
Series [bug#49440,core-updates] : Compile bdw-gc with support for disclaim procedures | expand

Commit Message

M July 6, 2021, 3 p.m. UTC
Hi guix,

Disclaim procedures do not seem to be used in the wild,
but seem useful for implementing ephemerons in Guile
(to be investigated), hence this patch.

Guile seems to start building fine when using a bdw-gc packave
with "--enable-disclaim" added (I'm using (package (inherit ...) ...),
but that was on master. I'll verify on core-updates, but building
things will take some time.

Greetings,
Maxime.

Comments

M July 9, 2021, 7:12 p.m. UTC | #1
Maxime Devos schreef op di 06-07-2021 om 17:00 [+0200]:
> Hi guix,
> 
> Disclaim procedures do not seem to be used in the wild,
> but seem useful for implementing ephemerons in Guile
> (to be investigated), hence this patch.
> 
> Guile seems to start building fine when using a bdw-gc packave
> with "--enable-disclaim" added (I'm using (package (inherit ...) ...),
> but that was on master. I'll verify on core-updates, but building
> things will take some time.

FWIW, I ran "./pre-inst-env guix build guile" and it succeeded.

Greetings,
Maxime.
Ludovic Courtès July 21, 2021, 2:30 p.m. UTC | #2
Hi Maxime,

Maxime Devos <maximedevos@telenet.be> skribis:

> Disclaim procedures do not seem to be used in the wild,
> but seem useful for implementing ephemerons in Guile
> (to be investigated), hence this patch.
>
> Guile seems to start building fine when using a bdw-gc packave
> with "--enable-disclaim" added (I'm using (package (inherit ...) ...),
> but that was on master. I'll verify on core-updates, but building
> things will take some time.

I have a slight preference for delaying ‘--enable-disclaim’ until we
have software that actually needs it.

WDYT?

Thanks,
Ludo’.
M July 21, 2021, 7:07 p.m. UTC | #3
Ludovic Courtès schreef op wo 21-07-2021 om 16:30 [+0200]:
> I have a slight preference for delaying ‘--enable-disclaim’ until we
> have software that actually needs it.
> 
> WDYT?

Makes sense to me.  I'll send a ping if (when?) I actually patch
Guile to use disclaim procedures.

The idea was to use ‘disclaim procedures’ for implementing ephemeral
hash tables (apparently ephemeral (not merely weak) hash tables are
required in ‘Spritely Goblins’, which currently only supports Racket
but Christopher Lemmer Webber intends to port to Guile at some point
or so I've understood).

Greetings,
Maxime.
M Sept. 6, 2022, 11:51 a.m. UTC | #4
wingo has been working on a new GC for guile that supports ephemerals, 
so I don't think this patch will be necessary anymore.

Closing,
Maxime.
diff mbox series

Patch

From 34f32618f8f9099eabbd7734337f455aa1c7e150 Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Tue, 6 Jul 2021 16:50:39 +0200
Subject: [PATCH core-updates] gnu: bdw-gc: Compile with support for disclaim
 procedures.

Disclaim procedures do not seem to be used in the wild,
but seem useful for implementing ephemerons in Guile
(to be investigated).

* gnu/packages/bdw-gc.scm
  (libgc)[arguments]<#:configure-flags>: Add --enable-disclaim.
---
 gnu/packages/bdw-gc.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 0d82889bac..dfa9a61101 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -4,6 +4,7 @@ 
 ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
 ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,6 +48,9 @@ 
        ;; Install gc_cpp.h et al.
        "--enable-cplusplus"
 
+       ;; Support GC_finalized_malloc and disclaim procedures.
+       "--enable-disclaim"
+
        ;; Work around <https://github.com/ivmai/bdwgc/issues/353>.
        "--disable-munmap"
 
-- 
2.32.0