push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index bcb384e..9622e47 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -60,8 +60,6 @@ err() { dsp '' "$@" '' ; exit 1 ; }
## export the location of the msmtp executable before running this script (no quotes !!)
## e.g. ( export MSMTP=/path/to/msmtp )
MSMTP="${MSMTP:-msmtp}"
-"$MSMTP" --version >/dev/null 2>&1 || \
- log_later -e 1 "msmtpq : can't run the msmtp executable [ $MSMTP ]" # if not found - complain ; quit
##
## set the queue var to the location of the msmtp queue directory
## if the queue dir doesn't yet exist, create it (0700)

View File

@@ -0,0 +1,41 @@
diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq
index 28d0754..3eaac58 100755
--- a/scripts/msmtpq/msmtpq
+++ b/scripts/msmtpq/msmtpq
@@ -182,6 +182,8 @@ if [ -n "$MSMTPQ_LOG" ] ; then
unset msmptq_log_dir
fi
+JOURNAL=@journal@
+
umask 077 # set secure permissions on created directories and files
declare -i CNT # a count of mail(s) currently in the queue
@@ -214,6 +216,7 @@ on_exit() { # unlock the queue on exit if the lock was
## display msg to user, as well
##
log() {
+ local NAME=msmtpq
local ARG RC PFX
PFX="$('date' +'%Y %d %b %H:%M:%S')"
# time stamp prefix - "2008 13 Mar 03:59:45 "
@@ -233,10 +236,19 @@ log() {
done
fi
+ if [ "$JOURNAL" = "Y" ]; then
+ for ARG; do
+ [ -n "$ARG" ] &&
+ echo "$ARG" | systemd-cat -t "$NAME" -p info
+ done
+ fi
+
if [ -n "$RC" ] ; then # an error ; leave w/error return
[ -n "$LKD" ] && lock_queue -u # unlock here (if locked)
[ -n "$MSMTPQ_LOG" ] && \
echo " exit code = $RC" >> "$MSMTPQ_LOG" # logging ok ; send exit code to log
+ [ "$JOURNAL" = "Y" ] && \
+ echo "exit code= $RC" | systemd-cat -t "$NAME" -p emerg
exit "$RC" # exit w/return code
fi
}

View File

@@ -0,0 +1,179 @@
{
resholve,
stdenv,
symlinkJoin,
lib,
fetchFromGitHub,
autoreconfHook,
pkg-config,
bash,
coreutils,
gnugrep,
gnused,
gnutls,
gsasl,
libidn2,
netcat-gnu,
texinfo,
which,
withKeyring ? true,
libsecret,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
withScripts ? true,
withLibnotify ? true,
libnotify,
gitUpdater,
binlore,
msmtp,
}:
let
inherit (lib) getBin getExe optionals;
version = "1.8.31";
src = fetchFromGitHub {
owner = "marlam";
repo = "msmtp";
rev = "msmtp-${version}";
hash = "sha256-5PWwHyNEpF+eDMmvqJIHGdje70fCH5pLXGi5Jkjg2OA=";
};
meta = with lib; {
description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
homepage = "https://marlam.de/msmtp/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.unix;
mainProgram = "msmtp";
};
binaries = stdenv.mkDerivation {
pname = "msmtp-binaries";
inherit version src meta;
configureFlags = [
"--sysconfdir=/etc"
"--with-libgsasl"
]
++ optionals stdenv.hostPlatform.isDarwin [ "--with-macosx-keyring" ];
buildInputs = [
gnutls
gsasl
libidn2
]
++ optionals withKeyring [ libsecret ];
nativeBuildInputs = [
autoreconfHook
pkg-config
texinfo
];
enableParallelBuilding = true;
postInstall = ''
install -Dm444 -t $out/share/doc/msmtp doc/*.example
ln -s msmtp $out/bin/sendmail
'';
};
scripts = resholve.mkDerivation {
pname = "msmtp-scripts";
inherit version src meta;
patches = [
./msmtpq-remove-binary-check.patch
./msmtpq-systemd-logging.patch
];
postPatch = ''
substituteInPlace scripts/msmtpq/msmtpq \
--replace @journal@ ${if withSystemd then "Y" else "N"}
'';
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm555 -t $out/bin scripts/msmtpq/msmtp*
install -Dm444 -t $out/share/doc/msmtp/scripts scripts/msmtpq/README*
install -Dm444 -t $out/share/doc/msmtp/scripts scripts/{find_alias,msmtpqueue,set_sendmail}/*
if grep --quiet -E '@.+@' $out/bin/*; then
echo "Unsubstituted variables found. Aborting!"
grep -E '@.+@' $out/bin/*
exit 1
fi
runHook postInstall
'';
solutions = {
msmtpq = {
scripts = [ "bin/msmtpq" ];
interpreter = getExe bash;
inputs = [
binaries
coreutils
gnugrep
gnused
netcat-gnu
which
]
++ optionals withSystemd [ systemd ]
++ optionals withLibnotify [ libnotify ];
execer = [
"cannot:${getBin binaries}/bin/msmtp"
"cannot:${getBin netcat-gnu}/bin/nc"
]
++ optionals withSystemd [
"cannot:${getBin systemd}/bin/systemd-cat"
]
++ optionals withLibnotify [
"cannot:${getBin libnotify}/bin/notify-send"
];
fix."$MSMTP" = [ "msmtp" ];
fake.external = [
"ping"
]
++ optionals (!withSystemd) [ "systemd-cat" ]
++ optionals (!withLibnotify) [ "notify-send" ];
keep.source = [ "~/.msmtpqrc" ];
};
msmtp-queue = {
scripts = [ "bin/msmtp-queue" ];
interpreter = getExe bash;
inputs = [ "${placeholder "out"}/bin" ];
execer = [ "cannot:${placeholder "out"}/bin/msmtpq" ];
};
};
};
in
if withScripts then
symlinkJoin {
name = "msmtp-${version}";
inherit version meta;
paths = [
binaries
scripts
];
passthru = {
inherit binaries scripts src;
# msmtpq forwards most of its arguments to msmtp [1].
#
# [1]: <https://github.com/marlam/msmtp/blob/msmtp-1.8.26/scripts/msmtpq/msmtpq#L301>
binlore.out = binlore.synthesize msmtp ''
wrapper bin/msmtpq bin/msmtp
'';
updateScript = gitUpdater { rev-prefix = "msmtp-"; };
};
}
else
binaries