Subject: [PATCH v3 00/22] Add importer for hex.pm and rebar3 build-system for Erlang

From: Hartmut Goebel <[email-masked]>
Date: Fri, 8 Apr 2022 19:01:55 +0200

Hi,

this is an updated version of #42180 and #51061 (both are closed
already). Notable changes are:

* the „extracting downloader“ and „hexpm-fetch” are gone

* documentation added for both the importer and the rebar3-build-system

* tests added for the importer

Some remarks on the patches:

* First patch adds a file guix/hexpm-download.scm, containing
  definitions for the hex.pm repository. These are combined in
  this module here since different build-systems (will) use it.

* The importer tries to detect the build system to be used. For Elexir
  packages it creates package definitions using the “mix-build-system‘. This I
  will add later (WIP).

* Next there patches provide the packages required rebar3, rebar3 itself and
  some plugins for rebar3.

Open question:

* Shall the build system actually be called „rebar*3*“ or just „rebar“? There
  is also a build-tool „rebar2“, which is obsoltete and not supported by this
  build-system. Anyhow, somewhen in the future there might be some „rebar4“,
  which we might be able to cover with the same build-system. WDYT?

Hartmut Goebel (22):
  import: Add hex.pm importer.
  gnu: Add erlang-cf.
  gnu: Add erlang-certifi.
  gnu: Add erlang-erlware-commons.
  gnu: Add erlang-cth-readable.
  gnu: Add erlang-bbmustache.
  gnu: Add erlang-getopt.
  gnu: Add erlang-eunit-formatters.
  gnu: Add erlang-providers.
  gnu: Add erlang-parse-trans.
  gnu: Add erlang-hex-core.
  gnu: Add erlang-ssl-verify-fun.
  gnu: Add erlang-relx.
  gnu: Add erlang-edown.
  gnu: Add erlang-jsone.
  gnu: Add erlang-proper.
  gnu: Add erlang-covertool.
  gnu: Add rebar3.
  gnu: Add rebar3-raw-deps.
  gnu: Add rebar3-git-vsn.
  gnu: Add rebar3-proper.
  build-system: Add 'rebar3-build-system'.

 Makefile.am                        |   6 +
 doc/guix.texi                      |  70 ++++-
 gnu/packages/erlang.scm            | 488 +++++++++++++++++++++++++++++
 guix/build-system/rebar3.scm       | 143 +++++++++
 guix/build/rebar3-build-system.scm | 147 +++++++++
 guix/hexpm-download.scm            |  40 +++
 guix/import/hexpm.scm              | 347 ++++++++++++++++++++
 guix/scripts/import.scm            |   2 +-
 guix/scripts/import/hexpm.scm      | 109 +++++++
 po/guix/POTFILES.in                |   1 +
 tests/hexpm.scm                    | 257 +++++++++++++++
 11 files changed, 1608 insertions(+), 2 deletions(-)
 create mode 100644 guix/build-system/rebar3.scm
 create mode 100644 guix/build/rebar3-build-system.scm
 create mode 100644 guix/hexpm-download.scm
 create mode 100644 guix/import/hexpm.scm
 create mode 100644 guix/scripts/import/hexpm.scm
 create mode 100644 tests/hexpm.scm

-- 
2.30.2