From 0440101d84decf1e8cb21904dbf4258dcf12335b Mon Sep 17 00:00:00 2001 From: Vitaliy Shatrov Date: Sun, 12 Apr 2020 11:08:30 +0700 Subject: [PATCH] gnu: Add taisei, and spirv-cross * gnu/packages/games.scm (taisei): new variable * gnu/packages/vulkan.scm (spirv-cross): new variable --- gnu/packages/games.scm | 54 +++++++++++++++++++++++++++++++++++++++++ gnu/packages/vulkan.scm | 48 ++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 31e1936795..82b47d4643 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10534,3 +10534,57 @@ and shovers to get to the goal. Race against the clock to collect coins to earn extra balls. Also included is Neverputt, which is a 3D miniature golf game.") ;thanks to Debian for description (license license:gpl2+)))) + +(define-public taisei + (package + (name "taisei") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/taisei-project/" + "taisei/releases/download/v" version + "/taisei-v" version ".tar.xz")) + (sha256 + (base32 + "11f9mlqmzy1lszwcc1nsbar9q1hs4ml6pbm52hqfd4q0f4x3ln46")))) + (build-system meson-build-system) + (arguments + `(#:build-type "release" ;comment out for bug-reporting (and cheats) + #:configure-flags + (list "-Dr_default=gles30" + "-Dr_gles20=true" + "-Dr_gles30=true" + "-Dshader_transpiler=true"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python) + ("python-docutils" ,python-docutils) + ("python-pygments" ,python-pygments))) + (inputs + `(("freetype" ,freetype) + ("libpng" ,libpng) + ("libwebp" ,libwebp) + ("libzip" ,libzip) + ("mesa" ,mesa) + ("openssl" ,openssl) + ("opusfile" ,opusfile) + ("sdl2" ,sdl2) + ("sdl2-mixer" ,sdl2-mixer) + ("shaderc" ,shaderc) + ("spirv-cross" ,spirv-cross) + ("zlib" ,zlib))) + (home-page "https://taisei-project.org/") + (synopsis "Shoot'em up fangame and libre clone of Touhou Project") + (description + "The player controls a character (one of three: Good, Bad, and Dead), +dodges the missiles (lots of it cover the screen, but the character's hitbox +is very small), and shoot at the adversaries that keep appear on the screen.") + (license (list ;;game + license:expat + ;;resources/00-taisei.pkgdir/bgm/ + ;;atlas/portraits/ + license:cc-by4.0 + ;;miscellaneous + license:cc0 + license:public-domain)))) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 6a2c219aac..f8ab357349 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -107,6 +107,54 @@ SPIR-V modules. The project includes an assembler, binary module parser,disassembler, validator, and optimizer for SPIR-V.") (license license:asl2.0))) +(define-public spirv-cross + (package + (name "spirv-cross") + (version "2020-04-03") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/SPIRV-Cross") + (commit version))) + (sha256 + (base32 + "0489s29kqgq20clxqg22y299yxz23p0yjh87yhka705hm9skx4sa")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;FIXME: Tests fail. + #:configure-flags + (list "-DSPIRV_CROSS_SHARED=YES") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests-to-find-deps + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (((string-append "PATHS " + "\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}" + "/external/glslang-build/output/bin")) + (string-append "PATHS " + (assoc-ref inputs "glslang") "/bin"))) + (substitute* "CMakeLists.txt" + (((string-append "PATHS " + "\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}" + "/external/spirv-tools-build/output/bin")) + (string-append "PATHS " + (assoc-ref inputs "spirv-tools") "/bin"))) + #t))))) + (native-inputs `(("glslang" ,glslang) + ("python" ,python) + ("spirv-headers" ,spirv-headers) + ("spirv-tools" ,spirv-tools))) + (home-page "https://github.com/KhronosGroup/SPIRV-Cross") + (synopsis "Parser for and converter of SPIR-V to other shader languages") + (description + "SPIRV-Cross tries hard to emit readable and clean output from the +SPIR-V. The goal is to emit GLSL or MSL that looks like it was written by a +human and not awkward IR/assembly-like code.") + (license license:asl2.0))) + (define-public glslang (package (name "glslang") -- 2.26.0