;;; 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 erlang-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages base) #:use-module (gnu packages version-control) #:use-module (gnu packages) #:use-module (guix build-system rebar) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) (define-public erlang-certifi (package (name "erlang-certifi") (version "2.9.0") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "0ha6vmf5p3xlbf5w1msa89frhvfk535rnyfybz9wdmh6vdms8v96")))) (build-system rebar-build-system) (arguments `(#:tests? #f)) ;; have not been updated for latest cert bundle (home-page "https://github.com/certifi/erlang-certifi/") (synopsis "Erlang CA certificate bundle") (description "This Erlang library contains a CA bundle that you can reference in your Erlang application. This is useful for systems that do not have CA bundles that Erlang can find itself, or where a uniform set of CAs is valuable. This an Erlang specific port of certifi. The CA bundle is derived from Mozilla's canonical set.") (license license:bsd-3))) (define-public erlang-getopt (package (name "erlang-getopt") (version "1.0.2") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "09pasi7ki1rivw9sl7xndj5qgjbdqvcscxk83yk85yr28gm9l0m0")))) (build-system rebar-build-system) (home-page "https://github.com/jcomellas/getopt") (synopsis "Command-line options parser for Erlang") (description "This package provides an Erlang module to parse command line arguments using the GNU getopt syntax.") (license license:bsd-3))) (define-public erlang-edown (package (name "erlang-edown") (version "0.8.4") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "0ij47gvgs6yfqphj0f54qjzj18crj8y1dsjjlzpp3dp8pscqzbqw")))) (build-system rebar-build-system) (home-page "https://github.com/uwiger/edown") (synopsis "Markdown extension for EDoc") (description "This package provides an extension for EDoc for generating Markdown.") (license license:asl2.0))) (define-public erlang-rebar3-git-vsn (package (name "erlang-rebar3-git-vsn") (version "1.1.1") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "1dfz56034pa25axly9vqdzv3phkn8ll0qwrkws96pbgcprhky1hx")))) (build-system rebar-build-system) (inputs (list git-minimal/pinned)) (arguments `(;; Running the tests require binary artifact (tar-file containing ;; samples git repos) TODO: remove these from the source #:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-path (lambda* (#:key inputs #:allow-other-keys) (let ((git (assoc-ref inputs "git-minimal"))) (substitute* "src/rebar3_git_vsn.erl" (("rebar_utils:sh\\(\"git " _) (string-append "rebar_utils:sh(\"" git "/bin/git "))))))))) (home-page "https://github.com/soranoba/rebar3_git_vsn") (synopsis "Rebar3 plugin for generating the version from git") (description "This plugin adds support for generating the version from a git checkout.") (license license:expat))) (define-public erlang-rebar3-raw-deps (package (name "erlang-rebar3-raw-deps") (version "2.0.0") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "1pzmm3m8gb2s9jn8fp6shzgfmy4mvh2vdci0z6nsm74ma3ffh1i3")))) (build-system rebar-build-system) (home-page "https://github.com/soranoba/rebar3_raw_deps") (synopsis "Rebar3 plugin for supporting \"raw\" dependencies") (description "This plugin provides support for handling non-OTP applications as a dependent libraries.") (license license:expat))) (define-public erlang-rebar3-proper (package (name "erlang-rebar3-proper") (version "0.12.1") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "1f174fb6h2071wr7qbw9aqqvnglzsjlylmyi8215fhrmi38w94b6")))) (build-system rebar-build-system) (home-page "https://github.com/ferd/rebar3_proper") (synopsis "Rebar3 PropEr plugin") (description "This plugin allows running PropEr test suites from within rebar3.") (license license:bsd-3))) (define-public erlang-bbmustache (package (name "erlang-bbmustache") (version "1.12.2") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "0fvvaxdpziygxl30j59g98qkh2n47xlb7w5dfpsm2bfcsnj372v8")))) (build-system rebar-build-system) (inputs (list erlang-getopt erlang-rebar3-git-vsn erlang-edown)) ; for building the docs (arguments `(#:tests? #f ;; requires mustache specification file #:phases (modify-phases %standard-phases (add-before 'build 'build-more (lambda _ (invoke "rebar3" "as" "dev" "escriptize"))) (add-after 'install 'install-escript (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) (install-file "_build/dev/bin/bbmustache" (string-append out "/bin")))))))) (home-page "https://github.com/soranoba/bbmustache/") (synopsis "Binary pattern match Based Mustache template engine for Erlang") (description "This Erlang library provides a Binary pattern match Based Mustache template engine") (license license:expat))) (define-public erlang-cf (package (name "erlang-cf") (version "0.3.1") (source (origin (method url-fetch) (uri (hexpm-uri name version)) (sha256 (base32 "0wknz4xkqkhgvlx4vx5619p8m65v7g87lfgsvfy04jrsgm28spii")))) (build-system rebar-build-system) (home-page "https://github.com/project-fifo/cf") (synopsis "Terminal colour helper for Erlang io and io_lib") (description "This package provides a helper library for termial colour printing extending the io:format syntax to add colours.") (license license:expat))) ;;; ;;; 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. ;;;