guix-kakafarm-channel

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 2722b53b556b6d7514f77f2a53ae1660c1e727ce
parent ed2b9ec803fa6b815f8c3baaaea7386b1520d443
Author: Yuval Langer <yuval.langer@gmail.com>
Date:   Mon, 11 Dec 2023 00:14:43 +0200

Add guile-srfi-232 for the SRFI-232 module.  It omits testing and documentation.

Diffstat:
Mkakafarm/packages/guile-xyz.scm | 173+++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 112 insertions(+), 61 deletions(-)

diff --git a/kakafarm/packages/guile-xyz.scm b/kakafarm/packages/guile-xyz.scm @@ -16,69 +16,120 @@ (define-public guile-clipboard-speaker (let ((git-repository-url "https://codeberg.org/kakafarm/guile-clipboard-speaker/")) (package - (name "guile-clipboard-speaker") - (version "0.1") - (source - (origin - (uri (git-reference - (url git-repository-url) - (commit "8b493f674c1f42c480c582d10cd50bdae0926555"))) - (method git-fetch) - (file-name (git-file-name name version)) - (sha256 (base32 "0ll75spzzmsvc57y4rnd0il7zvlai4q3imva4ildf66gghflhqf5")))) - (native-inputs - (list guile-3.0)) - (inputs - (list bash - coreutils - xsel - guile-3.0 - guile-config - guile-srfi-145 - guile-srfi-180 - espeak-ng)) - (build-system guile-build-system) - (arguments - (list - #:phases - #~(modify-phases - %standard-phases - (add-after 'install 'link-and-wrap-executable - (lambda _ - (let* ((bin (string-append #$output "/bin")) - (script (string-append bin "/clipboard-speaker")) - (site-version (target-guile-effective-version)) - (scm (string-append "/share/guile/site/" - site-version)) - (go (string-append "/lib/guile/" - site-version - "/site-ccache")) - (guile-config #$(this-package-input "guile-config")) - (guile-srfi-145 #$(this-package-input "guile-srfi-145")) - (guile-srfi-180 #$(this-package-input "guile-srfi-180"))) - (mkdir-p bin) - (symlink (string-append #$output scm "/clipboard-speaker.scm") - script) - (wrap-program script #:sh (which "bash") - `("GUILE_LOAD_PATH" prefix - (,(string-append #$output scm) - ,(string-append guile-config scm) - ,(string-append guile-srfi-145 scm) - ,(string-append guile-srfi-180 scm))) - `("GUILE_LOAD_COMPILED_PATH" prefix - (,(string-append #$output go) - ,(string-append guile-config go) - ,(string-append guile-srfi-145 go) - ,(string-append guile-srfi-180 go)))))))))) - (home-page git-repository-url) - (synopsis "Accessibility tool that reads the contents of your clipboard buffer") - (description "This package installs the clipboard-speaker executable. + (name "guile-clipboard-speaker") + (version "0.1") + (source + (origin + (uri (git-reference + (url git-repository-url) + (commit "8b493f674c1f42c480c582d10cd50bdae0926555"))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 (base32 "0ll75spzzmsvc57y4rnd0il7zvlai4q3imva4ildf66gghflhqf5")))) + (native-inputs + (list guile-3.0)) + (inputs + (list bash + coreutils + xsel + guile-3.0 + guile-config + guile-srfi-145 + guile-srfi-180 + espeak-ng)) + (build-system guile-build-system) + (arguments + (list + #:phases + #~(modify-phases + %standard-phases + (add-after 'install 'link-and-wrap-executable + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (script (string-append bin "/clipboard-speaker")) + (site-version (target-guile-effective-version)) + (scm (string-append "/share/guile/site/" + site-version)) + (go (string-append "/lib/guile/" + site-version + "/site-ccache")) + (guile-config #$(this-package-input "guile-config")) + (guile-srfi-145 #$(this-package-input "guile-srfi-145")) + (guile-srfi-180 #$(this-package-input "guile-srfi-180"))) + (mkdir-p bin) + (symlink (string-append #$output scm "/clipboard-speaker.scm") + script) + (wrap-program script #:sh (which "bash") + `("GUILE_LOAD_PATH" prefix + (,(string-append #$output scm) + ,(string-append guile-config scm) + ,(string-append guile-srfi-145 scm) + ,(string-append guile-srfi-180 scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append #$output go) + ,(string-append guile-config go) + ,(string-append guile-srfi-145 go) + ,(string-append guile-srfi-180 go)))))))))) + (home-page git-repository-url) + (synopsis "Accessibility tool that reads the contents of your clipboard buffer") + (description "This package installs the clipboard-speaker executable. An accessibility tool that reads the contents of the clipboard. I can read the current selection or the clipboard. Select a bunch of text, press a keybinding / shortcut you've set in the windows manager, and clipboard-speaker would read that aloud.") - (license license:agpl3+)))) + (license license:agpl3+)))) + +(define-public guile-srfi-232 + (package + (name "guile-srfi-232") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/scheme-requests-for-implementation/srfi-232") + (commit "c3f580d220778cd71492aba4fdd0c7040968e705"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lp4zcqjjj6hwfh3ix71wak1nffgg4npzsg7cdxfn9hf6iwf9xby")))) + (build-system guile-build-system) + (arguments + (list + #:phases + #~(modify-phases + %standard-phases + (add-after 'unpack 'move-and-delete-things + (lambda _ + (let* ((srfi-directory (string-append #$output "/srfi"))) + (mkdir-p "srfi") + (with-output-to-file "srfi/srfi-232.scm" + (lambda () + (display "(define-library (srfi srfi-232) + (export curried define-curried) + (import (only (guile) import) + (scheme base)) + (include \"../srfi-232.scm\"))"))) + (for-each (lambda (filename) + (delete-file filename)) + '("test-body.scm" + "test-chibi.scm" + "test-srfi-64.scm")))))))) + (native-inputs + (list guile-3.0)) + (home-page "https://github.com/scheme-requests-for-implementation/srfi-232") + (synopsis "Flexible curried procedures") + (description + "Scheme lacks a flexible way to create and apply curried +procedures. This SRFI describes curried, a variant of lambda that +creates true curried procedures which also behave just like ordinary +Scheme procedures. They can be applied to their arguments one by one, +all at once, or anywhere in between, without any novel syntax. +curried also supports nullary and variadic procedures, and procedures +created with it have predictable behavior when applied to surplus +arguments.") + (license license:expat))) -;; This allows you to run guix shell -f example.scm. -;; Remove this line if you just want to define a package. -guile-clipboard-speaker +;;; This allows you to run guix shell -f example.scm. +;;; Remove this line if you just want to define a package. +;;;guile-clipboard-speaker