[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
?