summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2019-08-30 14:23:02 +0200
committerPeter Simons <simons@cryp.to>2019-08-30 14:25:13 +0200
commit131910992beecf518df8d2420750978d343d2e9c (patch)
tree40b1929dff24bb717433895f3a6a6db6e9290bde /pkgs
parent9c46c35bbb78f2a2d7766908fa0904e071547353 (diff)
downloadnixpkgs-131910992beecf518df8d2420750978d343d2e9c.tar
nixpkgs-131910992beecf518df8d2420750978d343d2e9c.tar.gz
nixpkgs-131910992beecf518df8d2420750978d343d2e9c.tar.bz2
nixpkgs-131910992beecf518df8d2420750978d343d2e9c.tar.lz
nixpkgs-131910992beecf518df8d2420750978d343d2e9c.tar.xz
nixpkgs-131910992beecf518df8d2420750978d343d2e9c.tar.zst
nixpkgs-131910992beecf518df8d2420750978d343d2e9c.zip
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
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/python-modules/cssmin/default.nix20
-rw-r--r--pkgs/development/python-modules/django-paintstore/default.nix20
-rw-r--r--pkgs/development/python-modules/django-q/default.nix24
-rw-r--r--pkgs/development/python-modules/robot-detection/default.nix22
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix38
-rw-r--r--pkgs/top-level/python-packages.nix10
6 files changed, 134 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/cssmin/default.nix b/pkgs/development/python-modules/cssmin/default.nix
new file mode 100644
index 00000000000..7cb01001fac
--- /dev/null
+++ b/pkgs/development/python-modules/cssmin/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/development/python-modules/django-paintstore/default.nix b/pkgs/development/python-modules/django-paintstore/default.nix
new file mode 100644
index 00000000000..096215a70ab
--- /dev/null
+++ b/pkgs/development/python-modules/django-paintstore/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/development/python-modules/django-q/default.nix b/pkgs/development/python-modules/django-q/default.nix
new file mode 100644
index 00000000000..f671674ffe2
--- /dev/null
+++ b/pkgs/development/python-modules/django-q/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/development/python-modules/robot-detection/default.nix b/pkgs/development/python-modules/robot-detection/default.nix
new file mode 100644
index 00000000000..81428b44ad9
--- /dev/null
+++ b/pkgs/development/python-modules/robot-detection/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
new file mode 100644
index 00000000000..8f060da3446
--- /dev/null
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -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 ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e8dca7c924b..bdaae932f68 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -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 {};