[PATCH] Add date2name

  • Done
  • quality assurance status badge
Details
3 participants
  • Sarah Morgensen
  • Ludovic Courtès
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
Merged with
P
P
phodina wrote on 15 Jul 2021 18:05
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
YNMAEZWdRC39gDCVHBz_cniWC4i4jHHBfWyp8ELtjLIS108av5r4134bqogTVLaI-9SUoE2FIiF4yufNclwGj-r_T_Sj5ZdNZVxzAP_m-U4=@protonmail.com
---
index d8c3fbec07..ac9a5f940d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -105,6 +105,7 @@
;;; Copyright © 2021 Danial Behzadi <dani.behzi@ubuntu.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -904,6 +905,37 @@ iotop, uptime, pidof, tty, taskset, pmap.")
(properties `((python2-variant . ,(delay python2-psutil))))
(license license:bsd-3)))

+(define-public python-date2name
+(package
+ (name "date2name")
+ (version "6c8f37277e8ec82aa50f90b8921422be30c4e798")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (commit version)))
+ (sha256
+ (base32
+ "1vq96b7n16d932nyfhnzwdwxff0zrqanidmwr4cxj2p67ad9y3w7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bindir (string-append (assoc-ref outputs "out") "/bin"))
+ (binary (string-append bindir "/date2name")))
+ (mkdir-p bindir)
+ (copy-file "date2name/__init__.py" binary)
+ (chmod binary #o555)))))))
+ (synopsis "Handling time-stamps and date-stamps in file names")
+ (description "Per default, date2name gets the modification time of matching files and directories and adds a datestamp in standard ISO 8601+ format YYYY-MM-DD (http://datestamps.org/index.shtml)at the beginning of the file- or directoryname.")
+ (license license:gpl3)))
+
(define-public python2-psutil
(let ((base (package-with-python2 (strip-python2-variant python-psutil))))
(package/inherit base
--
2.31.1
P
P
phodina wrote on 18 Jul 2021 12:24
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
gHjvOIOOkGRdbmGmB40mbTNr9jRjJGH8UJ7ggEOhHRmmQJUa67jCdVc6AhXD8iPlArcId65nCpiwgXelarQBjooRtxokmKDnh3Ej5vWcg3w=@protonmail.com
Here's updated patch with following changes:
- removed trailing whitespace
- add comment for git commit
- add comment for no tests
- lines have less than 80 chars

---
index 2a4f50ad46..220ac39e1d 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -905,6 +905,40 @@ for the @code{pytest} framework.")
rounds that are calibrated to the chosen timer.")
(license license:bsd-2)))

+
+(define-public python-date2name
+(package
+ (name "date2name")
+ (version "6c8f37277e8ec82aa50f90b8921422be30c4e798") ; no tags
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (commit version)))
+ (sha256
+ (base32
+ "1vq96b7n16d932nyfhnzwdwxff0zrqanidmwr4cxj2p67ad9y3w7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bindir (string-append (assoc-ref outputs "out") "/bin"))
+ (binary (string-append bindir "/date2name")))
+ (mkdir-p bindir)
+ (copy-file "date2name/__init__.py" binary)
+ (chmod binary #o555)))))))
+ (synopsis "Handling time-stamps and date-stamps in file names")
+ (description "Per default, date2name gets the modification time of matching
+files and directories and adds a datestamp in standard ISO 8601+ format
+YYYY-MM-DD (http://datestamps.org/index.shtml)at the beginning of the file-
+or directoryname.")
+ (license license:gpl3)))
+
(define-public python-pytest-xvfb
(package
(name "python-pytest-xvfb")
--
2.31.1
S
S
Sarah Morgensen wrote on 25 Jul 2021 22:42
control message for bug #49575
(address . control@debbugs.gnu.org)
E1m7kwr-0006kV-1J@debbugs.gnu.org
merge 49575 49735
quit
L
L
Ludovic Courtès wrote on 29 Jul 2021 21:43
Re: bug#49575: [PATCH] Add date2name
(name . phodina)(address . phodina@protonmail.com)(address . 49575@debbugs.gnu.org)
87eebg29e7.fsf_-_@gnu.org
Hi phodina,

phodina <phodina@protonmail.com> skribis:

Toggle quote (6 lines)
> Here's updated patch with following changes:
> - removed trailing whitespace
> - add comment for git commit
> - add comment for no tests
> - lines have less than 80 chars

Thanks for your patch! Overall it looks like it’s almost ready. Here
are suggestions to complete it:

Toggle quote (4 lines)
> +(define-public python-date2name
> +(package
> + (name "date2name")

This should be indented; please check the indentation of the packages
around, and consider running ./etc/indent-code.el as mentioned at:


Toggle quote (2 lines)
> + (version "6c8f37277e8ec82aa50f90b8921422be30c4e798") ; no tags

Please check
to choose version numbers.

Toggle quote (9 lines)
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/novoid/date2name")
> + (commit version)))
> + (sha256
> + (base32
> + "1vq96b7n16d932nyfhnzwdwxff0zrqanidmwr4cxj2p67ad9y3w7"))))

‘guix lint’ would probably warn you about the file name of the checkout;
you can add a ‘file-name’ field to the origin to fix that.

Toggle quote (16 lines)
> + (build-system python-build-system)
> + (arguments
> + `(#:tests? #f ; no tests
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'build)
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((bindir (string-append (assoc-ref outputs "out") "/bin"))
> + (binary (string-append bindir "/date2name")))
> + (mkdir-p bindir)
> + (copy-file "date2name/__init__.py" binary)
> + (chmod binary #o555)))))))
> + (synopsis "Handling time-stamps and date-stamps in file names")
> + (description "Per default, date2name gets the modification time of matching

s/Per/By/

Toggle quote (4 lines)
> +files and directories and adds a datestamp in standard ISO 8601+ format
> +YYYY-MM-DD (http://datestamps.org/index.shtml) at the beginning of the file-
> +or directoryname.")

s/file-/file/ and s/directoryname/directory name/

Please use @uref for the URL (Texinfo markup).

Toggle quote (3 lines)
> + (license license:gpl3)))

This should be ‘license:gpl3+’ because nothing in the code says “version
3 only”.

Could you send an updated patch?

Thank you!

Ludo’.
P
P
phodina wrote on 31 Aug 2021 13:15
[PATCH v3] gnu: Add python-date2name.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 49575@debbugs.gnu.org)
jXuaR7JLE6v4xhYiCx1TnXMFI34PQz8jNqQe1-MbXLa6MIpeh4BOooyHVJVjCR7R--ZrP-hGM1pd89qEPVodWwfq-GEV--tuN7CncDO7JA0=@protonmail.com
Hi Ludo,

thanks for the suggestions and excellent documentation! Here's the updated patch.
-------------------------------------

* gnu/packages/python-check.scm (date2name): New variable.

Toggle diff (55 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 2a4f50ad46..afd5cb5cb9 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -905,6 +906,42 @@ for the @code{pytest} framework.")
rounds that are calibrated to the chosen timer.")
(license license:bsd-2)))

+(define-public python-date2name
+ (let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
+ (revision "1"))
+ (package
+ (name "python-date2name")
+ (version (git-version "" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/novoid/date2name")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vq96b7n16d932nyfhnzwdwxff0zrqanidmwr4cxj2p67ad9y3w7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bindir (string-append (assoc-ref outputs "out") "/bin"))
+ (binary (string-append bindir "/date2name")))
+ (mkdir-p bindir)
+ (copy-file "date2name/__init__.py" binary)
+ (chmod binary #o555)))))))
+ (synopsis "Handling time-stamps and date-stamps in file names")
+ (description "By default, date2name gets the modification time of matching
+files and directories and adds a datestamp in standard ISO 8601+ format
+YYYY-MM-DD at the beginning of the file or directory name.")
+ (home-page "https://github.com/novoid/date2name")
+ (license license:gpl3+))))
+
(define-public python-pytest-xvfb
(package
(name "python-pytest-xvfb")
--
2.32.0
L
L
Ludovic Courtès wrote on 1 Sep 2021 23:04
(name . phodina)(address . phodina@protonmail.com)(address . 49575-done@debbugs.gnu.org)
87fsuo6m85.fsf@gnu.org
Hello,

phodina <phodina@protonmail.com> skribis:

Toggle quote (7 lines)
> Hi Ludo,
>
> thanks for the suggestions and excellent documentation! Here's the updated patch.
> -------------------------------------
>
> * gnu/packages/python-check.scm (date2name): New variable.

I applied it with a couple of changes I forgot to suggest earlier:
moving it to python-xyz.scm (python-check.scm is for tools related to
test suites), renaming it to “date2name” since it’s a command-line tool
and not a Python library, and having the ‘commit’ field of
‘git-reference’ refer to the commit, not the version number.

Thanks!

Ludo’.
Closed
?