Packaged mailman3 core and it's dependencies.

This commit is contained in:
Kevin Baensch 2019-07-01 18:00:14 +02:00
parent 783c328c2f
commit 2bd0164f3b
9 changed files with 194 additions and 0 deletions

54
options/mailman3/core.nix Normal file
View file

@ -0,0 +1,54 @@
{ stdenv, buildPythonPackage, fetchgit
, aiosmtpd, alembic, atpublic, click, dnspython, falcon, flufl_bounce, flufl_i18n, flufl_lock
, importlib-resources, lazr_config, passlib, requests, sqlalchemy
, zope_component, zope_configuration, zope_event, zope_interface
# optional database dependencies
, pymysql, psycopg2 }:
buildPythonPackage rec {
name = "mailman3_core-${version}";
version = "3.2.2";
src = fetchgit {
url = "https://gitlab.com/mailman/mailman.git";
rev = version;
sha256 = "0p1z2i2x6f0g05lx5mymiiw2ij1bsycvbxwabb52nisdddcfhhzp";
};
propagatedBuildInputs = [
aiosmtpd
alembic
atpublic
click
dnspython
falcon
flufl_bounce
flufl_i18n
flufl_lock
importlib-resources
lazr_config
passlib
requests
sqlalchemy
zope_component
zope_configuration
zope_event
zope_interface
pymysql psycopg2
];
doCheck = false;
# mailman imports master and runner
# -> only wrap $out/bin/mailman
dontWrapPythonPrograms = true;
postFixup = ''
wrapProgram $out/bin/mailman --prefix PYTHONPATH : "$PYTHONPATH"
'';
meta = with stdenv.lib; {
description = "GNU Mailman, a mailing list management system";
license = licenses.gpl3;
maintainers = with maintainers; [ ];
homepage = http://list.org/;
};
}

View file

@ -0,0 +1,14 @@
{ stdenv, lib, fetchPypi, buildPythonPackage
, atpublic }:
buildPythonPackage rec {
pname = "aiosmtpd";
version = "1.2";
src = fetchPypi {
inherit pname version;
sha256 = "1xdfk741pjmz1cm8dsi4n5vq4517i175rm94696m3f7kcgk7xsmp";
};
doCheck = false;
propagatedBuildInputs = [ atpublic ];
}

View file

@ -0,0 +1,13 @@
{ stdenv, lib, fetchPypi, buildPythonPackage }:
buildPythonPackage rec {
pname = "atpublic";
version = "1.0";
src = fetchPypi {
inherit pname version;
sha256 = "0i3sbxkdlbb4560rrlmwwd5y4ps7k73lp4d8wnmd7ag9k426gjkx";
};
doCheck = false;
# propagatedBuildInputs = [];
}

View file

@ -0,0 +1,17 @@
{ stdenv, lib, fetchPypi, buildPythonPackage
, atpublic, zope_interface }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "flufl.bounce";
version = "3.0";
src = fetchPypi {
inherit pname version;
sha256 = "0k5kjqa3x6gvwwxyzb2vwi1g1i6asm1zw5fivylxz3d583y4kid2";
};
propagatedBuildInputs = [ atpublic zope_interface ];
doCheck = false;
}

View file

@ -0,0 +1,17 @@
{ stdenv, lib, fetchPypi, buildPythonPackage
, atpublic }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "flufl.i18n";
version = "2.0.2";
src = fetchPypi {
inherit pname version;
sha256 = "1csgds59nx0ann9v2alqr69lakp1cnc1ikmbgn96l6n23js7c2ah";
};
propagatedBuildInputs = [ atpublic ];
doCheck = false;
}

View file

@ -0,0 +1,17 @@
{ stdenv, lib, fetchPypi, buildPythonPackage
, atpublic }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "flufl.lock";
version = "3.2";
src = fetchPypi {
inherit pname version;
sha256 = "0nzzd6l30ff6cwsrlrb94xzfja4wkyrqv3ydc6cz0hdbr766mmm8";
};
propagatedBuildInputs = [ atpublic ];
doCheck = false;
}

View file

@ -0,0 +1,17 @@
{ stdenv, lib, fetchPypi, buildPythonPackage
, lazr_delegates }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "lazr.config";
version = "2.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "1s7pyvlq06qjrkaw9r6nc290lb095n25ybzgavvy51ygpxkgqxwn";
};
propagatedBuildInputs = [ lazr_delegates ];
doCheck = false;
}

View file

@ -0,0 +1,17 @@
{ stdenv, lib, fetchPypi, buildPythonPackage
, nose, zope_interface }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "lazr.delegates";
version = "2.0.4";
src = fetchPypi {
inherit pname version;
sha256 = "1rdnl85j9ayp8n85l0ciip621j9dcziz5qnmv2m7krgwgcn31vfx";
};
propagatedBuildInputs = [ nose zope_interface ];
doCheck = false;
}

View file

@ -0,0 +1,28 @@
{ pkgs ? import <nixpkgs> {}, python3Packages ? pkgs.python3Packages }:
let
mailman3 = {
core = python3Packages.callPackage ./core.nix ( with deps; {
inherit aiosmtpd atpublic flufl_bounce flufl_i18n flufl_lock lazr_config;
});
};
deps = rec {
aiosmtpd = python3Packages.callPackage ./extraPackages/aiosmtpd.nix {
inherit atpublic;
};
atpublic = python3Packages.callPackage ./extraPackages/atpublic.nix { };
flufl_bounce = python3Packages.callPackage ./extraPackages/flufl_bounce.nix {
inherit atpublic;
};
flufl_i18n = python3Packages.callPackage ./extraPackages/flufl_i18n.nix {
inherit atpublic;
};
flufl_lock = python3Packages.callPackage ./extraPackages/flufl_lock.nix {
inherit atpublic;
};
lazr_config = python3Packages.callPackage ./extraPackages/lazr_config.nix {
inherit lazr_delegates;
};
lazr_delegates = python3Packages.callPackage ./extraPackages/lazr_delegates.nix { };
};
in mailman3