about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/empty-epsilon/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games/empty-epsilon/default.nix')
-rw-r--r--nixpkgs/pkgs/games/empty-epsilon/default.nix97
1 files changed, 97 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/empty-epsilon/default.nix b/nixpkgs/pkgs/games/empty-epsilon/default.nix
new file mode 100644
index 000000000000..bee806fcdd5b
--- /dev/null
+++ b/nixpkgs/pkgs/games/empty-epsilon/default.nix
@@ -0,0 +1,97 @@
+{ lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python3, fetchpatch, applyPatches, glm}:
+
+let
+
+  major = "2021";
+  minor = "06";
+  patch.seriousproton = "23";
+  patch.emptyepsilon = "23";
+
+  version.seriousproton = "${major}.${minor}.${patch.seriousproton}";
+  version.emptyepsilon = "${major}.${minor}.${patch.emptyepsilon}";
+
+  serious-proton = stdenv.mkDerivation {
+    pname = "serious-proton";
+    version = version.seriousproton;
+
+    src = applyPatches {
+      src = fetchFromGitHub {
+        owner = "daid";
+        repo = "SeriousProton";
+        rev = "EE-${version.seriousproton}";
+        sha256 = "sha256-02cHHWKoe99257qLgxtMjeXnhi0UYajh4v87B57felM=";
+      };
+
+      patches = [
+        # Various CMake fixes for `json11`. Can be removed on the next release.
+        (fetchpatch {
+          url = "https://github.com/daid/SeriousProton/commit/adbba45fd9ae5e020e43e5d7f9326f1355391209.patch";
+          sha256 = "sha256-gMTpIGPGCREmZ/ZxvEc7RVsVUxWXbu2BPUCE3A62sCI=";
+        })
+
+        # Simplified variant of
+        # * https://github.com/daid/SeriousProton/commit/0d1ac45b738195db5e2785531db713328f547e60
+        # * https://github.com/daid/SeriousProton/commit/32509f2db91a58b9528aeb1bb505e9426b52b825
+        #
+        # To fix configure errors when building EmptyEpsilon, can be removed on the next release.
+        ./0001-bundle-system-glm-in-seriousproton.patch
+      ];
+    };
+
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ sfml libX11 glm ];
+
+    meta = with lib; {
+      description = "C++ game engine coded on top of SFML used for EmptyEpsilon";
+      homepage = "https://github.com/daid/SeriousProton";
+      license = licenses.mit;
+      maintainers = with maintainers; [ fpletz ];
+      platforms = platforms.linux;
+    };
+  };
+
+in
+
+
+stdenv.mkDerivation {
+  pname = "empty-epsilon";
+  version = version.emptyepsilon;
+
+  src = fetchFromGitHub {
+    owner = "daid";
+    repo = "EmptyEpsilon";
+    rev = "EE-${version.emptyepsilon}";
+    sha256 = "sha256-dc/Ic1/DULTQO6y9xSop2HxFvUh4kN57oSF/HBmbmF4=";
+  };
+
+  patches = [
+    # Various CMake fixes that can be removed when upgrading to the next release.
+    (fetchpatch {
+      url = "https://github.com/daid/EmptyEpsilon/commit/ee0cd42bfe5fd20b8339e8e02eb7f69766168d57.patch";
+      sha256 = "sha256-8dXtl/izfzqbwHtjuugjH34vYP+d4AobqZhxL2GXTzw=";
+    })
+    (fetchpatch {
+      url = "https://github.com/daid/EmptyEpsilon/commit/69d93e6acdae3259755924f9d35e7e5ae949d377.patch";
+      sha256 = "sha256-30AGo4mi73GrW9GNS3vF3mTOS7J5/41LvjOzNjeFhOg=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ serious-proton sfml glew libX11 python3 glm ];
+
+  cmakeFlags = [
+    "-DSERIOUS_PROTON_DIR=${serious-proton.src}"
+    "-DCPACK_PACKAGE_VERSION=${version.emptyepsilon}"
+    "-DCPACK_PACKAGE_VERSION_MAJOR=${major}"
+    "-DCPACK_PACKAGE_VERSION_MINOR=${minor}"
+    "-DCPACK_PACKAGE_VERSION_PATCH=${patch.emptyepsilon}"
+  ];
+
+  meta = with lib; {
+    description = "Open source bridge simulator based on Artemis";
+    homepage = "https://daid.github.io/EmptyEpsilon/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fpletz lheckemann ma27 ];
+    platforms = platforms.linux;
+  };
+}