Merge pull request #5341 from prikhi/add-mezzanine

Add Mezzanine, a Django CMS
This commit is contained in:
Georges Dubus 2015-01-01 22:30:10 +01:00
commit 6dc7771cdc

View File

@ -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 ];
};
};