Subject: Re: [bug#38957] [PATCH] gnu: Add python-pywinrm

From: Brett Gilio <[email-masked]>
Date: Mon, 06 Jan 2020 03:22:14 -0600

Alexandros Theodotou <[email-masked]> writes:

> From 701f416b45990dfc8de2082bec4621479b2041cb Mon Sep 17 00:00:00 2001
> From: Alexandros Theodotou <[email-masked]>
> Date: Sun, 5 Jan 2020 20:39:24 +0000
> Subject: [PATCH] gnu: Add python-pywinrm.
>
> * gnu/packages/python-xyz.scm (python-pywinrm): New variable.
> * gnu/packages/python-web.scm (python-requests_ntlm): New variable.
> * gnu/packages/python-crypto.scm (python-ntlm-auth): New variable.
> * gnu/packages/python-crypto.scm (python-kerberos): New variable.
> ---
>  gnu/packages/python-crypto.scm | 56 ++++++++++++++++++++++++++++++++++
>  gnu/packages/python-web.scm    | 25 +++++++++++++++
>  gnu/packages/python-xyz.scm    | 31 +++++++++++++++++++
>  3 files changed, 112 insertions(+)
>
> diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
> index 63d3be17c2..61e1107248 100644
> --- a/gnu/packages/python-crypto.scm
> +++ b/gnu/packages/python-crypto.scm
> @@ -21,6 +21,7 @@
>  ;;; Copyright © 2018 Nam Nguyen <[email-masked]>
>  ;;; Copyright © 2019 Guillaume Le Vaillant <[email-masked]>
>  ;;; Copyright © 2019 Clément Lassieur <[email-masked]>
> +;;; Copyright © 2020 Alexandros Theodotou <[email-masked]>>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -45,6 +46,7 @@
>    #:use-module (gnu packages)
>    #:use-module (gnu packages check)
>    #:use-module (gnu packages crypto)
> +  #:use-module (gnu packages kerberos)
>    #:use-module (gnu packages libffi)
>    #:use-module (gnu packages multiprecision)
>    #:use-module (gnu packages protobuf)
> @@ -1135,3 +1137,57 @@ storing and retrieving sensitive information in your programs.")
>  package provides a tool to securely sign firmware images for booting by
>  MCUboot.")
>      (license license:expat)))
> +
> +(define-public python-ntlm-auth
> +  (package
> +    (name "python-ntlm-auth")
> +    (version "1.4.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "ntlm-auth" version))
> +       (sha256
> +        (base32
> +         "16mavidki4ma5ip8srqalr19gz4f5yn3cnmmgps1fmgfr24j63rm"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-cryptography" ,python-cryptography)))
> +    (home-page "https://github.com/jborean93/ntlm-auth")
> +    (synopsis
> +      "Calculates NTLM Authentication codes")
> +    (description
> +      "This library handles the low-level details of NTLM authentication for
> +use in authenticating with a service that uses NTLM.  It will create and parse
> +the 3 different message types in the order required and produce a base64
> +encoded value that can be attached to the HTTP header.
> +
> +The goal of this library is to offer full NTLM support including signing and
> +sealing of messages as well as supporting MIC for message integrity and the
> +ability to customise and set limits on the messages sent.  Please see Features
> +and Backlog for a list of what is and is not currently supported.")
> +    (license license:expat)))
> +
> +(define-public python-kerberos
> +  (package
> +    (name "python-kerberos")
> +    (version "1.3.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "kerberos" version))
> +       (sha256
> +        (base32
> +         "19663qxmma0i8bfbjc2iwy5hgq0g4pfb75r023v5dps68zfvffgh"))))
> +    (build-system python-build-system)
> +    (inputs
> +      `(("mit-krb5" ,mit-krb5)))
> +    (home-page "https://github.com/apple/ccs-pykerberos")
> +    (synopsis
> +      "Python Kerberos library used by CalendarServer")
> +    (description
> +      "This Python package is a high-level wrapper for Kerberos (GSSAPI)
> +operations.  The goal is to avoid having to build a module that wraps the
> +entire Kerberos.framework, and instead offer a limited set of functions that
> +do what is needed for client/server Kerberos authentication based on
> +<http://www.ietf.org/rfc/rfc4559.txt>.")
> +    (license license:asl2.0)))
> diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
> index 179e64e0a1..7ea83808f0 100644
> --- a/gnu/packages/python-web.scm
> +++ b/gnu/packages/python-web.scm
> @@ -31,6 +31,7 @@
>  ;;; Copyright © 2019 Brendan Tildesley <[email-masked]>
>  ;;; Copyright © 2019 Pierre Langlois <[email-masked]>
>  ;;; Copyright © 2019 Tanguy Le Carrour <[email-masked]>
> +;;; Copyright © 2020 Alexandros Theodotou <[email-masked]>>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -3421,3 +3422,27 @@ Unicorn project.  The Gunicorn server is broadly compatible with
>  various web frameworks, simply implemented, light on server resources,
>  and fairly speedy.")
>    (license license:expat)))
> +
> +(define-public python-requests_ntlm
> +  (package
> +    (name "python-requests_ntlm")
> +    (version "1.1.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "requests_ntlm" version))
> +       (sha256
> +        (base32
> +         "0wgbqzaq9w7bas16b7brdb75f91bh3275fb459093bk1ihpck2ci"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-cryptography" ,python-cryptography)
> +       ("python-ntlm-auth" ,python-ntlm-auth)
> +       ("python-requests" ,python-requests)))
> +    (home-page "https://github.com/requests/requests-ntlm")
> +    (synopsis
> +      "NTLM authentication support for Requests")
> +    (description
> +      "This package allows for HTTP NTLM authentication using the requests
> +library.")
> +    (license license:isc)))
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index db43bd72e4..6e301a59ad 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -68,6 +68,7 @@
>  ;;; Copyright © 2019 Wiktor Żelazny <[email-masked]>
>  ;;; Copyright © 2019 Tanguy Le Carrour <[email-masked]>
>  ;;; Copyright © 2019 Mădălin Ionel Patrașcu <[email-masked]>
> +;;; Copyright © 2020 Alexandros Theodotou <[email-masked]>>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -107,6 +108,7 @@
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages graphviz)
>    #:use-module (gnu packages graphics)
> +  #:use-module (gnu packages gsasl)
>    #:use-module (gnu packages gstreamer)
>    #:use-module (gnu packages gtk)
>    #:use-module (gnu packages icu4c)
> @@ -17112,3 +17114,32 @@ scripts to load entry points more quickly.")
>  functional combinators.  Parser combinators are just higher-order functions
>  that take parsers as their arguments and return them as result values.")
>      (license license:expat)))
> +
> +(define-public python-pywinrm
> +  (package
> +    (name "python-pywinrm")
> +    (version "0.4.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "pywinrm" version))
> +       (sha256
> +        (base32
> +         "10gabhhg3rgacd5ahmi2r128z99fzbrbx6mz1nnq0dxmhmn5rpjf"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-six" ,python-six)
> +       ("python-requests_ntlm" ,python-requests_ntlm)
> +       ("python-xmltodict" ,python-xmltodict)
> +       ("python-kerberos" ,python-kerberos)))
> +    (native-inputs
> +      `(("python-mock" ,python-mock)
> +       ("python-pytest" ,python-pytest)))
> +    (home-page "https://github.com/diyan/pywinrm/")
> +    (synopsis
> +      "Python library for Windows Remote Management (WinRM)")
> +    (description
> +      "pywinrm is a Python client for the Windows Remote Management (WinRM)
> +service.  It allows you to invoke commands on target Windows machines from
> +any machine that can run Python.")
> +    (license license:expat)))

Hi Alexandros,

Thank you for your contribution! Could you please split these package
definitions into a patch series, rather than as a single patch? This is
preferable for how our Git workflow is utilized so that we can keep
track of packages individually in the commit log if we ever need to go
back and look at our records.

If you need help sending a patch series please do not hesistate to ask :).

-- 
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<[email-masked]> <[email-masked]>