Skip to content

Commit

Permalink
Adding calibre. This involved also:
Browse files Browse the repository at this point in the history
- Adding podofo
- Adding some new python packages
- Making new pkgs attributes for python packages to build with python 2.6
- Updating some python packages expressions to allow python 2.6, and not only 2.5.


svn path=/nixpkgs/trunk/; revision=19303
  • Loading branch information
Lluís Batlle i Rossell committed Jan 7, 2010
1 parent de6f189 commit a4473b8
Show file tree
Hide file tree
Showing 7 changed files with 149 additions and 7 deletions.
44 changes: 44 additions & 0 deletions pkgs/applications/misc/calibre/default.nix
@@ -0,0 +1,44 @@
{stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng,
imagemagick, libjpeg, fontconfig, podofo, qt4, mechanize, lxml, dateutil,
pil, makeWrapper, unrar}:

stdenv.mkDerivation rec {
name = "calibre-0.6.29";

src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.gz";
sha256 = "1k3ady2ichig6x3k6w0fhvpbklk6jfzpmqn2wv8d8dqkkpm5vrvm";
};

inherit python;

buildInputs = [ python pyqt4 sip popplerQt4 pkgconfig libpng imagemagick
libjpeg fontconfig podofo qt4 mechanize lxml dateutil pil makeWrapper ];

installPhase = ''
export POPPLER_INC_DIR=${popplerQt4}/include/poppler
export POPPLER_LIB_DIR=${popplerQt4}/lib
export MAGICK_INC=${imagemagick}/include/ImageMagick
export MAGICK_LIB=${imagemagick}/lib
export FC_INC_DIR=${fontconfig}/include/fontconfig
export FC_LIB_DIR=${fontconfig}/lib
export PODOFO_INC_DIR=${podofo}/include/podofo
export PODOFO_LIB_DIR=${podofo}/lib
python setup.py install --prefix=$out
PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
$out/lib/calibre/calibre/ebooks/metadata/*.py
$out/lib/calibre/calibre/ebooks/rtf2xml/*.py"
sed -i "s/env python/python/" $PYFILES
for a in $out/bin/*; do
wrapProgram $a --prefix PYTHONPATH : $PYTHONPATH --prefix LD_LIBRARY_PATH : ${unrar}/lib
done
'';

meta = {
description = "Comprehensive e-book software";
homepage = http://calibre-ebook.com;
license = "GPLv3";
};
}
12 changes: 12 additions & 0 deletions pkgs/development/libraries/podofo/default.nix
@@ -0,0 +1,12 @@
{stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig,
openssl}:

stdenv.mkDerivation rec {
name = "podofo-0.7.0";
src = fetchurl {
url = "mirror://sourceforge/podofo/${name}.tar.gz";
sha256 = "1hpd5ldjv013041rmcfrkbk8v6wdpxcg60i3aklik583q2rf0mqy";
};
buildInputs = [ cmake zlib freetype libjpeg libtiff fontconfig openssl ];
cmakeFlags = "-DPODOFO_BUILD_SHARED=ON -DPODOFO_BUILD_STATIC=OFF";
}
2 changes: 1 addition & 1 deletion pkgs/development/python-modules/pyqt/default.nix
Expand Up @@ -6,7 +6,7 @@ stdenv.mkDerivation {
url = http://pyqwt.sourceforge.net/support/PyQt-x11-gpl-4.5.4.tar.gz; # Not downloading from riverbank, since they remove older releases
sha256 = "1a55zng6yhnbk5swc02bkbyccdgf0f0v94yxk9v5a43hv9xnrl5k";
};
configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/python2.5/site-packages -v $out/share/sip -p $out/plugins";
configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/${python.libPrefix}/site-packages -v $out/share/sip -p $out/plugins";
buildInputs = [ python sip qt4 ];
meta = {
description = "Python bindings for Qt";
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/python-modules/python-sip/default.nix
Expand Up @@ -6,7 +6,7 @@ stdenv.mkDerivation {
url = http://pyqwt.sourceforge.net/support/sip-4.8.2.tar.gz; # Not downloading from riverbank, since they remove older releases
sha256 = "1afr2qaibzgf8fq4fmc31jz9hvbwxbg5jvl68ygvkkdvnbg2kfrf";
};
configurePhase = "python ./configure.py -d $out/lib/python2.5/site-packages -b $out/bin -e $out/include";
configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include";
buildInputs = [ python ];
meta = {
description = "Creates C++ bindings for Python modules";
Expand Down
6 changes: 3 additions & 3 deletions pkgs/development/python-modules/setuptools/default.nix
Expand Up @@ -29,16 +29,16 @@ rec {
'') ["addInputs" "doUnpack"];

doInstall = a.fullDepEntry(''
ensureDir "$out/lib/python2.5/site-packages"
ensureDir "$out/lib/${a.python.libPrefix}/site-packages"
PYTHONPATH="$out/lib/python2.5/site-packages:$PYTHONPATH" \
PYTHONPATH="$out/lib/${a.python.libPrefix}/site-packages:$PYTHONPATH" \
python setup.py install --prefix="$out"
for i in "$out/bin/"*
do
wrapProgram "$i" \
--prefix PYTHONPATH ":" \
"$out/lib/python2.5/site-packages"
"$out/lib/${a.python.libPrefix}/site-packages"
done
'') ["doBuild"];

Expand Down
52 changes: 52 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -2373,6 +2373,7 @@ let

python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
pythonBase = python25Base;
pythonFull = python25Full;

Expand Down Expand Up @@ -4353,6 +4354,11 @@ let
inherit (xlibs) libXi libSM libXmu libXext libX11;
};

podofo = import ../development/libraries/podofo {
inherit fetchurl stdenv cmake zlib freetype libjpeg libtiff
fontconfig openssl;
};

polkit = import ../development/libraries/polkit {
inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib;
};
Expand Down Expand Up @@ -4831,8 +4837,21 @@ let
inherit python setuptools makeWrapper lib;
};

buildPython26Package =
import ../development/python-modules/generic {
inherit makeWrapper lib;
python = python26;
setuptools = setuptools_python26;
};

pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
inherit pkgs python buildPythonPackage;
});

python26Packages = recurseIntoAttrs (import ./python-packages.nix {
inherit pkgs;
python = python26;
buildPythonPackage = buildPython26Package;
});

foursuite = import ../development/python-modules/4suite {
Expand All @@ -4857,6 +4876,11 @@ let
inherit fetchurl stdenv python zlib libjpeg freetype;
};

pil_python26 = import ../development/python-modules/pil {
inherit fetchurl stdenv zlib libjpeg freetype;
python = python26;
};

psyco = import ../development/python-modules/psyco {
inherit fetchurl stdenv python;
};
Expand Down Expand Up @@ -4913,6 +4937,11 @@ let
inherit stdenv fetchurl lib python;
};

sip_python26 = import ../development/python-modules/python-sip {
inherit stdenv fetchurl lib;
python = python26;
};

pyqt = builderDefsPackage (import ../development/python-modules/pyqt/4.3.3.nix) {
inherit pkgconfig python pythonSip glib;
inherit (xlibs) libX11 libXext;
Expand All @@ -4924,6 +4953,13 @@ let
qt4 = qt45;
};

pyqt4_python26 = import ../development/python-modules/pyqt {
inherit stdenv fetchurl lib;
qt4 = qt45;
python = python26;
sip = sip_python26;
};

pyx = import ../development/python-modules/pyx {
inherit fetchurl stdenv python makeWrapper;
};
Expand All @@ -4936,6 +4972,11 @@ let
inherit python makeWrapper;
};

setuptools_python26 = builderDefsPackage (import ../development/python-modules/setuptools) {
inherit makeWrapper;
python = python26;
};

wxPython = wxPython26;

wxPython26 = import ../development/python-modules/wxPython/2.6.nix {
Expand Down Expand Up @@ -6325,6 +6366,17 @@ let
inherit fetchurl stdenv ncurses;
};

calibre = import ../applications/misc/calibre {
inherit stdenv fetchurl libpng imagemagick pkgconfig libjpeg fontconfig podofo
qt4 makeWrapper unrar;
python = python26Full;
pyqt4 = pyqt4_python26;
sip = sip_python26;
pil = pil_python26;
popplerQt4 = popplerQt45;
inherit (python26Packages) mechanize lxml dateutil;
};

carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
gtkspell aspell gettext ncurses avahi dbus dbus_glib python
Expand Down
38 changes: 36 additions & 2 deletions pkgs/top-level/python-packages.nix
@@ -1,7 +1,7 @@
{ pkgs }:
{ pkgs, python, buildPythonPackage }:

rec {
inherit (pkgs) buildPythonPackage fetchurl fetchsvn stdenv python;
inherit (pkgs) fetchurl fetchsvn stdenv;

argparse = buildPythonPackage (rec {
name = "argparse-0.9.1";
Expand Down Expand Up @@ -53,6 +53,23 @@ rec {
};
});

dateutil = buildPythonPackage (rec {
name = "python-dateutil-1.4.1";

src = fetchurl {
url = "http://pypi.python.org/packages/source/p/python-dateutil/${name}.tar.gz";
sha256 = "0mrkh932k8s74h4rpgksvpmwbrrkq8zn78gbgwc22i2vlp31bdkl";
};

meta = {
description = "Powerful extensions to the standard datetime module";

homepage = http://pypi.python.org/pypi/python-dateutil;

license = "BSD-style";
};
});

foolscap = buildPythonPackage (rec {
name = "foolscap-0.4.2";

Expand Down Expand Up @@ -143,6 +160,23 @@ rec {
};
});

mechanize = buildPythonPackage (rec {
name = "mechanize-0.1.11";

src = fetchurl {
url = "mirror://sourceforge/wwwsearch/${name}.tar.gz";
sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2";
};

meta = {
description = "Stateful programmatic web browsing in Python";

homepage = http://wwwsearch.sourceforge.net/;

license = "BSD-style";
};
});

namebench = buildPythonPackage (rec {
name = "namebench-1.0.5";

Expand Down

0 comments on commit a4473b8

Please sign in to comment.