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 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}