[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#38805] [PATCH] Add lure.
[bug#38805] [PATCH] Add lure.
Mon, 10 Feb 2020 02:45:51 +0100
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
Efraim Flashner <address@hidden> writes:
> I think for people looking for the game in other languages finding it as
> game-lang would be easier than as a separate output. So my vote would be
> different packages, assumably all inheriting from the english one.
Thank you for the review!
Unfortunately, inheritance doesn't cut it, as I need to parametrize the
What do you think about the following update?
>From 8a22035948190f63d941cd8e51b69bf4a37bdca3 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <address@hidden>
Date: Mon, 30 Dec 2019 02:43:59 +0100
Subject: [PATCH] gnu: Add lure.
* gnu/packages/games.scm (make-lure-package):
(lure-it): New variables.
gnu/packages/games.scm | 111 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 111 insertions(+)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 78e0042aac..e9543679cd 100644
@@ -7730,6 +7730,117 @@ the World and demonstrating that he is even more evil
than his brother Vlad.")
;; Drascula uses a BSD-like license.
(license (license:non-copyleft "file:///readme.txt"))))
+(define (make-lure-package name language hash)
+ (name name)
+ (version "1.1")
+ (method url-fetch)
+ (uri (string-append
+ name "-" version ".zip"))
+ (base32 hash))))
+ (build-system trivial-build-system)
+ `(#:modules ((guix build utils))
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (share (string-append out "/share/lure")))
+ (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
+ (invoke unzip "-j" (assoc-ref %build-inputs "source")))
+ (let ((doc (string-append out "/share/doc/lure-" ,version)))
+ (for-each (lambda (f) (install-file f doc))
+ (find-files "." "\\.(txt|PDF|pdf)$")))
+ (for-each (lambda (f)
+ (install-file f (string-append share "/" ,language)))
+ (find-files "." "\\.(vga|VGA)$"))
+ (let* ((bin (string-append out "/bin"))
+ (apps (string-append out "/share/applications"))
+ (executable (string-append bin "/" ,name))
+ (bash (assoc-ref %build-inputs "bash"))
+ (scummvm (assoc-ref %build-inputs "scummvm")))
+ ;; Build the executable.
+ (mkdir-p bin)
+ (with-output-to-file executable
+ (lambda ()
+ (format #t "#!~a/bin/bash~%" bash)
+ (format #t "exec ~a/bin/scummvm -q ~a -p ~a lure~%"
+ (string-append share "/" ,language))))
+ (chmod executable #o755)
+ ;; Create desktop file. There is no dedicated
+ ;; icon for the game, so we borrow SCUMMVM's.
+ (mkdir-p apps)
+ (with-output-to-file (string-append apps "/" ,name ".desktop")
+ (lambda _
+ (format #t
+ "[Desktop Entry]~@
+ Name=Lure of the Temptress~@
+ Comment=Classic 2D point and click adventure game~@
+ Comment[de]=klassisches 2D-Abenteuerspiel in
+ Comment[fr]=Jeu classique d'aventure pointer-et-cliquer
+ Comment[it]=Gioco classico di avventura punta e clicca
+ executable scummvm))))
+ `(("bash" ,bash)
+ ("unzip" ,unzip)))
+ `(("scummvm" ,scummvm)))
+ (home-page "https://www.scummvm.org")
+ (synopsis "2D point and click fantasy adventure game")
+ "You are Diermot, an unwilling hero who'd prefer a quiet life, and are,
+to all intents and purposes, a good man. After decades of unrest the King has
+united the warring factions in his kingdom and all his lands are at peace,
+except a remote region around a town called Turnvale. A revolt has recently
+taken place in Turnvale, a revolt orchestrated by an apprentice sorceress
+called Selena, the titular temptress. The king calls together his finest
+horsemen and heads off (with you in tow) to Turnvale just to witness how
+hellish mercenary monsters called Skorl are invading the town.
+The king's men are defeated, the king is killed and you fall of your horse and
+bang your head heavily on the ground. You have been *unconscious for a while
+when you realize that you are in a dingy cell guarded by a not so friendly
+Skorl. Maybe it would be an idea to try and escape...
+Note that this package only contains game-data. The game engine is provided
+ (license (license:non-copyleft "file:///README"))))
+ "lure" "en" "0201i70qcs1m797kvxjx3ygkhg6kcl5yf49sihba2ga8l52q45zk"))
+ "lure-de" "de" "0sqq7h5llml6rv85x0bfv4bgzwhs4c82p4w4zmfcaab6cjlad0sy"))
+ "lure-es" "es" "1dvv5znvlsakw6w5r16calv9jkgw27aymgybsf4q22lcmpxbj1lk"))
+ "lure-fr" "fr" "1y51jjb7f8023832g44vd1jsb6ni85586pi2n5hjg9qjk6gi90r9"))
+ "lure-it" "it" "1ks6n39r1cllisrrh6pcr39swsdv7ng3gx5c47vaw71zzfr70hjj"))