update/navibeat
 1# Modify from https://github.com/ixhbinphoenix/nur-packages/blob/3ffe840c9c51685c355265be754a50a9c048e60d/pkgs/localbooru-bin/default.nix
 2{
 3  lib,
 4  fetchurl,
 5  stdenv,
 6  autoPatchelfHook,
 7  dpkg,
 8  makeWrapper,
 9  wrapGAppsHook3,
10  mpv-unwrapped,
11  nix-update-script,
12  xdg-user-dirs,
13  zenity,
14}:
15stdenv.mkDerivation rec {
16  pname = "localbooru-bin";
17  version = "1.6.1";
18
19  passthru.updateScript = nix-update-script {};
20  preferLocalBuild = true;
21
22  src = fetchurl {
23    url = "https://github.com/resucutie/localbooru/releases/download/${version}/localbooru-linux.deb";
24    hash = "sha256-N37XdomSJFu3UPYcTmtihFwwGnbb5JCSdRDMVdlsP+8=";
25  };
26
27  nativeBuildInputs = [
28    autoPatchelfHook
29    dpkg
30    makeWrapper
31    wrapGAppsHook3
32  ];
33
34  buildInputs = [
35    mpv-unwrapped
36  ];
37
38  dontWrapGApps = true;
39
40  installPhase = ''
41    runHook preInstall
42    mkdir -p $out
43    cp -r * $out
44    runHook postInstall
45  '';
46
47  postFixup = ''
48    makeWrapper $out/usr/share/localbooru/localbooru $out/bin/localbooru \
49      "''${gappsWrapperArgs[@]}" \
50      --prefix LD_LIBRARY_PATH : $out/usr/share/localbooru/lib:${lib.makeLibraryPath [mpv-unwrapped]} \
51      --prefix PATH : ${lib.makeBinPath [xdg-user-dirs zenity]}
52  '';
53
54  meta = {
55    description = "Cross platform local booru collection that exclusively works on local storage, without selfhosting";
56    homepage = "https://github.com/resucutie/localbooru";
57    mainProgram = "localbooru";
58    platforms = ["x86_64-linux"];
59    license = lib.licenses.gpl3Only;
60    sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
61  };
62}