;; Drop into a development environment using
;;
;; guix shell
;;
;; Happy hacking!
(use-modules (gnu packages autotools)
((gnu packages base) #:select (gnu-make))
(gnu packages databases)
(gnu packages graphviz)
(gnu packages guile)
((gnu packages guile-xyz) #:select (guile-sparql) #:prefix guix:)
((gnu packages guile-xyz)
#:select (guile-dbi
guile-dsv
guile-hashing
guile-libyaml
guile-dbd-mysql))
((gnu packages rdf) #:select (raptor2))
(guix build-system gnu)
(guix git-download)
((guix licenses) #:prefix license:)
(guix packages))
;; Upstream guile-sparql tests are broken. Temporarily disable them.
(define guile-sparql
(package
(inherit guix:guile-sparql)
(arguments
`(#:tests? #f))))
(define run64
(package
(name "run64")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.systemreboot.net/run64")
(commit "e07c1f90f5436559839dea7c0231dd3ee36678ce")))
(file-name (git-file-name name version))
(sha256
(base32
"1la0x80b9s6am3hag0ijnvli3fzaa4iiiqm7dmwnyyhpd6n24jqn"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "prefix=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://run64.systemreboot.net")
(synopsis "SRFI-64 test runner for Scheme")
(description "run64 is a SRFI-64 test runner for Scheme.")
(license license:gpl3+)))
(packages->manifest
(list gnu-make guile-3.0 guile-dbi guile-dbd-mysql guile-zlib
guile-json-4 guile-dsv
;; We abuse (ccwl graphviz) as a library to visualize the database
;; schema. Hence we need ccwl and guile-libyaml.
;; ccwl graphviz
guile-hashing guile-libyaml guile-sparql
raptor2 run64 virtuoso-ose mariadb))