offlate/guix.scm

guix.scm

1
(use-modules
2
  ((guix licenses) #:prefix license:)
3
  (guix build-system python)
4
  (guix download)
5
  (guix git-download)
6
  (guix packages)
7
  (guix utils)
8
  (gnu packages aspell)
9
  (gnu packages check)
10
  (gnu packages enchant)
11
  (gnu packages libreoffice)
12
  (gnu packages python-web)
13
  (gnu packages python-xyz)
14
  (gnu packages qt)
15
  (gnu packages serialization)
16
  (gnu packages time)
17
  (gnu packages version-control))
18
19
(define-public python-pyenchant
20
  (package
21
    (name "python-pyenchant")
22
    (version "2.0.0")
23
    (source (origin
24
              (method url-fetch)
25
              (uri (pypi-uri "pyenchant" version))
26
              (sha256
27
               (base32
28
                "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw"))))
29
    (build-system python-build-system)
30
    (arguments
31
     `(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found
32
       #:phases
33
       (modify-phases %standard-phases
34
         (add-before 'build 'setlib
35
           (lambda* (#:key inputs #:allow-other-keys)
36
             (substitute* "enchant/_enchant.py"
37
               (("/opt/local/lib/libenchant.dylib\"")
38
                (string-append "/opt/local/lib/libenchant.dylib\"\n"
39
                               "    yield \"" (assoc-ref inputs "enchant")
40
                               "/lib/libenchant-2.so\""))))))))
41
             ;(setenv "PYENCHANT_LIBRARY_PATH"
42
             ;        (string-append (assoc-ref inputs "enchant") "/lib/libenchant.so")))))))
43
    (propagated-inputs
44
     `(("enchant" ,enchant)
45
       ("hunspell" ,hunspell)))
46
    (native-inputs
47
     `(("hunspell-dict-en-us" ,hunspell-dict-en-us)))
48
    (home-page "")
49
    (synopsis "")
50
    (description "")
51
    (license license:lgpl2.1+)))
52
53
(define-public python-check-manifest
54
  (package
55
    (name "python-check-manifest")
56
    (version "0.37")
57
    (source
58
      (origin
59
        (method url-fetch)
60
        (uri (pypi-uri "check-manifest" version))
61
        (sha256
62
          (base32
63
            "0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4"))))
64
    (build-system python-build-system)
65
    (native-inputs
66
      `(("python-mock" ,python-mock)
67
        ("git" ,git)))
68
    (home-page
69
      "https://github.com/mgedmin/check-manifest")
70
    (synopsis
71
      "Check MANIFEST.in in a Python source package for completeness")
72
    (description
73
      "Check MANIFEST.in in a Python source package for completeness")
74
    (license license:expat)))
75
76
(define-public python-codacy-coverage
77
  (package
78
    (name "python-codacy-coverage")
79
    (version "1.3.11")
80
    (source
81
      (origin
82
        (method url-fetch)
83
        (uri (pypi-uri "codacy-coverage" version))
84
        (sha256
85
          (base32
86
            "1g0c0w56xdkmqb8slacyw5qhzrkp814ng3ddh2lkiij58y9m2imr"))))
87
    (build-system python-build-system)
88
    (arguments
89
     ;; No tests
90
     `(#:tests? #f))
91
    (propagated-inputs
92
      `(("python-check-manifest" ,python-check-manifest)))
93
    (home-page
94
      "https://github.com/codacy/python-codacy-coverage")
95
    (synopsis "Codacy coverage reporter for Python")
96
    (description
97
      "Codacy coverage reporter for Python")
98
    (license license:expat)))
99
100
(define-public python-translation-finder
101
  (package
102
    (name "python-translation-finder")
103
    (version "1.6")
104
    (source
105
      (origin
106
        (method url-fetch)
107
        (uri (pypi-uri "translation-finder" version))
108
        (sha256
109
          (base32
110
            "0lq9441ziiq8aw8ldippkcvzhyw12lfra72kc6f5ik3rvw612m2a"))))
111
    (build-system python-build-system)
112
    (arguments
113
     `(#:phases
114
       (modify-phases %standard-phases
115
         (add-before 'build 'remove-failing-test
116
           (lambda _
117
             (delete-file "translation_finder/test_api.py")
118
             #t)))))
119
    (propagated-inputs
120
      `(("python-chardet" ,python-chardet)
121
        ("python-pathlib2" ,python-pathlib2)
122
        ("python-ruamel.yaml" ,python-ruamel.yaml)
123
        ("python-six" ,python-six)))
124
    (native-inputs
125
     `(("python-codecov" ,python-codecov)
126
       ("python-codacy-coverage" ,python-codacy-coverage)
127
       ("python-pytest-cov" ,python-pytest-cov)
128
       ("python-pytest-runner" ,python-pytest-runner)
129
       ("python-twine" ,python-twine)))
130
    (home-page "https://weblate.org/")
131
    (synopsis
132
      "A translation file finder for Weblate, translation tool with tight version control integration")
133
    (description
134
      "A translation file finder for Weblate, translation tool with tight version control integration")
135
    (license license:gpl3+)))
136
137
(define-public python-httmock
138
  (package
139
    (name "python-httmock")
140
    (version "1.3.0")
141
    (source
142
      (origin
143
        (method url-fetch)
144
        (uri (pypi-uri "httmock" version))
145
        (sha256
146
          (base32
147
            "1zj1fcm0n6f0wr9mr0hmlqz9430fnr5cdwd5jkcvq9j44bnsrfz0"))))
148
    (build-system python-build-system)
149
    (arguments
150
     ;; Tests can't be run?
151
     `(#:tests? #f))
152
    (propagated-inputs
153
      `(("python-requests" ,python-requests)))
154
    (home-page "https://github.com/patrys/httmock")
155
    (synopsis "A mocking library for requests.")
156
    (description "A mocking library for requests.")
157
    (license license:asl2.0)))
158
159
(define-public python-gitlab
160
  (package
161
    (name "python-gitlab")
162
    (version "1.10.0")
163
    (source
164
      (origin
165
        (method url-fetch)
166
        (uri (pypi-uri "python-gitlab" version))
167
        (sha256
168
          (base32
169
            "0n2s4cmmrhx1yxpfa6xfkncairgrcvcmvhq2sx4k0k65cy9ipsf4"))))
170
    (build-system python-build-system)
171
    (propagated-inputs
172
      `(("python-requests" ,python-requests)
173
        ("python-six" ,python-six)))
174
    (native-inputs
175
     `(("python-httmock" ,python-httmock)
176
       ("python-mock" ,python-mock)))
177
    (home-page
178
      "https://github.com/python-gitlab/python-gitlab")
179
    (synopsis "Interact with GitLab API")
180
    (description "Interact with GitLab API")
181
    (license license:lgpl3+)))
182
183
(define-public python-android-stringslib
184
  (package
185
    (name "python-android-stringslib")
186
    (version "0.1.1.1")
187
    (source
188
      (origin
189
        (method git-fetch)
190
        (uri (git-reference
191
               (url "https://framagit.org/tyreunom/python-android-strings-lib")
192
               (commit "0415535b125a64eb6da20a6b15ad92456e73ca8d")))
193
        (file-name (git-file-name name version))
194
        (sha256
195
          (base32
196
            "0icalva7a5w8a6qcrgkxkywckdqv8r5j5y9d5m6ln8bbk9s9fbls"))))
197
    (build-system python-build-system)
198
    (arguments
199
     `(#:tests? #f))
200
    (home-page
201
      "https://framagit.org/tyreunom/python-android-strings-lib")
202
    (synopsis
203
      "Android Strings Lib provides support for android's strings.xml files.  These files are used to translate strings in android apps.")
204
    (description
205
      "Android Strings Lib provides support for android's strings.xml files.  These files are used to translate strings in android apps.")
206
    (license license:expat)))
207
208
(define-public python-pathtools
209
  (package
210
    (name "python-pathtools")
211
    (version "0.1.2")
212
    (source
213
      (origin
214
        (method url-fetch)
215
        (uri (pypi-uri "pathtools" version))
216
        (sha256
217
          (base32
218
            "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw"))))
219
    (build-system python-build-system)
220
    (home-page
221
      "http://github.com/gorakhargosh/pathtools")
222
    (synopsis "File system general utilities")
223
    (description "File system general utilities")
224
    (license #f)))
225
226
(define-public python-iocapture
227
  (package
228
    (name "python-iocapture")
229
    (version "0.1.2")
230
    (source
231
      (origin
232
        (method url-fetch)
233
        (uri (pypi-uri "iocapture" version))
234
        (sha256
235
          (base32
236
            "1s3ywdr0l3kfrrqi079iv16g0rp75akkvx0j07vx9p5w10c0wrw6"))))
237
    (build-system python-build-system)
238
    (native-inputs
239
     `(("python-flexmock" ,python-flexmock)
240
       ("python-pytest-cov" ,python-pytest-cov)
241
       ("python-six" ,python-six)))
242
    (home-page "https://github.com/oinume/iocapture")
243
    (synopsis "Capture stdout, stderr easily.")
244
    (description "Capture stdout, stderr easily.")
245
    (license license:expat)))
246
247
(define-public python-argh
248
  (package
249
    (name "python-argh")
250
    (version "0.26.2")
251
    (source
252
      (origin
253
        (method url-fetch)
254
        (uri (pypi-uri "argh" version))
255
        (sha256
256
          (base32
257
            "0rdv0n2aa181mkrybwvl3czkrrikgzd4y2cri6j735fwhj65nlz9"))))
258
    (build-system python-build-system)
259
    (native-inputs
260
     `(("python-iocapture" ,python-iocapture)
261
       ("python-mock" ,python-mock)
262
       ("python-pytest" ,python-pytest)))
263
    (home-page "http://github.com/neithere/argh/")
264
    (synopsis
265
      "An unobtrusive argparse wrapper with natural syntax")
266
    (description
267
      "An unobtrusive argparse wrapper with natural syntax")
268
    (license #f)))
269
270
(define-public python-watchdog
271
  (package
272
    (name "python-watchdog")
273
    (version "0.9.0")
274
    (source
275
      (origin
276
        (method url-fetch)
277
        (uri (pypi-uri "watchdog" version))
278
        (sha256
279
          (base32
280
            "07cnvvlpif7a6cg4rav39zq8fxa5pfqawchr46433pij0y6napwn"))))
281
    (build-system python-build-system)
282
    (arguments
283
     `(#:phases
284
       (modify-phases %standard-phases
285
         (add-before 'check 'remove-failing
286
           (lambda _
287
             (delete-file "tests/test_inotify_buffer.py")
288
             (delete-file "tests/test_snapshot_diff.py")
289
             #t)))))
290
    (propagated-inputs
291
      `(("python-argh" ,python-argh)
292
        ("python-pathtools" ,python-pathtools)
293
        ("python-pyyaml" ,python-pyyaml)))
294
    (native-inputs
295
     `(("python-pytest-cov" ,python-pytest-cov)
296
       ("python-pytest-timeout" ,python-pytest-timeout)))
297
    (home-page
298
      "http://github.com/gorakhargosh/watchdog")
299
    (synopsis "Filesystem events monitoring")
300
    (description "Filesystem events monitoring")
301
    (license #f)))
302
303
(define-public python-altgraph
304
  (package
305
    (name "python-altgraph")
306
    (version "0.16.1")
307
    (source
308
      (origin
309
        (method url-fetch)
310
        (uri (pypi-uri "altgraph" version))
311
        (sha256
312
          (base32
313
            "034vgy3nnm58rs4a6k83m9imayxx35k0p3hr22wafyql2w035xfx"))))
314
    (build-system python-build-system)
315
    (home-page "https://altgraph.readthedocs.io")
316
    (synopsis "Python graph (network) package")
317
    (description "Python graph (network) package")
318
    (license license:expat)))
319
320
(define-public python-pyinstaller
321
  (package
322
    (name "python-pyinstaller")
323
    (version "3.5")
324
    (source
325
      (origin
326
        (method url-fetch)
327
        (uri (pypi-uri "PyInstaller" version))
328
        (sha256
329
          (base32
330
            "15ha3mmy4p93rpwcy2b3vcgwfsm5bq9z5yjh88ra6chk5l108xgf"))))
331
    (build-system python-build-system)
332
    (arguments
333
     `(#:tests? #f
334
       #:phases
335
       (modify-phases %standard-phases
336
         (delete 'validate-runpath))))
337
    (propagated-inputs
338
      `(("python-altgraph" ,python-altgraph)
339
        ("python-setuptools" ,python-setuptools)))
340
    (home-page "http://www.pyinstaller.org")
341
    (synopsis
342
      "PyInstaller bundles a Python application and all its dependencies into a single package.")
343
    (description
344
      "PyInstaller bundles a Python application and all its dependencies into a single package.")
345
    (license #f)))
346
347
(package
348
  (name "offlate")
349
  (version "0.4")
350
  (source
351
    (origin
352
      (method git-fetch)
353
      (uri (git-reference
354
             (url "https://framagit.org/tyreunom/offlate")
355
             (commit version)))
356
      (file-name (git-file-name name version))
357
      (sha256
358
       (base32
359
        "10l03j8ajkd1a7sg1zycbpdaz71mscrncw7rwjzqk2ia6j04rwxm"))))
360
  (build-system python-build-system)
361
  (arguments
362
   ;; No tests
363
   `(#:tests? #f))
364
  (propagated-inputs
365
    `(("python-android-stringslib" ,python-android-stringslib)
366
      ("python-dateutil" ,python-dateutil)
367
      ("python-gitlab" ,python-gitlab)
368
      ("python-lxml" ,python-lxml)
369
      ("python-polib" ,python-polib)
370
      ("python-pyenchant" ,python-pyenchant)
371
      ("python-pygit2" ,python-pygit2)
372
      ("python-pygithub" ,python-pygithub)
373
      ("python-pyqt" ,python-pyqt)
374
      ("python-requests" ,python-requests)
375
      ("python-ruamel.yaml" ,python-ruamel.yaml)
376
      ("python-translation-finder" ,python-translation-finder)
377
      ("python-watchdog" ,python-watchdog)))
378
  (native-inputs
379
   `(("python-pyinstaller" ,python-pyinstaller)
380
     ("qttools" ,qttools)))
381
  (home-page
382
    "https://framagit.org/tyreunom/offlate")
383
  (synopsis
384
    "Offline translation interface for online translation tools.")
385
  (description
386
    "Offline translation interface for online translation tools.")
387
  (license license:gpl3+))
388