projects/guix·blob java-team · refs

415 lines · 15.8 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2025 Lilah Tascheter <[email protected]>
3;;; Copyright © 2025 jgart <[email protected]>
4;;; Copyright © 2026 Nemin <[email protected]>
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages hare-xyz)
22 #:use-module (gnu packages build-tools)
23 #:use-module (gnu packages glib)
24 #:use-module (gnu packages gnome)
25 #:use-module (gnu packages gtk)
26 #:use-module (gnu packages hare-apps)
27 #:use-module (guix build-system hare)
28 #:use-module (guix download)
29 #:use-module (guix gexp)
30 #:use-module (guix git-download)
31 #:use-module ((guix licenses) #:prefix license:)
32 #:use-module (guix packages))
33
34(define-public hare-compress
35 (package
36 (name "hare-compress")
37 (version "0.25.2.0")
38 (source
39 (origin
40 (method git-fetch)
41 (uri (git-reference
42 (url "https://git.sr.ht/~sircmpwn/hare-compress")
43 (commit version)))
44 (file-name (git-file-name name version))
45 (sha256
46 (base32 "0iwfqaaiin0zi97fi7p0p1v42lf78yf6cpyakpjhyyfhgk3bm4mk"))))
47 (build-system hare-build-system)
48 (supported-systems %hare-supported-systems)
49 (home-page "https://sr.ht/~sircmpwn/hare-compress")
50 (synopsis "Compression algorithms for Hare")
51 (description "This package provides compression algorithms for Hare.")
52 (license license:mpl2.0)))
53
54(define-public hare-ev
55 (package
56 (name "hare-ev")
57 (version "0.26.0.0")
58 (source
59 (origin
60 (method git-fetch)
61 (uri (git-reference
62 (url "https://git.sr.ht/~sircmpwn/hare-ev")
63 (commit version)))
64 (file-name (git-file-name name version))
65 (sha256
66 (base32 "1rw6s1jnv9j7wi521pimv17hwmj5ay0vl5f8z54sdqw51z1ss5qa"))))
67 (build-system hare-build-system)
68 (supported-systems %hare-supported-systems)
69 (home-page "https://sr.ht/~sircmpwn/hare-ev")
70 (synopsis "Event loop for Hare")
71 (description "This package provides an event loop for Hare programs.")
72 (license license:mpl2.0)))
73
74(define-public hare-json
75 (package
76 (name "hare-json")
77 (version "0.26.0.0")
78 (source
79 (origin
80 (method git-fetch)
81 (uri (git-reference
82 (url "https://git.sr.ht/~sircmpwn/hare-json")
83 (commit version)))
84 (file-name (git-file-name name version))
85 (sha256
86 (base32 "1qzxp3lj7wxqyf67aw8jddmldcbrnjal42znwk6arhc5078za15w"))))
87 (build-system hare-build-system)
88 (supported-systems %hare-supported-systems)
89 (home-page "https://sr.ht/~sircmpwn/hare-json")
90 (synopsis "JSON support for Hare")
91 (description "This package provides JSON support for Hare.")
92 (license license:mpl2.0)))
93
94(define-public hare-lex
95 (package
96 (name "hare-lex")
97 (version "0.26.0.0")
98 (source
99 (origin
100 (method git-fetch)
101 (uri (git-reference
102 (url "https://git.sr.ht/~stacyharper/hare-lex")
103 (commit version)))
104 (file-name (git-file-name name version))
105 (sha256
106 (base32 "1ps7byn8kdkfj8drxlmpc8dqzfbrvkpjqz7af4k2cmmg7k0y0rkl"))))
107 (native-inputs (list haredo))
108 (build-system hare-build-system)
109 (supported-systems %hare-supported-systems)
110 (arguments
111 (list
112 #:phases
113 #~(modify-phases %standard-phases
114 (delete 'build)
115 (replace 'check
116 (lambda* (#:key tests? #:allow-other-keys)
117 (when tests?
118 (invoke "haredo" "check"))))
119 (add-before 'install 'substitute-vars
120 (lambda _
121 (substitute* "./install.do"
122 (("PREFIX=.*") (format #f "PREFIX=\"~a\"~%" #$output))
123 (("SRCDIR=.*") (format #f "SRCDIR=\"~a/share/hare\"~%" #$output))
124 (("HARESRCDIR=.*") (format #f "HARESRC=\"~a/share/hare\"~%" #$output))
125 (("THIRDPARTYDIR=.*") (format #f "THIRDPARTYDIR=\"~a/share/hare\"~%" #$output)))))
126 (replace 'install
127 (lambda _
128 (setenv "PREFIX" #$output)
129 (invoke "haredo" "install"))))))
130 (home-page "https://git.sr.ht/~stacyharper/hare-lex")
131 (synopsis "General purpose lexical tokenization machinery for Hare")
132 (description "This module provides a general purpose lexer machine for Hare.")
133 (license license:mpl2.0)))
134
135(define-public hare-irc
136 (package
137 (name "hare-irc")
138 (version "0.25.2.0")
139 (source
140 (origin
141 (method git-fetch)
142 (uri (git-reference
143 (url "https://git.sr.ht/~sircmpwn/hare-irc")
144 (commit version)))
145 (file-name (git-file-name name version))
146 (sha256
147 (base32 "0ani8prdwjsfh8iqn5kfmkiim9ihl8dvbr28g69c037f6gbdb08v"))))
148 (build-system hare-build-system)
149 (supported-systems %hare-supported-systems)
150 (home-page "https://sr.ht/~sircmpwn/hare-irc")
151 (synopsis "IRC client protocol implementation for Hare")
152 (description "This package provides an implementation of the IRC client
153protocol for Hare programs, based on the @url{ircdocs.horse} specifications.")
154 (license license:mpl2.0)))
155
156(define-public hare-scfg
157 (package
158 (name "hare-scfg")
159 (version "0.25.2")
160 (source
161 (origin
162 (method git-fetch)
163 (uri (git-reference
164 (url "https://git.sr.ht/~chrisppy/hare-scfg")
165 (commit version)))
166 (file-name (git-file-name name version))
167 (sha256
168 (base32 "1nj9gqvnvmwh3j39rj1h856p5qzghv5in01rxi4x74mqirl5q2ch"))))
169 (build-system hare-build-system)
170 (supported-systems %hare-supported-systems)
171 (home-page "https://git.sr.ht/~chrisppy/hare-scfg")
172 (synopsis "Hare library for a simple configuration file format")
173 (description "This package provides a Hare library for parsing
174@uref{https://git.sr.ht/~emersion/scfg, scfg}, a simple configuration file
175format with one directive per line.")
176 (license license:mpl2.0)))
177
178(define-public hare-ssh
179 (package
180 (name "hare-ssh")
181 (version "0.26.0")
182 (source (origin
183 (method git-fetch)
184 (uri (git-reference
185 (url "https://git.sr.ht/~sircmpwn/hare-ssh")
186 (commit version)))
187 (file-name (git-file-name name version))
188 (sha256
189 (base32
190 "1y7c7j60p393yiba3nq8yzlkx5gb1996gq9s32n3467zdvrdihws"))))
191 (build-system hare-build-system)
192 (supported-systems %hare-supported-systems)
193 (home-page "https://sr.ht/~sircmpwn/hare-ssh")
194 (synopsis "SSH library for Hare")
195 (description "This package is an implementation of the SSH client, server,
196and agent protocols in pure Hare.")
197 (license license:mpl2.0)))
198
199(define-public hare-streams
200 (package
201 (name "hare-streams")
202 (version "0.26.0.1")
203 (source
204 (origin
205 (method git-fetch)
206 (uri (git-reference
207 (url "https://git.sr.ht/~stacyharper/hare-streams")
208 (commit version)))
209 (file-name (git-file-name name version))
210 (sha256
211 (base32 "0z3k8n4y06x7121bciq0g1d7mqdna2cllvs8vjxyyf420kmk8ar7"))))
212 (native-inputs (list haredo))
213 (build-system hare-build-system)
214 (supported-systems %hare-supported-systems)
215 (arguments
216 (list
217 #:phases
218 #~(modify-phases %standard-phases
219 (delete 'build)
220 (replace 'check
221 (lambda* (#:key tests? #:allow-other-keys)
222 (when tests?
223 (invoke "haredo" "check"))))
224 (add-before 'install 'substitute-vars
225 (lambda _
226 (substitute* "./install.do"
227 (("PREFIX=.*") (format #f "PREFIX=\"~a\"~%" #$output))
228 (("SRCDIR=.*") (format #f "SRCDIR=\"~a/share/hare\"~%" #$output))
229 (("HARESRCDIR=.*") (format #f "HARESRC=\"~a/share/hare\"~%" #$output))
230 (("THIRDPARTYDIR=.*")
231 (format #f "THIRDPARTYDIR=\"~a/share/hare\"~%" #$output)))))
232 (replace 'install
233 (lambda _
234 (setenv "PREFIX" #$output)
235 (invoke "haredo" "install"))))))
236 (home-page "https://git.sr.ht/~stacyharper/hare-streams")
237 (synopsis "General purpose stream toolsuite")
238 (description "This toolsuite provides different stream implementations,
239for general purpose.")
240 (license license:mpl2.0)))
241
242(define-public hare-template
243 (package
244 (name "hare-template")
245 (version "0.26.0.0")
246 (source
247 (origin
248 (method git-fetch)
249 (uri (git-reference
250 (url "https://git.sr.ht/~stacyharper/hare-template")
251 (commit version)))
252 (file-name (git-file-name name version))
253 (sha256
254 (base32 "06flrjrzjhf8rh3h4y73nv9lnqhkj0j7yw60qv7k9zajpsbnrkn4"))))
255 (build-system hare-build-system)
256 (native-inputs (list haredo))
257 (propagated-inputs (list hare-lex))
258 (supported-systems %hare-supported-systems)
259 (arguments
260 (list
261 #:modules '((ice-9 match)
262 (guix build hare-build-system)
263 (guix build utils))
264 #:tests? #f
265 #:phases
266 #~(modify-phases %standard-phases
267 (add-before 'build 'substitute-vars
268 (lambda _
269 (substitute* "./install.do"
270 (("PREFIX=.*") (format #f "PREFIX=\"~a\"~%" #$output))
271 (("SRCDIR=.*") (format #f "SRCDIR=\"~a/share/hare\"~%" #$output))
272 (("HARESRCDIR=.*") (format #f "HARESRC=\"~a/share/hare\"~%" #$output))
273 (("THIRDPARTYDIR=.*") (format #f "THIRDPARTYDIR=\"~a/share/hare\"~%" #$output)))))
274 (replace 'build
275 (lambda _ (invoke "haredo" "hare-gentmpl")))
276 (replace 'install
277 (lambda _ (invoke "haredo" "install"))))))
278 (home-page "https://git.sr.ht/~stacyharper/hare-template")
279 (synopsis "Templating tool and library for Hare")
280 (description "This package aims to offer a good and simple templating
281system for Hare, using code generation.")
282 (license license:mpl2.0)))
283
284(define-public hare-gi
285 (package
286 (name "hare-gi")
287 (version "0.1.0")
288 (source (origin
289 (method git-fetch)
290 (uri (git-reference
291 (url "https://git.sr.ht/~yerinalexey/hare-gi")
292 (commit version)))
293 (file-name (git-file-name name version))
294 (sha256
295 (base32
296 "1vizzaf81fb5fwggw2jh55nkdj8q0cwvwwssj1hj5rby86smml1g"))))
297 (build-system hare-build-system)
298 (arguments
299 (list #:tests? #f ; no tests
300 #:make-flags ''("hare-gi")
301 #:phases
302 #~(modify-phases %standard-phases
303 (add-before 'build 'patch-scripts
304 (lambda* (#:key inputs #:allow-other-keys)
305 (map (lambda (file)
306 (substitute* file
307 (("/usr/(share/gir-1.0/[^ ]*\\.gir)" _ name)
308 (search-input-file inputs name))))
309 '("scripts/generate-gtk3" "scripts/generate-gtk4"))))
310 (add-after 'patch-scripts 'build-scripts
311 (lambda _
312 ;; hare-gi is used in generation scripts, so we have to
313 ;; always build it natively, then later rebuild it.
314 (invoke "make" ".gen")
315 (when (file-exists? "hare-gi") (delete-file "hare-gi"))))
316 ;; needed to prevent rebuilds during install
317 (add-after 'build 'touch-build
318 (lambda _ (close-port (open-output-file ".gen")))))))
319 ;; All possible inputs are needed to generate the bindings from the GObject
320 ;; Introspection files.
321 (propagated-inputs (list at-spi2-core gdk-pixbuf glib gobject-introspection
322 graphene gtk gtk+ harfbuzz pango))
323 (supported-systems %hare-supported-systems)
324 (outputs '("out" "bin"))
325 (home-page "https://sr.ht/~yerinalexey/hare-gi")
326 (synopsis "GTK library Hare binding generator")
327 (description "hare-gi is a binding generator for GTK libraries, based on
328GObject Introspection development files. This package includes both the
329binding generator binary, as well as bindings for several common libraries,
330including GTK3, GTK4, and GLib.")
331 (license license:mpl2.0)))
332
333(define-public hare-adwaita
334 (package
335 (name "hare-adwaita")
336 (version "0.1.0")
337 (source (origin
338 (method git-fetch)
339 (uri (git-reference
340 (url "https://git.sr.ht/~sircmpwn/hare-adwaita")
341 (commit version)))
342 (file-name (git-file-name name version))
343 (sha256
344 (base32
345 "07j204v0dml967jz0mfdz9d37dm86qhfgpprn66nagpphq3fay8k"))))
346 (build-system hare-build-system)
347 (arguments
348 (list #:tests? #f ; no tests
349 #:phases
350 #~(modify-phases %standard-phases
351 (add-before 'build 'patch-scripts
352 (lambda* (#:key inputs #:allow-other-keys)
353 (substitute* "scripts/generate"
354 (("/usr/(share/gir-1.0/[^ ]*\\.gir)" _ name)
355 (search-input-file inputs name))))))))
356 (propagated-inputs (list libadwaita))
357 (native-inputs `((,hare-gi "bin")))
358 (supported-systems %hare-supported-systems)
359 (home-page "https://git.sr.ht/~sircmpwn/hare-adwaita")
360 (synopsis "Adwaita bindings for Hare")
361 (description "This package is a set of libadwaita bindings for the Hare
362language.")
363 (license license:mpl2.0)))
364
365(define-public hare-gtk4-layer-shell
366 (package
367 (name "hare-gtk4-layer-shell")
368 (version "0.1.0")
369 (source (origin
370 (method git-fetch)
371 (uri (git-reference
372 (url "https://git.sr.ht/~sircmpwn/hare-gtk4-layer-shell")
373 (commit version)))
374 (file-name (git-file-name name version))
375 (sha256
376 (base32
377 "1y52vjz1j4v615wi6n1yjapw9r3plwh67lcg45sa778rv5316vfz"))))
378 (build-system hare-build-system)
379 (arguments
380 (list #:tests? #f ; no tests
381 #:phases
382 #~(modify-phases %standard-phases
383 (add-before 'build 'patch-scripts
384 (lambda* (#:key inputs #:allow-other-keys)
385 (substitute* "scripts/generate"
386 (("/usr/(share/gir-1.0/[^ ]*\\.gir)" _ name)
387 (search-input-file inputs name))))))))
388 (propagated-inputs (list gtk4-layer-shell))
389 (native-inputs `((,hare-gi "bin")))
390 (supported-systems %hare-supported-systems)
391 (home-page "https://git.sr.ht/~sircmpwn/hare-gtk4-layer-shell")
392 (synopsis "GTK layer-shell bindings for Hare")
393 (description "This package is a set of gtk-layer-shell bindings for the Hare
394language.")
395 (license license:mpl2.0)))
396
397(define-public hare-xml
398 (package
399 (name "hare-xml")
400 (version "0.25.2.0")
401 (source
402 (origin
403 (method git-fetch)
404 (uri (git-reference
405 (url "https://git.sr.ht/~sircmpwn/hare-xml")
406 (commit version)))
407 (file-name (git-file-name name version))
408 (sha256
409 (base32 "1h216z59piz1g7a0iiy1qic1wj8lbajw3mw5zw9nid0bz2vx81b0"))))
410 (build-system hare-build-system)
411 (supported-systems %hare-supported-systems)
412 (home-page "https://git.sr.ht/~sircmpwn/hare-xml")
413 (synopsis "XML support for Hare")
414 (description "This package provides XML support for Hare.")
415 (license license:mpl2.0)))