From fbde1198a2386874e059faf8b3afdd09288bc7aa Mon Sep 17 00:00:00 2001 From: Arne Babenhauserheide Date: Wed, 22 Mar 2023 18:32:08 +0100 Subject: [PATCH] gnu: create tunable guile@3.0.9t that uses tunable bdw-gc * gnu/packages/bdw-gc.scm (libgc/tunable): new derived package with (tunable? . #t) property. * gnu/packages/guile.scm (guile-3.0-latest/tunable): new derived package with (tunable? . #t) property that uses libgc/tunable as propagated input. --- gnu/packages/bdw-gc.scm | 8 ++++++++ gnu/packages/guile.scm | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index ae0d761ac3..a5a58da877 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -96,6 +96,14 @@ (define-public libgc (license (x11-style (string-append home-page "license.txt"))))) +(define-public libgc/tunable + (package + (inherit libgc) + (properties + '((release-monitoring-url . "https://www.hboehm.info/gc/gc_source/") + (upstream-name . "gc") + (tunable? #t))))) + ;; TODO: Add a static output in libgc in the next rebuild cycle. (define-public libgc/static-libs (package/inherit diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2fd9b711ce..715f5c7a61 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -419,6 +419,28 @@ (define-public guile-3.0-latest "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))) '()))))))) +(define-public guile-3.0-latest/tunable + (package + (inherit guile-3.0-latest) + (version "3.0.9t") + (source (origin + (inherit (package-source guile-3.0)) + (uri (string-append "mirror://gnu/guile/guile-" + (string-delete #\t version) + ".tar.xz")) + (sha256 + (base32 + "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs")))) + (propagated-inputs + (modify-inputs (package-propagated-inputs guile-3.0-latest) + (replace "bdw-gc" libgc/tunable) + )) + + (properties '((tunable? . #t) ;this is the point of this package + (timeout . 72000) ;20 hours + (max-silent-time . 36000))))) ;10 hours (needed on ARM + ; when heavily loaded) + ;;; The symbol guile-3.0/fixed should be used when guile-3.0 needs fixes ;;; (security or else) and this deprecation could be removed. (define-deprecated/public-alias guile-3.0/fixed guile-3.0/pinned) -- 2.39.2