;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
-;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages dbm)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#: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-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
#:use-module (guix build-system scons)
- #:use-module ((guix build utils) #:hide (which))
+ #:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
(name "4store")
(version "1.1.6")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/4store/4store/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/4store/4store.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50"))
+ (base32 "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk"))
(patches (search-patches "4store-unset-preprocessor-directive.patch"
"4store-fix-buildsystem.patch"))))
(build-system gnu-build-system)
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
("util-linux" ,util-linux)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'generate-configure
- (lambda _
- (invoke "sh" "autogen.sh"))))))
;; http://www.4store.org has been down for a while now.
(home-page "https://github.com/4store/4store")
(synopsis "Clustered RDF storage and query engine")
(home-page "http://labix.org/mgo")
(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
(package
(name "es-dump-restore")
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
(inputs
`(("snappy" ,snappy)))
- (home-page "http://leveldb.org/")
+ (home-page "https://github.com/google/leveldb")
(synopsis "Fast key-value storage library")
(description
"LevelDB is a fast key-value storage library that provides an ordered
(define-public memcached
(package
(name "memcached")
- (version "1.5.16")
+ (version "1.5.20")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
- (base32 "0nnccb697jhdn5gqrh3phibzs6xr4nf4ryv7nmyv5vf11n4jr8j5"))))
+ (base32 "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
(define-public python-pylibmc
(package
(name "python-pylibmc")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pylibmc" version))
(sha256
- (base32
- "1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay"))))
+ (base32 "1sg7d9j0v6g3xg3finf4l1hb72c13vcyyi6rqrc9shbx903d93ca"))))
(build-system python-build-system)
(arguments
'(#:phases
`(("libmemcached" ,libmemcached)
("zlib" ,zlib)
("cyrus-sasl" ,cyrus-sasl)))
- (home-page
- "http://sendapatch.se/projects/pylibmc/")
- (synopsis
- "Python client for memcached")
+ (home-page "http://sendapatch.se/projects/pylibmc/")
+ (synopsis "Python client for memcached")
(description
"@code{pylibmc} is a client in Python for memcached. It is a wrapper
around TangentOrg’s libmemcached library, and can be used as a drop-in
(search-patch "mongodb-support-unknown-linux-distributions.patch")))))
(build-system scons-build-system)
(inputs
- `(("openssl" ,openssl)
+ `(("openssl" ,openssl-1.0)
("pcre" ,pcre)
,@(match (%current-system)
((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
,(format #f "--jobs=~a" (parallel-job-count))
"--ssl")))
(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ ;; Remove use of GNU extensions in parse_number_test.cpp, to
+ ;; allow compiling with GCC 7 or later
+ ;; https://jira.mongodb.org/browse/SERVER-28063
+ (substitute* "src/mongo/base/parse_number_test.cpp"
+ (("0xabcab\\.defdefP-10")
+ "687.16784283419838"))
+ #t))
(add-after 'unpack 'scons-propagate-environment
(lambda _
;; Modify the SConstruct file to arrange for
(define-public mysql
(package
(name "mysql")
- (version "5.7.23")
+ (version "5.7.27")
(source (origin
(method url-fetch)
(uri (list (string-append
name "-" version ".tar.gz")))
(sha256
(base32
- "0rbc3xsc11lq2dm0ip6gxa16c06hi74scb97x5cw7yhbabaz4c07"))))
+ "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
#t))))))
(native-inputs
`(("bison" ,bison)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost-for-mysql)
("libaio" ,libaio)
+ ("libtirpc" ,libtirpc)
("ncurses" ,ncurses)
("openssl" ,openssl)
+ ("rpcsvc-proto" ,rpcsvc-proto) ; rpcgen
("zlib" ,zlib)))
(home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
(define-public mariadb
(package
(name "mariadb")
- (version "10.1.40")
+ (version "10.1.43")
(source (origin
(method url-fetch)
- (uri (string-append "https://downloads.mariadb.org/f/"
- name "-" version "/source/"
- name "-" version ".tar.gz"))
+ (uri (string-append "https://downloads.mariadb.com/MariaDB"
+ "/mariadb-" version "/source/mariadb-"
+ version ".tar.gz"))
(sha256
(base32
- "19375bnq0yg52kqh6cy00s5rglcxdrs5bb2hy7dqv2xqa9z7lxci"))
+ "1pxyq37q4p7515by7k8hs3l3css68f3bm3akx99vw4m1rxwwbm63"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
(find-files "pcre") (find-files "zlib")))
#t))))
(build-system cmake-build-system)
+ (outputs '("out" "lib" "dev"))
(arguments
`(#:configure-flags
- '("-DBUILD_CONFIG=mysql_release"
+ (list
+ "-DBUILD_CONFIG=mysql_release"
;; Linking with libarchive fails, like this:
;; ld: /gnu/store/...-libarchive-3.2.2/lib/libarchive.a(archive_entry.o):
;; For now, disable the features that that use libarchive (xtrabackup).
"-DWITH_LIBARCHIVE=OFF"
+ ;; Disable the TokuDB engine, because its test suite frequently fails,
+ ;; and loading it crashes the server: <https://bugs.gnu.org/35521>.
+ "-DTOKUDB_OK=OFF"
+
;; Ensure the system libraries are used.
"-DWITH_JEMALLOC=yes"
"-DWITH_PCRE=system"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
- "-DINSTALL_INFODIR=share/mysql/docs"
- "-DINSTALL_MANDIR=share/man"
+ (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "lib"))
+ (string-append "-DCMAKE_INSTALL_RPATH=" (assoc-ref %outputs "lib")
+ "/lib")
+ (string-append "-DINSTALL_INFODIR=" (assoc-ref %outputs "out")
+ "/share/mysql/docs")
+ (string-append "-DINSTALL_MANDIR=" (assoc-ref %outputs "out")
+ "/share/man")
+ (string-append "-DINSTALL_SCRIPTDIR=" (assoc-ref %outputs "out") "/bin")
+ (string-append "-DINSTALL_BINDIR=" (assoc-ref %outputs "out") "/bin")
+ "-DCMAKE_INSTALL_LIBDIR=lib"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
- "-DINSTALL_SCRIPTDIR=bin"
- "-DINSTALL_INCLUDEDIR=include/mysql"
- "-DINSTALL_DOCREADMEDIR=share/mysql/docs"
- "-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files"
+ (string-append "-DINSTALL_INCLUDEDIR=" (assoc-ref %outputs "dev")
+ "/include/mysql")
+ (string-append "-DINSTALL_DOCREADMEDIR=" (assoc-ref %outputs "out")
+ "/share/mysql/docs")
+ (string-append "-DINSTALL_DOCDIR=" (assoc-ref %outputs "out")
+ "/share/mysql/docs")
+ (string-append "-DINSTALL_SUPPORTFILESDIR=" (assoc-ref %outputs "out")
+ "/share/mysql/support-files")
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
- "-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share")
#:phases
(modify-phases %standard-phases
;; 2030-12-31. See <https://bugs.gnu.org/34351> for details.
"main.mysqldump"
- ;; XXX: Fails sporadically.
- "innodb_fts.crash_recovery"
-
;; FIXME: This test fails on i686:
;; -myisampack: Can't create/write to file (Errcode: 17 "File exists")
;; +myisampack: Can't create/write to file (Errcode: 17 "File exists)
disabled-tests)
(close-port unstable-tests)
+ ;; XXX: This test fails because it expects a latin1 charset and
+ ;; collation. See <https://jira.mariadb.org/browse/MDEV-21264>.
+ (substitute* "mysql-test/r/gis_notembedded.result"
+ (("latin1_swedish_ci") "utf8_general_ci")
+ (("\tlatin1") "\tutf8"))
+
(substitute* "mysql-test/mysql-test-run.pl"
(("/bin/ls") (which "ls"))
(("/bin/sh") (which "sh")))
#t))
(add-after
'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (test (assoc-ref outputs "test")))
+ (dev (assoc-ref outputs "dev"))
+ (lib (assoc-ref outputs "lib"))
+ (openssl (assoc-ref inputs "openssl")))
(substitute* (string-append out "/bin/mysql_install_db")
(("basedir=\"\"")
(string-append "basedir=\"" out "\"")))
;; Remove unneeded files for testing.
- (with-directory-excursion out
+ (with-directory-excursion lib
(for-each delete-file-recursively
- '("data" "mysql-test" "sql-bench"
- "share/man/man1/mysql-test-run.pl.1"))
- ;; Delete huge and unnecessary executables.
- (for-each delete-file (find-files "bin" "(test|embedded)"))
+ '("data" "mysql-test" "sql-bench"))
;; And static libraries.
(for-each delete-file (find-files "lib" "\\.a$")))
+ (with-directory-excursion out
+ (delete-file "share/man/man1/mysql-test-run.pl.1")
+ ;; Delete huge and unnecessary executables.
+ (for-each delete-file (find-files "bin" "(test|embedded)")))
+ (mkdir-p (string-append dev "/share"))
+ (mkdir-p (string-append dev "/bin"))
+ (rename-file (string-append lib "/bin/mysqld")
+ (string-append out "/bin/mysqld"))
+ (rename-file (string-append lib "/share/pkgconfig")
+ (string-append dev "/share/pkgconfig"))
+ (rename-file (string-append out "/bin/mysql_config")
+ (string-append dev "/bin/mysql_config"))
+
+ ;; Embed an absolute reference to OpenSSL in mysql_config
+ ;; and the pkg-config file to avoid propagation.
+ (substitute* (list (string-append dev "/bin/mysql_config")
+ (string-append dev "/share/pkgconfig/mariadb.pc"))
+ (("-lssl -lcrypto" all)
+ (string-append "-L" openssl "/lib " all)))
+
#t))))))
(native-inputs
`(("bison" ,bison)
+ ;; XXX: On armhf, use GCC 5 to work around <https://bugs.gnu.org/37605>.
+ ,@(if (string-prefix? "armhf" (%current-system))
+ `(("gcc", gcc-5))
+ '())
("perl" ,perl)))
(inputs
`(("jemalloc" ,jemalloc)
("libaio" ,libaio)
("libxml2" ,libxml2)
("ncurses" ,ncurses)
+ ("openssl" ,openssl-1.0)
+ ("pam" ,linux-pam)
("pcre" ,pcre)
- ("snappy" ,snappy)
("xz" ,xz)
("zlib" ,zlib)))
- (propagated-inputs
- ;; mariadb.pc says -lssl -lcrypto, so propagate it.
- `(("openssl" ,openssl)))
;; The test suite is very resource intensive and can take more than three
;; hours on a x86_64 system. Give slow and busy machines some leeway.
(properties '((timeout . 64800))) ;18 hours
as a drop-in replacement of MySQL.")
(license license:gpl2)))
+;; TODO: mysql_install_db is broken in MariaDB. This package is here as
+;; a workaround for packages that need it. Merge with 'mariadb' in the next
+;; rebuild cycle.
+(define-public mariadb/fixed-install-db
+ (hidden-package
+ (package/inherit
+ mariadb
+ (name "mariadb-fixed")
+ (native-inputs '())
+ (inputs
+ `(("mariadb" ,mariadb)
+ ("mariadb:lib" ,mariadb "lib")))
+ (outputs '("out"))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules ((guix build utils)))
+ (let ((out (assoc-ref %outputs "out")))
+ (copy-recursively (assoc-ref %build-inputs "mariadb") out)
+ (substitute* (string-append out "/bin/mysql_install_db")
+ (("\\$basedir/share/mysql")
+ (string-append (assoc-ref %build-inputs "mariadb:lib")
+ "/share/mysql")))
+ #t)))))))
+
+(define-public mariadb-connector-c
+ (package
+ (name "mariadb-connector-c")
+ (version "3.1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.mariadb.org/f/connector-c-"
+ version "/mariadb-connector-c-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32
+ "083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj"))))
+ (inputs
+ `(("openssl" ,openssl)))
+ (build-system cmake-build-system)
+ (arguments
+ ;; No tests.
+ '(#:tests? #f))
+ (home-page "https://mariadb.com/kb/en/mariadb-connector-c/")
+ (synopsis "Client library to connect to MySQL or MariaDB")
+ (description "The MariaDB Connector/C is used to connect applications
+developed in C/C++ to MariaDB and MySQL databases.")
+ (license license:lgpl2.1+)))
+
;; Don't forget to update the other postgresql packages when upgrading this one.
(define-public postgresql
(package
(name "postgresql")
- (version "10.9")
+ (version "10.11")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "0m0gbf7nwgag6a1z5f9xszwzgf2xhx0ncakyxwxlzs87n1zk32wm"))
+ "02fcmvbh0mhplj3s2jd24s642ysx7bggnf0h8bs5amh7dgzi8p8d"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
(package
(inherit postgresql)
(name "postgresql")
- (version "11.5")
+ (version "11.6")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz"))))))
+ "0w1iq488kpzfgfnlw4k32lz5by695mpnkq461jrgsr99z5zlz4j9"))))))
(define-public postgresql-9.6
(package
(inherit postgresql)
(name "postgresql")
- (version "9.6.14")
+ (version "9.6.16")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "08hsqczy1ixkjyf2vr3s9x69agfz9yr8lh31fir4z0dfr5jw421z"))))))
+ "1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w"))))))
(define-public python-pymysql
(package
(define-public rocksdb
(package
(name "rocksdb")
- (version "5.18.3")
+ (version "6.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1v2slmmr1dsgf8z0qcfg1y9x1al96859rg48b66p9nsawczd5zv9"))
+ "01f5lcrcr809jhkkvxhv743hwpcxszj4r30hy9qy1i0mvjky02vf"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public sqitch
(package
(name "sqitch")
- (version "0.9999")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
- "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-"
- version
- ".tar.gz"))
+ "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v"
+ version ".tar.gz"))
(sha256
- (base32
- "1cvj8grs3bzc4g7dw1zc26g4biv1frav18sq0fkvi2kk0q1aigzm"))))
+ (base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l"))))
(build-system perl-build-system)
(arguments
'(#:phases
("perl-dbi" ,perl-dbi)
("perl-devel-stacktrace" ,perl-devel-stacktrace)
("perl-encode-locale" ,perl-encode-locale)
- ("perl-file-homedir" ,perl-file-homedir)
("perl-hash-merge" ,perl-hash-merge)
("perl-ipc-run3" ,perl-ipc-run3)
("perl-ipc-system-simple" ,perl-ipc-system-simple)
(define-public tdb
(package
(name "tdb")
- (version "1.4.0")
+ (version "1.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/tdb/tdb-"
version ".tar.gz"))
(sha256
(base32
- "0d9d2f1c83gmmq30bkfs50yb8399mr9xjjzscma4kyq0ajf75861"))))
+ "06waz0k50c7v3chd08mzp2rv7w4k4q9isbxx3vhlfpx1vy9q61f8"))))
(build-system gnu-build-system)
(arguments
'(#:phases
#:tests? #f))
(propagated-inputs
`(("perl-dbi" ,perl-dbi)
- ("mysql" ,mariadb)))
+ ("mysql" ,mariadb "lib")
+ ("mysql-dev" ,mariadb "dev")))
(home-page "https://metacpan.org/release/DBD-mysql")
(synopsis "DBI MySQL interface")
(description "This package provides a MySQL driver for the Perl5
(define-public redis
(package
(name "redis")
- (version "4.0.10")
+ (version "5.0.7")
(source (origin
(method url-fetch)
(uri (string-append "http://download.redis.io/releases/redis-"
version".tar.gz"))
(sha256
(base32
- "194cydhv3hf4v95ifvjvsqrs4jn3ffrkg5lvxj5d3y04lwsp9dhx"))))
+ "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; tests related to master/slave and replication fail
(define-public lmdb
(package
(name "lmdb")
- (version "0.9.23")
+ (version "0.9.24")
(source
(origin
(method git-fetch)
(commit (string-append "LMDB_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ag7l5180ajvm73y59m7sn3p52xm8m972d08cshxhpwgwa4v35k6"))))
+ (base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
(define-public python-pyodbc
(package
(name "python-pyodbc")
- (version "4.0.26")
+ (version "4.0.27")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyodbc" version))
(sha256
- (base32 "1qrxnf7ji5hml7z4y669k4wmk3iz2pcsr05bnn1n912asash09z5"))
+ (base32 "1kd2i7hc1330cli72vawzby17c3039cqn1aba4i0zrjnpghjhmib"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs
`(("unixodbc" ,unixodbc)))
(arguments
- `(;; No unit tests exist.
- #:tests? #f))
+ `(#:tests? #f)) ; no unit tests exist
(home-page "https://github.com/mkleehammer/pyodbc")
(synopsis "Python ODBC Library")
(description "@code{python-pyodbc} provides a Python DB-API driver
#:configure-flags '("--without-internal-zlib"
"--with-readline")))
(inputs
- `(("openssl" ,openssl)
+ `(("openssl" ,openssl-1.0)
("net-tools" ,net-tools)
("readline" ,readline)
("zlib" ,zlib)))
(define-public python-alembic
(package
(name "python-alembic")
- (version "1.0.10")
+ (version "1.0.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "alembic" version))
(sha256
(base32
- "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2"))))
+ "1k5hag0vahd5vrf9abx8fdj2whrwaw2iq2yp736mmxnbsn5xkdyd"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("python-mako" ,python-mako)
("python-editor" ,python-editor)))
(home-page "https://bitbucket.org/zzzeek/alembic")
- (synopsis
- "Database migration tool for SQLAlchemy")
+ (synopsis "Database migration tool for SQLAlchemy")
(description
"Alembic is a lightweight database migration tool for usage with the
SQLAlchemy Database Toolkit for Python.")
(define-public python-apsw
(package
(name "python-apsw")
- (version "3.20.1-r1")
+ (version "3.28.0-r1")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/rogerbinns/apsw/archive/"
- version ".tar.gz"))
- (file-name (string-append "apsw-" version ".tar.gz"))
+ (uri (string-append "https://github.com/rogerbinns/apsw/releases"
+ "/download/" version "/apsw-" version ".zip"))
(sha256
(base32
- "00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2"))))
+ "0x62534l5hcgwrc4k2gxpdzc1sxlhm6m4nwlay74rnmr77qh8wly"))))
(build-system python-build-system)
+ (native-inputs
+ `(("unzip" ,unzip)))
(inputs
`(("sqlite" ,sqlite)))
(arguments
(invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
"-I." "-Isqlite3" "src/testextension.c")
#t))
- (delete 'check)
- (add-after 'install 'check
+ (replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "setup.py" "test")
("mock" ,python-mock)
("py.test" ,python-pytest)))
(inputs
- `(("mysql" ,mariadb)
+ `(("mysql" ,mariadb "lib")
+ ("mysql-dev" ,mariadb "dev")
("libz" ,zlib)
("openssl" ,openssl)))
(home-page "https://github.com/PyMySQL/mysqlclient-python")
(define-public python-redis
(package
(name "python-redis")
- (version "3.2.1")
+ (version "3.3.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "redis" version))
(sha256
- (base32 "0wwj8il4c3aff15xwwcjfci367zxsakq05ps1a2il6yavp91i94c"))))
+ (base32 "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq"))))
(build-system python-build-system)
;; Tests require a running Redis server.
(arguments '(#:tests? #f))
(native-inputs
`(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
- ("go-golang.org-x-crypto-ssh-terminal" ,go-golang.org-x-crypto-ssh-terminal)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
("python-pandas" ,python-pandas)
("python-six" ,python-six)))
(native-inputs
- `(("cmake" ,cmake)
+ `(("cmake" ,cmake-minimal)
("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
(define-public python-crate
(package
(name "python-crate")
- (version "0.23.0")
+ (version "0.23.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "crate" version))
(sha256
(base32
- "0s3s7yg4m2zflg9q96aibwb5hizsn10ql63fsj6h5z624qkavnlp"))))
+ "0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system)
(propagated-inputs
`(("python-urllib3" ,python-urllib3)))
It implements the Python DB API 2.0 specification and includes support for
SQLAlchemy.")
(license license:asl2.0)))
+
+(define-public libdbi
+ (package
+ (name "libdbi")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libdbi/libdbi/libdbi-"
+ version "/libdbi-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00s5ra7hdlq25iv23nwf4h1v3kmbiyzx0v9bhggjiii4lpf6ryys"))))
+ (build-system gnu-build-system)
+ (synopsis "Database independent abstraction layer in C")
+ (description
+ "This library implements a database independent abstraction layer in C,
+similar to the DBI/DBD layer in Perl. Writing one generic set of code,
+programmers can leverage the power of multiple databases and multiple
+simultaneous database connections by using this framework.")
+ (home-page "http://libdbi.sourceforge.net/")
+ (license license:lgpl2.1+)))
+
+(define-public libdbi-drivers
+ (package
+ (name "libdbi-drivers")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libdbi-drivers/"
+ "libdbi-drivers/libdbi-drivers-" version
+ "/libdbi-drivers-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(;; For tests.
+ ("inetutils" ,inetutils)
+ ("glibc-locales" ,glibc-locales)
+ ("mariadb" ,mariadb/fixed-install-db)))
+ (inputs
+ `(("libdbi" ,libdbi)
+ ("mariadb:dev" ,mariadb "dev")
+ ("mariadb:lib" ,mariadb "lib")
+ ("postgresql" ,postgresql)
+ ("sqlite" ,sqlite)))
+ (arguments
+ `(#:configure-flags
+ (let ((libdbi (assoc-ref %build-inputs "libdbi"))
+ (mysql:inc (assoc-ref %build-inputs "mariadb:dev"))
+ (mysql:lib (assoc-ref %build-inputs "mariadb:lib"))
+ (postgresql (assoc-ref %build-inputs "postgresql"))
+ (sqlite (assoc-ref %build-inputs "sqlite")))
+ (list "--disable-docs"
+ (string-append "--with-dbi-incdir=" libdbi "/include")
+ (string-append "--with-dbi-libdir=" libdbi "/lib")
+ "--with-mysql"
+ (string-append "--with-mysql-incdir=" mysql:inc "/include/mysql")
+ (string-append "--with-mysql-libdir=" mysql:lib "/lib")
+ "--with-pgsql"
+ (string-append "--with-pgsql-incdir=" postgresql "/include")
+ (string-append "--with-pgsql-libdir=" postgresql "/lib")
+ "--with-sqlite3"
+ (string-append "--with-sqlite-incdir=" sqlite "/include")
+ (string-append "--with-sqlite-libdir=" sqlite "/lib")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tests/test_mysql.sh"
+ (("^MYMYSQLD=.*")
+ (string-append "MYMYSQLD="
+ (assoc-ref inputs "mariadb")
+ "/bin/mysqld")))
+ #t))
+ (add-after 'install 'remove-empty-directories
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((var (string-append (assoc-ref outputs "out") "/var")))
+ (delete-file-recursively var))
+ #t)))))
+ (synopsis "Database drivers for the libdbi framework")
+ (description
+ "The @code{libdbi-drivers} library provides the database specific drivers
+for the @code{libdbi} framework.
+
+The drivers officially supported by @code{libdbi} are:
+@itemize
+@item MySQL,
+@item PostgreSQL,
+@item SQLite.
+@end itemize")
+ (home-page "http://libdbi-drivers.sourceforge.net/")
+ (license license:lgpl2.1+)))