From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: "Pierre-Henry Fröhring" <phfrohring@deeplinks.com>,
66801@debbugs.gnu.org
Subject: [bug#66801] [PATCH v3 01/14] build-system: Add mix-build-system.
Date: Thu, 16 Nov 2023 16:11:50 +0100 [thread overview]
Message-ID: <66cf8aa37e2c9696af3a8895059b9293669f485c.camel@gmail.com> (raw)
In-Reply-To: <CAP84DVVBMKfOL6TA0z0FowD6ne8Z+UXKgpbpYuZKmfQxmR3rrg@mail.gmail.com>
Am Donnerstag, dem 16.11.2023 um 14:01 +0100 schrieb Pierre-Henry
Fröhring:
> Do you mind if I paste the conversation using the following org
> format?
I do mind you pasting it in HTML format :P
> * Comment
> ** lilyp
> > +(define (elixir-version elixir)
> > + "Return an X.Y string where X and Y are respectively the major
> > and
> > minor version number of ELIXIR.
> > +Example: /gnu/store/…-elixir-1.14.0 → 1.14"
> > + ((compose
> > + (cut string-join <> ".")
> > + (cut take <> 2)
> > + (cut string-split <> #\.)
> > + last)
> > + (string-split elixir #\-)))
>
> I don't think we need to be overly cute here. The let-binding
> version from python-build-system is less surprising to the
> uninitiated reader.
>
> See also strip-store-file-name and package-name->name+version.
>
>
> ** phf
> Maybe:
> #+begin_src scheme
> (define (elixir-version elixir)
> "Return an X.Y string where X and Y are respectively the major and
> minor version number of ELIXIR.
> Example: /gnu/store/…-elixir-1.14.0 → 1.14"
> (receive (_ version) (package-name->name+version (strip-store-file-
> name elixir))
> (let* ((components (string-split version #\.))
> (major+minor (take components 2)))
> (string-join major+minor "."))))
> #+end_src
>
> or:
> #+begin_src scheme
> (define (elixir-version elixir)
> "Return an X.Y string where X and Y are respectively the major and
> minor version number of ELIXIR.
> Example: /gnu/store/…-elixir-1.14.0 → 1.14"
> (let* ((version (last (string-split elixir #\-)))
> (components (string-split version #\.))
> (major+minor (take components 2)))
> (string-join major+minor ".")))
> #+end_src
>
> or: just inline the code as it is used just once. See [[id:76abe0e4-
> a0e2-4176-bdc0-9ff241e8ba42][next comment]].
Note that you can use SRFI-71 let and let* to bind multiple values at
once. So you can write the first one without receive.
>
> * Comment
> :PROPERTIES:
> :ID: 76abe0e4-a0e2-4176-bdc0-9ff241e8ba42
> :END:
>
> ** lilyp
> > +(define (elixir-libdir elixir path)
> > + "Return the path where all libraries for a specified ELIXIR
> > version are installed."
> > + (string-append path "/lib/elixir/" (elixir-version elixir)))
>
> You probably want to swap path and elixir and perhaps also find a way
> to implicitly parameterize the latter so as to make it optional.
>
>
> ** phf
> Is this what you mean?
> #+begin_src scheme
> ;; The Elixir version is constant as soon as it is computable from
> the current
> ;; execution. It is a X.Y string where X and Y are respectively the
> major and
> ;; minor version number of the Elixir used in the build.
> (define elixir-version (make-parameter "X.Y"))
>
> (define* (elixir-libdir path #:optional (version (elixir-version)))
> "Return the path where all libraries for a specified ELIXIR version
> are installed."
> (string-append path "/lib/elixir/" version))
>
> (define* (configure #:key inputs mix-path mix-exs #:allow-other-keys)
> …
> (elixir-version
> (receive (_ version) (package-name->name+version (strip-store-
> file-name (assoc-ref inputs "elixir")))
> (let* ((components (string-split version #\.))
> (major+minor (take components 2)))
> (string-join major+minor ".")))))
> #+end_src
I'd use %elixir-version and perhaps make it a fluent rather than a
parameter (not quite sure whether parameters get reset when a function
goes out of scope).
> * Comment
> ** lilyp
> > +(define* (configure #:key inputs mix-path mix-exs #:allow-other-
> > keys)
> > + "Set environment variables.
> > +See:
> > https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables
> > "
> > + (setenv "LC_ALL" "en_US.UTF-8")
> > + (setenv "MIX_HOME" (getcwd))
> > + (setenv "MIX_ARCHIVES" "archives")
> > + (setenv "MIX_BUILD_ROOT" "_build")
> > + (setenv "MIX_DEPS_PATH" "deps")
> > + (setenv "MIX_PATH" (or mix-path ""))
> > + (setenv "MIX_REBAR3" (string-append (assoc-ref inputs "rebar3")
> > "/bin/rebar3"))
> > + (setenv "MIX_EXS" mix-exs))
>
> This does not appear to be a configure phase in the traditional sense
> of the wording. Instead, it should be a post 'set-paths' 'set-mix-
> env' imho.
>
>
> ** phf
> After ~install-locale~ since ~(setenv "LC_ALL" "en_US.UTF-8")~ is
> called in this phase.
> #+begin_src scheme
> (define %standard-phases
> (modify-phases gnu:%standard-phases
> …
> (delete 'configure)
> (add-after 'install-locale 'set-mix-env set-mix-env)
> (replace 'unpack unpack)
> …))
> #+end_src
Good point: you shouldn't be setting LC_ALL anyway, that's already done
by install-locale.
> * Comment
> ** lilyp
> > +(define* (install-hex #:key name inputs outputs #:allow-other-
> > keys)
> > + "Install Hex."
> > + (let ((hex-archive-path (string-append (getenv "MIX_ARCHIVES")
> > "/hex")))
> > + (mkdir-p hex-archive-path)
> > + (symlink (car (list-directories (elixir-libdir (assoc-ref
> > inputs
> > "elixir")
> > + (assoc-ref
> > inputs
> > "elixir-hex"))))
> > + (string-append hex-archive-path "/hex"))))
>
> Why do we need this? It looks like we'll be pasting the same
> (native?) input all over the store, which imho would be bad.
>
>
> ** phf
> Without ~Hex~, you get this error:
> #+begin_example
> starting phase `build'
> Could not find Hex, which is needed to build dependency :ex_doc
> Shall I install Hex? (if running non-interactively, use "mix
> local.hex --force") [Yn]
> #+end_example
> This message is called from ~handle_rebar_not_found~ in
> ~lib/mix/lib/mix/tasks/deps.compile.ex~ ; which is called from
> ~rebar_cmd~ because
> a ~manager~ (~Hex~) could not be found. Hex must be present =>
> install-hex must be executed.
>
> I thought that this should not be a problem since Hex is needed at
> build time, and just symlinked. Maybe should it be copied instead?
Is hex not an (implicit) native-input in your build system? Anything
that keeps it from functioning is a packaging bug imho.
> * Comment
> ** lilyp
> > + (define (install-input mix-env input)
> > + (let ((dir (mix-build-dir mix-env)))
> > + (mkdir-p dir)
> > + (match input
> > + ((_ . path)
> > + ((compose
> > + (cut for-each (cut install-lib <> dir) <>)
> > + (cut append-map list-directories <>)
> > + (cut filter directory-exists? <>))
> > + (list (elixir-libdir (assoc-ref inputs "elixir") path)
> > + (erlang-libdir path)))))))
>
> I think you're at the wrong layer of abstraction here.
>
> (match input
> ((_ . prefix)
> (begin
> (install-subdirectories (elixir-libdir path))
> (install-subdirectories (erlang-libdir path)))))
>
> where (install-subdirectories PATH) is basically
> (when (directory-exists? PATH)
> (for-each (cute install-lib <> (mix-build-dir mix-env))
> (list-directories PATH)))
>
>
> ** phf
> Does this work?
> #+begin_src scheme
> (define (install-lib lib dir)
> (let ((lib-name (last (string-split lib #\/))))
> (symlink lib (string-append dir "/" lib-name))))
>
> (define (install-subdirectories mix-env path)
> (let ((build-dir (mix-build-dir mix-env)))
> (mkdir-p build-dir)
> (when (directory-exists? path)
> (for-each (cute install-lib <> build-dir)
> (list-directories path)))))
Maybe move the mkdir-p into the when or at the start of install-lib.
> (define (install-input mix-env input)
> (match input
> ((_ . path)
> (begin
> (install-subdirectories mix-env (elixir-libdir path))
> (install-subdirectories mix-env (erlang-libdir path))))))
> #+end_src
>
>
> * Comment
> ** lilyp
> > + (define (install-inputs mix-env)
> > + (for-each (cut install-input mix-env <>)
> > + (append inputs native-inputs)))
>
> Installing native inputs: probably a bad idea (inhibits cross-
> compilation).
>
>
> ** phf
> A slight variant that does not link things when it should not:
> #+begin_src scheme
> (define (install-inputs mix-env)
> (for-each (cut install-input mix-env <>)
> (cond
> ((string=? mix-env "prod") inputs)
> ((member mix-env '("shared" "test")) (append inputs
> native-inputs))
> (else (error (format #f "Unexpected Mix env: ~a~%"
> mix-env))))))
> #+end_src
>
> I did not consider cross-compilation yet. The following might be
> wrong be here we go. I far as I understand, Erlang applications are
> largely platform independent. Once the code is compiled to BEAM
> bytecode, it can run on any platform that has the Erlang VM
> installed. If an Erlang library uses native extensions, then cross-
> compilation might be required. For a build to succeed
> in a given environment (one of "prod", "test", "shared"), the BEAM
> files of all dependencies should be present on the build machine. So,
> all dependencies must be installed
Not an expert on elixir, but that sounds borked. You might get around
this with propagated-inputs maybe? That being said, native-inputs
shouldn't blow up a build if missing.
> * Comment
> ** lilyp
> > +(define (library-name pkg-name)
> > + "Return the library name deduced from PKG-NAME.
> > +A package should be named: elixir-lib-name-X.Y.Z from which the
> > library name
> > +lib_name is deduced."
> > + ((compose
> > + (cut string-join <> "_")
> > + (cut drop-right <> 1)
> > + (cut string-split <> #\-))
> > + (strip-elixir-prefix pkg-name)))
>
> Consider defining (package-name-version->elixir-name) analogous to
> (package-name-version->erlang-name) in rebar-build-system. Also
> allow overriding it through a build system argument. The thing you
> currently have will blow up with git-version.
>
>
> ** phf
> Faily close to the ~rebar-build-system~ version.
> #+begin_src scheme
> (define (package-name-version->elixir-name name+ver)
> "Convert the Guix package NAME-VER to the corresponding Elixir
> name-version format. Essentially drop the prefix used in Guix and
> replace dashes by underscores."
> (let* ((name- (package-name->name+version name+ver)))
> (string-join
> (string-split
> (if (string-prefix? "elixir-" name-)
> (string-drop name- (string-length "elixir-"))
> name-)
> #\-)
> "_")))
> #+end_src
Looks okay.
next prev parent reply other threads:[~2023-11-16 15:13 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-28 20:19 [bug#66801] [PATCH] mix-build-system: draft 1 Pierre-Henry Fröhring
2023-10-28 21:43 ` Liliana Marie Prikler
2023-10-29 17:19 ` Pierre-Henry Fröhring
2023-10-29 14:36 ` [bug#66801] [PATCH va3e5ae0f..37252e07 01/32] rebar-build-system and packages Pierre-Henry Fröhring
2023-10-29 14:36 ` [bug#66801] [PATCH va3e5ae0f..37252e07 02/32] gnu: erlang updated Pierre-Henry Fröhring
2023-10-29 19:22 ` Liliana Marie Prikler
2023-10-29 14:36 ` [bug#66801] [PATCH va3e5ae0f..37252e07 03/32] gnu: erlang-certifi: moved to erlang-xyz.scm Pierre-Henry Fröhring
2023-10-29 19:25 ` Liliana Marie Prikler
2023-10-29 14:36 ` [bug#66801] [PATCH va3e5ae0f..37252e07 04/32] gnu: erlang-getopt: " Pierre-Henry Fröhring
2023-10-29 14:36 ` [bug#66801] [PATCH va3e5ae0f..37252e07 05/32] gnu: erlang-edown: " Pierre-Henry Fröhring
2023-10-29 14:36 ` [bug#66801] [PATCH va3e5ae0f..37252e07 06/32] gnu: erlang-rebar3-git-vsn: " Pierre-Henry Fröhring
2023-10-29 19:31 ` Liliana Marie Prikler
2023-10-29 19:42 ` Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 07/32] gnu: erlang-rebar3-raw-deps: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 08/32] gnu: erlang-rebar3-proper: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 09/32] gnu: erlang-bbmustache: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 10/32] gnu: erlang-cf: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 11/32] gnu: erlang-yamerl: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 12/32] gnu: erlang-covertool: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 13/32] gnu: erlang-cth-readable: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 14/32] gnu: erlang-erlware-commons: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 15/32] gnu: erlang-eunit-formatters: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 16/32] gnu: erlang-proper: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 17/32] gnu: erlang-hex-core: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 18/32] gnu: erlang-jsx: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 19/32] gnu: erlang-relx: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 20/32] gnu: erlang-providers: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 21/32] gnu: erlang-jsone: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 22/32] gnu: erlang-parse-trans: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 23/32] gnu: erlang-unicode-util-compat: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 24/32] gnu: erlang-idna: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 25/32] gnu: erlang-bear: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 26/32] gnu: erlang-erlang-color: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 27/32] gnu: erlang-tdiff: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 28/32] gnu: erlang-rebar3-ex-doc: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 29/32] gnu: erlang-samovar: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 30/32] gnu: erlang-geas: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 31/32] gnu: erlang-covertool: " Pierre-Henry Fröhring
2023-10-29 14:37 ` [bug#66801] [PATCH va3e5ae0f..37252e07 32/32] gnu: erlang-telemetry: " Pierre-Henry Fröhring
2023-10-29 18:29 ` [bug#66801] [PATCH va3e5ae0f..37252e07 01/32] rebar-build-system and packages Liliana Marie Prikler
2023-10-29 22:14 ` Pierre-Henry Fröhring
2023-10-30 5:29 ` Liliana Marie Prikler
2023-10-30 12:30 ` Pierre-Henry Fröhring
2023-10-30 20:40 ` Liliana Marie Prikler
2023-11-08 9:21 ` [bug#66801] A minimal set of changes Pierre-Henry Fröhring
2023-11-08 9:22 ` [bug#66801] [PATCH 0/5] build Erlang packages with dependencies Pierre-Henry Fröhring
2023-11-08 9:22 ` [bug#66801] [PATCH 1/5] guix: build-system: rebar: " Pierre-Henry Fröhring
2023-11-08 20:40 ` Liliana Marie Prikler
2023-11-13 18:58 ` Pierre-Henry Fröhring
2023-11-08 9:22 ` [bug#66801] [PATCH 2/5] gnu: Add erlang-goldrush Pierre-Henry Fröhring
2023-11-08 9:22 ` [bug#66801] [PATCH 3/5] gnu: Add erlang-lager Pierre-Henry Fröhring
2023-11-08 9:22 ` [bug#66801] [PATCH 4/5] gnu: Add erlang-unicode-util-compat Pierre-Henry Fröhring
2023-11-08 9:22 ` [bug#66801] [PATCH 5/5] gnu: Add erlang-idna Pierre-Henry Fröhring
2023-11-13 20:26 ` [bug#66801] ['PATCH v2' 01/14] build-system: Add mix-build-system Pierre-Henry Fröhring
2023-11-13 21:22 ` Liliana Marie Prikler
2023-11-14 10:37 ` Pierre-Henry Fröhring
2023-11-14 17:53 ` Liliana Marie Prikler
2023-11-15 9:57 ` Pierre-Henry Fröhring
2023-11-15 9:59 ` Pierre-Henry Fröhring
2023-11-15 12:40 ` [bug#66801] Fwd: " Pierre-Henry Fröhring
2023-11-15 18:36 ` [bug#66801] " Liliana Marie Prikler
2023-11-15 22:49 ` Pierre-Henry Fröhring
2023-11-15 22:51 ` [bug#66801] [PATCH v3 " Pierre-Henry Fröhring
2023-11-16 2:05 ` Liliana Marie Prikler
2023-11-16 13:01 ` Pierre-Henry Fröhring
2023-11-16 15:11 ` Liliana Marie Prikler [this message]
2023-11-16 18:12 ` Pierre-Henry Fröhring
2023-11-16 19:34 ` Liliana Marie Prikler
2023-11-17 7:36 ` Pierre-Henry Fröhring
2023-11-17 8:03 ` Pierre-Henry Fröhring
2023-11-17 19:24 ` Liliana Marie Prikler
2023-11-18 4:44 ` Pierre-Henry Fröhring
2023-11-18 7:12 ` Liliana Marie Prikler
2023-11-18 10:19 ` Pierre-Henry Fröhring
2023-11-18 11:11 ` Liliana Marie Prikler
2023-11-18 12:02 ` Pierre-Henry Fröhring
2023-12-07 22:34 ` [bug#66801] [PATCH] " Pierre-Henry Fröhring
2023-12-08 7:25 ` Liliana Marie Prikler
2023-12-08 8:01 ` Pierre-Henry Fröhring
2023-12-08 9:52 ` Liliana Marie Prikler
2023-12-08 10:17 ` Pierre-Henry Fröhring
2023-12-08 11:50 ` Liliana Marie Prikler
2023-12-08 14:20 ` Pierre-Henry Fröhring
2023-12-08 14:55 ` Liliana Marie Prikler
2023-12-08 11:10 ` [bug#66801] [PATCH 01/15] " Pierre-Henry Fröhring
2023-12-08 11:10 ` [bug#66801] [PATCH 02/15] gnu: elixir: Wrap binaries Pierre-Henry Fröhring
2023-12-08 11:10 ` [bug#66801] [PATCH 03/15] gnu: Add elixir-hex Pierre-Henry Fröhring
2023-12-08 14:27 ` [bug#66801] [PATCH v3 01/15] build-system: Add mix-build-system Pierre-Henry Fröhring
2023-12-08 14:27 ` [bug#66801] [PATCH v3 02/15] gnu: elixir: Wrap binaries Pierre-Henry Fröhring
2023-12-08 14:27 ` [bug#66801] [PATCH v3 03/15] gnu: Add elixir-hex Pierre-Henry Fröhring
2023-12-08 15:29 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 04/15] gnu: Add elixir-nimble-parsec Pierre-Henry Fröhring
2023-12-08 15:30 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 05/15] gnu: Add elixir-makeup Pierre-Henry Fröhring
2023-12-08 15:30 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 06/15] gnu: Add elixir-jason Pierre-Henry Fröhring
2023-12-08 15:31 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 07/15] gnu: Add elixir-file-system Pierre-Henry Fröhring
2023-12-08 15:33 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 08/15] gnu: Add elixir-bunt Pierre-Henry Fröhring
2023-12-08 15:33 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 09/15] gnu: Add elixir-inch-ex Pierre-Henry Fröhring
2023-12-08 15:35 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 10/15] gnu: Add elixir-castore Pierre-Henry Fröhring
2023-12-08 15:36 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 11/15] gnu: Add elixir-excoveralls Pierre-Henry Fröhring
2023-12-08 15:38 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 12/15] gnu: Add elixir-credo Pierre-Henry Fröhring
2023-12-08 15:39 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 13/15] gnu: Add elixir-erlex Pierre-Henry Fröhring
2023-12-08 15:39 ` Liliana Marie Prikler
2023-12-08 15:03 ` [bug#66801] [PATCH v3 14/15] gnu: Add elixir-dialyxir Pierre-Henry Fröhring
2023-12-08 15:03 ` [bug#66801] [PATCH v3 15/15] gnu: Add elixir-machete Pierre-Henry Fröhring
2023-12-08 15:40 ` Liliana Marie Prikler
2023-12-08 17:30 ` Pierre-Henry Fröhring
2023-12-08 18:01 ` Liliana Marie Prikler
2023-12-08 18:19 ` Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 01/15] build-system: Add mix-build-system Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 02/15] gnu: elixir: Wrap binaries Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 03/15] gnu: Add elixir-hex Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 04/15] gnu: Add elixir-nimble-parsec Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 05/15] gnu: Add elixir-makeup Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 06/15] gnu: Add elixir-jason Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 07/15] gnu: Add elixir-file-system Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 08/15] gnu: Add elixir-bunt Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 09/15] gnu: Add elixir-inch-ex Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 10/15] gnu: Add elixir-castore Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 11/15] gnu: Add elixir-excoveralls Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 12/15] gnu: Add elixir-credo Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 13/15] gnu: Add elixir-erlex Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 14/15] gnu: Add elixir-dialyxir Pierre-Henry Fröhring
2023-12-08 18:35 ` [bug#66801] [PATCH v4 15/15] gnu: Add elixir-machete Pierre-Henry Fröhring
2023-12-10 12:34 ` [bug#66801] (no subject) Pierre-Henry Fröhring
2023-12-10 13:03 ` [bug#66801] [PATCH v5 01/15] build-system: Add mix-build-system Pierre-Henry Fröhring
2023-12-10 13:03 ` [bug#66801] [PATCH v5 02/15] gnu: elixir: Wrap binaries Pierre-Henry Fröhring
2023-12-10 13:03 ` [bug#66801] [PATCH v5 03/15] gnu: Add elixir-hex Pierre-Henry Fröhring
2023-12-10 13:03 ` [bug#66801] [PATCH v5 04/15] gnu: Add elixir-nimble-parsec Pierre-Henry Fröhring
2023-12-10 13:03 ` [bug#66801] [PATCH v5 05/15] gnu: Add elixir-makeup Pierre-Henry Fröhring
2023-12-10 13:03 ` [bug#66801] [PATCH v5 06/15] gnu: Add elixir-jason Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 07/15] gnu: Add elixir-file-system Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 08/15] gnu: Add elixir-bunt Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 09/15] gnu: Add elixir-inch-ex Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 10/15] gnu: Add elixir-castore Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 11/15] gnu: Add elixir-excoveralls Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 12/15] gnu: Add elixir-credo Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 13/15] gnu: Add elixir-erlex Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 14/15] gnu: Add elixir-dialyxir Pierre-Henry Fröhring
2023-12-10 13:04 ` [bug#66801] [PATCH v5 15/15] gnu: Add elixir-machete Pierre-Henry Fröhring
2023-12-10 14:20 ` [bug#66801] [PATCH v5 01/15] build-system: Add mix-build-system Liliana Marie Prikler
2023-12-10 14:22 ` Pierre-Henry Fröhring
2023-12-18 3:01 ` bug#66801: " Liliana Marie Prikler
2023-12-10 13:05 ` [bug#66801] Erratum Pierre-Henry Fröhring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=66cf8aa37e2c9696af3a8895059b9293669f485c.camel@gmail.com \
--to=liliana.prikler@gmail.com \
--cc=66801@debbugs.gnu.org \
--cc=phfrohring@deeplinks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.