gnu: Add ephemeralpg.
This is a general utility, but I'm particularly interested in using this to enable build time tests for the guix-data-service package. * gnu/packages/databases.scm (ephemeralpg): New variable.master
parent
e9d48bdad4
commit
6fc03fccd4
|
@ -216,6 +216,68 @@ standard Go idioms.")
|
||||||
(home-page "http://labix.org/mgo")
|
(home-page "http://labix.org/mgo")
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public ephemeralpg
|
||||||
|
(package
|
||||||
|
(name "ephemeralpg")
|
||||||
|
(version "2.8")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://eradman.com/ephemeralpg/code/ephemeralpg-"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:make-flags (list "CC=gcc"
|
||||||
|
(string-append "PREFIX=" %output))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(replace 'check
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; The intention for one test is to test without PostgreSQL on
|
||||||
|
;; the $PATH, so replace the test $PATH with just the util-linux
|
||||||
|
;; bin, which contains getopt. It will hopefully be possible to
|
||||||
|
;; remove this for releases after 2.8.
|
||||||
|
(substitute* "test.rb"
|
||||||
|
(("/bin:/usr/bin")
|
||||||
|
(string-append (assoc-ref inputs "util-linux")
|
||||||
|
"/bin")))
|
||||||
|
;; Set the LC_ALL=C as some tests use sort, and the locale
|
||||||
|
;; affects the order. It will hopefully be possible to remove
|
||||||
|
;; this for releases after 2.8.
|
||||||
|
(setenv "LC_ALL" "C")
|
||||||
|
(invoke "ruby" "test.rb")
|
||||||
|
#t))
|
||||||
|
(add-after 'install 'wrap
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
(wrap-program (string-append out "/bin/pg_tmp")
|
||||||
|
`("PATH" ":" prefix
|
||||||
|
(,(string-append (assoc-ref inputs "util-linux")
|
||||||
|
"/bin")
|
||||||
|
,(string-append (assoc-ref inputs "postgresql")
|
||||||
|
"/bin")
|
||||||
|
;; For getsocket
|
||||||
|
,(string-append out "/bin")))))
|
||||||
|
#t)))))
|
||||||
|
(inputs
|
||||||
|
`(("postgresql" ,postgresql)
|
||||||
|
("util-linux" ,util-linux)))
|
||||||
|
(native-inputs
|
||||||
|
`(("ruby" ,ruby)))
|
||||||
|
(home-page "http://eradman.com/ephemeralpg/")
|
||||||
|
(synopsis "Run temporary PostgreSQL databases")
|
||||||
|
(description
|
||||||
|
"@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks
|
||||||
|
like running software test suites. Temporary databases created with
|
||||||
|
@code{pg_tmp} have a limited shared memory footprint and are automatically
|
||||||
|
garbage-collected after a configurable number of seconds (the default is
|
||||||
|
60).")
|
||||||
|
(license license:isc)))
|
||||||
|
|
||||||
(define-public es-dump-restore
|
(define-public es-dump-restore
|
||||||
(package
|
(package
|
||||||
(name "es-dump-restore")
|
(name "es-dump-restore")
|
||||||
|
|
Reference in New Issue