2014-12-15 05:50:18 -05:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
|
|
|
|
;;; Copyright © 2014 Tomáš Čech <sleep_walker@suse.cz>
|
gnu: Add 'file-name' fields for github source tarballs without a name.
* gnu/packages/aarddict.scm (aarddict), gnu/packages/algebra.scm (arb),
gnu/packages/audio.scm (jack-2, lvtk),
gnu/packages/bioinformatics.scm (bedops, bedtools, bowtie),
gnu/packages/game-development.scm (tiled),
gnu/packages/games.scm (minetest-data, minetest, retroarch),
gnu/packages/jrnl.scm (jrnl), gnu/packages/kde.scm (qjson),
gnu/packages/libevent.scm (libuv), gnu/packages/linux.scm (pflask),
gnu/packages/mail.scm (offlineimap, libetpan),
gnu/packages/maths.scm (arpack-ng), gnu/packages/ninja.scm (ninja),
gnu/packages/nutrition.scm (gourmet),
gnu/packages/python.scm (python-cairocffi), gnu/packages/rdf.scm (lrdf),
gnu/packages/ruby.scm (ruby-i18n), gnu/packages/sxiv.scm (sxiv): Add
'file-name' field to origin.
2015-02-27 12:23:27 -05:00
|
|
|
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
2018-03-11 16:46:30 -04:00
|
|
|
|
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
2018-07-05 14:47:24 -04:00
|
|
|
|
;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
|
2017-03-26 20:00:42 -04:00
|
|
|
|
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
|
2019-01-01 03:20:18 -05:00
|
|
|
|
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
2017-08-27 22:27:56 -04:00
|
|
|
|
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
|
2019-04-14 08:45:06 -04:00
|
|
|
|
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
2018-07-05 11:06:02 -04:00
|
|
|
|
;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
|
2020-01-01 18:58:41 -05:00
|
|
|
|
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
2017-08-11 12:56:28 -04:00
|
|
|
|
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
2017-09-07 07:59:47 -04:00
|
|
|
|
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
|
2017-09-13 12:36:12 -04:00
|
|
|
|
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
2019-04-01 03:42:04 -04:00
|
|
|
|
;;; Copyright © 2017, 2019 Rutger Helling <rhelling@mykolab.com>
|
2018-03-15 06:38:48 -04:00
|
|
|
|
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
2019-03-24 08:56:16 -04:00
|
|
|
|
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
2020-01-16 17:39:39 -05:00
|
|
|
|
;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at>
|
2019-12-11 09:33:44 -05:00
|
|
|
|
;;; Copyright © 2019 Jethro Cao <jethrocao@gmail.com>
|
2020-01-04 20:09:33 -05:00
|
|
|
|
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
2020-01-28 13:25:38 -05:00
|
|
|
|
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
2020-02-16 16:42:42 -05:00
|
|
|
|
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
2014-12-15 05:50:18 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
|
;;; your option) any later version.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
|
;;;
|
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
(define-module (gnu packages game-development)
|
2019-05-20 11:00:45 -04:00
|
|
|
|
#:use-module (srfi srfi-1)
|
2020-05-02 11:51:21 -04:00
|
|
|
|
#:use-module (ice-9 match)
|
2015-01-19 15:12:52 -05:00
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2014-12-15 05:50:18 -05:00
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix download)
|
2016-01-29 16:17:45 -05:00
|
|
|
|
#:use-module (guix git-download)
|
2019-03-24 08:56:16 -04:00
|
|
|
|
#:use-module (guix svn-download)
|
2017-06-05 18:47:16 -04:00
|
|
|
|
#:use-module (guix utils)
|
2014-12-15 05:50:18 -05:00
|
|
|
|
#:use-module (guix build-system cmake)
|
2015-01-19 15:12:52 -05:00
|
|
|
|
#:use-module (guix build-system gnu)
|
2016-07-30 14:32:49 -04:00
|
|
|
|
#:use-module (guix build-system python)
|
2017-11-17 04:17:46 -05:00
|
|
|
|
#:use-module (guix build-system scons)
|
2015-01-19 15:12:52 -05:00
|
|
|
|
#:use-module (gnu packages)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages audio)
|
2017-08-05 11:56:29 -04:00
|
|
|
|
#:use-module (gnu packages autotools)
|
2019-05-23 12:54:27 -04:00
|
|
|
|
#:use-module (gnu packages base)
|
2017-06-18 13:45:17 -04:00
|
|
|
|
#:use-module (gnu packages boost)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages compression)
|
2016-01-29 16:17:45 -05:00
|
|
|
|
#:use-module (gnu packages curl)
|
gnu: Update module imports for asciidoc and doxygen.
This is a followup to commit 0573a923def01e54bf104e0015ade44ab42f694f.
* gnu/packages/algebra.scm, gnu/packages/bioinformatics.scm,
gnu/packages/fcitx.scm, gnu/packages/fish.scm,
gnu/packages/freedesktop.scm, gnu/packages/game-development.scm,
gnu/packages/gcc.scm, gnu/packages/graphics.scm, gnu/packages/image.scm,
gnu/packages/kodi.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/messaging.scm,
gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/rdf.scm,
gnu/packages/serialization.scm, gnu/packages/version-control.scm,
gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm,
gnu/packages/xiph.scm: Change imports of (gnu packages asciidoc) or
(gnu packages doxygen) to (gnu packages documentation).
2016-05-12 20:18:15 -04:00
|
|
|
|
#:use-module (gnu packages documentation)
|
2018-01-15 17:21:20 -05:00
|
|
|
|
#:use-module (gnu packages fltk)
|
2017-08-11 12:56:28 -04:00
|
|
|
|
#:use-module (gnu packages fonts)
|
2016-06-19 18:56:56 -04:00
|
|
|
|
#:use-module (gnu packages fontutils)
|
2017-06-05 15:22:01 -04:00
|
|
|
|
#:use-module (gnu packages freedesktop)
|
2016-06-19 18:56:56 -04:00
|
|
|
|
#:use-module (gnu packages fribidi)
|
gnu: Move dbm databases to new module.
* gnu/packages/databases.scm (gdbm, bdb, bdb-5.3): Move from here...
* gnu/packages/dbm.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/audio.scm,
gnu/packages/avahi.scm,
gnu/packages/backup.scm,
gnu/packages/cobol.scm,
gnu/packages/cyrus-sasl.scm,
gnu/packages/databases.scm,
gnu/packages/finance.scm,
gnu/packages/game-development.scm,
gnu/packages/gnome.scm,
gnu/packages/guile.scm,
gnu/packages/ibus.scm,
gnu/packages/kerberos.scm,
gnu/packages/linux.scm,
gnu/packages/mail.scm,
gnu/packages/man.scm,
gnu/packages/nvi.scm,
gnu/packages/openldap.scm,
gnu/packages/package-management.scm,
gnu/packages/php.scm,
gnu/packages/pulseaudio.scm,
gnu/packages/python.scm,
gnu/packages/rdf.scm,
gnu/packages/ruby.scm,
gnu/packages/sawfish.scm: Update module references.
2019-01-16 08:48:47 -05:00
|
|
|
|
#:use-module (gnu packages dbm)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages gl)
|
2015-09-28 23:08:30 -04:00
|
|
|
|
#:use-module (gnu packages glib)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages gnome)
|
2015-09-28 23:08:30 -04:00
|
|
|
|
#:use-module (gnu packages gnunet)
|
2017-08-11 12:56:28 -04:00
|
|
|
|
#:use-module (gnu packages graphics)
|
|
|
|
|
#:use-module (gnu packages graphviz)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages gtk)
|
2015-09-28 23:08:30 -04:00
|
|
|
|
#:use-module (gnu packages guile)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages image)
|
|
|
|
|
#:use-module (gnu packages linux)
|
|
|
|
|
#:use-module (gnu packages lua)
|
2017-08-05 11:56:29 -04:00
|
|
|
|
#:use-module (gnu packages m4)
|
2019-12-15 09:58:34 -05:00
|
|
|
|
#:use-module (gnu packages mono)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages mp3)
|
2015-09-28 23:08:30 -04:00
|
|
|
|
#:use-module (gnu packages multiprecision)
|
2016-07-30 14:32:49 -04:00
|
|
|
|
#:use-module (gnu packages music)
|
2015-09-28 23:08:30 -04:00
|
|
|
|
#:use-module (gnu packages ncurses)
|
2020-01-28 13:25:39 -05:00
|
|
|
|
#:use-module (gnu packages pcre)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
|
#:use-module (gnu packages pulseaudio)
|
2016-07-30 14:32:49 -04:00
|
|
|
|
#:use-module (gnu packages python)
|
gnu: Separate Python core packages from the rest.
* gnu/packages/python.scm: Move hundreds of package definitions from here...
* gnu/packages/python-xyz.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/ada.scm,
gnu/packages/admin.scm,
gnu/packages/android.scm,
gnu/packages/audio.scm,
gnu/packages/backup.scm,
gnu/packages/benchmark.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/bittorrent.scm,
gnu/packages/calendar.scm,
gnu/packages/check.scm,
gnu/packages/chemistry.scm,
gnu/packages/cluster.scm,
gnu/packages/compression.scm,
gnu/packages/connman.scm,
gnu/packages/crypto.scm,
gnu/packages/cups.scm,
gnu/packages/databases.scm,
gnu/packages/dav.scm,
gnu/packages/direct-connect.scm,
gnu/packages/disk.scm,
gnu/packages/django.scm,
gnu/packages/dlang.scm,
gnu/packages/docker.scm,
gnu/packages/ebook.scm,
gnu/packages/elf.scm,
gnu/packages/emacs.scm,
gnu/packages/emulators.scm,
gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm,
gnu/packages/finance.scm,
gnu/packages/fltk.scm,
gnu/packages/fontutils.scm,
gnu/packages/freedesktop.scm,
gnu/packages/game-development.scm,
gnu/packages/games.scm,
gnu/packages/geo.scm,
gnu/packages/gl.scm,
gnu/packages/glib.scm,
gnu/packages/gnome.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/graph.scm,
gnu/packages/graphics.scm,
gnu/packages/graphviz.scm,
gnu/packages/gtk.scm,
gnu/packages/ham-radio.scm,
gnu/packages/image-processing.scm,
gnu/packages/image-viewers.scm,
gnu/packages/image.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/julia.scm,
gnu/packages/kde-frameworks.scm,
gnu/packages/key-mon.scm,
gnu/packages/libffi.scm,
gnu/packages/libreoffice.scm,
gnu/packages/libusb.scm,
gnu/packages/lirc.scm,
gnu/packages/logging.scm,
gnu/packages/machine-learning.scm,
gnu/packages/mail.scm,
gnu/packages/mate.scm,
gnu/packages/maths.scm,
gnu/packages/medical.scm,
gnu/packages/messaging.scm,
gnu/packages/monitoring.scm,
gnu/packages/mp3.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/nutrition.scm,
gnu/packages/openldap.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/password-utils.scm,
gnu/packages/patchutils.scm,
gnu/packages/pdf.scm,
gnu/packages/photo.scm,
gnu/packages/polkit.scm,
gnu/packages/protobuf.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/qt.scm,
gnu/packages/rdf.scm,
gnu/packages/ruby.scm,
gnu/packages/search.scm,
gnu/packages/selinux.scm,
gnu/packages/serialization.scm,
gnu/packages/shells.scm,
gnu/packages/simulation.scm,
gnu/packages/ssh.scm,
gnu/packages/statistics.scm,
gnu/packages/storage.scm,
gnu/packages/sync.scm,
gnu/packages/terminals.scm,
gnu/packages/textutils.scm,
gnu/packages/time.scm,
gnu/packages/tls.scm,
gnu/packages/tor.scm,
gnu/packages/tryton.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/virtualization.scm,
gnu/packages/vpn.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm,
gnu/packages/wicd.scm,
gnu/packages/xdisorg.scm,
gnu/packages/xorg.scm: Update module references.
2019-01-15 08:21:30 -05:00
|
|
|
|
#:use-module (gnu packages python-xyz)
|
2015-01-19 15:12:52 -05:00
|
|
|
|
#:use-module (gnu packages qt)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages sdl)
|
2020-01-04 20:09:33 -05:00
|
|
|
|
#:use-module (gnu packages sphinx)
|
2018-07-14 09:19:07 -04:00
|
|
|
|
#:use-module (gnu packages stb)
|
2018-06-19 20:59:23 -04:00
|
|
|
|
#:use-module (gnu packages texinfo)
|
2020-02-16 16:42:42 -05:00
|
|
|
|
#:use-module (gnu packages textutils)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages tls)
|
2016-07-30 14:32:49 -04:00
|
|
|
|
#:use-module (gnu packages video)
|
2020-02-01 08:00:38 -05:00
|
|
|
|
#:use-module (gnu packages web)
|
2016-01-29 16:17:45 -05:00
|
|
|
|
#:use-module (gnu packages xdisorg)
|
2015-11-14 14:00:20 -05:00
|
|
|
|
#:use-module (gnu packages xiph)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
#:use-module (gnu packages xml)
|
2018-01-16 15:49:22 -05:00
|
|
|
|
#:use-module (gnu packages xorg))
|
2014-12-15 05:50:18 -05:00
|
|
|
|
|
|
|
|
|
(define-public bullet
|
|
|
|
|
(package
|
|
|
|
|
(name "bullet")
|
2020-01-01 19:08:45 -05:00
|
|
|
|
(version "2.89")
|
2014-12-15 05:50:18 -05:00
|
|
|
|
(source (origin
|
2019-01-03 08:44:11 -05:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/bulletphysics/bullet3/")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2014-12-15 05:50:18 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-01-01 19:08:45 -05:00
|
|
|
|
"10ncf2z474jnv7p5lv01ak2mk2hib3rj5rz1zr8v2v5pnciqbijl"))
|
2019-01-03 08:44:11 -05:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
(for-each delete-file (find-files "build3" "premake*"))
|
|
|
|
|
(with-directory-excursion "examples/ThirdPartyLibs"
|
|
|
|
|
(for-each delete-file-recursively
|
|
|
|
|
'("Gwen" "clsocket" "enet" "glad" "imgui"
|
|
|
|
|
"lua-5.2.3" "midi" "minizip" "openvr"
|
|
|
|
|
"optionalX11" "serial" "zlib")))
|
2020-01-01 19:08:45 -05:00
|
|
|
|
;; These need files from ThirdPartyLibs.
|
2019-01-03 08:44:11 -05:00
|
|
|
|
(substitute* "Extras/CMakeLists.txt"
|
2020-01-01 19:08:45 -05:00
|
|
|
|
(("BulletRobotics") ""))
|
|
|
|
|
;; Tests fail on linking, cannot find -lBussIK.
|
2019-01-03 08:44:11 -05:00
|
|
|
|
(substitute* "test/CMakeLists.txt"
|
|
|
|
|
((" InverseDynamics")
|
|
|
|
|
"../examples/ThirdPartyLibs/BussIK InverseDynamics"))
|
|
|
|
|
; (("SharedMemory") ""))
|
|
|
|
|
#t))))
|
2014-12-15 05:50:18 -05:00
|
|
|
|
(build-system cmake-build-system)
|
2016-11-06 01:44:21 -05:00
|
|
|
|
(arguments
|
2019-01-03 08:44:11 -05:00
|
|
|
|
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
|
|
|
|
|
"-DBUILD_CPU_DEMOS=OFF"
|
|
|
|
|
"-DBUILD_OPENGL3_DEMOS=OFF"
|
|
|
|
|
"-DBUILD_BULLET2_DEMOS=OFF"
|
|
|
|
|
(string-append "-DCMAKE_CXX_FLAGS=-fPIC "
|
|
|
|
|
(or (getenv "CXXFLAGS") "")))
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'remove-failing-tests
|
2020-01-01 19:08:45 -05:00
|
|
|
|
;; These tests fail specifically after removing 3rd party code.
|
2019-01-03 08:44:11 -05:00
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "test/SharedMemory/CMakeLists.txt"
|
|
|
|
|
(("ADD_TEST") "# ADD_TEST"))
|
|
|
|
|
(substitute* "test/InverseDynamics/CMakeLists.txt"
|
|
|
|
|
(("ADD_TEST\\(Test_BulletInverseForward")
|
|
|
|
|
"# ADD_TEST(Test_BulletInverseForward"))
|
|
|
|
|
#t)))))
|
2016-11-06 01:44:21 -05:00
|
|
|
|
(inputs
|
|
|
|
|
`(("glu" ,glu)
|
|
|
|
|
("libx11" ,libx11)
|
|
|
|
|
("mesa" ,mesa)))
|
2018-01-16 16:08:48 -05:00
|
|
|
|
(home-page "https://pybullet.org/wordpress/")
|
2014-12-15 05:50:18 -05:00
|
|
|
|
(synopsis "3D physics engine library")
|
|
|
|
|
(description
|
|
|
|
|
"Bullet is a physics engine library usable for collision detection. It
|
|
|
|
|
is used in some video games and movies.")
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(license license:zlib)))
|
|
|
|
|
|
2017-03-18 16:21:31 -04:00
|
|
|
|
(define-public deutex
|
|
|
|
|
(package
|
|
|
|
|
(name "deutex")
|
2020-01-01 18:58:41 -05:00
|
|
|
|
(version "5.2.1")
|
2017-03-18 16:21:31 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2019-06-25 09:34:03 -04:00
|
|
|
|
(uri (string-append "https://github.com/Doom-Utils/deutex"
|
2017-08-06 13:44:12 -04:00
|
|
|
|
"/releases/download/v" version "/"
|
2019-06-25 09:34:03 -04:00
|
|
|
|
"deutex-" version ".tar.xz"))
|
2017-03-18 16:21:31 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-01-01 18:58:41 -05:00
|
|
|
|
"07w3asqxx89wl2wfv1z3cak8v83h3ys3b39mq9qq4gyf3xdhs76n"))))
|
2017-03-18 16:21:31 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2017-08-06 13:44:12 -04:00
|
|
|
|
(native-inputs `(("asciidoc" ,asciidoc)))
|
2017-03-18 16:21:31 -04:00
|
|
|
|
(home-page "https://github.com/Doom-Utils/deutex")
|
|
|
|
|
(synopsis "WAD file composer for Doom and related games")
|
|
|
|
|
(description
|
|
|
|
|
"DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be
|
|
|
|
|
used to extract the lumps of a wad and save them as individual files.
|
|
|
|
|
Conversely, it can also build a wad from separate files. When extracting a
|
|
|
|
|
lump to a file, it does not just copy the raw data, it converts it to an
|
|
|
|
|
appropriate format (such as PPM for graphics, Sun audio for samples, etc.).
|
|
|
|
|
Conversely, when it reads files for inclusion in pwads, it does the necessary
|
|
|
|
|
conversions (for example, from PPM to Doom picture format). In addition,
|
|
|
|
|
DeuTex has functions such as merging wads, etc.")
|
|
|
|
|
(license license:gpl2+)))
|
|
|
|
|
|
2017-06-18 13:45:17 -04:00
|
|
|
|
(define-public grfcodec
|
|
|
|
|
(package
|
|
|
|
|
(name "grfcodec")
|
|
|
|
|
(version "6.0.6")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://binaries.openttd.org/extra/"
|
|
|
|
|
name "/" version "/" name "-" version
|
|
|
|
|
"-source.tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f ; no check target
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure) ; no configure script
|
|
|
|
|
(replace 'install ; no install target
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(doc (string-append out "/share/doc"))
|
|
|
|
|
(man (string-append out "/share/man/man1")))
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(install-file file bin))
|
|
|
|
|
'("grfcodec" "grfid" "grfstrip" "nforenum"))
|
|
|
|
|
(install-file "COPYING" doc)
|
|
|
|
|
(with-directory-excursion "docs"
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(install-file (string-append file ".txt") doc))
|
|
|
|
|
'("auto_correct" "commands" "grf" "grfcodec" "grftut"
|
|
|
|
|
"readme" "readme.rpn"))
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(install-file file man))
|
|
|
|
|
(find-files "." "\\.1"))))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(synopsis "GRF development tools")
|
|
|
|
|
(description
|
2017-06-22 12:36:55 -04:00
|
|
|
|
"The @dfn{Graphics Resource File} (GRF) development tools are a set of
|
2017-06-18 13:45:17 -04:00
|
|
|
|
tools for developing (New)GRFs. It includes a number of smaller programs, each
|
|
|
|
|
with a specific task:
|
|
|
|
|
@enumerate
|
|
|
|
|
@item @code{grfcodec} decodes and encodes GRF files for OpenTTD.
|
|
|
|
|
@item @code{grfid} extracts the so-called \"GRF ID\" from a GRF.
|
|
|
|
|
@item @code{grfstrip} strips all sprites from a GRF.
|
|
|
|
|
@item @code{nforenum} checks NFO code for errors, making corrections when
|
|
|
|
|
necessary.
|
|
|
|
|
@end enumerate")
|
|
|
|
|
(home-page "http://dev.openttdcoop.org/projects/grfcodec")
|
|
|
|
|
;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
|
|
|
|
|
;; NFORenum is under the GPL2+.
|
|
|
|
|
;; The MD5 implementation contained in GRFID is under the zlib license.
|
|
|
|
|
(license (list license:gpl2 license:gpl2+ license:zlib))))
|
|
|
|
|
|
2017-09-13 12:36:12 -04:00
|
|
|
|
(define-public catcodec
|
|
|
|
|
(package
|
|
|
|
|
(name "catcodec")
|
|
|
|
|
(version "1.0.5")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://binaries.openttd.org/extra/catcodec/"
|
|
|
|
|
version "/catcodec-" version "-source.tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; no tests
|
|
|
|
|
#:make-flags (list (string-append "prefix=" %output))
|
|
|
|
|
#:phases (modify-phases %standard-phases
|
|
|
|
|
(delete 'configure))))
|
|
|
|
|
(home-page "http://dev.openttdcoop.org/projects/catcodec")
|
|
|
|
|
(synopsis "Encode/decode OpenTTD sounds")
|
|
|
|
|
(description "catcodec encodes and decodes sounds for OpenTTD. These
|
|
|
|
|
sounds are not much more than some metadata (description and filename) and raw
|
|
|
|
|
PCM data.")
|
|
|
|
|
(license license:gpl2)))
|
|
|
|
|
|
2015-09-28 23:08:30 -04:00
|
|
|
|
(define-public gzochi
|
|
|
|
|
(package
|
|
|
|
|
(name "gzochi")
|
2018-07-05 11:06:02 -04:00
|
|
|
|
(version "0.12")
|
2015-09-28 23:08:30 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://savannah/gzochi/gzochi-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-07-05 11:06:02 -04:00
|
|
|
|
"0h8yvk7154kd8zdfa9nqy73blrjq2x19kv305jcnwlmm09vvss59"))))
|
2015-09-28 23:08:30 -04:00
|
|
|
|
(build-system gnu-build-system)
|
2018-04-30 13:12:34 -04:00
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases (modify-phases %standard-phases
|
|
|
|
|
(add-before 'build 'no-Werror
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Don't abort builds due to things like GLib
|
|
|
|
|
;; deprecation warnings.
|
|
|
|
|
(substitute* (find-files "." "^Makefile\\.in$")
|
|
|
|
|
(("-Werror") ""))
|
|
|
|
|
#t)))))
|
2015-09-28 23:08:30 -04:00
|
|
|
|
(native-inputs `(("pkgconfig" ,pkg-config)))
|
|
|
|
|
(inputs `(("bdb" ,bdb)
|
|
|
|
|
("glib" ,glib)
|
2018-04-30 13:13:38 -04:00
|
|
|
|
("guile" ,guile-2.2)
|
2015-09-28 23:08:30 -04:00
|
|
|
|
("libmicrohttpd" ,libmicrohttpd)
|
|
|
|
|
("ncurses" ,ncurses)
|
|
|
|
|
("sdl" ,sdl)
|
|
|
|
|
("zlib" ,zlib)))
|
gnu: Use HTTPS for supported nongnu.org home pages.
* gnu/packages/acl.scm (acl)[home-page]: Use HTTPS.
* gnu/packages/admin.scm (dmidecode)[home-page]: Likewise.
* gnu/packages/attr.scm (attr)[home-page]: Likewise.
* gnu/packages/audio.scm (lash)[home-page]: Likewise.
* gnu/packages/avr.scm (avr-libc)[home-page]: Likewise.
* gnu/packages/backup.scm (rdiff-backup, libchop)[home-page]: Likewise.
* gnu/packages/compression.scm (fastjar, lzip, lziprecover, atool)
(lunzip, clzip, lzlib, plzip)[home-page]: Likewise.
* gnu/packages/emacs.scm (geiser, bbdb, m17n-lib, m17n-lib)[home-page]:
Likewise.
* gnu/packages/flashing-tools.scm (avrdude)[home-page]: Likewise.
* gnu/packages/fontutils.scm (libotf)[home-page]: Likewise.
* gnu/packages/game-development.scm (gzochi)[home-page]: Likewise.
* gnu/packages/games.scm (enigma)[home-page]: Likewise.
* gnu/packages/gsasl.scm (libntlm)[home-page]: Likewise.
* gnu/packages/gtk.scm (guile-cairo)[home-page]: Likewise.
* gnu/packages/guile.scm (guile-reader, guile-lib, guile-json)
(guile-redis, g-wrap)[home-page]: Likewise.
* gnu/packages/libunwind.scm (libunwind)[home-page]: Likewise.
* gnu/packages/lout.scm (lout)[home-page]: Likewise.
* gnu/packages/mpd.scm (sonata)[home-page]: Likewise.
* gnu/packages/networking.scm (quagga)[home-page]: Likewise.
* gnu/packages/ratpoison.scm (ratpoison)[home-page]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[home-page]: Likewise.
* gnu/packages/telephony.scm (exosip)[home-page]: Likewise.
* gnu/packages/texinfo.scm (texi2html)[home-page]: Likewise.
* gnu/packages/xdisorg.scm (xbindkeys)[home-page]: Likewise.
2018-02-15 22:20:44 -05:00
|
|
|
|
(home-page "https://www.nongnu.org/gzochi/")
|
2015-09-28 23:08:30 -04:00
|
|
|
|
(synopsis "Scalable middleware for multiplayer games")
|
|
|
|
|
(description
|
|
|
|
|
"gzochi is a framework for developing massively multiplayer online games.
|
|
|
|
|
A server container provides services to deployed games, which are written in
|
|
|
|
|
Guile Scheme, that abstract and simplify some of the most challenging and
|
|
|
|
|
error-prone aspects of online game development: Concurrency, data persistence,
|
|
|
|
|
and network communications. A very thin client library can be embedded to
|
|
|
|
|
provide connectivity for client applications written in any language.")
|
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
|
2017-06-18 13:44:43 -04:00
|
|
|
|
(define-public nml
|
|
|
|
|
(package
|
|
|
|
|
(name "nml")
|
2018-07-04 20:25:41 -04:00
|
|
|
|
(version "0.4.5")
|
2017-06-18 13:44:43 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://bundles.openttdcoop.org/nml/releases/"
|
|
|
|
|
version "/nml-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-07-04 20:25:41 -04:00
|
|
|
|
"1pmvvm3sgnpngfa7884mqhq3fwdjh9sr0ca07ypnidcg0y341w53"))))
|
2017-06-18 13:44:43 -04:00
|
|
|
|
(build-system python-build-system)
|
2019-09-07 14:09:25 -04:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'build 'fix-pillow
|
|
|
|
|
(lambda _
|
|
|
|
|
;; pillow's version is not in PIL.Image.VERSION anymore
|
|
|
|
|
(substitute* "nml/version_info.py"
|
|
|
|
|
(("from PIL import Image") "import PIL")
|
|
|
|
|
(("Image.VERSION") "PIL.__version__"))
|
|
|
|
|
#t)))))
|
2017-06-18 13:44:43 -04:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python-pillow" ,python-pillow)
|
|
|
|
|
("python-ply" ,python-ply)))
|
2018-07-04 20:26:11 -04:00
|
|
|
|
(home-page "https://dev.openttdcoop.org/projects/nml")
|
2017-06-18 13:44:43 -04:00
|
|
|
|
(synopsis "NML compiler")
|
|
|
|
|
(description
|
2017-06-22 12:32:22 -04:00
|
|
|
|
"@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of
|
2017-06-18 13:44:43 -04:00
|
|
|
|
compiling NML files (along with their associated language, sound and graphic
|
|
|
|
|
files) into @file{.grf} and/or @file{.nfo} files.")
|
|
|
|
|
(license license:gpl2+)))
|
|
|
|
|
|
2017-05-10 12:27:42 -04:00
|
|
|
|
(define-public python-sge-pygame
|
|
|
|
|
(package
|
|
|
|
|
(name "python-sge-pygame")
|
2017-08-31 10:13:36 -04:00
|
|
|
|
(version "1.5.1")
|
2017-05-10 12:27:42 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
2017-10-19 18:00:42 -04:00
|
|
|
|
(uri (string-append "mirror://savannah/stellarengine/"
|
|
|
|
|
(version-major+minor version) "/sge-pygame-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
2017-05-10 12:27:42 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2017-08-31 10:13:36 -04:00
|
|
|
|
"1rl3xjzh78sl0sq3xl8rl7cgp9v9v3h7s2pfwn7nj1vrmffzkcpd"))))
|
2017-05-10 12:27:42 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python-pygame" ,python-pygame)
|
2017-06-22 16:37:43 -04:00
|
|
|
|
("python-six" ,python-six)
|
|
|
|
|
("python-uniseg" ,python-uniseg)))
|
2017-05-10 12:27:42 -04:00
|
|
|
|
(home-page "http://stellarengine.nongnu.org")
|
|
|
|
|
(synopsis "2D game engine for Python")
|
|
|
|
|
(description
|
|
|
|
|
"The SGE Game Engine (\"SGE\", pronounced like \"Sage\") is a
|
2018-04-14 12:35:35 -04:00
|
|
|
|
general-purpose 2D game engine. It takes care of several details for you so
|
2017-05-10 12:27:42 -04:00
|
|
|
|
you can focus on the game itself. This makes more rapid game development
|
|
|
|
|
possible, and it also makes the SGE easy to learn.")
|
|
|
|
|
(license license:lgpl3+)))
|
|
|
|
|
|
|
|
|
|
(define-public python2-sge-pygame
|
|
|
|
|
(package-with-python2 python-sge-pygame))
|
|
|
|
|
|
2017-05-10 13:18:11 -04:00
|
|
|
|
(define-public python-tmx
|
|
|
|
|
(package
|
|
|
|
|
(name "python-tmx")
|
2017-08-31 10:14:12 -04:00
|
|
|
|
(version "1.10")
|
2017-05-10 13:18:11 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
2017-06-05 18:47:16 -04:00
|
|
|
|
(uri (string-append "mirror://savannah/python-tmx/"
|
|
|
|
|
(version-major+minor version) "/tmx-"
|
2017-05-10 13:18:11 -04:00
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2017-08-31 10:14:12 -04:00
|
|
|
|
"073q0prg1nzlkga2b45vhscz374206qh4x68ccg00mxxwagn64z0"))))
|
2017-05-10 13:18:11 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python-six" ,python-six)))
|
|
|
|
|
(home-page "http://python-tmx.nongnu.org")
|
|
|
|
|
(synopsis "Python library for the @code{Tiled} TMX format")
|
|
|
|
|
(description
|
|
|
|
|
"Python TMX reads and writes the @code{Tiled} TMX format in a simple way.
|
|
|
|
|
This is useful for map editors or generic level editors, and it's also useful
|
|
|
|
|
for using a map editor or generic level editor like Tiled to edit your game's
|
|
|
|
|
levels.")
|
|
|
|
|
(license (list license:asl2.0
|
|
|
|
|
;; Documentation (only available in the source tarball) is
|
|
|
|
|
;; under the CC0 license.
|
|
|
|
|
license:cc0))))
|
|
|
|
|
|
|
|
|
|
(define-public python2-tmx
|
|
|
|
|
(let ((python2-tmx (package-with-python2 python-tmx)))
|
|
|
|
|
(package
|
|
|
|
|
(inherit python2-tmx)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python2-pathlib" ,python2-pathlib)
|
|
|
|
|
,@(package-propagated-inputs python2-tmx))))))
|
|
|
|
|
|
2017-05-31 17:56:33 -04:00
|
|
|
|
(define-public python-xsge
|
|
|
|
|
(package
|
|
|
|
|
(name "python-xsge")
|
2018-07-26 23:30:14 -04:00
|
|
|
|
(version "2018.02.26")
|
2017-05-31 17:56:33 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-06-27 20:28:06 -04:00
|
|
|
|
(uri (string-append "mirror://savannah/xsge/xsge/xsge-"
|
2017-05-31 17:56:33 -04:00
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-07-26 23:30:14 -04:00
|
|
|
|
"0bx93hgf7cgdw2gsygbh59y8vpw37pgsa279rajw3fkdpl8vrc40"))))
|
2017-05-31 17:56:33 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
;; xSGE's setup.py script does not support one of the Python build
|
|
|
|
|
;; system's default flags, "--single-version-externally-managed".
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
2018-07-26 23:30:14 -04:00
|
|
|
|
(invoke "python" "setup.py" "install"
|
|
|
|
|
(string-append "--prefix=" (assoc-ref outputs "out"))
|
|
|
|
|
"--root=/"))))
|
2017-05-31 17:56:33 -04:00
|
|
|
|
#:tests? #f)) ; no check target
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("python-sge-pygame" ,python-sge-pygame)
|
|
|
|
|
("python-pygame" ,python-pygame)
|
|
|
|
|
("python-six" ,python-six)
|
|
|
|
|
("python-tmx" ,python-tmx)))
|
|
|
|
|
(home-page "http://xsge.nongnu.org")
|
|
|
|
|
(synopsis "Extensions for the SGE Game Engine")
|
|
|
|
|
(description
|
|
|
|
|
"xSGE is a collection of modules that make doing certain tasks with the SGE
|
|
|
|
|
Game Engine easier. In addition to SGE's conveniences, the user has access to a
|
|
|
|
|
GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format
|
|
|
|
|
support.")
|
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
|
|
|
|
|
(define-public python2-xsge
|
|
|
|
|
(package-with-python2 python-xsge))
|
|
|
|
|
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(define-public tiled
|
|
|
|
|
(package
|
|
|
|
|
(name "tiled")
|
2019-10-16 20:20:11 -04:00
|
|
|
|
(version "1.2.5")
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(source (origin
|
2018-11-11 07:18:27 -05:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/bjorn/tiled.git")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-10-16 20:20:11 -04:00
|
|
|
|
"14v2zfka2y3h0r0biw1rl59585lji5074x958s4xnb352jm5h9b9"))))
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(build-system gnu-build-system)
|
2017-05-25 04:00:04 -04:00
|
|
|
|
(inputs
|
|
|
|
|
`(("qtbase" ,qtbase)
|
|
|
|
|
("qtsvg" ,qtsvg)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("qttools" ,qttools)))
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
2016-03-01 06:34:12 -05:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
2017-05-25 04:00:04 -04:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(substitute* "translations/translations.pro"
|
|
|
|
|
(("LRELEASE =.*")
|
|
|
|
|
(string-append "LRELEASE = "
|
|
|
|
|
(assoc-ref inputs "qttools")
|
|
|
|
|
"/bin/lrelease\n")))
|
2016-03-01 06:34:12 -05:00
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
2018-07-27 00:16:31 -04:00
|
|
|
|
(invoke "qmake"
|
|
|
|
|
(string-append "PREFIX=" out))))))))
|
2019-06-06 00:04:33 -04:00
|
|
|
|
(home-page "https://www.mapeditor.org/")
|
2015-01-19 15:12:52 -05:00
|
|
|
|
(synopsis "Tile map editor")
|
|
|
|
|
(description
|
|
|
|
|
"Tiled is a general purpose tile map editor. It is meant to be used for
|
|
|
|
|
editing maps of any tile-based game, be it an RPG, a platformer or a Breakout
|
|
|
|
|
clone.")
|
|
|
|
|
|
|
|
|
|
;; As noted in 'COPYING', part of it is under GPLv2+, while the rest is
|
|
|
|
|
;; under BSD-2.
|
|
|
|
|
(license license:gpl2+)))
|
2015-04-26 16:38:43 -04:00
|
|
|
|
|
|
|
|
|
(define-public sfml
|
|
|
|
|
(package
|
|
|
|
|
(name "sfml")
|
2018-10-24 22:23:31 -04:00
|
|
|
|
(version "2.5.1")
|
2015-04-26 16:38:43 -04:00
|
|
|
|
(source (origin
|
2018-10-24 22:20:27 -04:00
|
|
|
|
(method git-fetch)
|
2015-09-20 04:07:00 -04:00
|
|
|
|
;; Do not fetch the archives from
|
|
|
|
|
;; http://mirror0.sfml-dev.org/files/ because files there seem
|
|
|
|
|
;; to be changed in place.
|
2018-10-24 22:20:27 -04:00
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/SFML/SFML.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2015-04-26 16:38:43 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-10-24 22:23:31 -04:00
|
|
|
|
"0abr8ri2ssfy9ylpgjrr43m6rhrjy03wbj9bn509zqymifvq5pay"))
|
2018-07-14 09:19:07 -04:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
;; Ensure system libraries are used.
|
|
|
|
|
(delete-file-recursively "extlibs")
|
|
|
|
|
#t))))
|
2015-04-26 16:38:43 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
2016-10-16 14:07:09 -04:00
|
|
|
|
'(#:configure-flags
|
2018-07-14 09:08:12 -04:00
|
|
|
|
(list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE"
|
|
|
|
|
"-DSFML_OS_PKGCONFIG_DIR=lib/pkgconfig")
|
2016-10-16 14:07:09 -04:00
|
|
|
|
#:tests? #f)) ; no tests
|
2018-07-14 09:08:12 -04:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
2015-04-26 16:38:43 -04:00
|
|
|
|
(inputs
|
|
|
|
|
`(("mesa" ,mesa)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("libx11" ,libx11)
|
2015-07-31 11:55:29 -04:00
|
|
|
|
("xcb-util-image" ,xcb-util-image)
|
2015-04-26 16:38:43 -04:00
|
|
|
|
("libxrandr" ,libxrandr)
|
|
|
|
|
("eudev" ,eudev)
|
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
2020-01-17 13:27:01 -05:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2018-07-14 09:19:07 -04:00
|
|
|
|
("libsndfile" ,libsndfile)
|
|
|
|
|
("stb-image" ,stb-image)
|
|
|
|
|
("stb-image-write" ,stb-image-write)))
|
2018-07-14 09:08:12 -04:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
;; In Requires.private of pkg-config files.
|
|
|
|
|
`(("flac" ,flac)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("libvorbis" ,libvorbis)
|
2015-04-26 16:38:43 -04:00
|
|
|
|
("openal" ,openal)))
|
2017-04-15 19:53:14 -04:00
|
|
|
|
(home-page "https://www.sfml-dev.org")
|
2015-04-26 16:38:43 -04:00
|
|
|
|
(synopsis "Simple and Fast Multimedia Library")
|
|
|
|
|
(description
|
|
|
|
|
"SFML provides a simple interface to the various computer components,
|
|
|
|
|
to ease the development of games and multimedia applications. It is composed
|
|
|
|
|
of five modules: system, window, graphics, audio and network.")
|
|
|
|
|
(license license:zlib)))
|
2015-05-18 19:14:01 -04:00
|
|
|
|
|
|
|
|
|
(define-public sfxr
|
|
|
|
|
(package
|
|
|
|
|
(name "sfxr")
|
|
|
|
|
(version "1.2.1")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://www.drpetter.se/files/sfxr-sdl-1.2.1.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0dfqgid6wzzyyhc0ha94prxax59wx79hqr25r6if6by9cj4vx4ya"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases (modify-phases %standard-phases
|
|
|
|
|
(delete 'configure) ; no configure script
|
|
|
|
|
(add-before 'build 'patch-makefile
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(substitute* "Makefile"
|
|
|
|
|
(("\\$\\(DESTDIR\\)/usr") out))
|
|
|
|
|
(substitute* "main.cpp"
|
|
|
|
|
(("/usr/share")
|
|
|
|
|
(string-append out "/share")))
|
|
|
|
|
#t))))
|
|
|
|
|
#:tests? #f)) ; no tests
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("desktop-file-utils" ,desktop-file-utils)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("sdl" ,sdl)
|
|
|
|
|
("gtk+" ,gtk+)))
|
|
|
|
|
(synopsis "Simple sound effect generator")
|
|
|
|
|
(description "Sfxr is a tool for quickly generating simple sound effects.
|
|
|
|
|
Originally created for use in video game prototypes, it can generate random
|
|
|
|
|
sounds from presets such as \"explosion\" or \"powerup\".")
|
|
|
|
|
(home-page "http://www.drpetter.se/project_sfxr.html")
|
|
|
|
|
(license license:expat)))
|
2015-10-04 12:49:24 -04:00
|
|
|
|
|
2020-02-17 08:11:26 -05:00
|
|
|
|
(define-public surgescript
|
|
|
|
|
(package
|
|
|
|
|
(name "surgescript")
|
|
|
|
|
(version "0.5.4.3")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/alemart/surgescript.git")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "13q81439zg1bn7gskligskjgcfq0rdapp6f3llmrlk48vnyq49s0"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:configure-flags
|
|
|
|
|
(let ((share (string-append (assoc-ref %outputs "out") "/share")))
|
|
|
|
|
(list (string-append "-DICON_PATH=" share "/pixmaps")
|
|
|
|
|
(string-append "-DMETAINFO_PATH=" share "/metainfo")))
|
|
|
|
|
#:tests? #f))
|
|
|
|
|
(home-page "https://docs.opensurge2d.org")
|
|
|
|
|
(synopsis "Scripting language for games")
|
|
|
|
|
(description "@code{SurgeScript} is a dynamically typed object-oriented
|
|
|
|
|
scripting language designed for games. Each object is a state machine that
|
|
|
|
|
can be customized by attaching other objects. The language supports automatic
|
|
|
|
|
garbage collection and can be extended with plugins.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2015-10-04 12:49:24 -04:00
|
|
|
|
(define-public physfs
|
|
|
|
|
(package
|
|
|
|
|
(name "physfs")
|
2019-03-24 08:52:43 -04:00
|
|
|
|
(version "3.0.2")
|
2015-10-04 12:49:24 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
2017-04-15 19:53:14 -04:00
|
|
|
|
"https://icculus.org/physfs/downloads/physfs-"
|
2015-10-04 12:49:24 -04:00
|
|
|
|
version ".tar.bz2"))
|
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-03-24 08:52:43 -04:00
|
|
|
|
"0qzqz4r88gvd8m7sh2z5hvqcr0jfr4wb2f77c19xycyn0rigfk9h"))))
|
2015-10-04 12:49:24 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
2018-07-14 06:47:32 -04:00
|
|
|
|
'(#:tests? #f ; no check target
|
|
|
|
|
#:phases (modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-CMakeLists.txt
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "CMakeLists.txt"
|
|
|
|
|
;; XXX: For some reason CMakeLists.txt disables
|
|
|
|
|
;; RUNPATH manipulation when the compiler is GCC.
|
|
|
|
|
(("CMAKE_COMPILER_IS_GNUCC") "FALSE"))
|
|
|
|
|
#t)))))
|
2015-10-04 12:49:24 -04:00
|
|
|
|
(inputs
|
|
|
|
|
`(("zlib" ,zlib)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("doxygen" ,doxygen)))
|
2017-04-15 19:53:14 -04:00
|
|
|
|
(home-page "https://icculus.org/physfs")
|
2015-10-04 12:49:24 -04:00
|
|
|
|
(synopsis "File system abstraction library")
|
|
|
|
|
(description
|
|
|
|
|
"PhysicsFS is a library to provide abstract access to various archives.
|
|
|
|
|
It is intended for use in video games. For security, no file writing done
|
|
|
|
|
through the PhysicsFS API can leave a defined @emph{write directory}. For
|
|
|
|
|
file reading, a @emph{search path} with archives and directories is defined,
|
|
|
|
|
and it becomes a single, transparent hierarchical file system. So archive
|
|
|
|
|
files can be accessed in the same way as you access files directly on a disk,
|
|
|
|
|
and it makes it easy to ship a new archive that will override a previous
|
|
|
|
|
archive on a per-file basis.")
|
|
|
|
|
(license license:zlib)))
|
2015-11-14 14:00:20 -05:00
|
|
|
|
|
|
|
|
|
(define-public love
|
|
|
|
|
(package
|
|
|
|
|
(name "love")
|
2019-10-29 09:03:18 -04:00
|
|
|
|
(version "11.3")
|
2015-11-14 14:00:20 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://bitbucket.org/rude/love/downloads/"
|
|
|
|
|
"love-" version "-linux-src.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-10-29 09:03:18 -04:00
|
|
|
|
"0m8lvlabmcchskx4qpzkdlsm44360f3j0q3vvvj2388cfnvhv7v4"))))
|
2015-11-14 14:00:20 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("devil" ,devil)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("libmodplug" ,libmodplug)
|
2016-01-01 21:30:21 -05:00
|
|
|
|
("libtheora" ,libtheora)
|
2015-11-14 14:00:20 -05:00
|
|
|
|
("libvorbis" ,libvorbis)
|
|
|
|
|
("luajit" ,luajit)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("mpg123" ,mpg123)
|
|
|
|
|
("openal" ,openal)
|
|
|
|
|
("physfs" ,physfs)
|
|
|
|
|
("sdl2" ,sdl2)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(synopsis "2D game framework for Lua")
|
|
|
|
|
(description "LÖVE is a framework for making 2D games in the Lua
|
|
|
|
|
programming language.")
|
|
|
|
|
(home-page "https://love2d.org/")
|
|
|
|
|
(license license:zlib)))
|
2016-01-29 16:08:12 -05:00
|
|
|
|
|
2019-12-11 09:33:44 -05:00
|
|
|
|
(define-public love-nuklear
|
|
|
|
|
(let ((version "v2.6")
|
|
|
|
|
(commit "fef4e00a602efb16c57ae962850b6e7a01f7a29a"))
|
|
|
|
|
(package
|
|
|
|
|
(name "love-nuklear")
|
|
|
|
|
(version (git-version version "1" commit))
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/keharriso/love-nuklear/")
|
|
|
|
|
(commit commit)
|
|
|
|
|
(recursive? #t)))
|
|
|
|
|
;; NOTE: the HEAD of the Nuklear git-submodule is at commit
|
|
|
|
|
;; "adc52d710fe3c87194b99f540c53e82eb75c2521" of Oct 1 2019
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"15qmy8mfwkxy2x9rmxs6f9cyvjvwwj6yf78bs863xmc56dmjzzbn"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:build-type "Release"
|
|
|
|
|
#:tests? #f))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("luajit" ,luajit)))
|
|
|
|
|
(synopsis "Lightweight immediate mode GUI for LÖVE games")
|
|
|
|
|
(description "LÖVE is a Lua framework for making 2D games. Nuklear
|
|
|
|
|
is a minimal state immediate mode graphical user interface toolkit. This
|
|
|
|
|
package is the Nuklear bindings for LÖVE created by Kevin Harrison.")
|
|
|
|
|
(home-page "https://github.com/keharriso/love-nuklear/")
|
|
|
|
|
(license license:expat))))
|
|
|
|
|
|
2016-01-29 16:08:12 -05:00
|
|
|
|
(define-public allegro-4
|
|
|
|
|
(package
|
|
|
|
|
(name "allegro")
|
2019-02-14 23:34:09 -05:00
|
|
|
|
(version "4.4.3")
|
2016-01-29 16:08:12 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-06-03 16:33:27 -04:00
|
|
|
|
(uri (string-append "https://github.com/liballeg/allegro5/"
|
|
|
|
|
"releases/download/" version "/allegro-"
|
|
|
|
|
version ".tar.gz"))
|
2016-01-29 16:08:12 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-02-14 23:34:09 -05:00
|
|
|
|
"1d5ws3ihvpa6f4qc6a6drq31pajw6bblxifr4kcxzqj9br1nw28y"))))
|
2016-01-29 16:08:12 -05:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-build-system
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Build addons as shared libraries. Trying to set ADDON_LINKAGE
|
|
|
|
|
;; via a command line option doesn't work because it is
|
|
|
|
|
;; unconditionally clobbered in the build script.
|
|
|
|
|
(substitute* '("CMakeLists.txt")
|
|
|
|
|
(("ADDON_LINKAGE STATIC")
|
|
|
|
|
"ADDON_LINKAGE SHARED"))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("glu" ,glu)
|
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("libvorbis" ,libvorbis)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(synopsis "Game programming library")
|
|
|
|
|
(description "Allegro is a library mainly aimed at video game and
|
|
|
|
|
multimedia programming. It handles common, low-level tasks such as creating
|
|
|
|
|
windows, accepting user input, loading data, drawing images, playing sounds,
|
|
|
|
|
etc.")
|
2020-01-17 16:18:29 -05:00
|
|
|
|
(home-page "https://liballeg.org")
|
2016-01-29 16:08:12 -05:00
|
|
|
|
(license license:giftware)))
|
2016-01-29 16:17:45 -05:00
|
|
|
|
|
2016-07-18 16:14:09 -04:00
|
|
|
|
(define-public allegro
|
|
|
|
|
(package
|
|
|
|
|
(name "allegro")
|
2019-06-07 19:25:16 -04:00
|
|
|
|
(version "5.2.5.0")
|
2016-07-18 16:14:09 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-06-03 16:33:27 -04:00
|
|
|
|
(uri (string-append "https://github.com/liballeg/allegro5/releases"
|
|
|
|
|
"/download/" version "/allegro-"
|
2018-07-27 14:23:43 -04:00
|
|
|
|
version ".tar.gz"))
|
2016-07-18 16:14:09 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-06-07 19:25:16 -04:00
|
|
|
|
"06dpkfnac8w3pq36834nn2iij3ajz6prladqd0w92lq39aiqv5jr"))))
|
2016-07-18 16:14:09 -04:00
|
|
|
|
(build-system cmake-build-system)
|
2019-06-07 19:25:16 -04:00
|
|
|
|
(arguments `(#:tests? #f)) ; there are no tests
|
2016-07-18 16:14:09 -04:00
|
|
|
|
(inputs
|
|
|
|
|
;; FIXME: Add the following optional inputs: xinput2, opensl, dumb
|
|
|
|
|
`(("flac" ,flac)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("glu" ,glu)
|
|
|
|
|
("gtk" ,gtk+-2)
|
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
2020-01-17 13:27:01 -05:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2016-07-18 16:14:09 -04:00
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("libtheora" ,libtheora)
|
|
|
|
|
("libvorbis" ,libvorbis)
|
|
|
|
|
("libxcursor" ,libxcursor)
|
|
|
|
|
("libxinerama" ,libxinerama)
|
|
|
|
|
("libxrandr" ,libxrandr)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("openal" ,openal)
|
|
|
|
|
("physfs" ,physfs)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(synopsis "Game programming library")
|
|
|
|
|
(description "Allegro is a library mainly aimed at video game and
|
|
|
|
|
multimedia programming. It handles common, low-level tasks such as creating
|
|
|
|
|
windows, accepting user input, loading data, drawing images, playing sounds,
|
|
|
|
|
etc.")
|
2020-01-17 16:18:29 -05:00
|
|
|
|
(home-page "https://liballeg.org")
|
2016-07-18 16:14:09 -04:00
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2016-07-18 16:14:37 -04:00
|
|
|
|
(define-public allegro-5.0
|
|
|
|
|
(package (inherit allegro)
|
|
|
|
|
(name "allegro")
|
|
|
|
|
(version "5.0.11")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-06-03 16:33:27 -04:00
|
|
|
|
(uri (string-append "https://github.com/liballeg/allegro5/releases"
|
|
|
|
|
"/download/" version "/allegro-"
|
|
|
|
|
(if (equal? "0" (string-take-right version 1))
|
|
|
|
|
(string-drop-right version 2)
|
|
|
|
|
version)
|
|
|
|
|
".tar.gz"))
|
2019-01-01 03:22:34 -05:00
|
|
|
|
(patches (search-patches
|
|
|
|
|
"allegro-mesa-18.2.5-and-later.patch"))
|
2016-07-18 16:14:37 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0cd51qrh97jrr0xdmnivqgwljpmizg8pixsgvc4blqqlaz4i9zj9"))))))
|
|
|
|
|
|
2016-01-29 16:17:45 -05:00
|
|
|
|
(define-public aseprite
|
|
|
|
|
(package
|
|
|
|
|
(name "aseprite")
|
2017-03-26 02:50:08 -04:00
|
|
|
|
(version "1.1.7") ; After 1.1.7 the source is no longer distributed under the GPL.
|
2017-03-26 01:08:27 -04:00
|
|
|
|
;; TODO: Unbundle third party software.
|
2016-01-29 16:17:45 -05:00
|
|
|
|
(source (origin
|
2017-03-26 01:08:27 -04:00
|
|
|
|
(method url-fetch/zipbomb)
|
|
|
|
|
(uri (string-append "https://github.com/aseprite/aseprite"
|
|
|
|
|
"/releases/download/v" version
|
|
|
|
|
"/Aseprite-v" version "-Source.zip"))
|
2016-01-29 16:17:45 -05:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2017-03-26 02:50:08 -04:00
|
|
|
|
"1plss4i1lfxcznv9p0pip1bkhj7ipw7jlhsh5avd6dzw079l4nvv"))))
|
2016-01-29 16:17:45 -05:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:configure-flags
|
|
|
|
|
;; Use shared libraries instead of building bundled source.
|
|
|
|
|
(list "-DWITH_WEBP_SUPPORT=1"
|
|
|
|
|
"-DUSE_SHARED_CURL=1"
|
|
|
|
|
"-DUSE_SHARED_GIFLIB=1"
|
|
|
|
|
"-DUSE_SHARED_JPEGLIB=1"
|
|
|
|
|
"-DUSE_SHARED_ZLIB=1"
|
|
|
|
|
"-DUSE_SHARED_LIBPNG=1"
|
|
|
|
|
"-DUSE_SHARED_LIBLOADPNG=1"
|
|
|
|
|
"-DUSE_SHARED_LIBWEBP=1"
|
|
|
|
|
"-DUSE_SHARED_TINYXML=1"
|
|
|
|
|
"-DUSE_SHARED_PIXMAN=1"
|
|
|
|
|
"-DUSE_SHARED_FREETYPE=1"
|
|
|
|
|
"-DUSE_SHARED_ALLEGRO4=1"
|
|
|
|
|
"-DENABLE_UPDATER=0" ; no auto-updates
|
|
|
|
|
(string-append "-DFREETYPE_INCLUDE_DIR="
|
|
|
|
|
(assoc-ref %build-inputs "freetype")
|
2016-05-11 21:28:14 -04:00
|
|
|
|
"/include/freetype2"))))
|
2016-01-29 16:17:45 -05:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
;; TODO: Use a patched Allegro 4 that supports window resizing. This
|
|
|
|
|
;; patched version is bundled with Aseprite, but the patches should be
|
|
|
|
|
;; extracted and applied on top of a standalone Allegro 4 package.
|
|
|
|
|
(inputs
|
|
|
|
|
`(("allegro" ,allegro-4)
|
|
|
|
|
("curl" ,curl)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("giflib" ,giflib)
|
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
2020-01-17 13:27:01 -05:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2016-01-29 16:17:45 -05:00
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("libwebp" ,libwebp)
|
|
|
|
|
("libx11" ,libx11)
|
|
|
|
|
("libxext" ,libxext)
|
|
|
|
|
("libxxf86vm" ,libxxf86vm)
|
|
|
|
|
("pixman" ,pixman)
|
|
|
|
|
("tinyxml" ,tinyxml)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(synopsis "Animated sprite editor and pixel art tool")
|
|
|
|
|
(description "Aseprite is a tool for creating 2D pixel art for video
|
|
|
|
|
games. In addition to basic pixel editing features, Aseprite can assist in
|
|
|
|
|
the creation of animations, tiled graphics, texture atlases, and more.")
|
2017-04-15 19:53:14 -04:00
|
|
|
|
(home-page "https://www.aseprite.org/")
|
2016-01-29 16:17:45 -05:00
|
|
|
|
(license license:gpl2+)))
|
2016-04-12 12:47:26 -04:00
|
|
|
|
|
|
|
|
|
(define-public qqwing
|
|
|
|
|
(package
|
|
|
|
|
(name "qqwing")
|
|
|
|
|
(version "1.3.4")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://qqwing.com/"
|
|
|
|
|
name "-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0bw0papyqjg22z6irf36gs54y8236wa37b6gyn2h1spy65n76lqp"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(home-page "https://qqwing.com/")
|
|
|
|
|
(synopsis "Sudoku puzzle solver and generator")
|
|
|
|
|
(description
|
|
|
|
|
"QQWing is a Sudoku puzzle generator and solver.
|
|
|
|
|
It offers the following features:
|
|
|
|
|
@enumerate
|
|
|
|
|
@item Can solve 1000 puzzles in 1 second and generate 1000 puzzles in 25 seconds.
|
|
|
|
|
@item Uses logic. Uses as many solve techniques as possible when solving
|
|
|
|
|
puzzles rather than guessing.
|
|
|
|
|
@item Rates puzzles. Most generators don't give an indication of the difficulty
|
|
|
|
|
of a Sudoku puzzle. QQwing does.
|
|
|
|
|
@item Can print solve instructions for any puzzle.
|
|
|
|
|
@item Customizable output style, including a CSV style that is easy to
|
|
|
|
|
import into a database.
|
|
|
|
|
@end enumerate")
|
|
|
|
|
(license license:gpl2+)))
|
2016-06-19 18:56:56 -04:00
|
|
|
|
|
|
|
|
|
(define-public quesoglc
|
|
|
|
|
(package
|
|
|
|
|
(name "quesoglc")
|
|
|
|
|
(version "0.7.2")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/" name "/" version "/"
|
|
|
|
|
name "-" version "-free.tar.bz2"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"08ddhywdy2qg17m592ng3yr0p1ih96irg8wg729g75hsxxq9ipks"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs `(("fontconfig" ,fontconfig)
|
|
|
|
|
("freeglute" ,freeglut)
|
|
|
|
|
("fribidi" ,fribidi)
|
|
|
|
|
("glew" ,glew)))
|
|
|
|
|
(home-page "http://quesoglc.sourceforge.net")
|
|
|
|
|
(synopsis "Implementation of the OpenGL Character Renderer (GLC)")
|
|
|
|
|
(description
|
|
|
|
|
"The OpenGL Character Renderer (GLC) is a state machine that provides
|
|
|
|
|
OpenGL programs with character rendering services via an application programming
|
|
|
|
|
interface (API).")
|
|
|
|
|
(license (list license:expat license:lgpl2.1+))))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
|
|
|
|
|
(define-public python-pygame
|
|
|
|
|
(package
|
|
|
|
|
(name "python-pygame")
|
2019-03-15 15:57:17 -04:00
|
|
|
|
(version "1.9.4")
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-02-21 12:53:19 -05:00
|
|
|
|
(uri (pypi-uri "pygame" version))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-03-15 15:57:17 -04:00
|
|
|
|
"1dn0nb86jl7yr8709cncxdr0yrmviqakw7zx3g8jbbwrr60if3bh"))))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
2019-03-15 15:57:17 -04:00
|
|
|
|
`(#:tests? #f ; tests require pygame to be installed first
|
2016-07-30 14:32:49 -04:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
;; Set the paths to the dependencies manually because
|
|
|
|
|
;; the configure script does not allow passing them as
|
|
|
|
|
;; parameters. This also means we can skip the configure
|
|
|
|
|
;; phase.
|
|
|
|
|
(add-before 'build 'set-library-paths
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let ((sdl-ref (assoc-ref inputs "sdl"))
|
|
|
|
|
(font-ref (assoc-ref inputs "sdl-ttf"))
|
|
|
|
|
(image-ref (assoc-ref inputs "sdl-image"))
|
|
|
|
|
(mixer-ref (assoc-ref inputs "sdl-mixer"))
|
|
|
|
|
(smpeg-ref (assoc-ref inputs "libsmpeg"))
|
|
|
|
|
(png-ref (assoc-ref inputs "libpng"))
|
|
|
|
|
(jpeg-ref (assoc-ref inputs "libjpeg"))
|
2017-02-21 12:53:19 -05:00
|
|
|
|
(freetype-ref (assoc-ref inputs "freetype"))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(v4l-ref (assoc-ref inputs "v4l-utils"))
|
|
|
|
|
(out-ref (assoc-ref outputs "out")))
|
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("SDL = -I/usr/include/SDL")
|
|
|
|
|
(string-append "SDL = -I" sdl-ref "/include/SDL -I.")))
|
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("FONT = -lSDL_ttf")
|
|
|
|
|
(string-append "FONT = -I" font-ref "/include/SDL -L"
|
2019-03-15 15:57:17 -04:00
|
|
|
|
font-ref "/lib -lSDL_ttf")))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("IMAGE = -lSDL_image")
|
|
|
|
|
(string-append "IMAGE = -I" image-ref "/include/SDL -L"
|
2019-03-15 15:57:17 -04:00
|
|
|
|
image-ref "/lib -lSDL_image")))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("MIXER = -lSDL_mixer")
|
|
|
|
|
(string-append "MIXER = -I" mixer-ref "/include/SDL -L"
|
2019-03-15 15:57:17 -04:00
|
|
|
|
mixer-ref "/lib -lSDL_mixer")))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("SMPEG = -lsmpeg")
|
|
|
|
|
(string-append "SMPEG = -I" smpeg-ref "/include/smpeg -L"
|
2019-03-15 15:57:17 -04:00
|
|
|
|
smpeg-ref "/lib -lsmpeg")))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("PNG = -lpng")
|
|
|
|
|
(string-append "PNG = -I" png-ref "/include -L"
|
2019-03-15 15:57:17 -04:00
|
|
|
|
png-ref "/lib -lpng")))
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("JPEG = -ljpeg")
|
|
|
|
|
(string-append "JPEG = -I" jpeg-ref "/include -L"
|
|
|
|
|
jpeg-ref "/lib -ljpeg")))
|
2017-02-21 12:53:19 -05:00
|
|
|
|
|
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("FREETYPE = -lfreetype")
|
|
|
|
|
(string-append "FREETYPE = -I" freetype-ref "/include/freetype2 -L"
|
|
|
|
|
freetype-ref "/lib -lfreetype")))
|
|
|
|
|
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(substitute* "Setup.in"
|
|
|
|
|
(("^pypm") "#pypm"))
|
|
|
|
|
;; Create a path to a header file provided by v4l-utils.
|
|
|
|
|
(system* "mkdir" "linux")
|
|
|
|
|
(system* "ln" "--symbolic"
|
|
|
|
|
(string-append v4l-ref "/include/libv4l1-videodev.h")
|
|
|
|
|
"linux/videodev.h")
|
|
|
|
|
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
|
|
|
|
|
(inputs
|
2017-02-21 12:53:19 -05:00
|
|
|
|
`(("freetype" ,freetype)
|
|
|
|
|
("sdl" ,sdl)
|
2016-07-30 14:32:49 -04:00
|
|
|
|
("sdl-image" ,sdl-image)
|
|
|
|
|
("sdl-mixer" ,sdl-mixer)
|
|
|
|
|
("sdl-ttf" ,sdl-ttf)
|
|
|
|
|
("sdl-gfx" ,sdl-gfx)
|
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
2020-01-17 13:27:01 -05:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2016-07-30 14:32:49 -04:00
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("libX11" ,libx11)
|
|
|
|
|
("libsmpeg" ,libsmpeg)
|
|
|
|
|
("portmidi" ,portmidi)
|
|
|
|
|
("v4l-utils" ,v4l-utils)))
|
2017-04-15 19:53:14 -04:00
|
|
|
|
(home-page "https://www.pygame.org")
|
2016-07-30 14:32:49 -04:00
|
|
|
|
(synopsis "SDL wrapper for Python")
|
|
|
|
|
(description "Pygame is a set of Python modules designed for writing games.
|
|
|
|
|
Pygame adds functionality on top of the excellent SDL library. This allows you
|
|
|
|
|
to create fully featured games and multimedia programs in the python language.")
|
|
|
|
|
(license (list license:bsd-2
|
|
|
|
|
;; python numeric license as listed by Debian looks like
|
|
|
|
|
;; an Expat-style license with a warranty disclaimer for
|
|
|
|
|
;; the U.S. government and the University of California.
|
|
|
|
|
license:expat
|
|
|
|
|
license:lgpl2.0+
|
|
|
|
|
license:lgpl2.1+
|
|
|
|
|
license:gpl3+
|
|
|
|
|
license:psfl
|
|
|
|
|
license:public-domain
|
|
|
|
|
license:lgpl2.1+))))
|
2017-02-21 12:53:19 -05:00
|
|
|
|
|
|
|
|
|
(define-public python2-pygame
|
|
|
|
|
(package-with-python2 python-pygame))
|
2017-03-26 20:00:42 -04:00
|
|
|
|
|
2019-10-19 11:40:27 -04:00
|
|
|
|
(define-public python2-pygame-sdl2
|
|
|
|
|
(let ((real-version "2.1.0")
|
|
|
|
|
(renpy-version "7.3.5"))
|
|
|
|
|
(package
|
|
|
|
|
(inherit python2-pygame)
|
|
|
|
|
(name "python2-pygame-sdl2")
|
|
|
|
|
(version (string-append real-version "-for-renpy-" renpy-version))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://www.renpy.org/dl/" renpy-version
|
|
|
|
|
"/pygame_sdl2-" version ".tar.gz"))
|
|
|
|
|
(sha256 (base32 "1bmr7j9mlsc4czpgw70ld15ymyp4wxrk9hdsqad40wjwdxvvg2dr"))))
|
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; tests require pygame to be installed first
|
|
|
|
|
#:python ,python-2
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'set-paths 'set-sdl-vars
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(setenv "PYGAME_SDL2_CFLAGS"
|
|
|
|
|
(string-append "-I"
|
|
|
|
|
(assoc-ref inputs "sdl-union")
|
|
|
|
|
"/include/SDL2 -D_REENTRANT"))
|
|
|
|
|
(setenv "PYGAME_SDL2_LDFLAGS"
|
|
|
|
|
(string-append "-L"
|
|
|
|
|
(assoc-ref inputs "sdl-union")
|
|
|
|
|
"/lib -Wl,-rpath,"
|
|
|
|
|
(assoc-ref inputs "sdl-union")
|
|
|
|
|
"/lib -Wl,--enable-new-dtags -lSDL2"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-before 'build 'drop-generated-files
|
|
|
|
|
(lambda args
|
|
|
|
|
(delete-file-recursively "gen")
|
|
|
|
|
(delete-file-recursively "gen3")
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("sdl-union"
|
|
|
|
|
,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("python2-cython" ,python2-cython)))
|
|
|
|
|
(home-page "http://www.renpy.org/")
|
|
|
|
|
(synopsis "Reimplementation of the Pygame API using SDL2")
|
|
|
|
|
(description "Pygame_SDL2 reimplements the Pygame API using SDL2,
|
|
|
|
|
staying close to the original, but also adding some SDL2-specific features.
|
|
|
|
|
While it aims to be used as a drop-in replacement, it appears to be
|
|
|
|
|
developed mainly for Ren'py.")
|
|
|
|
|
(license (list license:lgpl2.1 license:zlib)))))
|
|
|
|
|
|
|
|
|
|
(define-public python2-renpy
|
|
|
|
|
(package
|
|
|
|
|
(name "python2-renpy")
|
|
|
|
|
(version "7.3.5")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://www.renpy.org/dl/" version
|
|
|
|
|
"/renpy-" version "-source.tar.bz2"))
|
|
|
|
|
(sha256 (base32 "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4"))))
|
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; Ren'py doesn't seem to package tests
|
|
|
|
|
#:python ,python-2
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'fix-commands
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "renpy/editor.py"
|
|
|
|
|
(("xdg-open")
|
|
|
|
|
(which "xdg-open")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'set-paths 'set-build-vars
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(setenv "RENPY_CYTHON"
|
|
|
|
|
(string-append (assoc-ref inputs "python2-cython")
|
|
|
|
|
"/bin/cython"))
|
|
|
|
|
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))
|
|
|
|
|
#t))
|
|
|
|
|
(replace 'build
|
2020-01-16 12:43:10 -05:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
|
|
|
|
|
;; The "module" subdirectory contains a python (really cython)
|
|
|
|
|
;; project, which is built using a script, that is thankfully
|
|
|
|
|
;; named "setup.py".
|
|
|
|
|
(with-directory-excursion "module"
|
|
|
|
|
(apply (assoc-ref %standard-phases 'build) args))
|
|
|
|
|
;; the above causes renpy.__init__ to be compiled but does not
|
|
|
|
|
;; compile anything else, hence we do that here
|
|
|
|
|
(delete-file "renpy/__init__.pyc")
|
|
|
|
|
(invoke "python" "-m" "compileall" "renpy")
|
2019-10-19 11:40:27 -04:00
|
|
|
|
#t))
|
|
|
|
|
(replace 'install
|
2020-01-16 12:43:10 -05:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
|
|
|
|
|
;; Again, we have to wrap the module installation.
|
|
|
|
|
;; Additionally, we want to install the python code
|
|
|
|
|
;; (both source and compiled) in the same directory.
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(site (string-append "/lib/python"
|
|
|
|
|
,(version-major+minor
|
|
|
|
|
(package-version python-2))
|
|
|
|
|
"/site-packages")))
|
|
|
|
|
(with-directory-excursion "module"
|
|
|
|
|
(apply (assoc-ref %standard-phases 'install) args))
|
|
|
|
|
(copy-recursively "renpy"
|
|
|
|
|
(string-append out site "/renpy")))
|
2019-10-19 11:40:27 -04:00
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("ffmpeg" ,ffmpeg)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("python2-pygame" ,python2-pygame-sdl2)
|
|
|
|
|
("sdl-union"
|
|
|
|
|
,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("python2-cython" ,python2-cython)
|
|
|
|
|
("xdg-utils" ,xdg-utils)))
|
|
|
|
|
(home-page "http://www.renpy.org/")
|
|
|
|
|
(synopsis "Ren'py python module")
|
|
|
|
|
(description "This package contains the shared libraries and Python
|
|
|
|
|
modules of Ren'py.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
|
|
|
|
(define-public renpy
|
|
|
|
|
(package
|
|
|
|
|
(inherit python2-renpy)
|
|
|
|
|
(name "renpy")
|
|
|
|
|
(version "7.3.5")
|
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; see python2-renpy
|
|
|
|
|
#:python ,python-2
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'fix-commands
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(substitute* "launcher/game/choose_directory.rpy"
|
|
|
|
|
(("/usr/bin/python") (which "python2")))
|
|
|
|
|
(substitute* "launcher/game/front_page.rpy"
|
|
|
|
|
(("xdg-open")
|
|
|
|
|
(which "xdg-open")))
|
|
|
|
|
(substitute* "launcher/game/project.rpy"
|
|
|
|
|
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
|
|
|
|
|
(string-append "cmd = [ \"" (assoc-ref outputs "out")
|
|
|
|
|
"/bin/renpy\" ]"))
|
|
|
|
|
;; Projects are still created in the usual style, so we need
|
|
|
|
|
;; to adjust the path.
|
|
|
|
|
(("cmd.append\\(self.path\\)")
|
|
|
|
|
"cmd.append(self.path + \"/game\")"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'unpack 'drop-game-from-paths
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* (list "launcher/game/gui7.rpy"
|
|
|
|
|
"launcher/game/gui7/images.py")
|
|
|
|
|
((", \"game\",") ","))
|
|
|
|
|
#t))
|
|
|
|
|
(add-before 'build 'start-xserver
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((xorg-server (assoc-ref inputs "xorg-server")))
|
|
|
|
|
(setenv "HOME" (getcwd))
|
|
|
|
|
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
|
|
|
|
|
(setenv "DISPLAY" ":1")
|
|
|
|
|
#t)))
|
|
|
|
|
(replace 'build
|
|
|
|
|
(lambda _
|
|
|
|
|
(invoke "python" "renpy.py" "launcher" "quit")
|
|
|
|
|
(invoke "python" "renpy.py" "the_question" "quit")
|
|
|
|
|
(invoke "python" "renpy.py" "tutorial" "quit")
|
|
|
|
|
#t))
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
;; Here we install our custom renpy program.
|
|
|
|
|
;; After finishing this step, "out" will have the following:
|
|
|
|
|
;; |-- bin/renpy
|
|
|
|
|
;; `-- share/renpy ; i.e. path_to_renpy_base()
|
|
|
|
|
;; `-- common
|
|
|
|
|
;;
|
|
|
|
|
;; Note that common is also a de facto unused directory in
|
|
|
|
|
;; python2-renpy. On other systems, renpy_base would point to
|
|
|
|
|
;; site-packages or even somewhere in /opt.
|
|
|
|
|
;; The former approach is not as straightforward as it seems
|
|
|
|
|
;; -- it causes renpy to load files twice for some weird reason --
|
|
|
|
|
;; and the latter is impossible on Guix. Hence the detour through
|
|
|
|
|
;; share/renpy and the custom renpy program.
|
|
|
|
|
;;
|
|
|
|
|
;; As a convention, other games should be installed as
|
|
|
|
|
;; subdirectories of share/renpy in their respective outputs as
|
|
|
|
|
;; well. This differs from the traditional layout, which is
|
|
|
|
|
;; roughly the following:
|
|
|
|
|
;; `-- Super Awesome Game
|
|
|
|
|
;; |-- game ; <- the folder we actually want
|
|
|
|
|
;; |-- lib ; compiled renpy module and dependencies
|
|
|
|
|
;; |-- renpy ; Ren'py python code (source + compiled)
|
|
|
|
|
;; |-- Super Awesome Game.py
|
|
|
|
|
;; `-- Super Awesome Game.sh
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin/renpy (string-append out "/bin/renpy")))
|
|
|
|
|
(mkdir-p (string-append out "/bin"))
|
|
|
|
|
(copy-recursively "renpy/common"
|
|
|
|
|
(string-append out "/share/renpy/common"))
|
|
|
|
|
(copy-recursively "gui"
|
|
|
|
|
(string-append out "/share/renpy/gui"))
|
|
|
|
|
|
|
|
|
|
(call-with-output-file bin/renpy
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(format port "#!~a~%" (which "python2"))
|
|
|
|
|
(format port "
|
|
|
|
|
from __future__ import print_function
|
|
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
import warnings
|
|
|
|
|
|
|
|
|
|
def path_to_common(renpy_base):
|
|
|
|
|
return renpy_base + \"/common\"
|
|
|
|
|
|
|
|
|
|
def path_to_saves(gamedir, save_directory=None):
|
|
|
|
|
import renpy # @UnresolvedImport
|
|
|
|
|
|
|
|
|
|
if save_directory is None:
|
|
|
|
|
save_directory = renpy.config.save_directory
|
|
|
|
|
save_directory = renpy.exports.fsencode(save_directory)
|
|
|
|
|
|
|
|
|
|
if not save_directory:
|
|
|
|
|
return gamedir + \"/saves\"
|
|
|
|
|
|
|
|
|
|
return os.path.expanduser(\"~~/.renpy/\" + save_directory)
|
|
|
|
|
|
|
|
|
|
def path_to_renpy_base():
|
|
|
|
|
return \"~a\"
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
renpy_base = path_to_renpy_base()
|
|
|
|
|
try:
|
|
|
|
|
import renpy.bootstrap
|
|
|
|
|
import renpy.arguments
|
|
|
|
|
except ImportError:
|
|
|
|
|
print(\"\"\"Could not import renpy.bootstrap.
|
|
|
|
|
Please ensure you decompressed Ren'Py correctly, preserving the directory
|
|
|
|
|
structure.\"\"\", file=sys.stderr)
|
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
args = renpy.arguments.bootstrap()
|
|
|
|
|
if not args.basedir:
|
|
|
|
|
print(\"\"\"This Ren'py requires a basedir to launch.
|
|
|
|
|
The basedir is the directory, in which .rpy files live -- usually the 'game'
|
|
|
|
|
subdirectory of a game packaged by Ren'py.
|
|
|
|
|
|
|
|
|
|
If you want the Ren'py launcher, use renpy-launcher instead.\"\"\",
|
|
|
|
|
file=sys.stderr)
|
|
|
|
|
sys.exit()
|
|
|
|
|
|
|
|
|
|
renpy.bootstrap.bootstrap(renpy_base)
|
|
|
|
|
|
|
|
|
|
if __name__ == \"__main__\":
|
|
|
|
|
main()
|
|
|
|
|
"
|
|
|
|
|
(string-append out "/share/renpy"))))
|
|
|
|
|
(chmod bin/renpy #o755)
|
|
|
|
|
#t)))
|
|
|
|
|
|
|
|
|
|
(add-after 'install 'install-games
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(define renpy (assoc-ref outputs "out"))
|
|
|
|
|
;; TODO: We should offer a renpy-build-system to make the
|
|
|
|
|
;; installation of Ren'py games easier.
|
|
|
|
|
(define* (install-renpy-game #:key output game name (renpy renpy)
|
|
|
|
|
#:allow-other-keys)
|
|
|
|
|
(let* ((name (or name (basename game)))
|
|
|
|
|
(launcher (string-append output "/bin/renpy-" name))
|
|
|
|
|
(share (string-append output "/share/renpy/" name)))
|
|
|
|
|
(copy-recursively (string-append game "/game") share)
|
|
|
|
|
(mkdir-p (string-append output "/bin"))
|
|
|
|
|
(with-output-to-file launcher
|
|
|
|
|
(lambda ()
|
|
|
|
|
(format #t
|
|
|
|
|
"#!~a~%~a ~a \"$@\""
|
|
|
|
|
(which "bash")
|
|
|
|
|
(string-append renpy "/bin/renpy")
|
|
|
|
|
share)))
|
|
|
|
|
(chmod launcher #o755)))
|
|
|
|
|
|
|
|
|
|
(install-renpy-game #:output (assoc-ref outputs "out")
|
|
|
|
|
#:game "launcher")
|
|
|
|
|
|
|
|
|
|
(install-renpy-game #:output (assoc-ref outputs "the-question")
|
|
|
|
|
#:game "the_question"
|
|
|
|
|
#:name "the-question")
|
|
|
|
|
|
|
|
|
|
(install-renpy-game #:output (assoc-ref outputs "tutorial")
|
|
|
|
|
#:game "tutorial")
|
|
|
|
|
#t))
|
|
|
|
|
(replace 'wrap
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(wrap-program (string-append (assoc-ref outputs "out")
|
|
|
|
|
"/bin/renpy")
|
|
|
|
|
`("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("python2-tkinter" ,python-2 "tk")
|
|
|
|
|
("python2-pygame" ,python2-pygame-sdl2)
|
|
|
|
|
("python2-renpy" ,python2-renpy)
|
|
|
|
|
("xorg-server" ,xorg-server)))
|
|
|
|
|
(outputs
|
|
|
|
|
(list "out" "tutorial" "the-question"))
|
|
|
|
|
(home-page "http://www.renpy.org/")
|
|
|
|
|
(synopsis "Visual Novel Engine")
|
|
|
|
|
(description "Ren'Py is a visual novel engine that helps you use words,
|
|
|
|
|
images, and sounds to tell interactive stories that run on computers and
|
|
|
|
|
mobile devices. These can be both visual novels and life simulation games.
|
|
|
|
|
The easy to learn script language allows anyone to efficiently write large
|
|
|
|
|
visual novels, while its Python scripting is enough for complex simulation
|
|
|
|
|
games.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2017-03-26 20:00:42 -04:00
|
|
|
|
(define-public grafx2
|
|
|
|
|
(package
|
|
|
|
|
(name "grafx2")
|
|
|
|
|
(version "2.4")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
;; XXX: There is no URL that contains the version. :(
|
|
|
|
|
(uri "http://pulkomandy.tk/projects/GrafX2/downloads/21")
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure) ; no configure script
|
|
|
|
|
(add-before 'build 'change-to-src-directory
|
|
|
|
|
(lambda _
|
|
|
|
|
(chdir "src")
|
|
|
|
|
#t)))
|
|
|
|
|
#:make-flags
|
|
|
|
|
;; SDL header files are referenced without the preceeding "SDL/".
|
|
|
|
|
(list (string-append "CFLAGS=-I"
|
|
|
|
|
(assoc-ref %build-inputs "sdl-union")
|
|
|
|
|
"/include/SDL")
|
|
|
|
|
(string-append "prefix="
|
|
|
|
|
(assoc-ref %outputs "out")))
|
|
|
|
|
#:tests? #f)) ; no check target
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("libpng" ,libpng)
|
|
|
|
|
("lua" ,lua-5.1)
|
|
|
|
|
("sdl-union" ,(sdl-union (list sdl sdl-image sdl-ttf)))))
|
|
|
|
|
(synopsis "Bitmap paint program")
|
|
|
|
|
(description "GrafX2 is a bitmap paint program inspired by the Amiga
|
2017-03-27 19:15:37 -04:00
|
|
|
|
programs Deluxe Paint and Brilliance. Specializing in 256-color drawing, it
|
2017-03-26 20:00:42 -04:00
|
|
|
|
includes a very large number of tools and effects that make it particularly
|
|
|
|
|
suitable for pixel art, game graphics, and generally any detailed graphics
|
|
|
|
|
painted with a mouse.")
|
|
|
|
|
(home-page "http://pulkomandy.tk/projects/GrafX2")
|
|
|
|
|
(license license:gpl2))) ; GPLv2 only
|
2017-08-05 11:56:29 -04:00
|
|
|
|
|
|
|
|
|
(define-public ois
|
|
|
|
|
(package
|
|
|
|
|
(name "ois")
|
2019-02-21 18:49:38 -05:00
|
|
|
|
(version "1.5")
|
2017-08-05 11:56:29 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/wgois/OIS.git")
|
2019-02-21 18:49:38 -05:00
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
2017-08-05 11:56:29 -04:00
|
|
|
|
(sha256
|
2019-02-21 18:49:38 -05:00
|
|
|
|
(base32 "0g8krgq5bdx2rw7ig0xva4kqv4x815672i7z6lljp3n8847wmypa"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f)) ; no test suite
|
2017-08-05 11:56:29 -04:00
|
|
|
|
(inputs
|
2019-02-21 18:49:38 -05:00
|
|
|
|
`(("libx11" ,libx11)))
|
2017-08-05 11:56:29 -04:00
|
|
|
|
(synopsis "Object Oriented Input System")
|
|
|
|
|
(description
|
|
|
|
|
"Cross Platform Object Oriented Input Lib System is a cross platform,
|
|
|
|
|
simple solution for using all kinds of Input Devices (Keyboards, Mice,
|
|
|
|
|
Joysticks, etc) and feedback devices (e.g. force feedback). Meant to be very
|
|
|
|
|
robust and compatible with many systems and operating systems.")
|
|
|
|
|
(home-page "https://github.com/wgois/OIS")
|
|
|
|
|
(license license:zlib)))
|
2017-08-11 12:56:28 -04:00
|
|
|
|
|
|
|
|
|
(define-public mygui
|
|
|
|
|
(package
|
|
|
|
|
(name "mygui")
|
|
|
|
|
(version "3.2.2")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
2019-05-20 10:55:06 -04:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/MyGUI/mygui")
|
|
|
|
|
(commit (string-append "MyGUI" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
2017-08-11 12:56:28 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-05-20 10:55:06 -04:00
|
|
|
|
"1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw"))))
|
2017-08-11 12:56:28 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f ; No test target
|
|
|
|
|
#:configure-flags
|
|
|
|
|
(list "-DMYGUI_INSTALL_DOCS=TRUE"
|
|
|
|
|
(string-append "-DOGRE_INCLUDE_DIR="
|
|
|
|
|
(assoc-ref %build-inputs "ogre")
|
2019-05-20 10:55:06 -04:00
|
|
|
|
"/include/OGRE")
|
|
|
|
|
;; Demos and tools are Windows-specific:
|
|
|
|
|
;; https://github.com/MyGUI/mygui/issues/24.
|
|
|
|
|
"-DMYGUI_BUILD_DEMOS=FALSE"
|
|
|
|
|
"-DMYGUI_BUILD_TOOLS=FALSE")))
|
2017-08-11 12:56:28 -04:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("doxygen" ,doxygen)
|
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("font-dejavu" ,font-dejavu)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("graphviz" ,graphviz)
|
|
|
|
|
("libx11" ,libx11)
|
|
|
|
|
("ogre" ,ogre)
|
|
|
|
|
("ois" ,ois)))
|
|
|
|
|
(synopsis "Fast, flexible and simple GUI")
|
|
|
|
|
(description
|
|
|
|
|
"MyGUI is a library for creating Graphical User Interfaces (GUIs) for games
|
|
|
|
|
and 3D applications. The main goals of mygui are: speed, flexibility and ease
|
|
|
|
|
of use.")
|
|
|
|
|
(home-page "http://mygui.info/")
|
|
|
|
|
(license license:expat)))
|
2017-08-12 10:19:41 -04:00
|
|
|
|
|
2019-05-20 11:00:45 -04:00
|
|
|
|
(define-public mygui-gl
|
|
|
|
|
;; Closure size is reduced by some 800 MiB.
|
|
|
|
|
(package
|
|
|
|
|
(inherit mygui)
|
|
|
|
|
(name "mygui-gl")
|
|
|
|
|
(version "3.2.2")
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments mygui)
|
|
|
|
|
((#:configure-flags _)
|
|
|
|
|
`(cons* "-DMYGUI_RENDERSYSTEM=4" ; 3 is Ogre, 4 is OpenGL.
|
|
|
|
|
;; We can't reuse the flags because of the mention to Ogre.
|
|
|
|
|
(list "-DMYGUI_INSTALL_DOCS=TRUE"
|
|
|
|
|
;; Demos and tools are Windows-specific:
|
|
|
|
|
;; https://github.com/MyGUI/mygui/issues/24.
|
|
|
|
|
"-DMYGUI_BUILD_DEMOS=FALSE"
|
|
|
|
|
"-DMYGUI_BUILD_TOOLS=FALSE")))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("mesa" ,mesa)
|
|
|
|
|
("glu" ,glu)
|
|
|
|
|
,@(fold alist-delete (package-inputs mygui)
|
|
|
|
|
'("ogre"))))
|
|
|
|
|
(synopsis "Fast, flexible and simple GUI (OpenGL backend)")))
|
|
|
|
|
|
2017-08-12 10:19:41 -04:00
|
|
|
|
(define-public openmw
|
|
|
|
|
(package
|
|
|
|
|
(name "openmw")
|
2019-04-01 03:42:04 -04:00
|
|
|
|
(version "0.45.0")
|
2017-08-12 10:19:41 -04:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
2018-08-27 11:30:01 -04:00
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append "https://github.com/OpenMW/openmw/archive/"
|
2019-03-24 09:26:29 -04:00
|
|
|
|
"openmw-" version ".tar.gz"))
|
2017-08-12 10:19:41 -04:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-04-01 03:42:04 -04:00
|
|
|
|
"0r0wgvv1faan8z8lbply8lks4hcnppifjrcz04l5zvq6yiqzjg5n"))))
|
2017-08-12 10:19:41 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; No test target
|
|
|
|
|
#:configure-flags
|
|
|
|
|
(list "-DDESIRED_QT_VERSION=5")))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("doxygen" ,doxygen)
|
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("bullet" ,bullet)
|
|
|
|
|
("ffmpeg" ,ffmpeg)
|
|
|
|
|
("libxt" ,libxt)
|
2019-05-20 11:00:56 -04:00
|
|
|
|
("mygui" ,mygui-gl) ; OpenMW does not need Ogre.
|
2017-08-12 10:19:41 -04:00
|
|
|
|
("openal" ,openal)
|
2019-09-24 13:21:59 -04:00
|
|
|
|
("openscenegraph" ,openmw-openscenegraph)
|
2017-08-12 10:19:41 -04:00
|
|
|
|
("qtbase" ,qtbase)
|
|
|
|
|
("sdl" ,sdl2)
|
|
|
|
|
("unshield" ,unshield)))
|
2017-11-08 09:41:41 -05:00
|
|
|
|
(synopsis "Re-implementation of the RPG Morrowind engine")
|
2017-08-12 10:19:41 -04:00
|
|
|
|
(description
|
2017-11-08 09:41:41 -05:00
|
|
|
|
"OpenMW is a game engine which reimplements and extends the one that runs
|
|
|
|
|
the 2002 open-world RPG Morrowind. The engine comes with its own editor,
|
|
|
|
|
called OpenMW-CS which allows the user to edit or create their own original
|
|
|
|
|
games.")
|
2017-08-12 10:19:41 -04:00
|
|
|
|
(home-page "https://openmw.org")
|
2018-08-27 11:30:01 -04:00
|
|
|
|
(license license:gpl3)))
|
2017-09-07 07:59:47 -04:00
|
|
|
|
|
|
|
|
|
(define-public godot
|
|
|
|
|
(package
|
|
|
|
|
(name "godot")
|
2020-03-17 21:07:16 -04:00
|
|
|
|
(version "3.2.1")
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(source (origin
|
2018-07-01 17:51:21 -04:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/godotengine/godot")
|
|
|
|
|
(commit (string-append version "-stable"))))
|
|
|
|
|
(file-name (git-file-name name version))
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(sha256
|
2018-01-29 19:21:21 -05:00
|
|
|
|
(base32
|
2020-03-17 21:07:16 -04:00
|
|
|
|
"1kndls0rklha7kz9l4i2ivjxab4jpk3b2j7dcgcg2qc3s81yd0r6"))
|
2020-01-28 13:25:40 -05:00
|
|
|
|
(modules '((guix build utils)
|
|
|
|
|
(ice-9 ftw)
|
|
|
|
|
(srfi srfi-1)))
|
2018-03-15 06:38:48 -04:00
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
2020-01-28 13:25:40 -05:00
|
|
|
|
;; Keep only those bundled files we have not (yet) replaced
|
|
|
|
|
;; with Guix versions. Note that some of these may be
|
|
|
|
|
;; modified; see "thirdparty/README.md".
|
2018-03-15 06:38:48 -04:00
|
|
|
|
(with-directory-excursion "thirdparty"
|
2020-01-28 13:25:40 -05:00
|
|
|
|
(let* ((preserved-files
|
|
|
|
|
'("README.md"
|
2020-02-01 08:00:38 -05:00
|
|
|
|
"assimp"
|
2020-01-28 13:25:40 -05:00
|
|
|
|
"certs"
|
|
|
|
|
"cvtt"
|
|
|
|
|
"enet"
|
|
|
|
|
"etc2comp"
|
|
|
|
|
"fonts"
|
|
|
|
|
"glad"
|
|
|
|
|
"jpeg-compressor"
|
|
|
|
|
"libsimplewebm"
|
|
|
|
|
"miniupnpc"
|
|
|
|
|
"minizip"
|
|
|
|
|
"misc"
|
|
|
|
|
"nanosvg"
|
|
|
|
|
"pvrtccompressor"
|
|
|
|
|
"recastnavigation"
|
|
|
|
|
"squish"
|
|
|
|
|
"tinyexr"
|
2020-02-01 08:00:38 -05:00
|
|
|
|
"vhacd"
|
2020-01-28 13:25:40 -05:00
|
|
|
|
"xatlas")))
|
|
|
|
|
(for-each delete-file-recursively
|
|
|
|
|
(lset-difference string=?
|
|
|
|
|
(scandir ".")
|
|
|
|
|
(cons* "." ".." preserved-files)))))
|
|
|
|
|
#t))))
|
2017-11-17 04:17:46 -05:00
|
|
|
|
(build-system scons-build-system)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(arguments
|
2017-11-17 04:17:46 -05:00
|
|
|
|
`(#:scons ,scons-python2
|
2020-05-17 11:55:16 -04:00
|
|
|
|
#:scons-flags (list "platform=x11" "target=release_debug"
|
2017-11-17 04:17:46 -05:00
|
|
|
|
;; Avoid using many of the bundled libs.
|
|
|
|
|
;; Note: These options can be found in the SConstruct file.
|
2020-01-28 13:25:39 -05:00
|
|
|
|
"builtin_bullet=no"
|
2017-11-17 04:17:46 -05:00
|
|
|
|
"builtin_freetype=no"
|
|
|
|
|
"builtin_glew=no"
|
|
|
|
|
"builtin_libmpdec=no"
|
|
|
|
|
"builtin_libogg=no"
|
|
|
|
|
"builtin_libpng=no"
|
|
|
|
|
"builtin_libtheora=no"
|
|
|
|
|
"builtin_libvorbis=no"
|
2018-03-15 06:38:48 -04:00
|
|
|
|
"builtin_libvpx=no"
|
2017-11-17 04:17:46 -05:00
|
|
|
|
"builtin_libwebp=no"
|
2020-01-28 13:25:39 -05:00
|
|
|
|
"builtin_mbedtls=no"
|
2017-11-17 04:17:46 -05:00
|
|
|
|
"builtin_opus=no"
|
2020-01-28 13:25:39 -05:00
|
|
|
|
"builtin_pcre2=no"
|
2020-02-01 08:00:38 -05:00
|
|
|
|
"builtin_wslay=no"
|
2020-01-28 13:25:39 -05:00
|
|
|
|
"builtin_zlib=no"
|
|
|
|
|
"builtin_zstd=no")
|
2020-05-17 11:55:18 -04:00
|
|
|
|
#:tests? #f ; There are no tests
|
2017-09-07 07:59:47 -04:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'scons-use-env
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Scons does not use the environment variables by default,
|
|
|
|
|
;; but this substitution makes it do so.
|
|
|
|
|
(substitute* "SConstruct"
|
|
|
|
|
(("env_base = Environment\\(tools=custom_tools\\)")
|
|
|
|
|
(string-append
|
|
|
|
|
"env_base = Environment(tools=custom_tools)\n"
|
|
|
|
|
"env_base = Environment(ENV=os.environ)")))
|
|
|
|
|
#t))
|
2020-05-17 11:55:18 -04:00
|
|
|
|
;; Build headless tools, used for packaging games without depending on X.
|
|
|
|
|
(add-after 'build 'build-headless
|
|
|
|
|
(lambda* (#:key scons-flags #:allow-other-keys)
|
|
|
|
|
(apply invoke "scons"
|
|
|
|
|
`(,(string-append "-j" (number->string (parallel-job-count)))
|
|
|
|
|
"platform=server" ,@(delete "platform=x11" scons-flags)))))
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(replace 'install
|
2020-05-17 11:55:18 -04:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
2020-05-17 11:55:18 -04:00
|
|
|
|
(headless (assoc-ref outputs "headless"))
|
|
|
|
|
(zenity (assoc-ref inputs "zenity")))
|
|
|
|
|
;; Strip build info from filenames.
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(with-directory-excursion "bin"
|
2020-05-17 11:55:18 -04:00
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(let ((dest (car (string-split (basename file) #\.))))
|
|
|
|
|
(rename-file file dest)))
|
|
|
|
|
(find-files "." "godot.*\\.x11\\.opt\\.tools.*"))
|
|
|
|
|
(install-file "godot" (string-append out "/bin"))
|
|
|
|
|
(install-file "godot_server" (string-append headless "/bin")))
|
|
|
|
|
;; Tell the editor where to find zenity for OS.alert().
|
|
|
|
|
(wrap-program (string-append out "/bin/godot")
|
|
|
|
|
`("PATH" ":" prefix (,(string-append zenity "/bin")))))
|
|
|
|
|
#t))
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(add-after 'install 'install-godot-desktop
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
2020-05-17 11:55:19 -04:00
|
|
|
|
(applications (string-append out "/share/applications"))
|
|
|
|
|
(icons (string-append out "/share/icons/hicolor")))
|
|
|
|
|
(mkdir-p applications)
|
|
|
|
|
(copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
|
|
|
|
|
(string-append applications "/godot.desktop"))
|
|
|
|
|
(for-each (lambda (icon dest)
|
|
|
|
|
(mkdir-p (dirname dest))
|
|
|
|
|
(copy-file icon dest))
|
|
|
|
|
'("icon.png" "icon.svg")
|
|
|
|
|
`(,(string-append icons "/256x256/apps/godot.png")
|
|
|
|
|
,(string-append icons "/scalable/apps/godot.svg"))))
|
|
|
|
|
#t)))))
|
2020-05-17 11:55:18 -04:00
|
|
|
|
(outputs '("out" "headless"))
|
2017-11-17 04:17:46 -05:00
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(inputs `(("alsa-lib" ,alsa-lib)
|
2020-01-28 13:25:39 -05:00
|
|
|
|
("bullet" ,bullet)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("glu" ,glu)
|
|
|
|
|
("libtheora" ,libtheora)
|
|
|
|
|
("libvorbis" ,libvorbis)
|
2018-03-15 06:38:48 -04:00
|
|
|
|
("libvpx" ,libvpx)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
("libwebp" ,libwebp)
|
|
|
|
|
("libx11" ,libx11)
|
|
|
|
|
("libxcursor" ,libxcursor)
|
2018-01-29 19:21:21 -05:00
|
|
|
|
("libxi" ,libxi)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
("libxinerama" ,libxinerama)
|
|
|
|
|
("libxrandr" ,libxrandr)
|
2020-01-28 13:25:39 -05:00
|
|
|
|
("mbedtls" ,mbedtls-apache)
|
2017-09-07 07:59:47 -04:00
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("opusfile" ,opusfile)
|
2020-01-28 13:25:39 -05:00
|
|
|
|
("pcre2" ,pcre2)
|
|
|
|
|
("pulseaudio" ,pulseaudio)
|
2020-02-01 08:00:38 -05:00
|
|
|
|
("wslay" ,wslay)
|
2020-02-01 08:00:39 -05:00
|
|
|
|
("zenity" ,zenity)
|
2020-01-28 13:25:39 -05:00
|
|
|
|
("zstd" ,zstd "lib")))
|
2017-09-07 07:59:47 -04:00
|
|
|
|
(home-page "https://godotengine.org/")
|
|
|
|
|
(synopsis "Advanced 2D and 3D game engine")
|
|
|
|
|
(description
|
|
|
|
|
"Godot is an advanced multi-platform game engine written in C++. If
|
|
|
|
|
features design tools such as a visual editor, can import 3D models and
|
|
|
|
|
provide high-quality 3D rendering, it contains an animation editor, and can be
|
|
|
|
|
scripted in a Python-like language.")
|
|
|
|
|
(license license:expat)))
|
2018-01-15 17:21:20 -05:00
|
|
|
|
|
|
|
|
|
(define-public eureka
|
|
|
|
|
(package
|
|
|
|
|
(name "eureka")
|
2019-03-15 15:40:39 -04:00
|
|
|
|
(version "1.24")
|
2018-01-15 17:21:20 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/eureka-editor/Eureka/"
|
|
|
|
|
version "/eureka-"
|
|
|
|
|
;; version without dots e.g 1.21 => 121
|
|
|
|
|
(string-join (string-split version #\.) "")
|
|
|
|
|
"-source.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-03-15 15:40:39 -04:00
|
|
|
|
"1x4idjniz9sma3j9ss6ni7fafmz22zs2jnpsqw4my9rsnmra5d9v"))))
|
2018-01-15 17:21:20 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f
|
|
|
|
|
#:make-flags
|
|
|
|
|
(let ((out (assoc-ref %outputs "out")))
|
|
|
|
|
(list (string-append "PREFIX=" out)))
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure)
|
|
|
|
|
(add-before 'build 'prepare-install-directories
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(mkdir-p (string-append out "/bin"))
|
|
|
|
|
(mkdir-p (string-append out "/share"))
|
|
|
|
|
|
|
|
|
|
(with-fluids ((%default-port-encoding #f))
|
|
|
|
|
(substitute* "./src/main.cc"
|
|
|
|
|
(("/usr/local") out)))
|
|
|
|
|
|
|
|
|
|
(substitute* "Makefile"
|
|
|
|
|
(("-o root") ""))))))))
|
|
|
|
|
(inputs `(("mesa" ,mesa)
|
|
|
|
|
("libxft" ,libxft)
|
|
|
|
|
("libxinerama" ,libxinerama)
|
|
|
|
|
("libfontconfig" ,fontconfig)
|
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
2020-01-17 13:27:01 -05:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2018-01-15 17:21:20 -05:00
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("fltk" ,fltk)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)
|
|
|
|
|
("xdg-utils" ,xdg-utils)))
|
|
|
|
|
(synopsis "Doom map editor")
|
|
|
|
|
(description "Eureka is a map editor for the classic DOOM games, and a few
|
|
|
|
|
related games such as Heretic and Hexen. It comes with a 3d preview mode and
|
|
|
|
|
a 2D editor view.")
|
|
|
|
|
(home-page "http://eureka-editor.sourceforge.net/")
|
|
|
|
|
(license license:gpl2+)))
|
2018-06-19 20:59:23 -04:00
|
|
|
|
|
|
|
|
|
(define-public guile-chickadee
|
|
|
|
|
(package
|
|
|
|
|
(name "guile-chickadee")
|
2019-06-05 09:42:50 -04:00
|
|
|
|
(version "0.4.0")
|
2018-06-19 20:59:23 -04:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://files.dthompson.us/chickadee/"
|
|
|
|
|
"chickadee-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-06-05 09:42:50 -04:00
|
|
|
|
"1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l"))))
|
2018-06-19 20:59:23 -04:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("guile-opengl" ,guile-opengl)
|
|
|
|
|
("guile-sdl2" ,guile-sdl2)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("guile" ,guile-2.2)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("texinfo" ,texinfo)))
|
|
|
|
|
(home-page "https://dthompson.us/projects/chickadee.html")
|
|
|
|
|
(synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
|
|
|
|
|
(description "Chickadee is a game development toolkit for Guile Scheme
|
|
|
|
|
built on top of SDL2 and OpenGL. Chickadee aims to provide all the features
|
|
|
|
|
that parenthetically inclined game developers need to make 2D (and eventually
|
|
|
|
|
3D) games in Scheme, such as:
|
|
|
|
|
|
2020-03-14 12:30:33 -04:00
|
|
|
|
@enumerate
|
|
|
|
|
@item extensible, fixed-timestep game loop
|
|
|
|
|
@item OpenGL-based rendering engine
|
|
|
|
|
@item keyboard, mouse, controller input
|
|
|
|
|
@item REPL-driven development model
|
|
|
|
|
@end enumerate\n")
|
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
|
|
|
|
|
(define-public guile3.0-chickadee
|
|
|
|
|
(package
|
|
|
|
|
(inherit guile-chickadee)
|
2020-04-07 17:21:58 -04:00
|
|
|
|
(name "guile3.0-chickadee")
|
2020-03-14 12:30:33 -04:00
|
|
|
|
(version "0.4.0")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://files.dthompson.us/chickadee/"
|
|
|
|
|
"chickadee-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("guile-opengl" ,guile3.0-opengl)
|
|
|
|
|
("guile-sdl2" ,guile3.0-sdl2)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("guile" ,guile-3.0)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("texinfo" ,texinfo)))
|
|
|
|
|
(home-page "https://dthompson.us/projects/chickadee.html")
|
|
|
|
|
(synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
|
|
|
|
|
(description "Chickadee is a game development toolkit for Guile Scheme
|
|
|
|
|
built on top of SDL2 and OpenGL. Chickadee aims to provide all the features
|
|
|
|
|
that parenthetically inclined game developers need to make 2D (and eventually
|
|
|
|
|
3D) games in Scheme, such as:
|
|
|
|
|
|
2018-06-19 20:59:23 -04:00
|
|
|
|
@enumerate
|
|
|
|
|
@item extensible, fixed-timestep game loop
|
|
|
|
|
@item OpenGL-based rendering engine
|
|
|
|
|
@item keyboard, mouse, controller input
|
|
|
|
|
@item REPL-driven development model
|
|
|
|
|
@end enumerate\n")
|
|
|
|
|
(license license:gpl3+)))
|
2019-03-24 08:56:16 -04:00
|
|
|
|
|
|
|
|
|
(define-public bennu-game-development
|
|
|
|
|
(package
|
|
|
|
|
(name "bennu-game-development")
|
|
|
|
|
(version "348")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method svn-fetch)
|
|
|
|
|
(uri (svn-reference
|
|
|
|
|
(url "http://svn.code.sf.net/p/bennugd/code")
|
|
|
|
|
(revision (string->number version))))
|
|
|
|
|
(file-name (string-append name "-" version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-03-24 10:05:56 -04:00
|
|
|
|
"0wpzsbh4zi3931493dnyl5ffmh1b7fj2sx3mzrq304z9zs4d6lqq"))
|
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
(delete-file-recursively "3rdparty") #t))))
|
2019-03-24 08:56:16 -04:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2019-03-24 10:07:07 -04:00
|
|
|
|
(add-after 'unpack 'patch-configure-to-use-openssl
|
2019-03-24 08:56:16 -04:00
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(chdir "core")
|
|
|
|
|
(delete-file "configure")
|
|
|
|
|
(substitute* "configure.in"
|
|
|
|
|
(("i\\*86\\)")
|
2019-03-24 10:07:07 -04:00
|
|
|
|
"*)
|
2019-03-24 08:56:16 -04:00
|
|
|
|
COMMON_CFLAGS=\"$COMMON_CFLAGS -DUSE_OPENSSL\"
|
|
|
|
|
COMMON_LDFLAGS=\"$COMMON_LDFLAGS\"
|
|
|
|
|
LIBSSL=\"crypto\"
|
|
|
|
|
USE_OPENSSL=yes
|
|
|
|
|
;;
|
|
|
|
|
|
2019-03-24 10:07:07 -04:00
|
|
|
|
i*86)"))
|
|
|
|
|
#t)))))
|
2019-03-24 08:56:16 -04:00
|
|
|
|
(inputs `(("openssl" ,openssl)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)
|
|
|
|
|
("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("libtool" ,libtool)))
|
|
|
|
|
(synopsis "Programming language to create games")
|
|
|
|
|
(description "Bennu Game Development, also known as bennudg, is a
|
|
|
|
|
programming language tailored at game development. It is the successor of
|
|
|
|
|
Fenix.")
|
|
|
|
|
(home-page "https://sourceforge.net/projects/bennugd/")
|
|
|
|
|
(license license:zlib)))
|
2019-03-24 09:00:32 -04:00
|
|
|
|
|
|
|
|
|
(define-public bennu-game-development-modules
|
|
|
|
|
(package
|
|
|
|
|
(inherit bennu-game-development)
|
|
|
|
|
(name "bennu-game-development-modules")
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-conflicting-definitions
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-fluids ((%default-port-encoding #f))
|
|
|
|
|
(substitute* "core/include/fmath.h"
|
|
|
|
|
(("extern fixed fmul\\( int x, int y \\);") "")
|
|
|
|
|
(("extern fixed fdiv\\( int x, int y \\);") "")))
|
|
|
|
|
(chdir "modules"))))))
|
|
|
|
|
(inputs `(("zlib" ,zlib)
|
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("openssl" ,openssl)
|
|
|
|
|
("sdl-mixer" ,sdl-mixer)
|
|
|
|
|
("bennu-game-development" ,bennu-game-development)))
|
2019-04-16 17:16:31 -04:00
|
|
|
|
(synopsis "Modules for the Bennu Game Development programming language")
|
2019-03-24 09:00:32 -04:00
|
|
|
|
(description "This package contains a collection of modules for the Bennu
|
2019-04-16 17:16:31 -04:00
|
|
|
|
Game Development programming language, from CD handling through SDL to
|
2019-03-24 09:00:32 -04:00
|
|
|
|
joystick support.")))
|
2019-04-14 08:45:06 -04:00
|
|
|
|
|
|
|
|
|
(define-public plib
|
|
|
|
|
(package
|
|
|
|
|
(name "plib")
|
|
|
|
|
(version "1.8.5")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://plib.sourceforge.net/dist/"
|
|
|
|
|
"plib-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-07-10 04:58:47 -04:00
|
|
|
|
"0cha71mflpa10vh2l7ipyqk67dq2y0k5xbafwdks03fwdyzj4ns8"))
|
|
|
|
|
(patches (search-patches "plib-CVE-2011-4620.patch"
|
|
|
|
|
"plib-CVE-2012-4552.patch"))))
|
2019-04-14 08:45:06 -04:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("mesa" ,mesa)
|
|
|
|
|
("libxi" ,libxi)
|
|
|
|
|
("libxmu" ,libxmu)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(home-page "http://plib.sourceforge.net/")
|
|
|
|
|
(synopsis "Suite of portable game libraries")
|
|
|
|
|
(description "PLIB is a set of libraries that will permit programmers to
|
|
|
|
|
write games and other realtime interactive applications that are 100% portable
|
|
|
|
|
across a wide range of hardware and operating systems. PLIB includes sound
|
|
|
|
|
effects, music, a complete 3D engine, font rendering, a simple Windowing
|
|
|
|
|
library, a game scripting language, a GUI, networking, 3D math library and a
|
|
|
|
|
collection of handy utility functions. All are 100% portable across nearly
|
|
|
|
|
all modern computing platforms. Each library component is fairly independent
|
|
|
|
|
of the others")
|
|
|
|
|
(license license:lgpl2.0+)))
|
2019-05-23 12:54:27 -04:00
|
|
|
|
|
|
|
|
|
(define-public ioquake3
|
|
|
|
|
;; We follow master since it seems that there won't be releases after 1.3.6.
|
|
|
|
|
(let ((commit "95b9cab4d644fa3bf757cfff821cc4f7d76e38b0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "ioquake3")
|
|
|
|
|
(version (git-version "1.3.6" "1" commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/ioquake/ioq3.git")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1vflk028z9gccg5yfi5451y1k5wxjdh3qbhjf4x6r7w2pzlxh16z"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("sdl2" ,sdl2)
|
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
2020-01-17 13:27:01 -05:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2019-05-23 12:54:27 -04:00
|
|
|
|
("openal" ,openal)
|
|
|
|
|
("curl" ,curl)
|
|
|
|
|
("opusfile" ,opusfile)
|
|
|
|
|
("opus" ,opus)
|
|
|
|
|
("libvorbis" ,libvorbis)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("libogg" ,libogg)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("which" ,which) ; Else SDL_version.h won't be found.
|
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f ; No tests.
|
|
|
|
|
#:make-flags '("CC=gcc"
|
|
|
|
|
"USE_INTERNAL_LIBS=0"
|
|
|
|
|
"USE_FREETYPE=1"
|
|
|
|
|
"USE_RENDERER_DLOPEN=0"
|
|
|
|
|
"USE_OPENAL_DLOPEN=0"
|
|
|
|
|
"USE_CURL_DLOPEN=0")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure)
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(invoke "make" "copyfiles" "CC=gcc"
|
|
|
|
|
"USE_INTERNAL_LIBS=0"
|
|
|
|
|
(string-append "COPYDIR="
|
|
|
|
|
(assoc-ref outputs "out")
|
|
|
|
|
"/bin")))))))
|
|
|
|
|
(home-page "https://ioquake3.org/")
|
|
|
|
|
(synopsis "FPS game engine based on Quake 3")
|
|
|
|
|
(description "ioquake3 is a free software first person shooter engine
|
|
|
|
|
based on the Quake 3: Arena and Quake 3: Team Arena source code. Compared to
|
|
|
|
|
the original, ioquake3 has been cleaned up, bugs have been fixed and features
|
|
|
|
|
added. The permanent goal is to create the open source Quake 3 distribution
|
|
|
|
|
upon which people base their games, ports to new platforms, and other
|
|
|
|
|
projects.")
|
|
|
|
|
(license license:gpl2))))
|
2019-06-22 06:57:56 -04:00
|
|
|
|
|
|
|
|
|
(define-public openvr
|
|
|
|
|
(package
|
|
|
|
|
(name "openvr")
|
2019-11-12 11:24:12 -05:00
|
|
|
|
(version "1.8.19")
|
2019-06-22 06:57:56 -04:00
|
|
|
|
(home-page "https://github.com/ValveSoftware/openvr/")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url home-page)
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
2019-11-12 11:24:12 -05:00
|
|
|
|
(base32 "1b8cppvw6ib0kvx0vjq7jsk3plg1vh171w8xr230vjn05381wp52"))))
|
2019-06-22 06:57:56 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
;; No tests.
|
|
|
|
|
'(#:tests? #f
|
|
|
|
|
#:configure-flags (list "-DBUILD_SHARED=1")))
|
|
|
|
|
(synopsis "Virtual reality software development kit")
|
|
|
|
|
(description "OpenVR is an API and runtime that allows access to VR
|
|
|
|
|
hardware from multiple vendors without requiring that applications have
|
|
|
|
|
specific knowledge of the hardware they are targeting.")
|
|
|
|
|
(license license:bsd-3)))
|
2019-12-15 09:58:34 -05:00
|
|
|
|
|
|
|
|
|
(define-public fna
|
|
|
|
|
(package
|
|
|
|
|
(name "fna")
|
|
|
|
|
(version "19.12.01")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/FNA-XNA/FNA.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1vdyi9hac24fqcs8kpj6yk36bf5rrl4dvlvdd9fc701fawcf6lrr"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f ; No tests.
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'link-dep-src
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((sdl2 (assoc-ref inputs "sdl2-cs-src"))
|
|
|
|
|
(mojoshader (assoc-ref inputs "mojoshader-src"))
|
|
|
|
|
(faudio (assoc-ref inputs "faudio-src"))
|
|
|
|
|
(theorafile (assoc-ref inputs "theorafile-src")))
|
|
|
|
|
(symlink (string-append sdl2 "/src") "lib/SDL2-CS/src")
|
|
|
|
|
(symlink (string-append mojoshader "/csharp") "lib/MojoShader/csharp")
|
|
|
|
|
(symlink (string-append faudio "/csharp") "lib/FAudio/csharp")
|
|
|
|
|
(symlink (string-append theorafile "/csharp") "lib/Theorafile/csharp"))))
|
|
|
|
|
(delete 'configure)
|
|
|
|
|
(replace 'build
|
|
|
|
|
(lambda _
|
|
|
|
|
(invoke "make" "release")))
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(install-file "bin/Release/FNA.dll" (string-append out "/lib"))
|
|
|
|
|
#t))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("mono" ,mono)))
|
|
|
|
|
(inputs `(("sdl2-cs-src" ,(package-source sdl2-cs))
|
|
|
|
|
("mojoshader-src" ,(package-source mojoshader-cs))
|
|
|
|
|
("faudio-src" ,(package-source faudio))
|
|
|
|
|
("theorafile-src" ,(package-source theorafile))))
|
|
|
|
|
(home-page "https://fna-xna.github.io/")
|
|
|
|
|
(synopsis "Accuracy-focused XNA4 reimplementation")
|
|
|
|
|
(description "FNA is a Microsoft XNA Game Studio 4.0 reimplementation that
|
|
|
|
|
focuses solely on developing a fully accurate XNA4 runtime for the desktop.")
|
|
|
|
|
(license (list license:ms-pl ; FNA
|
|
|
|
|
license:lgpl2.1 ; LzxDecoder.cs
|
|
|
|
|
;; Mono.Xna:
|
|
|
|
|
license:expat))))
|
2020-01-04 20:09:33 -05:00
|
|
|
|
|
|
|
|
|
(define-public libccd
|
|
|
|
|
(package
|
|
|
|
|
(name "libccd")
|
|
|
|
|
(version "2.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/danfis/libccd.git")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0sfmn5pd7k5kyhbxnd689xmsa5v843r7sska96dlysqpljd691jc"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags '("-DBUILD_DOCUMENTATION=ON"
|
|
|
|
|
"-DBUILD_TESTING=ON"
|
|
|
|
|
"-DENABLE_DOUBLE_PRECISION=ON")))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("python-sphinx" ,python-sphinx)))
|
|
|
|
|
(home-page "https://github.com/danfis/libccd")
|
|
|
|
|
(synopsis "Library for collision detection between two convex shapes")
|
|
|
|
|
(description "@code{libccd} is library for a collision detection
|
|
|
|
|
between two convex shapes. @code{libccd} implements variation on
|
|
|
|
|
Gilbert–Johnson–Keerthi algorithm plus Expand Polytope Algorithm (EPA)
|
|
|
|
|
and also implements algorithm Minkowski Portal Refinement (MPR,
|
|
|
|
|
a.k.a. XenoCollide) as described in Game Programming Gems 7.")
|
|
|
|
|
(license license:expat)))
|
2020-01-04 20:11:26 -05:00
|
|
|
|
|
|
|
|
|
(define-public ode
|
|
|
|
|
(package
|
|
|
|
|
(name "ode")
|
2020-03-01 10:26:21 -05:00
|
|
|
|
(version "0.16.1")
|
2020-01-04 20:11:26 -05:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://bitbucket.org/odedevs/ode/downloads/"
|
|
|
|
|
"ode-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
2020-03-01 10:26:21 -05:00
|
|
|
|
(base32 "1flfdqgdbcn1bx8nrrd4qnp6cvsxrhvk8cdg7vaq2dzkh6nsqa5j"))
|
2020-01-04 20:11:26 -05:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
(delete-file-recursively "libccd")
|
|
|
|
|
#t))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
2020-03-01 10:26:21 -05:00
|
|
|
|
;; Tests fail on all systems but x86_64. This is fixed upstream and can
|
|
|
|
|
;; be removed in 0.16.2+.
|
2020-01-28 14:23:41 -05:00
|
|
|
|
`(#:tests? ,(string-prefix? "x86_64-"
|
|
|
|
|
(or (%current-target-system)
|
|
|
|
|
(%current-system)))
|
2020-01-24 16:47:22 -05:00
|
|
|
|
#:configure-flags '("-DODE_WITH_LIBCCD_SYSTEM=ON")
|
2020-01-04 20:11:26 -05:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'unbundle-libccd
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "CMakeLists.txt"
|
|
|
|
|
(("configure_file\\(libccd/.*") ""))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("glu" ,glu)
|
|
|
|
|
("libccd" ,libccd)
|
|
|
|
|
("mesa" ,mesa)))
|
2020-01-18 17:12:46 -05:00
|
|
|
|
(home-page "https://www.ode.org/")
|
2020-01-04 20:11:26 -05:00
|
|
|
|
(synopsis "High performance library for simulating rigid body dynamics")
|
|
|
|
|
(description "ODE is a high performance library for simulating
|
|
|
|
|
rigid body dynamics. It is fully featured, stable, mature and
|
|
|
|
|
platform independent with an easy to use C/C++ API. It has advanced
|
|
|
|
|
joint types and integrated collision detection with friction. ODE is
|
|
|
|
|
useful for simulating vehicles, objects in virtual reality
|
|
|
|
|
environments and virtual creatures. It is currently used in many
|
|
|
|
|
computer games, 3D authoring tools and simulation tools.")
|
|
|
|
|
;; Software is dual-licensed.
|
|
|
|
|
(license (list license:lgpl2.1+ license:expat))))
|
2020-01-05 12:52:49 -05:00
|
|
|
|
|
|
|
|
|
(define-public chipmunk
|
|
|
|
|
(package
|
|
|
|
|
(name "chipmunk")
|
|
|
|
|
(version "7.0.3")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/slembcke/Chipmunk2D.git")
|
|
|
|
|
(commit (string-append "Chipmunk-" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1qmkn01g06p3rnhmbyffmjns6wj5vhgf9cscigk3wzxcpwv1hyxb"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ;no test
|
|
|
|
|
#:configure-flags '("-DBUILD_STATIC=OFF"
|
|
|
|
|
"-DBUILD_DEMOS=OFF")))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("freeglut" ,freeglut)
|
|
|
|
|
("libxmu" ,libxmu)
|
|
|
|
|
("libxrandr" ,libxrandr)))
|
2020-01-17 15:26:42 -05:00
|
|
|
|
(home-page "https://chipmunk-physics.net/")
|
2020-01-05 12:52:49 -05:00
|
|
|
|
(synopsis "Fast and lightweight 2D game physics library")
|
|
|
|
|
(description "Chipmunk is a simple, lightweight, fast and portable 2D
|
|
|
|
|
rigid body physics library written in C.")
|
|
|
|
|
(license license:expat)))
|
2020-02-16 16:42:42 -05:00
|
|
|
|
|
|
|
|
|
(define-public libtcod
|
|
|
|
|
(package
|
|
|
|
|
(name "libtcod")
|
|
|
|
|
(version "1.15.1")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/libtcod/libtcod.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0pzr8ajmbqvh43ldjajx962xirj3rf8ayh344p6mqlrmb8gxrfr5"))
|
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet '(begin
|
|
|
|
|
(delete-file-recursively "src/vendor/utf8proc")
|
|
|
|
|
(delete-file-recursively "src/vendor/zlib")
|
|
|
|
|
(delete-file "src/vendor/stb_truetype.h")
|
|
|
|
|
(delete-file "src/vendor/stb_sprintf.h")
|
|
|
|
|
(delete-file "src/vendor/lodepng.cpp")
|
|
|
|
|
(delete-file "src/vendor/lodepng.h")
|
|
|
|
|
|
|
|
|
|
(substitute* "buildsys/autotools/sources.am"
|
|
|
|
|
(("\\.\\./\\.\\./src/vendor/lodepng\\.cpp \\\\\n") "")
|
|
|
|
|
(("\\.\\./\\.\\./src/vendor/stb\\.c \\\\")
|
|
|
|
|
"../../src/vendor/stb.c")
|
|
|
|
|
(("\\.\\./\\.\\./src/vendor/utf8proc/utf8proc\\.c") ""))
|
|
|
|
|
|
|
|
|
|
(substitute* "src/libtcod/sys_sdl_img_png.cpp"
|
|
|
|
|
(("\\.\\./vendor/") ""))
|
|
|
|
|
|
|
|
|
|
(substitute* '("src/libtcod/color/canvas.cpp"
|
|
|
|
|
"src/libtcod/sys_sdl_img_png.cpp"
|
|
|
|
|
"src/libtcod/tileset/truetype.cpp"
|
|
|
|
|
"src/libtcod/tileset/tilesheet.cpp")
|
|
|
|
|
(("\\.\\./\\.\\./vendor/") ""))
|
|
|
|
|
|
|
|
|
|
(substitute* "src/libtcod/console/printing.cpp"
|
|
|
|
|
(("\\.\\./\\.\\./vendor/utf8proc/") ""))
|
|
|
|
|
#t))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags '("--with-gnu-ld"
|
|
|
|
|
"LIBS=-lutf8proc -llodepng")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'change-to-build-dir
|
|
|
|
|
(lambda _
|
|
|
|
|
(chdir "buildsys/autotools")
|
|
|
|
|
(patch-shebang "get_version.py")
|
|
|
|
|
#t)))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("libtool" ,libtool)
|
|
|
|
|
("python" ,python)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("stb-sprintf" ,stb-sprintf)
|
|
|
|
|
("stb-truetype" ,stb-truetype)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("lodepng" ,lodepng)
|
|
|
|
|
("sdl2" ,sdl2)
|
|
|
|
|
("utf8proc" ,utf8proc)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(home-page "https://github.com/libtcod/libtcod")
|
|
|
|
|
(synopsis "Library specifically designed for writing roguelikes")
|
|
|
|
|
(description
|
|
|
|
|
"libtcod is a fast, portable and uncomplicated API for roguelike
|
|
|
|
|
developers providing an advanced true color console, input, and lots of other
|
|
|
|
|
utilities frequently used in roguelikes.")
|
|
|
|
|
(license license:bsd-3)))
|
2020-05-02 11:51:21 -04:00
|
|
|
|
|
|
|
|
|
(define-public warsow-qfusion
|
|
|
|
|
;; As of 2020-04-09, the latest stable version 2.1.0 is deprecated.
|
|
|
|
|
;; The 2.5 beta as published on the homepage is commit
|
|
|
|
|
;; c4de15df559410aff0ca6643724e24cddb0ecbbd
|
|
|
|
|
(let ((commit "c4de15df559410aff0ca6643724e24cddb0ecbbd"))
|
|
|
|
|
(package
|
|
|
|
|
(name "warsow-qfusion")
|
|
|
|
|
(version (git-version "2.5" "1" commit)) ; 2.5-beta
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/Warsow/qfusion/")
|
|
|
|
|
(commit commit)
|
|
|
|
|
(recursive? #t)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0xv2yycr43p3xmq7lm6j6zb3cpcr6w00x7qg918faq0mw9j7v48g"))
|
|
|
|
|
;; Issue reported here: https://github.com/Warsow/qfusion/issues/46
|
2020-05-07 03:58:56 -04:00
|
|
|
|
(patches (search-patches "warsow-qfusion-fix-bool-return-type.patch"))
|
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet '(begin
|
|
|
|
|
(delete-file-recursively "platforms")
|
|
|
|
|
(delete-file-recursively "debian")
|
|
|
|
|
(delete-file-recursively "libsrcs")
|
|
|
|
|
#t))))
|
2020-05-02 11:51:21 -04:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; No tests.
|
|
|
|
|
#:configure-flags '("-DQFUSION_GAME=Warsow")
|
|
|
|
|
#:modules
|
|
|
|
|
((guix build utils)
|
|
|
|
|
(guix build cmake-build-system)
|
|
|
|
|
(ice-9 match))
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'change-to-build-dir
|
|
|
|
|
(lambda _
|
|
|
|
|
(chdir "source")
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'really-install
|
|
|
|
|
(lambda* (#:key outputs system #:allow-other-keys)
|
|
|
|
|
(let ((arch (match system
|
|
|
|
|
("x86_64-linux" "x86_64")
|
|
|
|
|
("i686-linux" "i386")))
|
|
|
|
|
(out (assoc-ref outputs "out")))
|
|
|
|
|
(install-file (string-append "../source/build/basewsw/libgame_"
|
|
|
|
|
arch ".so")
|
|
|
|
|
(string-append out "/lib/"))
|
|
|
|
|
(install-file (string-append "../source/build/libui_" arch ".so")
|
|
|
|
|
(string-append out "/lib/"))
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(install-file file (string-append out "/bin/")))
|
|
|
|
|
(append (find-files "../source/build" "warsow")
|
|
|
|
|
(find-files "../source/build" "wsw_server."))))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("alsa-lib" ,alsa-lib)
|
|
|
|
|
("curl" ,curl)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("ffmpeg" ,ffmpeg)
|
2020-05-06 17:37:40 -04:00
|
|
|
|
("libjpeg" ,libjpeg-turbo)
|
2020-05-02 11:51:21 -04:00
|
|
|
|
("libogg" ,libogg)
|
|
|
|
|
("libpng" ,libpng)
|
|
|
|
|
("libtheora" ,libtheora)
|
|
|
|
|
("libvorbis" ,libvorbis)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("openal" ,openal)
|
|
|
|
|
("pulseaudio" ,pulseaudio)
|
|
|
|
|
("qtbase" ,qtbase)
|
|
|
|
|
("qtdeclarative" ,qtdeclarative)
|
|
|
|
|
("sdl2" ,sdl2)
|
2020-05-06 17:37:40 -04:00
|
|
|
|
("uuid.h" ,util-linux "lib")
|
2020-05-02 11:51:21 -04:00
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(home-page "https://github.com/Warsow/qfusion")
|
|
|
|
|
(supported-systems '("i686-linux" "x86_64-linux"))
|
|
|
|
|
(synopsis "Warsow's fork of qfusion, the id Tech 2 derived game engine")
|
|
|
|
|
(description
|
|
|
|
|
"This package contains the game engine of Warsow, a first-person
|
|
|
|
|
shooter video game. The engine is based on qfusion, the id Tech 2 derived
|
|
|
|
|
game engine. id Tech 2 is the engine originally behind Quake 2.")
|
|
|
|
|
(license license:gpl2+))))
|