gnu: minetest: move to minetest.scm.
* gnu/packages/games.scm (minetest, minetest-data): Move from here... * gnu/packages/minetest.scm (minetest, minetest-data): ... to here. * guix/build-system/minetest.scm (default-minetest): Adjust accordingly.
This commit is contained in:
parent
cd8df9aab2
commit
b7d1698f7f
3 changed files with 164 additions and 136 deletions
|
@ -1,7 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
|
;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu>
|
||||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
|
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
|
||||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||||
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
|
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
|
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
|
||||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||||
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
|
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
|
||||||
;;; Copyright © 2020, 2021 Trevor Hass <thass@okstate.edu>
|
;;; Copyright © 2020 Trevor Hass <thass@okstate.edu>
|
||||||
;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
|
;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||||
;;; Copyright © 2020 Lu hux <luhux@outlook.com>
|
;;; Copyright © 2020 Lu hux <luhux@outlook.com>
|
||||||
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
|
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
|
||||||
|
@ -3582,139 +3582,6 @@ enemies in different game modes such as space ball, death match, team death
|
||||||
match, cannon keep, and grave-itation pit.")
|
match, cannon keep, and grave-itation pit.")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define-public minetest
|
|
||||||
(package
|
|
||||||
(name "minetest")
|
|
||||||
(version "5.4.1")
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/minetest/minetest")
|
|
||||||
(commit version)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
|
|
||||||
(modules '((guix build utils)))
|
|
||||||
(patches
|
|
||||||
(search-patches
|
|
||||||
"minetest-add-MINETEST_MOD_PATH.patch"))
|
|
||||||
(snippet
|
|
||||||
'(begin
|
|
||||||
;; Delete bundled libraries.
|
|
||||||
(delete-file-recursively "lib")
|
|
||||||
#t))))
|
|
||||||
(build-system cmake-build-system)
|
|
||||||
(arguments
|
|
||||||
`(#:configure-flags
|
|
||||||
(list "-DRUN_IN_PLACE=0"
|
|
||||||
"-DENABLE_FREETYPE=1"
|
|
||||||
"-DENABLE_GETTEXT=1"
|
|
||||||
"-DENABLE_SYSTEM_JSONCPP=TRUE"
|
|
||||||
(string-append "-DIRRLICHT_INCLUDE_DIR="
|
|
||||||
(assoc-ref %build-inputs "irrlicht")
|
|
||||||
"/include/irrlicht")
|
|
||||||
(string-append "-DCURL_INCLUDE_DIR="
|
|
||||||
(assoc-ref %build-inputs "curl")
|
|
||||||
"/include/curl"))
|
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'patch-sources
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
|
||||||
(substitute* "src/filesys.cpp"
|
|
||||||
;; Use store-path for "rm" instead of non-existing FHS path.
|
|
||||||
(("\"/bin/rm\"")
|
|
||||||
(string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
|
|
||||||
(substitute* "src/CMakeLists.txt"
|
|
||||||
;; Let minetest binary remain in build directory.
|
|
||||||
(("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
|
|
||||||
(substitute* "src/unittest/test_servermodmanager.cpp"
|
|
||||||
;; do no override MINETEST_SUBGAME_PATH
|
|
||||||
(("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
|
|
||||||
"(void)0;"))
|
|
||||||
(setenv "MINETEST_SUBGAME_PATH"
|
|
||||||
(string-append (getcwd) "/games")) ; for check
|
|
||||||
#t))
|
|
||||||
(replace 'check
|
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
|
||||||
;; Thanks to our substitutions, the tests should also run
|
|
||||||
;; when invoked on the target outside of `guix build'.
|
|
||||||
(when tests?
|
|
||||||
(setenv "HOME" "/tmp")
|
|
||||||
(invoke "src/minetest" "--run-unittests")))))))
|
|
||||||
(native-search-paths
|
|
||||||
(list (search-path-specification
|
|
||||||
(variable "MINETEST_SUBGAME_PATH")
|
|
||||||
(files '("share/minetest/games")))
|
|
||||||
(search-path-specification
|
|
||||||
(variable "MINETEST_MOD_PATH")
|
|
||||||
(files '("share/minetest/mods")))))
|
|
||||||
(native-inputs
|
|
||||||
`(("pkg-config" ,pkg-config)))
|
|
||||||
(inputs
|
|
||||||
`(("coreutils" ,coreutils)
|
|
||||||
("curl" ,curl)
|
|
||||||
("freetype" ,freetype)
|
|
||||||
("gettext" ,gettext-minimal)
|
|
||||||
("gmp" ,gmp)
|
|
||||||
("irrlicht" ,irrlicht)
|
|
||||||
("jsoncpp" ,jsoncpp)
|
|
||||||
("libjpeg" ,libjpeg-turbo)
|
|
||||||
("libpng" ,libpng)
|
|
||||||
("libogg" ,libogg)
|
|
||||||
("libvorbis" ,libvorbis)
|
|
||||||
("libxxf86vm" ,libxxf86vm)
|
|
||||||
("luajit" ,luajit)
|
|
||||||
("mesa" ,mesa)
|
|
||||||
("ncurses" ,ncurses)
|
|
||||||
("openal" ,openal)
|
|
||||||
("sqlite" ,sqlite)))
|
|
||||||
(propagated-inputs
|
|
||||||
`(("minetest-data" ,minetest-data)))
|
|
||||||
(synopsis "Infinite-world block sandbox game")
|
|
||||||
(description
|
|
||||||
"Minetest is a sandbox construction game. Players can create and destroy
|
|
||||||
various types of blocks in a three-dimensional open world. This allows
|
|
||||||
forming structures in every possible creation, on multiplayer servers or as a
|
|
||||||
single player. Mods and texture packs allow players to personalize the game
|
|
||||||
in different ways.")
|
|
||||||
(home-page "https://www.minetest.net/")
|
|
||||||
(license license:lgpl2.1+)))
|
|
||||||
|
|
||||||
(define minetest-data
|
|
||||||
(package
|
|
||||||
(name "minetest-data")
|
|
||||||
(version (package-version minetest))
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://github.com/minetest/minetest_game")
|
|
||||||
(commit version)))
|
|
||||||
(file-name (git-file-name name version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
|
|
||||||
(build-system trivial-build-system)
|
|
||||||
(native-inputs
|
|
||||||
`(("source" ,source)))
|
|
||||||
(arguments
|
|
||||||
`(#:modules ((guix build utils))
|
|
||||||
#:builder (begin
|
|
||||||
(use-modules (guix build utils))
|
|
||||||
(let ((install-dir (string-append
|
|
||||||
%output
|
|
||||||
"/share/minetest/games/minetest_game")))
|
|
||||||
(mkdir-p install-dir)
|
|
||||||
(copy-recursively
|
|
||||||
(assoc-ref %build-inputs "source")
|
|
||||||
install-dir)
|
|
||||||
#t))))
|
|
||||||
(synopsis "Main game data for the Minetest game engine")
|
|
||||||
(description
|
|
||||||
"Game data for the Minetest infinite-world block sandbox game.")
|
|
||||||
(home-page "https://www.minetest.net/")
|
|
||||||
(license license:lgpl2.1+)))
|
|
||||||
|
|
||||||
(define glkterm
|
(define glkterm
|
||||||
(package
|
(package
|
||||||
(name "glkterm")
|
(name "glkterm")
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu>
|
||||||
|
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||||
|
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||||
|
;;; Copyright © 2015, 2019 Mark H Weaver <mhw@netris.org>
|
||||||
|
;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
|
||||||
|
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||||
|
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
|
||||||
|
;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -14,12 +23,164 @@
|
||||||
;;; You should have received a copy of the GNU General Public License
|
;;; You should have received a copy of the GNU General Public License
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
(define-module (gnu packages minetest)
|
(define-module (gnu packages minetest)
|
||||||
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages audio)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages curl)
|
||||||
|
#:use-module (gnu packages fontutils)
|
||||||
|
#:use-module (gnu packages games)
|
||||||
|
#:use-module (gnu packages gettext)
|
||||||
|
#:use-module (gnu packages gl)
|
||||||
|
#:use-module (gnu packages image)
|
||||||
|
#:use-module (gnu packages lua)
|
||||||
|
#:use-module (gnu packages multiprecision)
|
||||||
|
#:use-module (gnu packages ncurses)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages serialization)
|
||||||
|
#:use-module (gnu packages sqlite)
|
||||||
|
#:use-module (gnu packages xiph)
|
||||||
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system copy)
|
#:use-module (guix build-system copy)
|
||||||
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix build-system minetest)
|
#:use-module (guix build-system minetest)
|
||||||
#:use-module ((guix licenses) #:prefix license:))
|
#:use-module ((guix licenses) #:prefix license:))
|
||||||
|
|
||||||
|
(define-public minetest
|
||||||
|
(package
|
||||||
|
(name "minetest")
|
||||||
|
(version "5.4.1")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/minetest/minetest")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(patches
|
||||||
|
(search-patches
|
||||||
|
"minetest-add-MINETEST_MOD_PATH.patch"))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Delete bundled libraries.
|
||||||
|
(delete-file-recursively "lib")
|
||||||
|
#t))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:configure-flags
|
||||||
|
(list "-DRUN_IN_PLACE=0"
|
||||||
|
"-DENABLE_FREETYPE=1"
|
||||||
|
"-DENABLE_GETTEXT=1"
|
||||||
|
"-DENABLE_SYSTEM_JSONCPP=TRUE"
|
||||||
|
(string-append "-DIRRLICHT_INCLUDE_DIR="
|
||||||
|
(assoc-ref %build-inputs "irrlicht")
|
||||||
|
"/include/irrlicht")
|
||||||
|
(string-append "-DCURL_INCLUDE_DIR="
|
||||||
|
(assoc-ref %build-inputs "curl")
|
||||||
|
"/include/curl"))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-sources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "src/filesys.cpp"
|
||||||
|
;; Use store-path for "rm" instead of non-existing FHS path.
|
||||||
|
(("\"/bin/rm\"")
|
||||||
|
(string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
|
||||||
|
(substitute* "src/CMakeLists.txt"
|
||||||
|
;; Let minetest binary remain in build directory.
|
||||||
|
(("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
|
||||||
|
(substitute* "src/unittest/test_servermodmanager.cpp"
|
||||||
|
;; do no override MINETEST_SUBGAME_PATH
|
||||||
|
(("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
|
||||||
|
"(void)0;"))
|
||||||
|
(setenv "MINETEST_SUBGAME_PATH"
|
||||||
|
(string-append (getcwd) "/games")) ; for check
|
||||||
|
#t))
|
||||||
|
(replace 'check
|
||||||
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
|
;; Thanks to our substitutions, the tests should also run
|
||||||
|
;; when invoked on the target outside of `guix build'.
|
||||||
|
(when tests?
|
||||||
|
(setenv "HOME" "/tmp")
|
||||||
|
(invoke "src/minetest" "--run-unittests")))))))
|
||||||
|
(native-search-paths
|
||||||
|
(list (search-path-specification
|
||||||
|
(variable "MINETEST_SUBGAME_PATH")
|
||||||
|
(files '("share/minetest/games")))
|
||||||
|
(search-path-specification
|
||||||
|
(variable "MINETEST_MOD_PATH")
|
||||||
|
(files '("share/minetest/mods")))))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("coreutils" ,coreutils)
|
||||||
|
("curl" ,curl)
|
||||||
|
("freetype" ,freetype)
|
||||||
|
("gettext" ,gettext-minimal)
|
||||||
|
("gmp" ,gmp)
|
||||||
|
("irrlicht" ,irrlicht)
|
||||||
|
("jsoncpp" ,jsoncpp)
|
||||||
|
("libjpeg" ,libjpeg-turbo)
|
||||||
|
("libpng" ,libpng)
|
||||||
|
("libogg" ,libogg)
|
||||||
|
("libvorbis" ,libvorbis)
|
||||||
|
("libxxf86vm" ,libxxf86vm)
|
||||||
|
("luajit" ,luajit)
|
||||||
|
("mesa" ,mesa)
|
||||||
|
("ncurses" ,ncurses)
|
||||||
|
("openal" ,openal)
|
||||||
|
("sqlite" ,sqlite)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("minetest-data" ,minetest-data)))
|
||||||
|
(synopsis "Infinite-world block sandbox game")
|
||||||
|
(description
|
||||||
|
"Minetest is a sandbox construction game. Players can create and destroy
|
||||||
|
various types of blocks in a three-dimensional open world. This allows
|
||||||
|
forming structures in every possible creation, on multiplayer servers or as a
|
||||||
|
single player. Mods and texture packs allow players to personalize the game
|
||||||
|
in different ways.")
|
||||||
|
(home-page "https://www.minetest.net/")
|
||||||
|
(license license:lgpl2.1+)))
|
||||||
|
|
||||||
|
(define minetest-data
|
||||||
|
(package
|
||||||
|
(name "minetest-data")
|
||||||
|
(version (package-version minetest))
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/minetest/minetest_game")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
|
||||||
|
(build-system trivial-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("source" ,source)))
|
||||||
|
(arguments
|
||||||
|
`(#:modules ((guix build utils))
|
||||||
|
#:builder (begin
|
||||||
|
(use-modules (guix build utils))
|
||||||
|
(let ((install-dir (string-append
|
||||||
|
%output
|
||||||
|
"/share/minetest/games/minetest_game")))
|
||||||
|
(mkdir-p install-dir)
|
||||||
|
(copy-recursively
|
||||||
|
(assoc-ref %build-inputs "source")
|
||||||
|
install-dir)
|
||||||
|
#t))))
|
||||||
|
(synopsis "Main game data for the Minetest game engine")
|
||||||
|
(description
|
||||||
|
"Game data for the Minetest infinite-world block sandbox game.")
|
||||||
|
(home-page "https://www.minetest.net/")
|
||||||
|
(license license:lgpl2.1+)))
|
||||||
|
|
||||||
(define-public (minetest-topic topic-id)
|
(define-public (minetest-topic topic-id)
|
||||||
"Return an URL (as a string) pointing to the forum topic with
|
"Return an URL (as a string) pointing to the forum topic with
|
||||||
numeric identifier TOPIC-ID on the official Minetest forums."
|
numeric identifier TOPIC-ID on the official Minetest forums."
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
(module-ref (resolve-interface '(gnu packages image)) 'optipng))
|
(module-ref (resolve-interface '(gnu packages image)) 'optipng))
|
||||||
|
|
||||||
(define (default-minetest)
|
(define (default-minetest)
|
||||||
(module-ref (resolve-interface '(gnu packages games)) 'minetest))
|
(module-ref (resolve-interface '(gnu packages minetest)) 'minetest))
|
||||||
|
|
||||||
(define (default-xvfb-run)
|
(define (default-xvfb-run)
|
||||||
(module-ref (resolve-interface '(gnu packages xorg)) 'xvfb-run))
|
(module-ref (resolve-interface '(gnu packages xorg)) 'xvfb-run))
|
||||||
|
|
Reference in a new issue