depot/third_party/nixpkgs/pkgs/applications/video/losslesscut-bin/windows.nix

46 lines
1.2 KiB
Nix
Raw Normal View History

{ stdenvNoCC
, lib
, fetchurl
, unzip
, version
, useMklink ? false
, customSymlinkCommand ? null
}:
let
pname = "losslesscut";
nameRepo = "lossless-cut";
nameCamel = "LosslessCut";
nameSourceBase = "${nameCamel}-win";
nameSource = "${nameSourceBase}.zip";
nameExecutable = "${nameCamel}.exe";
owner = "mifi";
getSymlinkCommand = if (customSymlinkCommand != null) then customSymlinkCommand
else if useMklink then (targetPath: linkPath: "mklink ${targetPath} ${linkPath}")
else (targetPath: linkPath: "ln -s ${targetPath} ${linkPath}");
in stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchurl {
name = nameSource;
url = "https://github.com/${owner}/${nameRepo}/releases/download/v${version}/${nameSource}";
sha256 = "1rq9frab0jl9y1mgmjhzsm734jvz0a646zq2wi5xzzspn4wikhvb";
};
nativeBuildInputs = [ unzip ];
unpackPhase = ''
unzip $src -d ${nameSourceBase}
'';
sourceRoot = nameSourceBase;
installPhase = ''
mkdir -p $out/bin $out/libexec
cd ..
mv ${nameSourceBase} $out/libexec
'' + (getSymlinkCommand "${nameSourceBase}/${nameExecutable}" "$out/bin/${nameExecutable}");
meta.platforms = lib.platforms.windows;
}