summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/luanti.scm857
-rw-r--r--gnu/packages/minetest.scm807
3 files changed, 884 insertions, 781 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b97021d8cea..3694772946f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -470,6 +470,7 @@ GNU_SYSTEM_MODULES = \
470 %D%/packages/loko.scm \ 470 %D%/packages/loko.scm \
471 %D%/packages/lsof.scm \ 471 %D%/packages/lsof.scm \
472 %D%/packages/lua.scm \ 472 %D%/packages/lua.scm \
473 %D%/packages/luanti.scm \
473 %D%/packages/lxde.scm \ 474 %D%/packages/lxde.scm \
474 %D%/packages/lxqt.scm \ 475 %D%/packages/lxqt.scm \
475 %D%/packages/m4.scm \ 476 %D%/packages/m4.scm \
diff --git a/gnu/packages/luanti.scm b/gnu/packages/luanti.scm
new file mode 100644
index 00000000000..0294f862a6f
--- /dev/null
+++ b/gnu/packages/luanti.scm
@@ -0,0 +1,857 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu>
3;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
4;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
5;;; Copyright © 2015, 2019 Mark H Weaver <mhw@netris.org>
6;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
7;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
8;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
9;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
10;;; Copyright © 2020, 2021, 2022, 2025 Liliana Marie Prikler <liliana.prikler@gmail.com>
11;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
12;;; Copyright © 2024 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
13;;; This file is part of GNU Guix.
14;;;
15;;; GNU Guix is free software; you can redistribute it and/or modify it
16;;; under the terms of the GNU General Public License as published by
17;;; the Free Software Foundation; either version 3 of the License, or (at
18;;; your option) any later version.
19;;;
20;;; GNU Guix is distributed in the hope that it will be useful, but
21;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23;;; GNU General Public License for more details.
24;;;
25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27(define-module (gnu packages luanti)
28 #:use-module (gnu packages)
29 #:use-module (gnu packages audio)
30 #:use-module (gnu packages base)
31 #:use-module (gnu packages check)
32 #:use-module (gnu packages compression)
33 #:use-module (gnu packages curl)
34 #:use-module (gnu packages fontutils)
35 #:use-module (gnu packages gettext)
36 #:use-module (gnu packages gl)
37 #:use-module (gnu packages image)
38 #:use-module (gnu packages lua)
39 #:use-module (gnu packages multiprecision)
40 #:use-module (gnu packages ncurses)
41 #:use-module (gnu packages pkg-config)
42 #:use-module (gnu packages sdl)
43 #:use-module (gnu packages serialization)
44 #:use-module (gnu packages sqlite)
45 #:use-module (gnu packages xiph)
46 #:use-module (gnu packages xorg)
47 #:use-module (guix packages)
48 #:use-module (guix gexp)
49 #:use-module (guix git-download)
50 #:use-module (guix utils)
51 #:use-module (guix build-system cmake)
52 #:use-module (guix build-system copy)
53 #:use-module (guix build-system luanti)
54 #:use-module ((guix licenses) #:prefix license:))
55
56(define-public luanti
57 (package
58 (name "luanti")
59 (version "5.12.0")
60 (source
61 (origin
62 (method git-fetch)
63 (uri (git-reference
64 (url "https://github.com/luanti-org/luanti")
65 (commit version)))
66 (file-name (git-file-name name version))
67 (sha256
68 (base32 "1l8kwy23p3gpk12nnhhq1lp4v0zj6kiygnmia043pdinmgzzd0xy"))
69 (modules '((guix build utils)
70 (srfi srfi-26)
71 (ice-9 ftw)))
72 ;; Delete bundled libraries.
73 ;; - Keep lib/sha256 because there's no good upstream, see:
74 ;; https://github.com/openssl/openssl/blob/master/crypto/sha/sha512.c
75 ;; "SHA512 low level APIs are deprecated for public use,
76 ;; but still ok for internal use." Also asked MT devs on IRC for this.
77 ;; - tiniergltf is intended for Luanti and diverged from upstream.
78 (snippet
79 '(let ((keep '("." ".." "sha256" "tiniergltf")))
80 (with-directory-excursion "lib"
81 (for-each delete-file-recursively
82 (scandir "." (negate (cut member <> keep)))))
83 ;; IrrlichtMT includes
84 (delete-file-recursively "irr/include/KHR")
85 (delete-file-recursively "irr/src/vendor")
86 (substitute* "irr/src/COpenGLCommon.h"
87 (("\"vendor/gl.h\"") "<GL/gl.h>"))
88 ;; Catch2
89 (substitute* "CMakeLists.txt"
90 (("add_subdirectory\\(lib/catch2\\)") "find_package(Catch2 3 REQUIRED)"))
91 (substitute* "src/catch.h"
92 (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))
93 (substitute* "src/unittest/test_irr_rotation.cpp"
94 (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))
95 (substitute* "src/unittest/test_irr_matrix4.cpp"
96 (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))))))
97 (build-system cmake-build-system)
98 (arguments
99 (list
100 #:configure-flags
101 #~(list "-DENABLE_LTO=ON"
102 "-DENABLE_UPDATE_CHECKER=FALSE")
103 #:phases
104 #~(modify-phases %standard-phases
105 (delete 'check)
106 (add-after 'install 'check
107 (lambda* (#:key tests? #:allow-other-keys)
108 ;; Thanks to our substitutions, the tests should also run
109 ;; when invoked on the target outside of `guix build'.
110 (when tests?
111 (setenv "HOME" "/tmp")
112 (setenv "MINETEST_GAME_PATH"
113 (string-append (getcwd) "/../source/games"))
114 (invoke "../source/bin/luanti" "--run-unittests")
115 (invoke "../source/util/test_multiplayer.sh")))))))
116 (native-search-paths
117 (list (search-path-specification
118 (variable "MINETEST_GAME_PATH")
119 (files '("share/luanti/games")))
120 (search-path-specification
121 (variable "MINETEST_MOD_PATH")
122 (files '("share/luanti/mods")))))
123 (native-inputs (list catch2-3 pkg-config))
124 (inputs (list curl
125 freetype
126 gettext-minimal
127 gmp
128 jsoncpp
129 libjpeg-turbo
130 libpng
131 libogg
132 libvorbis
133 libxi
134 luajit
135 mesa
136 ncurses
137 openal
138 sdl2
139 sqlite
140 `(,zstd "lib")))
141 (outputs '("out" "debug"))
142 (synopsis "Voxel game engine")
143 (description
144 "Luanti is a voxel game engine that supports modding and game creation
145using its Lua modding API. It allows playing a wide range of voxel-based
146games, installing mods and texture packs. This package only provides the base
147platform, users need to install games themselves (for example,
148@code{luanti-game}), either through Guix, the built-in interface or other
149sources.")
150 (home-page "https://www.luanti.org/")
151 (license license:lgpl2.1+)))
152
153(define-public luanti-server
154 (package
155 (inherit luanti)
156 (name "luanti-server")
157 (arguments
158 (substitute-keyword-arguments (package-arguments luanti)
159 ((#:configure-flags configure-flags)
160 #~(cons* "-DBUILD_CLIENT=FALSE"
161 "-DBUILD_SERVER=TRUE"
162 #$configure-flags))
163 ((#:phases phases)
164 #~(modify-phases #$phases
165 (replace 'check
166 (lambda* (#:key tests? #:allow-other-keys)
167 (when tests?
168 (setenv "HOME" "/tmp")
169 (setenv "LUANTI_GAME_PATH"
170 (string-append (getcwd) "/../source/games"))
171 (invoke "../source/bin/luantiserver" "--run-unittests"))))))))
172 (inputs
173 (modify-inputs (package-inputs luanti)
174 (delete "libjpeg-turbo"
175 "libpng"
176 "libogg"
177 "libvorbis"
178 "libxxf86vm"
179 "mesa"
180 "openal")))
181 (synopsis "Infinite-world block sandbox game (server)")
182 (description
183 "Server for Luanti game engine and gaming platform. Allows hosting
184Luanti games with multiplayer support. This package provides
185@command{luantiserver} to run a Luanti server.")))
186
187(define-public minetest-game
188 (let ((commit "0351c6691595c6eb88a1bea2383f6fae46a686ce")
189 (revision "1"))
190 (package
191 (name "luanti-game")
192 (version (git-version "0.0.0" revision commit))
193 (source
194 (origin
195 (method git-fetch)
196 (uri (git-reference
197 (url "https://github.com/luanti-org/minetest_game")
198 (commit commit)))
199 (file-name (git-file-name name version))
200 (sha256
201 (base32 "13l33ghnm1g3ka0ivxljzdga50x0iv0fzyd7pqm15ickfbkwbm0v"))))
202 (build-system copy-build-system)
203 (arguments
204 (list
205 #:install-plan #~'(("." "/share/luanti/games/minetest_game"))))
206 (synopsis "Ex-official game for Luanti game engine")
207 (description
208 "This package provides the Minetest Game - a game for the
209Luanti game engine which used to be the official game for Luanti
210(formerly Minetest). It is currently in maintenance mode and gets no
211new features.")
212 (home-page "https://www.luanti.org/")
213 (license license:lgpl2.1+))))
214
215;; This package is deprecated. "Minetest Game" is no longer the official game.
216(define-public minetest-data
217 (deprecated-package "minetest-data" minetest-game))
218
219(define-public (luanti-topic topic-id)
220 "Return an URL (as a string) pointing to the forum topic with
221numeric identifier TOPIC-ID on the official Luanti forums."
222 (string-append "https://forum.luanti.net/viewtopic.php?t="
223 (number->string topic-id)))
224
225(define-public luanti-moreores
226 (package
227 (name "luanti-moreores")
228 (version "2.1.0")
229 (source
230 (origin
231 (method git-fetch)
232 (uri (git-reference
233 (url "https://github.com/minetest-mods/moreores")
234 (commit (string-append "v" version))))
235 (sha256 (base32 "1chfqbc6bb27aacjc67j5l5wcdvmcsvk2rfmangipd7nwini3y34"))
236 (file-name (git-file-name name version))))
237 (build-system luanti-mod-build-system)
238 (home-page (luanti-topic 549))
239 (synopsis "Additional ore types, tools, swords, and rails for Luanti")
240 (description
241 "This Luanti mod adds new ore types to the game (mithril, silver) as well
242as swords and tools made of different materials. It also adds copper rails.")
243 (license license:zlib)
244 (properties `((upstream-name . "Calinou/moreores")))))
245
246(define-public luanti-sound-api-core
247 (package
248 (name "luanti-sound-api-core")
249 ;; No tags, no releases. The author intended to let users use it as a
250 ;; submodules for other projects.
251 ;; https://github.com/mt-mods/basic_materials/issues/4
252 (version "2022-02-27")
253 (source
254 (origin
255 (method git-fetch)
256 (uri (git-reference
257 (url "https://github.com/mt-mods/sound_api_core")
258 (commit "6956e49e775f325116f8e0c643899c089c691e1e")))
259 (sha256
260 (base32 "1ys6g2skhkksa4cx9agxhsibj5js8z4y2q1ngis9ddr38p756pcy"))
261 (file-name (git-file-name name version))
262 (snippet
263 '(begin
264 (call-with-output-file "mod.conf"
265 (lambda (port)
266 (format port "\
267name = sound_api_core")))))))
268 (build-system luanti-mod-build-system)
269 (propagated-inputs '())
270 (home-page "https://github.com/mt-mods/sound_api_core")
271 (synopsis "Core for game agnostic sounds")
272 (description
273 "This library can be used to get some specific sounds, whatever the game.")
274 (license license:expat)))
275
276(define-public luanti-basic-materials
277 (package
278 (name "luanti-basic-materials")
279 ;; Upstream uses dates as version numbers.
280 (version "2022-03-28")
281 (source
282 (origin
283 (method git-fetch)
284 (uri (git-reference
285 (url "https://github.com/mt-mods/basic_materials")
286 (commit "9d55f9916d20779ecbf93c7e95dae8adebd2079b")))
287 (sha256
288 (base32 "0nzx5mdw26mk2by14hxyvbqckgz8k67vlh2ch30skssvh4984bjw"))
289 (file-name (git-file-name name version))
290 (snippet
291 '(begin
292 (use-modules (guix build utils))
293 (substitute* "mod.conf"
294 (("optional_depends =")
295 "depends = sound_api_core
296optional_depends ="))
297 (substitute* "nodes.lua"
298 (("basic_materials.modpath \\.\\. \"/sound_api_core/init.lua\"")
299 "minetest.get_modpath(\"sound_api_core\") .. \"/init.lua\""))))))
300 (build-system luanti-mod-build-system)
301 (propagated-inputs
302 ;; basic_materials:silver_wire cannot be crafted without
303 ;; moreores:silver_ingot.
304 (list luanti-moreores luanti-sound-api-core))
305 (home-page (luanti-topic 21000))
306 (synopsis "Some \"basic\" materials and items for other Luanti mods to use")
307 (description
308 "The Luanti mod \"basic_materials\" provides a small selection of
309\"basic\" materials and items that other mods should use when possible -- things
310like steel bars and chains, wire, plastic strips and sheets, and more.")
311 (license
312 (list license:cc-by-sa4.0 license:lgpl3))
313 (properties `((upstream-name . "VanessaE/basic_materials")))))
314
315(define-public luanti-coloredwood
316 (package
317 (name "luanti-coloredwood")
318 ;; Upstream uses dates as version numbers.
319 (version "2021-04-14-1")
320 (source
321 (origin
322 (method git-fetch)
323 (uri (git-reference
324 (url "https://gitlab.com/VanessaE/coloredwood")
325 (commit "be4df6fc889419155bed8638bbb752493e78cbd5")))
326 (sha256
327 (base32 "1swirfk6b4xfbiwv8adyw5yl2lyfpp8ymfipzq9ivyvmif8nl3ki"))
328 (file-name (git-file-name name version))))
329 (build-system luanti-mod-build-system)
330 (propagated-inputs
331 (list luanti-unifieddyes))
332 (home-page (luanti-topic 2411))
333 (synopsis "Painted wood in Luanti")
334 (description
335 "This Luanti mod provides hundreds of colours of wood and fences to
336Luanti, using Unified Dyes. If the \"moreblocks\" mod is active,
337coloured and cut wood shapes are provided as well.")
338 (license
339 ;; LGPL for code, CC-BY-SA for textures
340 (list license:cc-by-sa4.0 license:lgpl3))
341 (properties `((upstream-name . "VanessaE/coloredwood")))))
342
343(define-public luanti-ethereal
344 ;; ContentDB release 2021-07-28 is slightly ahead of the
345 ;; initial version 1.29 -- i.e., some released changes have been
346 ;; made to version 1.29 without a corresponding version bump.
347 (let ((commit "7670c1da9274901f57f6682384af2b3bae005a86")
348 (revision "0"))
349 (package
350 (name "luanti-ethereal")
351 (version (git-version "1.29" revision commit))
352 (source
353 (origin
354 (method git-fetch)
355 (uri (git-reference
356 (url "https://notabug.org/TenPlus1/ethereal")
357 (commit commit)))
358 (sha256
359 (base32 "1hal8bq4fydsip7s8rqz4vlaaqy9rhzxmryd0j2qnqm9286yjgkk"))
360 (file-name (git-file-name name version))))
361 (build-system luanti-mod-build-system)
362 (home-page (luanti-topic 14638))
363 (synopsis "The Ethereal mod adds many new biomes to Luanti")
364 (description
365 "The Ethereal Luanti mod uses the v7 map generator to add many new
366biomes to the world. It adds new trees, plants, food items, tweaks and some
367special items, intending to make an interesting adventure.")
368 ;; CC0: some textures
369 (license (list license:cc0 license:expat))
370 (properties `((upstream-name . "TenPlus1/ethereal"))))))
371
372(define-public luanti-homedecor-modpack
373 (package
374 (name "luanti-homedecor-modpack")
375 ;; Upstream doesn't tag releases, so use the release title from
376 ;; ContentDB as version.
377 (version "2022-05-18")
378 (source
379 (origin
380 (method git-fetch)
381 (uri (git-reference
382 (url "https://github.com/mt-mods/homedecor_modpack")
383 (commit "5ffdc26673169e05492141709fbb18e8fb6e5937")))
384 (sha256
385 (base32 "03pf254r3hnznklw7lf3q4rzqg0a1y4c9rjjhzssf1q7ai5pdrkn"))
386 (file-name (git-file-name name version))))
387 (build-system luanti-mod-build-system)
388 (propagated-inputs
389 (list luanti-basic-materials luanti-unifieddyes))
390 (home-page (luanti-topic 2041))
391 (synopsis "Home decor mod for Luanti")
392 (description
393 ;; TRANSLATORS: ‘homedecor’ is the name is the name of a Luanti mod
394 ;; and should not be translated.
395 "The homedecor Luanti mod provides a large seleection of items that
396might be found inside and around homes, such as sofas, chairs, tables, fences
397and a variety of other stuff.")
398 (license
399 (list license:cc-by-sa4.0 license:lgpl3))
400 (properties `((upstream-name . "VanessaE/homedecor_modpack")))))
401
402(define-public luanti-mesecons
403 ;; The release on ContentDB does not have its own version number.
404 (let ((commit "27c3c515b49af91c1dbc427f31a820722854eb24")
405 (revision "63"))
406 (package
407 (name "luanti-mesecons")
408 (version (git-version "1.2.1" revision commit))
409 (source
410 (origin
411 (method git-fetch)
412 (uri (git-reference
413 (url "https://github.com/minetest-mods/mesecons")
414 (commit commit)))
415 (sha256
416 (base32 "1l0kwjj8ns8hv6z520g6ph5swknar336dbi5qr3dfsy18ydk1j92"))
417 (file-name (git-file-name name version))))
418 (build-system luanti-mod-build-system)
419 (home-page "https://mesecons.net")
420 (synopsis
421 "Digital circuitry for Luanti, including wires, buttons and lights")
422 (description
423 "Mesecons is a mod for Luanti implementing various items related
424to digital circuitry, such as wires, buttons, lights and programmable
425controllers. Among other things, there are also pistons, solar panels,
426pressure plates and note blocks.
427
428Mesecons has a similar goal to Redstone in Minecraft, but works in its own way,
429with different rules and mechanics.")
430 ;; LGPL for code, CC-BY-SA for textures.
431 (license (list license:lgpl3 license:cc-by-sa3.0))
432 (properties `((upstream-name . "Jeija/mesecons"))))))
433
434(define-public luanti-mineclone
435 (package
436 (name "luanti-mineclone")
437 (version "0.80.1")
438 (source (origin
439 (method git-fetch)
440 (uri (git-reference
441 (url "https://git.minetest.land/MineClone2/MineClone2")
442 (commit version)))
443 (file-name (git-file-name name version))
444 (sha256
445 (base32
446 "0ndgzasjmj8397bb3y2aqalx9v72llwgvp9pv05mms3chpji2675"))))
447 (build-system copy-build-system)
448 (arguments
449 `(#:install-plan
450 '(("." "share/luanti/games/mineclone"))))
451 (synopsis "Minecraft clone based on Luanti engine")
452 (description
453 "MineClone is a Luanti subgame, that aims to recreate Minecraft as
454closely as the engine allows.")
455 (home-page "https://content.luanti.net/packages/Wuzzy/mineclone2/")
456 (license license:gpl3+)))
457
458(define-public luanti-mobs
459 (package
460 (name "luanti-mobs")
461 ;; Upstream does not tag release, so use the ContentDB release
462 ;; title instead.
463 (version "2021-12-12")
464 (source
465 (origin
466 (method git-fetch)
467 (uri (git-reference
468 (url "https://notabug.org/TenPlus1/mobs_redo")
469 (commit "6a4a02f3fbf1038c69e72aaafa52a1e7d6106da8")))
470 (sha256
471 (base32 "0vgv7jpm9v3dwq4l9jxdd5z14yq164w8kin1d05jfv3ck4hwlwvr"))
472 (file-name (git-file-name name version))))
473 (build-system luanti-mod-build-system)
474 (home-page (luanti-topic 9917))
475 (synopsis "Mob library for Luanti mods, for animals, monsters etc.")
476 (description
477 "This Luanti mod provides an API for adding mods (moving entities
478like animals and monsters), but does not include any mobs itself. To actually
479add some mobs, a mod like e.g. @code{mobs_animal} provided by the
480@code{luanti-mobs-animal} package needs to be enabled.")
481 ;; CC0: mob_swing.ogg
482 ;; CC-BY 3.0: mob_spell.ogg
483 ;; Expat: everything else
484 (license (list license:expat license:cc0 license:cc-by3.0))
485 (properties `((upstream-name . "TenPlus1/mobs")))))
486
487(define-public luanti-mobs-animal
488 (package
489 (name "luanti-mobs-animal")
490 ;; Upstream does not use version numbers, so use the release title
491 ;; from ContentDB instead;
492 (version "2021-11-14")
493 (source
494 (origin
495 (method git-fetch)
496 (uri (git-reference
497 (url "https://notabug.org/TenPlus1/mobs_animal")
498 (commit "3e15456bce7779aa0dc09a8890f7b5180c1ac771")))
499 (sha256
500 (base32 "08686mj3jh8fsziqp878jpaj5267s4n6i86dr1gnxyxbsrjraqpn"))
501 (file-name (git-file-name name version))))
502 (build-system luanti-mod-build-system)
503 (propagated-inputs
504 (list luanti-mobs))
505 (home-page "https://notabug.org/TenPlus1/mobs_animal")
506 (synopsis "Add animals to Luanti")
507 (description
508 "This Luanti mod adds various animals to Luanti, such as bees,
509bunnies, chickens, cows, kittens, rats, sheep, warthogs, penguins and pandas.")
510 ;; CC0: some textures and sounds
511 (license (list license:cc0 license:expat))
512 (properties `((upstream-name . "TenPlus1/mobs_animal")))))
513
514(define-public luanti-mobs-monster
515 (package
516 (name "luanti-mobs-monster")
517 ;; Upstream does not use version numbers, so use the release title
518 ;; from ContentDB instead;
519 (version "2022-12-10")
520 (source
521 (origin
522 (method git-fetch)
523 (uri (git-reference
524 (url "https://notabug.org/TenPlus1/mobs_monster")
525 (commit "1b197f9ae136179a764ef45824464b667ade52e6")))
526 (sha256
527 (base32 "15g8acrzvsiccxchfmgjhyf2lmkbrpdjqv3v7hmqz7xqypi8wm3h"))
528 (file-name (git-file-name name version))))
529 (build-system luanti-mod-build-system)
530 (propagated-inputs (list luanti-mobs))
531 (home-page "https://notabug.org/TenPlus1/mobs_monster")
532 (synopsis "Add monsters with Mobs Redo on luanti")
533 (description
534 "This Luanti mod adds many types of monsters to Luanti, that live on the
535surface or deep underground.")
536 (license license:expat)
537 (properties `((upstream-name . "TenPlus1/mobs_monster")))))
538
539(define-public luanti-pipeworks
540 (package
541 (name "luanti-pipeworks")
542 ;; Upstream uses dates as version numbers.
543 (version "2021-04-14-1")
544 (source
545 (origin
546 (method git-fetch)
547 (uri (git-reference
548 (url "https://gitlab.com/VanessaE/pipeworks")
549 (commit "db6d1bd9c109e1e543b97cc3fa8a11400da23bcd")))
550 (sha256
551 (base32 "1flhcnf17dn1v86kcg47a1n4cb0lybd11ncxrkxn3wmf10ibsrm0"))
552 (file-name (git-file-name name version))))
553 (build-system luanti-mod-build-system)
554 (propagated-inputs
555 (list luanti-basic-materials))
556 (home-page (luanti-topic 2155))
557 (synopsis "Pipes, item-transport tubes and related devices for Luanti")
558 (description
559 "Pipeworks is a mod for Luanti implementing 3D pipes and tubes for
560transporting liquids and items and some related devices. Pipes and tubes can
561go horizontally or vertically. Item tubes can also be used for sorting items
562and extracting items from chests or putting items in chests. Autocrafters can
563automatically follow craft recipes to make new items and can be fed by item
564tubes. Deployers can place items in the world as a player would. Node
565breakers simulate a player punching a node.")
566 ;; CC-BY-SA for textures, LGPL for code
567 (license (list license:cc-by-sa4.0 license:lgpl3))
568 (properties `((upstream-name . "VanessaE/pipeworks")))))
569
570(define-public luanti-technic
571 (package
572 (name "luanti-technic")
573 ;; Upstream doesn't keep version numbers, so use the release
574 ;; date on ContentDB instead.
575 (version "2022-10-30")
576 (source
577 (origin
578 (method git-fetch)
579 (uri (git-reference
580 (url "https://github.com/minetest-mods/technic")
581 (commit "6a9dfec36f7265f9328fe378732417d9b57060b4")))
582 (sha256
583 (base32 "0ng1aklm02n2lbar345yf88g3alzvnh0m0s5rb2bcw2k5lib8468"))
584 (file-name (git-file-name name version))))
585 (build-system luanti-mod-build-system)
586 (propagated-inputs
587 (list luanti-pipeworks luanti-basic-materials))
588 (home-page (luanti-topic 2538))
589 (synopsis "Machinery and automation for Luanti")
590 (description
591 "This Luanti mod adds machinery and automation to Luanti.
592It adds various ores that can be processed for constructing various
593machinery, such as power generators, force field emitters, quarries
594and a workshop for repairing tools. Most machines are electrically
595powered.")
596 ;; CC BY-SA 3.0: some texture
597 ;; WTFPL: some textures
598 ;; CC BY-SA3.0: some textures
599 ;; CC BY-SA4.0: some sounds
600 (license (list license:lgpl2.1+ license:cc-by-sa3.0 license:cc-by-sa4.0
601 license:wtfpl2))
602 (properties `((upstream-name . "RealBadAngel/technic")))))
603
604(define-public luanti-throwing
605 ;; The latest release on ContentDB is ahead of the latet
606 ;; tagged commit.
607 (let ((commit "31f0cf5f868673dc82f24ddc432b45c9cd282d27")
608 (revision "0"))
609 (package
610 (name "luanti-throwing")
611 (version (git-version "1.1" revision commit))
612 (source
613 (origin
614 (method git-fetch)
615 (uri (git-reference
616 (url "https://github.com/minetest-mods/throwing")
617 (commit commit)))
618 (sha256
619 (base32 "1s5kkr6rxxv2dhbbjzv62gw1s617hnpjavw1v9fv11v3mgigdfjb"))
620 (file-name (git-file-name name version))))
621 (build-system luanti-mod-build-system)
622 (home-page (luanti-topic 16365))
623 (synopsis "API for throwing things in Luanti")
624 (description
625 "This Luanti mod provides an API for registering throwable things and
626throwing things like arrows. However, this mod does not provide an actual
627arrow and bow, but @code{luanti-throwing-arrows} does.")
628 (license license:mpl2.0)
629 (properties `((upstream-name . "Palige/throwing"))))))
630
631(define-public luanti-throwing-arrows
632 ;; There is only one tagged commit (version 1.1),
633 ;; there are no releases on ContentDB and the latest
634 ;; commit has a compatibility fix for Luanti 5.4.0-dev.
635 (let ((commit "059cc897af0aebfbd2c54ac5588f2b842f44f159")
636 (revision "0"))
637 (package
638 (name "luanti-throwing-arrows")
639 (version (git-version "1.1" revision commit))
640 (source
641 (origin
642 (method git-fetch)
643 (uri (git-reference
644 (url "https://github.com/minetest-mods/throwing_arrows")
645 (commit commit)))
646 (sha256
647 (base32 "0m2pmccpfxn878zd00pmrpga2h6gknz4f3qprck0fq94mksmwqs3"))
648 (file-name (git-file-name name version))))
649 (build-system luanti-mod-build-system)
650 (propagated-inputs
651 (list luanti-throwing))
652 (home-page (luanti-topic 16365))
653 (synopsis "Arrows and bows for Luanti")
654 (description
655 ;; TRANSLATORS: "throwing" is the name of a Luanti mod and should
656 ;; not be translated.
657 "This mod adds arrows and bows to Luanti. It is a compatible
658replacement for the throwing mod by PilzAdam that uses the throwing API.")
659 (license license:mpl2.0))))
660
661(define-public luanti-worldedit
662 (package
663 (name "luanti-worldedit")
664 (version "1.3")
665 (source
666 (origin
667 (method git-fetch)
668 (uri (git-reference
669 (url "https://github.com/Uberi/Minetest-WorldEdit")
670 (commit "2f26fb76459c587868199160b9d7b5d6d7852e50")))
671 (sha256
672 (base32 "0lsvihkixi2na1b0vmml9vwgs0g24hqqshl73ffhkzh6jsq4cagq"))
673 (file-name (git-file-name name version))))
674 (build-system luanti-mod-build-system)
675 (home-page (luanti-topic 572))
676 (synopsis "In-game world editor for Luanti")
677 (description
678 "WorldEdit is a mod for Luanti. It allows for creating various
679geometric shapes and copying regions. It can also export and import regions
680to and from the file system.")
681 (license license:agpl3)
682 (properties `((upstream-name . "sfan5/worldedit")))))
683
684(define-public luanti-unifieddyes
685 (package
686 (name "luanti-unifieddyes")
687 ;; Upstream uses dates as version numbers.
688 (version "2021-04-20-1")
689 (source
690 (origin
691 (method git-fetch)
692 (uri (git-reference
693 (url "https://gitlab.com/VanessaE/unifieddyes")
694 (commit "ff3b2d30fa0df5c7181fdd401b989de6271c3bb3")))
695 (sha256
696 (base32 "0rba9n192xcpmxwnq7ixb6mn32gkpic247j3w4mwinrqcyscacsv"))
697 (file-name (git-file-name name version))))
698 (build-system luanti-mod-build-system)
699 (propagated-inputs
700 (list luanti-basic-materials))
701 (home-page (luanti-topic 2178))
702 (synopsis
703 "Unified Dyes expands the standard dye set of Luanti to up to 256 colours")
704 (description "The purpose of this mod originally was to supply a complete
705set of colours for Luanti mod authors to use for colourised nodes or
706reference in recipes. Since the advent of the default dyes mod in the standard
707Luanti game, this mod has become an extension of the default mod an a library
708for general colour handling.")
709 (license license:gpl2+)
710 (properties `((upstream-name . "VanessaE/unifieddyes")))))
711
712(define-public luanti-unified-inventory
713 (package
714 (name "luanti-unified-inventory")
715 ;; Upstream doesn't keep version numbers, so use the release title
716 ;; on ContentDB instead.
717 (version "2021-12-26")
718 (source
719 (origin
720 (method git-fetch)
721 (uri (git-reference
722 (url "https://github.com/minetest-mods/unified_inventory")
723 (commit "d6688872c84417d2f61d6f5e607aea39d78920aa")))
724 (sha256
725 (base32 "1rlw96s2yyxdbz0h9byayyx9nsbqdr4ric91w0k3dkjr71aj8a3b"))
726 (file-name (git-file-name name version))))
727 (build-system luanti-mod-build-system)
728 (home-page (luanti-topic 12767))
729 (synopsis "Replace the default inventory in Luanti and add a crafting guide")
730 (description
731 "The Unified Inventory Luanti mod relaces the default survival an
732creative inventory. It includes a node, item and tool browser, a crafting
733guide, a trash and refill slot for creative mode, bags and waypoints for keeping
734track of important locations.")
735 ;; CC-BY: some textures and icons
736 ;; CC-BY-SA: some textures and icons
737 ;; LGLPL2.1+: code and some textures
738 ;; GPL2+: some textures
739 ;; GPL3: bags.lua
740 ;; GFDL: some icons
741 ;; public domain, CC0: some icons
742 (license (list license:gpl3 license:gpl2+ license:lgpl2.1+ license:cc-by3.0
743 license:cc-by4.0 license:cc-by-sa3.0 license:public-domain
744 license:cc0 license:fdl1.2+))
745 (properties `((upstream-name . "RealBadAngel/unified_inventory")))))
746
747(define-public luanti-advtrains
748 (package
749 (name "luanti-advtrains")
750 (version "2.4.1")
751 (source
752 (origin
753 (method git-fetch)
754 (uri (git-reference
755 (url "https://git.bananach.space/advtrains.git")
756 (commit (string-append "release-" version))))
757 (sha256
758 (base32 "1q2jj8181pjgsakl28xadv0z4sszq1lb5rpgj070wr0px6mp447p"))
759 (file-name (git-file-name name version))))
760 (build-system luanti-mod-build-system)
761 (home-page "https://advtrains.de/")
762 (synopsis "Adds good-looking, realistic trains with realistic rails")
763 (description
764 "This mod features realistic trains and various equipment for railways,
765with a focus on automated train operation. This package contains no actual
766trains, please use @code{luanti-basic-trains}.
767
768Main features:
769
770@itemize
771@item
772almost-realistic tracks with actual curves and switches;
773@item
774railway signals, controllable by various means;
775@item
776ATC: simple, command-like automatic train control;
777@item
778LuaATC: Powerful Lua-scripted automatic train operation (requires some
779programming knowledge);
780@item
781an interlocking system, featuring track sections, routes and automatic
782stopping before signals.
783@end itemize")
784 (license (list license:cc-by-sa3.0 license:agpl3+))
785 (properties `((upstream-name . "orwell/advtrains")))))
786
787(define-public luanti-basic-trains
788 (package
789 (name "luanti-basic-trains")
790 (version "1.0.1")
791 (source
792 (origin
793 (method git-fetch)
794 (uri (git-reference
795 (url "http://git.bananach.space/basic_trains.git/")
796 (commit
797 "d44c410f7c2a7202ee68b66fc50febae89e0c5dc")))
798 (sha256
799 (base32
800 "0vvzndj48kgdz2bfgivfm217sbmc2lmxpp2mispcy7byn4i26prx"))
801 (file-name (git-file-name name version))))
802 (build-system luanti-mod-build-system)
803 (propagated-inputs
804 (list luanti-advtrains))
805 (home-page
806 "http://advtrains.de/wiki/doku.php?id=usage:trains:basic_trains")
807 (synopsis "Collection of basic trains for the Advanced Trains mod")
808 (description
809 "This modpack contains the trains which were the ``default'' trains in
810advtrains up to version 2.2.1.")
811 (license (list license:cc-by-sa3.0 license:agpl3+))
812 (properties `((upstream-name . "orwell/basic_trains")))))
813
814(define-public luanti-oneblock
815 (package
816 (name "luanti-oneblock")
817 (version "2022-09-01")
818 (source (origin
819 (method git-fetch)
820 (uri (git-reference
821 (url "https://github.com/NO411/oneblock")
822 (commit "3582c825137e61b3d2ae3d60b8b9746acd6dfe3d")))
823 (sha256
824 (base32
825 "1pkdrj99qqwmz7c86w2mh081ynyxhiwv2rl01xjm1wfpazx5zhdg"))
826 (file-name (git-file-name name version))))
827 (build-system luanti-mod-build-system)
828 (home-page "https://github.com/NO411/oneblock")
829 (synopsis "Build your island in the sky with random items!")
830 (description
831 "This package provides an extension of the Luanti game that lets you
832build your island in the sky. Every 30 seconds you will receive a random
833block or item from the oneblock to expand the island!")
834 (license license:gpl3+)
835 (properties `((upstream-name . "NO11/oneblock")))))
836
837(define-public luanti-wielded-light
838 (package
839 (name "luanti-wielded-light")
840 (version "2022-06-24")
841 (source (origin
842 (method git-fetch)
843 (uri (git-reference
844 (url "https://github.com/minetest-mods/wielded_light")
845 (commit "b5236562af9772dff8522fe2bda5b5f738e81b88")))
846 (sha256
847 (base32
848 "0m5rf8wkc9iq04xppjfva9d83qmhlnx8fibdbi2d3pkwwl6p2y5c"))
849 (file-name (git-file-name name version))))
850 (build-system luanti-mod-build-system)
851 (home-page (luanti-topic 19378))
852 (synopsis "Adds shining for wielded and dropped items")
853 (description
854 "With this Luanti extension, all bright nodes lighten the player
855environment if wielded.")
856 (license license:gpl3+)
857 (properties `((upstream-name . "bell07/wielded_light")))))
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 6fed1b2aad2..0cd6907b7e3 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -24,834 +24,79 @@
24;;; 24;;;
25;;; You should have received a copy of the GNU General Public License 25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27
27(define-module (gnu packages minetest) 28(define-module (gnu packages minetest)
28 #:use-module (gnu packages)
29 #:use-module (gnu packages audio)
30 #:use-module (gnu packages base)
31 #:use-module (gnu packages check)
32 #:use-module (gnu packages compression)
33 #:use-module (gnu packages curl)
34 #:use-module (gnu packages fontutils)
35 #:use-module (gnu packages gettext)
36 #:use-module (gnu packages gl)
37 #:use-module (gnu packages image)
38 #:use-module (gnu packages lua)
39 #:use-module (gnu packages multiprecision)
40 #:use-module (gnu packages ncurses)
41 #:use-module (gnu packages pkg-config)
42 #:use-module (gnu packages sdl)
43 #:use-module (gnu packages serialization)
44 #:use-module (gnu packages sqlite)
45 #:use-module (gnu packages xiph)
46 #:use-module (gnu packages xorg)
47 #:use-module (guix packages) 29 #:use-module (guix packages)
48 #:use-module (guix gexp) 30 #:use-module (gnu packages luanti))
49 #:use-module (guix git-download)
50 #:use-module (guix utils)
51 #:use-module (guix build-system cmake)
52 #:use-module (guix build-system copy)
53 #:use-module (guix build-system minetest)
54 #:use-module ((guix licenses) #:prefix license:))
55 31
56(define-public minetest 32(define-public minetest
57 (package 33 (deprecated-package "minetest" luanti))
58 (name "minetest")
59 (version "5.12.0")
60 (source
61 (origin
62 (method git-fetch)
63 (uri (git-reference
64 (url "https://github.com/luanti-org/luanti")
65 (commit version)))
66 (file-name (git-file-name name version))
67 (sha256
68 (base32 "1l8kwy23p3gpk12nnhhq1lp4v0zj6kiygnmia043pdinmgzzd0xy"))
69 (modules '((guix build utils)
70 (srfi srfi-26)
71 (ice-9 ftw)))
72 ;; Delete bundled libraries.
73 ;; - Keep lib/sha256 because there's no good upstream, see:
74 ;; https://github.com/openssl/openssl/blob/master/crypto/sha/sha512.c
75 ;; "SHA512 low level APIs are deprecated for public use,
76 ;; but still ok for internal use." Also asked MT devs on IRC for this.
77 ;; - tiniergltf is intended for Minetest and diverged from upstream.
78 (snippet
79 '(let ((keep '("." ".." "sha256" "tiniergltf")))
80 (with-directory-excursion "lib"
81 (for-each delete-file-recursively
82 (scandir "." (negate (cut member <> keep)))))
83 ;; IrrlichtMT includes
84 (delete-file-recursively "irr/include/KHR")
85 (delete-file-recursively "irr/src/vendor")
86 (substitute* "irr/src/COpenGLCommon.h"
87 (("\"vendor/gl.h\"") "<GL/gl.h>"))
88 ;; Catch2
89 (substitute* "CMakeLists.txt"
90 (("add_subdirectory\\(lib/catch2\\)") "find_package(Catch2 3 REQUIRED)"))
91 (substitute* "src/catch.h"
92 (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))
93 (substitute* "src/unittest/test_irr_rotation.cpp"
94 (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))
95 (substitute* "src/unittest/test_irr_matrix4.cpp"
96 (("catch_amalgamated.hpp") "catch2/catch_all.hpp"))))))
97 (build-system cmake-build-system)
98 (arguments
99 (list
100 #:configure-flags
101 #~(list "-DENABLE_LTO=ON"
102 "-DENABLE_UPDATE_CHECKER=FALSE")
103 #:phases
104 #~(modify-phases %standard-phases
105 (delete 'check)
106 (add-after 'install 'check
107 (lambda* (#:key tests? #:allow-other-keys)
108 ;; Thanks to our substitutions, the tests should also run
109 ;; when invoked on the target outside of `guix build'.
110 (when tests?
111 (setenv "HOME" "/tmp")
112 (setenv "MINETEST_GAME_PATH"
113 (string-append (getcwd) "/../source/games"))
114 (invoke "../source/bin/luanti" "--run-unittests")
115 (invoke "../source/util/test_multiplayer.sh")))))))
116 (native-search-paths
117 (list (search-path-specification
118 (variable "MINETEST_GAME_PATH")
119 (files '("share/minetest/games")))
120 (search-path-specification
121 (variable "MINETEST_MOD_PATH")
122 (files '("share/minetest/mods")))))
123 (native-inputs (list catch2-3 pkg-config))
124 (inputs (list curl
125 freetype
126 gettext-minimal
127 gmp
128 jsoncpp
129 libjpeg-turbo
130 libpng
131 libogg
132 libvorbis
133 libxi
134 luajit
135 mesa
136 ncurses
137 openal
138 sdl2
139 sqlite
140 `(,zstd "lib")))
141 (outputs '("out" "debug"))
142 (synopsis "Voxel game engine")
143 (description
144 "Luanti is a voxel game engine that supports modding and game creation
145using its Lua modding API. It allows playing a wide range of voxel-based
146games, installing mods and texture packs. This package only provides the base
147platform, users need to install games themselves (for example,
148@code{minetest-game}), either through Guix, the built-in interface or other
149sources.")
150 (home-page "https://www.luanti.org/")
151 (license license:lgpl2.1+)))
152 34
153(define-public minetest-server 35(define-public minetest-server
154 (package 36 (deprecated-package "minetest-server" luanti-server))
155 (inherit minetest)
156 (name "minetest-server")
157 (arguments
158 (substitute-keyword-arguments (package-arguments minetest)
159 ((#:configure-flags configure-flags)
160 #~(cons* "-DBUILD_CLIENT=FALSE"
161 "-DBUILD_SERVER=TRUE"
162 #$configure-flags))
163 ((#:phases phases)
164 #~(modify-phases #$phases
165 (replace 'check
166 (lambda* (#:key tests? #:allow-other-keys)
167 (when tests?
168 (setenv "HOME" "/tmp")
169 (setenv "MINETEST_GAME_PATH"
170 (string-append (getcwd) "/../source/games"))
171 (invoke "../source/bin/luantiserver" "--run-unittests"))))))))
172 (inputs
173 (modify-inputs (package-inputs minetest)
174 (delete "libjpeg-turbo"
175 "libpng"
176 "libogg"
177 "libvorbis"
178 "libxxf86vm"
179 "mesa"
180 "openal")))
181 (synopsis "Infinite-world block sandbox game (server)")
182 (description
183 "Server for Luanti game engine and gaming platform. Allows hosting
184Luanti games with multiplayer support. This package provides
185@command{luantiserver} to run a Luanti server.")))
186
187(define-public minetest-game
188 (let ((commit "0351c6691595c6eb88a1bea2383f6fae46a686ce")
189 (revision "1"))
190 (package
191 (name "minetest-game")
192 (version (git-version "0.0.0" revision commit))
193 (source
194 (origin
195 (method git-fetch)
196 (uri (git-reference
197 (url "https://github.com/luanti-org/minetest_game")
198 (commit commit)))
199 (file-name (git-file-name name version))
200 (sha256
201 (base32 "13l33ghnm1g3ka0ivxljzdga50x0iv0fzyd7pqm15ickfbkwbm0v"))))
202 (build-system copy-build-system)
203 (arguments
204 (list
205 #:install-plan #~'(("." "/share/minetest/games/minetest_game"))))
206 (synopsis "Ex-official game for Luanti game engine")
207 (description
208 "This package provides the Minetest Game - a game for the
209Luanti game engine which used to be the official game for Luanti
210(formerly Minetest). It is currently in maintenance mode and gets no
211new features.")
212 (home-page "https://www.luanti.org/")
213 (license license:lgpl2.1+))))
214
215;; This package is deprecated. "Minetest Game" is no longer the official game.
216(define-public minetest-data
217 (deprecated-package "minetest-data" minetest-game))
218
219(define-public (minetest-topic topic-id)
220 "Return an URL (as a string) pointing to the forum topic with
221numeric identifier TOPIC-ID on the official Minetest forums."
222 (string-append "https://forum.minetest.net/viewtopic.php?t="
223 (number->string topic-id)))
224 37
225(define-public minetest-moreores 38(define-public minetest-moreores
226 (package 39 (deprecated-package "minetest-moreores" luanti-moreores))
227 (name "minetest-moreores")
228 (version "2.1.0")
229 (source
230 (origin
231 (method git-fetch)
232 (uri (git-reference
233 (url "https://github.com/minetest-mods/moreores")
234 (commit (string-append "v" version))))
235 (sha256 (base32 "1chfqbc6bb27aacjc67j5l5wcdvmcsvk2rfmangipd7nwini3y34"))
236 (file-name (git-file-name name version))))
237 (build-system minetest-mod-build-system)
238 (home-page (minetest-topic 549))
239 (synopsis "Additional ore types, tools, swords, and rails for Minetest")
240 (description
241 "This Minetest mod adds new ore types to the game (mithril, silver) as well
242as swords and tools made of different materials. It also adds copper rails.")
243 (license license:zlib)
244 (properties `((upstream-name . "Calinou/moreores")))))
245 40
246(define-public minetest-sound-api-core 41(define-public minetest-sound-api-core
247 (package 42 (deprecated-package "minetest-sound-api-core" luanti-sound-api-core))
248 (name "minetest-sound-api-core")
249 ;; No tags, no releases. The author intended to let users use it as a
250 ;; submodules for other projects.
251 ;; https://github.com/mt-mods/basic_materials/issues/4
252 (version "2022-02-27")
253 (source
254 (origin
255 (method git-fetch)
256 (uri (git-reference
257 (url "https://github.com/mt-mods/sound_api_core")
258 (commit "6956e49e775f325116f8e0c643899c089c691e1e")))
259 (sha256
260 (base32 "1ys6g2skhkksa4cx9agxhsibj5js8z4y2q1ngis9ddr38p756pcy"))
261 (file-name (git-file-name name version))
262 (snippet
263 '(begin
264 (call-with-output-file "mod.conf"
265 (lambda (port)
266 (format port "\
267name = sound_api_core")))))))
268 (build-system minetest-mod-build-system)
269 (propagated-inputs '())
270 (home-page "https://github.com/mt-mods/sound_api_core")
271 (synopsis "Core for game agnostic sounds")
272 (description
273 "This library can be used to get some specific sounds, whatever the game.")
274 (license license:expat)))
275 43
276(define-public minetest-basic-materials 44(define-public minetest-basic-materials
277 (package 45 (deprecated-package "minetest-basic-materials" luanti-basic-materials))
278 (name "minetest-basic-materials")
279 ;; Upstream uses dates as version numbers.
280 (version "2022-03-28")
281 (source
282 (origin
283 (method git-fetch)
284 (uri (git-reference
285 (url "https://github.com/mt-mods/basic_materials")
286 (commit "9d55f9916d20779ecbf93c7e95dae8adebd2079b")))
287 (sha256
288 (base32 "0nzx5mdw26mk2by14hxyvbqckgz8k67vlh2ch30skssvh4984bjw"))
289 (file-name (git-file-name name version))
290 (snippet
291 '(begin
292 (use-modules (guix build utils))
293 (substitute* "mod.conf"
294 (("optional_depends =")
295 "depends = sound_api_core
296optional_depends ="))
297 (substitute* "nodes.lua"
298 (("basic_materials.modpath \\.\\. \"/sound_api_core/init.lua\"")
299 "minetest.get_modpath(\"sound_api_core\") .. \"/init.lua\""))))))
300 (build-system minetest-mod-build-system)
301 (propagated-inputs
302 ;; basic_materials:silver_wire cannot be crafted without
303 ;; moreores:silver_ingot.
304 (list minetest-moreores minetest-sound-api-core))
305 (home-page (minetest-topic 21000))
306 (synopsis "Some \"basic\" materials and items for other Minetest mods to use")
307 (description
308 "The Minetest mod \"basic_materials\" provides a small selection of
309\"basic\" materials and items that other mods should use when possible -- things
310like steel bars and chains, wire, plastic strips and sheets, and more.")
311 (license
312 (list license:cc-by-sa4.0 license:lgpl3))
313 (properties `((upstream-name . "VanessaE/basic_materials")))))
314 46
315(define-public minetest-coloredwood 47(define-public minetest-coloredwood
316 (package 48 (deprecated-package "minetest-coloredwood" luanti-coloredwood))
317 (name "minetest-coloredwood")
318 ;; Upstream uses dates as version numbers.
319 (version "2021-04-14-1")
320 (source
321 (origin
322 (method git-fetch)
323 (uri (git-reference
324 (url "https://gitlab.com/VanessaE/coloredwood")
325 (commit "be4df6fc889419155bed8638bbb752493e78cbd5")))
326 (sha256
327 (base32 "1swirfk6b4xfbiwv8adyw5yl2lyfpp8ymfipzq9ivyvmif8nl3ki"))
328 (file-name (git-file-name name version))))
329 (build-system minetest-mod-build-system)
330 (propagated-inputs
331 (list minetest-unifieddyes))
332 (home-page (minetest-topic 2411))
333 (synopsis "Painted wood in Minetest")
334 (description
335 "This Minetest mod provides hundreds of colours of wood and fences to
336Minetest, using Unified Dyes. If the \"moreblocks\" mod is active,
337coloured and cut wood shapes are provided as well.")
338 (license
339 ;; LGPL for code, CC-BY-SA for textures
340 (list license:cc-by-sa4.0 license:lgpl3))
341 (properties `((upstream-name . "VanessaE/coloredwood")))))
342 49
343(define-public minetest-ethereal 50(define-public minetest-ethereal
344 ;; ContentDB release 2021-07-28 is slightly ahead of the 51 (deprecated-package "minetest-ethereal" luanti-ethereal))
345 ;; initial version 1.29 -- i.e., some released changes have been
346 ;; made to version 1.29 without a corresponding version bump.
347 (let ((commit "7670c1da9274901f57f6682384af2b3bae005a86")
348 (revision "0"))
349 (package
350 (name "minetest-ethereal")
351 (version (git-version "1.29" revision commit))
352 (source
353 (origin
354 (method git-fetch)
355 (uri (git-reference
356 (url "https://notabug.org/TenPlus1/ethereal")
357 (commit commit)))
358 (sha256
359 (base32 "1hal8bq4fydsip7s8rqz4vlaaqy9rhzxmryd0j2qnqm9286yjgkk"))
360 (file-name (git-file-name name version))))
361 (build-system minetest-mod-build-system)
362 (home-page (minetest-topic 14638))
363 (synopsis "The Ethereal mod adds many new biomes to Minetest")
364 (description
365 "The Ethereal Minetest mod uses the v7 map generator to add many new
366biomes to the world. It adds new trees, plants, food items, tweaks and some
367special items, intending to make an interesting adventure.")
368 ;; CC0: some textures
369 (license (list license:cc0 license:expat))
370 (properties `((upstream-name . "TenPlus1/ethereal"))))))
371 52
372(define-public minetest-homedecor-modpack 53(define-public minetest-homedecor-modpack
373 (package 54 (deprecated-package "minetest-homedecor-modpack" luanti-homedecor-modpack))
374 (name "minetest-homedecor-modpack")
375 ;; Upstream doesn't tag releases, so use the release title from
376 ;; ContentDB as version.
377 (version "2022-05-18")
378 (source
379 (origin
380 (method git-fetch)
381 (uri (git-reference
382 (url "https://github.com/mt-mods/homedecor_modpack")
383 (commit "5ffdc26673169e05492141709fbb18e8fb6e5937")))
384 (sha256
385 (base32 "03pf254r3hnznklw7lf3q4rzqg0a1y4c9rjjhzssf1q7ai5pdrkn"))
386 (file-name (git-file-name name version))))
387 (build-system minetest-mod-build-system)
388 (propagated-inputs
389 (list minetest-basic-materials minetest-unifieddyes))
390 (home-page (minetest-topic 2041))
391 (synopsis "Home decor mod for Minetest")
392 (description
393 ;; TRANSLATORS: ‘homedecor’ is the name is the name of a Minetest mod
394 ;; and should not be translated.
395 "The homedecor Minetest mod provides a large seleection of items that
396might be found inside and around homes, such as sofas, chairs, tables, fences
397and a variety of other stuff.")
398 (license
399 (list license:cc-by-sa4.0 license:lgpl3))
400 (properties `((upstream-name . "VanessaE/homedecor_modpack")))))
401 55
402(define-public minetest-mesecons 56(define-public minetest-mesecons
403 ;; The release on ContentDB does not have its own version number. 57 (deprecated-package "minetest-mesecons" luanti-mesecons))
404 (let ((commit "27c3c515b49af91c1dbc427f31a820722854eb24")
405 (revision "63"))
406 (package
407 (name "minetest-mesecons")
408 (version (git-version "1.2.1" revision commit))
409 (source
410 (origin
411 (method git-fetch)
412 (uri (git-reference
413 (url "https://github.com/minetest-mods/mesecons")
414 (commit commit)))
415 (sha256
416 (base32 "1l0kwjj8ns8hv6z520g6ph5swknar336dbi5qr3dfsy18ydk1j92"))
417 (file-name (git-file-name name version))))
418 (build-system minetest-mod-build-system)
419 (home-page "https://mesecons.net")
420 (synopsis
421 "Digital circuitry for Minetest, including wires, buttons and lights")
422 (description
423 "Mesecons is a mod for Minetest implementing various items related
424to digital circuitry, such as wires, buttons, lights and programmable
425controllers. Among other things, there are also pistons, solar panels,
426pressure plates and note blocks.
427
428Mesecons has a similar goal to Redstone in Minecraft, but works in its own way,
429with different rules and mechanics.")
430 ;; LGPL for code, CC-BY-SA for textures.
431 (license (list license:lgpl3 license:cc-by-sa3.0))
432 (properties `((upstream-name . "Jeija/mesecons"))))))
433 58
434(define-public minetest-mineclone 59(define-public minetest-mineclone
435 (package 60 (deprecated-package "minetest-mineclone" luanti-mineclone))
436 (name "minetest-mineclone")
437 (version "0.80.1")
438 (source (origin
439 (method git-fetch)
440 (uri (git-reference
441 (url "https://git.minetest.land/MineClone2/MineClone2")
442 (commit version)))
443 (file-name (git-file-name name version))
444 (sha256
445 (base32
446 "0ndgzasjmj8397bb3y2aqalx9v72llwgvp9pv05mms3chpji2675"))))
447 (build-system copy-build-system)
448 (arguments
449 `(#:install-plan
450 '(("." "share/minetest/games/mineclone"))))
451 (synopsis "Minecraft clone based on Minetest engine")
452 (description
453 "MineClone is a Minetest subgame, that aims to recreate Minecraft as
454closely as the engine allows.")
455 (home-page "https://content.minetest.net/packages/Wuzzy/mineclone2/")
456 (license license:gpl3+)))
457 61
458(define-public minetest-mobs 62(define-public minetest-mobs
459 (package 63 (deprecated-package "minetest-mobs" luanti-mobs))
460 (name "minetest-mobs")
461 ;; Upstream does not tag release, so use the ContentDB release
462 ;; title instead.
463 (version "2021-12-12")
464 (source
465 (origin
466 (method git-fetch)
467 (uri (git-reference
468 (url "https://notabug.org/TenPlus1/mobs_redo")
469 (commit "6a4a02f3fbf1038c69e72aaafa52a1e7d6106da8")))
470 (sha256
471 (base32 "0vgv7jpm9v3dwq4l9jxdd5z14yq164w8kin1d05jfv3ck4hwlwvr"))
472 (file-name (git-file-name name version))))
473 (build-system minetest-mod-build-system)
474 (home-page (minetest-topic 9917))
475 (synopsis "Mob library for Minetest mods, for animals, monsters etc.")
476 (description
477 "This Minetest mod provides an API for adding mods (moving entities
478like animals and monsters), but does not include any mobs itself. To actually
479add some mobs, a mod like e.g. @code{mobs_animal} provided by the
480@code{minetest-mobs-animal} package needs to be enabled.")
481 ;; CC0: mob_swing.ogg
482 ;; CC-BY 3.0: mob_spell.ogg
483 ;; Expat: everything else
484 (license (list license:expat license:cc0 license:cc-by3.0))
485 (properties `((upstream-name . "TenPlus1/mobs")))))
486 64
487(define-public minetest-mobs-animal 65(define-public minetest-mobs-animal
488 (package 66 (deprecated-package "minetest-mobs-animal" luanti-mobs-animal))
489 (name "minetest-mobs-animal")
490 ;; Upstream does not use version numbers, so use the release title
491 ;; from ContentDB instead;
492 (version "2021-11-14")
493 (source
494 (origin
495 (method git-fetch)
496 (uri (git-reference
497 (url "https://notabug.org/TenPlus1/mobs_animal")
498 (commit "3e15456bce7779aa0dc09a8890f7b5180c1ac771")))
499 (sha256
500 (base32 "08686mj3jh8fsziqp878jpaj5267s4n6i86dr1gnxyxbsrjraqpn"))
501 (file-name (git-file-name name version))))
502 (build-system minetest-mod-build-system)
503 (propagated-inputs
504 (list minetest-mobs))
505 (home-page "https://notabug.org/TenPlus1/mobs_animal")
506 (synopsis "Add animals to Minetest")
507 (description
508 "This Minetest mod adds various animals to Minetest, such as bees,
509bunnies, chickens, cows, kittens, rats, sheep, warthogs, penguins and pandas.")
510 ;; CC0: some textures and sounds
511 (license (list license:cc0 license:expat))
512 (properties `((upstream-name . "TenPlus1/mobs_animal")))))
513 67
514(define-public minetest-mobs-monster 68(define-public minetest-mobs-monster
515 (package 69 (deprecated-package "minetest-mobs-monster" luanti-mobs-monster))
516 (name "minetest-mobs-monster")
517 ;; Upstream does not use version numbers, so use the release title
518 ;; from ContentDB instead;
519 (version "2022-12-10")
520 (source
521 (origin
522 (method git-fetch)
523 (uri (git-reference
524 (url "https://notabug.org/TenPlus1/mobs_monster")
525 (commit "1b197f9ae136179a764ef45824464b667ade52e6")))
526 (sha256
527 (base32 "15g8acrzvsiccxchfmgjhyf2lmkbrpdjqv3v7hmqz7xqypi8wm3h"))
528 (file-name (git-file-name name version))))
529 (build-system minetest-mod-build-system)
530 (propagated-inputs (list minetest-mobs))
531 (home-page "https://notabug.org/TenPlus1/mobs_monster")
532 (synopsis "Add monsters with Mobs Redo on minetest")
533 (description
534 "This Minetest mod adds many types of monsters to Minetest, that live on the
535surface or deep underground.")
536 (license license:expat)
537 (properties `((upstream-name . "TenPlus1/mobs_monster")))))
538 70
539(define-public minetest-pipeworks 71(define-public minetest-pipeworks
540 (package 72 (deprecated-package "minetest-pipeworks" luanti-pipeworks))
541 (name "minetest-pipeworks")
542 ;; Upstream uses dates as version numbers.
543 (version "2021-04-14-1")
544 (source
545 (origin
546 (method git-fetch)
547 (uri (git-reference
548 (url "https://gitlab.com/VanessaE/pipeworks")
549 (commit "db6d1bd9c109e1e543b97cc3fa8a11400da23bcd")))
550 (sha256
551 (base32 "1flhcnf17dn1v86kcg47a1n4cb0lybd11ncxrkxn3wmf10ibsrm0"))
552 (file-name (git-file-name name version))))
553 (build-system minetest-mod-build-system)
554 (propagated-inputs
555 (list minetest-basic-materials))
556 (home-page (minetest-topic 2155))
557 (synopsis "Pipes, item-transport tubes and related devices for Minetest")
558 (description
559 "Pipeworks is a mod for Minetest implementing 3D pipes and tubes for
560transporting liquids and items and some related devices. Pipes and tubes can
561go horizontally or vertically. Item tubes can also be used for sorting items
562and extracting items from chests or putting items in chests. Autocrafters can
563automatically follow craft recipes to make new items and can be fed by item
564tubes. Deployers can place items in the world as a player would. Node
565breakers simulate a player punching a node.")
566 ;; CC-BY-SA for textures, LGPL for code
567 (license (list license:cc-by-sa4.0 license:lgpl3))
568 (properties `((upstream-name . "VanessaE/pipeworks")))))
569 73
570(define-public minetest-technic 74(define-public minetest-technic
571 (package 75 (deprecated-package "minetest-technic" luanti-technic))
572 (name "minetest-technic")
573 ;; Upstream doesn't keep version numbers, so use the release
574 ;; date on ContentDB instead.
575 (version "2022-10-30")
576 (source
577 (origin
578 (method git-fetch)
579 (uri (git-reference
580 (url "https://github.com/minetest-mods/technic")
581 (commit "6a9dfec36f7265f9328fe378732417d9b57060b4")))
582 (sha256
583 (base32 "0ng1aklm02n2lbar345yf88g3alzvnh0m0s5rb2bcw2k5lib8468"))
584 (file-name (git-file-name name version))))
585 (build-system minetest-mod-build-system)
586 (propagated-inputs
587 (list minetest-pipeworks minetest-basic-materials))
588 (home-page (minetest-topic 2538))
589 (synopsis "Machinery and automation for Minetest")
590 (description
591 "This Minetest mod adds machinery and automation to Minetest.
592It adds various ores that can be processed for constructing various
593machinery, such as power generators, force field emitters, quarries
594and a workshop for repairing tools. Most machines are electrically
595powered.")
596 ;; CC BY-SA 3.0: some texture
597 ;; WTFPL: some textures
598 ;; CC BY-SA3.0: some textures
599 ;; CC BY-SA4.0: some sounds
600 (license (list license:lgpl2.1+ license:cc-by-sa3.0 license:cc-by-sa4.0
601 license:wtfpl2))
602 (properties `((upstream-name . "RealBadAngel/technic")))))
603 76
604(define-public minetest-throwing 77(define-public minetest-throwing
605 ;; The latest release on ContentDB is ahead of the latet 78 (deprecated-package "minetest-throwing" luanti-throwing))
606 ;; tagged commit.
607 (let ((commit "31f0cf5f868673dc82f24ddc432b45c9cd282d27")
608 (revision "0"))
609 (package
610 (name "minetest-throwing")
611 (version (git-version "1.1" revision commit))
612 (source
613 (origin
614 (method git-fetch)
615 (uri (git-reference
616 (url "https://github.com/minetest-mods/throwing")
617 (commit commit)))
618 (sha256
619 (base32 "1s5kkr6rxxv2dhbbjzv62gw1s617hnpjavw1v9fv11v3mgigdfjb"))
620 (file-name (git-file-name name version))))
621 (build-system minetest-mod-build-system)
622 (home-page (minetest-topic 16365))
623 (synopsis "API for throwing things in Minetest")
624 (description
625 "This Minetest mod provides an API for registering throwable things and
626throwing things like arrows. However, this mod does not provide an actual
627arrow and bow, but @code{minetest-throwing-arrows} does.")
628 (license license:mpl2.0)
629 (properties `((upstream-name . "Palige/throwing"))))))
630 79
631(define-public minetest-throwing-arrows 80(define-public minetest-throwing-arrows
632 ;; There is only one tagged commit (version 1.1), 81 (deprecated-package "minetest-throwing-arrows" luanti-throwing-arrows))
633 ;; there are no releases on ContentDB and the latest
634 ;; commit has a compatibility fix for Minetest 5.4.0-dev.
635 (let ((commit "059cc897af0aebfbd2c54ac5588f2b842f44f159")
636 (revision "0"))
637 (package
638 (name "minetest-throwing-arrows")
639 (version (git-version "1.1" revision commit))
640 (source
641 (origin
642 (method git-fetch)
643 (uri (git-reference
644 (url "https://github.com/minetest-mods/throwing_arrows")
645 (commit commit)))
646 (sha256
647 (base32 "0m2pmccpfxn878zd00pmrpga2h6gknz4f3qprck0fq94mksmwqs3"))
648 (file-name (git-file-name name version))))
649 (build-system minetest-mod-build-system)
650 (propagated-inputs
651 (list minetest-throwing))
652 (home-page (minetest-topic 16365))
653 (synopsis "Arrows and bows for Minetest")
654 (description
655 ;; TRANSLATORS: "throwing" is the name of a Minetest mod and should
656 ;; not be translated.
657 "This mod adds arrows and bows to Minetest. It is a compatible
658replacement for the throwing mod by PilzAdam that uses the throwing API.")
659 (license license:mpl2.0))))
660 82
661(define-public minetest-worldedit 83(define-public minetest-worldedit
662 (package 84 (deprecated-package "minetest-worldedit" luanti-worldedit))
663 (name "minetest-worldedit")
664 (version "1.3")
665 (source
666 (origin
667 (method git-fetch)
668 (uri (git-reference
669 (url "https://github.com/Uberi/Minetest-WorldEdit")
670 (commit "2f26fb76459c587868199160b9d7b5d6d7852e50")))
671 (sha256
672 (base32 "0lsvihkixi2na1b0vmml9vwgs0g24hqqshl73ffhkzh6jsq4cagq"))
673 (file-name (git-file-name name version))))
674 (build-system minetest-mod-build-system)
675 (home-page (minetest-topic 572))
676 (synopsis "In-game world editor for Minetest")
677 (description
678 "WorldEdit is a mod for Minetest. It allows for creating various
679geometric shapes and copying regions. It can also export and import regions
680to and from the file system.")
681 (license license:agpl3)
682 (properties `((upstream-name . "sfan5/worldedit")))))
683 85
684(define-public minetest-unifieddyes 86(define-public minetest-unifieddyes
685 (package 87 (deprecated-package "minetest-unifieddyes" luanti-unifieddyes))
686 (name "minetest-unifieddyes")
687 ;; Upstream uses dates as version numbers.
688 (version "2021-04-20-1")
689 (source
690 (origin
691 (method git-fetch)
692 (uri (git-reference
693 (url "https://gitlab.com/VanessaE/unifieddyes")
694 (commit "ff3b2d30fa0df5c7181fdd401b989de6271c3bb3")))
695 (sha256
696 (base32 "0rba9n192xcpmxwnq7ixb6mn32gkpic247j3w4mwinrqcyscacsv"))
697 (file-name (git-file-name name version))))
698 (build-system minetest-mod-build-system)
699 (propagated-inputs
700 (list minetest-basic-materials))
701 (home-page (minetest-topic 2178))
702 (synopsis
703 "Unified Dyes expands the standard dye set of Minetest to up to 256 colours")
704 (description "The purpose of this mod originally was to supply a complete
705set of colours for Minetest mod authors to use for colourised nodes or
706reference in recipes. Since the advent of the default dyes mod in the standard
707Minetest game, this mod has become an extension of the default mod an a library
708for general colour handling.")
709 (license license:gpl2+)
710 (properties `((upstream-name . "VanessaE/unifieddyes")))))
711 88
712(define-public minetest-unified-inventory 89(define-public minetest-unified-inventory
713 (package 90 (deprecated-package "minetest-unified-inventory" luanti-unified-inventory))
714 (name "minetest-unified-inventory")
715 ;; Upstream doesn't keep version numbers, so use the release title
716 ;; on ContentDB instead.
717 (version "2021-12-26")
718 (source
719 (origin
720 (method git-fetch)
721 (uri (git-reference
722 (url "https://github.com/minetest-mods/unified_inventory")
723 (commit "d6688872c84417d2f61d6f5e607aea39d78920aa")))
724 (sha256
725 (base32 "1rlw96s2yyxdbz0h9byayyx9nsbqdr4ric91w0k3dkjr71aj8a3b"))
726 (file-name (git-file-name name version))))
727 (build-system minetest-mod-build-system)
728 (home-page (minetest-topic 12767))
729 (synopsis "Replace the default inventory in Minetest and add a crafting guide")
730 (description
731 "The Unified Inventory Minetest mod relaces the default survival an
732creative inventory. It includes a node, item and tool browser, a crafting
733guide, a trash and refill slot for creative mode, bags and waypoints for keeping
734track of important locations.")
735 ;; CC-BY: some textures and icons
736 ;; CC-BY-SA: some textures and icons
737 ;; LGLPL2.1+: code and some textures
738 ;; GPL2+: some textures
739 ;; GPL3: bags.lua
740 ;; GFDL: some icons
741 ;; public domain, CC0: some icons
742 (license (list license:gpl3 license:gpl2+ license:lgpl2.1+ license:cc-by3.0
743 license:cc-by4.0 license:cc-by-sa3.0 license:public-domain
744 license:cc0 license:fdl1.2+))
745 (properties `((upstream-name . "RealBadAngel/unified_inventory")))))
746 91
747(define-public minetest-advtrains 92(define-public minetest-advtrains
748 (package 93 (deprecated-package "minetest-advtrains" luanti-advtrains))
749 (name "minetest-advtrains")
750 (version "2.4.1")
751 (source
752 (origin
753 (method git-fetch)
754 (uri (git-reference
755 (url "https://git.bananach.space/advtrains.git")
756 (commit (string-append "release-" version))))
757 (sha256
758 (base32 "1q2jj8181pjgsakl28xadv0z4sszq1lb5rpgj070wr0px6mp447p"))
759 (file-name (git-file-name name version))))
760 (build-system minetest-mod-build-system)
761 (home-page "https://advtrains.de/")
762 (synopsis "Adds good-looking, realistic trains with realistic rails")
763 (description
764 "This mod features realistic trains and various equipment for railways,
765with a focus on automated train operation. This package contains no actual
766trains, please use @code{minetest-basic-trains}.
767
768Main features:
769
770@itemize
771@item
772almost-realistic tracks with actual curves and switches;
773@item
774railway signals, controllable by various means;
775@item
776ATC: simple, command-like automatic train control;
777@item
778LuaATC: Powerful Lua-scripted automatic train operation (requires some
779programming knowledge);
780@item
781an interlocking system, featuring track sections, routes and automatic
782stopping before signals.
783@end itemize")
784 (license (list license:cc-by-sa3.0 license:agpl3+))
785 (properties `((upstream-name . "orwell/advtrains")))))
786 94
787(define-public minetest-basic-trains 95(define-public minetest-basic-trains
788 (package 96 (deprecated-package "minetest-basic-trains" luanti-basic-trains))
789 (name "minetest-basic-trains")
790 (version "1.0.1")
791 (source
792 (origin
793 (method git-fetch)
794 (uri (git-reference
795 (url "http://git.bananach.space/basic_trains.git/")
796 (commit
797 "d44c410f7c2a7202ee68b66fc50febae89e0c5dc")))
798 (sha256
799 (base32
800 "0vvzndj48kgdz2bfgivfm217sbmc2lmxpp2mispcy7byn4i26prx"))
801 (file-name (git-file-name name version))))
802 (build-system minetest-mod-build-system)
803 (propagated-inputs
804 (list minetest-advtrains))
805 (home-page
806 "http://advtrains.de/wiki/doku.php?id=usage:trains:basic_trains")
807 (synopsis "Collection of basic trains for the Advanced Trains mod")
808 (description
809 "This modpack contains the trains which were the ``default'' trains in
810advtrains up to version 2.2.1.")
811 (license (list license:cc-by-sa3.0 license:agpl3+))
812 (properties `((upstream-name . "orwell/basic_trains")))))
813 97
814(define-public minetest-oneblock 98(define-public minetest-oneblock
815 (package 99 (deprecated-package "minetest-oneblock" luanti-oneblock))
816 (name "minetest-oneblock")
817 (version "2022-09-01")
818 (source (origin
819 (method git-fetch)
820 (uri (git-reference
821 (url "https://github.com/NO411/oneblock")
822 (commit "3582c825137e61b3d2ae3d60b8b9746acd6dfe3d")))
823 (sha256
824 (base32
825 "1pkdrj99qqwmz7c86w2mh081ynyxhiwv2rl01xjm1wfpazx5zhdg"))
826 (file-name (git-file-name name version))))
827 (build-system minetest-mod-build-system)
828 (home-page "https://github.com/NO411/oneblock")
829 (synopsis "Build your island in the sky with random items!")
830 (description
831 "This package provides an extension of the Minetest game that lets you
832build your island in the sky. Every 30 seconds you will receive a random
833block or item from the oneblock to expand the island!")
834 (license license:gpl3+)
835 (properties `((upstream-name . "NO11/oneblock")))))
836 100
837(define-public minetest-wielded-light 101(define-public minetest-wielded-light
838 (package 102 (deprecated-package "minetest-wielded-light" luanti-wielded-light))
839 (name "minetest-wielded-light")
840 (version "2022-06-24")
841 (source (origin
842 (method git-fetch)
843 (uri (git-reference
844 (url "https://github.com/minetest-mods/wielded_light")
845 (commit "b5236562af9772dff8522fe2bda5b5f738e81b88")))
846 (sha256
847 (base32
848 "0m5rf8wkc9iq04xppjfva9d83qmhlnx8fibdbi2d3pkwwl6p2y5c"))
849 (file-name (git-file-name name version))))
850 (build-system minetest-mod-build-system)
851 (home-page (minetest-topic 19378))
852 (synopsis "Adds shining for wielded and dropped items")
853 (description
854 "With this Minetest extension, all bright nodes lighten the player
855environment if wielded.")
856 (license license:gpl3+)
857 (properties `((upstream-name . "bell07/wielded_light")))))