diff options
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r-- | gnu/packages/guile-xyz.scm | 172 |
1 files changed, 159 insertions, 13 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 5c6a6c7e0b..ae05197e16 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -45,8 +45,10 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages ed) + #:use-module (gnu packages emacs) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) @@ -62,6 +64,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages readline) @@ -84,7 +87,7 @@ (define-public artanis (let ((release "0.3.1") - (revision 0)) + (revision 0)) (package (name "artanis") (version (if (zero? revision) @@ -151,6 +154,13 @@ #:test-target "test" #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-site-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "artanis/commands/help.scm" + (("\\(%site-dir\\)") + (string-append "\"" + (assoc-ref outputs "out") + "/share/guile/site/2.2\""))))) (add-before 'install 'substitute-root-dir (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -161,14 +171,16 @@ (mkdir-p (string-append out "/bin")) ;for the `art' executable #t))) (add-after 'install 'wrap-art - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (scm (string-append out "/share/guile/site/2.2")) (go (string-append out "/lib/guile/2.2/site-ccache"))) (wrap-program (string-append bin "/art") - `("GUILE_LOAD_PATH" ":" prefix (,scm)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go))) + `("GUILE_LOAD_PATH" ":" prefix + (,scm ,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))) #t)))))) (synopsis "Web application framework written in Guile") (description "GNU Artanis is a web application framework written in Guile @@ -548,6 +560,45 @@ HTML (via SXML) or any other format for rendering.") It has a nice, simple s-expression based syntax.") (license license:lgpl3+))) +(define-public guile-squee + (let ((commit "a85902a92bf6f58a1d35fd974a01ade163deda8d") + (revision "0")) + (package + (name "guile-squee") + (version (string-append "0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cwebber/guile-squee.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p1lpsp4kx57j3ai1dkxilm4ziavzzx8wbbc42m3hpziq0a7qz5z")))) + (build-system guile-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "squee.scm" + (("dynamic-link \"libpq\"") + (string-append + "dynamic-link \"" + (assoc-ref inputs "postgresql") "/lib/libpq.so" + "\""))) + #t))))) + (inputs + `(("postgresql" ,postgresql))) + (native-inputs + `(("guile" ,guile-2.2))) + (home-page "https://notabug.org/cwebber/guile-squee") + (synopsis "Connect to PostgreSQL using Guile") + (description + "@code{squee} is a Guile library for connecting to PostgreSQL databases +using Guile's foreign function interface.") + (license license:lgpl3+)))) + (define-public guile-colorized (package (name "guile-colorized") @@ -1045,8 +1096,10 @@ library}.") (list (string-append "--with-guile-site-dir=" %output "/share/guile/site/2.2")) #:make-flags - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib:" - (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib")) + (list (string-append + "LDFLAGS=-Wl,-rpath=" %output "/lib:" + (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib" ":" + (assoc-ref %build-inputs "guile-dbd-postgresql") "/lib")) #:phases (modify-phases %standard-phases (add-after 'install 'patch-extension-path @@ -1058,7 +1111,8 @@ library}.") (substitute* dbi.scm (("libguile-dbi") ext)) #t)))))) (inputs - `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3))) ; only shared library, no scheme files + `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3) + ("guile-dbd-postgresql" ,guile-dbd-postgresql))) ; only shared library, no scheme files (propagated-inputs `(("guile" ,guile-2.2))) (synopsis "Guile database abstraction layer") @@ -1105,6 +1159,62 @@ It currently supports MySQL, Postgres and SQLite3.") SQL databases. This package implements the interface for SQLite.") (license license:gpl2+))) +(define-public guile-dbd-postgresql + (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b") + (revision 0)) + (package + (name "guile-dbd-postgresql") + (version (string-append + "2.1.6-" (number->string revision) "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opencog/guile-dbi.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n1gv9a0kdys10a4qmnrwvg5sydwb03880asri4gqdchcj3fimni")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the relevant directory. + (chdir "guile-dbd-postgresql") + #t)) + (add-after 'chdir 'patch-src/Makefile.am + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/Makefile.am" + (("/usr/include") + (string-append (assoc-ref inputs "postgresql") "/include"))) + #t)) + (add-after 'patch-src/Makefile.am 'patch-src + (lambda _ + (substitute* "src/guile-dbd-postgresql.c" + (("postgresql/libpq-fe\\.h") "libpq-fe.h")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("automake" ,automake) + ("autoconf" ,autoconf) + ("perl" ,perl) + ("libtool" ,libtool) + ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) + (inputs + `(("postgresql" ,postgresql) + ("zlib" ,zlib))) + (synopsis "Guile DBI driver for PostgreSQL") + (home-page + "https://github.com/opencog/guile-dbi/tree/master/guile-dbd-postgresql") + (description + "@code{guile-dbi} is a library for Guile that provides a convenient +interface to SQL databases. This package implements the interface for +PostgreSQL.") + (license license:gpl2+)))) + (define-public guile-config (package (name "guile-config") @@ -1236,7 +1346,7 @@ The library is shipped with documentation in Info format and usage examples.") (define-public guile-wisp (package (name "guile-wisp") - (version "0.9.9") + (version "0.9.9.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/ArneBab/" @@ -1244,13 +1354,18 @@ The library is shipped with documentation in Info format and usage examples.") version ".tar.gz")) (sha256 (base32 - "1xa0f0fvcrimqap50azv5872bfx8jbhc6baxa1prpbwcksbh8gdz")))) + "1ii14qz1lx7ffhb8i9q7dgaiwbif8g2q182skx17j11skp65c8r3")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) + ((guix build emacs-build-system) #:prefix emacs:) (guix build utils) + (guix build emacs-utils) (ice-9 rdelim) (ice-9 popen)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) #:phases (modify-phases %standard-phases (add-before 'configure 'patch-/usr/bin/env @@ -1284,12 +1399,19 @@ The library is shipped with documentation in Info format and usage examples.") (invoke "guild" "compile" "-L" module-dir file "-o" go))) (find-files module-dir "\\.scm$")) - #t)))))) + #t))) + (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))))) (home-page "https://draketo.de/english/wisp") (inputs `(("guile" ,guile-2.2))) (native-inputs - `(("python" ,python) + `(("emacs" ,emacs-minimal) + ("python" ,python) ("pkg-config" ,pkg-config))) (synopsis "Whitespace to lisp syntax for Guile") (description "Wisp is a syntax for Guile which provides a Python-like @@ -1715,14 +1837,14 @@ interface for reading articles in any format.") (define-public guile-redis (package (name "guile-redis") - (version "1.0.0") + (version "1.3.0") (home-page "https://github.com/aconchillo/guile-redis") (source (origin (method url-fetch) (uri (string-append home-page "/archive/" version ".tar.gz")) (sha256 (base32 - "1dp5fmqvma59pvp1nfpq6hqgbmjici8sd1y8llahl87fynw1dvr9")))) + "1li70a2716my9q9zfq0qn2x5d1cir9k2vx0jm9glm464yaf1vj39")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1839,3 +1961,27 @@ format is also supported.") (define-public mcron2 ;; This was mthl's mcron development branch, and it became mcron 1.1. (deprecated-package "mcron2" mcron)) + +(define-public guile-picture-language + (let ((commit "1531116036d1b5e0d2482ff2c8d77ad21f1d2bef") + (revision "1")) + (package + (name "guile-picture-language") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.elephly.net/software/guile-picture-language.git") + (commit commit))) + (sha256 + (base32 + "04salmqf5x84vb3qkkxx47b64jyl290zsf3ik81l9hg6fwvvlmq3")))) + (build-system guile-build-system) + (inputs + `(("guile" ,guile-2.2))) + (home-page "https://git.elephly.net/software/guile-picture-language.git") + (synopsis "Picture language for Guile") + (description + "This package provides a simple SVG-based picture language for Guile. +The picture values can directly be displayed in Geiser.") + (license license:lgpl3+)))) |