Patchwork Add tinycm.

login
register
mail settings
Submitter ng0
Date Sept. 21, 2016, 12:07 p.m.
Message ID <87shstv4lh.fsf@we.make.ritual.n0.is>
Download mbox | patch
Permalink /patch/15840/
State New
Headers show

Comments

ng0 - Sept. 21, 2016, 12:07 p.m.
This adds tinycm. But now that I am finished, I think this is not what I
wanted, I wanted http://tinycm.slitaz.org/ . I assumed without looking
at the source that this is just a fork.
Well, no damage in more packages I'd say.
Leo Famulari - Sept. 25, 2016, 5:38 p.m.
On Wed, Sep 21, 2016 at 12:07:22PM +0000, ng0 wrote:
> This adds tinycm. But now that I am finished, I think this is not what I
> wanted, I wanted http://tinycm.slitaz.org/ . I assumed without looking
> at the source that this is just a fork.
> Well, no damage in more packages I'd say.

Thanks for this patch series!

> 

> Subject: [PATCH 1/8] gnu: Add python-boolexp.
> 
> * gnu/packages/python.scm (python-boolexp): New variable.

> +(define-public python2-boolexp
> +  (let ((boolexp (package-with-python2 python-boolexp)))
> +    (package (inherit boolexp)
> +      (native-inputs
> +       `(("python2-setuptools" ,python2-setuptools))))))

This won't work in all cases. You have to use the python2-variant system
when python-2 versions of packages have different inputs from the
python-3 version. Can you update the patch? See commit
bd74be7b8c6f3df34d8556f55ab9ef7411c07933 for an example.

Some more of the patches have this issue. I won't mention it again as I
remove them.

> Subject: [PATCH 3/8] gnu: Add python2-ruamel.ordereddict
> 
> * gnu/packages/python.scm (python2-ruamel.ordereddict): New variable.

> +    ;; XXX: https://bitbucket.org/ruamel/ordereddict/issues/2
> +    (arguments
> +     `(#:python ,python-2))

Please add a line to the comment that says something like "Only Python 2
is supported", so that the hyperlink has some context.

> Subject: [PATCH 4/8] gnu: Add python-distro.
> 
> * gnu/packages/python.scm (python-distro): New variable.

`guix lint` should suggest some changes to the synopsis and description.

> Subject: [PATCH 5/8] mailmap: Add new address for ng0.

LGTM but I have no experience with this subject.

> Subject: [PATCH 6/8] gnu: Add python-typing.
> 
> * gnu/packages/python.scm (python-typing): New variable.

LGTM

> Subject: [PATCH 7/8] gnu: Add python-ruamel.yaml.
> 
> * gnu/packages/python.scm (python-ruamel.yaml): New variable.

> +    (arguments
> +     `(;; Otherwise it complains that you have to do "pypi install ."
> +       #:configure-flags (list "--single-version-externally-managed"
> +                               "--record=ruamel.yaml.txt")))

Is the '--record' line also described by the comment about "pypi
install"? If not please add a comment that explains it.

> +    (inputs
> +     `(("python-typing" ,python-typing)))

> +(define-public python2-ruamel.yaml
> +  (package (inherit (package-with-python2
> +                     (strip-python2-variant python-ruamel.yaml)))
> +    (name "python2-ruamel.yaml")
> +    (inputs
> +     `(("python2-ruamel.ordereddict" ,python2-ruamel.ordereddict)
> +       ("python2-typing" ,python2-typing)))
> +    (native-inputs
> +     `(("python2-setuptools" ,python2-setuptools)))))

You'll need to add a (properties) field to ensure that the
python2-variant is used. Also, you don't have to specify python2-typing;
you can append to the inherited inputs that are transformed by
package-with-python2. See 0adc21c2933fbe47ee37d90acdb4ad8cbc60ed69 for
an example.
ng0 - Sept. 29, 2016, 8:35 a.m.
Hi,

thanks for reviewing this.

Should I wait until the updates to the python buildsystem harmut sent
are merged? Including this now would require one more set of python2
packages to be changed.
I want this off my todo list and the branch deleted, but waiting until
this is merged sounds more reasonable to me.

Leo Famulari <leo@famulari.name> writes:

> [ Unknown signature status ]
> On Wed, Sep 21, 2016 at 12:07:22PM +0000, ng0 wrote:
>> This adds tinycm. But now that I am finished, I think this is not what I
>> wanted, I wanted http://tinycm.slitaz.org/ . I assumed without looking
>> at the source that this is just a fork.
>> Well, no damage in more packages I'd say.
>
> Thanks for this patch series!
>
>> 
>
>> Subject: [PATCH 1/8] gnu: Add python-boolexp.
>> 
>> * gnu/packages/python.scm (python-boolexp): New variable.
>
>> +(define-public python2-boolexp
>> +  (let ((boolexp (package-with-python2 python-boolexp)))
>> +    (package (inherit boolexp)
>> +      (native-inputs
>> +       `(("python2-setuptools" ,python2-setuptools))))))
>
> This won't work in all cases. You have to use the python2-variant system
> when python-2 versions of packages have different inputs from the
> python-3 version. Can you update the patch? See commit
> bd74be7b8c6f3df34d8556f55ab9ef7411c07933 for an example.
>
> Some more of the patches have this issue. I won't mention it again as I
> remove them.
>
>> Subject: [PATCH 3/8] gnu: Add python2-ruamel.ordereddict
>> 
>> * gnu/packages/python.scm (python2-ruamel.ordereddict): New variable.
>
>> +    ;; XXX: https://bitbucket.org/ruamel/ordereddict/issues/2
>> +    (arguments
>> +     `(#:python ,python-2))
>
> Please add a line to the comment that says something like "Only Python 2
> is supported", so that the hyperlink has some context.
>
>> Subject: [PATCH 4/8] gnu: Add python-distro.
>> 
>> * gnu/packages/python.scm (python-distro): New variable.
>
> `guix lint` should suggest some changes to the synopsis and description.
>
>> Subject: [PATCH 5/8] mailmap: Add new address for ng0.
>
> LGTM but I have no experience with this subject.
>
>> Subject: [PATCH 6/8] gnu: Add python-typing.
>> 
>> * gnu/packages/python.scm (python-typing): New variable.
>
> LGTM
>
>> Subject: [PATCH 7/8] gnu: Add python-ruamel.yaml.
>> 
>> * gnu/packages/python.scm (python-ruamel.yaml): New variable.
>
>> +    (arguments
>> +     `(;; Otherwise it complains that you have to do "pypi install ."
>> +       #:configure-flags (list "--single-version-externally-managed"
>> +                               "--record=ruamel.yaml.txt")))
>
> Is the '--record' line also described by the comment about "pypi
> install"? If not please add a comment that explains it.
>
>> +    (inputs
>> +     `(("python-typing" ,python-typing)))
>
>> +(define-public python2-ruamel.yaml
>> +  (package (inherit (package-with-python2
>> +                     (strip-python2-variant python-ruamel.yaml)))
>> +    (name "python2-ruamel.yaml")
>> +    (inputs
>> +     `(("python2-ruamel.ordereddict" ,python2-ruamel.ordereddict)
>> +       ("python2-typing" ,python2-typing)))
>> +    (native-inputs
>> +     `(("python2-setuptools" ,python2-setuptools)))))
>
> You'll need to add a (properties) field to ensure that the
> python2-variant is used. Also, you don't have to specify python2-typing;
> you can append to the inherited inputs that are transformed by
> package-with-python2. See 0adc21c2933fbe47ee37d90acdb4ad8cbc60ed69 for
> an example.
Leo Famulari - Oct. 2, 2016, 2:10 a.m.
On Thu, Sep 29, 2016 at 08:35:04AM +0000, ng0 wrote:
> Hi,
> 
> thanks for reviewing this.
> 
> Should I wait until the updates to the python buildsystem harmut sent
> are merged? Including this now would require one more set of python2
> packages to be changed.
> I want this off my todo list and the branch deleted, but waiting until
> this is merged sounds more reasonable to me.

Okay, remind us about these packages when the Python build system is
ready.

Patch

From 19b307b35132d1d817c787df0de0140a84c06405 Mon Sep 17 00:00:00 2001
From: ng0 <ngillmann@runbox.com>
Date: Wed, 21 Sep 2016 11:42:20 +0000
Subject: [PATCH 8/8] gnu: Add tinycm.

* gnu/packages/web.scm (tinycm): New variable.
---
 gnu/packages/web.scm | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 342262b..7695b7e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -13,7 +13,7 @@ 
 ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
 ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -45,6 +45,7 @@ 
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system r)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages apr)
   #:use-module (gnu packages documentation)
@@ -3287,6 +3288,34 @@  where data can be processed either in memory, on disk, or streaming via the
 callback or connection interfaces.")
     (license l:expat)))
 
+(define-public tinycm
+  (package
+    (name "tinycm")
+    (version "0.1.29")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "tinycm" version))
+       (sha256
+        (base32
+         "0d8fsmhdv410bvz1plk32whdad5qq1ixi9a2wnnqx3dpv6cixi0y"))))
+    (build-system python-build-system)
+    (inputs
+     `(("python-boolexp" ,python-boolexp)
+       ("python-colorama" ,python-colorama)
+       ("python-colorlog" ,python-colorlog)
+       ("python-distro" ,python-distro)
+       ("python-networkx" ,python-networkx)
+       ("python-pyparsing" ,python-pyparsing)
+       ("python-requests" ,python-requests)
+       ("python-ruamel.yaml" ,python-ruamel.yaml)
+       ("python-tabulate" ,python-tabulate)
+       ("python-typing" ,python-typing)))
+    (home-page "https://github.com/MartijnBraam/TinyCM")
+    (synopsis "Tiny Configuration Management tool")
+    (description "Tiny Configuration Management tool")
+    (license l:expat)))
+
 (define-public gumbo-parser
   (package
     (name "gumbo-parser")
-- 
2.10.0