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.
This commit is contained in:
parent
72c7ba5aba
commit
86f8895abb
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue