From 64448de2613ef79a1d8293a01cdc405088c416cf Mon Sep 17 00:00:00 2001 From: Suhail Singh Date: Mon, 7 Oct 2024 23:22:13 -0400 Subject: [PATCH] gnu: Improve user-experience for jpm. * gnu/packages/lisp.scm (jpm): Ensure jpm respects JANET_HEADERPATH and JANET_LIBPATH if set by user. Ensure gcc/g++ is able to find header files and compilation-related utilities. Change-Id: Ic7218dbd10e6fabddded50894b82492de8cabc88 Signed-off-by: jgart --- gnu/packages/lisp.scm | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index f99ad6882841d1d75c0c2b499da5f3ed917c51f3..eb3063d3d9eb18e8e7cb94dea83a266367085dab 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2024 bigbug ;;; Copyright © 2024 Ashish SHUKLA ;;; Copyright © 2024 Omar Bassam +;;; Copyright © 2024 Suhail Singh ;;; Copyright © 2024 David Pflug ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; @@ -965,22 +966,39 @@ assembler, PEG) is less than 1MB.") (setenv "PREFIX" #$output))) (replace 'install - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (for-each (lambda (dir) (mkdir-p (string-append #$output "/" dir))) '("lib/janet/jpm" "share/man/man1")) (invoke "janet" "bootstrap.janet" "configs/linux_config.janet") - (wrap-program (string-append #$output "/bin/jpm") - `("JANET_HEADERPATH" ":" = - (,(string-append #$janet "/include/janet"))) - `("JANET_LIBPATH" ":" = - (,(string-append #$janet "/lib"))))))))) + (let ((gcc-toolchain (assoc-ref inputs "gcc-toolchain")) + (core-min (assoc-ref inputs "coreutils-minimal"))) + (wrap-program (string-append #$output "/bin/jpm") + `("JANET_HEADERPATH" ":" prefix + (,(string-append #$janet "/include/janet"))) + `("JANET_LIBPATH" ":" prefix + (,(string-append #$janet "/lib"))) + `("C_INCLUDE_PATH" ":" prefix + (,(string-append gcc-toolchain "/include"))) + `("CPLUS_INCLUDE_PATH" ":" prefix + (,(string-append gcc-toolchain "/include/c++") + ,(string-append gcc-toolchain "/include"))) + `("LIBRARY_PATH" ":" prefix + (,(string-append gcc-toolchain "/lib") + ,(string-append gcc-toolchain "/lib64"))) + `("PATH" ":" prefix + (,(string-append gcc-toolchain "/bin") + ,(string-append core-min "/bin")))))))))) (inputs (list bash-minimal coreutils-minimal curl gcc - git-minimal/pinned)) + git-minimal/pinned + ;; Lazily resolve the gcc-toolchain to avoid a circular + ;; dependency. + (module-ref (resolve-interface '(gnu packages commencement)) + 'gcc-toolchain))) (propagated-inputs (list janet)) (native-search-paths (list $SSL_CERT_DIR $SSL_CERT_FILE))