diff options
author | Peter Simons <simons@cryp.to> | 2019-09-11 14:48:51 +0200 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-09-16 22:13:57 +0000 |
commit | 597266d1a316eb8b2d01c44f03770d0a7df6fa9c (patch) | |
tree | 28e434096c70e7c4770cc6d2fd8da2f426d0fa45 | |
parent | 60152067cac65a9e9df52782649dc8fecab3c33b (diff) | |
download | nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.tar nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.tar.gz nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.tar.bz2 nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.tar.lz nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.tar.xz nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.tar.zst nixlib-597266d1a316eb8b2d01c44f03770d0a7df6fa9c.zip |
python-mailman-web: turn these Djando configuration files into a make-shift Python library
Suggested in https://github.com/NixOS/nixpkgs/pull/67951#issuecomment-530309702. (cherry picked from commit 86f8895abbfdb3ce118e0ca971f56c7f72871e29)
-rw-r--r-- | nixpkgs/nixos/modules/services/mail/mailman.nix | 11 | ||||
-rw-r--r-- | nixpkgs/pkgs/servers/mail/mailman/web.nix | 22 |
2 files changed, 23 insertions, 10 deletions
diff --git a/nixpkgs/nixos/modules/services/mail/mailman.nix b/nixpkgs/nixos/modules/services/mail/mailman.nix index 93f4d8899553..a3c007a55c94 100644 --- a/nixpkgs/nixos/modules/services/mail/mailman.nix +++ b/nixpkgs/nixos/modules/services/mail/mailman.nix @@ -62,6 +62,12 @@ let installPhase = "install -D ${djangoPyEnv}/bin/django-admin $out/bin/mailman-django-admin"; }; + mailmanWeb = pkgs.python3Packages.mailman-web.override { + serverEMail = cfg.siteOwner; + archiverKey = cfg.hyperkittyApiKey; + allowedHosts = cfg.webHosts; + }; + in { ###### interface @@ -88,10 +94,7 @@ in { webRoot = mkOption { type = types.path; - default = pkgs.python3Packages.mailman-web.override { serverEMail = cfg.siteOwner; - archiverKey = cfg.hyperkittyApiKey; - allowedHosts = cfg.webHosts; - }; + default = "${mailmanWeb}/${pkgs.python3.sitePackages}"; defaultText = "pkgs.python3Packages.mailman-web"; description = '' The web root for the Hyperkity + Postorius apps provided by Mailman. diff --git a/nixpkgs/pkgs/servers/mail/mailman/web.nix b/nixpkgs/pkgs/servers/mail/mailman/web.nix index da352ed3482d..b0ead765a605 100644 --- a/nixpkgs/pkgs/servers/mail/mailman/web.nix +++ b/nixpkgs/pkgs/servers/mail/mailman/web.nix @@ -1,4 +1,4 @@ -{ stdenv +{ stdenv, python, hyperkitty, postorius, buildPythonPackage , serverEMail ? "postmaster@example.org" , archiverKey ? "SecretArchiverAPIKey" , allowedHosts ? [] @@ -10,18 +10,28 @@ let in -stdenv.mkDerivation { +# We turn those Djando configuration files into a make-shift Python library so +# that Nix users can use this package as a part of their buildInputs to import +# the code. Also, this package implicitly provides an environment in which the +# Django app can be run. + +buildPythonPackage { name = "mailman-web-0"; + propagatedBuildInputs = [ hyperkitty postorius ]; + unpackPhase = ":"; + buildPhase = ":"; + setuptoolsCheckPhase = ":"; installPhase = '' - install -D -m 444 ${./urls.py} $out/urls.py - install -D -m 444 ${./wsgi.py} $out/wsgi.py - substitute ${./settings.py} $out/settings.py \ + d=$out/${python.sitePackages} + install -D -m 444 ${./urls.py} $d/urls.py + install -D -m 444 ${./wsgi.py} $d/wsgi.py + substitute ${./settings.py} $d/settings.py \ --subst-var-by SERVER_EMAIL '${serverEMail}' \ --subst-var-by ARCHIVER_KEY '${archiverKey}' \ --subst-var-by ALLOWED_HOSTS '${allowedHostsString}' - chmod 444 $out/settings.py + chmod 444 $d/settings.py ''; } |