Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / aidc.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darringon <jmd@gnu.org>
3 ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
4 ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
5 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
6 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
7 ;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
8 ;;;
9 ;;; This file is part of GNU Guix.
10 ;;;
11 ;;; GNU Guix is free software; you can redistribute it and/or modify it
12 ;;; under the terms of the GNU General Public License as published by
13 ;;; the Free Software Foundation; either version 3 of the License, or (at
14 ;;; your option) any later version.
15 ;;;
16 ;;; GNU Guix is distributed in the hope that it will be useful, but
17 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;;; GNU General Public License for more details.
20 ;;;
21 ;;; You should have received a copy of the GNU General Public License
22 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24 (define-module (gnu packages aidc)
25 #:use-module (gnu packages)
26 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix packages)
28 #:use-module (guix download)
29 #:use-module (guix git-download)
30 #:use-module (gnu packages autotools)
31 #:use-module (gnu packages imagemagick)
32 #:use-module (gnu packages glib)
33 #:use-module (gnu packages gtk)
34 #:use-module (gnu packages image)
35 #:use-module (gnu packages pkg-config)
36 #:use-module (gnu packages python)
37 #:use-module (gnu packages python-xyz)
38 #:use-module (gnu packages qt)
39 #:use-module (gnu packages video)
40 #:use-module (guix build-system gnu))
41
42
43 (define-public barcode
44 (package
45 (name "barcode")
46 (version "0.99")
47 (source (origin
48 (method url-fetch)
49 (uri (string-append "mirror://gnu/barcode/barcode-"
50 version ".tar.xz"))
51 (sha256
52 (base32
53 "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"))))
54 (build-system gnu-build-system)
55 (synopsis "Convert text strings to printed bars in various standards")
56 (description "GNU Barcode is a flexible tool to produce printed barcodes
57 from text strings. It supports a variety of encoding standards and sizing
58 measurements. Barcodes can be output in PostScript or Encapsulated PostScript
59 formats.")
60 (license license:gpl3+)
61 (home-page "https://www.gnu.org/software/barcode/")))
62
63 (define-public qrencode
64 (package
65 (name "qrencode")
66 (version "4.0.2")
67 (source (origin
68 (method url-fetch)
69 (uri (string-append
70 "https://fukuchi.org/works/qrencode/qrencode-" version
71 ".tar.bz2"))
72 (sha256
73 (base32
74 "1d2q5d3v8g3hsi3h5jq4n177bjhf3kawms09immw7p187f6jgjy9"))))
75 (build-system gnu-build-system)
76 (inputs `(("libpng" ,libpng)))
77 (native-inputs `(("pkg-config" ,pkg-config)))
78 (synopsis "Encode data into a QR Code symbol")
79 (description "Libqrencode is a C library for encoding data in a QR Code
80 symbol, a kind of 2D symbology that can be scanned by handy terminals such as
81 a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
82 characters, and is highly robust.")
83 (license license:lgpl2.1+)
84 (home-page "https://fukuchi.org/works/qrencode")))
85
86 (define-public libdmtx
87 (package
88 (name "libdmtx")
89 (version "0.7.5")
90 (source
91 (origin
92 (method git-fetch)
93 (uri (git-reference
94 (url "https://github.com/dmtx/libdmtx.git")
95 (commit (string-append "v" version))))
96 (file-name (git-file-name name version))
97 (sha256
98 (base32 "0wk3fkxzf9ip75v8ia54v6ywx72ajp5s6777j4ay8barpbv869rj"))))
99 (build-system gnu-build-system)
100 (arguments
101 ;; XXX Test suite is broken: https://github.com/dmtx/libdmtx/issues/22
102 `(#:tests? #f))
103 (native-inputs
104 `(("autoconf" ,autoconf)
105 ("automake" ,automake)
106 ("libtool" ,libtool)
107 ("pkg-config" ,pkg-config)))
108 (home-page "https://github.com/dmtx")
109 (synopsis "Library for reading and writing Data Matrix 2D barcodes")
110 (description "libdmtx is software for reading and writing Data Matrix 2D
111 barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
112 C/C++ programs to use its capabilities without restrictions or overhead.")
113 (license license:bsd-3)))
114
115 (define-public zbar
116 (package
117 (name "zbar")
118 (version "0.23")
119 (source
120 (origin
121 (method url-fetch)
122 (uri (string-append "https://linuxtv.org/downloads/zbar/zbar-"
123 version
124 ".tar.bz2"))
125 (sha256
126 (base32
127 "0bmd93a15qpgbsq9c9j33qms18rdrgz6gbc48zi6z9w5pvrvi7z9"))))
128 (build-system gnu-build-system)
129 (arguments
130 '(#:configure-flags (list "--with-gtk=auto"
131 "--with-python=auto"
132 (string-append "--with-dbusconfdir="
133 (assoc-ref %outputs "out")
134 "/etc"))))
135 (native-inputs
136 `(("glib" ,glib "bin")
137 ("pkg-config" ,pkg-config)))
138 (inputs
139 `(("gobject-introspection" ,gobject-introspection)
140 ("gtk+" ,gtk+)
141 ("imagemagick" ,imagemagick)
142 ("libjpeg" ,libjpeg-turbo)
143 ("python" ,python)
144 ("qtbase" ,qtbase)
145 ("qtx11extras" ,qtx11extras)
146 ("v4l-utils" ,v4l-utils)))
147 (synopsis "Bar code reader")
148 (description
149 "ZBar can read barcodes from various sources, such as video streams,
150 image files, and raw intensity sensors. It supports EAN-13/UPC-A, UPC-E,
151 EAN-8, Code 128, Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ
152 Code. Included with the library are basic applications for decoding captured
153 bar code images and using a video device (e.g. webcam) as a bar code scanner.
154 For application developers, language bindings are included for C, C++ and
155 Python as well as GUI widgets for GTK and Qt.")
156 (home-page "https://github.com/mchehab/zbar")
157 (license license:lgpl2.1+)))
158
159 (define-public qrcodegen-cpp
160 (package
161 (name "qrcodegen-cpp")
162 (version "1.6.0")
163 (source (origin
164 (method git-fetch)
165 (uri (git-reference
166 (url "https://github.com/nayuki/QR-Code-generator.git")
167 (commit (string-append "v" version))))
168 (file-name (git-file-name name version))
169 (patches (search-patches "qrcodegen-cpp-make-install.patch"))
170 (sha256
171 (base32
172 "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql"))))
173 (build-system gnu-build-system)
174 (arguments
175 `(#:tests? #f ; no test suite
176 #:make-flags
177 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
178 #:phases
179 (modify-phases %standard-phases
180 (delete 'configure) ; No ./configure script
181 ;; Only build the C++ variant.
182 (add-after 'unpack 'chdir
183 (lambda _
184 (chdir "cpp")
185 #t)))))
186 (synopsis "QR Code generator library")
187 (description "qrcodegen-cpp is a QR code generator library in C++. The
188 project also offers Java, Javascript, Python, C, and Rust implementations.")
189 (home-page "https://www.nayuki.io/page/qr-code-generator-library")
190 (license license:expat)))