From e3492eff4675585a44c7034e6e7eda3a94a49fad Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 29 Aug 2019 18:37:20 +0200 Subject: mailman: build full paths to postmap and lynx into the package No more need to rely on $PATH. --- ...al-tools-via-PATH-rather-than-hard-coding.patch | 51 ---------------------- pkgs/servers/mail/mailman/core.nix | 11 +++-- 2 files changed, 8 insertions(+), 54 deletions(-) delete mode 100644 pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch (limited to 'pkgs/servers/mail') diff --git a/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch b/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch deleted file mode 100644 index b8a5476c055..00000000000 --- a/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 47469af384a6d4a0877c76d3c52013b40ab61f04 Mon Sep 17 00:00:00 2001 -From: Peter Simons -Date: Mon, 26 Aug 2019 16:10:04 +0200 -Subject: [PATCH] Find external tools via $PATH rather than hard-coding - /usr/bin. - ---- - src/mailman/config/mhonarc.cfg | 2 +- - src/mailman/config/postfix.cfg | 2 +- - src/mailman/config/schema.cfg | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/mailman/config/mhonarc.cfg b/src/mailman/config/mhonarc.cfg -index b00f93aea..096e9521b 100644 ---- a/src/mailman/config/mhonarc.cfg -+++ b/src/mailman/config/mhonarc.cfg -@@ -24,4 +24,4 @@ base_url: http://$hostname/archives/$fqdn_listname - - # If the archiver works by calling a command on the local machine, this is the - # command to call. --command: /usr/bin/mhonarc -outdir /path/to/archive/$listname -add -+command: mhonarc -outdir /path/to/archive/$listname -add -diff --git a/src/mailman/config/postfix.cfg b/src/mailman/config/postfix.cfg -index cddda220a..934c9a977 100644 ---- a/src/mailman/config/postfix.cfg -+++ b/src/mailman/config/postfix.cfg -@@ -5,7 +5,7 @@ - # db file, from the associated plain text files. The file being updated will - # be appended to this string (with a separating space), so it must be - # appropriate for os.system(). --postmap_command: /usr/sbin/postmap -+postmap_command: postmap - - # This variable describes the type of transport maps that will be generated by - # mailman to be used with postfix for LMTP transport. By default, it is set to -diff --git a/src/mailman/config/schema.cfg b/src/mailman/config/schema.cfg -index fa06ccced..406999e13 100644 ---- a/src/mailman/config/schema.cfg -+++ b/src/mailman/config/schema.cfg -@@ -65,7 +65,7 @@ filtered_messages_are_preservable: no - # where the substitution variable $filename is filled in by Mailman, and - # contains the path to the temporary file that the command should read from. - # The command should print the converted text to stdout. --html_to_plain_text_command: /usr/bin/lynx -dump $filename -+html_to_plain_text_command: lynx -dump $filename - - # Specify what characters are allowed in list names. Characters outside of - # the class [-_.+=!$*{}~0-9a-z] matched case insensitively are never allowed, --- -2.22.0 - diff --git a/pkgs/servers/mail/mailman/core.nix b/pkgs/servers/mail/mailman/core.nix index fcd594270db..1ba220039ea 100644 --- a/pkgs/servers/mail/mailman/core.nix +++ b/pkgs/servers/mail/mailman/core.nix @@ -1,15 +1,13 @@ { stdenv, buildPythonPackage, fetchPypi, alembic, aiosmtpd, dnspython , flufl_bounce, flufl_i18n, flufl_lock, lazr_config, lazr_delegates, passlib , requests, zope_configuration, click, falcon, importlib-resources -, zope_component +, zope_component, lynx, postfix }: buildPythonPackage rec { pname = "mailman"; version = "3.2.2"; - patches = [ ./0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch ]; - src = fetchPypi { inherit pname version; sha256 = "09s9p5pb8gff6zblwidyq830yfgcvv50p5drdaxj1qpy8w46lvc6"; @@ -21,6 +19,13 @@ buildPythonPackage rec { zope_component ]; + patchPhase = '' + substituteInPlace src/mailman/config/postfix.cfg \ + --replace /usr/sbin/postmap ${postfix}/bin/postmap + substituteInPlace src/mailman/config/schema.cfg \ + --replace /usr/bin/lynx ${lynx}/bin/lynx + ''; + # Mailman assumes that those scripts in $out/bin are Python scripts. Wrapping # them in shell code breaks this assumption. The proper way to use mailman is # to create a specialized python interpreter: -- cgit 1.4.1