diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1b2718ad0a01..db182861c7ba 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12726,6 +12726,16 @@ githubId = 3889405; name = "vyp"; }; + wackbyte = { + name = "wackbyte"; + email = "wackbyte@pm.me"; + github = "wackbyte"; + githubId = 29505620; + keys = [{ + longkeyid = "rsa4096/0x937F2AE5CCEFBF59"; + fingerprint = "E595 7FE4 FEF6 714B 1AD3 1483 937F 2AE5 CCEF BF59"; + }]; + }; wakira = { name = "Sheng Wang"; email = "sheng@a64.work"; diff --git a/pkgs/games/tetrio-desktop/default.nix b/pkgs/games/tetrio-desktop/default.nix new file mode 100644 index 000000000000..c700aba72fc9 --- /dev/null +++ b/pkgs/games/tetrio-desktop/default.nix @@ -0,0 +1,85 @@ +{ stdenv +, lib +, fetchurl +, autoPatchelfHook +, alsa-lib +, cups +, libX11 +, libXScrnSaver +, libXtst +, mesa +, nss +, systemd +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "tetrio-desktop"; + version = "8.0.0"; + + src = fetchurl { + url = "https://web.archive.org/web/20211130172544/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb"; + name = "tetrio-desktop.deb"; + sha256 = "1nlblfhrph4cw8rpic9icrs78mzrxyskl7ggyy2i8bk9i07i21xf"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + wrapGAppsHook + ]; + + buildInputs = [ + alsa-lib + cups + libX11 + libXScrnSaver + libXtst + mesa + nss + ]; + + dontWrapGApps = true; + + libPath = lib.makeLibraryPath [ + alsa-lib + cups + libX11 + libXScrnSaver + libXtst + mesa + nss + systemd + ]; + + unpackPhase = '' + mkdir -p $TMP/tetrio-desktop $out/bin + cp $src $TMP/tetrio-desktop.deb + ar vx $TMP/tetrio-desktop.deb + tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/tetrio-desktop/ + ''; + + installPhase = '' + cp -R $TMP/tetrio-desktop/{usr/share,opt} $out/ + + wrapProgram $out/opt/TETR.IO/tetrio-desktop \ + --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/TETR.IO + + ln -s $out/opt/TETR.IO/tetrio-desktop $out/bin/ + + substituteInPlace $out/share/applications/tetrio-desktop.desktop \ + --replace "Exec=\"/opt/TETR.IO/tetrio-desktop\"" "Exec=\"$out/opt/TETR.IO/tetrio-desktop\"" + ''; + + meta = with lib; { + homepage = "https://tetr.io"; + downloadPage = "https://tetr.io/about/desktop/"; + description = "TETR.IO desktop client"; + longDescription = '' + TETR.IO is a modern yet familiar online stacker. + Play against friends and foes all over the world, or claim a spot on the leaderboards - the stacker future is yours! + ''; + platforms = [ "x86_64-linux" ]; + license = licenses.unfree; + maintainers = with maintainers; [ wackbyte ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fedea655b020..18db25c40a3b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28945,6 +28945,8 @@ with pkgs; tetraproc = callPackage ../applications/audio/tetraproc { }; + tetrio-desktop = callPackage ../games/tetrio-desktop { }; + tev = callPackage ../applications/graphics/tev { }; themechanger = callPackage ../applications/misc/themechanger { };