From c2ed5a7d134dff0755954dd966cb3a41fc047ba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Henry=20Fr=C3=B6hring?= Date: Sun, 10 Dec 2023 14:03:55 +0100 Subject: [PATCH] gnu: elixir: Wrap binaries. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/elixir.scm (elixir)[#:phases]: Add ‘wrap-programs’. [native-search-path]: Add “GUIX_ELIXIR_LIBS”. Change-Id: I75bdde3aeedc1d495ea5fc2c5fc3fcdc5dc3fad2 Signed-off-by: Liliana Marie Prikler --- gnu/packages/elixir.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 724b42512c..15cbdbdfc7 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -27,6 +27,7 @@ (define-module (gnu packages elixir) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix gexp) + #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) @@ -96,9 +97,20 @@ (define-public elixir (lambda* (#:key inputs #:allow-other-keys) ;; Some tests require access to a home directory. (setenv "HOME" "/tmp"))) - (delete 'configure)))) - (inputs - (list erlang git)) + (delete 'configure) + (add-after 'install 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (programs '("elixir" "elixirc" "iex" "mix"))) + (for-each (lambda (program) + (wrap-program (string-append out "/bin/" program) + '("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}")))) + programs))))))) + (inputs (list erlang git)) + (native-search-paths + (list (search-path-specification + (variable "GUIX_ELIXIR_LIBS") + (files (list (string-append "lib/elixir/" (version-major+minor version))))))) (home-page "https://elixir-lang.org/") (synopsis "Elixir programming language") (description "Elixir is a dynamic, functional language used to build