at master 47 lines 1.1 kB view raw
1{ 2 lib, 3 stdenv, 4 writeText, 5 runtimeShell, 6}: 7 8let 9 script = writeText "script" '' 10 #!${runtimeShell} 11 12 if command -v sendmail > /dev/null 2>&1 && [ "$(command -v sendmail)" != "{{MYPATH}}" ]; then 13 exec sendmail "$@" 14 elif [ -x /run/wrappers/bin/sendmail ]; then 15 exec /run/wrappers/bin/sendmail "$@" 16 elif [ -x /run/current-system/sw/bin/sendmail ]; then 17 exec /run/current-system/sw/bin/sendmail "$@" 18 else 19 echo "Unable to find system sendmail." >&2 20 exit 1 21 fi 22 ''; 23in 24stdenv.mkDerivation { 25 pname = "system-sendmail"; 26 version = "1.0"; 27 28 src = script; 29 30 dontUnpack = true; 31 dontInstall = true; 32 33 buildPhase = '' 34 mkdir -p $out/bin 35 < $src sed "s#{{MYPATH}}#$out/bin/sendmail#" > $out/bin/sendmail 36 chmod +x $out/bin/sendmail 37 ''; 38 39 meta = with lib; { 40 description = '' 41 A sendmail wrapper that calls the system sendmail. Do not install as system-wide sendmail! 42 ''; 43 platforms = platforms.unix; 44 maintainers = with maintainers; [ ekleog ]; 45 mainProgram = "sendmail"; 46 }; 47}