From bd20d1781fda30a5a870ede521877f1c4f6f0047 Mon Sep 17 00:00:00 2001 From: James Smith Date: Sat, 18 Sep 2021 10:47:12 -0700 Subject: gnu: Add slade. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/game-development.scm (slade): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/game-development.scm | 66 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) (limited to 'gnu/packages/game-development.scm') diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index bf7cbdf9c1..7d185caa0e 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Alexandru-Sergiu Marton ;;; Copyright © 2021 Dmitry Polyakov +;;; Copyright © 2020-2021 James Smith ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +40,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages game-development) - #:use-module (srfi srfi-1) + #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -55,6 +56,7 @@ #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages check) @@ -99,6 +101,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) @@ -447,6 +450,67 @@ GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format support.") (license license:gpl3+))) +(define-public slade + (package + (name "slade") + (version "3.1.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sirjuddington/SLADE") + (commit version))) + (sha256 (base32 "009yc5m6y074wfalvwbrnv2zsmaf9yhbi8hzgs973di0zqnqv011")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + (list "-DWX_GTK3=ON" "-DNO_WEBVIEW=ON" + (string-append "-DWITH_WXPATH=" + (assoc-ref %build-inputs "wxwidgets") "/bin") + (string-append "-DwxWidgets_LIBRARIES=" + (assoc-ref %build-inputs "wxwidgets") "/lib")) + #:phases + (modify-phases %standard-phases + (add-before 'build 'reset-slade.pk3-timestamps + ;; This is neccessary to make slade reproducible due to + ;; . TODO: Remove on next core update + ;; cycle. + (lambda _ + (invoke "find" "../source/dist/res" "-exec" "touch" + "--no-dereference" "-t" "197001010000.00" "{}" + "+"))) + (add-after 'install 'wrap-with-x11-gdk-backend + ;; Set GDK_BACKEND to x11 to prevent crash on Wayland. + ;; See https://github.com/sirjuddington/SLADE/issues/1097 for details. + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program + (string-append (assoc-ref outputs "out") + "/bin/slade") + '("GDK_BACKEND" = ("x11")))))) + #:tests? #f)) ;; No test suite. + (inputs + `(("bash" ,bash-minimal) + ("curl" ,curl) + ("fluidsynth" ,fluidsynth) + ("freeimage" ,freeimage) + ("ftgl" ,ftgl) + ("glew" ,glew) + ("gtk+" ,gtk+) + ("sfml" ,sfml) + ("wxwidgets" ,wxwidgets-3.1))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which) + ("zip" ,zip))) + (home-page "https://slade.mancubus.net") + (synopsis "Doom game data editor") + (description "SLADE3 is a modern editor for Doom-engine based games and +source ports. It has the ability to view, modify, and write many different game- +specific formats, and even convert between some of them, or from/to other generic +formats such as PNG.") + (license license:gpl2+))) + (define-public tiled (package (name "tiled") -- cgit v1.2.3