Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 stdenv, 3 lib, 4 pname, 5 version, 6 meta, 7 fetchurl, 8 autoPatchelfHook, 9 alsa-lib, 10 coreutils, 11 db, 12 dpkg, 13 glib, 14 gtk3, 15 wrapGAppsHook3, 16 libkrb5, 17 libsecret, 18 nss, 19 openssl, 20 udev, 21 xorg, 22 libgbm, 23 libdrm, 24 libappindicator, 25}: 26 27stdenv.mkDerivation (finalAttrs: { 28 inherit pname version meta; 29 30 src = fetchurl { 31 url = "https://github.com/Foundry376/Mailspring/releases/download/${finalAttrs.version}/mailspring-${finalAttrs.version}-amd64.deb"; 32 hash = "sha256-+glQaz36mKMtnNeyHH4brZmzYe9SHCtccO6CIJpTH2k="; 33 }; 34 35 nativeBuildInputs = [ 36 autoPatchelfHook 37 dpkg 38 wrapGAppsHook3 39 ]; 40 41 buildInputs = [ 42 alsa-lib 43 db 44 glib 45 gtk3 46 libkrb5 47 libsecret 48 nss 49 xorg.libxkbfile 50 xorg.libXdamage 51 xorg.libXScrnSaver 52 xorg.libXtst 53 xorg.libxshmfence 54 libgbm 55 libdrm 56 ]; 57 58 runtimeDependencies = [ 59 coreutils 60 openssl 61 (lib.getLib udev) 62 libappindicator 63 libsecret 64 ]; 65 66 unpackPhase = '' 67 runHook preUnpack 68 69 dpkg -x $src . 70 71 runHook postUnpack 72 ''; 73 74 installPhase = '' 75 runHook preInstall 76 77 mkdir -p $out/{bin,lib} 78 cp -ar ./usr/share $out 79 80 substituteInPlace $out/share/mailspring/resources/app.asar.unpacked/mailsync \ 81 --replace-fail dirname ${coreutils}/bin/dirname 82 83 ln -s $out/share/mailspring/mailspring $out/bin/mailspring 84 ln -s ${lib.getLib openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0 85 86 runHook postInstall 87 ''; 88 89 postFixup = # sh 90 '' 91 substituteInPlace $out/share/applications/Mailspring.desktop \ 92 --replace-fail Exec=mailspring Exec=$out/bin/mailspring 93 ''; 94})