X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/893c2df00daa4e6dd6a7ff3813d7df5329877f9e..fd423e4df7580819fe7ca01c1ed4361e078bcec2:/gnu/packages/databases.scm diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4194f1f607..c3626187ce 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -72,6 +72,7 @@ #: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) @@ -84,6 +85,7 @@ #: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) @@ -214,6 +216,68 @@ standard Go idioms.") (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") @@ -260,7 +324,7 @@ ElasticSearch server") `(#: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 @@ -375,14 +439,13 @@ the API, and provides features such as: (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 @@ -398,10 +461,8 @@ the API, and provides features such as: `(("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 @@ -437,7 +498,7 @@ replacement for the code@{python-memcached} library.") (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") @@ -477,6 +538,15 @@ replacement for the code@{python-memcached} library.") ,(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 @@ -544,7 +614,7 @@ RDBMS systems (which are deep in functionality).") (define-public mysql (package (name "mysql") - (version "5.7.23") + (version "5.7.27") (source (origin (method url-fetch) (uri (list (string-append @@ -556,7 +626,7 @@ RDBMS systems (which are deep in functionality).") name "-" version ".tar.gz"))) (sha256 (base32 - "0rbc3xsc11lq2dm0ip6gxa16c06hi74scb97x5cw7yhbabaz4c07")))) + "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -593,12 +663,15 @@ RDBMS systems (which are deep in functionality).") #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") @@ -775,6 +848,10 @@ Language.") #t)))))) (native-inputs `(("bison" ,bison) + ;; XXX: On armhf, use GCC 5 to work around . + ,@(if (string-prefix? "armhf" (%current-system)) + `(("gcc", gcc-5)) + '()) ("perl" ,perl))) (inputs `(("jemalloc" ,jemalloc) @@ -1147,17 +1224,15 @@ for example from a shell script.") (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 @@ -1201,7 +1276,6 @@ for example from a shell script.") ("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) @@ -1264,14 +1338,14 @@ changes.") (define-public tdb (package (name "tdb") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/tdb/tdb-" version ".tar.gz")) (sha256 (base32 - "0d9d2f1c83gmmq30bkfs50yb8399mr9xjjzscma4kyq0ajf75861")))) + "0jh0iqbb6pkvqrqn033w5g6gwa4bdgkvp49z0qpkk3h2wk6b4h4h")))) (build-system gnu-build-system) (arguments '(#:phases @@ -2101,20 +2175,19 @@ for ODBC.") (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 @@ -2431,14 +2504,14 @@ You might also want to install the following optional dependencies: (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) @@ -2449,8 +2522,7 @@ You might also want to install the following optional dependencies: ("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.") @@ -2931,7 +3003,7 @@ transforms idiomatic python function calls to well-formed SQL queries.") (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) @@ -3081,13 +3153,13 @@ NumPy, and other traditional Python scientific computing packages.") (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)))