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