diff mbox series

[bug#40289] games.scm: add "neverball" and "neverputt" (bundled together)

Message ID dglgGR1w6ZH85ymEhtuxN732mh6EFFRC0djzwv-Gr19OftqJ2YexMIRPpIcwOFDCErLGvDX7yE1yMr_UydxH4yhjwpj6J-xXuF4nB1ZbT3w=@protonmail.com
State Accepted
Headers show
Series [bug#40289] games.scm: add "neverball" and "neverputt" (bundled together) | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

ashish.is--- via Guix-patches" via March 31, 2020, 5:36 p.m. UTC
Hi.  Seems that all is done.  If it's good enough now?

Sent with [ProtonMail](https://protonmail.com) Secure Email.

Comments

Nicolas Goaziou March 31, 2020, 6:24 p.m. UTC | #1
Hello,

Vitaliy Shatrov via Guix-patches via <guix-patches@gnu.org> writes:

> Hi.  Seems that all is done.  If it's good enough now?

It looks good. Thank you!

I added a copyright line for you, removed some comments, made sure lines
were not going past column 80, and pushed it, as
3de5b4047e010340485019170e5715deb0de21c0.

Regards,

Regards,
diff mbox series

Patch

From 0b46b87d49f6456ce16430c16e4c195b16586fcf Mon Sep 17 00:00:00 2001
From: Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
Date: Wed, 1 Apr 2020 00:31:30 +0700
Subject: [PATCH] gnu: Add neverball

* gnu/packages/games.scm (neverball): New variable.
---
 gnu/packages/games.scm | 103 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 103 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3284459021..528aef2056 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -172,6 +172,7 @@ 
   #:use-module (gnu packages xml)
   #:use-module (gnu packages messaging)
   #:use-module (gnu packages networking)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -10310,3 +10311,105 @@  to conquer opponents by defeating them in war (with troops or machines),
 capturing their buildings with spies, or offering opponents money for their
 kingdom.")
     (license license:gpl2+)))
+
+(define-public neverball
+  ;; git-version is 6-years younger than latest release
+  (let ((commit "760a25d32a5fb0661b99426d4ddcb9ac9f3d1644")
+        (revision "1"))
+    (package
+      (name "neverball")
+      (version (git-version "1.6.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Neverball/neverball.git")
+               (commit commit)))
+         (sha256
+          (base32
+           "0bwh67df3lyf33bv710y25l3frjdd34j9b7gsjadwxviz6r1vpj5"))
+         (file-name (git-file-name name version))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             ;; Debian doesn't strip it, though.  i'm dummy
+             (delete-file-recursively "data/ball/octocat")
+             #t))))
+      (build-system copy-build-system)
+      (arguments
+       `(#:install-plan
+         '(("neverball" "bin/")
+           ("neverputt" "bin/")
+           ("mapc"      "bin/")
+           ("data"   "share/games/neverball/") ;; Octocat seem to be non-free
+           ("locale" "share/")
+           ("dist/"  "share/games/neverball" #:include ("neverball_replay.png"
+                                                        "neverlogos.svg"
+                                                        "svg readme.txt"))
+           ;; https://gitlab.com/xonotic/netradiant
+           ;;("NeverballPack" "share/games/neverball/")
+           ("dist/"   "share/applications" #:include ("neverball.desktop"
+                                                      "neverputt.desktop"))
+           ("dist/neverball_16.png" "/share/icons/hicolor/16x16/apps/neverball.png")
+           ("dist/neverball_24.png" "/share/icons/hicolor/24x24/apps/neverball.png")
+           ("dist/neverball_32.png" "/share/icons/hicolor/32x32/apps/neverball.png")
+           ("dist/neverball_48.png" "/share/icons/hicolor/48x48/apps/neverball.png")
+           ("dist/neverball_64.png" "/share/icons/hicolor/64x64/apps/neverball.png")
+           ("dist/neverball_128.png" "/share/icons/hicolor/128x128/apps/neverball.png")
+           ("dist/neverball_256.png" "/share/icons/hicolor/256x256/apps/neverball.png")
+           ("dist/neverball_512.png" "/share/icons/hicolor/512x512/apps/neverball.png")
+
+           ("dist/neverputt_16.png" "/share/icons/hicolor/16x16/apps/neverputt.png")
+           ("dist/neverputt_24.png" "/share/icons/hicolor/24x24/apps/neverputt.png")
+           ("dist/neverputt_32.png" "/share/icons/hicolor/32x32/apps/neverputt.png")
+           ("dist/neverputt_48.png" "/share/icons/hicolor/48x48/apps/neverputt.png")
+           ("dist/neverputt_64.png" "/share/icons/hicolor/64x64/apps/neverputt.png")
+           ("dist/neverputt_128.png" "/share/icons/hicolor/128x128/apps/neverputt.png")
+           ("dist/neverputt_256.png" "/share/icons/hicolor/256x256/apps/neverputt.png")
+           ("dist/neverputt_512.png" "/share/icons/hicolor/512x512/apps/neverputt.png")
+
+           ("dist/" "share/man/man1" #:include ("mapc.1"))
+           ("dist/" "share/man/man6" #:include ("neverball.6"
+                                                "neverputt.6"))
+           ("doc/"      "share/doc/neverball")
+           ("README.md" "share/doc/neverball/"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-before 'install 'build
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (sdl (assoc-ref inputs "sdl")))
+                 (invoke "make" "-j" (number->string (parallel-job-count))
+                         "--environment-overrides"
+                         "CC=gcc" "BUILD=release"
+                         (string-append "DATADIR=" out "/share/games/neverball/data")
+                         (string-append "LOCALEDIR=" out "/share/locale")
+                         (string-append "SDL_CPPFLAGS=-I" sdl "/include/SDL2/")))
+               #t))
+           (add-after 'install 'fix-some-broken-fonts
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out")))
+                 (wrap-program (string-append out "/bin/neverball")
+                   `("LANG" = ("en_US.utf8")))
+                 (wrap-program (string-append out "/bin/neverputt")
+                   `("LANG" = ("en_US.utf8"))))
+               #t)))))
+      (native-inputs
+       `(("gettext" ,gettext-minimal)))   ;for msgfmt
+      (inputs
+       `(("libjpeg"   ,libjpeg)
+         ("libpng"    ,libpng)
+         ("libvorbis" ,libvorbis)
+         ("physfs"    ,physfs)
+         ("sdl" ,(sdl-union (list sdl2
+                                  sdl2-ttf)))))
+      (home-page "https://neverball.org/")
+      (synopsis "3D floor-tilting game")
+      (description
+       "In the grand tradition of Marble Madness and Super Monkey Ball,
+Neverball has you guide a rolling ball through dangerous territory.  Balance
+on narrow bridges, navigate mazes, ride moving platforms, and dodge pushers
+and shovers to get to the goal.  Race against the clock to collect coins to
+earn extra balls.  Also included is Neverputt, which is a 3D miniature golf
+game.") ;thanks to Debian for description
+      (license license:gpl2+))))
-- 
2.25.1