python-HyperKitty: initial version 1.2.2

Package the mail archiver for GNU Mailman. I liberally borrowed code
from @globin's repository [1].

[1] https://github.com/mayflower/nixexprs/tree/master/pkgs/python
This commit is contained in:
Peter Simons 2019-08-30 14:23:02 +02:00
parent 9c46c35bbb
commit 131910992b
6 changed files with 134 additions and 0 deletions

View file

@ -0,0 +1,20 @@
{ stdenv, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "cssmin";
version = "0.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "1dk723nfm2yf8cp4pj785giqlwv42l0kj8rk40kczvq1hk6g04p0";
};
# no tests
doCheck = false;
meta = with stdenv.lib; {
description = "A Python port of the YUI CSS compression algorithm";
homepage = http://github.com/zacharyvoase/cssmin;
license = licenses.bsd3;
};
}

View file

@ -0,0 +1,20 @@
{ stdenv, buildPythonPackage, fetchPypi, requests, requests_oauthlib
, django, python3-openid }:
buildPythonPackage rec {
pname = "django-paintstore";
version = "0.2";
src = fetchPypi {
inherit pname version;
sha256 = "12wxgwv1qbkfq7w5i7bm7aidv655c2sxp0ym73qf8606dxbjcwwg";
};
doCheck = false;
meta = with stdenv.lib; {
description = "Django app that integrates jQuery ColorPicker with the Django admin";
homepage = https://github.com/gsiegman/django-paintstore;
license = licenses.mit;
};
}

View file

@ -0,0 +1,24 @@
{ stdenv, buildPythonPackage, fetchPypi, django-picklefield, arrow
, blessed, django, future }:
buildPythonPackage rec {
pname = "django-q";
version = "1.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "17mqxiacsp2yszak6j48fm7vx0w44pcg86flc63r9y5yhx490n5r";
};
propagatedBuildInputs = [
django-picklefield arrow blessed django future
];
doCheck = false;
meta = with stdenv.lib; {
description = "A multiprocessing distributed task queue for Django";
homepage = https://django-q.readthedocs.org;
license = licenses.mit;
};
}

View file

@ -0,0 +1,22 @@
{ stdenv, buildPythonPackage, fetchPypi, six }:
buildPythonPackage rec {
pname = "robot-detection";
version = "0.4";
src = fetchPypi {
inherit pname version;
sha256 = "1xd2jm3yn31bnk1kqzggils2rxj26ylxsfz3ap7bhr3ilhnbg3rx";
};
propagatedBuildInputs = [ six ];
# no tests in archive
doCheck = false;
meta = with stdenv.lib; {
description = "Library for detecting if a HTTP User Agent header is likely to be a bot";
homepage = https://github.com/rory/robot-detection;
license = licenses.gpl3Plus;
};
}

View file

@ -0,0 +1,38 @@
{ stdenv, buildPythonPackage, fetchPypi, coverage, mock
, robot-detection, django_extensions, rjsmin, cssmin, django-mailman3
, django-haystack, lockfile, networkx, dateutil, defusedxml
, django-paintstore, djangorestframework, django, django-q
, django_compressor, beautifulsoup4, six, psycopg2, whoosh
}:
buildPythonPackage rec {
pname = "HyperKitty";
version = "1.2.2";
src = fetchPypi {
inherit pname version;
sha256 = "1z2zswlml6nppxhzw9a4nrj7i5wsxd29s3q78ka1rwr5m5n7s1rz";
};
buildInputs = [ coverage mock ];
propagatedBuildInputs = [
robot-detection django_extensions rjsmin cssmin django-mailman3
django-haystack lockfile networkx dateutil defusedxml
django-paintstore djangorestframework django django-q
django_compressor beautifulsoup4 six psycopg2 whoosh
];
checkPhase = ''
cd $NIX_BUILD_TOP/$sourceRoot
PYTHONPATH=.:$PYTHONPATH python example_project/manage.py test \
--settings=hyperkitty.tests.settings_test hyperkitty
'';
meta = {
homepage = "http://www.gnu.org/software/mailman/";
description = "Archiver for GNU Mailman v3";
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ peti globin ];
};
}

View file

@ -2720,6 +2720,16 @@ in {
sunpy = callPackage ../development/python-modules/sunpy { };
hyperkitty = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/hyperkitty.nix { });
robot-detection = callPackage ../development/python-modules/robot-detection {};
cssmin = callPackage ../development/python-modules/cssmin {};
django-paintstore = callPackage ../development/python-modules/django-paintstore {};
django-q = callPackage ../development/python-modules/django-q {};
hyperlink = callPackage ../development/python-modules/hyperlink {};
zope_copy = callPackage ../development/python-modules/zope_copy {};