From d9804e917cefce5feebdc1894514f6d007dfbb37 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Sat, 20 May 2023 11:15:49 +0700 Subject: [PATCH] packages/tetrio: update --- packages/tetrio/base.nix | 51 +++++++++++++++++++++++----------------- packages/tetrio/plus.nix | 41 ++++++++++++++++++++------------ users/rin/packages.nix | 3 ++- 3 files changed, 58 insertions(+), 37 deletions(-) diff --git a/packages/tetrio/base.nix b/packages/tetrio/base.nix index aba2897..27a42e6 100644 --- a/packages/tetrio/base.nix +++ b/packages/tetrio/base.nix @@ -6,6 +6,9 @@ , autoPatchelfHook , alsa-lib , cups +, dpkg +, gtk3 +, libpulseaudio , libX11 , libXScrnSaver , libXtst @@ -20,26 +23,20 @@ stdenv.mkDerivation rec { version = "8.0.0"; src = fetchurl { - url = "https://web.archive.org/web/20211228025517/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb"; + url = "https://web.archive.org/web/20211228025517if_/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb"; name = "${pname}.deb"; sha256 = "1nlblfhrph4cw8rpic9icrs78mzrxyskl7ggyy2i8bk9i07i21xf"; }; nativeBuildInputs = [ - alsa-lib + dpkg autoPatchelfHook - cups - libX11 - libXScrnSaver - libXtst - mesa - nss wrapGAppsHook ]; dontWrapGApps = true; - libPath = lib.makeLibraryPath [ + buildInputs = [ alsa-lib cups libX11 @@ -47,23 +44,35 @@ stdenv.mkDerivation rec { libXtst mesa nss + gtk3 + ]; + + libPath = lib.makeLibraryPath [ + libpulseaudio systemd ]; - unpackPhase = '' - mkdir -p $TMP/${pname} $out/bin - cp $src $TMP/${pname}.deb - ar vx $TMP/${pname}.deb - tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/${pname}/ - ''; + unpackCmd = "dpkg -x $curSrc src"; installPhase = '' - cp -R $TMP/${pname}/{usr/share,opt} $out/ - wrapProgram $out/opt/TETR.IO/${pname} \ - --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/TETR.IO - ln -s $out/opt/TETR.IO/${pname} $out/bin/ - substituteInPlace $out/share/applications/${pname}.desktop \ - --replace "Exec=\"/opt/TETR.IO/${pname}\"" "Exec=\"$out/opt/TETR.IO/${pname}\"" + runHook preInstall + + mkdir $out + cp -r opt/ usr/share/ $out + + mkdir $out/bin + 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\"" + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/opt/TETR.IO/tetrio-desktop \ + --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/TETR.IO \ + ''${gappsWrapperArgs[@]} ''; meta = with lib; { diff --git a/packages/tetrio/plus.nix b/packages/tetrio/plus.nix index d82fc60..c6a0a07 100644 --- a/packages/tetrio/plus.nix +++ b/packages/tetrio/plus.nix @@ -1,32 +1,43 @@ { + fetchzip, + lib, symlinkJoin, stdenvNoCC, tetrio-desktop, unzip }: + let version = "0.23.7"; - patchedAsar = stdenvNoCC.mkDerivation { - inherit version; - name = "tetrio-plus"; - src = builtins.fetchurl { - url = "https://gitlab.com/UniQMG/tetrio-plus/uploads/e51f2fd7a1370bf4ceeecd371204c2e1/tetrio-plus_0.23.7_app.asar.zip"; - sha256 = "03nla54r6s2xhd1ipxl0ffx6q0brby1jlxdx8p2q1nw80dx4gf1l"; - }; - dontUnpack = true; - nativeBuildInputs = [ unzip ]; - buildPhase = '' - mkdir -p $out - unzip $src -d $out + patchedAsar = stdenvNoCC.mkDerivation rec { + pname = "tetrio-plus"; + version = "0.25.3"; + + src = fetchzip { + url = "https://gitlab.com/UniQMG/tetrio-plus/uploads/684477053451cd0819e2c84e145966eb/tetrio-plus_0.25.3_app.asar.zip"; + sha256 = "sha256-GQgt4GZNeKx/uzmVsuKppW2zg8AAiGqsk2JYJIkqfVE="; + }; + + installPhase = '' + runHook preInstall + install app.asar $out + runHook postInstall ''; - dontInstall = true; + + meta = with lib; { + description = "TETR.IO customization toolkit"; + homepage = "https://gitlab.com/UniQMG/tetrio-plus"; + license = licenses.mit; + maintainers = with maintainers; [ huantian ]; + platforms = [ "x86_64-linux" ]; + }; }; in tetrio-desktop.overrideAttrs(old: { pname = "tetrio-desktop-plus"; version = old.version + "+${version}"; - installPhase = old.installPhase + '' - cp ${patchedAsar}/app.asar $out/opt/TETR.IO/resources + postInstall = '' + cp ${patchedAsar} $out/opt/TETR.IO/resources/app.asar ''; }) diff --git a/users/rin/packages.nix b/users/rin/packages.nix index 1c50946..6783f6e 100644 --- a/users/rin/packages.nix +++ b/users/rin/packages.nix @@ -33,7 +33,8 @@ lutris insomnia maim - #me.tetrio-desktop-plus + me.rivalcfg + me.tetrio-desktop-plus mumble obs-studio openjdk17