terraform-providers.sumologic: 2.31.5 -> 3.0.0 (#365043)
[NixPkgs.git] / pkgs / servers / web-apps / lemmy / ui.nix
blobb423bcd8748fb4a5c6ec6e11800c5897bef56fde
2   lib,
3   stdenvNoCC,
4   libsass,
5   nodejs,
6   pnpm_9,
7   fetchFromGitHub,
8   nixosTests,
9   vips,
12 let
13   pinData = lib.importJSON ./pin.json;
17 stdenvNoCC.mkDerivation (finalAttrs: {
19   pname = "lemmy-ui";
20   version = pinData.uiVersion;
22   src =
23     with finalAttrs;
24     fetchFromGitHub {
25       owner = "LemmyNet";
26       repo = pname;
27       rev = version;
28       fetchSubmodules = true;
29       hash = pinData.uiHash;
30     };
32   nativeBuildInputs = [
33     nodejs
34     pnpm_9.configHook
35   ];
37   buildInputs = [
38     libsass
39     vips
40   ];
42   extraBuildInputs = [ libsass ];
43   pnpmDeps = pnpm_9.fetchDeps {
44     inherit (finalAttrs) pname version src;
45     hash = pinData.uiPNPMDepsHash;
46   };
48   buildPhase = ''
49     runHook preBuild
51     pnpm build:prod
53     runHook postBuild
54   '';
56   # installPhase = ''
57   #     runHook preInstall
59   #     mkdir -p $out/{bin,lib/${finalAttrs.pname}}
60   #     mv {dist,node_modules} $out/lib/${finalAttrs.pname}
62   #     runHook postInstall
64   #  '';
65   preInstall = ''
66     mkdir $out
67     cp -R ./dist $out
68     cp -R ./node_modules $out
69   '';
71   preFixup = ''
72     find $out -name libvips-cpp.so.42 -print0 | while read -d $'\0' libvips; do
73       echo replacing libvips at $libvips
74       rm $libvips
75       ln -s ${lib.getLib vips}/lib/libvips-cpp.so.42 $libvips
76     done
77   '';
79   distPhase = "true";
81   passthru.updateScript = ./update.py;
82   passthru.tests.lemmy-ui = nixosTests.lemmy;
83   passthru.commit_sha = finalAttrs.src.rev;
85   meta = with lib; {
86     description = "Building a federated alternative to reddit in rust";
87     homepage = "https://join-lemmy.org/";
88     license = licenses.agpl3Only;
89     maintainers = with maintainers; [
90       happysalada
91       billewanick
92       georgyo
93     ];
94     inherit (nodejs.meta) platforms;
95   };