Subject: Re: [bug#30037] [PATCH] gnu: whois: Remove bundled mkpasswd.

From: ng0 <[email-masked]>
Date: Tue, 9 Jan 2018 06:51:57 +0000

Tobias Geerinckx-Rice transcribed 3.4K bytes:
> * gnu/packages/networking.scm (whois)[source]: Remove mkpasswd sources in a
> snippet.
> [native-inputs]: Add gettext.
> [arguments]: Add ‘update-po’ phase.
> [description]: Remove historical not about bundled mkpasswd.
> ---
> 
> Guix,
> 
> A quick TODO item glanced in a recent commit notification, done.
> 
> While everything could be done in a single phase, I prefer ripping such
> cruft out early. Manually building the modified sources works fine, at
> the cost of slightly bloated .po files with some unused strings. It's
> unlikely someone will want to unpack this to build mkpasswd...

or you could move the mkpasswd to its own output. I think you want to
look into the old discussions around this. I don't remember why this
wasn't chosen, all I know is that upstream made it very clear to me
that they won't separate mkpasswd.

> 
> Then again, it's not a licence issue so I don't really care that much.
> 
> Kind regards,
> 
> T G-R
> 
>  gnu/packages/networking.scm | 26 ++++++++++++++++++++------
>  1 file changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index 94621052d..9a8993be2 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -4,7 +4,7 @@
>  ;;; Copyright © 2015 Mark H Weaver <[email-masked]>
>  ;;; Copyright © 2015, 2016, 2017 Stefan Reichör <[email-masked]>
>  ;;; Copyright © 2016 Raimon Grau <[email-masked]>
> -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <[email-masked]>
> +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <[email-masked]>
>  ;;; Copyright © 2016 John Darrington <[email-masked]>
>  ;;; Copyright © 2016, 2017 Nicolas Goaziou <[email-masked]>
>  ;;; Copyright © 2016 Eric Bavier <[email-masked]>
> @@ -458,15 +458,31 @@ and up to 1 Mbit/s downstream.")
>                             name "_" version ".tar.xz"))
>         (sha256
>          (base32
> -         "02f00vpgrdb77w7lskl9jfm2akpy21ws9cjazs13gash2xksnj38"))))
> +         "02f00vpgrdb77w7lskl9jfm2akpy21ws9cjazs13gash2xksnj38"))
> +       (modules '((guix build utils)))
> +       (snippet
> +        '(begin
> +           ;; Remove unused ‘mkpasswd’ bundled for historical reasons.
> +           (for-each delete-file
> +                     (find-files "." "^mkpasswd\\."))
> +           (substitute* "Makefile"
> +             ((" (install-|)mkpasswd ") " "))
> +           (substitute* "po/Makefile"
> +             (("\\.\\./mkpasswd\\.c") ""))
> +           #t))))
>      (build-system gnu-build-system)
> -    ;; TODO: unbundle mkpasswd binary + its po files.
> +    (native-inputs
> +     `(("gettext" ,gettext)))           ; for update-po phase
>      (arguments
>       `(#:tests? #f ; Does not exist
>         #:make-flags (list "CC=gcc"
>                            (string-append "prefix=" (assoc-ref %outputs "out")))
>         #:phases
>         (modify-phases %standard-phases
> +         (add-after 'unpack 'update-po
> +           ;; Remove harmless but useless ‘mkpasswd’ remnants from .po files.
> +           (lambda _
> +             (invoke "make" "-C" "po" "update-po")))
>           (delete 'configure) ; No configure
>           (add-before 'build 'setenv
>             (lambda _
> @@ -481,9 +497,7 @@ and up to 1 Mbit/s downstream.")
>         ("pkg-config" ,pkg-config)))
>      (synopsis "Improved whois client")
>      (description "This whois client is intelligent and can
> -automatically select the appropriate whois server for most queries.
> -Because of historical reasons this also includes a tool called mkpasswd
> -which can be used to encrypt a password with @code{crypt(3)}.")
> +automatically select the appropriate whois server for most queries.")
>      (home-page "https://github.com/rfc1036/whois")
>      (license license:gpl2+)))
>  
> -- 
> 2.15.0
> 
> 
> 
> 
> 

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is/a/  ::  https://ea.n0.is