aboutsummaryrefslogtreecommitdiff
path: root/guix.scm
diff options
context:
space:
mode:
authorArun Isaac2021-08-27 05:49:11 -0500
committerArun Isaac2021-08-27 05:49:11 -0500
commitb6cb5c4d2c64781122223d4ee100a0d6f3dd03b9 (patch)
tree0b53ac191d07c4599d2b58c0d2a96561bcb23cf1 /guix.scm
downloadgn-transform-databases-b6cb5c4d2c64781122223d4ee100a0d6f3dd03b9.tar.gz
Initial commit
Diffstat (limited to 'guix.scm')
-rw-r--r--guix.scm88
1 files changed, 88 insertions, 0 deletions
diff --git a/guix.scm b/guix.scm
new file mode 100644
index 0000000..b7aa107
--- /dev/null
+++ b/guix.scm
@@ -0,0 +1,88 @@
+;; Drop into a development environment using
+;;
+;; guix environment -m guix.scm
+;;
+;; Happy hacking!
+
+(use-modules (gnu packages autotools)
+ (gnu packages compression)
+ (gnu packages databases)
+ (gnu packages guile)
+ ((gnu packages guile-xyz) #:prefix guix:)
+ (gnu packages perl)
+ (gnu packages python)
+ (gnu packages python-web)
+ (gnu packages rdf)
+ (gnu packages tls)
+ (gnu packages web)
+ (guix build-system gnu)
+ (guix git-download)
+ ((guix licenses) #:prefix license:)
+ (guix packages)
+ (guix utils))
+
+;; Guix's guile-dbi package is missing a native-search-paths. Add
+;; it. TODO: Contribute upstream.
+(define guile-dbi
+ (package
+ (inherit guix:guile-dbi)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LD_LIBRARY_PATH")
+ (files '("lib")))))))
+
+(define guile-dbi-bootstrap
+ (package
+ (inherit guix:guile-dbi)
+ (name "guile-dbi-bootstrap")
+ (inputs '())
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-dbi)
+ ((#:make-flags _) '(list))))))
+
+;; TODO: Contribute guile-dbd-mysql upstream.
+(define guile-dbd-mysql
+ (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b")
+ (revision "0"))
+ (package
+ (name "guile-dbd-mysql")
+ (version (git-version "2.1.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opencog/guile-dbi")
+ (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 directory specific to guile-dbd-mysql.
+ (chdir "guile-dbd-mysql"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("guile-dbi-bootstrap" ,guile-dbi-bootstrap)
+ ("libtool" ,libtool)
+ ("openssl" ,openssl)
+ ("perl" ,perl)))
+ (inputs
+ `(("mysql" ,mysql)
+ ("zlib" ,zlib)))
+ (synopsis "Guile DBI driver for MySQL")
+ (home-page "https://github.com/opencog/guile-dbi/tree/master/guile-dbd-mysql")
+ (description "@code{guile-dbi} is a library for Guile that provides a
+convenient interface to SQL databases. This package implements the interface
+for MySQL.")
+ (license license:gpl2+))))
+
+(packages->manifest
+ (list guile-3.0 guile-dbi guile-dbd-mysql
+ python python-rdflib python-urllib3))