;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017 Nikita <nikita@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 © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
+;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages language)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages man)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel)
#:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
+ #: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-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages regex)
+ #:use-module (gnu packages rpc)
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/4store/4store.git")
+ (url "https://github.com/4store/4store")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
("avahi" ,avahi)
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
- ("util-linux" ,util-linux)))
+ ("util-linux" ,util-linux "lib")))
;; 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")
"@code{mgo} (pronounced as mango) is a MongoDB driver for the Go language.
It implements a rich selection of features under a simple API following
standard Go idioms.")
- (home-page "http://labix.org/mgo")
+ (home-page "https://labix.org/mgo")
(license license:bsd-2)))
(define-public ephemeralpg
(package
(name "ephemeralpg")
- (version "2.8")
+ (version "3.0")
(source
(origin
(method url-fetch)
(uri (string-append
- "http://eradman.com/ephemeralpg/code/ephemeralpg-"
+ "https://eradman.com/ephemeralpg/code/ephemeralpg-"
version ".tar.gz"))
(sha256
- (base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4"))))
+ (base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh"))))
(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))
+ (delete 'configure) ; no configure script
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
"/bin")
,(string-append (assoc-ref inputs "postgresql")
"/bin")
- ;; For getsocket
+ ;; For getsocket.
,(string-append out "/bin")))))
- #t)))))
+ #t)))
+ #:test-target "test"))
(inputs
`(("postgresql" ,postgresql)
("util-linux" ,util-linux)))
(native-inputs
- `(("ruby" ,ruby)))
- (home-page "http://eradman.com/ephemeralpg/")
+ ;; For tests.
+ `(("ruby" ,ruby)
+ ("which" ,which)))
+ (home-page "https://eradman.com/ephemeralpg/")
(synopsis "Run temporary PostgreSQL databases")
(description
"@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks
("python" ,python-2)
("python2-pymongo" ,python2-pymongo)
("python2-pyyaml" ,python2-pyyaml)
- ("tzdata" ,tzdata)))
+ ("tzdata" ,tzdata-for-tests)))
(arguments
`(#:scons ,scons-python2
#:phases
;; Some parts are licensed under the Apache License
license:asl2.0))))
+(define-public mycli
+ (package
+ (name "mycli")
+ (version "1.22.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mycli" version))
+ (sha256
+ (base32 "1lq2x95553vdmhw13cxcgsd2g2i32izhsb7hxd4m1iwf9b3msbpv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; tests expect a running MySQL
+ (propagated-inputs
+ `(("python-cli-helpers" ,python-cli-helpers)
+ ("python-click" ,python-click)
+ ("python-configobj" ,python-configobj)
+ ("python-cryptography" ,python-cryptography)
+ ("python-prompt-toolkit" ,python-prompt-toolkit)
+ ("python-pygments" ,python-pygments)
+ ("python-pymysql" ,python-pymysql)
+ ("python-sqlparse" ,python-sqlparse)))
+ (home-page "http://mycli.net")
+ (synopsis
+ "Terminal Client for MySQL with AutoCompletion and Syntax Highlighting")
+ (description
+ "MyCLI is a command line interface for MySQL, MariaDB, and Percona with
+auto-completion and syntax highlighting.")
+ (license license:bsd-3)))
+
;; XXX When updating, check whether boost-for-mysql is still needed.
;; It might suffice to patch ‘cmake/boost.cmake’ as done in the past.
(define-public mysql
(define-public mariadb
(package
(name "mariadb")
- (version "10.1.44")
+ (version "10.1.45")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.com/MariaDB"
version ".tar.gz"))
(sha256
(base32
- "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1"))
+ "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
"-DINSTALL_SHAREDIR=share")
#:phases
(modify-phases %standard-phases
+ ,@(if (string-prefix? "arm" (%current-system))
+ ;; XXX: Because of the GCC 5 input, we need to hide GCC 7 from
+ ;; CPLUS_INCLUDE_PATH so that its headers do not shadow GCC 5.
+ '((add-after 'set-paths 'hide-default-gcc
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gcc (assoc-ref inputs "gcc")))
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-join
+ (delete (string-append gcc "/include/c++")
+ (string-split (getenv "CPLUS_INCLUDE_PATH")
+ #\:))
+ ":"))
+ #t))))
+ '())
(add-after 'unpack 'fix-pcre-detection
(lambda _
;; The bundled PCRE in MariaDB has a patch that was upstreamed
`(("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))
+ `(("gcc@5", gcc-5))
'())
("perl" ,perl)))
(inputs
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
- (version "3.1.6")
+ (version "3.1.9")
(source (origin
(method url-fetch)
(uri (string-append
version "-src.tar.gz"))
(sha256
(base32
- "083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj"))))
+ "1izjzf7yzjqzlk8dkp327fa9lawsv2hnnlnr7g5lshyx5azrk38h"))))
(inputs
`(("openssl" ,openssl)))
(build-system cmake-build-system)
(arguments
- ;; No tests.
- '(#:tests? #f))
+ '(#:tests? #f)) ; no tests
(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
(define-public postgresql
(package
(name "postgresql")
- (version "10.12")
+ (version "10.13")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq"))
+ "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
(invoke "make" "-C" "contrib" "install"))))))
(inputs
`(("readline" ,readline)
- ("libuuid" ,util-linux)
+ ("libuuid" ,util-linux "lib")
("openssl" ,openssl)
("zlib" ,zlib)))
(home-page "https://www.postgresql.org/")
(define-public rocksdb
(package
(name "rocksdb")
- (version "6.7.3")
+ (version "6.11.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "19nacd7fb98i97ir07jjsk3l1vf7zzq04c4nqywizq8wakcx99s9"))
+ "0n19p9cd13jg0lnibrzwkxs4xlrhyj3knypkd2ic41arbds0bdnl"))
(modules '((guix build utils)))
(snippet
'(begin
(name "sparql-query")
(version "1.1")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/tialaramex/"
- name "/archive/" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tialaramex/sparql-query")
+ (commit version)))
(sha256
- (base32 "0yq3k20472rv8npcc420q9ab6idy584g5y0q501d360k5q0ggr8w"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (base32 "0a84a89idpjhj9w2y3fmvzv7ldps1cva1kxvfmh897k02kaniwxk"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
- `(("readline" ,readline)
- ("ncurses" ,ncurses)
+ `(("curl" ,curl)
("glib" ,glib)
("libxml2" ,libxml2)
- ("curl" ,curl)))
+ ("ncurses" ,ncurses)
+ ("readline" ,readline)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/coffeeandscripts/sqlcrush.git")
+ (url "https://github.com/coffeeandscripts/sqlcrush")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(define-public perl-dbi
(package
(name "perl-dbi")
- (version "1.642")
+ (version "1.643")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z"))))
+ "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
(build-system perl-build-system)
(synopsis "Database independent interface for Perl")
(description "This package provides an database interface for Perl.")
(define-public perl-dbix-class
(package
(name "perl-dbix-class")
- (version "0.082841")
+ (version "0.082842")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
"DBIx-Class-" version ".tar.gz"))
(sha256
- (base32
- "1gf3hgv8f9rnr8bl4ljgsqk4aliphmvljhsk4282kvdc4mcgh1fp"))))
+ (base32 "1rh7idjjbibc1zmiaaarask434lh0lx7f2xyfwmy37k9fa0xcpmh"))))
(build-system perl-build-system)
(native-inputs
`(("perl-dbd-sqlite" ,perl-dbd-sqlite)
("perl-path-class" ,perl-path-class)
("perl-scalar-list-utils" ,perl-scalar-list-utils)
("perl-scope-guard" ,perl-scope-guard)
- ("perl-sql-abstract" ,perl-sql-abstract)
+ ("perl-sql-abstract-classic" ,perl-sql-abstract-classic)
("perl-sub-name" ,perl-sub-name)
("perl-text-balanced" ,perl-text-balanced)
("perl-try-tiny" ,perl-try-tiny)))
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
- (version "1.62")
+ (version "1.64")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx"))))
+ "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
(build-system perl-build-system)
(inputs `(("sqlite" ,sqlite)))
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
(define-public perl-sql-abstract
(package
(name "perl-sql-abstract")
- (version "1.86")
+ (version "1.87")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"SQL-Abstract-" version ".tar.gz"))
(sha256
- (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7"))))
+ (base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-install" ,perl-module-install)
time your data changes.")
(license license:perl-license)))
+(define-public perl-sql-abstract-classic
+ (package
+ (name "perl-sql-abstract-classic")
+ (version "1.91")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
+ "SQL-Abstract-Classic-" version ".tar.gz"))
+ (sha256
+ (base32 "0a7g13hs3kdxrjn43sfli09mgsi9d6w0dfw6hlk268av17yisgaf"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-deep" ,perl-test-deep)
+ ("perl-test-exception" ,perl-test-exception)
+ ("perl-test-warn" ,perl-test-warn)))
+ (propagated-inputs
+ `(("perl-mro-compat" ,perl-mro-compat)
+ ("perl-sql-abstract" ,perl-sql-abstract)))
+ (home-page "https://metacpan.org/release/SQL-Abstract-Classic")
+ (synopsis "Generate SQL from Perl data structures")
+ (description
+ "This module is nearly identical to @code{SQL::Abstract} 1.81, and exists
+to preserve the ability of users to opt into the new way of doing things in
+later versions according to their own schedules.
+
+It is an abstract SQL generation module based on the concepts used by
+@code{DBIx::Abstract}, with several important differences, especially when it
+comes to @code{WHERE} clauses. These concepts were modified to make the SQL
+easier to generate from Perl data structures.
+
+The underlying idea is for this module to do what you mean, based on the data
+structures you provide it. You shouldn't have to modify your code every time
+your data changes, as this module figures it out.")
+ (license license:perl-license)))
+
(define-public perl-sql-splitstatement
(package
(name "perl-sql-splitstatement")
(define-public kyotocabinet
(package
(name "kyotocabinet")
- (version "1.2.77")
+ (version "1.2.78")
(source (origin
(method url-fetch)
- (uri (string-append "http://fallabs.com/kyotocabinet/pkg/"
- name "-" version ".tar.gz"))
+ (uri (string-append "https://fallabs.com/kyotocabinet/pkg/"
+ "kyotocabinet-" version ".tar.gz"))
(sha256
(base32
- "1rlx4307adbzd842b4npq6cwlw8h010ingxaz3qz1ijc70lr72an"))))
+ "1bxkf9kmcavq9rqridb8mvmrk3hj4447ffi24m2admsbm61n6k29"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs `(("zlib" ,zlib)))
- (home-page "http://fallabs.com/kyotocabinet/")
+ (home-page "https://fallabs.com/kyotocabinet/")
(synopsis
"Kyoto Cabinet is a modern implementation of the DBM database")
(description
(define-public perl-db-file
(package
(name "perl-db-file")
- (version "1.852")
+ (version "1.853")
(source
(origin
(method url-fetch)
- (uri (string-append
- "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
- version
- ".tar.gz"))
+ (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
+ version ".tar.gz"))
(sha256
- (base32
- "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs"))))
+ (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
(build-system perl-build-system)
(inputs `(("bdb" ,bdb)))
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
(define-public lmdb
(package
(name "lmdb")
- (version "0.9.24")
+ (version "0.9.26")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/LMDB/lmdb.git")
+ (url "https://git.openldap.org/openldap/openldap.git")
(commit (string-append "LMDB_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm"))))
+ (base32 "0323xwb2rqyrr9vr6gbxc2kl89drhqw0ifmyh9pg9qgqmymyhxdx"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
(substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
- (home-page "https://symas.com/products/lightning-memory-mapped-database")
+ (home-page "https://symas.com/lmdb/")
(synopsis "Lightning Memory-Mapped Database library")
(description
"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/drycpp/lmdbxx.git")
+ (url "https://github.com/drycpp/lmdbxx")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public python-peewee
(package
(name "python-peewee")
- (version "2.10.2")
+ (version "3.9.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "peewee" version))
(sha256
(base32
- "10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3"))))
+ "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Fails to import test data
(define-public python2-peewee
(package-with-python2 python-peewee))
+(define-public python-tortoise-orm
+ (package
+ (name "python-tortoise-orm")
+ (version "0.16.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tortoise-orm" version))
+ (sha256
+ (base32
+ "0wr7p4v0b16ypm9fcpwpl99kf491m6w3jkd13xcsgq13fy73fbqc"))))
+ (build-system python-build-system)
+ ;; Disable tests for now. They pull in a lot of dependencies.
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("python-asynctest" ,python-asynctest)
+ ("python-nose2" ,python-nose2)))
+ (propagated-inputs
+ `(("python-aiosqlite" ,python-aiosqlite)
+ ("python-pypika" ,python-pypika)
+ ("python-ciso8601" ,python-ciso8601)
+ ("python-typing-extensions"
+ ,python-typing-extensions)))
+ (home-page
+ "https://github.com/tortoise/tortoise-orm")
+ (synopsis
+ "Easy async ORM for python, built with relations in mind")
+ (description
+ "Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper)
+inspired by Django. Tortoise ORM was build with relations in mind and
+admiration for the excellent and popular Django ORM. It’s engraved in its
+design that you are working not with just tables, you work with relational
+data.")
+ (license license:asl2.0)))
+
(define-public sqlcipher
(package
(name "sqlcipher")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/brianb/mdbtools.git")
+ (url "https://github.com/brianb/mdbtools")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public python-lmdb
(package
(name "python-lmdb")
- (version "0.95")
+ (version "0.99")
(source (origin
(method url-fetch)
(uri (pypi-uri "lmdb" version))
(sha256
(base32
- "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
+ "12fwlzfd82471ss9xzbqwcqc6f5miy51y72y2yya9j5cm9589szr"))
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.
;; but not actually needed on platforms currently supported by Guix.
license:bsd-3))))
-(define-public python2-lmdb
- (package-with-python2 python-lmdb))
-
(define-public python-orator
(package
(name "python-orator")
;; TODO: Removing the libsrc/zlib source directory breaks the build.
;; This indicates that the internal zlib code may still be used.
#:configure-flags '("--without-internal-zlib"
- "--with-readline")))
+ "--with-readline"
+ "--enable-static=no")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Even with "--enable-static=no", "libvirtuoso-t.a" is left in
+ ;; the build output. The following phase removes it.
+ (add-after 'install 'remove-static-libs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
+ (for-each (lambda (file)
+ (delete-file (string-append lib "/" file)))
+ '("libvirtuoso-t.a"
+ "libvirtuoso-t.la"))))))))
(inputs
`(("openssl" ,openssl-1.0)
("net-tools" ,net-tools)
(define-public python-sqlalchemy
(package
(name "python-sqlalchemy")
- (version "1.3.15")
+ (version "1.3.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "SQLAlchemy" version))
(sha256
- (base32 "0iglkvymfp35zm5pxy5kzqvcv96kkas0chqdx7xpla86sspa9k64"))))
+ (base32 "1rwc6ss1cnz3kxx0p9p6xw0w79r8qw03lcc29k31yb3rcigvfbys"))))
(build-system python-build-system)
(native-inputs
`(("python-cython" ,python-cython) ; for C extensions
(define-public python-alembic
(package
(name "python-alembic")
- (version "1.4.1")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "alembic" version))
- (patches (search-patches "python-alembic-exceptions-cause.patch"))
(sha256
- (base32
- "0a4hzn76csgbf1px4f5vfm256byvjrqkgi9869nkcjrwjn35c6kr"))))
+ (base32 "1gsdrzx9h7wfva200qvvsc9sn4w79mk2vs0bbnzjhxi1jw2b0nh3"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(define-public python-apsw
(package
(name "python-apsw")
- (version "3.28.0-r1")
+ (version "3.31.1-r1")
(source
(origin
(method url-fetch)
"/download/" version "/apsw-" version ".zip"))
(sha256
(base32
- "0x62534l5hcgwrc4k2gxpdzc1sxlhm6m4nwlay74rnmr77qh8wly"))))
+ "1gap5lr6c7bp134nzvfwr693i6d0fqyaysg3ms2cayjldv616yfx"))))
(build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)))
(define-public python2-apsw
(package-with-python2 python-apsw))
+(define-public python-aiosqlite
+ (package
+ (name "python-aiosqlite")
+ (version "0.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aiosqlite" version))
+ (sha256
+ (base32
+ "1w8248yz85xyzvvh4jaxnc59fqil45aka6h82kn1rcih4rjxbnn1"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-aiounittest" ,python-aiounittest)))
+ (home-page "https://github.com/jreese/aiosqlite")
+ (synopsis
+ "Asyncio bridge for sqlite3")
+ (description
+ "The package aiosqlite replicates the standard sqlite3 module, but with
+async versions of all the standard connection and cursor methods, and context
+managers for automatically closing connections.")
+ (license license:expat)))
+
(define-public python2-neo4j-driver
(package
(name "python2-neo4j-driver")
(define-public python-psycopg2
(package
(name "python-psycopg2")
- (version "2.8.4")
+ (version "2.8.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
- (base32 "1djvh98pi4hjd8rxbq8qzc63bg8v78k33yg6pl99wak61b6fb67q"))))
+ (base32 "06081jk9srkd4ra9j8b93x9ld3a2yxsbsf5bbbcivbm1yx065m7p"))))
(build-system python-build-system)
(arguments
;; Tests would require a postgresql database "psycopg2_test"
(define-public python-fakeredis
(package
(name "python-fakeredis")
- (version "0.8.2")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fakeredis" version))
(sha256
(base32
- "0zncahj3byyasyfx9i7k991ph0n0lq8v3a21pqri5qxn9564bk9r"))))
+ "1s12mn4q4hz7402139khn9fx56kibj7nn0d6w81hn0zs07b90wpc"))))
(build-system python-build-system)
(arguments
;; no tests
`(#:tests? #f))
+ (propagated-inputs
+ `(("python-sortedcontainers" ,python-sortedcontainers)))
(home-page "https://github.com/jamesls/fakeredis")
(synopsis "Fake implementation of redis API for testing purposes")
(description
(define-public python-sqlparse
(package
(name "python-sqlparse")
- (version "0.2.4")
+ (version "0.3.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "sqlparse" version))
(sha256
(base32
- "1v3xh0bkfhb262dbndgzhivpnhdwavdzz8jjhx9vx0xbrx2880nf"))))
+ "0j652a6z7bdf6c77aczfn8m8b2nsr1bcqq48wzghf8vi6wvj0qp1"))))
(build-system python-build-system)
(arguments
`(#:phases
(define-public python2-sql
(package-with-python2 python-sql))
+(define-public python-pypika
+ (package
+ (name "python-pypika")
+ (version "0.37.2")
+ (source
+ (origin (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kayak/pypika")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "089z1c778q1fwhzsc88ws8j5gm2hgxknibabn4wpax8rz2bfs3ck"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-parameterized" ,python-parameterized)))
+ (home-page "https://github.com/kayak/pypika")
+ (synopsis "SQL query builder API for Python")
+ (description
+ "PyPika is a python SQL query builder that exposes the full richness of
+the SQL language using a syntax that reflects the resulting query.")
+ (license license:asl2.0)))
+
(define-public mongo-tools
(package
(name "mongo-tools")
@end table")
(license license:asl2.0)))
+;; There are many wrappers for this in other languages. When touching, please
+;; be sure to ensure all dependencies continue to build.
(define-public apache-arrow
(package
(name "apache-arrow")
- (version "0.10.0")
+ (version "0.17.1")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/apache/arrow")
- (commit (string-append "apache-arrow-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apache/arrow")
+ (commit (string-append "apache-arrow-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
(setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
(setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
(setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
- (setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc"))
(setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))
#t)))
#:build-type "Release"
#:configure-flags
(list "-DARROW_PYTHON=ON"
-
- ;; Install to PREFIX/lib (the default is
- ;; PREFIX/lib64).
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out")
+ "-DARROW_GLOG=ON"
+ ;; Parquet options
+ "-DARROW_PARQUET=ON"
+ "-DPARQUET_BUILD_EXECUTABLES=ON"
+ ;; The maintainers disallow using system versions of
+ ;; jemalloc:
+ ;; https://issues.apache.org/jira/browse/ARROW-3507. This
+ ;; is unfortunate because jemalloc increases performance:
+ ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
+ "-DARROW_JEMALLOC=OFF"
+
+ ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
+ ;; option that instructs the build system how to resolve
+ ;; each dependency. SYSTEM = Finding the dependency in
+ ;; system paths using CMake's built-in find_package
+ ;; function, or using pkg-config for packages that do not
+ ;; have this feature
+ "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
+
+ ;; Split output into its component packages.
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "lib"))
+ (string-append "-DCMAKE_INSTALL_RPATH="
+ (assoc-ref %outputs "lib")
"/lib")
-
- ;; XXX These Guix package offer static
- ;; libraries that are not position independent,
- ;; and ld fails to link them into the arrow .so
- "-DARROW_WITH_SNAPPY=OFF"
- "-DARROW_WITH_ZLIB=OFF"
- "-DARROW_WITH_ZSTD=OFF"
- "-DARROW_WITH_LZ4=OFF"
+ (string-append "-DCMAKE_INSTALL_BINDIR="
+ (assoc-ref %outputs "out")
+ "/bin")
+ (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
+ (assoc-ref %outputs "include")
+ "/share/include")
+
+
+ "-DARROW_WITH_SNAPPY=ON"
+ "-DARROW_WITH_ZLIB=ON"
+ "-DARROW_WITH_ZSTD=ON"
+ "-DARROW_WITH_LZ4=ON"
+ "-DARROW_COMPUTE=ON"
+ "-DARROW_CSV=ON"
+ "-DARROW_DATASET=ON"
+ "-DARROW_FILESYSTEM=ON"
+ "-DARROW_HDFS=ON"
+ "-DARROW_JSON=ON"
+ ;; Arrow Python C++ integration library (required for
+ ;; building pyarrow). This library must be built against
+ ;; the same Python version for which you are building
+ ;; pyarrow. NumPy must also be installed. Enabling this
+ ;; option also enables ARROW_COMPUTE, ARROW_CSV,
+ ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
+ ;; ARROW_JSON.
+ "-DARROW_PYTHON=ON"
;; Building the tests forces on all the
;; optional features and the use of static
;; libraries.
"-DARROW_BUILD_TESTS=OFF"
+ "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
+ ;;"-DBENCHMARK_ENABLE_TESTING=OFF"
"-DARROW_BUILD_STATIC=OFF")))
(inputs
`(("boost" ,boost)
- ("rapidjson" ,rapidjson)
("brotli" ,google-brotli)
- ("flatbuffers" ,flatbuffers)
- ("jemalloc" ,jemalloc)
+ ("double-conversion" ,double-conversion)
+ ("snappy" ,snappy)
+ ("gflags" ,gflags)
+ ("glog" ,glog)
+ ("apache-thrift" ,apache-thrift "lib")
+ ("protobuf" ,protobuf)
+ ("rapidjson" ,rapidjson)
+ ("zlib" ,zlib)
+ ("bzip2" ,bzip2)
+ ("lz4" ,lz4)
+ ("zstd" ,zstd "lib")
+ ("re2" ,re2)
+ ("grpc" ,grpc)
("python-3" ,python)
("python-numpy" ,python-numpy)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (outputs '("out" "lib" "include"))
(home-page "https://arrow.apache.org/")
(synopsis "Columnar in-memory analytics")
(description "Apache Arrow is a columnar in-memory analytics layer
-designed to accelerate big data. It houses a set of canonical in-memory
+designed to accelerate big data. It houses a set of canonical in-memory
representations of flat and hierarchical data along with multiple
-language-bindings for structure manipulation. It also provides IPC and common
+language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public python-pyarrow
(package
+ (inherit apache-arrow)
(name "python-pyarrow")
- (version "0.10.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/apache/arrow")
- (commit (string-append "apache-arrow-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f ; XXX There are no tests in the "python" directory
+ '(#:tests? #f ; XXX There are no tests in the "python" directory
#:phases
(modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python") #t))
- (add-after 'unpack 'set-env
+ (add-after 'unpack 'make-git-checkout-writable
(lambda _
- (setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow"))
+ (for-each make-file-writable (find-files "."))
#t)))))
(propagated-inputs
- `(("apache-arrow" ,apache-arrow)
+ `(("apache-arrow" ,apache-arrow "lib")
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-six" ,python-six)))
(native-inputs
`(("cmake" ,cmake-minimal)
+ ("pkg-config" ,pkg-config)
("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
("python-setuptools-scm" ,python-setuptools-scm)))
+ (outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow")
- (description "This library provides a Pythonic API wrapper for the reference
-Arrow C++ implementation, along with tools for interoperability with pandas,
-NumPy, and other traditional Python scientific computing packages.")
+ (description
+ "This library provides a Pythonic API wrapper for the reference Arrow C++
+implementation, along with tools for interoperability with pandas, NumPy, and
+other traditional Python scientific computing packages.")
(license license:asl2.0)))
(define-public python2-pyarrow
("sqlite" ,sqlite)
("odbc" ,unixodbc)
("boost" ,boost)
- ("mysql" ,mysql)))
+ ("mariadb:dev" ,mariadb "dev")
+ ("mariadb:lib" ,mariadb "lib")))
(arguments
`(#:tests? #f ; Tests may require running database management systems.
#:phases
(add-after 'unpack 'fix-lib-path
(lambda _
(substitute* "CMakeLists.txt"
- (("set\\(SOCI_LIBDIR \"lib64\"\\)") "")))))))
+ (("set\\(SOCI_LIBDIR \"lib64\"\\)") ""))
+ #t)))))
(synopsis "C++ Database Access Library")
(description
"SOCI is an abstraction layer for several database backends, including