669 lines
28 KiB
Scheme
669 lines
28 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
|
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
|
;;; Copyright © 2012, 2014 Andreas Enge <andreas@enge.fr>
|
|
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
|
;;; Copyright © 2014 David Thompson <davet@gnu.org>
|
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
|
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
|
;;;
|
|
;;; This file is part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (gnu packages databases)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages language)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages openssl)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages readline)
|
|
#:use-module (gnu packages emacs)
|
|
#:use-module (gnu packages check)
|
|
#:use-module (gnu packages algebra)
|
|
#:use-module (gnu packages curl)
|
|
#:use-module (gnu packages gnupg)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages pcre)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages bison)
|
|
#:use-module (gnu packages jemalloc)
|
|
#:use-module ((guix licenses)
|
|
#:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft
|
|
bsd-2 public-domain))
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix build-system perl)
|
|
#:use-module (guix build-system cmake)
|
|
#:use-module (srfi srfi-26)
|
|
#:use-module (ice-9 match))
|
|
|
|
(define-public bdb
|
|
(package
|
|
(name "bdb")
|
|
(version "5.3.21")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://download.oracle.com/berkeley-db/db-" version
|
|
".tar.gz"))
|
|
(sha256 (base32
|
|
"1f2g2612lf8djbwbwhxsvmffmf9d7693kh2l20195pqp0f9jmnfx"))))
|
|
(build-system gnu-build-system)
|
|
(outputs '("out" ; programs, libraries, headers
|
|
"doc")) ; 94 MiB of HTML docs
|
|
(arguments
|
|
'(#:tests? #f ; no check target available
|
|
#:phases
|
|
(alist-replace
|
|
'configure
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let ((out (assoc-ref outputs "out"))
|
|
(doc (assoc-ref outputs "doc")))
|
|
;; '--docdir' is not honored, so we need to patch.
|
|
(substitute* "dist/Makefile.in"
|
|
(("docdir[[:blank:]]*=.*")
|
|
(string-append "docdir = " doc "/share/doc/bdb")))
|
|
|
|
(zero?
|
|
(system* "./dist/configure"
|
|
(string-append "--prefix=" out)
|
|
(string-append "CONFIG_SHELL=" (which "bash"))
|
|
(string-append "SHELL=" (which "bash"))
|
|
|
|
;; The compatibility mode is needed by some packages,
|
|
;; notably iproute2.
|
|
"--enable-compat185"))))
|
|
%standard-phases)))
|
|
(synopsis "Berkeley database")
|
|
(description
|
|
"Berkeley DB is an embeddable database allowing developers the choice of
|
|
SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
|
(license (non-copyleft "file://LICENSE"
|
|
"See LICENSE in the distribution."))
|
|
(home-page
|
|
"http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
|
|
|
|
(define-public mysql
|
|
(package
|
|
(name "mysql")
|
|
(version "5.1.73")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5"))))
|
|
(build-system gnu-build-system)
|
|
(inputs
|
|
`(("procps" ,procps)
|
|
("openssl" ,openssl)
|
|
("perl" ,perl)
|
|
("zlib" ,zlib)
|
|
("ncurses" ,ncurses)))
|
|
(arguments
|
|
'(#:modules ((guix build gnu-build-system)
|
|
(guix build utils)
|
|
(ice-9 ftw)) ; for "rm -rf"
|
|
#:phases (alist-cons-after
|
|
'install 'clean-up
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
;; Remove the 112 MiB of tests that get installed.
|
|
(let ((out (assoc-ref outputs "out")))
|
|
(define (rm-rf dir)
|
|
(file-system-fold (const #t) ; enter?
|
|
(lambda (file stat result) ; leaf
|
|
(delete-file file))
|
|
(const #t) ; down
|
|
(lambda (dir stat result) ; up
|
|
(rmdir dir))
|
|
(const #t)
|
|
(lambda (file stat errno result)
|
|
(format (current-error-port)
|
|
"error: ~a: ~a~%"
|
|
file (strerror errno)))
|
|
#t
|
|
(string-append out "/" dir)))
|
|
(rm-rf "mysql-test")
|
|
(rm-rf "sql-bench")
|
|
|
|
;; Compress the 14 MiB Info file.
|
|
(zero?
|
|
(system* "gzip" "--best"
|
|
(string-append out "/share/info/mysql.info")))))
|
|
%standard-phases)))
|
|
(home-page "http://www.mysql.com/")
|
|
(synopsis "Fast, easy to use, and popular database")
|
|
(description
|
|
"MySQL is a fast, reliable, and easy to use relational database
|
|
management system that supports the standardized Structured Query
|
|
Language.")
|
|
(license gpl2)))
|
|
|
|
(define-public mariadb
|
|
(package
|
|
(name "mariadb")
|
|
(version "10.0.17")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://downloads.mariadb.org/f/"
|
|
name "-" version "/source/"
|
|
name "-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"04ckq67qgkghh7yzrbzwidk7wn7yjml15gzj2c5p1hs2k7lr9lww"))))
|
|
(build-system cmake-build-system)
|
|
(arguments
|
|
'(#:configure-flags
|
|
'("-DBUILD_CONFIG=mysql_release"
|
|
"-DDEFAULT_CHARSET=utf8"
|
|
"-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"
|
|
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
|
|
"-DINSTALL_SCRIPTDIR=bin"
|
|
"-DINSTALL_INCLUDEDIR=include/mysql"
|
|
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
|
|
"-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files"
|
|
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
|
|
"-DINSTALL_DOCDIR=share/mysql/docs"
|
|
"-DINSTALL_SHAREDIR=share/mysql")
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before
|
|
'configure 'pre-configure
|
|
(lambda _
|
|
(setenv "CONFIG_SHELL" (which "sh"))
|
|
;; XXX: libstdc++.so lacks RUNPATH for libgcc_s.so.
|
|
(setenv "LDFLAGS" "-lgcc_s")
|
|
#t))
|
|
(add-after
|
|
'install 'post-install
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(test (assoc-ref outputs "test")))
|
|
(substitute* (string-append out "/bin/mysql_install_db")
|
|
(("basedir=\"\"")
|
|
(string-append "basedir=\"" out "\"")))
|
|
;; Remove unneeded files for testing.
|
|
(with-directory-excursion out
|
|
(for-each delete-file-recursively
|
|
'("data" "mysql-test" "sql-bench"
|
|
"share/man/man1/mysql-test-run.pl.1")))))))))
|
|
(native-inputs
|
|
`(("bison" ,bison)
|
|
("perl" ,perl)))
|
|
(inputs
|
|
`(("jemalloc" ,jemalloc)
|
|
("libaio" ,libaio)
|
|
("libxml2" ,libxml2)
|
|
("ncurses" ,ncurses)
|
|
("openssl" ,openssl)
|
|
("pcre" ,pcre)
|
|
("zlib" ,zlib)))
|
|
(home-page "https://mariadb.org/")
|
|
(synopsis "SQL database server")
|
|
(description
|
|
"MariaDB is a multi-user and multi-threaded SQL database server, designed
|
|
as a drop-in replacement of MySQL.")
|
|
(license gpl2)))
|
|
|
|
(define-public postgresql
|
|
(package
|
|
(name "postgresql")
|
|
(version "9.3.5")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://ftp.postgresql.org/pub/source/v"
|
|
version "/postgresql-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"08kga00izykgvnx7hn995wc4zjqslspapaa8z63045p1ya14mr4g"))))
|
|
(build-system gnu-build-system)
|
|
(inputs
|
|
`(("readline" ,readline)
|
|
("zlib" ,zlib)))
|
|
(home-page "http://www.postgresql.org/")
|
|
(synopsis "Powerful object-relational database system")
|
|
(description
|
|
"PostgreSQL is a powerful object-relational database system. It is fully
|
|
ACID compliant, has full support for foreign keys, joins, views, triggers, and
|
|
stored procedures (in multiple languages). It includes most SQL:2008 data
|
|
types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and
|
|
TIMESTAMP. It also supports storage of binary large objects, including
|
|
pictures, sounds, or video.")
|
|
(license (x11-style "file://COPYRIGHT"))))
|
|
|
|
(define-public recutils
|
|
(package
|
|
(name "recutils")
|
|
(version "1.7")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://gnu/recutils/recutils-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))))
|
|
(build-system gnu-build-system)
|
|
|
|
;; Running tests in parallel leads to test failures and crashes in
|
|
;; torture/utils.
|
|
(arguments '(#:parallel-tests? #f))
|
|
|
|
(native-inputs `(("emacs" ,emacs-no-x)
|
|
("bc" ,bc)))
|
|
|
|
;; TODO: Add more optional inputs.
|
|
;; FIXME: Our Bash doesn't have development headers (need for the 'readrec'
|
|
;; built-in command), but it's not clear how to get them installed.
|
|
;; See <https://lists.gnu.org/archive/html/bug-bash/2014-03/msg00125.html>.
|
|
(inputs `(("curl" ,curl)
|
|
("libgcrypt" ,libgcrypt)
|
|
("check" ,check)))
|
|
(synopsis "Manipulate plain text files as databases")
|
|
(description
|
|
"GNU Recutils is a set of tools and libraries for creating and
|
|
manipulating text-based, human-editable databases. Despite being text-based,
|
|
databases created with Recutils carry all of the expected features such as
|
|
unique fields, primary keys, time stamps and more. Many different field
|
|
types are supported, as is encryption.")
|
|
(license gpl3+)
|
|
(home-page "http://www.gnu.org/software/recutils/")))
|
|
|
|
(define-public sqlite
|
|
(package
|
|
(name "sqlite")
|
|
(version "3.8.8.3")
|
|
(source (origin
|
|
(method url-fetch)
|
|
;; TODO: Download from sqlite.org once this bug :
|
|
;; http://lists.gnu.org/archive/html/bug-guile/2013-01/msg00027.html
|
|
;; has been fixed.
|
|
(uri (let ((numeric-version
|
|
(match (string-split version #\.)
|
|
((first-digit other-digits ...)
|
|
(string-append first-digit
|
|
(string-pad-right
|
|
(string-concatenate
|
|
(map (cut string-pad <> 2 #\0)
|
|
other-digits))
|
|
6 #\0))))))
|
|
(string-append
|
|
"mirror://sourceforge/sqlite.mirror/SQLite%20" version
|
|
"/sqlite-autoconf-" numeric-version ".tar.gz")))
|
|
(sha256
|
|
(base32
|
|
"04dl53iv5q0srv4jcgjfzsrdzkq6dg1sgmlmpw9lrd4xrmj6jmvl"))))
|
|
(build-system gnu-build-system)
|
|
(inputs `(("readline" ,readline)))
|
|
(arguments
|
|
`(#:configure-flags
|
|
;; Add -DSQLITE_SECURE_DELETE and -DSQLITE_ENABLE_UNLOCK_NOTIFY to
|
|
;; CFLAGS. GNU Icecat will refuse to use the system SQLite unless these
|
|
;; options are enabled.
|
|
'("CFLAGS=-O2 -DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_UNLOCK_NOTIFY")))
|
|
(home-page "http://www.sqlite.org/")
|
|
(synopsis "The SQLite database management system")
|
|
(description
|
|
"SQLite is a software library that implements a self-contained, serverless,
|
|
zero-configuration, transactional SQL database engine. SQLite is the most
|
|
widely deployed SQL database engine in the world. The source code for SQLite
|
|
is in the public domain.")
|
|
(license public-domain)))
|
|
|
|
(define-public tdb
|
|
(package
|
|
(name "tdb")
|
|
(version "1.3.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://samba.org/ftp/tdb/tdb-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"085sd2kii72fr0c4pdc7c7m0xk34nc66wnjp21c83dss826y9gh4"))))
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
'(#:phases (alist-replace
|
|
'configure
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let ((out (assoc-ref outputs "out")))
|
|
;; The 'configure' script is a wrapper for Waf and
|
|
;; doesn't recognize things like '--enable-fast-install'.
|
|
(zero? (system* "./configure"
|
|
(string-append "--prefix=" out)))))
|
|
%standard-phases)))
|
|
(native-inputs
|
|
`(;; TODO: Build the documentation.
|
|
;; ("docbook-xsl" ,docbook-xsl)
|
|
;; ("libxml2" ,libxml2)
|
|
;; ("libxslt" ,libxslt)
|
|
("python" ,python-2))) ;for the Waf build system
|
|
(home-page "http://tdb.samba.org/")
|
|
(synopsis "Trivial database")
|
|
(description
|
|
"TDB is a Trivial Database. In concept, it is very much like GDBM,
|
|
and BSD's DB except that it allows multiple simultaneous writers and uses
|
|
locking internally to keep writers from trampling on each other. TDB is also
|
|
extremely small.")
|
|
(license lgpl3+)))
|
|
|
|
(define-public perl-dbi
|
|
(package
|
|
(name "perl-dbi")
|
|
(version "1.631")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/T/TI/TIMB/DBI-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"04fmrnchhwi7jx4niaiv93vmi343hdm3xj04w9zr2m9hhqh782np"))))
|
|
(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/~timb/DBI-1.631/DBI.pm")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-dbix-class
|
|
(package
|
|
(name "perl-dbix-class")
|
|
(version "0.082810")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
|
|
"DBIx-Class-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1zlsswk8j2k024gwhdhia8ksrmb8065n98dahkk8c0r69wv85n04"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-dbd-sqlite" ,perl-dbd-sqlite)
|
|
("perl-file-temp" ,perl-file-temp)
|
|
("perl-package-stash" ,perl-package-stash)
|
|
("perl-test-deep" ,perl-test-deep)
|
|
("perl-test-exception" ,perl-test-exception)
|
|
("perl-test-warn" ,perl-test-warn)))
|
|
(propagated-inputs
|
|
`(("perl-class-accessor-grouped" ,perl-class-accessor-grouped)
|
|
("perl-class-c3-componentised" ,perl-class-c3-componentised)
|
|
("perl-class-inspector" ,perl-class-inspector)
|
|
("perl-config-any" ,perl-config-any)
|
|
("perl-context-preserve" ,perl-context-preserve)
|
|
("perl-data-dumper-concise" ,perl-data-dumper-concise)
|
|
("perl-data-page" ,perl-data-page)
|
|
("perl-dbi" ,perl-dbi)
|
|
("perl-devel-globaldestruction" ,perl-devel-globaldestruction)
|
|
("perl-hash-merge" ,perl-hash-merge)
|
|
("perl-module-find" ,perl-module-find)
|
|
("perl-moo" ,perl-moo)
|
|
("perl-mro-compat" ,perl-mro-compat)
|
|
("perl-namespace-clean" ,perl-namespace-clean)
|
|
("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-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")
|
|
(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
|
|
resultset API that allows abstract encapsulation of database operations. It
|
|
aims to make representing queries in your code as perl-ish as possible while
|
|
still providing access to as many of the capabilities of the database as
|
|
possible, including retrieving related records from multiple tables in a
|
|
single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",
|
|
\"ORDER BY\" and \"HAVING\" support.")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-dbix-class-cursor-cached
|
|
(package
|
|
(name "perl-dbix-class-cursor-cached")
|
|
(version "1.001002")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/A/AR/ARCANEZ/"
|
|
"DBIx-Class-Cursor-Cached-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"19r7jr6pknxiirrybq0cd0lnr76xiw05arnfqgk9nrhp6c7vvil0"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-cache-cache" ,perl-cache-cache)
|
|
("perl-dbd-sqlite" ,perl-dbd-sqlite)))
|
|
(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")
|
|
(synopsis "Cursor with built-in caching support")
|
|
(description "DBIx::Class::Cursor::Cached provides a cursor class with
|
|
built-in caching support.")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-dbix-class-introspectablem2m
|
|
(package
|
|
(name "perl-dbix-class-introspectablem2m")
|
|
(version "0.001001")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/G/GR/GRODITI/"
|
|
"DBIx-Class-IntrospectableM2M-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0p9zx1yc1f6jg583l206wilsni2v8mlngc2vf2q8yn10pmy4y6wm"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs
|
|
`(("perl-dbix-class" ,perl-dbix-class)))
|
|
(home-page "http://search.cpan.org/dist/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
|
|
relationships are actually just a collection of convenience methods installed
|
|
to bridge two relationships. This DBIx::Class component can be used to store
|
|
all relevant information about these non-relationships so they can later be
|
|
introspected and examined.")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-dbix-class-schema-loader
|
|
(package
|
|
(name "perl-dbix-class-schema-loader")
|
|
(version "0.07042")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
|
|
"DBIx-Class-Schema-Loader-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0sb48as7azmj6s4acxh98wcvcik7lxm7dcjz1c3wdrkrbmbbz0jf"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-config-any" ,perl-config-any)
|
|
("perl-config-general" ,perl-config-general)
|
|
("perl-dbd-sqlite" ,perl-dbd-sqlite)
|
|
("perl-dbix-class-introspectablem2m" ,perl-dbix-class-introspectablem2m)
|
|
("perl-moose" ,perl-moose)
|
|
("perl-moosex-markasmethods" ,perl-moosex-markasmethods)
|
|
("perl-moosex-nonmoose" ,perl-moosex-nonmoose)
|
|
("perl-namespace-autoclean" ,perl-namespace-autoclean)
|
|
("perl-test-deep" ,perl-test-deep)
|
|
("perl-test-differences" ,perl-test-differences)
|
|
("perl-test-exception" ,perl-test-exception)
|
|
("perl-test-pod" ,perl-test-pod)
|
|
("perl-test-warn" ,perl-test-warn)))
|
|
(propagated-inputs
|
|
`(("perl-class-unload" ,perl-class-unload)
|
|
("perl-class-inspector" ,perl-class-inspector)
|
|
("perl-class-accessor-grouped" ,perl-class-accessor-grouped)
|
|
("perl-class-c3-componentised" ,perl-class-c3-componentised)
|
|
("perl-carp-clan" ,perl-carp-clan)
|
|
("perl-data-dump" ,perl-data-dump)
|
|
("perl-dbix-class" ,perl-dbix-class)
|
|
("perl-hash-merge" ,perl-hash-merge)
|
|
("perl-list-moreutils" ,perl-list-moreutils)
|
|
("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
|
|
("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
|
|
("perl-lingua-en-tagger" ,perl-lingua-en-tagger)
|
|
("perl-namespace-clean" ,perl-namespace-clean)
|
|
("perl-mro-compat" ,perl-mro-compat)
|
|
("perl-scope-guard" ,perl-scope-guard)
|
|
("perl-string-camelcase" ,perl-string-camelcase)
|
|
("perl-string-toidentifier-en" ,perl-string-toidentifier-en)
|
|
("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")
|
|
(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
|
|
columns, primary keys, unique constraints and relationships.")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-dbd-pg
|
|
(package
|
|
(name "perl-dbd-pg")
|
|
(version "3.5.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/T/TU/TURNSTEP/"
|
|
"DBD-Pg-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0z0kf1kjgbi5f6nr63i2fnrx7629d9lvxg1q8sficwb3zdf1ggzx"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-dbi" ,perl-dbi)))
|
|
(propagated-inputs
|
|
`(("perl-dbi" ,perl-dbi)
|
|
("postgresql" ,postgresql)))
|
|
(home-page "http://search.cpan.org/dist/DBD-Pg")
|
|
(synopsis "DBI PostgreSQL interface")
|
|
(description "")
|
|
(license (package-license perl))))
|
|
|
|
(define-public perl-dbd-sqlite
|
|
(package
|
|
(name "perl-dbd-sqlite")
|
|
(version "1.42")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"14x9cjsc8dz8ad1nad0bqiq9cbk1rjfb8h5y0rpk3pdl38y6afxb"))))
|
|
(build-system perl-build-system)
|
|
(inputs `(("sqlite" ,sqlite)))
|
|
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
|
|
(synopsis "SQlite interface for Perl")
|
|
(description "DBD::SQLite is a Perl DBI driver for SQLite, that includes
|
|
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 (package-license perl))
|
|
(home-page "http://search.cpan.org/~ishigaki/DBD-SQLite/lib/DBD/SQLite.pm")))
|
|
|
|
(define-public perl-sql-abstract
|
|
(package
|
|
(name "perl-sql-abstract")
|
|
(version "1.81")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
|
|
"SQL-Abstract-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"17sgwq3mvqjhv3b77cnvrq60xgp8harjhlnvpwmxc914rqc5ckaz"))))
|
|
(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-hash-merge" ,perl-hash-merge)
|
|
("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")
|
|
(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
|
|
been 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, so that you don't have to modify your code every
|
|
time your data changes")
|
|
(license (package-license perl))))
|
|
|
|
(define-public unixodbc
|
|
(package
|
|
(name "unixodbc")
|
|
(version "2.3.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri
|
|
(string-append
|
|
"ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-" version ".tar.gz"))
|
|
(sha256
|
|
(base32 "16jw5fq7wgfky6ak1h2j2pqx99jivsdl4q8aq6immpr55xs5jd4w"))))
|
|
(build-system gnu-build-system)
|
|
(synopsis "Data source abstraction library")
|
|
(description "Unixodbc is a library providing an API with which to access
|
|
data sources. Data sources include SQL Servers and any software with an ODBC
|
|
Driver.")
|
|
(license lgpl2.1+)
|
|
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
|
|
(home-page "http://www.unixodbc.org")))
|
|
|
|
(define-public unqlite
|
|
(package
|
|
(name "unqlite")
|
|
(version "1.1.6")
|
|
(source (origin
|
|
(method url-fetch)
|
|
;; Contains bug fixes against the official release, and has an
|
|
;; autotooled build system.
|
|
(uri (string-append "https://github.com/aidin36/tocc/releases/"
|
|
"download/v1.0.0/"
|
|
"unqlite-unofficial-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s"))))
|
|
(build-system gnu-build-system)
|
|
(arguments `(#:tests? #f)) ;No check target
|
|
(home-page "http://www.unqlite.org")
|
|
(synopsis "In-memory key/value and document store")
|
|
(description
|
|
"UnQLite is an in-process software library which implements a
|
|
self-contained, serverless, zero-configuration, transactional NoSQL
|
|
database engine. UnQLite is a document store database similar to
|
|
MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store
|
|
similar to BerkelyDB, LevelDB, etc.")
|
|
(license bsd-2)))
|