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

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 10 Jan 2018 15:24:02 +0000

Your bug report

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

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
30037: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30037
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#30037] [PATCH] gnu: whois: Remove bundled mkpasswd.
From: Tobias Geerinckx-Rice <[email-masked]>
To: [email-masked], [email-masked]
Cc: [email-masked], [email-masked]
Date: Wed, 10 Jan 2018 16:26:37 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

ng0 wrote on 10/01/18 at 15:46:
> Which is exactly what we concluded in the old thread about this,
> which I suggested to read. I just should've removed the TODO note a
> long time ago.

As I wrote in my previous message addressing that exact thread, that
would have been nice. No harm done beyond some wasted time.

> I still find mkpasswd feels like an historical accident bundling in
> favor of some OS that relies on it (iirc the old thread or authors
> replies), but doesn't really matter. Bikeshedding on the highest
> level of bikesheds I guess.

Yup :-) I've removed the comment in master and am closing the shed.

Kind regards,

T G-R

Subject: [PATCH] gnu: whois: Remove bundled mkpasswd.
From: Tobias Geerinckx-Rice <[email-masked]>
To: [email-masked]
Date: Tue, 9 Jan 2018 02:01:38 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* 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...

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