From patchwork Sat Mar 30 22:55:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Goaziou X-Patchwork-Id: 1592 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1AA4916DE9; Sat, 30 Mar 2019 22:56:12 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 87A6E16DE1 for ; Sat, 30 Mar 2019 22:56:09 +0000 (GMT) Received: from localhost ([127.0.0.1]:57818 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hAMtU-0005nw-2N for patchwork@mira.cbaines.net; Sat, 30 Mar 2019 18:56:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hAMtR-0005nq-8g for guix-patches@gnu.org; Sat, 30 Mar 2019 18:56:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hAMtP-0007Fs-Vt for guix-patches@gnu.org; Sat, 30 Mar 2019 18:56:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52348) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hAMtO-0007FZ-Ao for guix-patches@gnu.org; Sat, 30 Mar 2019 18:56:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hAMtO-0006Bw-51 for guix-patches@gnu.org; Sat, 30 Mar 2019 18:56:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#35057] [PATCH] Add flare Resent-From: Nicolas Goaziou Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 Mar 2019 22:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 35057 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 35057@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.155398652523754 (code B ref -1); Sat, 30 Mar 2019 22:56:01 +0000 Received: (at submit) by debbugs.gnu.org; 30 Mar 2019 22:55:25 +0000 Received: from localhost ([127.0.0.1]:37659 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hAMsm-0006B3-Os for submit@debbugs.gnu.org; Sat, 30 Mar 2019 18:55:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hAMsl-0006Aq-2o for submit@debbugs.gnu.org; Sat, 30 Mar 2019 18:55:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:43378) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hAMsf-0006xp-Mb for submit@debbugs.gnu.org; Sat, 30 Mar 2019 18:55:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51971) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hAMse-0004oy-Ao for guix-patches@gnu.org; Sat, 30 Mar 2019 18:55:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hAMsc-0006vm-Ng for guix-patches@gnu.org; Sat, 30 Mar 2019 18:55:16 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:33731) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hAMsc-0006up-7i for guix-patches@gnu.org; Sat, 30 Mar 2019 18:55:14 -0400 X-Originating-IP: 185.131.40.67 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id D366420004 for ; Sat, 30 Mar 2019 22:55:08 +0000 (UTC) From: Nicolas Goaziou Date: Sat, 30 Mar 2019 23:55:08 +0100 Message-ID: <87d0m8j7lf.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hello, The following patch adds both flare-game and flare-engine. Feedback welcome. Regards, From 9e005eac3c415c3871d200e82caf6d546be15f5e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 30 Mar 2019 23:50:25 +0100 Subject: [PATCH] gnu: Add flare. * gnu/packages/games.scm (flare-engine): (flare-game): New variables. --- gnu/packages/games.scm | 92 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 169ca28459..8207b92dc9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6657,3 +6657,95 @@ to either exploit valuable resources from the earth by building a mine or fight each other on an arena-like map.") ;; Software as a whole is licensed under ISC, artwork under CC-BY. (license (list license:isc license:cc-by3.0)))) + +(define-public flare-engine + (package + (name "flare-engine") + (version "1.09.01") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flareteam/flare-engine.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1117nxir0zwz4pipx7sxj64p68ig6gbz94lkkjbgrk44lhs0hz8p")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no test + #:configure-flags '("-DBINDIR=bin" "-DDATADIR=share/flare"))) + (inputs + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("python" ,python-wrapper) + ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))) + (home-page "http://www.flarerpg.org/") + (synopsis "Action Roleplaying Engine") + (description "Flare (Free Libre Action Roleplaying Engine) is a simple +game engine built to handle a very specific kind of game: single-player 2D +action RPGs.") + (license license:gpl3+))) + +(define-public flare-game + (package + (name "flare-game") + (version "1.09.01") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flareteam/flare-game.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hn2cchqsbvvgzqc6zvblnl3qrr6sp5rqxpsrcvdmbjm7b37x37b")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no test + #:configure-flags '("-DDATADIR=share/flare") + #:phases + (modify-phases %standard-phases + ;; Flare expects the mods to be located in the same folder. + ;; Yet, "default" mod is in the engine, whereas the others + ;; are in the current package. Merge everything here with + ;; a symlink. + (add-after 'install 'add-default-mod + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (mods (string-append out "/share/flare/mods"))) + (with-directory-excursion mods + (symlink (string-append (assoc-ref inputs "flare-engine") + "/share/flare/mods/default") + "default"))) + #t)) + (add-after 'install 'install-executable + ;; The package only provides assets for the game, the + ;; executable coming from "flare-engine". Since more than + ;; one game may use the engine, we create a new executable, + ;; "flare-game", which launches the engine with appropriate + ;; parameters. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (string-append (assoc-ref inputs "bash") + "/bin/bash")) + (flare (string-append (assoc-ref inputs "flare-engine") + "/bin/flare")) + (script (string-append out "/bin/flare-game"))) + (mkdir-p (dirname script)) + (call-with-output-file script + (lambda (port) + (format port + "#!~a +exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%" + bash + flare + out))) + (chmod script #o755)) + #t))))) + (inputs + `(("flare-engine" ,flare-engine))) + (home-page "http://www.flarerpg.org/") + (synopsis "Fantasy action RPG using the FLARE engine") + (description "Flare is a single-player 2D action RPG with +fast-paced action and a dark fantasy style.") + (license license:cc-by-sa3.0))) -- 2.21.0