From 38f64255a0025371a30b6dedc1dff71d8a5d1b0c Mon Sep 17 00:00:00 2001 From: Infinidoge Date: Mon, 29 May 2023 02:07:18 -0400 Subject: [PATCH] pkgs: package setris --- pkgs/default.nix | 2 ++ pkgs/setris.nix | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/setris.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index d07e6f7..d872946 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -15,5 +15,7 @@ final: prev: { unbted = final.callPackage ./unbted.nix { }; + setris = final.callPackage ./setris.nix { }; + substituteSubset = final.callPackage ./substitute-subset.nix { }; } diff --git a/pkgs/setris.nix b/pkgs/setris.nix new file mode 100644 index 0000000..740a426 --- /dev/null +++ b/pkgs/setris.nix @@ -0,0 +1,45 @@ +{ stdenv +, lib +, fetchurl +, openjdk17 +, gtk3 +, makeWrapper +, wrapGAppsHook +}: + +stdenv.mkDerivation (self: rec { + pname = "setris"; + version = "1.2"; + + # Since the file cannot be directly fetched, it must be added to the store manually + # Add the file to the store with `nix store add-file Setris-1.2_LINUX.tar.gz` + src = fetchurl { + url = "download-from-itch/Setris-1.2_LINUX.tar.gz"; + sha256 = "sha256-slGBCJdMp+NjaPRf6x31Xi8T9L3kSR0vN39vawFHw2w="; + }; + + nativeBuildInputs = [ + gtk3 + makeWrapper + wrapGAppsHook + ]; + + unpackPhase = '' + tar xvf $src + ''; + + installPhase = '' + mkdir -pv $out/share/java $out/bin + cp setris-desktop-1.0-SNAPSHOT-jar-with-dependencies.jar $out/share/java/${self.pname}.jar + makeWrapper ${openjdk17}/bin/java $out/bin/${self.pname} \ + --add-flags "-jar $out/share/java/${self.pname}.jar" + ''; + + meta = with lib; { + homepage = "https://mslivo.itch.io/setris"; + description = "A Tetris-like game where the blocks turn into sand"; + license = licenses.unfree; + platforms = platforms.all; # Uses a 'universal' jar + maintainers = with maintainers; [ infinidoge ]; + }; +})