about summary refs log tree commit diff
path: root/pkgs/applications/video/losslesscut-bin/build-from-windows.nix
blob: e6520e4a54b9943a4e2af682bf0220893cbcbdb0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ lib
, stdenvNoCC
, fetchurl
, p7zip
, pname
, version
, hash
, metaCommon ? { }
}:

stdenvNoCC.mkDerivation {
  inherit pname version;

  src = fetchurl {
    url = "https://github.com/mifi/lossless-cut/releases/download/v${version}/LosslessCut-win-x64.7z";
    inherit hash;
  };

  nativeBuildInputs = [ p7zip ];

  unpackPhase = ''
    runHook preUnpack
    7z x "$src" -o"$sourceRoot"
    runHook postUnpack
  '';

  sourceRoot = "LosslessCut-win-x64";

  installPhase = ''
    runHook preInstall
    mkdir -p "$out/bin" "$out/libexec"
    cd ..
    mv "$sourceRoot" "$out/libexec"
    ln -s "$out/libexec/$(basename "$sourceRoot")/LosslessCut.exe" "$out/bin/LosslessCut.exe"
    runHook postInstall
  '';

  meta = metaCommon // (with lib; {
    platforms = platforms.windows;
    mainProgram = "LosslessCut.exe";
  });
}