Subject: [PATCH] Add makepasswd package

From: Jean-Baptiste Note <[email-masked]>
Date: Sat, 02 May 2020 20:37:28 +0000

Dear Guix maintainers,

Here is an attempt at packaging makepasswd, a run-time dependency of
x2go.

I've placed it in its own file which may be ill-advised for now; please
let me know where I could more sensibly move it.

Hopefully patches will follow that put more flesh in this x2go.scm file;
however I find this program useful in its own right.

Kind regards,
Jean-Baptiste
From f8c9c93e359f4f65a12709f244e6e8952db4bad9 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Note <[email-masked]>
Date: Sat, 2 May 2020 05:50:20 +0000
Subject: [PATCH] x2go: Add makepasswd.

* gnu/packages/x2go.scm: New file.

* gnu/packages/xorg.scm (makepasswd): New variable.
---
 gnu/packages/x2go.scm | 66 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)
 create mode 100644 gnu/packages/x2go.scm

diff --git a/gnu/packages/x2go.scm b/gnu/packages/x2go.scm
new file mode 100644
index 0000000000..b77f81cee5
--- /dev/null
+++ b/gnu/packages/x2go.scm
@@ -0,0 +1,66 @@
+;;; GNU Guix --- Functional package management for GNU
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages x2go)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix utils)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages docbook))
+
+(define-public makepasswd
+  (let ((commit "3545d57d3a589a392d7eb0df36a5286785345c9e")
+        (revision "1"))
+    (package
+      (name "makepasswd")
+      (version (git-version "0.5.4" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/khorben/makepasswd")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0lspqyyxbk6h28yxnp7pd5aib161vrkzgasam5jpzn35n1jacx2j"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("libxslt" ,libxslt)
+         ("libxml2" ,libxml2)
+         ("docbook-xsl" ,docbook-xsl)
+         ("docbook-xml" ,docbook-xml)))
+      (inputs
+       `(("openssl" ,openssl)))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure))
+         #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")))
+         #:tests? #f))
+      (synopsis "Generate (pseudo-)random passwords and hashes")
+      (description
+       "Makepasswd is a program that generates pseudo-random passwords of a
+desired length.  It can also generate their corresponding hashes for a given
+encryption algorithm if so desired.")
+      (home-page "https://github.com/khorben/makepasswd")
+      (license license:gpl3))))
-- 
2.26.2