guix-more/more/packages/binary.scm

binary.scm

1
;;; GNU Guix --- Functional package management for GNU
2
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
3
;;;
4
;;; This file is part of GNU Guix.
5
;;;
6
;;; GNU Guix is free software; you can redistribute it and/or modify it
7
;;; under the terms of the GNU General Public License as published by
8
;;; the Free Software Foundation; either version 3 of the License, or (at
9
;;; your option) any later version.
10
;;;
11
;;; GNU Guix is distributed in the hope that it will be useful, but
12
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
;;; GNU General Public License for more details.
15
;;;
16
;;; You should have received a copy of the GNU General Public License
17
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
18
19
(define-module (more packages binary)
20
  #:use-module ((guix licenses) #:prefix license:)
21
  #:use-module (gnu packages)
22
  #:use-module (guix packages)
23
  #:use-module (guix download)
24
  #:use-module (guix git-download)
25
  #:use-module (guix utils)
26
  #:use-module (guix build-system cmake)
27
  #:use-module (guix build-system gnu)
28
  #:use-module (guix build-system python)
29
  #:use-module (gnu packages check)
30
  #:use-module (gnu packages compression)
31
  #:use-module (gnu packages glib)
32
  #:use-module (gnu packages libffi)
33
  #:use-module (gnu packages multiprecision)
34
  #:use-module (gnu packages pkg-config)
35
  #:use-module (gnu packages python)
36
  #:use-module (gnu packages python-xyz)
37
  #:use-module (gnu packages python-crypto)
38
  #:use-module (gnu packages qt)
39
  #:use-module (gnu packages tls)
40
  #:use-module (more packages python)
41
  #:use-module (more packages smt))
42
43
(define python2-bitstring (package-with-python2 python-bitstring))
44
(define python2-utils (package-with-python2 python-utils))
45
(define python2-progressbar2 (package-with-python2 python-progressbar2))
46
(define python2-cachetools (package-with-python2 python-cachetools))
47
48
(define-public python-pyelftools
49
  (package
50
    (name "python-pyelftools")
51
    (version "0.24")
52
    (source (origin
53
              (method url-fetch)
54
              (uri (string-append "https://github.com/eliben/pyelftools/archive/v"
55
                                  version ".tar.gz"))
56
              (file-name (string-append name "-" version ".tar.gz"))
57
              (sha256
58
               (base32
59
                "1iw47b20brg0ah86s9a2dn1f70qfmdv20p04q131vmnwa9g066f4"))))
60
    (build-system python-build-system)
61
    (native-inputs
62
     `(("utils" ,python-utils)))
63
    (arguments
64
     `(#:tests? #f))
65
    (home-page "https://github.com/eliben/pyelftools")
66
    (synopsis "Parsing and analyzing ELF files and DWARF debugging information")
67
    (description
68
      "Python library for parsing and analyzing ELF files and DWARF debugging information.")
69
    (license license:public-domain)))
70
71
(define-public python2-pyelftools
72
  (package
73
    (inherit (package-with-python2 python-pyelftools))
74
    (arguments
75
     `(#:tests? #t
76
       #:python ,python-2))))
77
    
78
;; rc required by python2-angr
79
(define-public capstone
80
  (package
81
    (name "capstone")
82
    (version "3.0.5-rc2")
83
    (source (origin
84
              (method url-fetch)
85
              (uri (string-append "https://github.com/aquynh/capstone/archive/"
86
                                  version ".tar.gz"))
87
              (file-name (string-append name "-" version ".tar.gz"))
88
              (sha256
89
               (base32
90
                "1cqms9r2p43aiwp5spd84zaccp16ih03r7sjhrv16nddahj0jz2q"))))
91
    (build-system gnu-build-system)
92
    (arguments
93
     `(#:tests? #f
94
       #:make-flags (list (string-append "PREFIX=" %output)
95
                          "CC=gcc")
96
       #:phases
97
       (modify-phases %standard-phases
98
         (delete 'configure)
99
         (add-before 'build 'fix-cstool-ldflags
100
           (lambda* (#:key outputs #:allow-other-keys)
101
             (substitute* "cstool/Makefile"
102
               (("LDFLAGS =")
103
                (string-append "LDFLAGS = -Wl,-rpath=" (assoc-ref outputs "out")
104
                               "/lib"))))))))
105
    (home-page "http://www.capstone-engine.org")
106
    (synopsis "Disassembler")
107
    (description
108
     "Capstone can disassemble machine code for many supported architectures
109
such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore.  It provides
110
bindings for Python, Java, OCaml and more.")
111
    (license (list license:bsd-3 license:expat))))
112
113
;; This package has a timestamp embedded in
114
;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc
115
(define-public python-capstone
116
  (package
117
    (inherit capstone)
118
    (name "python-capstone")
119
    (propagated-inputs
120
     `(("capstone" ,capstone)))
121
    (build-system python-build-system)
122
    (arguments
123
     `(#:tests? #f
124
       #:phases
125
       (modify-phases %standard-phases
126
         (add-after 'unpack 'chdir-and-fix-setup-py
127
           (lambda _
128
             (chdir "bindings/python")
129
             (substitute* "setup.py" ((".*   build_libraries.*") ""))
130
             (substitute* "capstone/__init__.py"
131
               (("pkg_resources.resource_filename.*")
132
                (string-append "'" (assoc-ref %build-inputs "capstone") "/lib',\n")))
133
             #t)))))))
134
135
(define-public python2-capstone
136
  (package-with-python2 python-capstone))
137
138
(define-public capstone-git
139
  (package
140
    (inherit capstone)
141
    (version "3.0.5-rc2")
142
    (name "capstone-git")
143
    (source (origin
144
              (method git-fetch)
145
              (uri (git-reference (url "https://github.com/aquynh/capstone.git")
146
                                  (commit "b6c4c3f5c79684b02d0672b50b4db494f6ce60f9")))
147
              (file-name (string-append name "-" version))
148
              (sha256
149
               (base32
150
                "0kqdfp0flx5czzwr490pzn9mzsxcw8qpcfz4y7bpf2cklsr4mh25"))))
151
    (arguments
152
     `(#:tests? #f
153
       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
154
                          "CC=gcc")
155
       #:phases
156
       (modify-phases %standard-phases
157
         (delete 'configure)
158
         (add-before 'build 'fix-cstool
159
           (lambda* (#:key outputs #:allow-other-keys)
160
             (substitute* "cstool/Makefile"
161
               (("LDFLAGS =")
162
                (string-append "LDFLAGS = -Wl,-rpath=" (assoc-ref outputs "out") "/lib"))))))))))
163
164
(define-public python-capstone-git
165
  (package
166
    (inherit capstone-git)
167
    (name "python-capstone-git")
168
    (propagated-inputs
169
     `(("capstone" ,capstone-git)))
170
    (build-system python-build-system)
171
    (arguments
172
     `(#:tests? #f
173
       #:phases
174
       (modify-phases %standard-phases
175
         (add-after 'unpack 'chdir-and-fix-setup-py
176
           (lambda _
177
             (chdir "bindings/python")
178
             (substitute* "setup.py" (("   *build_libraries.*") "\n"))
179
             (substitute* "capstone/__init__.py"
180
               (("pkg_resources.resource_filename.*")
181
                (string-append "\"" (assoc-ref %build-inputs "capstone") "/lib\",\n")))
182
             #t)))))))
183
184
(define-public python2-capstone-git
185
  (package-with-python2 python-capstone-git))
186
187
 
188
(define-public python-pefile
189
  (package
190
    (name "python-pefile")
191
    (version "2017.11.5")
192
    (source
193
      (origin
194
        (method url-fetch)
195
        (uri (pypi-uri "pefile" version))
196
        (sha256
197
         (base32
198
          "0m2q0bdjdlf6lbidb33y43k3ikzjgy58vx6jh2gdnxqn1vp3ap37"))))
199
    (build-system python-build-system)
200
    (arguments
201
     `(#:tests? #f)); no test
202
    (home-page "https://github.com/erocarrera/pefile")
203
    (synopsis "Parse and work with Portable Executable (aka PE) files")
204
    (description "Pefile is a multi-platform Python module to parse and work
205
with Portable Executable (aka PE) files.  Most of the information contained in
206
the PE headers is accessible as well as all sections' details and their data.
207
The structures defined in the Windows header files will be accessible as
208
attributes in the PE instance.  The naming of fields/attributes will try to
209
adhere to the naming scheme in those headers.  Only shortcuts added for
210
convenience will depart from that convention.")
211
    (license license:expat)))
212
213
(define-public python2-pefile
214
  (package-with-python2 python-pefile))
215
216
(define-public python2-archinfo
217
  (package
218
    (name "python2-archinfo")
219
    (version "7.7.12.16")
220
    (source (origin
221
              (method url-fetch)
222
              (uri (pypi-uri "archinfo" version))
223
              (sha256
224
               (base32
225
                "0xlgq1qnsrqywv43ij54k6ciyxmwf0krygsqdq13x3a6gd02a85l"))))
226
    (build-system python-build-system)
227
    (arguments
228
     `(#:python ,python-2))
229
    (home-page "https://github.com/angr/archinfo")
230
    (synopsis "Collection of classes that contain architecture-specific information")
231
    (description "Archinfo is a collection of classes that contain
232
architecture-specific information.  It is useful for cross-architecture tools
233
(such as pyvex).")
234
    (license license:bsd-2)))
235
236
(define-public angr-vex
237
  (package
238
    (name "angr-vex")
239
    (version "0.20180104")
240
    (source (origin
241
              (method git-fetch)
242
              (uri (git-reference
243
                    (url "https://github.com/angr/vex.git")
244
                    (commit "7394e917fc86c8f042d8ce51a609810a97c20fd7")))
245
              (sha256
246
               (base32
247
                "1fw97l9wqirny0p2x0d1xr475b05s4zbq0hd0sip7q7f15claiy0"))
248
              (file-name (string-append name "-" version))))
249
    (build-system gnu-build-system)
250
    (arguments
251
     `(#:make-flags
252
       (list "CC=gcc" "CC_NATIVE=gcc")
253
       #:tests? #f
254
       #:phases
255
       (modify-phases %standard-phases
256
         (delete 'configure)
257
         (add-before 'build 'get-Makefile
258
           (lambda _
259
             (copy-file "Makefile-gcc" "Makefile")))
260
         (replace 'install
261
           (lambda* (#:key outputs #:allow-other-keys)
262
             (let* ((out (assoc-ref outputs "out"))
263
                   (lib (string-append out "/lib"))
264
                   (include (string-append out "/include")))
265
               (mkdir-p lib)
266
               (mkdir-p include)
267
               (copy-recursively "pub" include)
268
               (copy-file "libvex.a" (string-append lib "/libvex.a"))))))))
269
    (home-page "https://github.com/angr/vex")
270
    (synopsis "Fork of libVEX for PyVEX")
271
    (description "This is a mirror of libVEX (of the Valgrind project:
272
valgrind.org) for use with PyVEX.")
273
    (license license:gpl2+)))
274
275
(define-public python2-pyvex
276
  (package
277
    (name "python2-pyvex")
278
    (version "7.7.12.16")
279
    (source (origin
280
              (method url-fetch)
281
              (uri (pypi-uri "pyvex" version))
282
              (sha256
283
               (base32
284
                "1jn4ivs75vs2x7fsmbyy0pbcspjff0h1vlw463kz9qf9ppr7fshc"))))
285
    (build-system python-build-system)
286
    (inputs `(("angr-vex" ,angr-vex)))
287
    (propagated-inputs
288
     `(("archinfo" ,python2-archinfo)
289
       ("pycparser" ,python2-pycparser)
290
       ("cffi" ,python2-cffi)))
291
    (native-inputs
292
     `(("python2-bitstring" ,python2-bitstring)))
293
    (arguments
294
     `(#:python ,python-2
295
       #:phases
296
       (modify-phases %standard-phases
297
         (add-before 'build 'fix-setup.py
298
           (lambda* (#:key inputs #:allow-other-keys)
299
             (substitute* "setup.py"
300
               (("VEX_PATH = .*")
301
                (string-append "VEX_PATH = '" (assoc-ref inputs "angr-vex") "'"))
302
               ((".*self.execute\\(_build_vex.*")
303
                "")
304
               (("e\\['VEX_LIB_PATH'\\] = .*")
305
                "e['VEX_LIB_PATH'] = os.path.join(VEX_PATH, 'lib')\n")
306
               (("'pub'")
307
                "'include'")))))))
308
    (home-page "https://github.com/angr/pyvex")
309
    (synopsis "PyVEX exposes VEX into Python")
310
    (description "VEX is an intermediate representation that is useful to carry
311
analyses on binary.  PyVEX exposes VEX into Python.")
312
    (license license:bsd-2)))
313
314
(define-public unicorn
315
  (package
316
    (name "unicorn")
317
    (version "1.0.1")
318
    (source (origin
319
              (method url-fetch)
320
              (uri (string-append "https://github.com/unicorn-engine/unicorn/archive/"
321
                                  version ".tar.gz"))
322
              (file-name (string-append name "-" version ".tar.gz"))
323
              (sha256
324
               (base32
325
                "0z01apwmvhvdldm372ww9pjfn45awkw3m90c0h4v0nj0ihmlysis"))))
326
    (build-system gnu-build-system)
327
    (arguments
328
     `(#:phases
329
       (modify-phases %standard-phases
330
         (delete 'configure))
331
       #:tests? #f
332
       #:make-flags
333
       (list "CC=gcc"
334
             (string-append "PREFIX=" (assoc-ref %outputs "out")))))
335
    (native-inputs
336
     `(("python" ,python-2)
337
       ("pkg-config" ,pkg-config)))
338
    (home-page "http://www.unicorn-engine.org/")
339
    (synopsis "CPU emulator")
340
    (description "Unicorn is a lightweight multi-platform, multi-architecture
341
CPU emulator framework.")
342
    (license (list license:gpl2 license:lgpl2.0))))
343
344
;; Not reproducible
345
(define-public python-unicorn
346
  (package
347
    (inherit unicorn)
348
    (name "python-unicorn")
349
    (propagated-inputs
350
     `(("unicorn" ,unicorn)))
351
    (build-system python-build-system)
352
    (arguments
353
     `(#:phases (modify-phases %standard-phases
354
                  (add-after 'unpack 'chdir-and-fix-setup-py
355
                    (lambda _
356
                      (chdir "bindings/python")
357
                      (substitute* "setup.py" (("build_libraries\\(\\)\n") "\n"))
358
                      (substitute* "unicorn/unicorn.py"
359
                        (("'',")
360
                         (string-append "'"
361
                                        (assoc-ref %build-inputs "unicorn")
362
                                        "/lib',")))
363
                      #t)))))))
364
365
(define-public python2-unicorn
366
  (package
367
    (inherit (package-with-python2 python-unicorn))
368
    (propagated-inputs
369
     `(("unicorn" ,unicorn)
370
       ("pyvex" ,python2-pyvex)))))
371
372
(define-public python2-simuvex
373
  (package
374
    (name "python2-simuvex")
375
    (version "7.7.9.8")
376
    (source (origin
377
              (method url-fetch)
378
              (uri (pypi-uri "simuvex" version))
379
              (sha256
380
               (base32
381
                "02485bb8cl3q2yrd42mgd6nnbx915y8xqz7fmb03wkj7alzm58pr"))
382
              (modules '((guix build utils)))
383
              (snippet
384
               '(substitute* "setup.py"
385
                  (("dpkt-fix") "dpkt")))))
386
    (build-system python-build-system)
387
    (native-inputs
388
     `(("pkg-config" ,pkg-config)
389
       ("enum34" ,python2-enum34)))
390
    (propagated-inputs
391
     `(("pyvex" ,python2-pyvex)
392
       ("bintrees" ,python2-bintrees)
393
       ("dpkt" ,python2-dpkt)
394
       ("cooldict" ,python2-cooldict)
395
       ("cachetools" ,python2-cachetools)
396
       ("claripy" ,python2-claripy)
397
       ("unicorn" ,python2-unicorn)
398
       ("glib" ,glib)))
399
    (inputs
400
     `(("zlib" ,zlib)))
401
    (arguments
402
     `(#:python ,python-2
403
       ;; Simuvex requires angr to be tested
404
       #:tests? #f))
405
    (home-page "https://github.com/angr/cle")
406
    (synopsis "Abstraction of process memory")
407
    (description "CLE loads binaries and their associated libraries, resolves
408
imports and provides an abstraction of process memory the same way as if it was
409
loaded by the OS's loader.")
410
    (license license:bsd-2)))
411
412
(define-public python2-cle
413
  (package
414
    (name "python2-cle")
415
    (version "7.7.12.16")
416
    (source (origin
417
              (method url-fetch)
418
              (uri (pypi-uri "cle" version))
419
              (sha256
420
               (base32
421
                "04q15iflmapvm47vx4wblvmnj4hzg69hn2zd6h5wzkccgnkchb25"))
422
              (modules '((guix build utils)))
423
              (snippet
424
               '(substitute* "setup.py"
425
                  (("'idalink',") ""))))); Idalink is not acceptable
426
    (build-system python-build-system)
427
    (propagated-inputs
428
     `(("pyelftools" ,python2-pyelftools)
429
       ("cffi" ,python2-cffi)
430
       ("archinfo" ,python2-archinfo)
431
       ("future" ,python2-future)
432
       ("pyvex" ,python2-pyvex)
433
       ("pefile" ,python2-pefile)))
434
    (native-inputs
435
     `(("python2-bitstring" ,python2-bitstring)))
436
    (arguments
437
     `(#:python ,python-2))
438
    (home-page "https://github.com/angr/cle")
439
    (synopsis "Abstraction of process memory")
440
    (description "CLE loads binaries and their associated libraries, resolves
441
imports and provides an abstraction of process memory the same way as if it was
442
loaded by the OS's loader.")
443
    (license license:bsd-2)))
444
445
(define-public python2-angr
446
  (package
447
    (name "python2-angr")
448
    (version "7.7.12.16")
449
    (source (origin
450
              (method url-fetch)
451
              (uri (pypi-uri "angr" version))
452
              (sha256
453
               (base32
454
                "177z45ki580dphmrpsv2ln1249n8jcjf7mjl8ymjcki5yzan26yy"))))
455
    (build-system python-build-system)
456
    (arguments
457
     `(#:python ,python-2
458
       ;; Tests require pygit 0.1
459
       #:tests? #f))
460
    (propagated-inputs
461
     `(("python2-bitstring" ,python2-bitstring)
462
       ("python2-cle" ,python2-cle)
463
       ("python2-capstone" ,python2-capstone)
464
       ("python2-six" ,python2-six)
465
       ("python2-utils" ,python2-utils)
466
       ("python2-mulpyplexer" ,python2-mulpyplexer)
467
       ("python2-rpyc" ,python2-rpyc)
468
       ("python2-enum34" ,python2-enum34)
469
       ("python2-networkx" ,python2-networkx)
470
       ("python2-futures" ,python2-futures)
471
       ("python2-progressbar" ,python2-progressbar2)
472
       ("python2-simuvex" ,python2-simuvex)))
473
    (home-page "https://github.com/angr/angr")
474
    (synopsis "Angr is a python framework for analyzing binaries")
475
    (description "angr is a python framework for analyzing binaries.  It
476
focuses on both static and dynamic symbolic (\"concolic\") analysis, making it
477
applicable to a variety of tasks.")
478
    (license license:bsd-2)))
479
480
(define-public sandsifter
481
  (package
482
    (name "sandsifter")
483
    (version "0")
484
    (source (origin
485
              (method git-fetch)
486
              (uri (git-reference
487
                     (url "https://github.com/xoreaxeaxeax/sandsifter")
488
                     (commit "dff63246fed84d90118441b8ba5b5d3bdd094427")))
489
              (sha256
490
               (base32
491
                "1f4hfdhqmam8cz2hixv8zpwggqy17fmczsnc5k9gz87ff7bpqrnk"))))
492
    (build-system gnu-build-system)
493
    (arguments
494
     `(#:make-flags (list "CC=gcc")
495
       #:tests? #f
496
       #:phases
497
       (modify-phases %standard-phases
498
         (delete 'configure)
499
         (replace 'install
500
           (lambda* (#:key inputs outputs #:allow-other-keys)
501
             (let* ((out (assoc-ref outputs "out"))
502
                    (bin (string-append out "/bin"))
503
                    (lib (string-append out "/lib/python2.7/site-packages/sandsifter"))
504
                    (pyutil (string-append lib "/pyutil"))
505
                    (gui (string-append lib "/gui")))
506
               ;(substitute* "summarize.py"
507
               ;  (("pyutil.progress") "sandsifter.pyutil.progress")
508
               ;  (("gui.gui") "sandsifter.gui.gui"))
509
               (substitute* "sifter.py"
510
                 (("./injector") (string-append lib "/injector")))
511
               (mkdir-p bin)
512
               (with-output-to-file (string-append bin "/sifter")
513
                 (lambda _
514
                   (format #t
515
                     "#!~a~@
516
                     PYTHONPATH=~a ~a/bin/python ~a/sifter.py $@"
517
                     (which "sh")
518
                     (string-append (assoc-ref inputs "py-capstone")
519
                                    "/lib/python2.7/site-packages:"
520
                                    (dirname lib))
521
                     (assoc-ref inputs "python2") lib)))
522
               (chmod (string-append bin "/sifter") #o755)
523
               (with-output-to-file (string-append bin "/sifter-summarize")
524
                 (lambda _
525
                   (format #t
526
                     "#!~a~@
527
                     PYTHONPATH=~a ~a/bin/python ~a/summarize.py $@"
528
                     (which "sh")
529
                     (string-append (assoc-ref inputs "py-capstone")
530
                                    "/lib/python2.7/site-packages:"
531
                                    lib)
532
                     (assoc-ref inputs "python2") lib)))
533
               (chmod (string-append bin "/sifter-summarize") #o755)
534
               (install-file "sifter.py" lib)
535
               (install-file "summarize.py" lib)
536
               (install-file "injector" lib)
537
               (install-file "pyutil/__init__.py" pyutil)
538
               (install-file "pyutil/colors.py" pyutil)
539
               (install-file "pyutil/progress.py" pyutil)
540
               (install-file "gui/__init__.py" gui)
541
               (install-file "gui/gui.py" gui)))))))
542
    (inputs
543
     `(("capstone" ,capstone)
544
       ("python2" ,python-2)
545
       ("py-capstone" ,python2-capstone)))
546
    (home-page "https://github.com/xoreaxeaxeax/sandsifter")
547
    (synopsis "X86 processor fuzzer")
548
    (description "The sandsifter audits x86 processors for hidden instructions
549
and hardware bugs, by systematically generating machine code to search through
550
a processor's instruction set, and monitoring execution for anomalies.
551
Sandsifter has uncovered secret processor instructions from every major vendor;
552
ubiquitous software bugs in disassemblers, assemblers, and emulators; flaws in
553
enterprise hypervisors; and both benign and security-critical hardware bugs in
554
x86 chips.")
555
    ;; No license!
556
    (license license:expat)))
557
558
(define-public veles
559
  (package
560
    (name "veles")
561
    (version "2017.06.0.1")
562
    (source (origin
563
              (method url-fetch)
564
              (uri (string-append "https://github.com/codilime/veles/archive/"
565
                                  version ".tar.gz"))
566
              (file-name (string-append name "-" version ".tar.gz"))
567
              (sha256
568
               (base32
569
                "0sv0y0sbx9pjdg755ily3ga7h021531066s0q8niy8nsz7ql9m9b"))))
570
    (build-system cmake-build-system)
571
    (arguments
572
     `(#:configure-flags
573
       (list (string-append "-DMSGPACK_INCLUDE_PATH="
574
                            (assoc-ref %build-inputs "python-msgpack")
575
                            "/include"))
576
       #:phases
577
       (modify-phases %standard-phases
578
         (add-before 'configure 'fix-python-deps
579
           (lambda _
580
             (substitute* "python/requirements.txt"
581
               (("six==1.10.0") "six>=1.10.0")
582
               (("msgpack-python==0.4.8") "msgpack>=0.4.8"))
583
             #t)))))
584
    (inputs
585
     `(("openssl" ,openssl)
586
       ("python" ,python)
587
       ("python-msgpack" ,python-msgpack)
588
       ("python-pbr" ,python-pbr)
589
       ("python-pyopenssl" ,python-pyopenssl)
590
       ("python-six" ,python-six)
591
       ("qtbase" ,qtbase)
592
       ("zlib" ,zlib)))
593
    (native-inputs
594
     `(("googletest" ,googletest)))
595
    (home-page "https://codisec.com/veles/")
596
    (synopsis "")
597
    (description "")
598
    (license license:asl2.0)))
599