guix-mirrors/gnu/packages/elixir-databases.scm
Giacomo Leidi de98e788d5
gnu: Add elixir-uuidv7.
* gnu/packages/elixir-databases.scm (elixir-uuidv7): New variable.

Change-Id: I8321074cf6e1cdc06e29810e0dbd4cdaade73759
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-30 08:43:39 +02:00

192 lines
6.4 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; 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 elixir-databases)
#:use-module (gnu packages erlang-xyz)
#:use-module (gnu packages elixir-xyz)
#:use-module (guix build-system mix)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix packages))
(define-public elixir-db-connection
(package
(name "elixir-db-connection")
(version "2.8.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "db_connection" version))
(sha256
(base32 "1zd8kp85wh7bbzr5x4kc75l53r5q9xwrhfz04vrpd793kd43s6m6"))))
(build-system mix-build-system)
(arguments
(list
;; Tests require a db process
#:tests? #f
#:build-per-environment #f))
(propagated-inputs (list erlang-telemetry))
(synopsis
"Database connection behaviour")
(description
"This package provides @code{elixir-db-connection}, a library implementing
database connection behaviour and database connection pool. It is designed for
handling transaction, prepare/execute, cursors and client process
describe/encode/decode.")
(home-page "https://hexdocs.pm/db_connection/")
(license license:asl2.0)))
(define-public elixir-ecto
(package
(name "elixir-ecto")
(version "3.13.2")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "ecto" version))
(sha256
(base32 "0ghb9a4mgiak6103vks6w013sa7kg8dhirxpwxbgy4q56y8r57b6"))))
(build-system mix-build-system)
(propagated-inputs (list elixir-decimal elixir-jason erlang-telemetry))
(synopsis
"Toolkit for data mapping and language integrated query for Elixir")
(description
"This package provides a toolkit for data mapping and language integrated query
for Elixir.")
(home-page "https://hexdocs.pm/ecto/")
(license license:asl2.0)))
(define-public elixir-exto
(package
(name "elixir-exto")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "exto" version))
(sha256
(base32 "1mkzxj37dqb966fhqg528wrlfx9ifgxis87np4fqc30rqabgsyj4"))))
(build-system mix-build-system)
(propagated-inputs (list elixir-accessible elixir-ecto))
(native-inputs
(list elixir-decimal))
(synopsis "Extend ecto schema definitions in config")
(description "@code{Exto} is an Elixir library providing
configuration-driven @code{Ecto} schema extensibility.")
(home-page "https://hexdocs.pm/exto/")
(license license:asl2.0)))
(define-public elixir-postgrex
(package
(name "elixir-postgrex")
(version "0.19.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "postgrex" version))
(sha256
(base32 "1y58v3jsya98462r43mv29wwgf3vv8dz9jn63q4iwf4gl62pib4b"))))
(build-system mix-build-system)
(propagated-inputs (list elixir-db-connection elixir-decimal elixir-jason
elixir-table))
(synopsis "PostgreSQL driver for Elixir")
(description "This library provides a @code{PostgreSQL} driver for Elixir.")
(home-page "https://hexdocs.pm/postgrex/")
(license license:asl2.0)))
(define-public elixir-table
(package
(name "elixir-table")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "table" version))
(sha256
(base32 "0aah0rkq6ikl1w359n65rmhk0p0npwj0fr35grf321pqzrzbr6by"))))
(build-system mix-build-system)
(synopsis "Unified access to tabular data")
(description "This package provides @code{elixir-table}, a library that
implements unified access to tabular data.")
(home-page "https://hexdocs.pm/table/")
(license license:asl2.0)))
(define-public elixir-tds
(package
(name "elixir-tds")
(version "2.3.5")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "tds" version))
(sha256
(base32 "1wk20rk1fjh16swlkiyl3fs91lj4w4dk77l5z77vp12mvpsm1qsj"))))
(build-system mix-build-system)
(propagated-inputs
(list elixir-db-connection elixir-decimal elixir-jason
elixir-table))
(synopsis
"Elixir implementation of the MS TDS protocol")
(description
"This package implements a Microsoft SQL Server client. More generally it
provides an Elixir implementation of the MS TDS protocol.")
(home-page "https://hexdocs.pm/tds/")
(license license:asl2.0)))
(define-public elixir-uniq
(package
(name "elixir-uniq")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "uniq" version))
(sha256
(base32 "05mrzx7g8q5c4jg38pxqcw1x3bysw0i5n4j7d42v6m3hcx6w69k4"))))
(build-system mix-build-system)
(native-inputs (list elixir-stream-data))
(propagated-inputs (list elixir-ecto))
(synopsis
"Provides UUID generation, parsing, and formatting")
(description
"This package provides UUID generation, parsing, and formatting. Supports RFC
4122, and the v6 draft extension.")
(home-page "https://hexdocs.pm/uniq/")
(license license:asl2.0)))
(define-public elixir-uuidv7
(package
(name "elixir-uuidv7")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "uuidv7" version))
(sha256
(base32 "1g2c8imkk7pgcvc5ns2v1b0zils3ai1yym4s3a5psvs511qk7k8f"))))
(build-system mix-build-system)
(propagated-inputs (list elixir-ecto))
(synopsis "UUID v7 implementation and @code{Ecto.Type} for Elixir")
(description
"This package provides a UUID v7 implementation and @code{Ecto.Type}
for Elixir.")
(home-page "https://hexdocs.pm/uuidv7/")
(license license:expat)))