summaryrefslogtreecommitdiffstats
path: root/bugwarrior.scm
blob: f07d19aa650c401f300f83e55d50b474b0dcad4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
(define-module (bugwarrior)
               #:use-module ((guix licenses) :prefix license:)
               #:use-module (gnu packages check)
               #:use-module (gnu packages compression)
               #:use-module (gnu packages databases)
               #:use-module (gnu packages glib)
               #:use-module (gnu packages python)
               #:use-module (gnu packages python-build)
               #:use-module (gnu packages python-crypto)
               #:use-module (gnu packages python-science)
               #:use-module (gnu packages python-web)
               #:use-module (gnu packages python-xyz)
               #:use-module (gnu packages time)
               #:use-module (gnu packages task-management)
               #:use-module (gnu packages)
               #:use-module (guix build utils)
               #:use-module (guix build-system pyproject)
               #:use-module (guix build-system python)
               #:use-module (guix download)
               #:use-module (guix gexp)
               #:use-module (guix git-download)
               #:use-module (guix licenses)
               #:use-module (guix packages)
               )

(define-public python-dogpile.cache
  (package
    (name "python-dogpile.cache")
    (version "1.1.8")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "dogpile.cache" version))
              (sha256
               (base32
                "0kpx42vxzss4sz5ic6mp01a97zinzm6q76n8li2gbi4ccfxyhi6q"))))
    (build-system python-build-system)
    (arguments
     '(#:phases
       (modify-phases %standard-phases
         (replace 'check
           (lambda* (#:key tests? #:allow-other-keys)
             (when tests?
               (invoke "pytest")))))))
    (native-inputs (list python-mako python-pytest))
    (propagated-inputs (list python-decorator python-stevedore))
    (home-page "https://github.com/sqlalchemy/dogpile.cache")
    (synopsis "Caching front-end based on the Dogpile lock")
    (description "@code{dogpile.cache} is a caching API which provides a
generic interface to caching backends of any variety, and additionally
provides API hooks which integrate these cache backends with the locking
mechanism of @code{dogpile}.")
    (license license:expat)))

(define-public python-bugwarrior
               (package
                 (name "python-bugwarrior")
                 (version "1bef94c3ec29c7d1b33035dc795544da6a49fb3b")
                 (source
                   (origin
                     (method git-fetch)
                     (uri (git-reference 
                            (url "https://github.com/GothenburgBitFactory/bugwarrior.git")
                            (commit version)))
                          (sha256
                            (base32 "1y7qkyzd53yg472d2gl7kxgw2yrikmd17iw31zwvidfsf01p3hwh"))
                          (modules '((guix build utils)))
                          (patches
                            (search-patches "aux-files/python-bugwarrior/gitea-support.patch"))
                          ))
                   (build-system pyproject-build-system)
                   (arguments
                     (list
                       #:tests? #f
                       #:phases #~(modify-phases %standard-phases 
                                                 (delete 'sanity-check) ;we're going crazy, since sanity crashes.        
                                                 )))
                   (inputs (list python-click
                                 python-dogpile.cache
                                 python-future
                                 python-jinja2
                                 python-lockfile
                                 python-dateutil
                                 python-pytz
                                 python-requests
                                 python-six
                                 python-taskw
                                 python-tomli
                                 python-pygobject
                                 python-notify2
                                 python-pydantic-2.7.1
                                 ))
                   (native-inputs (list python-email-validator-2.1.1))
                   (home-page "http://github.com/ralphbean/bugwarrior")
                   (synopsis "Sync github, bitbucket, and trac issues with taskwarrior")
                   (description "Sync github, bitbucket, and trac issues with taskwarrior")
                   (license license:gpl3)))

               (define-public python-email-validator-2.1.1
                              (package
                                (name "python-email-validator")
                                (version "2.1.2")
                                (source
                                  (origin
                                    (method url-fetch)
                                    (uri (pypi-uri "email_validator" version))
                                    (sha256
                                      (base32 "0k7hm433xm9syxfq486zflxf7fqiljgv688480vxmgn48g9z7h0l"))))
                                (build-system pyproject-build-system)
                                (propagated-inputs (list python-dnspython python-idna))
                                (native-inputs (list python-setuptools python-wheel))
                                (arguments
                                  '( #:phases
                                     (modify-phases %standard-phases
                                                    (delete 'check) ;Networking required for checks, so disable them
                                                    )))
                                (home-page "https://github.com/JoshData/python-email-validator")
                                (synopsis
                                  "A robust email address syntax and deliverability validation library.")
                                (description
                                  "This package provides a robust email address syntax and deliverability
                                  validation library.")
                                  (license license:unlicense)))

                              (define-public python-pydantic-2.7.1
                                             (package
                                               (inherit python-pydantic)
                                               (name "python-email-validator")
                                               (inputs (modify-inputs (package-inputs python-pydantic)
                                                                      (prepend python-email-validator-2.1.1)))
                                               (version "2.1.1")
                                               ))

                              (define-public python-taskw
                                             (package
                                               (name "python-taskw")
                                               (version "2.0.0")
                                               (source
                                                 (origin
                                                   (method url-fetch)
                                                   (uri (pypi-uri "taskw" version))
                                                   (sha256
                                                     (base32 "1pcbai69la53fjn2ahmni18zcgrhg34058q7a0mb7ag7ppwvs28i"))))
                                               (build-system pyproject-build-system)
                                               (propagated-inputs (list python-kitchen python-dateutil python-pytz taskwarrior python-setuptools python-wheel python-pytest))
                                (arguments
                                  '( #:phases
                                     (modify-phases %standard-phases
                                                    (delete 'check) ;Networking required for checks, so disable them
                                                    )))
                                               (home-page "http://github.com/ralphbean/taskw")
                                               (synopsis "Python bindings for your taskwarrior database")
                                               (description "Python bindings for your taskwarrior database")
                                               (license license:gpl3)))