2017-05-08 16:33 GMT+02:00 Arun Isaac <arunisaac@systemreboot.net>:
Toggle quote (8 lines)
>
> Thanks for the patch set!
>
> I haven't properly tested the package yet. The following are just my
> initial reactions and questions. This patch review will take a few
> iterations. Do bear with me.
>
Toggle quote (20 lines)
>
> > Tryton has modules and without any module packaged, it will do nothing
> >
> > But at least you can launch it and test it, you can use it for packkaging
> > the missing modules.
> >
> > Also a service would be useful. But in order to write a service, the
> server
> > packkage has to be in already.
>
> Agreed.
>
> > This is supposedly the basis for GNUealth, a notable GNU project
>
> GNU Health usually lags behind the latest Tryon, and currently runs on
> Tryton 3.8. We will have to create a package for Tryton 3.8 as
> well. This can just inherit from the latest tryton package, and modify
> only the `version' and `source' fields. Could you do this?
>
Yes, I think I could do it.
Bt if you don't mind I'd liie to delay this.
When and if we'll have the current Tryton thhen we'll see.
Toggle quote (9 lines)
>
> > From e42a727312a454aeb19e07cfec6cbb03fe18e183 Mon Sep 17 00:00:00 2001
> > From: humanitiesNerd <catonano@gmail.com>
> > Date: Tue, 28 Mar 2017 12:25:06 +0200
> > Subject: [PATCH 1/5] gnu: Add python-sql python2-sql.
>
> It is enough to mention only python-sql here.
>
Toggle quote (6 lines)
>
> > * gnu/packages/python.scm (python-sql python2-sql): New variables.
>
> Please put a comma between python-sql and python2-sql.
>
Toggle quote (9 lines)
>
> > +(define-public python-sql
> > + (package
> > + (name "python-sql")
> > + (version "0.8")
>
> The latest version of python-sql is 0.9.
>
Toggle quote (8 lines)
>
> > + (uri (pypi-uri
> > + "python-sql"
> > + version))
>
> Could you put these on the same line?
>
Toggle quote (16 lines)
>
> > +(define-public python-genshi
> > + (package
> > + (name "python-genshi")
> > + (version "0.7")
> > + (source
> > + (origin
> > + (method url-fetch)
> > + (uri (string-append
> > + "https://ftp.edgewall.org/pub/genshi/Genshi-"
> > + version
> > + ".tar.gz"))
>
> Please put version ".tar.gz" on the same line.
>
Toggle quote (22 lines)
>
> > + (patches
> > + (search-patches
> > + ;; The first 4 patches are in the master branch upstream.
> > + ;; see this as a reference https://genshi.edgewall.org/ti
> cket/582
> > + ;; The last 2 are NOT in any branch.
> > + ;; They were sent as attachments to a ticket opened at
> > + ;; https://genshi.edgewall.org/ticket/602#no1
> > + "python-genshi-stripping-of-unsafe-script-tags-Python-3.4.p
> atch"
> > + "python-genshi-Disable-the-speedups-C-extension-on-CPython-
> 3.3-sinc.patch"
> > + "python-genshi-isstring-helper.patch"
> > + "python-genshi-Add-support-for-Python-3.4-AST-support-for-
> NameConst.patch"
> > + "python-genshi-fixing-the-tests-on-python35.patch"
> > + "python-genshi-buildable-on-python27-too.patch"))
>
> Why do we need these patches? Is the release tarball not sufficient?
>
No, the current tarball is not suficient.
Genshi builds with python 3.3 only. With python 3.4 and 3.5 it doesn't
build.
This is mainly due to a change in thhe C API so a part of Genshi tat was
written in C has to be re-written adgering to the new API
The authors claim to need more time to do this.
The Genshi issue tracker reports all this infomration, I linked the
relevant issues in the comments
Admittedly I don't understand what these patches do. They're too entrenched
in the Genshi code base
I shamelessly copied them from the Fedora package definition
See here
I understand that they made an effort to make their Genshi package
compatible with pythhon 3.4 too and that is not necessary or Guix
But it's too complicated for me to excise the support for python 3.4
Toggle quote (9 lines)
>
> > + (propagated-inputs
> > + `(("lxml" ,python2-lxml)
> > + ("genshi" ,python2-genshi)))
>
> Please put the full names of these inputs -- I mean "python-lxml"
> instead of "lxml", "python-genshi" instead of "genshi", and so on.
>
Toggle quote (9 lines)
>
> > +(define-public python-trytond
> > + (package
> > + (name "python-trytond")
>
> As far as I understand, trytond is an application, not a python
> library. Only python libraries should have the "python-" prefix.
Oh, I didn't know this. Thanks
Toggle quote (4 lines)
> So,
> this package would just be called "trytond".
>
Toggle quote (6 lines)
>
> > + (version "4.2.3")
>
> The latest version of tryton is 4.4.
>
Toggle quote (13 lines)
>
> > + (source
> > + (origin
> > + (method url-fetch)
> > + (uri (pypi-uri
> > + "trytond"
> > + version
> > + ".tar.gz"))
>
> We should use the tarballs available on the tryton website.
> https://downloads.tryton.org/4.4/
Toggle quote (14 lines)
>
>
> > + (arguments
> > + `(#:phases
> > + (modify-phases %standard-phases
> > + (add-before 'check 'preparations
> > + (lambda* _
> > + ;; this is used in the tests
> > + (setenv "DB_NAME" ":memory:"))))))
>
> Though this is shorter, I think it would be clearer to replace the
> `check' phase altogether.
>
mmm I'm not sure I can do this.
I don't know much about setuptools, eggs and the such
The check phase of the python build system is quite articulated, I don't
feel like messing with it
Feel free to rearrange this yourself as you see fit.
Toggle quote (19 lines)
>
> > + (propagated-inputs
> > + `(("polib" ,python-polib)
> > + ("dateutil" ,python-dateutil)
> > + ("werkzeug" ,python-werkzeug)
> > + ("wrapt" ,python-wrapt)
> > + ("python-sql" ,python-sql)
> > + ("genshi" ,python-genshi)
> > + ("relatorio" ,python-relatorio)
> > + ("lxml" ,python-lxml)
> > + ;; there's no pyton-mysql in Guix right now
> > + ;; so psycopg (postgresql) only for now
> > + ("psycopg" ,python-psycopg2)))
>
> If trytond is only an application, these can just be `inputs', not
> `propagated-inputs'. For applications, the python build system wraps the
> executables with the correct PYTHONPATH environment variable.
>
Toggle quote (6 lines)
>
> > + (license license:lgpl3)))
>
> Tryton is GPL3.
>
Toggle quote (7 lines)
>
> > +(define-public python2-trytond
> > + (package-with-python2 python-trytond))
>
> No need for python2-trytond if trytond is just an application.
>
Toggle quote (10 lines)
>
> > +;; this depends on pygtk that is available or python@2 only
> > +(define-public python2-tryton
> > + (package
> > + (name "python2-tryton")
> > + (version "4.2.4")
>
> Latest version if 4.4
>
Toggle quote (10 lines)
>
> > + (uri (pypi-uri
> > + "tryton"
> > + version
> > + ".tar.gz"))
>
> We should use the tarballs available on the tryton website.
> https://downloads.tryton.org/4.4/
Toggle quote (10 lines)
>
>
> > + (propagated-inputs
> > + `(("chardet" ,python2-chardet)
> > + ("dateutil" ,python2-dateutil)
> > + ("pygtk" ,python2-pygtk)))
>
> For an application, these can just be `inputs'.
>
done
Ok, so this is the first iteration.
I'm ready or the next one ?