mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-28 00:24:18 +00:00
56 lines
1.4 KiB
Nix
56 lines
1.4 KiB
Nix
{ cmake
|
|
, fetchFromGitHub
|
|
, glfw
|
|
, jazz2-content
|
|
, lib
|
|
, libopenmpt
|
|
, libvorbis
|
|
, openal
|
|
, SDL2
|
|
, stdenv
|
|
, testers
|
|
, zlib
|
|
, graphicsLibrary ? "GLFW"
|
|
}:
|
|
|
|
assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "jazz2";
|
|
version = "2.6.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "deathkiller";
|
|
repo = "jazz2-native";
|
|
rev = finalAttrs.version;
|
|
hash = "sha256-ZTQz6+2myUIJr2HqiwYksM7qiwXrd4+3+h1TC6FuPFU=";
|
|
};
|
|
|
|
patches = [ ./nocontent.patch ];
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
buildInputs = [ libopenmpt libvorbis openal zlib ]
|
|
++ lib.optionals (graphicsLibrary == "GLFW") [ glfw ]
|
|
++ lib.optionals (graphicsLibrary == "SDL2") [ SDL2 ];
|
|
|
|
cmakeFlags = [
|
|
"-DLIBOPENMPT_INCLUDE_DIR=${lib.getDev libopenmpt}/include/libopenmpt"
|
|
"-DNCINE_DOWNLOAD_DEPENDENCIES=OFF"
|
|
"-DNCINE_OVERRIDE_CONTENT_PATH=${jazz2-content}"
|
|
] ++ lib.optionals (graphicsLibrary == "GLFW") [
|
|
"-DGLFW_INCLUDE_DIR=${glfw}/include/GLFW"
|
|
];
|
|
|
|
passthru.tests.version = testers.testVersion {
|
|
package = finalAttrs.finalPackage;
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Open-source Jazz Jackrabbit 2 reimplementation";
|
|
homepage = "https://github.com/deathkiller/jazz2-native";
|
|
license = licenses.gpl3Only;
|
|
mainProgram = "jazz2";
|
|
maintainers = with maintainers; [ surfaceflinger ];
|
|
platforms = platforms.linux;
|
|
};
|
|
})
|