[bug#79005,v2] gnu: Add dialogc.
Commit Message
From daee7a45e888f26c3e4dad4d4de64f01da885eee Mon Sep 17 00:00:00 2001
Message-ID:
<daee7a45e888f26c3e4dad4d4de64f01da885eee.1752921034.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 13 Jul 2025 16:30:50 +0800
Subject: [PATCH v2] gnu: Add dialogc.
* gnu/packages/game-development.scm (dialogc): New variable.
Change-Id: Id02c124814854785a73d8ff7e1739158a7d03faf
---
gnu/packages/game-development.scm | 52 +++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
base-commit: 8737b5332ed57ec056e70f3f7f1d88e4012101cd
prerequisite-patch-id: 447fc3664fd7149b80f069dde1c5f4165e818473
prerequisite-patch-id: ad626d9de0aa0b91b2c7374d51f95ab3fa1ce463
b/gnu/packages/game-development.scm
@@ -92,6 +92,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages games)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
@@ -118,6 +119,7 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
@@ -316,6 +318,56 @@ (define-public deutex
DeuTex has functions such as merging wads, etc.")
(license license:gpl2+)))
+(define-public dialogc
+ (let ((commit "68476f9f3b1ca2db15615e508837ca721e0759ab")
+ (revision "0"))
+ (package
+ (name "dialogc")
+ (version (git-version "1a-01" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Dialog-IF/dialog")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gm6fb86chq74fh2llmmgji6fwylk0xd53fmij6l9x348nvw1bkn"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (substitute* "src/Makefile"
+ (("cp dialogc" all)
+ (string-append "install -d ${PREFIX}/bin\n\t" all))
+ (("/usr/local") "${PREFIX}"))))))
+ (build-system gnu-build-system)
+ (native-inputs (list frotz-dumb-terminal perl python-3))
+ (arguments
+ (list
+ #:test-target "test"
+ #:parallel-tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'set-install-prefix
+ (lambda _
+ (setenv "PREFIX" #$output)))
+ (replace 'build
+ (lambda _
+ (with-directory-excursion "src"
+ (invoke "make"))))
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin")))
+ (install-file "src/dialogc" bin)
+ (install-file "src/dgdebug" bin)))))))
+ (synopsis "Dialog interactive fiction compiler")
+ (description
+ "Dialog is a domain-specific language for creating works
+of interactive fiction. It is heavily inspired by Inform 7 and Prolog.")
+ (home-page "https://github.com/Dialog-IF/dialog")
+ (license license:bsd-3))))
+
(define-public go-codeberg-org-anaseto-gruid-sdl
(package
(name "go-codeberg-org-anaseto-gruid-sdl")