Message ID | 1474835077-19700-1-git-send-email-h.goebel@crazy-compilers.com |
---|---|
State | New |
Headers | show |
On Sun, 25 Sep 2016 22:24:36 +0200 Hartmut Goebel <h.goebel@crazy-compilers.com> wrote: ... > + (substitute* "Makefile" > + (("\\$\\(PYTHON\\) [^ ]which nosetests[^ ] ") > + (string-append nose "/bin/nosetests ")))) > + #t))) ^^^^^ tab character is there. Why?
On Sun, Sep 25, 2016 at 10:24:36PM +0200, Hartmut Goebel wrote: > * gnu/packages/python.scm (python-setproctitle, python2-setproctitle): > New variables. > --- > gnu/packages/python.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 58 insertions(+) > > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm > index 688a5d4..95a2027 100644 > --- a/gnu/packages/python.scm > +++ b/gnu/packages/python.scm > @@ -10939,3 +10939,61 @@ with an associated set of resolve methods that know how to fetch data.") > provide extendible implementations of common aspects of a cloud so that you can > focus on building massively scalable web applications.") > (license license:expat))) > + > +(define-public python-setproctitle > +(package > + (name "python-setproctitle") > + (version "1.1.10") > + (source > + (origin > + (method url-fetch) > + (uri (pypi-uri "setproctitle" version)) > + (sha256 > + (base32 > + "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2")))) > + (build-system python-build-system) > + (arguments > + '(#:phases > + (modify-phases %standard-phases > + (add-before 'check 'patch-Makefile > + ;; Stricly this is only required for the python2 variant. > + ;; But adding a phase in an inherited package seems to be > + ;; cumbersum. So we patch even for python3. > + (lambda _ ;* (#:key inputs #:allow-other-keys) > + (let ((nose (assoc-ref %build-inputs "python2-nose"))) > + (if nose > + (substitute* "Makefile" > + (("\\$\\(PYTHON\\) [^ ]which nosetests[^ ] ") > + (string-append nose "/bin/nosetests ")))) > + #t))) > + (replace 'check > + (lambda _ > + (setenv "PYTHON" (or (which "python3") (which "python"))) IIRC (or ... here will return true, which i'm sure is not the point. > + (setenv "PYCONFIG" (or (which "python3-config") (which "python-config"))) > + (setenv "CC" "gcc") > + ;; No need to extend PYTHONPATH so the built package will > + ;; be found, since the Makefile will build anyway > + (zero? (system* "make" "check")) > + ))))) These close perentheses should be on the previous line > + (native-inputs > + `(("procps" ,procps))) ; required for tests > + (home-page > + "https://github.com/dvarrazzo/py-setproctitle") > + (synopsis "Setproctitle implementation for Python to customize the process title") > + (description "The library allows a process to change its title (as > +displayed by system tools such as ps and top). > + > +Changing the title is mostly useful in multi-process systems, for > +example when a master process is forked: changing the children's title > +allows to identify the task each process is busy with. The technique > +is used by PostgreSQL and the OpenSSH Server for example.") > + (license license:bsd-3) > + (properties `((python2-variant . ,(delay python2-setproctitle)))))) > + > +(define-public python2-setproctitle > + (let ((base (package-with-python2 > + (strip-python2-variant python-setproctitle)))) > + (package > + (inherit base) > + (native-inputs `(("python2-nose" ,python2-nose) > + ,@(package-native-inputs base)))))) > -- > 2.7.4 > >
Am 19.10.2016 um 16:45 schrieb Efraim Flashner: >> > + (setenv "PYTHON" (or (which "python3") (which "python"))) > IIRC (or ... here will return true, > which i'm sure is not the point. https://www.gnu.org/software/guile/manual/html_node/and-or.html#and-or says: "The value of the last evaluated expression is returned." If it wouldn't, the code would not have worked here :-) Thanks for the review, nevertheless:-)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 688a5d4..95a2027 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10939,3 +10939,61 @@ with an associated set of resolve methods that know how to fetch data.") provide extendible implementations of common aspects of a cloud so that you can focus on building massively scalable web applications.") (license license:expat))) + +(define-public python-setproctitle +(package + (name "python-setproctitle") + (version "1.1.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "setproctitle" version)) + (sha256 + (base32 + "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'patch-Makefile + ;; Stricly this is only required for the python2 variant. + ;; But adding a phase in an inherited package seems to be + ;; cumbersum. So we patch even for python3. + (lambda _ ;* (#:key inputs #:allow-other-keys) + (let ((nose (assoc-ref %build-inputs "python2-nose"))) + (if nose + (substitute* "Makefile" + (("\\$\\(PYTHON\\) [^ ]which nosetests[^ ] ") + (string-append nose "/bin/nosetests ")))) + #t))) + (replace 'check + (lambda _ + (setenv "PYTHON" (or (which "python3") (which "python"))) + (setenv "PYCONFIG" (or (which "python3-config") (which "python-config"))) + (setenv "CC" "gcc") + ;; No need to extend PYTHONPATH so the built package will + ;; be found, since the Makefile will build anyway + (zero? (system* "make" "check")) + ))))) + (native-inputs + `(("procps" ,procps))) ; required for tests + (home-page + "https://github.com/dvarrazzo/py-setproctitle") + (synopsis "Setproctitle implementation for Python to customize the process title") + (description "The library allows a process to change its title (as +displayed by system tools such as ps and top). + +Changing the title is mostly useful in multi-process systems, for +example when a master process is forked: changing the children's title +allows to identify the task each process is busy with. The technique +is used by PostgreSQL and the OpenSSH Server for example.") + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-setproctitle)))))) + +(define-public python2-setproctitle + (let ((base (package-with-python2 + (strip-python2-variant python-setproctitle)))) + (package + (inherit base) + (native-inputs `(("python2-nose" ,python2-nose) + ,@(package-native-inputs base))))))