aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm170
1 files changed, 105 insertions, 65 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4c0a6d4c28..c652f39b12 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
@@ -84,6 +84,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
@@ -398,7 +399,7 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
- (version "1.5.8")
+ (version "1.5.10")
(source
(origin
(method url-fetch)
@@ -406,14 +407,14 @@ mapping from string keys to string values.")
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
(base32
- "1ppnhsqv9047vm0rrmqla56y972f8qqjdb780iz6v922jjcc723k"))))
+ "0jqw3z0408yx0lzc6ykn4d29n02dk31kqnmq9b3ldmcnpl6hck29"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
("cyrus-sasl" ,cyrus-sasl)))
(home-page "https://memcached.org/")
- (synopsis "In memory caching service")
- (description "Memcached is a in memory key value store. It has a small
+ (synopsis "In-memory caching service")
+ (description "Memcached is an in-memory key-value store. It has a small
and generic API, and was originally intended for use with dynamic web
applications.")
(license license:bsd-3)))
@@ -548,22 +549,24 @@ RDBMS systems (which are deep in functionality).")
;; Some parts are licensed under the Apache License
license:asl2.0))))
+;; 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
(package
(name "mysql")
- (version "5.7.21")
+ (version "5.7.23")
(source (origin
(method url-fetch)
(uri (list (string-append
- "http://dev.mysql.com/get/Downloads/MySQL-"
+ "https://dev.mysql.com/get/Downloads/MySQL-"
(version-major+minor version) "/"
name "-" version ".tar.gz")
(string-append
- "http://downloads.mysql.com/archives/get/file/"
+ "https://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz")))
(sha256
(base32
- "1dq9bgnajf7cq3mrjkwv6w5nwslhs26lkrw56i7w4fbsq9wm087s"))))
+ "0rbc3xsc11lq2dm0ip6gxa16c06hi74scb97x5cw7yhbabaz4c07"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -589,15 +592,6 @@ RDBMS systems (which are deep in functionality).")
"-DINSTALL_SQLBENCHDIR=")
#:phases (modify-phases %standard-phases
(add-after
- 'unpack 'patch-boost-version
- (lambda _
- ;; Mysql wants boost-1.59.0 specifically
- (substitute* "cmake/boost.cmake"
- (("59")
- ,(match (string-split (package-version boost) #\.)
- ((_ minor . _) minor))))
- #t))
- (add-after
'install 'remove-extra-binaries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -611,12 +605,12 @@ RDBMS systems (which are deep in functionality).")
`(("bison" ,bison)
("perl" ,perl)))
(inputs
- `(("boost" ,boost)
+ `(("boost" ,boost-for-mysql)
("libaio" ,libaio)
("ncurses" ,ncurses)
("openssl" ,openssl)
("zlib" ,zlib)))
- (home-page "http://www.mysql.com/")
+ (home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
(description
"MySQL is a fast, reliable, and easy to use relational database
@@ -778,8 +772,8 @@ Language.")
(for-each delete-file-recursively
'("data" "mysql-test" "sql-bench"
"share/man/man1/mysql-test-run.pl.1"))
- ;; Delete huge mysqltest executables.
- (for-each delete-file (find-files "bin" "test"))
+ ;; Delete huge and unnecessary executables.
+ (for-each delete-file (find-files "bin" "(test|embedded)"))
;; And static libraries.
(for-each delete-file (find-files "lib" "\\.a$")))
#t))))))
@@ -791,11 +785,13 @@ Language.")
("libaio" ,libaio)
("libxml2" ,libxml2)
("ncurses" ,ncurses)
- ("openssl" ,openssl)
("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
@@ -864,6 +860,34 @@ pictures, sounds, or video.")
(base32
"0biy8j69dbvdmrag55pdszpc0702agzqhhcwdx21xp02mzim4ydr"))))))
+(define-public python-pymysql
+ (package
+ (name "python-pymysql")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyMySQL" version))
+ (sha256
+ (base32
+ "0gvi63f1zq1bbd30x28kqyx351hal1yc323ckp0mihainb5n1iwy"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-unittest2" ,python-unittest2)))
+ (inputs
+ `(("python-cryptography" ,python-cryptography)))
+ (arguments
+ `(#:tests? #f)) ; tests expect a running MySQL
+ (home-page "https://github.com/PyMySQL/PyMySQL/")
+ (synopsis "Pure-Python MySQL driver")
+ (description
+ "PyMySQL is a pure-Python MySQL client library, based on PEP 249.
+Most public APIs are compatible with @command{mysqlclient} and MySQLdb.")
+ (license license:expat)))
+
+(define-public python2-pymysql
+ (package-with-python2 python-pymysql))
+
(define-public qdbm
(package
(name "qdbm")
@@ -1110,6 +1134,37 @@ for example from a shell script.")
;; others (like sparql-query.c) contain a GPLv2+ license header.
(license (list license:gpl3+))))
+(define-public sqlcrush
+ ;; Unfortunately, there is no proper upstream release and may never be.
+ (let ((commit "b5f6868f189566a26eecc78d0f0659813c1aa98a")
+ (revision "1"))
+ (package
+ (name "sqlcrush")
+ (version (git-version "0.1.5" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coffeeandscripts/sqlcrush.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0x3wy40r93p0jv3nbwj9a77wa4ff697d13r0wffmm7q9h3mzsww8"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-psycopg2" ,python-psycopg2)
+ ("python-pymysql" ,python-pymysql)
+ ("python-sqlalchemy" ,python-sqlalchemy)))
+ (home-page "https://github.com/coffeeandscripts/sqlcrush")
+ (synopsis "Text console-based database viewer and editor")
+ (description
+ "SQLcrush lets you view and edit a database directly from the text
+console through an ncurses interface. You can explore each table's structure,
+browse and edit the contents, add and delete entries, all while tracking your
+changes.")
+ (license license:gpl3+)))) ; no headers, see README.md
+
(define-public sqlite
(package
(name "sqlite")
@@ -1158,20 +1213,6 @@ is in the public domain.")
((#:configure-flags flags)
`(cons "--enable-fts5" ,flags))))))
-;; This is used by Clementine.
-(define-public sqlite-with-fts3
- (package (inherit sqlite)
- (name "sqlite-with-fts3")
- (arguments
- (substitute-keyword-arguments (package-arguments sqlite)
- ((#:configure-flags flags)
- `(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
- "-DSQLITE_ENABLE_UNLOCK_NOTIFY "
- "-DSQLITE_ENABLE_DBSTAT_VTAB "
- "-DSQLITE_ENABLE_FTS3 "
- "-DSQLITE_ENABLE_FTS3_PARENTHESIS "
- "-DSQLITE_ENABLE_FTS3_TOKENIZER")))))))
-
(define-public tdb
(package
(name "tdb")
@@ -1224,7 +1265,7 @@ extremely small.")
(build-system perl-build-system)
(synopsis "Database independent interface for Perl")
(description "This package provides an database interface for Perl.")
- (home-page "http://search.cpan.org/dist/DBI")
+ (home-page "https://metacpan.org/release/DBI")
(license license:perl-license)))
(define-public perl-dbix-class
@@ -1270,7 +1311,7 @@ extremely small.")
("perl-sub-name" ,perl-sub-name)
("perl-text-balanced" ,perl-text-balanced)
("perl-try-tiny" ,perl-try-tiny)))
- (home-page "http://search.cpan.org/dist/DBIx-Class")
+ (home-page "https://metacpan.org/release/DBIx-Class")
(synopsis "Extensible and flexible object <-> relational mapper")
(description "An SQL to OO mapper with an object API inspired by
Class::DBI (with a compatibility layer as a springboard for porting) and a
@@ -1302,7 +1343,7 @@ single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",
(propagated-inputs
`(("perl-carp-clan" ,perl-carp-clan)
("perl-dbix-class" ,perl-dbix-class)))
- (home-page "http://search.cpan.org/dist/DBIx-Class-Cursor-Cached")
+ (home-page "https://metacpan.org/release/DBIx-Class-Cursor-Cached")
(synopsis "Cursor with built-in caching support")
(description "DBIx::Class::Cursor::Cached provides a cursor class with
built-in caching support.")
@@ -1325,7 +1366,7 @@ built-in caching support.")
`(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-dbix-class" ,perl-dbix-class)))
- (home-page "http://search.cpan.org/dist/DBIx-Class-IntrospectableM2M")
+ (home-page "https://metacpan.org/release/DBIx-Class-IntrospectableM2M")
(synopsis "Introspect many-to-many relationships")
(description "Because the many-to-many relationships are not real
relationships, they can not be introspected with DBIx::Class. Many-to-many
@@ -1384,7 +1425,7 @@ introspected and examined.")
("perl-sub-name" ,perl-sub-name)
("perl-try-tiny" ,perl-try-tiny)))
(arguments `(#:tests? #f)) ;TODO: t/20invocations.t fails
- (home-page "http://search.cpan.org/dist/DBIx-Class-Schema-Loader")
+ (home-page "https://metacpan.org/release/DBIx-Class-Schema-Loader")
(synopsis "Create a DBIx::Class::Schema based on a database")
(description "DBIx::Class::Schema::Loader automates the definition of a
DBIx::Class::Schema by scanning database table definitions and setting up the
@@ -1409,7 +1450,7 @@ columns, primary keys, unique constraints and relationships.")
(propagated-inputs
`(("perl-dbi" ,perl-dbi)
("postgresql" ,postgresql)))
- (home-page "http://search.cpan.org/dist/DBD-Pg")
+ (home-page "https://metacpan.org/release/DBD-Pg")
(synopsis "DBI PostgreSQL interface")
(description "This package provides a PostgreSQL driver for the Perl5
@dfn{Database Interface} (DBI).")
@@ -1418,23 +1459,22 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-mysql
(package
(name "perl-dbd-mysql")
- (version "4.043")
+ (version "4.046")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/"
+ (uri (string-append "mirror://cpan/authors/id/C/CA/CAPTTOFU/"
"DBD-mysql-" version ".tar.gz"))
(sha256
(base32
- "16bg7l28n65ngi1abjxvwk906a80i2vd5vzjn812dx8phdg8d7v2"))
- (patches (search-patches "perl-dbd-mysql-CVE-2017-10788.patch"))))
+ "1xziv9w87cl3fbl1mqkdrx28mdqly3gs6gs1ynbmpl2rr4p6arb1"))))
(build-system perl-build-system)
;; Tests require running MySQL server
(arguments `(#:tests? #f))
(propagated-inputs
`(("perl-dbi" ,perl-dbi)
("mysql" ,mysql)))
- (home-page "http://search.cpan.org/dist/DBD-mysql")
+ (home-page "https://metacpan.org/release/DBD-mysql")
(synopsis "DBI MySQL interface")
(description "This package provides a MySQL driver for the Perl5
@dfn{Database Interface} (DBI).")
@@ -1443,7 +1483,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
- (version "1.54")
+ (version "1.58")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1451,7 +1491,7 @@ columns, primary keys, unique constraints and relationships.")
version ".tar.gz"))
(sha256
(base32
- "0sbj9lx9syzpknvjv8cz9jndg32qz775vy2prgq305npv3dsca9r"))))
+ "0fqx386jgs9mmrknr7smmzapf07izgivza7x08lfm39ks2cxs83i"))))
(build-system perl-build-system)
(inputs `(("sqlite" ,sqlite)))
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
@@ -1461,7 +1501,7 @@ the entire thing in the distribution. So in order to get a fast transaction
capable RDBMS working for your Perl project you simply have to install this
module, and nothing else.")
(license license:perl-license)
- (home-page "http://search.cpan.org/~ishigaki/DBD-SQLite/lib/DBD/SQLite.pm")))
+ (home-page "https://metacpan.org/release/DBD-SQLite")))
(define-public perl-sql-abstract
(package
@@ -1486,7 +1526,7 @@ module, and nothing else.")
("perl-moo" ,perl-moo)
("perl-mro-compat" ,perl-mro-compat)
("perl-text-balanced" ,perl-text-balanced)))
- (home-page "http://search.cpan.org/dist/SQL-Abstract")
+ (home-page "https://metacpan.org/release/SQL-Abstract")
(synopsis "Generate SQL from Perl data structures")
(description "This module was inspired by the excellent DBIx::Abstract.
While based on the concepts used by DBIx::Abstract, the concepts used have
@@ -1516,7 +1556,7 @@ time your data changes.")
("perl-list-moreutils" ,perl-list-moreutils)
("perl-regexp-common" ,perl-regexp-common)
("perl-sql-tokenizer" ,perl-sql-tokenizer)))
- (home-page "http://search.cpan.org/dist/SQL-SplitStatement")
+ (home-page "https://metacpan.org/release/SQL-SplitStatement")
(synopsis "Split SQL code into atomic statements")
(description "This module tries to split any SQL code, even including
non-standard extensions, into the atomic statements it is composed of.")
@@ -1535,7 +1575,7 @@ non-standard extensions, into the atomic statements it is composed of.")
(base32
"1qa2dfbzdlr5qqdam9yn78z5w3al5r8577x06qan8wv58ay6ka7s"))))
(build-system perl-build-system)
- (home-page "http://search.cpan.org/dist/SQL-Tokenizer")
+ (home-page "https://metacpan.org/release/SQL-Tokenizer")
(synopsis "SQL tokenizer")
(description "SQL::Tokenizer is a tokenizer for SQL queries. It does not
claim to be a parser or query verifier. It just creates sane tokens from a
@@ -1545,7 +1585,7 @@ valid SQL query.")
(define-public unixodbc
(package
(name "unixodbc")
- (version "2.3.6")
+ (version "2.3.7")
(source (origin
(method url-fetch)
(uri
@@ -1553,7 +1593,7 @@ valid SQL query.")
"ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-"
version ".tar.gz"))
(sha256
- (base32 "0sads5b8cmmj526gyjba7ccknl1vbhkslfqshv1yqln08zv3gdl8"))))
+ (base32 "0xry3sg497wly8f7715a7gwkn2k36bcap0mvzjw74jj53yx6kwa5"))))
(build-system gnu-build-system)
(synopsis "Data source abstraction library")
(description "Unixodbc is a library providing an API with which to access
@@ -1756,7 +1796,7 @@ database. Various higher level database abstractions.")
(define-public perl-db-file
(package
(name "perl-db-file")
- (version "1.841")
+ (version "1.842")
(source
(origin
(method url-fetch)
@@ -1766,7 +1806,7 @@ database. Various higher level database abstractions.")
".tar.gz"))
(sha256
(base32
- "11fks42kgscpia0mxx4lc9krm7q4gv6w7m5h3m2jr3dl7viv36hn"))))
+ "0w2d99vs9qarng2f9fpg3gchfdzy6an13507jhclcl8wv183h5hg"))))
(build-system perl-build-system)
(inputs `(("bdb" ,bdb)))
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
@@ -1778,7 +1818,7 @@ database. Various higher level database abstractions.")
(substitute* "config.in"
(("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
#t)))))
- (home-page "http://search.cpan.org/dist/DB_File")
+ (home-page "https://metacpan.org/release/DB_File")
(synopsis
"Perl5 access to Berkeley DB version 1.x")
(description
@@ -1966,14 +2006,14 @@ for ODBC.")
(define-public python-pyodbc
(package
(name "python-pyodbc")
- (version "4.0.21")
+ (version "4.0.24")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyodbc" version))
(sha256
(base32
- "0a83zwz3h1agshnsc6r7al6q83222w8601gpzzzjvjz5m56ghmcn"))
+ "1m311vi7vpay1j7rkq71fpsk0gb7454k4lldk5b63hyy6yvsn9j3"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs
@@ -2133,7 +2173,7 @@ implementation for Python.")
(define-public virtuoso-ose
(package
(name "virtuoso-ose")
- (version "7.2.4.2")
+ (version "7.2.5")
(source
(origin
(method url-fetch)
@@ -2141,7 +2181,7 @@ implementation for Python.")
"https://github.com/openlink/virtuoso-opensource/releases/"
"download/v" version "/virtuoso-opensource-" version ".tar.gz"))
(sha256
- (base32 "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002"))))
+ (base32 "0r1xakclkfi69pzh8z2k16z3x0m49pxp764icj0ad4w4bb97fr42"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Tests require a network connection.
@@ -2544,14 +2584,14 @@ database).")
(define-public python-mysqlclient
(package
(name "python-mysqlclient")
- (version "1.3.10")
+ (version "1.3.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mysqlclient" version))
(sha256
(base32
- "0qkj570x4rbsblji6frvsvp2v1ap32dqzj1lq62zp9515ffsyaj5"))))
+ "0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz"))))
(build-system python-build-system)
(native-inputs
`(("mariadb" ,mariadb)