gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].
[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>
b9a807b7 5;;; Copyright © 2018, 2019 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)
b5b73a82 26 #:use-module ((guix licenses) #:prefix license:)
091befba
JD
27 #:use-module (guix packages)
28 #:use-module (guix download)
b9a807b7
TGR
29 #:use-module (guix git-download)
30 #:use-module (gnu packages autotools)
9068eb16 31 #:use-module (gnu packages check)
7293e3db
GLV
32 #:use-module (gnu packages imagemagick)
33 #:use-module (gnu packages glib)
34 #:use-module (gnu packages gtk)
20b1d19e 35 #:use-module (gnu packages image)
7293e3db
GLV
36 #:use-module (gnu packages pkg-config)
37 #:use-module (gnu packages python)
38 #:use-module (gnu packages python-xyz)
39 #:use-module (gnu packages qt)
40 #:use-module (gnu packages video)
9068eb16 41 #:use-module (guix build-system cmake)
091befba
JD
42 #:use-module (guix build-system gnu))
43
9068eb16
RG
44(define-public zxing-cpp
45 (package
46 (name "zxing-cpp")
47 (version "1.0.8")
48 (source
49 (origin
50 (method git-fetch)
51 (uri
52 (git-reference
8ed4c468 53 (url "https://github.com/nu-book/zxing-cpp")
9068eb16
RG
54 (commit (string-append "v" version))))
55 (file-name (git-file-name name version))
56 (sha256
57 (base32 "011sq8wcjfxbnd8sj6bf2fgkamlp8gj6q835g61c952npvwsnl71"))))
58 (native-inputs
59 `(("googletest-source" ,(package-source googletest))))
60 (build-system cmake-build-system)
61 (arguments
62 `(#:out-of-source? #f
63 #:phases
64 (modify-phases %standard-phases
65 (add-after 'unpack 'unpack-googletest
66 ;; Copy the googletest sources to where the CMake build expects them.
67 (lambda* (#:key inputs #:allow-other-keys)
68 (let ((source (assoc-ref inputs "googletest-source"))
69 (target "test/unit/googletest-src"))
70 (mkdir-p target)
71 (copy-recursively source target)
72 ;; Disable downloading via ExternalProject.
73 (substitute* "test/unit/CMakeLists.txt.in"
74 (("ExternalProject_Add\\(") "message("))
75 #t)))
76 (replace 'check
77 (lambda _
78 (with-directory-excursion "test/unit"
79 (invoke "cmake" ".")
80 (invoke "make")
81 (invoke "./ZXingUnitTest"))
82 #t)))))
83 (synopsis "C++ port of ZXing")
84 (description "ZXing-CPP is a barcode scanning library.")
85 (home-page "https://github.com/nu-book/zxing-cpp")
86 (license license:asl2.0)))
091befba
JD
87
88(define-public barcode
89 (package
90 (name "barcode")
91 (version "0.99")
92 (source (origin
93 (method url-fetch)
94 (uri (string-append "mirror://gnu/barcode/barcode-"
a124bbd2
SB
95 version ".tar.xz"))
96 (sha256
97 (base32
98 "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8"))))
091befba
JD
99 (build-system gnu-build-system)
100 (synopsis "Convert text strings to printed bars in various standards")
101 (description "GNU Barcode is a flexible tool to produce printed barcodes
102from text strings. It supports a variety of encoding standards and sizing
103measurements. Barcodes can be output in PostScript or Encapsulated PostScript
104formats.")
105 (license license:gpl3+)
6fd52309 106 (home-page "https://www.gnu.org/software/barcode/")))
51d3dcea
JD
107
108(define-public qrencode
109 (package
110 (name "qrencode")
bdc72870 111 (version "4.1.1")
51d3dcea
JD
112 (source (origin
113 (method url-fetch)
bdc72870
EF
114 (uri (string-append "https://fukuchi.org/works/qrencode/"
115 "qrencode-" version ".tar.bz2"))
1486d67e
EF
116 (sha256
117 (base32
bdc72870 118 "08v9d8jn26bva2a8x4hghq3mgl8zcid393iqkidwyhc05xrxjmg4"))))
51d3dcea 119 (build-system gnu-build-system)
414fc58c
EF
120 (arguments
121 `(#:configure-flags '("--with-tests")
122 #:phases
123 (modify-phases %standard-phases
124 (replace 'check
125 (lambda* (#:key tests? #:allow-other-keys)
126 (when tests?
127 (with-directory-excursion "tests"
128 (invoke "./test_basic.sh")))
129 #t)))))
51d3dcea
JD
130 (inputs `(("libpng" ,libpng)))
131 (native-inputs `(("pkg-config" ,pkg-config)))
132 (synopsis "Encode data into a QR Code symbol")
133 (description "Libqrencode is a C library for encoding data in a QR Code
134symbol, a kind of 2D symbology that can be scanned by handy terminals such as
35b9e423 135a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
51d3dcea
JD
136characters, and is highly robust.")
137 (license license:lgpl2.1+)
1486d67e 138 (home-page "https://fukuchi.org/works/qrencode")))
7ade8022
HG
139
140(define-public libdmtx
141 (package
142 (name "libdmtx")
b9a807b7 143 (version "0.7.5")
7ade8022
HG
144 (source
145 (origin
b9a807b7
TGR
146 (method git-fetch)
147 (uri (git-reference
b0e7b699 148 (url "https://github.com/dmtx/libdmtx")
b9a807b7
TGR
149 (commit (string-append "v" version))))
150 (file-name (git-file-name name version))
7ade8022 151 (sha256
b9a807b7 152 (base32 "0wk3fkxzf9ip75v8ia54v6ywx72ajp5s6777j4ay8barpbv869rj"))))
7ade8022 153 (build-system gnu-build-system)
b9a807b7
TGR
154 (arguments
155 ;; XXX Test suite is broken: https://github.com/dmtx/libdmtx/issues/22
156 `(#:tests? #f))
7ade8022 157 (native-inputs
b9a807b7
TGR
158 `(("autoconf" ,autoconf)
159 ("automake" ,automake)
160 ("libtool" ,libtool)
161 ("pkg-config" ,pkg-config)))
162 (home-page "https://github.com/dmtx")
7ade8022 163 (synopsis "Library for reading and writing Data Matrix 2D barcodes")
5a80c15c 164 (description "libdmtx is software for reading and writing Data Matrix 2D
0e249bde 165barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
5a80c15c 166C/C++ programs to use its capabilities without restrictions or overhead.")
7ade8022 167 (license license:bsd-3)))
7293e3db
GLV
168
169(define-public zbar
170 (package
171 (name "zbar")
172 (version "0.23")
173 (source
174 (origin
175 (method url-fetch)
176 (uri (string-append "https://linuxtv.org/downloads/zbar/zbar-"
177 version
178 ".tar.bz2"))
179 (sha256
180 (base32
181 "0bmd93a15qpgbsq9c9j33qms18rdrgz6gbc48zi6z9w5pvrvi7z9"))))
182 (build-system gnu-build-system)
183 (arguments
184 '(#:configure-flags (list "--with-gtk=auto"
185 "--with-python=auto"
186 (string-append "--with-dbusconfdir="
187 (assoc-ref %outputs "out")
0fe041bd 188 "/etc"))))
7293e3db
GLV
189 (native-inputs
190 `(("glib" ,glib "bin")
191 ("pkg-config" ,pkg-config)))
192 (inputs
193 `(("gobject-introspection" ,gobject-introspection)
194 ("gtk+" ,gtk+)
195 ("imagemagick" ,imagemagick)
196 ("libjpeg" ,libjpeg-turbo)
197 ("python" ,python)
198 ("qtbase" ,qtbase)
199 ("qtx11extras" ,qtx11extras)
200 ("v4l-utils" ,v4l-utils)))
201 (synopsis "Bar code reader")
202 (description
203 "ZBar can read barcodes from various sources, such as video streams,
204image files, and raw intensity sensors. It supports EAN-13/UPC-A, UPC-E,
205EAN-8, Code 128, Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ
206Code. Included with the library are basic applications for decoding captured
207bar code images and using a video device (e.g. webcam) as a bar code scanner.
208For application developers, language bindings are included for C, C++ and
209Python as well as GUI widgets for GTK and Qt.")
210 (home-page "https://github.com/mchehab/zbar")
211 (license license:lgpl2.1+)))
d41e25c0
LF
212
213(define-public qrcodegen-cpp
cac674d9
EF
214 (package
215 (name "qrcodegen-cpp")
216 (version "1.6.0")
217 (source (origin
218 (method git-fetch)
219 (uri (git-reference
b0e7b699 220 (url "https://github.com/nayuki/QR-Code-generator")
cac674d9
EF
221 (commit (string-append "v" version))))
222 (file-name (git-file-name name version))
223 (patches (search-patches "qrcodegen-cpp-make-install.patch"))
224 (sha256
225 (base32
226 "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql"))))
227 (build-system gnu-build-system)
228 (arguments
229 `(#:tests? #f ; no test suite
230 #:make-flags
231 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
232 #:phases
233 (modify-phases %standard-phases
234 (delete 'configure) ; No ./configure script
235 ;; Only build the C++ variant.
236 (add-after 'unpack 'chdir
237 (lambda _
238 (chdir "cpp")
239 #t)))))
240 (synopsis "QR Code generator library")
241 (description "qrcodegen-cpp is a QR code generator library in C++. The
d41e25c0 242project also offers Java, Javascript, Python, C, and Rust implementations.")
cac674d9
EF
243 (home-page "https://www.nayuki.io/page/qr-code-generator-library")
244 (license license:expat)))