summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorGeorges Dubus <georges.dubus@gmail.com>2015-01-01 22:30:10 +0100
committerGeorges Dubus <georges.dubus@gmail.com>2015-01-01 22:30:10 +0100
commit6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a (patch)
tree71f51cae9e92250034d91085b5bfaa36a520fc6c /pkgs/top-level
parentc39e305d336f7e8bc2a2289faf58b2b35428b99b (diff)
parentb5ff6c2c62b509eda1b5534d04dbf88369a25dcb (diff)
downloadnixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.tar
nixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.tar.gz
nixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.tar.bz2
nixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.tar.lz
nixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.tar.xz
nixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.tar.zst
nixlib-6dc7771cdc6bc7eb57ef649b887ef3fa5582f30a.zip
Merge pull request #5341 from prikhi/add-mezzanine
Add Mezzanine, a Django CMS
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/python-packages.nix262
1 files changed, 241 insertions, 21 deletions
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 1f84bf222200..9121b35dbdc6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -964,6 +964,37 @@ let
     };
   };
 
+  bleach = buildPythonPackage rec {
+    version = "v1.4";
+    name = "bleach-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz";
+      sha256 = "19v0zhvchz89w179rwkc4ah3cj2gbcng9alwa2yla89691g8b0b0";
+    };
+
+    propagatedBuildInputs = with self; [ six html5lib ];
+
+    meta = with stdenv.lib; {
+      description = "An easy, HTML5, whitelisting HTML sanitizer.";
+      longDescription = ''
+        Bleach is an HTML sanitizing library that escapes or strips markup and
+        attributes based on a white list. Bleach can also linkify text safely,
+        applying filters that Django's urlize filter cannot, and optionally
+        setting rel attributes, even on links already in the text.
+
+        Bleach is intended for sanitizing text from untrusted sources. If you
+        find yourself jumping through hoops to allow your site administrators
+        to do lots of things, you're probably outside the use cases. Either
+        trust those users, or don't.
+      '';
+      homepage = https://github.com/jsocol/bleach;
+      downloadPage = https://github.com/jsocol/bleach/releases;
+      license = licenses.asl20;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
 
   blinker = buildPythonPackage rec {
     name = "blinker-${version}";
@@ -4054,6 +4085,35 @@ let
     };
   };
 
+  filebrowser_safe = buildPythonPackage rec {
+    version = "0.3.6";
+    name = "filebrowser_safe-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/f/filebrowser_safe/${name}.tar.gz";
+      md5 = "12a1ad3a1ed6a9377e758c4fa7fee570";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A snapshot of django-filebrowser for the Mezzanine CMS";
+      longDescription = ''
+        filebrowser_safe was created to provide a snapshot of the FileBrowser
+        asset manager for Django, to be referenced as a dependency for the
+        Mezzanine CMS for Django.
+
+        At the time of filebrowser_safe's creation, FileBrowser was incorrectly
+        packaged on PyPI, and had also dropped compatibility with Django 1.1 -
+        filebrowser_safe was therefore created to address these specific
+        issues.
+      '';
+      homepage = https://github.com/stephenmcd/filebrowser-safe;
+      downloadPage = https://pypi.python.org/pypi/filebrowser_safe/;
+      license = licenses.free;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   flake8 = buildPythonPackage (rec {
     name = "flake8-2.1.0";
 
@@ -4142,6 +4202,34 @@ let
     };
   };
 
+  grappelli_safe = buildPythonPackage rec {
+    version = "0.3.13";
+    name = "grappelli_safe-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/g/grappelli_safe/${name}.tar.gz";
+      md5 = "5c8c681a0b1df94ecd6dc0b3a8b80892";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A snapshot of django-grappelli for the Mezzanine CMS";
+      longDescription = ''
+        grappelli_safe was created to provide a snapshot of the Grappelli admin
+        skin for Django, to be referenced as a dependency for the Mezzanine CMS
+        for Django.
+
+        At the time of grappelli_safe's creation, Grappelli was incorrectly
+        packaged on PyPI, and had also dropped compatibility with Django 1.1 -
+        grappelli_safe was therefore created to address these specific issues.
+      '';
+      homepage = https://github.com/stephenmcd/grappelli-safe;
+      downloadPage = http://pypi.python.org/pypi/grappelli_safe/;
+      license = licenses.free;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   python_tvrage = buildPythonPackage (rec {
     version = "0.4.1";
     name = "tvrage-${version}";
@@ -4293,6 +4381,39 @@ let
     };
   });
 
+  future = buildPythonPackage rec {
+    version = "v0.14.3";
+    name = "future-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://github.com/PythonCharmers/python-future/archive/${version}.tar.gz";
+      sha256 = "0hgp9kq7h4ipw8ax5xvvkyh3bkqw361d3rndvb9xix01h9j9mi3p";
+    };
+
+    propagatedBuildInputs = with self; optionals isPy26 [ importlib argparse ];
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Clean single-source support for Python 3 and 2";
+      longDescription = ''
+        python-future is the missing compatibility layer between Python 2 and
+        Python 3. It allows you to use a single, clean Python 3.x-compatible
+        codebase to support both Python 2 and Python 3 with minimal overhead.
+
+        It provides future and past packages with backports and forward ports
+        of features from Python 3 and 2. It also comes with futurize and
+        pasteurize, customized 2to3-based scripts that helps you to convert
+        either Py2 or Py3 code easily to support both Python 2 and 3 in a
+        single clean Py3-style codebase, module by module.
+      '';
+      homepage = https://python-future.org;
+      downloadPage = https://github.com/PythonCharmers/python-future/releases;
+      license = licenses.mit;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   futures = buildPythonPackage rec {
     name = "futures-2.1.6";
 
@@ -4709,18 +4830,32 @@ let
 
 
   html5lib = buildPythonPackage (rec {
-    name = "html5lib-0.95";
+    version = "0.999";
+    name = "html5lib-${version}";
 
     src = pkgs.fetchurl {
-      url = "http://pypi.python.org/packages/source/h/html5lib/${name}.tar.gz";
-      md5 = "fe607f9917d81763e842f818f23464ee";
+      url = "http://github.com/html5lib/html5lib-python/archive/${version}.tar.gz";
+      sha256 = "1kxl36p0csssaf37zbbc9p4h8l1s7yb1qnfv3d4nixplvrxqkybp";
     };
 
-    meta = {
-      homepage = http://code.google.com/p/html5lib/;
+    buildInputs = with self; [ nose flake8 ];
+    propagatedBuildInputs = with self; [
+      six
+    ] ++ optionals isPy26 [ ordereddict ];
+
+    checkPhase = "nosetests";
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/html5lib/html5lib-python;
+      downloadPage = https://github.com/html5lib/html5lib-python/releases;
       description = "HTML parser based on WHAT-WG HTML5 specification";
-      license = stdenv.lib.licenses.mit;
-      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      longDescription = ''
+        html5lib is a pure-python library for parsing HTML. It is designed to
+        conform to the WHATWG HTML specification, as is implemented by all
+        major web browsers.
+      '';
+      license = licenses.mit;
+      maintainers = with maintainers; [ iElectric prikhi ];
     };
   });
 
@@ -5461,6 +5596,58 @@ let
     };
   };
 
+  mezzanine = buildPythonPackage rec {
+    version = "3.1.10";
+    name = "mezzanine-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/stephenmcd/mezzanine/archive/${version}.tar.gz";
+      sha256 = "1cd7d3dji8q4mvcnf9asxn8j109pd5g5d5shr6xvn0iwr35qprgi";
+    };
+
+    buildInputs = with self; [ pyflakes pep8 ];
+    propagatedBuildInputs = with self; [
+      django_1_6 filebrowser_safe grappelli_safe bleach tzlocal beautifulsoup4
+      requests2 requests_oauthlib future pillow modules.sqlite3
+    ];
+
+    # Tests Fail Due to Syntax Warning, Fixed for v3.1.11+
+    doCheck = false;
+    # sed calls will be unecessary in v3.1.11+
+    preConfigure = ''
+      sed -i 's/future == 0.9.0/future>=0.9.0/' setup.py
+      sed -i 's/tzlocal == 1.0/tzlocal>=1.0/' setup.py
+      sed -i 's/pep8==1.4.1/pep8>=1.4.1/' setup.py
+      sed -i 's/pyflakes==0.6.1/pyflakes>=0.6.1/' setup.py
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    meta = with stdenv.lib; {
+      description = ''
+        A content management platform built using the Django framework.
+      '';
+      longDescription = ''
+        Mezzanine is a powerful, consistent, and flexible content management
+        platform. Built using the Django framework, Mezzanine provides a
+        simple yet highly extensible architecture that encourages diving in and
+        hacking on the code. Mezzanine is BSD licensed and supported by a
+        diverse and active community.
+
+        In some ways, Mezzanine resembles tools such as Wordpress that provide
+        an intuitive interface for managing pages, blog posts, form data, store
+        products, and other types of content. But Mezzanine is also different.
+        Unlike many other platforms that make extensive use of modules or
+        reusable applications, Mezzanine provides most of its functionality by
+        default. This approach yields a more integrated and efficient platform.
+      '';
+      homepage = http://mezzanine.jupo.org/;
+      downloadPage = https://github.com/stephenmcd/mezzanine/releases;
+      license = licenses.free;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   minimock = buildPythonPackage rec {
     version = "1.2.8";
     name = "minimock-${version}";
@@ -6293,20 +6480,23 @@ let
 
 
   oauthlib = buildPythonPackage rec {
-    name = "oauthlib-0.5.0";
+    version = "0.7.2";
+    name = "oauthlib-${version}";
 
     src = pkgs.fetchurl {
-      url = "http://pypi.python.org/packages/source/o/oauthlib/${name}.tar.gz";
-      md5 = "d12c507de33403ebdf290fbffdb98213";
+      url = "https://github.com/idan/oauthlib/archive/${version}.tar.gz";
+      sha256 = "08b7swyswhxh90k9mp54rk1qks2l2s2pdcjap6x118y27p7dhp4h";
     };
 
     buildInputs = with self; [ mock nose unittest2 ];
 
-    propagatedBuildInputs = with self; [ pycrypto ];
+    propagatedBuildInputs = with self; [ pycrypto blinker pyjwt ];
 
     meta = {
       homepage = https://github.com/idan/oauthlib;
+      downloadPage = https://github.com/idan/oauthlib/releases;
       description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
+      maintainers = with maintainers; [ prikhi ];
     };
   };
 
@@ -6599,11 +6789,11 @@ let
 
   pelican = buildPythonPackage rec {
     name = "pelican-${version}";
-    version = "3.4.0";
+    version = "3.5.0";
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pelican/${name}.tar.gz";
-      md5 = "8e57bdd075503903125b14621b1e533d";
+      sha256 = "0dl8i26sa20iijlg3z9gxn3p6f1d9v44b9742929xfaqwj4amvdp";
     };
 
     preConfigure = ''
@@ -6615,13 +6805,16 @@ let
     #buildInputs = [nose mock];
     doCheck = false;
 
-    propagatedBuildInputs = with self; [jinja2 pygments docutils pytz unidecode six dateutil feedgenerator blinker pillow beautifulsoup4];
+    propagatedBuildInputs = with self; [
+      jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
+      blinker pillow beautifulsoup4
+    ];
 
     meta = {
       homepage = http://getpelican.com/;
       description = "A tool to generate a static blog from reStructuredText or Markdown input files";
       license = licenses.agpl3;
-      maintainers = [ stdenv.lib.maintainers.offline ];
+      maintainers = with stdenv.lib.maintainers; [ offline prikhi ];
     };
   };
 
@@ -6788,7 +6981,10 @@ let
       md5 = "56b6614499aacb7d6b5983c4914daea7";
     };
 
-    buildInputs = with self; [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.tcl ];
+    buildInputs = with self; [
+      pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.tcl ]
+      ++ optionals (isPy26 || isPyPy) [ pkgs.lcms2 ]
+      ++ optionals (isPyPy) [ pkgs.tk pkgs.xlibs.libX11 ];
 
     # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
     preConfigure = ''
@@ -6815,7 +7011,7 @@ let
 
       license = "http://www.pythonware.com/products/pil/license.htm";
 
-      maintainers = [ stdenv.lib.maintainers.goibhniu ];
+      maintainers = with stdenv.lib.maintainers; [ goibhniu prikhi ];
     };
   };
 
@@ -7507,6 +7703,27 @@ let
     };
   };
 
+  pyjwt = buildPythonPackage rec {
+    version = "0.3.2";
+    name = "pyjwt-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://github.com/progrium/pyjwt/archive/${version}.tar.gz";
+      sha256 = "118rzhpyvx1h4hslms4fdizyv6mnyd4g34fv089lvs116pj08k9c";
+    };
+
+    propagatedBuildInputs = with self; [ pycrypto ecdsa ];
+
+    meta = with stdenv.lib; {
+      description = "JSON Web Token implementation in Python";
+      longDescription = "A Python implementation of JSON Web Token draft 01.";
+      homepage = https://github.com/progrium/pyjwt;
+      downloadPage = https://github.com/progrium/pyjwt/releases;
+      license = licenses.mit;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
 
   pykickstart = buildPythonPackage rec {
     name = "pykickstart-${version}";
@@ -8314,18 +8531,21 @@ let
 
 
   requests_oauthlib = buildPythonPackage rec {
-    name = "requests-oauthlib-0.3.2";
+    version = "v0.4.1";
+    name = "requests-oauthlib-${version}";
 
     src = pkgs.fetchurl {
-      url = "http://pypi.python.org/packages/source/r/requests-oauthlib/${name}.tar.gz";
-      md5 = "35b3b750493c231145c39db0216813e7";
+      url = "http://github.com/requests/requests-oauthlib/archive/${version}.tar.gz";
+      sha256 = "0vx252nzq5h9m9brwnw2ph8aj526y26jr2dqcafzzcdx6z4l8vj4";
     };
 
-    propagatedBuildInputs = with self; [ oauthlib requests ];
+    doCheck = false;        # Internet tests fail when building in chroot
+    propagatedBuildInputs = with self; [ oauthlib requests2 ];
 
     meta = {
       description = "OAuthlib authentication support for Requests";
       homepage = https://github.com/requests/requests-oauthlib;
+      maintainers = with maintainers; [ prikhi ];
     };
   };