me
/
guix
Archived
1
0
Fork 0

gnu: Add pgloader.

* gnu/packages/databases.scm (pgloader): New variable.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
master
Sharlatan Hellseher 2021-01-19 22:23:21 +00:00 committed by Guillaume Le Vaillant
parent f93d3d42b4
commit 100a4f84fe
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
1 changed files with 88 additions and 3 deletions

View File

@ -86,15 +86,16 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
#:use-module (gnu packages time)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages language) #:use-module (gnu packages language)
#:use-module (gnu packages libedit) #:use-module (gnu packages libedit)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux) #: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 logging)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
@ -111,8 +112,8 @@
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-science) #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf) #:use-module (gnu packages rdf)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
@ -125,6 +126,7 @@
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
#:use-module (gnu packages terminals) #:use-module (gnu packages terminals)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (gnu packages web) #:use-module (gnu packages web)
@ -1246,6 +1248,89 @@ pictures, sounds, or video.")
(base32 (base32
"1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w")))))) "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 (define-public python-pymysql
(package (package
(name "python-pymysql") (name "python-pymysql")