diff mbox series

[bug#64787,2/2] gnu: Add openquest.

Message ID e215aae7-8007-6f2d-2d73-11b5e1587ed0@disroot.org
State New
Headers show
Series gnu: Add openquest. | expand

Commit Message

Adam Faiz July 22, 2023, 8:27 a.m. UTC
From 856d172ba50107ee74fe5c2aca5114923c89fbb1 Mon Sep 17 00:00:00 2001
Message-ID: <856d172ba50107ee74fe5c2aca5114923c89fbb1.1690012542.git.adam.faiz@disroot.org>
In-Reply-To: <cover.1690012542.git.adam.faiz@disroot.org>
References: <cover.1690012542.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:38:48 +0800
Subject: [PATCH 2/2] gnu: Add openquest.

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

Comments

Liliana Marie Prikler July 22, 2023, 9:23 a.m. UTC | #1
Am Samstag, dem 22.07.2023 um 16:27 +0800 schrieb Adam Faiz:
> From 856d172ba50107ee74fe5c2aca5114923c89fbb1 Mon Sep 17 00:00:00
> 2001
> Message-ID:
> <856d172ba50107ee74fe5c2aca5114923c89fbb1.1690012542.git.adam.faiz@di
> sroot.org>
> In-Reply-To: <cover.1690012542.git.adam.faiz@disroot.org>
> References: <cover.1690012542.git.adam.faiz@disroot.org>
> From: AwesomeAdam54321 <adam.faiz@disroot.org>
> Date: Sat, 22 Jul 2023 15:38:48 +0800
> Subject: [PATCH 2/2] gnu: Add openquest.
> 
> * gnu/packages/games.scm (openquest): New variable.
> ---
>  gnu/packages/games.scm | 49
> ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
> 
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index c388314771..7355b295b7 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -5094,6 +5094,55 @@ (define openrct2-objects
>      "openrct2-objects is a set of objects for OpenRCT2.")
>     (license license:gpl3+)))
>  
> +(define-public openquest
> +  (package
> +    (inherit scummc)
> +    (name "openquest")
> +    (build-system trivial-build-system)
As a matter of principle, almost always prefer copy-build-system over
trivial-build-system, but see below.
> +    (arguments
> +     `(#:modules ((guix build utils))
> +       #:builder
> +       (begin
> +         (use-modules (guix build utils)
> +                      (ice-9 match))
> +         (let* ((out (assoc-ref %outputs "out"))
> +                (scummc (assoc-ref %build-inputs "scummc"))
> +                (share (string-append scummc "/examples/openquest"))
> +                (scummvm (assoc-ref %build-inputs "scummvm")))
> +           ;; Create standalone executable.
> +           (let* ((bin (string-append out "/bin"))
> +                  (executable (string-append bin "/openquest"))
> +                  (bash (search-input-file %build-inputs
> "/bin/bash")))
> +             (mkdir-p bin)
> +             (with-output-to-file executable
> +               (lambda ()
> +                 (format #t "#!~a~%" bash)
> +                 (format #t
> +                         "exec ~a/bin/scummvm --path=~a tentacle~%"
> +                         scummvm share)))
> +             (chmod executable #o755))
IIUC this is done via "make tentacle" in the previous package.
We would have to set the following make-flags:

SCC  = scc
SLD  = sld
COST = cost
CHAR = char
SOUN = soun

as well as possible other adjustments to use it without rebuilding, but
I'd say that's worth a try.

> +           ;; Create desktop file.  There is no official icon,
> +           ;; but the main character of the game is a good choice.
> +           (let ((apps (string-append out "/share/applications")))
> +             (mkdir-p apps)
> +             (make-desktop-entry-file
> +              (string-append apps "/openquest.desktop")
> +              #:name "OpenQuest"
> +              #:generic-name "OpenQuest"
> +              #:exec (string-append out "/bin/openquest")
> +              #:icon (string-append scummc
> "/examples/openquest/graphics/zob/frames/stand_S.bmp")
> +              #:categories '("AdventureGame" "Game" "RolePlaying")
> +              #:keywords '("game" "adventure" "roleplaying" "2D"
> "sci-fi")
> +              #:comment '((#f "Simple 2D point and click adventure
> game"))))))))
> +    (native-inputs
> +     (list bash unzip))
> +    (inputs
> +     (list scummc scummvm))
> +    (home-page "https://www.scummvm.org")
> +    (synopsis "Simple 2D point and click adventure game")
> +    (description "OpenQuest is a two room adventure game
> +that follows two aliens who come to Earth in search of a stolen
> artifact.")))
> +
> 

Cheers
diff mbox series

Patch

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c388314771..7355b295b7 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5094,6 +5094,55 @@  (define openrct2-objects
     "openrct2-objects is a set of objects for OpenRCT2.")
    (license license:gpl3+)))
 
+(define-public openquest
+  (package
+    (inherit scummc)
+    (name "openquest")
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (ice-9 match))
+         (let* ((out (assoc-ref %outputs "out"))
+                (scummc (assoc-ref %build-inputs "scummc"))
+                (share (string-append scummc "/examples/openquest"))
+                (scummvm (assoc-ref %build-inputs "scummvm")))
+           ;; Create standalone executable.
+           (let* ((bin (string-append out "/bin"))
+                  (executable (string-append bin "/openquest"))
+                  (bash (search-input-file %build-inputs "/bin/bash")))
+             (mkdir-p bin)
+             (with-output-to-file executable
+               (lambda ()
+                 (format #t "#!~a~%" bash)
+                 (format #t
+                         "exec ~a/bin/scummvm --path=~a tentacle~%"
+                         scummvm share)))
+             (chmod executable #o755))
+           ;; Create desktop file.  There is no official icon,
+           ;; but the main character of the game is a good choice.
+           (let ((apps (string-append out "/share/applications")))
+             (mkdir-p apps)
+             (make-desktop-entry-file
+              (string-append apps "/openquest.desktop")
+              #:name "OpenQuest"
+              #:generic-name "OpenQuest"
+              #:exec (string-append out "/bin/openquest")
+              #:icon (string-append scummc "/examples/openquest/graphics/zob/frames/stand_S.bmp")
+              #:categories '("AdventureGame" "Game" "RolePlaying")
+              #:keywords '("game" "adventure" "roleplaying" "2D" "sci-fi")
+              #:comment '((#f "Simple 2D point and click adventure game"))))))))
+    (native-inputs
+     (list bash unzip))
+    (inputs
+     (list scummc scummvm))
+    (home-page "https://www.scummvm.org")
+    (synopsis "Simple 2D point and click adventure game")
+    (description "OpenQuest is a two room adventure game
+that follows two aliens who come to Earth in search of a stolen artifact.")))
+
 (define-public openrct2
   (package
     (name "openrct2")