Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
97 lines
2.0 KiB
Nix
97 lines
2.0 KiB
Nix
{
|
|
lib,
|
|
stdenvNoCC,
|
|
buildFHSEnv,
|
|
appimageTools,
|
|
fetchurl,
|
|
desktop-file-utils,
|
|
dpkg,
|
|
webkitgtk_4_0,
|
|
runScript ? "BitComet",
|
|
}:
|
|
|
|
let
|
|
pname = "bitcomet";
|
|
version = "2.15.0";
|
|
|
|
meta = {
|
|
homepage = "https://www.bitcomet.com";
|
|
description = "BitTorrent download client";
|
|
mainProgram = "BitComet";
|
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
license = lib.licenses.unfree;
|
|
platforms = [
|
|
"aarch64-linux"
|
|
"x86_64-linux"
|
|
];
|
|
maintainers = [ ];
|
|
};
|
|
|
|
bitcomet = stdenvNoCC.mkDerivation {
|
|
inherit pname version meta;
|
|
|
|
src =
|
|
let
|
|
selectSystem =
|
|
attrs:
|
|
attrs.${stdenvNoCC.hostPlatform.system}
|
|
or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
|
|
arch = selectSystem {
|
|
x86_64-linux = "x86_64";
|
|
aarch64-linux = "arm64";
|
|
};
|
|
in
|
|
fetchurl {
|
|
url = "https://download.bitcomet.com/linux/${arch}/BitComet-${version}-${arch}.deb";
|
|
hash = selectSystem {
|
|
x86_64-linux = "sha256-YmcHcrqw4Ue8uyQqYcLWTYS5WYQro3kk7VLY8pfIsRQ=";
|
|
aarch64-linux = "sha256-Bfg20aKU90Ap8scn4eHtf451uxPfWcnQCrh5gWRQmsU=";
|
|
};
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
dpkg
|
|
desktop-file-utils
|
|
];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
desktop-file-edit usr/share/applications/bitcomet.desktop \
|
|
--remove-key="Version" \
|
|
--remove-key="Comment" \
|
|
--set-key="Exec" --set-value="BitComet" \
|
|
--set-icon="bitcomet"
|
|
cp -r usr $out
|
|
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
in
|
|
buildFHSEnv {
|
|
inherit
|
|
pname
|
|
version
|
|
runScript
|
|
meta
|
|
;
|
|
|
|
executableName = "BitComet";
|
|
|
|
targetPkgs =
|
|
pkgs:
|
|
[
|
|
bitcomet
|
|
webkitgtk_4_0
|
|
]
|
|
++ appimageTools.defaultFhsEnvArgs.targetPkgs pkgs;
|
|
|
|
multiPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
|
|
|
|
extraInstallCommands = ''
|
|
mkdir -p $out/share
|
|
ln -s ${bitcomet}/share/applications $out/share/applications
|
|
ln -s ${bitcomet}/share/icons $out/share/icons
|
|
'';
|
|
}
|