summaryrefslogtreecommitdiff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm172
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+))))