mihomo-party: refactor (#378344)

This commit is contained in:
Wolfgang Walther
2025-02-13 20:46:15 +01:00
committed by GitHub
2 changed files with 23 additions and 29 deletions
+22 -28
View File
@@ -3,7 +3,6 @@
stdenv,
fetchurl,
dpkg,
wrapGAppsHook3,
autoPatchelfHook,
nss,
nspr,
@@ -14,36 +13,31 @@
libayatana-appindicator,
libGL,
}:
let
stdenv.mkDerivation rec {
pname = "mihomo-party";
version = "1.7.1";
src =
let
inherit (stdenv.hostPlatform) system;
selectSystem = attrs: attrs.${system};
suffix = selectSystem {
selectSystem =
attrs:
attrs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
arch = selectSystem {
x86_64-linux = "amd64";
aarch64-linux = "arm64";
};
in
fetchurl {
url = "https://github.com/mihomo-party-org/mihomo-party/releases/download/v${version}/mihomo-party-linux-${version}-${arch}.deb";
hash = selectSystem {
x86_64-linux = "sha256-fVPW4lk+1uY+zTPk0wNeHz7ILKB+7p9hunHrqnuPI6w=";
aarch64-linux = "sha256-wEOOP5ha7R0z0DCTCsmn5lfwJdzEWtNGdWNjVB5cI6k=";
};
in
fetchurl {
url = "https://github.com/mihomo-party-org/mihomo-party/releases/download/v${version}/mihomo-party-linux-${version}-${suffix}.deb";
inherit hash;
};
in
stdenv.mkDerivation {
inherit version src;
pname = "mihomo-party";
passthru.updateScript = ./update.sh;
nativeBuildInputs = [
dpkg
wrapGAppsHook3
autoPatchelfHook
];
@@ -56,32 +50,32 @@ stdenv.mkDerivation {
(lib.getLib stdenv.cc.cc)
];
runtimeDependencies = map lib.getLib [
udev
libayatana-appindicator
];
installPhase = ''
runHook preInstall
mkdir $out
cp -r opt/mihomo-party usr/share $out
mkdir -p $out/bin
cp -r opt $out/opt
cp -r usr/share $out/share
substituteInPlace $out/share/applications/mihomo-party.desktop \
--replace-fail "/opt/mihomo-party/mihomo-party" "mihomo-party"
ln -s $out/opt/mihomo-party/mihomo-party $out/bin/mihomo-party
runHook postInstall
'';
preFixup = ''
mkdir $out/bin
makeWrapper $out/mihomo-party/mihomo-party $out/bin/mihomo-party \
--prefix LD_LIBRARY_PATH : "${
patchelf --add-needed libGL.so.1 \
--add-rpath ${
lib.makeLibraryPath [
libGL
udev
libayatana-appindicator
]
}"
} $out/opt/mihomo-party/mihomo-party
'';
passthru.updateScript = ./update.sh;
meta = {
description = "Another Mihomo GUI";
homepage = "https://github.com/mihomo-party-org/mihomo-party";
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash nixVersions.latest curl coreutils jq common-updater-scripts
#!nix-shell -i bash -p bash nix curl coreutils jq common-updater-scripts
latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/mihomo-party-org/mihomo-party/releases/latest | jq -r ".tag_name")
latestVersion="$(expr "$latestTag" : 'v\(.*\)')"