Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 65 lines 1.6 kB view raw
1{ 2 lib, 3 stdenv, 4 autoPatchelfHook, 5 fetchurl, 6 nixosTests, 7 metaCommon, 8}: 9 10let 11 serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; 12 serverSource.sha256 = "0gwp6h6nvfzq7k1g3233h838nans45jkd5c3pzl6qdhhm19vcs27"; 13 version = "0.63.6"; 14in 15stdenv.mkDerivation { 16 pname = "trilium-server"; 17 inherit version; 18 meta = metaCommon // { 19 platforms = [ "x86_64-linux" ]; 20 mainProgram = "trilium-server"; 21 }; 22 23 src = fetchurl serverSource; 24 25 nativeBuildInputs = [ 26 autoPatchelfHook 27 ]; 28 29 buildInputs = [ 30 (lib.getLib stdenv.cc.cc) 31 ]; 32 33 patches = [ 34 # patch logger to use console instead of rolling files 35 ./0001-Use-console-logger-instead-of-rolling-files.patch 36 ]; 37 38 installPhase = '' 39 runHook preInstall 40 mkdir -p $out/bin 41 mkdir -p $out/share/trilium-server 42 43 cp -r ./* $out/share/trilium-server 44 runHook postInstall 45 ''; 46 47 postFixup = '' 48 cat > $out/bin/trilium-server <<EOF 49 #!${stdenv.cc.shell} 50 cd $out/share/trilium-server 51 exec ./node/bin/node src/www 52 EOF 53 chmod a+x $out/bin/trilium-server 54 55 # ERROR: noBrokenSymlinks: found 4 dangling symlinks, 0 reflexive symlinks and 0 unreadable symlinks 56 unlink $out/share/trilium-server/node/bin/npx 57 unlink $out/share/trilium-server/node/bin/npm 58 unlink $out/share/trilium-server/node_modules/.bin/electron 59 unlink $out/share/trilium-server/node_modules/.bin/electron-installer-debian 60 ''; 61 62 passthru.tests = { 63 trilium-server = nixosTests.trilium-server; 64 }; 65}