[PATCH 0/2] gnu: Add openquest.

  • Done
  • quality assurance status badge
Details
2 participants
  • Adam Faiz
  • Liliana Marie Prikler
Owner
unassigned
Submitted by
Adam Faiz
Severity
normal
A
A
Adam Faiz wrote on 22 Jul 2023 10:22
(address . guix-patches@gnu.org)
b0e0bbc4-c90a-e6fa-fdb4-672174a07060@disroot.org
From 856d172ba50107ee74fe5c2aca5114923c89fbb1 Mon Sep 17 00:00:00 2001
Message-ID: <cover.1690012542.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:55:42 +0800
Subject: [PATCH 0/2] gnu: Add openquest.

This patch series adds OpenQuest, a ScummVM game.

Since OpenQuest was ported by the ScummC team, its build system is included
as a part of ScummC.
It would take a lot of patching to build the game in a separate repo.

AwesomeAdam54321 (2):
gnu: Add scummc.
gnu: Add openquest.

gnu/packages/game-development.scm | 44 +++++++++++++++++++++++++++
gnu/packages/games.scm | 49 +++++++++++++++++++++++++++++++
2 files changed, 93 insertions(+)


base-commit: 6bda806416b8e6032ef1047c5feed776b6cc0493
--
2.41.0
A
A
Adam Faiz wrote on 22 Jul 2023 10:24
[PATCH 1/2] gnu: Add scummc.
(address . 64787@debbugs.gnu.org)
82cbd1ec-be9b-bd78-79a4-0c375d0f5c57@disroot.org
From 7b2abb3e398601b28666511b457c23f2e2b71a79 Mon Sep 17 00:00:00 2001
Message-ID: <7b2abb3e398601b28666511b457c23f2e2b71a79.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:34:55 +0800
Subject: [PATCH 1/2] gnu: Add scummc.

* gnu/packages/game-development.scm (scummc): New variable.
---
gnu/packages/game-development.scm | 44 +++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b0d9a88dc2..a2600ff2fe 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
@@ -745,6 +746,49 @@ (define-public tsukundere
experimental.")
(license license:lgpl3+)))
+(define-public scummc
+ (package
+ (name "scummc")
+ (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"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list bison doxygen libxslt pkg-config))
+ (inputs
+ (list freetype gtk+-2 sdl))
+ (arguments
+ (list #:test-target "test"
+ #:tests? #f ; The only tests verify that game checksums match
+ #:make-flags
+ #~(list "SHOW_WARNINGS=no")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure ; ScummC uses a non-standard configure
+ (lambda _
+ (invoke "./configure")))
+ (add-after 'build 'build-openquest
+ (lambda _
+ (with-directory-excursion "examples/openquest"
+ (invoke "make" "tentacle"))))
+ (replace 'install ; install target is referred to as distrib
+ (lambda _
+ (invoke "make" "distrib"
+ (string-append "DISTRIB=" #$output)))))))
+ (synopsis "Scumm Compiler")
+ (description
+ "ScummC is a set of tools allowing to create SCUMM games from scratch.
+It is capable of creating games for SCUMM version 6 and partially version 7.")
+ (home-page "https://github.com/AlbanBedel/scummc")
+ (license license:gpl2+)))
+
(define-public sfml
(package
(name "sfml")
--
2.41.0
A
A
Adam Faiz wrote on 22 Jul 2023 10:27
[PATCH 2/2] gnu: Add openquest.
(address . 64787@debbugs.gnu.org)
e215aae7-8007-6f2d-2d73-11b5e1587ed0@disroot.org
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(+)

Toggle diff (62 lines)
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")
--
2.41.0
L
L
Liliana Marie Prikler wrote on 22 Jul 2023 11:14
Re: [PATCH 1/2] gnu: Add scummc.
(address . iyzsong@envs.net)
6964858f72f9357b174c9a042efa428ca0e9ca9c.camel@gmail.com
Am Samstag, dem 22.07.2023 um 16:24 +0800 schrieb Adam Faiz:
Toggle quote (65 lines)
> From 7b2abb3e398601b28666511b457c23f2e2b71a79 Mon Sep 17 00:00:00
> 2001
> Message-ID:
> <7b2abb3e398601b28666511b457c23f2e2b71a79.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:34:55 +0800
> Subject: [PATCH 1/2] gnu: Add scummc.
>
> * gnu/packages/game-development.scm (scummc): New variable.
> ---
>  gnu/packages/game-development.scm | 44
> +++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-
> development.scm
> index b0d9a88dc2..a2600ff2fe 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages base)
>    #:use-module (gnu packages bash)
> +  #:use-module (gnu packages bison)
>    #:use-module (gnu packages boost)
>    #:use-module (gnu packages build-tools)
>    #:use-module (gnu packages compression)
> @@ -745,6 +746,49 @@ (define-public tsukundere
>  experimental.")
>      (license license:lgpl3+)))
>  
> +(define-public scummc
> +  (package
> +    (name "scummc")
> +    (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"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     (list bison doxygen libxslt pkg-config))
> +    (inputs
> +     (list freetype gtk+-2 sdl))
> +    (arguments
> +     (list #:test-target "test"
> +           #:tests? #f ; The only tests verify that game checksums
> match
> +           #:make-flags
> +           #~(list "SHOW_WARNINGS=no")
> +           #:phases
> +           #~(modify-phases %standard-phases
> +               (replace 'configure ; ScummC uses a non-standard
> configure
> +                 (lambda _
> +                   (invoke "./configure")))
Replaced configure should still take #:configure-flags.
Toggle quote (4 lines)
> +               (add-after 'build 'build-openquest
> +                 (lambda _
> +                   (with-directory-excursion "examples/openquest"
> +                     (invoke "make" "tentacle"))))
Is this a check?
Toggle quote (14 lines)
> +               (replace 'install ; install target is referred to as
> distrib
> +                 (lambda _
> +                   (invoke "make" "distrib"
> +                           (string-append "DISTRIB=" #$output)))))))
> +    (synopsis "Scumm Compiler")
> +    (description
> +     "ScummC is a set of tools allowing to create SCUMM games from
> scratch.
> +It is capable of creating games for SCUMM version 6 and partially
> version 7.")
> +    (home-page "https://github.com/AlbanBedel/scummc")
> +    (license license:gpl2+)))
> +
Otherwise LGTM.

Cheers
L
L
Liliana Marie Prikler wrote on 22 Jul 2023 11:23
Re: [PATCH 2/2] gnu: Add openquest.
(address . iyzsong@envs.net)
d04c0e2fb8df5e7ad359446b034de87b4907e15f.camel@gmail.com
Am Samstag, dem 22.07.2023 um 16:27 +0800 schrieb Adam Faiz:
Toggle quote (30 lines)
> 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.
Toggle quote (23 lines)
> +    (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.

Toggle quote (28 lines)
> +           ;; 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
A
A
Adam Faiz wrote on 22 Jul 2023 17:28
[PATCH v1 1/2] gnu: Add scummc.
(address . 64787@debbugs.gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
01ed1b7d-85ac-5b24-6778-158f9c5467d8@disroot.org
From ae75dfc3f9fa840f014b23809132540b955e189b Mon Sep 17 00:00:00 2001
Message-ID: <ae75dfc3f9fa840f014b23809132540b955e189b.1690039034.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:34:55 +0800
Subject: [PATCH v1 1/2] gnu: Add scummc.

* gnu/packages/game-development.scm (scummc): New variable.
---
gnu/packages/game-development.scm | 52 +++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (74 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b0d9a88dc2..ba015aa649 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
@@ -745,6 +746,57 @@ (define-public tsukundere
experimental.")
(license license:lgpl3+)))
+(define-public scummc
+ (package
+ (name "scummc")
+ (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* "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)
+ (native-inputs
+ (list bison doxygen libxslt pkg-config))
+ (inputs
+ (list freetype gtk+-2 sdl))
+ (arguments
+ (list #:test-target "test"
+ #:tests? #f ; The only tests verify that game checksums match
+ #:make-flags
+ #~(list "SHOW_WARNINGS=no")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure ; ScummC uses a non-standard configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (apply invoke "./configure" configure-flags)))
+ (replace 'install ; install target is referred to as distrib
+ (lambda _
+ (invoke "make" "distrib"
+ (string-append "DISTRIB=" #$output)))))))
+ (synopsis "Scumm Compiler")
+ (description
+ "ScummC is a set of tools allowing to create SCUMM games from scratch.
+It is capable of creating games for SCUMM version 6 and partially version 7.")
+ (home-page "https://github.com/AlbanBedel/scummc")
+ (license license:gpl2+)))
+
(define-public sfml
(package
(name "sfml")

base-commit: 6bda806416b8e6032ef1047c5feed776b6cc0493
--
2.41.0
A
A
Adam Faiz wrote on 22 Jul 2023 17:30
[PATCH v1 2/2] gnu: Add openquest.
(address . 64787@debbugs.gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
e2109bb2-0065-1af4-cf7c-68bad8e987fe@disroot.org
From 4ae5c4a4de15f4fb7fcd165e3e619e356051b049 Mon Sep 17 00:00:00 2001
Message-ID: <4ae5c4a4de15f4fb7fcd165e3e619e356051b049.1690039034.git.adam.faiz@disroot.org>
In-Reply-To: <ae75dfc3f9fa840f014b23809132540b955e189b.1690039034.git.adam.faiz@disroot.org>
References: <ae75dfc3f9fa840f014b23809132540b955e189b.1690039034.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:38:48 +0800
Subject: [PATCH v1 2/2] gnu: Add openquest.

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

Toggle diff (75 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c388314771..39fbfc195f 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5094,6 +5094,68 @@ (define openrct2-objects
"openrct2-objects is a set of objects for OpenRCT2.")
(license license:gpl3+)))
+(define-public openquest
+ (package
+ (name "openquest")
+ (version "1.0")
+ (source (package-source scummc))
+ (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
L
L
Liliana Marie Prikler wrote on 22 Jul 2023 18:07
3e14f77510e7fa4b4e63e7234e00df8c5c06dc0e.camel@gmail.com
Am Samstag, dem 22.07.2023 um 23:30 +0800 schrieb Adam Faiz:
Toggle quote (17 lines)
> From 4ae5c4a4de15f4fb7fcd165e3e619e356051b049 Mon Sep 17 00:00:00
> 2001
> Message-ID:
> <4ae5c4a4de15f4fb7fcd165e3e619e356051b049.1690039034.git.adam.faiz@di
> sroot.org>
> In-Reply-To:
> <ae75dfc3f9fa840f014b23809132540b955e189b.1690039034.git.adam.faiz@di
> sroot.org>
> References:
> <ae75dfc3f9fa840f014b23809132540b955e189b.1690039034.git.adam.faiz@di
> sroot.org>
> From: AwesomeAdam54321 <adam.faiz@disroot.org>
> Date: Sat, 22 Jul 2023 15:38:48 +0800
> Subject: [PATCH v1 2/2] gnu: Add openquest.
>
> * gnu/packages/games.scm (openquest): New variable.
> ---
Note: tagging revisions as v1 appears to mess with mumi, so don't.
Toggle quote (17 lines)
>  gnu/packages/games.scm | 62
> ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index c388314771..39fbfc195f 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -5094,6 +5094,68 @@ (define openrct2-objects
>      "openrct2-objects is a set of objects for OpenRCT2.")
>     (license license:gpl3+)))
>  
> +(define-public openquest
> +  (package
> +    (name "openquest")
> +    (version "1.0")
> +    (source (package-source scummc))
You should replicate the source here. The source field is not lazy,
which means it can lead to breakages when stuff goes cross modules.
Toggle quote (67 lines)
> +    (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+)))
> +
Cheers
A
A
Adam Faiz wrote on 23 Jul 2023 01:48
[PATCH v2 1/2] gnu: Add scummc.
(address . 64787@debbugs.gnu.org)
b3cad140-2e7b-4e4d-ad24-d1156ddc6880@disroot.org
From ae75dfc3f9fa840f014b23809132540b955e189b Mon Sep 17 00:00:00 2001
Message-ID: <ae75dfc3f9fa840f014b23809132540b955e189b.1690069496.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:34:55 +0800
Subject: [PATCH v2 1/2] gnu: Add scummc.

* gnu/packages/game-development.scm (scummc): New variable.
---
gnu/packages/game-development.scm | 52 +++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (74 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b0d9a88dc2..ba015aa649 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
@@ -745,6 +746,57 @@ (define-public tsukundere
experimental.")
(license license:lgpl3+)))
+(define-public scummc
+ (package
+ (name "scummc")
+ (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* "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)
+ (native-inputs
+ (list bison doxygen libxslt pkg-config))
+ (inputs
+ (list freetype gtk+-2 sdl))
+ (arguments
+ (list #:test-target "test"
+ #:tests? #f ; The only tests verify that game checksums match
+ #:make-flags
+ #~(list "SHOW_WARNINGS=no")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure ; ScummC uses a non-standard configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (apply invoke "./configure" configure-flags)))
+ (replace 'install ; install target is referred to as distrib
+ (lambda _
+ (invoke "make" "distrib"
+ (string-append "DISTRIB=" #$output)))))))
+ (synopsis "Scumm Compiler")
+ (description
+ "ScummC is a set of tools allowing to create SCUMM games from scratch.
+It is capable of creating games for SCUMM version 6 and partially version 7.")
+ (home-page "https://github.com/AlbanBedel/scummc")
+ (license license:gpl2+)))
+
(define-public sfml
(package
(name "sfml")

base-commit: 6bda806416b8e6032ef1047c5feed776b6cc0493
--
2.41.0
A
A
Adam Faiz wrote on 23 Jul 2023 01:50
[PATCH v2 2/2] gnu: Add openquest.
(address . 64787@debbugs.gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
076074f9-7ed6-9ae6-15f1-ce6b1806ddd1@disroot.org
From bcb776213db44c48735694ab44941d1fc7e38e31 Mon Sep 17 00:00:00 2001
Message-ID: <bcb776213db44c48735694ab44941d1fc7e38e31.1690069496.git.adam.faiz@disroot.org>
In-Reply-To: <ae75dfc3f9fa840f014b23809132540b955e189b.1690069496.git.adam.faiz@disroot.org>
References: <ae75dfc3f9fa840f014b23809132540b955e189b.1690069496.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:38:48 +0800
Subject: [PATCH v2 2/2] gnu: Add openquest.

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

Toggle diff (95 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c388314771..a35c4c6db6 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5094,6 +5094,88 @@ (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* "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
A
A
Adam Faiz wrote on 27 Aug 2023 07:27
[PATCH v3 1/2] gnu: Add scummc.
(address . 64787@debbugs.gnu.org)
bfd543b1-21fc-41ca-1a28-3c8f1bf9b1c0@disroot.org
From 7ab2531a5434121f3fb7fdc25c626693f4d96cb6 Mon Sep 17 00:00:00 2001
Message-ID: <7ab2531a5434121f3fb7fdc25c626693f4d96cb6.1693113837.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:34:55 +0800
Subject: [PATCH v3 1/2] gnu: Add scummc.

* gnu/packages/game-development.scm (scummc): New variable.
---
gnu/packages/game-development.scm | 55 +++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 5e470f0d25..3f53b53f3a 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
@@ -745,6 +746,60 @@ (define-public tsukundere
experimental.")
(license license:lgpl3+)))
+(define-public scummc
+ (package
+ (name "scummc")
+ (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)
+ (native-inputs
+ (list bison doxygen libxslt pkg-config))
+ (inputs
+ (list freetype gtk+-2 sdl))
+ (arguments
+ (list #:test-target "test"
+ #:tests? #f ; The only tests verify that game checksums match
+ #:make-flags
+ #~(list "SHOW_WARNINGS=no")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure ; ScummC uses a non-standard configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (apply invoke "./configure" configure-flags)))
+ (replace 'install ; install target is referred to as distrib
+ (lambda _
+ (invoke "make" "distrib"
+ (string-append "DISTRIB=" #$output)))))))
+ (synopsis "Scumm Compiler")
+ (description
+ "ScummC is a set of tools allowing to create SCUMM games from scratch.
+It is capable of creating games for SCUMM version 6 and partially version 7.")
+ (home-page "https://github.com/AlbanBedel/scummc")
+ (license license:gpl2+)))
+
(define-public sfml
(package
(name "sfml")

base-commit: d17eea747277643811134f9a33b534e58160688f
--
2.41.0
A
A
Adam Faiz wrote on 27 Aug 2023 07:29
[PATCH v3 2/2] gnu: Add openquest.
(address . 64787@debbugs.gnu.org)
dc8615db-e071-54c1-8ed0-baedaf336498@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(+)

Toggle diff (98 lines)
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
L
L
Liliana Marie Prikler wrote on 27 Aug 2023 08:21
Re: [PATCH v3 1/2] gnu: Add scummc.
(address . iyzsong@envs.net)
b1bf326527c522481fbbf0af0449f18cbb94aedf.camel@gmail.com
Am Sonntag, dem 27.08.2023 um 13:27 +0800 schrieb Adam Faiz:
Toggle quote (67 lines)
> From 7ab2531a5434121f3fb7fdc25c626693f4d96cb6 Mon Sep 17 00:00:00
> 2001
> Message-ID:
> <7ab2531a5434121f3fb7fdc25c626693f4d96cb6.1693113837.git.adam.faiz@di
> sroot.org>
> From: AwesomeAdam54321 <adam.faiz@disroot.org>
> Date: Sat, 22 Jul 2023 15:34:55 +0800
> Subject: [PATCH v3 1/2] gnu: Add scummc.
>
> * gnu/packages/game-development.scm (scummc): New variable.
> ---
>  gnu/packages/game-development.scm | 55
> +++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
>
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-
> development.scm
> index 5e470f0d25..3f53b53f3a 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages base)
>    #:use-module (gnu packages bash)
> +  #:use-module (gnu packages bison)
>    #:use-module (gnu packages boost)
>    #:use-module (gnu packages build-tools)
>    #:use-module (gnu packages compression)
> @@ -745,6 +746,60 @@ (define-public tsukundere
>  experimental.")
>      (license license:lgpl3+)))
>  
> +(define-public scummc
> +  (package
> +    (name "scummc")
> +    (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)
> +    (native-inputs
> +     (list bison doxygen libxslt pkg-config))
> +    (inputs
> +     (list freetype gtk+-2 sdl))
The preferred order is build-system, arguments, inputs, native-inputs.
Toggle quote (20 lines)
> +    (arguments
> +     (list #:test-target "test"
> +           #:tests? #f ; The only tests verify that game checksums
> match
> +           #:make-flags
> +           #~(list "SHOW_WARNINGS=no")
> +           #:phases
> +           #~(modify-phases %standard-phases
> +               (replace 'configure ; ScummC uses a non-standard
> configure
> +                    (lambda* (#:key configure-flags #:allow-other-
> keys)
> +                      (apply invoke  "./configure" configure-
> flags)))
> +               (replace 'install ; install target is referred to as
> distrib
> +                 (lambda _
> +                   (invoke "make" "distrib"
> +                           (string-append "DISTRIB=" #$output)))))))
> +    (synopsis "Scumm Compiler")
Should probably be SCUMM Compiler, no?
Toggle quote (8 lines)
> +    (description
> +     "ScummC is a set of tools allowing to create SCUMM games from
> scratch.
> +It is capable of creating games for SCUMM version 6 and partially
> version 7.")
> +    (home-page "https://github.com/AlbanBedel/scummc")
> +    (license license:gpl2+)))
> +
Otherwise LGTM.
L
L
Liliana Marie Prikler wrote on 27 Aug 2023 08:22
Re: [PATCH v3 2/2] gnu: Add openquest.
(address . iyzsong@envs.net)
cb6827e6e2bec7123449441983067deac467c6f7.camel@gmail.com
Am Sonntag, dem 27.08.2023 um 13:29 +0800 schrieb Adam Faiz:
Toggle quote (114 lines)
> From 0ff1adbf5147677f613697253867862ce342d115 Mon Sep 17 00:00:00
> 2001
> Message-ID:
> <0ff1adbf5147677f613697253867862ce342d115.1693113837.git.adam.faiz@di
> sroot.org>
> In-Reply-To:
> <7ab2531a5434121f3fb7fdc25c626693f4d96cb6.1693113837.git.adam.faiz@di
> sroot.org>
> References:
> <7ab2531a5434121f3fb7fdc25c626693f4d96cb6.1693113837.git.adam.faiz@di
> sroot.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"))))))))))
Beware of potentially long lines. What does the linter say?
Toggle quote (11 lines)
> +    (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+)))
Otherwise LGTM.
A
A
Adam Faiz wrote on 27 Aug 2023 09:02
[PATCH v4 1/2] gnu: Add scummc.
(address . 64787@debbugs.gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
abacfcca-a133-a84e-da53-9892df93e1de@disroot.org
From 98ebef1cd99f84a70b5e16ed9dd6e772c2c61f74 Mon Sep 17 00:00:00 2001
Message-ID: <98ebef1cd99f84a70b5e16ed9dd6e772c2c61f74.1693119612.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:34:55 +0800
Subject: [PATCH v4 1/2] gnu: Add scummc.

* gnu/packages/game-development.scm (scummc): New variable.
---
gnu/packages/game-development.scm | 55 +++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 5e470f0d25..964f7623db 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
@@ -745,6 +746,60 @@ (define-public tsukundere
experimental.")
(license license:lgpl3+)))
+(define-public scummc
+ (package
+ (name "scummc")
+ (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
+ (list #:test-target "test"
+ #:tests? #f ; The only tests verify that game checksums match
+ #:make-flags
+ #~(list "SHOW_WARNINGS=no")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure ; ScummC uses a non-standard configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (apply invoke "./configure" configure-flags)))
+ (replace 'install ; install target is referred to as distrib
+ (lambda _
+ (invoke "make" "distrib"
+ (string-append "DISTRIB=" #$output)))))))
+ (inputs
+ (list freetype gtk+-2 sdl))
+ (native-inputs
+ (list bison doxygen libxslt pkg-config))
+ (synopsis "SCUMM Compiler")
+ (description
+ "ScummC is a set of tools allowing to create SCUMM games from scratch.
+It is capable of creating games for SCUMM version 6 and partially version 7.")
+ (home-page "https://github.com/AlbanBedel/scummc")
+ (license license:gpl2+)))
+
(define-public sfml
(package
(name "sfml")

base-commit: d17eea747277643811134f9a33b534e58160688f
--
2.41.0
A
A
Adam Faiz wrote on 27 Aug 2023 09:03
[PATCH v4 2/2] gnu: Add openquest.
(address . 64787@debbugs.gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
88a53d97-a869-3e35-baf6-22e9f64cbcc6@disroot.org
From b0a6c70414b65872571ef66bf66b49ea0b3f3666 Mon Sep 17 00:00:00 2001
Message-ID: <b0a6c70414b65872571ef66bf66b49ea0b3f3666.1693119612.git.adam.faiz@disroot.org>
In-Reply-To: <98ebef1cd99f84a70b5e16ed9dd6e772c2c61f74.1693119612.git.adam.faiz@disroot.org>
References: <98ebef1cd99f84a70b5e16ed9dd6e772c2c61f74.1693119612.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 22 Jul 2023 15:38:48 +0800
Subject: [PATCH v4 2/2] gnu: Add openquest.

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

Toggle diff (99 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e594eb701c..777ab73789 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5099,6 +5099,92 @@ (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"))
+ (share (string-append #$output "/examples/openquest")))
+ (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 share "/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"))))))))))
+ (inputs
+ (list bash scummvm))
+ (native-inputs
+ (modify-inputs (package-native-inputs scummc)
+ (prepend scummc)))
+ (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
L
L
Liliana Marie Prikler wrote on 2 Sep 2023 07:14
Re: [PATCH 0/2] gnu: Add openquest.
(address . iyzsong@envs.net)
6431713e102a835bfd373b1c27aaad0bb86c1611.camel@gmail.com
Am Samstag, dem 22.07.2023 um 16:22 +0800 schrieb Adam Faiz:
Toggle quote (1 lines)
> This patch series adds OpenQuest, a ScummVM game.
Pushed, finally.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 64787@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 64787
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch