diff options
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 173 |
1 files changed, 170 insertions, 3 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 41fed2a6ac..1e2bece227 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -4,6 +4,7 @@ ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ (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) @@ -35,7 +37,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages python) #:use-module ((guix licenses) - #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style bsd-style + #:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft public-domain)) #:use-module (guix packages) #:use-module (guix download) @@ -84,8 +86,8 @@ (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 (bsd-style "file://LICENSE" - "See LICENSE in the distribution.")) + (license (non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")) (home-page "http://www.oracle.com/us/products/database/berkeley-db/overview/index.html"))) @@ -306,6 +308,140 @@ extremely small.") (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-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-sqlite (package (name "perl-dbd-sqlite") @@ -329,6 +465,37 @@ 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 |