2023-12-10 08:03:57 -05:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
|
|
|
;;; Copyright © 2023 Pierre-Henry Fröhring <phfrohring@deeplinks.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 elixir-xyz)
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
#:use-module (gnu packages elixir)
|
|
|
|
#:use-module (gnu packages linux)
|
2023-12-10 08:04:00 -05:00
|
|
|
#:use-module (gnu packages compression)
|
|
|
|
#:use-module (gnu packages base)
|
2023-12-10 08:03:57 -05:00
|
|
|
#:use-module (gnu packages)
|
|
|
|
#:use-module (guix build-system gnu)
|
|
|
|
#:use-module (guix build-system mix)
|
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module (guix git-download)
|
|
|
|
#:use-module (guix gexp)
|
|
|
|
#:use-module (guix utils)
|
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (srfi srfi-1)
|
|
|
|
#:use-module (srfi srfi-26))
|
|
|
|
|
|
|
|
(define-public elixir-nimble-parsec
|
|
|
|
(package
|
|
|
|
(name "elixir-nimble-parsec")
|
|
|
|
(version "1.3.1")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (hexpm-uri name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "0rxiw6jzz77v0j460wmzcprhdgn71g1hrz3mcc6djn7bnb0f70i6"))))
|
|
|
|
(build-system mix-build-system)
|
|
|
|
(arguments (list #:tests? #f)) ; no tests
|
|
|
|
(synopsis "Text-based parser combinators")
|
|
|
|
(description
|
|
|
|
"This library provides primitives for efficient parser combinators, allowing
|
|
|
|
for higher-level combinators through composition.")
|
|
|
|
(home-page "https://hexdocs.pm/nimble_parsec/")
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
2023-12-10 08:03:58 -05:00
|
|
|
(define-public elixir-makeup
|
|
|
|
(package
|
|
|
|
(name "elixir-makeup")
|
|
|
|
(version "1.1.0")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (hexpm-uri name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "19jpprryixi452jwhws3bbks6ki3wni9kgzah3srg22a3x8fsi8a"))))
|
|
|
|
(build-system mix-build-system)
|
|
|
|
(propagated-inputs (list elixir-nimble-parsec))
|
|
|
|
(arguments (list #:tests? #f)) ; no tests
|
|
|
|
(synopsis "Syntax highlighter for source code")
|
|
|
|
(description
|
|
|
|
"Makeup is a generic syntax highlighter in the style of Pygments suitable for use in code hosting,
|
|
|
|
forums, wikis or other applications that need to prettify source code.")
|
|
|
|
(home-page "https://hexdocs.pm/makeup/")
|
|
|
|
(license license:bsd-2)))
|
|
|
|
|
2023-12-10 08:03:59 -05:00
|
|
|
(define-public elixir-jason
|
|
|
|
(package
|
|
|
|
(name "elixir-jason")
|
|
|
|
(version "1.4.1")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (hexpm-uri name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "18d70i31bz11nr6vgsjn5prvhkvwqbyf3xq22ck5cnsnzp6ixc7v"))))
|
|
|
|
(build-system mix-build-system)
|
|
|
|
(arguments (list #:tests? #f)) ; no tests
|
|
|
|
(synopsis "JSON parser and generator")
|
|
|
|
(description
|
|
|
|
"Parser and generator are written in pure Elixir and optimized for speed. They
|
|
|
|
are at least twice as fast as other Elixir/Erlang libraries (e.g.
|
|
|
|
Poison). The performance is comparable to jiffy, which is implemented in C as
|
|
|
|
a NIF.")
|
|
|
|
(home-page "https://hexdocs.pm/jason/")
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
2023-12-10 08:04:00 -05:00
|
|
|
(define-public elixir-file-system
|
|
|
|
(package
|
|
|
|
(name "elixir-file-system")
|
|
|
|
(version "0.2.10")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (hexpm-uri name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "1p0myxmnjjds8bbg69dd6fvhk8q3n7lb78zd4qvmjajnzgdmw6a1"))
|
|
|
|
(snippet #~(begin
|
|
|
|
(use-modules (guix build utils) (ice-9 ftw))
|
|
|
|
(mkdir "source")
|
|
|
|
(for-each (lambda (file)
|
|
|
|
(when (not (member file '("." ".." "source")))
|
|
|
|
(rename-file file (string-append "source/" file))))
|
|
|
|
(scandir "."))
|
|
|
|
(with-directory-excursion "source"
|
|
|
|
(invoke (string-append #+gzip "/bin/gunzip") "-v" "contents.tar.gz")
|
|
|
|
(invoke (string-append #+tar "/bin/tar") "-xvf" "contents.tar")
|
|
|
|
(delete-file "contents.tar")
|
|
|
|
(delete-file "priv/inotifywait.exe"))))))
|
|
|
|
(build-system mix-build-system)
|
|
|
|
(propagated-inputs (list inotify-tools))
|
|
|
|
(arguments (list #:tests? #f)) ; no tests
|
|
|
|
(synopsis "File system change watcher")
|
|
|
|
(description "Provides a file system change watcher wrapper based on
|
|
|
|
https://github.com/synrc/fs.")
|
|
|
|
(home-page "https://hexdocs.pm/file_system/")
|
|
|
|
(license license:wtfpl2)))
|
|
|
|
|
2023-12-10 08:04:01 -05:00
|
|
|
(define-public elixir-bunt
|
|
|
|
(package
|
|
|
|
(name "elixir-bunt")
|
|
|
|
(version "0.2.1")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (hexpm-uri name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "19bp6xh052ql3ha0v3r8999cvja5d2p6cph02mxphfaj4jsbyc53"))))
|
|
|
|
(build-system mix-build-system)
|
|
|
|
(arguments (list #:tests? #f)) ; no tests
|
|
|
|
(synopsis "256 color ANSI coloring in the terminal")
|
|
|
|
(description "Bunt is an Elixir package that enables 256 color ANSI
|
|
|
|
coloring in the terminal and allows users to alias colors to more semantic and
|
|
|
|
application-specific names1.")
|
|
|
|
(home-page "https://hexdocs.pm/bunt/")
|
|
|
|
(license license:expat)))
|
|
|
|
|
2023-12-10 08:04:02 -05:00
|
|
|
(define-public elixir-inch-ex
|
|
|
|
(package
|
|
|
|
(name "elixir-inch-ex")
|
|
|
|
(version "2.0.0")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (hexpm-uri name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "1a4rjcy3hn5pc40si1d1y7qg0b0mnxx6pw825la67ky8r9gfrl4n"))))
|
|
|
|
(build-system mix-build-system)
|
|
|
|
(arguments (list #:tests? #f)) ; no tests
|
|
|
|
(propagated-inputs (list elixir-bunt elixir-jason))
|
|
|
|
(synopsis
|
|
|
|
"Suggest enhancements for inline documentation")
|
|
|
|
(description
|
|
|
|
"This package provides a Mix task that gives you hints where to improve your
|
|
|
|
inline docs.")
|
|
|
|
(home-page "https://hex.pm/packages/inch_ex")
|
|
|
|
(license license:expat)))
|
|
|
|
|
2023-12-10 08:03:57 -05:00
|
|
|
;;;
|
|
|
|
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
|
|
|
;;; of a merge conflict, place them above by existing packages with similar
|
|
|
|
;;; functionality or similar names.
|
|
|
|
;;;
|