~ruther/guix-local

64448de2613ef79a1d8293a01cdc405088c416cf — Suhail Singh 1 year, 6 months ago 6d0659d
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 <jgart@dismail.de>
1 files changed, 25 insertions(+), 7 deletions(-)

M gnu/packages/lisp.scm
M gnu/packages/lisp.scm => gnu/packages/lisp.scm +25 -7
@@ 30,6 30,7 @@
;;; Copyright © 2024 bigbug <bigbookofbug@proton.me>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Omar Bassam <omar.bassam88@gmail.com>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 David Pflug <david@pflug.io>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;


@@ 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))