all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Adam Faiz via Guix-patches via <guix-patches@gnu.org>
To: 64787@debbugs.gnu.org
Cc: Liliana Marie Prikler <liliana.prikler@gmail.com>, iyzsong@envs.net
Subject: [bug#64787] [PATCH v3 2/2] gnu: Add openquest.
Date: Sun, 27 Aug 2023 13:29:09 +0800	[thread overview]
Message-ID: <dc8615db-e071-54c1-8ed0-baedaf336498@disroot.org> (raw)
In-Reply-To: <b0e0bbc4-c90a-e6fa-fdb4-672174a07060@disroot.org>

From 0ff1adbf5147677f613697253867862ce342d115 Mon Sep 17 00:00:00 2001
Message-ID: <0ff1adbf5147677f613697253867862ce342d115.1693113837.git.adam.faiz@disroot.org>
In-Reply-To: <7ab2531a5434121f3fb7fdc25c626693f4d96cb6.1693113837.git.adam.faiz@disroot.org>
References: <7ab2531a5434121f3fb7fdc25c626693f4d96cb6.1693113837.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:38:48 +0800
Subject: [PATCH v3 2/2] gnu: Add openquest.

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e594eb701c..857429b8cf 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5099,6 +5099,91 @@ (define openrct2-objects
     "openrct2-objects is a set of objects for OpenRCT2.")
    (license license:gpl3+)))
 
+(define-public openquest
+  (package
+    (name "openquest")
+    (version "0.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/AlbanBedel/scummc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1yyq05kfmvgx5aa68kg1l5a4lpsky7hzxxcdvv2xbgf0jljdcl3k"))
+              (modules '((guix build utils)))
+              (snippet
+               #~(begin
+                   (substitute* "configure"
+                     (("\\|alpha" all)
+                      (string-append all "|arm|aarch64|powerpc64le")))
+                   (substitute* "examples/example.mak"
+                     (("scost.*\n$") "scost\n")
+                     (("bmp \\$\\(.*\n$") "bmp\n")
+                     (("/%.scc.*\n$") "/%.scc\n")
+                     (("voc \\$\\(.*\n$") "voc\n"))
+                   (substitute* "Makefile.target"
+                     (("distrib-data:.*\n") "distrib-data:\n")
+                     (("cp.*/bin" all)
+                      (string-append all " || true")))))))
+    (build-system gnu-build-system)
+    (arguments
+     (substitute-keyword-arguments (package-arguments scummc)
+       ((#:make-flags _)
+        #~(list "SCC=scc"
+                "SLD=sld"
+                "COST=cost"
+                "CHAR=char"
+                "SOUN=soun"))
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (replace 'build
+              (lambda* (#:key make-flags #:allow-other-keys)
+                (with-directory-excursion "examples/openquest"
+                  (apply invoke "make" "tentacle" make-flags))))
+            (add-after 'install 'install-executable
+              (lambda* (#:key inputs #:allow-other-keys)
+                ;; Create standalone executable.
+                (let* ((bash (search-input-file inputs "/bin/bash"))
+                       (share (string-append #$output "/examples/openquest"))
+                       (scummvm (search-input-file inputs "/bin/scummvm"))
+                       (bin (string-append #$output "/bin"))
+                       (executable (string-append bin "/openquest")))
+                  (mkdir-p bin)
+                  (with-output-to-file executable
+                    (lambda ()
+                      (format #t "#!~a~%" bash)
+                      (format #t
+                              "exec ~a --path=~a tentacle~%"
+                              scummvm share)))
+                  (chmod executable #o755))))
+            (add-after 'install-executable 'install-desktop-file
+              (lambda _
+                ;; Create desktop file.  There is no official icon,
+                ;; but the main character of the game is a good choice.
+                (let ((apps (string-append #$output "/share/applications")))
+                  (mkdir-p apps)
+                  (make-desktop-entry-file
+                   (string-append apps "/openquest.desktop")
+                   #:name "OpenQuest"
+                   #:generic-name "OpenQuest"
+                   #:exec (string-append #$output "/bin/openquest")
+                   #:icon (string-append #$output "/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
+     (modify-inputs (package-native-inputs scummc)
+       (prepend scummc)))
+    (inputs
+     (list bash 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.")
+    (license license:gpl2+)))
+
 (define-public openrct2
   (package
     (name "openrct2")
-- 
2.41.0




  parent reply	other threads:[~2023-08-27  5:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-22  8:22 [bug#64787] [PATCH 0/2] gnu: Add openquest Adam Faiz via Guix-patches via
2023-07-22  8:24 ` [bug#64787] [PATCH 1/2] gnu: Add scummc Adam Faiz via Guix-patches via
2023-07-22  8:27   ` [bug#64787] [PATCH 2/2] gnu: Add openquest Adam Faiz via Guix-patches via
2023-07-22  9:23     ` Liliana Marie Prikler
2023-07-22  9:14   ` [bug#64787] [PATCH 1/2] gnu: Add scummc Liliana Marie Prikler
2023-07-22 15:28 ` [bug#64787] [PATCH v1 " Adam Faiz via Guix-patches via
2023-07-22 15:30   ` [bug#64787] [PATCH v1 2/2] gnu: Add openquest Adam Faiz via Guix-patches via
2023-07-22 16:07     ` Liliana Marie Prikler
2023-07-22 23:48 ` [bug#64787] [PATCH v2 1/2] gnu: Add scummc Adam Faiz via Guix-patches via
2023-07-22 23:50   ` [bug#64787] [PATCH v2 2/2] gnu: Add openquest Adam Faiz via Guix-patches via
2023-08-27  5:27 ` [bug#64787] [PATCH v3 1/2] gnu: Add scummc Adam Faiz via Guix-patches via
2023-08-27  6:21   ` Liliana Marie Prikler
2023-08-27  5:29 ` Adam Faiz via Guix-patches via [this message]
2023-08-27  6:22   ` [bug#64787] [PATCH v3 2/2] gnu: Add openquest Liliana Marie Prikler
2023-08-27  7:02 ` [bug#64787] [PATCH v4 1/2] gnu: Add scummc Adam Faiz via Guix-patches via
2023-08-27  7:03 ` [bug#64787] [PATCH v4 2/2] gnu: Add openquest Adam Faiz via Guix-patches via
2023-09-02  5:14 ` bug#64787: [PATCH 0/2] " Liliana Marie Prikler

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dc8615db-e071-54c1-8ed0-baedaf336498@disroot.org \
    --to=guix-patches@gnu.org \
    --cc=64787@debbugs.gnu.org \
    --cc=adam.faiz@disroot.org \
    --cc=iyzsong@envs.net \
    --cc=liliana.prikler@gmail.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.