main
 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  xdg-user-dirs,
12  zenity,
13}:
14stdenv.mkDerivation rec {
15  pname = "localbooru-bin";
16  version = "1.6.1";
17
18  src = fetchurl {
19    url = "https://github.com/resucutie/localbooru/releases/download/${version}/localbooru-linux.deb";
20    hash = "sha256-N37XdomSJFu3UPYcTmtihFwwGnbb5JCSdRDMVdlsP+8=";
21  };
22
23  nativeBuildInputs = [
24    autoPatchelfHook
25    dpkg
26    makeWrapper
27    wrapGAppsHook3
28  ];
29
30  buildInputs = [
31    mpv-unwrapped
32  ];
33
34  dontWrapGApps = true;
35
36  installPhase = ''
37    runHook preInstall
38    mkdir -p $out
39    cp -r * $out
40    runHook postInstall
41  '';
42
43  postFixup = ''
44    makeWrapper $out/usr/share/localbooru/localbooru $out/bin/localbooru \
45      "''${gappsWrapperArgs[@]}" \
46      --prefix LD_LIBRARY_PATH : $out/usr/share/localbooru/lib:${lib.makeLibraryPath [mpv-unwrapped]} \
47      --prefix PATH : ${lib.makeBinPath [xdg-user-dirs zenity]}
48  '';
49
50  meta = {
51    description = "Cross platform local booru collection that exclusively works on local storage, without selfhosting";
52    homepage = "https://github.com/resucutie/localbooru";
53    mainProgram = "localbooru";
54    platforms = ["x86_64-linux"];
55    license = lib.licenses.gpl3Only;
56    sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
57  };
58}