thank you Maxime! with your guidance, i have managed to add guile-srfi-189 next to the other guile-srfi-NNN packages in guile-xyz.scm (a slightly tested diff is attached).
but when i grep for how these guile-srfi-NNN packages are actually used within guix, then i don't see any hits unfortunately. i tried the following to do a quick test of my new package: $ ./pre-inst-env guix shell guile-srfi-189 $ ./pre-inst-env guix repl scheme@(guix-user)> ,use (srfi srfi-189) While executing meta-command: no code for module (srfi srfi-189) how do i introduce it into the guix codebase, without breaking e.g. bootstrappability? i guess i need to add it as an input and a propagated-input to the guix package in package-management.scm? and then progress a kind of bootstrap stage/step, so that i can then `#:use-module (srfi srfi-189)` it in configuration.scm? probably by recording the new input as a commit, and then guix pull'ing it into my user's profile? and only after that can i start using it within the guix codebase? if that is the case, then is there a simpler/shorter way to test my new guile-srfi-189 package before i go through all this dance? pointers to readings are also welcome. or alternatively, if it's really this complicated, then i'd welcome if someone more experienced "documented" the process in the form of git commits... ;) -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “Lenin was certainly right. There is no subtler, no surer means of overturning the existing basis of society than to debauch the currency. The process engages all the hidden forces of economic law on the side of destruction, and does it in a manner which not one man in a million is able to diagnose.” — John Maynard Keynes (1883–1946), 'The Economic Consequences of the Peace' (1919)
From 6960b5ef6de9a90726c9aa0c13d9e864cc83cd6d Mon Sep 17 00:00:00 2001 From: Attila Lendvai <att...@lendvai.name> Date: Wed, 12 Jan 2022 19:57:32 +0100 Subject: [PATCH] Add guile-srfi-189. * gnu/packages/guile-xyz.scm (guile-srfi-189): New variable. --- gnu/packages/guile-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 74567830e6..9568055af6 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3173,6 +3173,52 @@ (define-public guile-srfi-180 API.") (license license:expat)))) +(define-public guile-srfi-189 + (let ((commit "a0e3786702956c9e510d92746474ac988c2010ec") + (revision "0")) + (package + (name "guile-srfi-189") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + ;; This is a fork of: + ;; (url "https://github.com/scheme-requests-for-implementation/srfi-189") + ;; Upstream merge requested at: + ;; https://github.com/scheme-requests-for-implementation/srfi-189/pull/21 + ;; TODO switch over to the official repo when the PR gets merged + (url "https://github.com/attila-lendvai-patches/srfi-189") + (commit commit))) + (sha256 + (base32 + "0iqv4sjwbp4k87r9l9abzbs5yjcljm69m91kb1ypb03b0rx7napy")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file "test-syntax.scm") + (delete-file "test.scm") + #t)) + (file-name (git-file-name name version)))) + (build-system guile-build-system) + (arguments + '(#:not-compiled-file-regexp "srfi/189\\.scm$")) + (native-inputs + (list guile-3.0)) + (propagated-inputs + (list guile-srfi-145)) + (home-page "https://srfi.schemers.org/srfi-189/") + (synopsis "Scheme SRFI implementation of Maybe and Either") + (description + "This SRFI defines two disjoint immutable container types known as +Maybe and Either, both of which can contain objects collectively known +as their payload. A Maybe object is either a Just object or the unique +object Nothing (which has no payload); an Either object is either a Right +object or a Left object. Maybe represents the concept of optional values; +Either represents the concept of values which are either correct (Right) +or errors (Left).") + (license license:expat)))) + (define-public emacsy (package (name "emacsy") -- 2.34.0