Message ID | 20200217100345.GI1968@E5400 |
---|---|
State | Accepted |
Headers | show |
Series | None | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Hi, Efraim Flashner <efraim@flashner.co.il> skribis: > From 578d6f023c706df999c1b1b1bb23c9771b279857 Mon Sep 17 00:00:00 2001 > From: Martin Becze <mjbecze@riseup.net> > Date: Tue, 4 Feb 2020 07:18:20 -0500 > Subject: [PATCH 3/8] Added Guile-Semver as a dependency to guix > > * configure.ac: added check for guile-semver > * gnu/packages/package-management.scm (guix): added guile-semver as dep [...] > +dnl Check for Guile-Semver > +GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)]) > +if test "x$have_guile_semver" != "xyes"; then > + AC_MSG_ERROR([Guile-Semver is missing; please install it.]) > +fi I think a hard dependency like this is too much. I would very much prefer to deal with it similar to how we deal with Guile-Newt or Guile-Charting: a soft dependency that’s entirely optional. But I guess that also depends on what Guile-Semver is used for. I just posted a question on this topic in that thread. :-) Thanks for reviving this patch series! Ludo’.
I'm looking at guile-charting now, and i don't understand how it is being used as a soft dependency. in guix/scripts/size.scm line 195 it is getting used with "(module-autoload!"... is that it? On 2/17/20 9:36 AM, Ludovic Courtès wrote: > Hi, > > Efraim Flashner <efraim@flashner.co.il> skribis: > >> From 578d6f023c706df999c1b1b1bb23c9771b279857 Mon Sep 17 00:00:00 2001 >> From: Martin Becze <mjbecze@riseup.net> >> Date: Tue, 4 Feb 2020 07:18:20 -0500 >> Subject: [PATCH 3/8] Added Guile-Semver as a dependency to guix >> >> * configure.ac: added check for guile-semver >> * gnu/packages/package-management.scm (guix): added guile-semver as dep > > [...] > >> +dnl Check for Guile-Semver >> +GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)]) >> +if test "x$have_guile_semver" != "xyes"; then >> + AC_MSG_ERROR([Guile-Semver is missing; please install it.]) >> +fi > > I think a hard dependency like this is too much. > > I would very much prefer to deal with it similar to how we deal with > Guile-Newt or Guile-Charting: a soft dependency that’s entirely > optional. > > But I guess that also depends on what Guile-Semver is used for. > I just posted a question on this topic in that thread. :-) > > Thanks for reviving this patch series! > > Ludo’. >
Hi, Martin Becze <mjbecze@riseup.net> skribis: > I'm looking at guile-charting now, and i don't understand how it is > being used as a soft dependency. in guix/scripts/size.scm line 195 it > is getting used with "(module-autoload!"... is that it? Yes, exactly. The thing is, Guile-Charting is not used at all unless one passes the ‘--map-file’ option to ‘guix size’. Ludo’.
diff --git a/configure.ac b/configure.ac index 06e86c209f..0896c23955 100644 --- a/configure.ac +++ b/configure.ac @@ -118,6 +118,12 @@ if test "x$have_guile_git" != "xyes"; then AC_MSG_ERROR([Guile-Git is missing; please install it.]) fi +dnl Check for Guile-Semver +GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)]) +if test "x$have_guile_semver" != "xyes"; then + AC_MSG_ERROR([Guile-Semver is missing; please install it.]) +fi + dnl Check for Guile-JSON. GUIX_CHECK_GUILE_JSON if test "x$guix_cv_have_recent_guile_json" != "xyes"; then diff --git a/doc/guix.texi b/doc/guix.texi index aa50340fe2..bc6a431b4c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -74,6 +74,7 @@ Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* +Copyright @copyright{} 2020 Martin Becze@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -764,6 +765,7 @@ or later; @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 or later; @item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON} 3.x; +@item @uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} 0.1.x; @item @url{https://zlib.net, zlib}; @item @url{https://www.gnu.org/software/make/, GNU Make}. @end itemize diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 09888ca9e2..2419f49184 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> +;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -248,8 +249,9 @@ (ssh (assoc-ref inputs "guile-ssh")) (gnutls (assoc-ref inputs "gnutls")) (locales (assoc-ref inputs "glibc-utf8-locales")) + (semver (assoc-ref inputs "guile-semver")) (deps (list gcrypt json sqlite gnutls - git bs ssh)) + git bs ssh semver)) (effective (read-line (open-pipe* OPEN_READ @@ -322,7 +324,8 @@ ("guile-json" ,guile-json-3) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) - ("guile-git" ,guile-git))) + ("guile-git" ,guile-git) + ("guile-semver",guile-semver))) (home-page "https://www.gnu.org/software/guix/") (synopsis "Functional package manager for installed software packages and versions")