;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2023 Pierre-Henry Fröhring ;;; ;;; 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 . (define-module (gnu packages elixir-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages elixir) #:use-module (gnu packages linux) #:use-module (gnu packages compression) #:use-module (gnu packages base) #: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))) (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))) (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))) (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))) ;;; ;;; 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. ;;;