Toggle quote (130 lines)
> From 914d9ebcaffee24da73bb4d9711c0428ff36feb0 Mon Sep 17 00:00:00
> 2001
> Message-Id:
> <914d9ebcaffee24da73bb4d9711c0428ff36feb0.1678775193.git.adam.faiz@di
> sroot.org>
> In-Reply-To: <cover.1678775193.git.adam.faiz@disroot.org>
> References: <cover.1678775193.git.adam.faiz@disroot.org>
> From: AwesomeAdam54321 <adam.faiz@disroot.org>
> Date: Tue, 14 Mar 2023 14:19:59 +0800
> Subject: [PATCH 5/5] gnu: Add terrarium.
>
> * gnu/packages/games.scm (terrarium): New variable.
> ---
> gnu/packages/games.scm | 96
> ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 2946c787af..adcaba1248 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -618,6 +618,102 @@ (define-public bastet
> canyons and wait for the long I-shaped block to clear four rows at
> a time.")
> (license license:gpl3+)))
>
> +(define-public terrarium
> + (let ((commit "4a489717b2fc53903b934487d7321be4682e4e2b")
> + (revision "0"))
> + (package
> + (name "terrarium")
> + (version (git-version "0.1.9" revision commit))
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://gitlab.com/hydren/terrarium")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> "0xq7kfl7dvvw222kamw1b5paq5p997z8px8ximbz12v0kj62aqjf"))
> + (modules '((guix build utils)))
> + (snippet
> + #~(begin
> + (for-each
> + delete-file
> + '("resources/jack.ttf" ; unlicensed font, probably
> shareware
> + "resources/liberation.ttf")) ; bundled font
> + (for-each
> + (lambda (file)
> + (copy-recursively
> + (string-append "build/linux-gcc-sdl2-release/" file)
> + (string-append "./" file)))
> + '("src"
> + "makefile"
> + "configure.sh"
> + "objects.mk"
> + "sources.mk"))
> + (rename-file "configure.sh" "configure")
> + (substitute* "configure"
> + (("which") "type -p"))
> + (substitute* "makefile"
> + (("..LIBS. `sdl2-config --cflags --libs`")
> + "-lbox2d -lfgeal -lfutil -lgeramun")
> + (("@echo 'Building target: .@'")
> + (string-append
> + "sed -i -e \"s,@DESTDIR@,$(DESTDIR),\""
> + " -e \"s,@PREFIX@,$(PREFIX),\""
> + " -e \"s,@FONT_DIR@,$(FONT_DIR),\""
> + " src/loading_state.cpp src/main.cpp"
> + " src/options_menu_state.cpp
> src/main_menu_state.cpp\n\t"
> + "@echo 'Building target: $@'"))
> + (("clean:")
> + (string-append
> + "install: terrarium\n\t"
> + "install -d $(DESTDIR)$(PREFIX)/share\n\t"
> + "cp -r resources $(DESTDIR)$(PREFIX)/share\n\t"
> + "install -d $(DESTDIR)$(PREFIX)/bin\n\t"
> + "install -m 755 terrarium
> $(DESTDIR)$(PREFIX)/bin\n\n"
> + "clean:")))
> + (substitute* "src/terrarium_game_logic.cpp"
> + (("config.properties")
> ".terrarium/config.properties"))
> + (substitute* "src/main_menu_state.cpp"
> + (("resources/maps") ".terrarium/maps")
> + (("resources/chars") ".terrarium/chars")
> + (("resources/jack.ttf") "@FONT_DIR@/LiberationSans-
> Bold.ttf")
> + (("resources/liberation.ttf")
> + "@FONT_DIR@/LiberationMono-Regular.ttf"))
> + (substitute* "src/options_menu_state.cpp"
> + (("resources/jack.ttf") "@FONT_DIR@/LiberationSans-
> Bold.ttf")
> + (("resources/liberation.ttf")
> + "@FONT_DIR@/LiberationMono-Regular.ttf"))
> + (substitute* '("src/loading_state.cpp"
> + "src/main.cpp"
> + "src/main_menu_state.cpp")
> + (("\\./resources/") "resources/"))
> + (substitute* '("src/options_menu_state.cpp"
> + "src/loading_state.cpp"
> + "src/main_menu_state.cpp"
> + "src/main.cpp")
> + (("resources/")
> "@DESTDIR@@PREFIX@/share/resources/"))))))
> + (build-system gnu-build-system)
> + (inputs
> + (list box2d
> + fgeal
> + font-liberation
> + futil
> + libgeramun
> + rapidxml))
> + (arguments
> + (list #:tests? #f ; no tests
> + #:make-flags
> + #~(list (string-append "DESTDIR=" #$output)
> + (string-append "FONT_DIR="
> + #$(this-package-input "font-
> liberation")
> + "/share/fonts/truetype"))))
> + (home-page "https://gitlab.com/hydren/terrarium")
> + (synopsis "Terraria-clone game")
> + (description "Terrarium is an attempt to do a Terraria clone
> game,
> +possibly with some new features.")