summary refs log tree commit diff
path: root/pkgs/servers/mail
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2019-08-29 18:37:20 +0200
committerPeter Simons <simons@cryp.to>2019-08-29 19:06:33 +0200
commite3492eff4675585a44c7034e6e7eda3a94a49fad (patch)
treedcfaa46894547e1771c10e135ff0ae0295319b40 /pkgs/servers/mail
parent3e30f3e1f95667185972bcb4efd8d217cd200e98 (diff)
downloadnixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.tar
nixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.tar.gz
nixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.tar.bz2
nixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.tar.lz
nixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.tar.xz
nixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.tar.zst
nixpkgs-e3492eff4675585a44c7034e6e7eda3a94a49fad.zip
mailman: build full paths to postmap and lynx into the package
No more need to rely on $PATH.
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r--pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch51
-rw-r--r--pkgs/servers/mail/mailman/core.nix11
2 files changed, 8 insertions, 54 deletions
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 <simons@cryp.to>
-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: