From 1665bb0ceca91be44816ef70691914d9c20664d6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 23 Jul 2021 16:08:55 +0200 Subject: gnu: hpcguix-web: Update to 0.1.0. * gnu/packages/web.scm (hpcguix-web): Update to 0.1.0. [arguments]: In 'wrap-program' phase, change "/bin/run" to "/bin/hpcguix-web". [inputs]: Add BASH-MINIMAL. * gnu/services/web.scm (hpcguix-web-shepherd-service): Run "/bin/hpcguix-web". --- gnu/packages/web.scm | 157 +++++++++++++++++++++++++-------------------------- gnu/services/web.scm | 4 +- 2 files changed, 79 insertions(+), 82 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 2cc8619b19..21e47eb47a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Aljosha Papsch -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal @@ -95,6 +95,7 @@ (define-module (gnu packages web) #:use-module (gnu packages apr) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages bittorrent) #:use-module (gnu packages boost) @@ -7693,87 +7694,83 @@ (define-public nghttp2 (license license:expat))) (define-public hpcguix-web - (let ((commit "9de63562b06b4aef3a3afe5ecb18d3c91e57ee74") - (revision "5")) - (package - (name "hpcguix-web") - (version (git-version "0.0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/UMCUGenetics/hpcguix-web") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0wjgj2s7v2cyz6dx24c111rxs99i84sfvxl4ch8brnh02j2606jz")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26) - (ice-9 popen) - (ice-9 rdelim)) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'set-variables - (lambda _ - ;; This prevents a few warnings - (setenv "GUILE_AUTO_COMPILE" "0") - (setenv "XDG_CACHE_HOME" (getcwd)) - #t)) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (guix (assoc-ref inputs "guix")) - (guile (assoc-ref inputs "guile")) - (gcrypt (assoc-ref inputs "guile-gcrypt")) - (git (assoc-ref inputs "guile-git")) - (bs (assoc-ref inputs "guile-bytestructures")) - (json (assoc-ref inputs "guile-json")) - (guile-cm (assoc-ref inputs - "guile-commonmark")) - (deps (list guile gcrypt git bs guile-cm guix json)) - (effective - (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (path (string-join - (map (cut string-append <> - "/share/guile/site/" - effective) - deps) - ":")) - (gopath (string-join - (map (cut string-append <> - "/lib/guile/" effective - "/site-ccache") - deps) - ":"))) - (wrap-program (string-append out "/bin/run") - `("GUILE_LOAD_PATH" ":" prefix (,path)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath))) - - #t)))))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("uglify-js" ,uglify-js) - ("pkg-config" ,pkg-config))) - (inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) - ("guix" ,guix))) - (propagated-inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) - ("guile-commonmark" ,guile-commonmark) - ("guile-json" ,guile-json-4))) - (home-page "https://github.com/UMCUGenetics/hpcguix-web") - (synopsis "Web interface for cluster deployments of Guix") - (description "Hpcguix-web provides a web interface to the list of packages + (package + (name "hpcguix-web") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/UMCUGenetics/hpcguix-web") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02lz5k1hhkwfz3nr3lsd69icsz6n0q82z047d3svi09qpxw6y0cj")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26) + (ice-9 popen) + (ice-9 rdelim)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-variables + (lambda _ + ;; This prevents a few warnings + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "XDG_CACHE_HOME" (getcwd)))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (guix (assoc-ref inputs "guix")) + (guile (assoc-ref inputs "guile")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) + (git (assoc-ref inputs "guile-git")) + (bs (assoc-ref inputs "guile-bytestructures")) + (json (assoc-ref inputs "guile-json")) + (guile-cm (assoc-ref inputs + "guile-commonmark")) + (deps (list guile gcrypt git bs guile-cm guix json)) + (effective + (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (path (string-join + (map (cut string-append <> + "/share/guile/site/" + effective) + deps) + ":")) + (gopath (string-join + (map (cut string-append <> + "/lib/guile/" effective + "/site-ccache") + deps) + ":"))) + (wrap-program (string-append out "/bin/hpcguix-web") + `("GUILE_LOAD_PATH" ":" prefix (,path)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath))))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("uglify-js" ,uglify-js) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ("guix" ,guix) + ("bash-minimal" ,bash-minimal))) ;for 'wrap-program' + (propagated-inputs + `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ("guile-commonmark" ,guile-commonmark) + ("guile-json" ,guile-json-4))) + (home-page "https://github.com/UMCUGenetics/hpcguix-web") + (synopsis "Web interface for cluster deployments of Guix") + (description "Hpcguix-web provides a web interface to the list of packages provided by Guix. The list of packages is searchable and provides instructions on how to use Guix in a shared HPC environment.") - (license license:agpl3+)))) + (license license:agpl3+))) (define-public httrack (package diff --git a/gnu/services/web.scm b/gnu/services/web.scm index bfcdfe7421..6a093cf4e4 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2016 Nikita ;;; Copyright © 2016, 2017, 2018 Julien Lepiller ;;; Copyright © 2017 Christopher Baines @@ -1163,7 +1163,7 @@ (define (hpcguix-web-shepherd-service config) (provision '(hpcguix-web)) (requirement '(networking)) (start #~(make-forkexec-constructor - (list #$(file-append hpcguix-web "/bin/run") + (list #$(file-append hpcguix-web "/bin/hpcguix-web") (string-append "--config=" #$(scheme-file "hpcguix-web.scm" specs))) #:user "hpcguix-web" -- cgit v1.2.3