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}