aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2021-01-19 22:23:21 +0000
committerGuillaume Le Vaillant <glv@posteo.net>2021-01-20 10:43:25 +0100
commit100a4f84fec03bdf31523232f9f6587bb201ea7c (patch)
treea1a0e55951c9c9b0117d124648f28d6432a6e321
parentf93d3d42b4dbc3d2a054c0145a7b6b369ee09973 (diff)
downloadguix-100a4f84fec03bdf31523232f9f6587bb201ea7c.tar
guix-100a4f84fec03bdf31523232f9f6587bb201ea7c.tar.gz
gnu: Add pgloader.
* gnu/packages/databases.scm (pgloader): New variable. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/packages/databases.scm91
1 files changed, 88 insertions, 3 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 817ccdf6de..ee883c10f5 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -86,15 +86,16 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages time)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages language)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages lisp)
+ #:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages logging)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
@@ -111,8 +112,8 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
- #:use-module (gnu packages python-web)
#:use-module (gnu packages python-science)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
@@ -125,6 +126,7 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
#:use-module (gnu packages textutils)
+ #:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages web)
@@ -1246,6 +1248,89 @@ pictures, sounds, or video.")
(base32
"1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w"))))))
+(define-public pgloader
+ (package
+ (name "pgloader")
+ (version "3.6.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dimitri/pgloader")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "06i1jd2za3ih5caj2b4vzlzags5j65vv8dfdbz0ggdrp40wfd5lh"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; NOTE: (Sharlatan-20210119T211511+0000) Tests are disabled due to being
+ ;; dependent on Quicklisp, main build target is `pgloader-standalone' which
+ ;; does not require Quicklisp workarounds. There is no `install' target
+ ;; configured in Makefile.
+ `(#:tests? #f
+ #:strip-binaries? #f
+ #:make-flags
+ (list "pgloader-standalone" "BUILDAPP_SBCL=buildapp")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp")
+ #t))
+ (add-after 'unpack 'patch-Makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("--sbcl.*") "--sbcl $(CL) --asdf-path . \\\n"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ (install-file "build/bin/pgloader" bin))
+ #t)))))
+ (native-inputs
+ `(("buildapp" ,buildapp)
+ ("sbcl" ,sbcl)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-abnf" ,sbcl-cl-abnf)
+ ("cl-base64" ,sbcl-cl-base64)
+ ("cl-csv" ,sbcl-cl-csv)
+ ("cl-fad" ,sbcl-cl-fad)
+ ("cl-log" ,sbcl-cl-log)
+ ("cl-markdown" ,sbcl-cl-markdown)
+ ("cl-mustache" ,sbcl-cl-mustache)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cl-sqlite" ,sbcl-cl-sqlite)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("command-line-arguments" ,sbcl-command-line-arguments)
+ ("db3" ,sbcl-db3)
+ ("drakma" ,sbcl-drakma)
+ ("esrap" ,sbcl-esrap)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("ixf" ,sbcl-ixf)
+ ("local-time" ,sbcl-local-time)
+ ("lparallel" ,sbcl-lparallel)
+ ("metabang-bind" ,sbcl-metabang-bind)
+ ("mssql" ,sbcl-mssql)
+ ("postmodern" ,sbcl-postmodern)
+ ("py-configparser" ,sbcl-py-configparser)
+ ("qmynd" ,sbcl-qmynd)
+ ("quri" ,sbcl-quri)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("trivial-backtrace" ,sbcl-trivial-backtrace)
+ ("usocket" ,sbcl-usocket)
+ ("uuid" ,sbcl-uuid)
+ ("yason" ,sbcl-yason)
+ ("zs3" ,sbcl-zs3)))
+ (home-page "https://pgloader.io/")
+ (synopsis "Tool to migrate data to PostgreSQL")
+ (description
+ "@code{pgloader} is a program that can load data or migrate databases from
+CSV, DB3, iXF, SQLite, MS-SQL or MySQL to PostgreSQL.")
+ (license (license:x11-style "file://LICENSE"))))
+
(define-public python-pymysql
(package
(name "python-pymysql")