[PATCH 0/5] Update python-hy to 0.17.0

  • Done
  • quality assurance status badge
Details
4 participants
  • Brett Gilio
  • Brett Gilio
  • Jesse Gibbons
  • zimoun
Owner
unassigned
Submitted by
Jesse Gibbons
Severity
normal
J
J
Jesse Gibbons wrote on 10 Dec 2019 03:29
(name . guix-patches mailing list)(address . guix-patches@gnu.org)
660a10a1f02b4818a28dfea58b544956437d4b66.camel@gmail.com
The next five patches:
- add dependencies for python-hy 0.17.0 (patches 1,2)
- update python-hy from 0.13.0 to 0.17.0 (patch 3)
- add dependencies for python2-hy 0.17.0 (patches 4,5)


This will be the last version of python-hy to support python 2. If it is
better to drop python2-hy now, simply omit patches 4 and 5, and remove
python2-hy.

--
-Jesse
J
J
Jesse Gibbons wrote on 10 Dec 2019 03:35
[PATCH 1/5] Add python-fastentrypoints
(address . 38554@debbugs.gnu.org)
c4c4868c93becb60a138f981062d4e2fef798285.camel@gmail.com

From 97edcfcbe08031240cc7bae12d588695ff5b81ca Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Mon, 9 Dec 2019 18:16:18 -0700
Subject: [PATCH 1/5] gnu: add python-fastentrypoints

* gnu/packages/python-xyz.scm (python-fastentrypoints): New variable.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 186e558f2f..7026e65ab6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -67,6 +67,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor ?elazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16775,3 +16776,25 @@ scratch and manipulate data from Intel HEX file format. It also includes
several convenience Python scripts, including \"classic\" hex2bin and bin2hex
converters and more, those based on the library itself.")
(license license:bsd-3)))
+
+
+(define-public python-fastentrypoints
+ (package
+ (name "python-fastentrypoints")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fastentrypoints" version))
+ (sha256
+ (base32
+ "02s1j8i2dzbpbwgq2a3fiqwm3cnmhii2qzc0k42l0rdxd4a4ya7z"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/ninjaaron/fast-entry_points")
+ (synopsis
+ "Makes entry_points specified in setup.py load more quickly")
+ (description
+ "Makes entry_points specified in setup.py load more quickly")
+ (license license:bsd-3)))
+
--
2.24.0
J
J
Jesse Gibbons wrote on 10 Dec 2019 03:36
[PATCH 2/5] Add python-funcparserlib
(address . 38554@debbugs.gnu.org)
c7d10a7adb496b9ea883ac2ccef4e70fccbc3889.camel@gmail.com

From 812077cee02fc4e0f50b69810209b1b40e60dfc0 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Mon, 9 Dec 2019 18:31:12 -0700
Subject: [PATCH 2/5] gnu: Add python-funcparserlib

* gnu/packages/python-xyz.scm (python-funcparserlib): New variable.
---
gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7026e65ab6..2161caa2c5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16798,3 +16798,30 @@ converters and more, those based on the library itself.")
"Makes entry_points specified in setup.py load more quickly")
(license license:bsd-3)))
+(define-public python-funcparserlib
+ (package
+ (name "python-funcparserlib")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "funcparserlib" version))
+ (sha256
+ (base32
+ "07f9cgjr3h4j2m67fhwapn8fja87vazl58zsj4yppf9y3an2x6dp"))))
+ (native-inputs
+ `(("python-tox" ,python-tox)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "tox"))))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/vlasovskikh/funcparserlib")
+ (synopsis
+ "Recursive descent parsing library based on functional combinators")
+ (description
+ "Recursive descent parsing library based on functional combinators")
+ (license license:expat)))
--
2.24.0
J
J
Jesse Gibbons wrote on 10 Dec 2019 03:37
[PATCH 3/5] Update python-hy to 0.17.0
(address . 38554@debbugs.gnu.org)
1eb77413b8fd6c43555d3bb9582a78c75a711891.camel@gmail.com

From 13ac60ca6f9037b9a49a76d2e1bd4b232be36106 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Mon, 9 Dec 2019 18:58:37 -0700
Subject: [PATCH 3/5] gnu: python-hy: Update to 0.17.0

* gnu/packages/python-xyz.scm (python-hy): Update to 0.17.0
[inputs]: Add python-fastentrypoints.
[inputs]: Add python-funcparserlib.
---
gnu/packages/python-xyz.scm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2161caa2c5..6bee2fdd37 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8600,13 +8600,13 @@ with a new public API, and RPython support.")
(define-public python-hy
(package
(name "python-hy")
- (version "0.13.0")
+ (version "0.17.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "hy" version))
(sha256
(base32
- "19sfymaksx9jhksfnb15ahid46mzrhdfzz6yy2craz2qnzvpmky8"))))
+ "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -8625,7 +8625,9 @@ with a new public API, and RPython support.")
(propagated-inputs
`(("python-astor" ,python-astor)
("python-clint" ,python-clint)
- ("python-rply" ,python-rply)))
+ ("python-rply" ,python-rply)
+ ("python-fastentrypoints" ,python-fastentrypoints)
+ ("python-funcparserlib" ,python-funcparserlib)))
(home-page "http://hylang.org/")
(synopsis "Lisp frontend to Python")
(description
--
2.24.0
J
J
Jesse Gibbons wrote on 10 Dec 2019 03:37
[PATCH 4/5] Add python2-fastentrypoints
(address . 38554@debbugs.gnu.org)
55a8d50ae479e0036d31ca9ca75aa3ff3796d48d.camel@gmail.com

From c93b60f2ea429657a53cc7c018443b1036cdc3fe Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Mon, 9 Dec 2019 19:05:17 -0700
Subject: [PATCH 4/5] gnu: Add python2-fastentrypoints

* gnu/packages/python-xyz.scm (python2-fastentrypoints): New variable.
---
gnu/packages/python-xyz.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6bee2fdd37..9c476b0bce 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16800,6 +16800,9 @@ converters and more, those based on the library itself.")
"Makes entry_points specified in setup.py load more quickly")
(license license:bsd-3)))
+(define-public python2-fastentrypoints
+ (package-with-python2 python-fastentrypoints))
+
(define-public python-funcparserlib
(package
(name "python-funcparserlib")
--
2.24.0
J
J
Jesse Gibbons wrote on 10 Dec 2019 03:38
[PATCH 5/5] Add python2-funcparserlib
(address . 38554@debbugs.gnu.org)
5667459e2c67989be49a07769a89fbb5f5bff5e9.camel@gmail.com

From 694504baa449b8bd6ff73ca37edcc6dd457fdba1 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Mon, 9 Dec 2019 19:17:28 -0700
Subject: [PATCH 5/5] gnu: Add python2-funcparserlib

* gnu/packages/python-xyz.scm (python2-funcparserlib): New variable.
---
gnu/packages/python-xyz.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9c476b0bce..06dd30cbc5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16830,3 +16830,7 @@ converters and more, those based on the library itself.")
(description
"Recursive descent parsing library based on functional combinators")
(license license:expat)))
+
+(define-public python2-funcparserlib
+ (package-with-python2 python-funcparserlib))
+
--
2.24.0
B
B
Brett Gilio wrote on 10 Dec 2019 05:25
Re: [bug#38554] [PATCH 0/5] Update python-hy to 0.17.0
(name . Jesse Gibbons)(address . jgibbons2357@gmail.com)(address . 38554@debbugs.gnu.org)
87k174n6wx.fsf@posteo.net
Jesse Gibbons <jgibbons2357@gmail.com> writes:

Toggle quote (10 lines)
> The next five patches:
> - add dependencies for python-hy 0.17.0 (patches 1,2)
> - update python-hy from 0.13.0 to 0.17.0 (patch 3)
> - add dependencies for python2-hy 0.17.0 (patches 4,5)
>
>
> This will be the last version of python-hy to support python 2. If it is
> better to drop python2-hy now, simply omit patches 4 and 5, and remove
> python2-hy.

Hy Jesse! (Haha.)

Thank you for your patch series. I am sorry for the delay and the lack
of communication regarding your bug report. I could imagine this is
really frustrating. There are some corrections that I think need to be
made before we go forward, and for the sake of education I would like to
propose some revisions. Once we get these revisions, I think we will be
golden for a push to master! So bare with me.

First off, _USUALLY_ we have the package-for-python2 derivatives in the
same commits as the package indicating the original. Thus, your
python2-* patches (4 & 5) can be squashed into their originating commits
(1 & 2) respectively.

In patch 1: You indicate your copyright email as such:

Toggle snippet (3 lines)
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>

Is this correct? Just seems odd to me.

Also in that patch you have too many white space return indications between the
preceeding package, and you have white space return at the EOF. This should be
reduced to one and none, respectively. Next, if you could run `guix
lint` on this package. Your synopsis and description sections are
identical and do not conform to our guidelines. I suspect this was just
the default from running `guix import pypi`.

If you need help with making synopsis and descriptions, here is the
relevant documentation:

In patch 2: There should be a white space return before the package in
this case, but was likely cut off from the improper EOF return in patch
1. Otherwise, this package looks okay aside from the issue with the
synopsis and description.

Lastly, all of the commit messages need a period at the end. And the
sub-header message for the patch which bumps Hy to 0.17 needs a period
as well. You could also remove the redundant [inputs] section and simply
make a comma-separated-list of new inputs. Also, if you could add
something like,

Toggle snippet (3 lines)
Fixes: <link-to-original-bug-report>.

to the patch that updates Hy, that way we can know where this patch
series is predicated from. That would be superb!

Once we get these easy changes done we will push! If you could send your
revisions with something like:

Toggle snippet (4 lines)
[PATCH v2 x/3]


Again, I apologize for the radio silence.

--
Brett M. Gilio
Homepage -- https://scm.pw/
J
J
Jesse Gibbons wrote on 10 Dec 2019 22:59
(name . Brett Gilio)(address . brettg@posteo.net)(address . 38554@debbugs.gnu.org)
fcd268d8c31126a0730e3dd4eab4927e4a985270.camel@gmail.com
On Mon, 2019-12-09 at 22:25 -0600, Brett Gilio wrote:
Toggle quote (20 lines)
> Jesse Gibbons <jgibbons2357@gmail.com> writes:
>
> > The next five patches:
> > - add dependencies for python-hy 0.17.0 (patches 1,2)
> > - update python-hy from 0.13.0 to 0.17.0 (patch 3)
> > - add dependencies for python2-hy 0.17.0 (patches 4,5)
> >
> >
> > This will be the last version of python-hy to support python 2. If it is
> > better to drop python2-hy now, simply omit patches 4 and 5, and remove
> > python2-hy.
>
> Hy Jesse! (Haha.)
>
> Thank you for your patch series. I am sorry for the delay and the lack
> of communication regarding your bug report. I could imagine this is
> really frustrating. There are some corrections that I think need to be
> made before we go forward, and for the sake of education I would like to
> propose some revisions. Once we get these revisions, I think we will be
> golden for a push to master! So bare with me.
I feel the need to automate producing these patches because there are a lot
of things my poor memory needs to remember. I'll make some commit scripts
and share them later. Or maybe I can write a local git hook to do all those
things for me.
Toggle quote (5 lines)
>
> First off, _USUALLY_ we have the package-for-python2 derivatives in the
> same commits as the package indicating the original. Thus, your
> python2-* patches (4 & 5) can be squashed into their originating commits
> (1 & 2) respectively.
I tried to figure this out, but it has been so long since a python package
has been added, and we anticipate python2 EOL, so I thought I would keep
them separate in case it wasn't worth adding the python2 versions as their
own patches. I'll fix this.
Toggle quote (9 lines)
>
> In patch 1: You indicate your copyright email as such:
>
> --8<---------------cut here---------------start------------->8---
> ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
> --8<---------------cut here---------------end--------------->8---
>
> Is this correct? Just seems odd to me.

Yes, this is correct. As I understand it, names and email addresses are
added to the copyright section to allow someone to initiate contact with
each of the copyright holders regarding their copyright. The address looks
odd (and doesn't match some of the more common regexps for email addresses)
because it takes advantage of a feature that gives me (theoretically)
infinite email addresses that go to the same inbox. I use it to filter my
email, so I will know (in this case) an email is about a contribution I made
to guix, and my email client can filter it accordingly. I add the same email
address by my name in the copyright region when I send a major patch to
guix, and would rather not change it for this reason.

Toggle quote (4 lines)
>
> Also in that patch you have too many white space return indications
> between the preceeding package, and you have white space return at the
> EOF. This should be reduced to one and none, respectively.
Ok. So do I understand correctly patch 1 should have a single white space
after the package, but not patch 2?

Toggle quote (7 lines)
> Next, if you could run `guix lint` on this package. Your synopsis and
> description sections are identical and do not conform to our guidelines. I
> suspect this was just the default from running `guix import pypi`.
>
> If you need help with making synopsis and descriptions, here is the
> relevant documentation:
> https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html
I forgot to change the synopsis and descriptions. I'll make sure I do that
before I send the fixed patches.
Toggle quote (18 lines)
>
> In patch 2: There should be a white space return before the package in
> this case, but was likely cut off from the improper EOF return in patch
> 1. Otherwise, this package looks okay aside from the issue with the
> synopsis and description.
>
> Lastly, all of the commit messages need a period at the end. And the
> sub-header message for the patch which bumps Hy to 0.17 needs a period
> as well. You could also remove the redundant [inputs] section and simply
> make a comma-separated-list of new inputs. Also, if you could add
> something like,
>
> --8<---------------cut here---------------start------------->8---
> Fixes: <link-to-original-bug-report>.
> --8<---------------cut here---------------end--------------->8---
>
> to the patch that updates Hy, that way we can know where this patch
> series is predicated from. That would be superb!
Ok. I will make sure that happens.
Toggle quote (8 lines)
>
> Once we get these easy changes done we will push! If you could send your
> revisions with something like:
>
> --8<---------------cut here---------------start------------->8---
> [PATCH v2 x/3]
> --8<---------------cut here---------------end--------------->8---
>
In response to this email, or simply to 38554@debbugs.gnu.org? I'm guessing
either will work, but you are more likely to see a response to this email.
Toggle quote (3 lines)
>
> Again, I apologize for the radio silence.
>
Not to worry. I had (and still have) other work to do, and this was a low-
priority task. I might not be able to send the fixed patches until possibly
the 18th or 19th. I'll send the corrected patches, and possibly contribute
other pending package definitions and/or bug reports as well.
Z
Z
zimoun wrote on 12 Dec 2019 18:18
Re: [bug#38554] [PATCH 4/5] Add python2-fastentrypoints
(name . Jesse Gibbons)(address . jgibbons2357@gmail.com)(address . 38554@debbugs.gnu.org)
CAJ3okZ3uiZbVYK5UorUPEn9NdwyKu8mbDhdywT2VxgwbtscNeQ@mail.gmail.com
Hi Jesse,

Thank you for your patches.

As you have maybe seen, I have file a bug [1] to track the Python
packages and the end-of-file of Python 2. Here you add a new Python 2
entry. My question is: do we absolutely need it?

I have seen your bug report about the broken Hy REPL and this series
fixes it. My question is just: can we continue to add
`package-with-python2` packages?


All the best,
simon

Z
Z
zimoun wrote on 12 Dec 2019 18:23
Re: [bug#38554] [PATCH 0/5] Update python-hy to 0.17.0
(name . Jesse Gibbons)(address . jgibbons2357@gmail.com)
CAJ3okZ3eJbVz7kE97USjr6oJ921FQ_=Ed8yoduoCGKzZ2DG1Qw@mail.gmail.com
Hi,

On Tue, 10 Dec 2019 at 23:01, Jesse Gibbons <jgibbons2357@gmail.com> wrote:

Toggle quote (10 lines)
> > Once we get these easy changes done we will push! If you could send your
> > revisions with something like:
> >
> > --8<---------------cut here---------------start------------->8---
> > [PATCH v2 x/3]
> > --8<---------------cut here---------------end--------------->8---
> >
> In response to this email, or simply to 38554@debbugs.gnu.org? I'm guessing
> either will work, but you are more likely to see a response to this email.

Yes to 38554@debbugs.gnu.org using the Git option --reroll-count=2 :-)

Thank you for your patches. Hy is really fun. :-)

All the best,
simon
J
J
Jesse Gibbons wrote on 16 Dec 2019 01:37
Re: [bug#38554] [PATCH 4/5] Add python2-fastentrypoints
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 38554@debbugs.gnu.org)
f5ee2fb730c9a0ba53317480202fcb4350dec9db.camel@gmail.com
On Thu, 2019-12-12 at 18:18 +0100, zimoun wrote:
Toggle quote (17 lines)
> Hi Jesse,
>
> Thank you for your patches.
>
> As you have maybe seen, I have file a bug [1] to track the Python
> packages and the end-of-file of Python 2. Here you add a new Python 2
> entry. My question is: do we absolutely need it?
>
> I have seen your bug report about the broken Hy REPL and this series
> fixes it. My question is just: can we continue to add
> `package-with-python2` packages?
>
>
> All the best,
> simon
>
> [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=38420
This concern is why I added the python2 packages in separate patches
contrary to tradition. I wanted to know what others thought of it. We don't
necessarily need to add the python2 packages, especially when the repository
says this will be the last version of hy to support python2 and those
packages are only added to support hy in python2. I recommend you start a
discussion with Brett, who reviewed the patches and told me to combine patch
1 with 4 and 2 with 5.
I have too much going on to create and send updated patches before Tuesday,
so I guess now is the time for such discussion.
J
J
Jesse Gibbons wrote on 21 Dec 2019 18:14
[PATCH v2 1/3] gnu: Add python-fastentrypoints.
(name . 38554)(address . 38554@debbugs.gnu.org)
7481e670a26c27596022171e1e562fb2e0f16dd8.camel@gmail.com
* gnu/packages/python-xyz.scm (python-fastentrypoints): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 520de4607d..9243272dc9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -68,6 +68,7 @@
;;; Copyright © 2019 Wiktor ?elazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 M?d?lin Ionel Patra?cu <
madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16972,3 +16973,28 @@ as @command{which} and @command{find}. These
commands allow automated
discovery of what has been installed on an operating system, and where the
essential tools are located.")
(license license:bsd-3)))
+
+(define-public python-fastentrypoints
+ (package
+ (name "python-fastentrypoints")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fastentrypoints" version))
+ (sha256
+ (base32
+ "02s1j8i2dzbpbwgq2a3fiqwm3cnmhii2qzc0k42l0rdxd4a4ya7z"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/ninjaaron/fast-entry_points")
+ (synopsis
+ "Makes entry_points specified in setup.py load more quickly")
+ (description
+ "Using entry_points in your setup.py makes scripts that start really
slowly
+because it imports pkg_resources. This package allows such setup scripts
to
+load entry points more quickly.")
+ (license license:bsd-3)))
+
+(define-public python2-fastentrypoints
+ (package-with-python2 python-fastentrypoints))
J
J
Jesse Gibbons wrote on 21 Dec 2019 18:14
[PATCH v2 2/3] gnu: Add python-funcparserlib.
(name . 38554)(address . 38554@debbugs.gnu.org)
b831ff9aae2414afaedd82957a5b197bdbb8973c.camel@gmail.com
* gnu/packages/python-xyz.scm (python-funcparserlib): New variable.
---
gnu/packages/python-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (62 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9243272dc9..906bd9c8d2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16998,3 +16998,52 @@ load entry points more quickly.")
(define-public python2-fastentrypoints
(package-with-python2 python-fastentrypoints))
+
+(define-public python-funcparserlib
+ (package
+ (name "python-funcparserlib")
+ (version "0.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "funcparserlib" version))
+ (sha256
+ (base32
+ "07f9cgjr3h4j2m67fhwapn8fja87vazl58zsj4yppf9y3an2x6dp"))))
+ (native-inputs
+ `(("python-tox" ,python-tox)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "tox"))))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/vlasovskikh/funcparserlib")
+ (synopsis
+ "Recursive descent parsing library based on functional combinators")
+ (description
+ "This package is a recurisve descent parsing library for Python based
on
+functional combinators. Parser combinators are just higher-order functions
that
+take parsers as their arguments and return them as result values. Parser
+combinators are:
+
+@itemize @bullet
+@item First-class values
+@item Extremely composable
+@item Tend to make the code quite compact
+@item Resemble the readable notation of xBNF grammars
+@end itemize
+
+Parsers made with funcparserlib are pure-Python LL(*) parsers. It means
that
+it's very easy to write them without thinking about look-aheads and all
that
+hardcore parsing stuff. But the recursive descent parsing is a rather slow
+method compared to LL(k) or LR(k) algorithms.
+
+So the primary domain for funcparserlib is parsing little languages or
external
+DSLs (domain specific languages).")
+ (license license:expat)))
+
+(define-public python2-funcparserlib
+ (package-with-python2 python-funcparserlib))
J
J
Jesse Gibbons wrote on 21 Dec 2019 18:14
[PATCH v2 3/3] gnu: python-hy: Update to 0.17.0.
(name . 38554)(address . 38554@debbugs.gnu.org)
f9ef700902ac6449be27d61f99cd9ed8ea2a7649.camel@gmail.com
* gnu/packages/python-xyz.scm (python-hy): Update to 0.17.0.
[inputs]: Add python-fastentrypoints, python-funcparserlib.
---
gnu/packages/python-xyz.scm | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 906bd9c8d2..c5dc022475 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8514,20 +8514,20 @@ with a new public API, and RPython support.")
(define-public python-hy
(package
(name "python-hy")
- (version "0.13.0")
+ (version "0.17.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "hy" version))
(sha256
(base32
- "19sfymaksx9jhksfnb15ahid46mzrhdfzz6yy2craz2qnzvpmky8"))))
+ "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-before 'install 'set-HOME
- (lambda _
- (setenv "HOME" "/tmp")))
+ (add-before 'install 'set-HOME
+ (lambda _
+ (setenv "HOME" "/tmp")))
(replace 'check
(lambda _
;; Tests require write access to HOME.
@@ -8539,8 +8539,10 @@ with a new public API, and RPython support.")
(propagated-inputs
`(("python-astor" ,python-astor)
("python-clint" ,python-clint)
- ("python-rply" ,python-rply)))
- (home-page "http://hylang.org/")
+ ("python-rply" ,python-rply)
+ ("python-fastentrypoints" ,python-fastentrypoints)
+ ("python-funcparserlib" ,python-funcparserlib)))
+ (home-page "http://docs.hylang.org/")
(synopsis "Lisp frontend to Python")
(description
"Hy is a dialect of Lisp that's embedded in Python. Since Hy
transforms
B
B
Brett Gilio wrote on 25 Dec 2019 08:27
(name . Jesse Gibbons)(address . jgibbons2357@gmail.com)(name . 38554)(address . 38554-done@debbugs.gnu.org)
875zi4zwyj.fsf@gnu.org
Hy Jesse! (ha).

Thank you for taking the time to do the revisions I suggested. I
actually could not apply your patches cleanly (not your fault). So I
went through and manually added and modified the patches as
necessary. You are listed as the author on all of the commits.

I tested the resultant Hy package, and it looks and works fine! I do
think eventually we should maybe consider moving Hy to its own file
though? With a name that is just "hy" and not "python-hy". Maybe a
discussion for a different day.

6b520177734e1c144fd6394f801919d0b54fa23e
c5eb8cf844148fb99934c3fedc3b4a0da55f9d8e
c215051dcf30b11c755aea4e2527b4d3d91c34bb

Thanks! Closing.

--
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg@gnu.org> <brettg@posteo.net>
Closed
?