From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: 35411@debbugs.gnu.org
Subject: [bug#35411] [PATCH] Add hedgewars
Date: Wed, 24 Apr 2019 09:59:37 +0200 [thread overview]
Message-ID: <87y33zrfyu.fsf@nicolasgoaziou.fr> (raw)
[-- Attachment #1: Type: text/plain, Size: 183 bytes --]
Hello,
The following patch adds hedgewars game. It requires sdl2-net package,
which I submitted in a pending patch (see bug#35391).
Feedback welcome.
Regards,
--
Nicolas Goaziou
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Add hedgewars --]
[-- Type: text/x-diff, Size: 5557 bytes --]
From f17328d8810b31653f3007bb4a4950822328a2e5 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Wed, 24 Apr 2019 09:52:52 +0200
Subject: [PATCH] gnu: Add hedgewars.
* gnu/packages/games.scm (hedgewars): New variable.
---
gnu/packages/games.scm | 104 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index da917e2870..d51ecc60fa 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -6998,3 +6998,107 @@ pursue their favorite interesting flight simulation idea, and last but
certainly not least as a fun, realistic, and challenging desktop flight
simulator.")
(license license:gpl2+)))
+
+(define-public hedgewars
+ (package
+ (name "hedgewars")
+ (version "0.9.25")
+ (source (origin
+ (method hg-fetch)
+ (uri (hg-reference
+ (url "https://hg.hedgewars.org/hedgewars/")
+ (changeset (string-append version "-release"))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "00rckhalhw596x7zpb7rwg9663019xbg1zafcxfnj4x3dg435rl5"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; XXX: Engine is written as Pascal source code, requiring Free Pascal
+ ;; Compiler, which we haven't packaged yet. With the flag below, we use
+ ;; a Pascal to C translator and Clang instead.
+ `(#:configure-flags (list "-DBUILD_ENGINE_C=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-test
+ ;; XXX: Remove single failing test.
+ (lambda _
+ (delete-file "tests/lua/staticmines.lua")
+ #t))
+ (add-after 'unpack 'fix-compiler
+ ;; XXX: Flag BUILD_ENGINE_C, as set above, implies using Clang to
+ ;; compile files. However, using `clang' globally leads to the
+ ;; following issue:
+ ;; "qtbase-5.11.3/include/qt5/QtCore/qglobal.h:45:12: fatal error:
+ ;; 'type_traits' file not found".
+ ;;
+ ;; Therefore, we make sure to use `c++' everywhere but in the
+ ;; engine.
+ (lambda _
+ (substitute* "project_files/hwc/CMakeLists.txt"
+ (("find_package\\(SDL2_ttf 2 REQUIRED\\)" all)
+ (string-append all "\n"
+ "set(CMAKE_C_COMPILER ${CLANG_EXECUTABLE})\n"
+ "set(CMAKE_CXX_COMPILER ${CLANG_EXECUTABLE})")))
+ (substitute* "CMakeLists.txt"
+ (("set\\(CMAKE_C(XX)?_COMPILER \\$\\{CLANG_EXECUTABLE\\}\\)") ""))
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "ctest"))))))
+ (inputs
+ `(("clang" ,clang)
+ ("ffmpeg" ,ffmpeg)
+ ("freeglut" ,freeglut)
+ ("ghc" ,ghc)
+ ("ghc-entropy" ,ghc-entropy)
+ ("ghc-hslogger" ,ghc-hslogger)
+ ("ghc-network" ,ghc-network)
+ ("ghc-random" ,ghc-random)
+ ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+ ("ghc-sandi" ,ghc-sandi)
+ ("ghc-sha" ,ghc-sha)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-zlib" ,ghc-zlib)
+ ("glew" ,glew)
+ ("libpng" ,libpng)
+ ("lua" ,lua-5.1)
+ ("physfs" ,physfs)
+ ("qtbase" ,qtbase)
+ ("sdl" ,(sdl-union
+ (list sdl2 sdl2-mixer sdl2-net sdl2-ttf sdl2-image)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
+ (home-page "https://hedgewars.org/")
+ (synopsis "Funny turn-based artillery game, featuring fighting hedgehogs!")
+ (description
+ "Each player controls a team of several hedgehogs. During the course of
+the game, players take turns with one of their hedgehogs. They then use
+whatever tools and weapons are available to attack and kill the opponents'
+hedgehogs, thereby winning the game.
+
+Hedgehogs may move around the terrain in a variety of ways, normally by
+walking and jumping but also by using particular tools such as the ``Rope'' or
+``Parachute'', to move to otherwise inaccessible areas. Each turn is
+time-limited to ensure that players do not hold up the game with excessive
+thinking or moving. A large variety of tools and weapons are available for
+players during the game: Grenade, Cluster Bomb, Bazooka, UFO, Homing Bee,
+Shotgun, Desert Eagle, Fire Punch, Baseball Bat, Dynamite, Mine, Rope,
+Pneumatic pick, Parachute. Most weapons, when used, cause explosions that
+deform the terrain, removing circular chunks.
+
+The landscape is an island floating on a body of water, or a restricted cave
+with water at the bottom. A hedgehog dies when it enters the water (either by
+falling off the island, or through a hole in the bottom of it), it is thrown
+off either side of the arena or when its health is reduced, typically from
+contact with explosions, to zero (the damage dealt to the attacked hedgehog or
+hedgehogs after a player's or CPU turn is shown only when all movement on the
+battlefield has ceased).")
+ ;; Software as a whole is licensed under GPL-2 terms. Artwork and
+ ;; scripts are distributed under various terms.
+ (license (list license:gpl2
+ license:bsd-2 license:bsd-3 license:cc-by3.0 license:cc0
+ license:expat license:fdl-1.3+ license:public-domain
+ license:zlib))))
--
2.21.0
next reply other threads:[~2019-04-24 8:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-24 7:59 Nicolas Goaziou [this message]
2019-04-24 10:42 ` [bug#35411] [PATCH] Add hedgewars Ricardo Wurmus
2019-04-24 11:49 ` Nicolas Goaziou
2019-04-24 15:20 ` Ricardo Wurmus
2019-04-24 16:57 ` Nicolas Goaziou
2019-04-29 12:45 ` bug#35411: " Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y33zrfyu.fsf@nicolasgoaziou.fr \
--to=mail@nicolasgoaziou.fr \
--cc=35411@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).