diff options
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r-- | gnu/packages/guile-xyz.scm | 135 |
1 files changed, 118 insertions, 17 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 231a1149a8..f5fcc5059c 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2023 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com> +;;; Copyright © 2024 Artyom Bologov <mail@aartaka.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1326,8 +1327,8 @@ works with Guile 1.4.x to 2.0.x.") (license license:gpl3+))) (define-public guile-prometheus - (let ((commit "4aaf902eb45b3a4c1003f854bda56c516fdf4f5b") - (revision "6")) + (let ((commit "e63335e64a1f63967b94ba6dd97889f9f565ca48") + (revision "7")) (package (name "guile-prometheus") (version (git-version "0" revision commit)) @@ -1338,7 +1339,7 @@ works with Guile 1.4.x to 2.0.x.") (commit commit))) (sha256 (base32 - "03sr7wgksi9ys6jyzsnwanl2qqa8csi8jzcgrc3wfzp17vcc16yi")) + "0f8rykqx3mdbi7mgvvanx65i9gn5wmb768vlzrbg002v38284bf2")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (native-inputs @@ -2025,8 +2026,8 @@ for MySQL.") (license license:gpl2+))) (define-public guile-lmdb - (let ((commit "438143ca9ba157faec6f4c2740092c31c733fbfe") - (revision "0")) + (let ((commit "ea9aa1d4b13e03f9fd23ec73d8884f4fae79666b") + (revision "1")) (package (name "guile-lmdb") (version (git-version "0.0.1" revision commit)) @@ -2038,7 +2039,7 @@ for MySQL.") (file-name (git-file-name name version)) (sha256 (base32 - "0p43c8ppbhzpi944in0z2jqr7acl8pm7s1x0p5f0idqda6n6f828")))) + "1li92ldyjvbqkhqnkndgw0jk1avkzq9jkbmk8dqiby4na72sxi8k")))) (build-system guile-build-system) (arguments (list @@ -2059,7 +2060,8 @@ for MySQL.") Most names are the same as LMDB ones, except for prefix absence. Several conveniences are added on top: @itemize -@item @code{call-with-env-and-txn} and @code{call-with-cursor} wrappers. +@item @code{call-with-env-and-txn}, @code{call-with-cursor}, and +@code{call-with-wrapped-cursor} helpers and respective @code{with-} macros. @item @code{for-cursor} procedure for cursor iteration. @item @code{val} and @code{stat} types. @item Error signaling instead of integer return values. @@ -2311,12 +2313,12 @@ user which package sets would they like to install from it.") (invoke "guild" "compile" "-L" module-dir file "-o" go))) (find-files module-dir "\\.scm$"))))) + (add-after 'unpack 'make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads)) (add-after 'install 'install-emacs-files (assoc-ref emacs:%standard-phases 'install)) (add-after 'install-emacs-files 'compile-emacs-files - (assoc-ref emacs:%standard-phases 'build)) - (add-after 'compile-emacs-files 'make-autoloads - (assoc-ref emacs:%standard-phases 'make-autoloads))))) + (assoc-ref emacs:%standard-phases 'build))))) (home-page "https://www.draketo.de/english/wisp") (inputs (list guile-3.0)) @@ -2492,7 +2494,7 @@ capabilities.") (setenv "DISPLAY" ":1") #t))))) (inputs - (list guile-3.0 guile-lib glib-next)) + (list guile-3.0 guile-lib glib)) (native-inputs (list autoconf automake @@ -2725,14 +2727,14 @@ library.") (define-public guile-lib (package (name "guile-lib") - (version "0.2.7") + (version "0.2.8") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-lib/guile-lib-" version ".tar.gz")) (sha256 (base32 - "1ph4z4a64m75in36pdb4dw63dzdq3hdgh16gq33q460jby23pvz4")))) + "1nb7swbliw9vx1ivhgd2m0r0p7nlkszw6s41zcgfwb5v1kp05sb4")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings @@ -3484,7 +3486,7 @@ from @code{tree-il}.") (define-public guile-hoot (package (name "guile-hoot") - (version "0.3.0") + (version "0.4.0") (source (origin (method url-fetch) (uri (string-append "https://spritely.institute/files/releases" @@ -3492,7 +3494,7 @@ from @code{tree-il}.") version ".tar.gz")) (sha256 (base32 - "1zgcp7xnx84gwdpxj0wga7xrcxcifp9fyp06b6d54gbxq4as8an1")))) + "0mlj9b9dzhd8k8jg9fgwxyxdy8rsynfq81vm00rjgbh2ivpgr3x2")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0" @@ -4253,7 +4255,7 @@ debugging code.") (define-public guile-png (package (name "guile-png") - (version "0.7.2") + (version "0.7.3") (source (origin (method git-fetch) (uri (git-reference @@ -4262,7 +4264,7 @@ debugging code.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1ad03r84j17rwfxbxqb0qmf70ggqs01kjyman3x1581lm5dk1757")))) + "0hgdp8fgyg6rdy130fsn4nnb58c98lsrayjyy5491l53814ggy65")))) (build-system gnu-build-system) (arguments (list @@ -4517,6 +4519,45 @@ default dynamic library path. There are up to three bindings for each function: raw, typed, and functional.") (license license:lgpl3+)))) +(define-public guile-gsl + (let ((commit "e6d1477b0d0456f500c32610a5cae6ebb1b8acfe") + (revision "0")) + (package + (name "guile-gsl") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aartaka/guile-gsl") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b4brimmg3phahia9dm0wkcp1f29wnbvmi0q8di5sz7pf7qjzsy0")))) + (build-system guile-build-system) + (arguments + (list + #:source-directory "modules" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'substitute-gsl-so + (lambda _ + (let ((gsl (string-append #$(this-package-input "gsl") + "/lib/libgsl.so")) + (gslcblas (string-append #$(this-package-input "gsl") + "/lib/libgslcblas.so"))) + (substitute* '("modules/gsl/core.scm") + (("libgsl.so") gsl) + (("libgslcblas.so") gslcblas)))))))) + (native-inputs (list guile-3.0)) + (inputs (list guile-3.0 gsl)) + (home-page "https://github.com/aartaka/guile-gsl") + (synopsis "Bindings for GNU Scientific library in Guile") + (description + "This package provides a Guile Scheme wrapper for @code{libgsl.so}. +Implements vector, matrix,and BLAS operations.") + (license license:gpl3+)))) + (define-public guile-ffi-fftw (let ((commit "294ad9e7491dcb40026d2fec9be2af05263be1c0") (revision "2")) @@ -5454,6 +5495,66 @@ using a short read-capability.") (home-page "https://codeberg.org/eris/guile-eris") (license license:gpl3+))) +(define-public guile-rsv + (let ((commit "41b04c85eef31d4d51001c6d66e8fd339fcc614c") + (revision "1")) + (package + (name "guile-rsv") + (version (git-version "0.2.0" revision commit)) + (home-page "https://codeberg.org/kakafarm/guile-rsv/") + (source + (origin + (uri (git-reference (url home-page) (commit commit))) + (method git-fetch) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1w9jbkpmh13zrxkj915nm3l537smm0jsrdzrzcxylb6w59vqpw6l")))) + (inputs (list guile-3.0 bash)) + (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")) + ;; bin directory for PATH. + (site-version (target-guile-effective-version)) + (scm (string-append "/share/guile/site/" + site-version)) + (go (string-append "/lib/guile/" site-version + "/site-ccache"))) + (mkdir-p bin) + (for-each (lambda (command-name) + (let ((source-script (string-append #$output + scm "/" + command-name + ".scm")) + (target-command (string-append + bin "/" + command-name))) + (symlink source-script target-command) + (wrap-program target-command + #:sh (which "bash") + `("GUILE_LOAD_PATH" prefix + (,(string-append #$output scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append #$output go)))))) + (list "scm2rsv" "rsv2scm")))))))) + (synopsis "Reading and writing @acronym{RSV, rows of string values} data format") + (description + "R7RS-small Scheme library for reading and writing @acronym{RSV, rows +of string values} data format, a very simple binary format for storing tables +of strings. It is a competitor for CSV (Comma Seperated Values) and TSV (Tab +Separated Values). Its main benefit is that the strings are represented as +Unicode encoded as UTF-8, and the value and row separators are byte values +that are never used in UTF-8, so the strings do not need any error prone +escaping and thus can be written and read verbatim. + +The RSV format is specified in +@url{https://github.com/Stenway/RSV-Specification}.") + (license license:gpl3+)))) + (define-public guile-r6rs-protobuf (package (name "guile-r6rs-protobuf") |