gnu: rust-percent-encoding-2: Update to 2.2.0.
[jackhill/guix/guix.git] / gnu / packages / aidc.scm
CommitLineData
091befba
JD
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 John Darringon <jmd@gnu.org>
bdc72870 3;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
7ade8022 4;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
44502843 5;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
7293e3db 6;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
d41e25c0 7;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
091befba
JD
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)
7b6d522a 26 #:use-module (guix gexp)
b5b73a82 27 #:use-module ((guix licenses) #:prefix license:)
091befba
JD
28 #:use-module (guix packages)
29 #:use-module (guix download)
b9a807b7
TGR
30 #:use-module (guix git-download)
31 #:use-module (gnu packages autotools)
9068eb16 32 #:use-module (gnu packages check)
7293e3db 33 #:use-module (gnu packages imagemagick)
28c1c946 34 #:use-module (gnu packages gettext)
7293e3db
GLV
35 #:use-module (gnu packages glib)
36 #:use-module (gnu packages gtk)
20b1d19e 37 #:use-module (gnu packages image)
28c1c946 38 #:use-module (gnu packages perl)
7293e3db
GLV
39 #:use-module (gnu packages pkg-config)
40 #:use-module (gnu packages python)
41 #:use-module (gnu packages python-xyz)
222b4618 42 #:use-module (gnu packages pretty-print)
7293e3db
GLV
43 #:use-module (gnu packages qt)
44 #:use-module (gnu packages video)
9068eb16 45 #:use-module (guix build-system cmake)
091befba
JD
46 #:use-module (guix build-system gnu))
47
9068eb16 48(define-public zxing-cpp
222b4618
MC
49 ;; Use the master branch as it includes unreleased build system improvements
50 ;; allowing to use system libraries (instead of attempting to fetch them
51 ;; from the Internet).
52 (let ((revision "0")
53 (commit "00783db7aa3bcf8620a301854ac71c0ceaaca0c1"))
54 (package
55 (name "zxing-cpp")
56 (version (git-version "1.2.0" revision commit))
57 (source (origin
58 (method git-fetch)
59 (uri (git-reference
60 (url "https://github.com/nu-book/zxing-cpp")
61 (commit commit)))
62 (file-name (git-file-name name version))
63 (sha256
64 (base32
65 "1yl2cpaqiv1g4nq9v0xfj1vd5faz55k4541vz6hsffvcxgn9nmc5"))))
66 (build-system cmake-build-system)
67 (native-inputs
8394619b 68 (list fmt googletest))
222b4618
MC
69 (synopsis "C++ port of ZXing")
70 (description "ZXing-CPP is a barcode scanning library.")
71 (home-page "https://github.com/nu-book/zxing-cpp")
72 (license license:asl2.0))))
73
74;;; This older variant is kept for gst-plugins-bad (see:
75;;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1684).
76(define-public zxing-cpp-1.2
77 (package/inherit zxing-cpp
9068eb16 78 (name "zxing-cpp")
222b4618
MC
79 (version "1.2.0")
80 (source (origin
81 (method git-fetch)
82 (uri (git-reference
83 (url "https://github.com/nu-book/zxing-cpp")
84 (commit (string-append "v" version))))
85 (file-name (git-file-name name version))
86 (sha256
87 (base32
88 "1gjj9c7h634rrmmgzbc7cxjqsxdq0paj6113k02ncjm1s9abk7ik"))))
89 ;; Disable tests to avoid bundled dependencies.
90 (arguments '(#:tests? #f
91 #:configure-flags '("-DBUILD_BLACKBOX_TESTS=OFF")))
92 (native-inputs '())))
091befba
JD
93
94(define-public barcode
95 (package
96 (name "barcode")
97 (version "0.99")
98 (source (origin
99 (method url-fetch)
100 (uri (string-append "mirror://gnu/barcode/barcode-"
a124bbd2
SB
101 version ".tar.xz"))
102 (sha256
103 (base32
104 "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"))))
091befba 105 (build-system gnu-build-system)
cfcfda54
LF
106 (arguments
107 ;; Fix build with GCC 10.
108 '(#:configure-flags '("CFLAGS=-fcommon")))
091befba
JD
109 (synopsis "Convert text strings to printed bars in various standards")
110 (description "GNU Barcode is a flexible tool to produce printed barcodes
111from text strings. It supports a variety of encoding standards and sizing
112measurements. Barcodes can be output in PostScript or Encapsulated PostScript
113formats.")
114 (license license:gpl3+)
6fd52309 115 (home-page "https://www.gnu.org/software/barcode/")))
51d3dcea
JD
116
117(define-public qrencode
118 (package
119 (name "qrencode")
bdc72870 120 (version "4.1.1")
51d3dcea
JD
121 (source (origin
122 (method url-fetch)
bdc72870
EF
123 (uri (string-append "https://fukuchi.org/works/qrencode/"
124 "qrencode-" version ".tar.bz2"))
1486d67e
EF
125 (sha256
126 (base32
bdc72870 127 "08v9d8jn26bva2a8x4hghq3mgl8zcid393iqkidwyhc05xrxjmg4"))))
51d3dcea 128 (build-system gnu-build-system)
414fc58c
EF
129 (arguments
130 `(#:configure-flags '("--with-tests")
131 #:phases
132 (modify-phases %standard-phases
133 (replace 'check
134 (lambda* (#:key tests? #:allow-other-keys)
135 (when tests?
136 (with-directory-excursion "tests"
137 (invoke "./test_basic.sh")))
138 #t)))))
8394619b
LC
139 (inputs (list libpng))
140 (native-inputs (list pkg-config))
51d3dcea
JD
141 (synopsis "Encode data into a QR Code symbol")
142 (description "Libqrencode is a C library for encoding data in a QR Code
143symbol, a kind of 2D symbology that can be scanned by handy terminals such as
35b9e423 144a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
51d3dcea
JD
145characters, and is highly robust.")
146 (license license:lgpl2.1+)
1486d67e 147 (home-page "https://fukuchi.org/works/qrencode")))
7ade8022
HG
148
149(define-public libdmtx
150 (package
151 (name "libdmtx")
44502843 152 (version "0.7.7")
7ade8022
HG
153 (source
154 (origin
b9a807b7
TGR
155 (method git-fetch)
156 (uri (git-reference
b0e7b699 157 (url "https://github.com/dmtx/libdmtx")
b9a807b7
TGR
158 (commit (string-append "v" version))))
159 (file-name (git-file-name name version))
7ade8022 160 (sha256
44502843 161 (base32 "0s95gplvb6x7gnl48yn7ywa9r15lfm8k2m60wm9i7w75ay4bq32i"))))
7ade8022 162 (build-system gnu-build-system)
7b6d522a
TGR
163 (arguments
164 (list #:configure-flags
165 #~(list "--disable-static")))
7ade8022 166 (native-inputs
8394619b 167 (list autoconf automake libtool pkg-config))
b9a807b7 168 (home-page "https://github.com/dmtx")
7ade8022 169 (synopsis "Library for reading and writing Data Matrix 2D barcodes")
5a80c15c 170 (description "libdmtx is software for reading and writing Data Matrix 2D
0e249bde 171barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
5a80c15c 172C/C++ programs to use its capabilities without restrictions or overhead.")
7ade8022 173 (license license:bsd-3)))
7293e3db
GLV
174
175(define-public zbar
176 (package
177 (name "zbar")
28c1c946 178 (version "0.23.90")
7293e3db
GLV
179 (source
180 (origin
28c1c946
RG
181 (method git-fetch)
182 (uri
183 (git-reference
184 (url "https://github.com/mchehab/zbar")
185 (commit version)))
186 (file-name (git-file-name name version))
7293e3db
GLV
187 (sha256
188 (base32
28c1c946 189 "0rf3i7lx0fqzxsngird6l4d4dnl612nr32rm8sib699qqx67px8n"))))
7293e3db
GLV
190 (build-system gnu-build-system)
191 (arguments
192 '(#:configure-flags (list "--with-gtk=auto"
193 "--with-python=auto"
194 (string-append "--with-dbusconfdir="
195 (assoc-ref %outputs "out")
0fe041bd 196 "/etc"))))
7293e3db 197 (native-inputs
28c1c946
RG
198 `(("autoconf" ,autoconf)
199 ("automake" ,automake)
200 ("gettext" ,gettext-minimal)
201 ("glib" ,glib "bin")
202 ("gobject-introspection" ,gobject-introspection)
203 ("libtool" ,libtool)
204 ("pkg-config" ,pkg-config)
205 ("python-wrapper" ,python-wrapper)))
7293e3db 206 (inputs
28c1c946 207 `(("dbus" ,dbus)
7293e3db
GLV
208 ("imagemagick" ,imagemagick)
209 ("libjpeg" ,libjpeg-turbo)
28c1c946 210 ("perl" ,perl)
7293e3db 211 ("python" ,python)
7293e3db
GLV
212 ("qtx11extras" ,qtx11extras)
213 ("v4l-utils" ,v4l-utils)))
28c1c946
RG
214 (propagated-inputs
215 ;; These are in 'requires' field of .pc files.
8394619b 216 (list glib gtk+ qtbase-5))
7293e3db
GLV
217 (synopsis "Bar code reader")
218 (description
219 "ZBar can read barcodes from various sources, such as video streams,
220image files, and raw intensity sensors. It supports EAN-13/UPC-A, UPC-E,
221EAN-8, Code 128, Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ
222Code. Included with the library are basic applications for decoding captured
223bar code images and using a video device (e.g. webcam) as a bar code scanner.
224For application developers, language bindings are included for C, C++ and
225Python as well as GUI widgets for GTK and Qt.")
226 (home-page "https://github.com/mchehab/zbar")
227 (license license:lgpl2.1+)))
d41e25c0
LF
228
229(define-public qrcodegen-cpp
cac674d9
EF
230 (package
231 (name "qrcodegen-cpp")
232 (version "1.6.0")
233 (source (origin
234 (method git-fetch)
235 (uri (git-reference
b0e7b699 236 (url "https://github.com/nayuki/QR-Code-generator")
cac674d9
EF
237 (commit (string-append "v" version))))
238 (file-name (git-file-name name version))
239 (patches (search-patches "qrcodegen-cpp-make-install.patch"))
240 (sha256
241 (base32
242 "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql"))))
243 (build-system gnu-build-system)
244 (arguments
245 `(#:tests? #f ; no test suite
246 #:make-flags
247 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
248 #:phases
249 (modify-phases %standard-phases
250 (delete 'configure) ; No ./configure script
251 ;; Only build the C++ variant.
252 (add-after 'unpack 'chdir
253 (lambda _
254 (chdir "cpp")
255 #t)))))
256 (synopsis "QR Code generator library")
257 (description "qrcodegen-cpp is a QR code generator library in C++. The
d41e25c0 258project also offers Java, Javascript, Python, C, and Rust implementations.")
cac674d9
EF
259 (home-page "https://www.nayuki.io/page/qr-code-generator-library")
260 (license license:expat)))