python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / em / empty-epsilon / package.nix
blob5408d1f340d95d267e0d0b55c4971997621a3946
1 { lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python3, glm, meshoptimizer, SDL2, ninja }:
3 let
4   version = {
5     seriousproton = "2024.08.09";
6     emptyepsilon = "2024.08.09";
7     basis-universal = "v1_15_update2";
8   };
10   basis-universal = fetchFromGitHub {
11     owner = "BinomialLLC";
12     repo = "basis_universal";
13     rev = version.basis-universal;
14     hash = "sha256-2snzq/SnhWHIgSbUUgh24B6tka7EfkGO+nwKEObRkU4=";
15   };
17   serious-proton = stdenv.mkDerivation {
18     pname = "serious-proton";
19     version = version.seriousproton;
21     src = fetchFromGitHub {
22       owner = "daid";
23       repo = "SeriousProton";
24       rev = "EE-${version.seriousproton}";
25       hash = "sha256-B7BUe5rtN/eABJwkuSyn+h1lIHuV/tZUNcGXTyaWIr4=";
26     };
28     nativeBuildInputs = [ cmake ];
29     buildInputs = [ sfml libX11 glm SDL2 ];
31     cmakeFlags = [
32       (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_BASIS" "${basis-universal}")
33       (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DGLM_ENABLE_EXPERIMENTAL")
34     ];
36     meta = with lib; {
37       description = "C++ game engine coded on top of SFML used for EmptyEpsilon";
38       homepage = "https://github.com/daid/SeriousProton";
39       license = licenses.mit;
40       maintainers = with maintainers; [ fpletz ];
41       platforms = platforms.linux;
42     };
43   };
47 stdenv.mkDerivation {
48   pname = "empty-epsilon";
49   version = version.emptyepsilon;
51   src = fetchFromGitHub {
52     owner = "daid";
53     repo = "EmptyEpsilon";
54     rev = "EE-${version.emptyepsilon}";
55     hash = "sha256-DxaasUyJa8n0ha8RqAfEnqCVELs5Or0zvIOgcK75TnU=";
56   };
58   nativeBuildInputs = [ cmake ];
59   buildInputs = [ serious-proton sfml glew libX11 python3 glm SDL2 ninja ];
61   cmakeFlags = [
62     (lib.cmakeFeature "SERIOUS_PROTON_DIR" "${serious-proton.src}")
63     (lib.cmakeFeature "CPACK_PACKAGE_VERSION" "${version.emptyepsilon}")
64     (lib.cmakeFeature "CPACK_PACKAGE_VERSION_MAJOR" "${lib.versions.major version.emptyepsilon}")
65     (lib.cmakeFeature "CPACK_PACKAGE_VERSION_MINOR" "${lib.versions.minor version.emptyepsilon}")
66     (lib.cmakeFeature "CPACK_PACKAGE_VERSION_PATCH" "${lib.versions.patch version.emptyepsilon}")
67     (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_BASIS" "${basis-universal}")
68     (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_MESHOPTIMIZER" "${meshoptimizer.src}")
69     (lib.cmakeFeature "CMAKE_AR" "${stdenv.cc.cc}/bin/gcc-ar")
70     (lib.cmakeFeature "CMAKE_RANLIB" "${stdenv.cc.cc}/bin/gcc-ranlib")
71     (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DGLM_ENABLE_EXPERIMENTAL")
72     "-G Ninja"
73   ];
75   meta = with lib; {
76     description = "Open source bridge simulator based on Artemis";
77     mainProgram = "EmptyEpsilon";
78     homepage = "https://daid.github.io/EmptyEpsilon/";
79     license = licenses.gpl2Plus;
80     maintainers = with maintainers; [ fpletz ma27 ];
81     platforms = platforms.linux;
82   };