* Merge the modular-python branch.
svn path=/nixpkgs/trunk/; revision=26695
This commit is contained in:
commit
fad57767e3
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
|
||||
, imagemagick, libjpeg, fontconfig, podofo, qt4, mechanize, lxml, dateutil
|
||||
, pil, cssutils, beautifulsoap, makeWrapper, unrar, chmlib
|
||||
, imagemagick, libjpeg, fontconfig, podofo, qt4
|
||||
, pil, makeWrapper, unrar, chmlib, pythonPackages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs =
|
||||
[ python pyqt4 sip popplerQt4 pkgconfig libpng imagemagick libjpeg
|
||||
fontconfig podofo qt4 mechanize lxml dateutil pil makeWrapper
|
||||
cssutils beautifulsoap chmlib
|
||||
fontconfig podofo qt4 pil makeWrapper chmlib
|
||||
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
|
||||
pythonPackages.cssutils pythonPackages.beautifulsoap pythonPackages.sqlite3
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
|
@ -1,14 +1,15 @@
|
||||
{stdenv, fetchurl, buildPythonPackage, pygtk}:
|
||||
{ stdenv, fetchurl, buildPythonPackage, pythonPackages, pygtk }:
|
||||
|
||||
buildPythonPackage {
|
||||
name = "keepnote-0.6.5";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://rasm.ods.org/keepnote/download/keepnote-0.6.5.tar.gz;
|
||||
sha256 = "0kipcy90r50z4m9p8pyy9wi4dknsiwdrgy974xgakris2rh4lafw";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pygtk ];
|
||||
propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk ];
|
||||
|
||||
# Testing fails.
|
||||
doCheck = false;
|
||||
|
@ -1,30 +1,27 @@
|
||||
{stdenv, fetchurl, python, makeWrapper}:
|
||||
{ stdenv, fetchurl, pythonPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.2";
|
||||
release = ".0";
|
||||
version = "2.3";
|
||||
release = ".1";
|
||||
name = "bazaar-${version}${release}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://launchpad.net/bzr/${version}/${version}${release}/+download/bzr-${version}${release}.tar.gz";
|
||||
sha256 = "64cd6c23097884e40686adc7f0ad4a8200e2292bdc5e0caba3563b6f5c32bacf";
|
||||
sha256 = "07kx41w4gqv68bcykdflsg68wvpmcyqknzyb4vr1zqlf27hahp53";
|
||||
};
|
||||
|
||||
buildInputs = [python makeWrapper];
|
||||
buildInputs = [ pythonPackages.python pythonPackages.wrapPython ];
|
||||
|
||||
# Readline support is needed by bzrtools.
|
||||
pythonPath = [ pythonPackages.ssl pythonPackages.readline ];
|
||||
|
||||
installPhase = ''
|
||||
python setup.py install --prefix=$out
|
||||
wrapProgram $out/bin/bzr --prefix PYTHONPATH : "$(toPythonPath $out)"
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# If someone wants to assert python features..
|
||||
inherit python;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://bazaar-vcs.org/;
|
||||
description = "A distributed version control system that Just Works";
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,5 @@
|
||||
args : with args;
|
||||
|
||||
if ! bazaar.python.readlineSupport then
|
||||
throw "Bazaar Tools require readline support in python."
|
||||
else
|
||||
|
||||
rec {
|
||||
version = "2.2.0";
|
||||
src = fetchurl {
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, python, makeWrapper, docutils
|
||||
, guiSupport ? false, tk ? null }:
|
||||
, guiSupport ? false, tk ? null, ssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mercurial-1.7.5";
|
||||
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
''
|
||||
for i in $(cd $out/bin && ls); do
|
||||
wrapProgram $out/bin/$i \
|
||||
--prefix PYTHONPATH : "$(toPythonPath $out)" \
|
||||
--prefix PYTHONPATH : "$(toPythonPath "$out ${ssl}")" \
|
||||
$WRAP_TK
|
||||
done
|
||||
|
||||
|
82
pkgs/applications/virtualization/nova/default.nix
Normal file
82
pkgs/applications/virtualization/nova/default.nix
Normal file
@ -0,0 +1,82 @@
|
||||
{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let version = "2011.1.1"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nova-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://launchpad.net/nova/bexar/${version}/+download/nova-${version}.tar.gz";
|
||||
sha256 = "0xd7cxn60vzhkvjwnj0i6jfcxaggwwyw2pnhl4qnb759q9hvk1b9";
|
||||
};
|
||||
|
||||
patches =
|
||||
[ ./fix-dhcpbridge-output.patch ];
|
||||
|
||||
pythonPath = with pythonPackages;
|
||||
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes
|
||||
paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
|
||||
distutils_extra simplejson readline glance cheetah
|
||||
# !!! should libvirt be a build-time dependency? Note that
|
||||
# libxml2Python is a dependency of libvirt.py.
|
||||
libvirt libxml2Python
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ pythonPackages.python
|
||||
pythonPackages.wrapPython
|
||||
pythonPackages.mox
|
||||
intltool
|
||||
] ++ pythonPath;
|
||||
|
||||
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
# Set the built-in state location to something sensible.
|
||||
sed -i nova/flags.py \
|
||||
-e "/DEFINE.*'state_path'/ s|../|/var/lib/nova|"
|
||||
|
||||
substituteInPlace nova/virt/images.py --replace /usr/bin/curl ${curl}/bin/curl
|
||||
'';
|
||||
|
||||
buildPhase = "python setup.py build";
|
||||
|
||||
installPhase =
|
||||
''
|
||||
p=$(toPythonPath $out)
|
||||
export PYTHONPATH=$p:$PYTHONPATH
|
||||
mkdir -p $p
|
||||
python setup.py install --prefix=$out
|
||||
|
||||
# Nova doesn't like to be called ".nova-foo-wrapped" because it
|
||||
# computes some stuff from its own argv[0]. So call the wrapped
|
||||
# programs ".nova-foo" by overriding wrapProgram.
|
||||
wrapProgram() {
|
||||
local prog="$1"
|
||||
local hidden="$(dirname "$prog")/.$(basename "$prog")"
|
||||
mv $prog $hidden
|
||||
makeWrapper $hidden $prog "$@"
|
||||
}
|
||||
|
||||
wrapPythonPrograms
|
||||
|
||||
mkdir -p $out/etc/nova
|
||||
cp etc/nova-api.conf $out/etc/nova/
|
||||
|
||||
# Nova makes some weird assumptions about where to find its own
|
||||
# programs relative to the Python directory.
|
||||
ln -sfn $out/bin $out/lib/${pythonPackages.python.libPrefix}/site-packages/bin
|
||||
'';
|
||||
|
||||
doCheck = false; # !!! fix
|
||||
|
||||
checkPhase = "python setup.py test";
|
||||
|
||||
meta = {
|
||||
homepage = http://nova.openstack.org/;
|
||||
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
|
||||
};
|
||||
}
|
@ -0,0 +1,124 @@
|
||||
Prevent dnsmasq from segfaulting.
|
||||
|
||||
https://code.launchpad.net/~soren/nova/dnsmasq-leasesfile-init/+merge/52421
|
||||
|
||||
diff -ru nova-2011.1.1-orig//bin/nova-dhcpbridge nova-2011.1.1//bin/nova-dhcpbridge
|
||||
--- nova-2011.1.1-orig//bin/nova-dhcpbridge 2011-02-24 19:51:54.000000000 +0100
|
||||
+++ nova-2011.1.1//bin/nova-dhcpbridge 2011-04-01 17:49:53.848659259 +0200
|
||||
@@ -94,7 +94,7 @@
|
||||
"""Get the list of hosts for an interface."""
|
||||
ctxt = context.get_admin_context()
|
||||
network_ref = db.network_get_by_bridge(ctxt, interface)
|
||||
- return linux_net.get_dhcp_hosts(ctxt, network_ref['id'])
|
||||
+ return linux_net.get_dhcp_leases(ctxt, network_ref['id'])
|
||||
|
||||
|
||||
def main():
|
||||
diff -ru nova-2011.1.1-orig//nova/network/linux_net.py nova-2011.1.1//nova/network/linux_net.py
|
||||
--- nova-2011.1.1-orig//nova/network/linux_net.py 2011-02-24 19:51:54.000000000 +0100
|
||||
+++ nova-2011.1.1//nova/network/linux_net.py 2011-04-01 17:50:37.315585644 +0200
|
||||
@@ -18,6 +18,7 @@
|
||||
"""
|
||||
|
||||
import os
|
||||
+import calendar
|
||||
|
||||
from nova import db
|
||||
from nova import flags
|
||||
@@ -48,6 +49,8 @@
|
||||
'location of nova-dhcpbridge')
|
||||
flags.DEFINE_string('routing_source_ip', '$my_ip',
|
||||
'Public IP of network host')
|
||||
+flags.DEFINE_integer('dhcp_lease_time', 120,
|
||||
+ 'Lifetime of a DHCP lease')
|
||||
flags.DEFINE_bool('use_nova_chains', False,
|
||||
'use the nova_ routing chains instead of default')
|
||||
|
||||
@@ -218,8 +221,17 @@
|
||||
_confirm_rule("FORWARD", "-j nova-local")
|
||||
|
||||
|
||||
+def get_dhcp_leases(context, network_id):
|
||||
+ """Return a network's hosts config in dnsmasq leasefile format"""
|
||||
+ hosts = []
|
||||
+ for fixed_ip_ref in db.network_get_associated_fixed_ips(context,
|
||||
+ network_id):
|
||||
+ hosts.append(_host_lease(fixed_ip_ref))
|
||||
+ return '\n'.join(hosts)
|
||||
+
|
||||
+
|
||||
def get_dhcp_hosts(context, network_id):
|
||||
- """Get a string containing a network's hosts config in dnsmasq format"""
|
||||
+ """Get a string containing a network's hosts config in dhcp-host format"""
|
||||
hosts = []
|
||||
for fixed_ip_ref in db.network_get_associated_fixed_ips(context,
|
||||
network_id):
|
||||
@@ -310,8 +322,24 @@
|
||||
utils.get_my_linklocal(network_ref['bridge'])})
|
||||
|
||||
|
||||
+def _host_lease(fixed_ip_ref):
|
||||
+ """Return a host string for an address in leasefile format"""
|
||||
+ instance_ref = fixed_ip_ref['instance']
|
||||
+ if instance_ref['updated_at']:
|
||||
+ timestamp = instance_ref['updated_at']
|
||||
+ else:
|
||||
+ timestamp = instance_ref['created_at']
|
||||
+
|
||||
+ seconds_since_epoch = calendar.timegm(timestamp.utctimetuple())
|
||||
+
|
||||
+ return "%d %s %s %s *" % (seconds_since_epoch + FLAGS.dhcp_lease_time,
|
||||
+ instance_ref['mac_address'],
|
||||
+ fixed_ip_ref['address'],
|
||||
+ instance_ref['hostname'] or '*')
|
||||
+
|
||||
+
|
||||
def _host_dhcp(fixed_ip_ref):
|
||||
- """Return a host string for an address"""
|
||||
+ """Return a host string for an address in dhcp-host format"""
|
||||
instance_ref = fixed_ip_ref['instance']
|
||||
return "%s,%s.novalocal,%s" % (instance_ref['mac_address'],
|
||||
instance_ref['hostname'],
|
||||
diff -ru nova-2011.1.1-orig//nova/tests/test_network.py nova-2011.1.1//nova/tests/test_network.py
|
||||
--- nova-2011.1.1-orig//nova/tests/test_network.py 2011-02-24 19:51:54.000000000 +0100
|
||||
+++ nova-2011.1.1//nova/tests/test_network.py 2011-04-01 17:49:53.849659365 +0200
|
||||
@@ -20,6 +20,7 @@
|
||||
"""
|
||||
import IPy
|
||||
import os
|
||||
+import time
|
||||
|
||||
from nova import context
|
||||
from nova import db
|
||||
@@ -320,6 +321,31 @@
|
||||
network['id'])
|
||||
self.assertEqual(ip_count, num_available_ips)
|
||||
|
||||
+ def test_dhcp_lease_output(self):
|
||||
+ admin_ctxt = context.get_admin_context()
|
||||
+ address = self._create_address(0, self.instance_id)
|
||||
+ lease_ip(address)
|
||||
+ network_ref = db.network_get_by_instance(admin_ctxt, self.instance_id)
|
||||
+ leases = linux_net.get_dhcp_leases(context.get_admin_context(),
|
||||
+ network_ref['id'])
|
||||
+ for line in leases.split('\n'):
|
||||
+ seconds, mac, ip, hostname, client_id = line.split(' ')
|
||||
+ self.assertTrue(int(seconds) > time.time(), 'Lease expires in '
|
||||
+ 'the past')
|
||||
+ octets = mac.split(':')
|
||||
+ self.assertEqual(len(octets), 6, "Wrong number of octets "
|
||||
+ "in %s" % (max,))
|
||||
+ for octet in octets:
|
||||
+ self.assertEqual(len(octet), 2, "Oddly sized octet: %s"
|
||||
+ % (octet,))
|
||||
+ # This will throw an exception if the octet is invalid
|
||||
+ int(octet, 16)
|
||||
+
|
||||
+ # And this will raise an exception in case of an invalid IP
|
||||
+ IPy.IP(ip)
|
||||
+
|
||||
+ release_ip(address)
|
||||
+
|
||||
|
||||
def is_allocated_in_project(address, project_id):
|
||||
"""Returns true if address is in specified project"""
|
@ -1,33 +0,0 @@
|
||||
{ stdenv, fetchurl, python, setuptools, pythonPackages }:
|
||||
|
||||
let version = "2011.1"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "openstack-compute-2011.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://launchpad.net/nova/bexar/2011.1/+download/nova-2011.1.tar.gz;
|
||||
sha256 = "1g8f75mzjpkzhqk91hga5wpjh8d0kbc9fxxjk0px0qjk20qrmb45";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ python setuptools pythonPackages.gflags pythonPackages.netaddr pythonPackages.eventlet
|
||||
];
|
||||
|
||||
preConfigure = "export HOME=$(pwd)";
|
||||
|
||||
buildPhase = "python setup.py build";
|
||||
|
||||
installPhase =
|
||||
''
|
||||
p=$(toPythonPath $out)
|
||||
export PYTHONPATH=$p:$PYTHONPATH
|
||||
mkdir -p $p
|
||||
python setup.py install --prefix=$out
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://nova.openstack.org/;
|
||||
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
|
||||
};
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, which, zlib, pkgconfig, SDL, openssl, python
|
||||
{ stdenv, fetchurl, which, zlib, pkgconfig, SDL, openssl
|
||||
, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2, xz
|
||||
, lvm2, utillinux, procps, texinfo, perl }:
|
||||
, lvm2, utillinux, procps, texinfo, perl, pythonPackages }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
@ -50,10 +50,13 @@ stdenv.mkDerivation {
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ which zlib pkgconfig SDL openssl python libuuid gettext ncurses
|
||||
[ which zlib pkgconfig SDL openssl libuuid gettext ncurses
|
||||
dev86 iasl pciutils bzip2 xz texinfo perl
|
||||
pythonPackages.python pythonPackages.wrapPython
|
||||
];
|
||||
|
||||
pythonPath = [ pythonPackages.curses ];
|
||||
|
||||
makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc";
|
||||
|
||||
buildFlags = "xen tools stubdom";
|
||||
@ -121,19 +124,7 @@ stdenv.mkDerivation {
|
||||
cp -prvd dist/install/boot $out/boot
|
||||
cp -prvd dist/install/etc $out/etc
|
||||
cp -dR docs/man1 docs/man5 $out/share/man/
|
||||
''; # */
|
||||
|
||||
postFixup =
|
||||
''
|
||||
# Set the Python search path in all Python scripts.
|
||||
for fn in $(grep -l '#!.*python' $out/bin/* $out/sbin/*); do
|
||||
sed -i "$fn" -e "1 a import sys\nsys.path = ['$out/lib/python2.6/site-packages'] + sys.path"
|
||||
done
|
||||
|
||||
# Remove calls to `env'.
|
||||
for fn in $(grep -l '#!.*/env.*python' $out/bin/* $out/sbin/*); do
|
||||
sed -i "$fn" -e "1 s^/nix/store/.*/env.*python^${python}/bin/python^"
|
||||
done
|
||||
wrapPythonPrograms
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
|
@ -45,12 +45,16 @@ rec {
|
||||
|
||||
|
||||
# Make a package that just contains a setup hook with the given contents.
|
||||
makeSetupHook = script:
|
||||
runCommand "hook" {}
|
||||
''
|
||||
makeSetupHook = { deps ? [], substitutions ? {} }: script:
|
||||
runCommand "hook" substitutions
|
||||
(''
|
||||
ensureDir $out/nix-support
|
||||
cp ${script} $out/nix-support/setup-hook
|
||||
'';
|
||||
'' + stdenv.lib.optionalString (deps != []) ''
|
||||
echo ${toString deps} > $out/nix-support/propagated-build-native-inputs
|
||||
'' + stdenv.lib.optionalString (substitutions != {}) ''
|
||||
substituteAll ${script} $out/nix-support/setup-hook
|
||||
'');
|
||||
|
||||
|
||||
# Write the references (i.e. the runtime dependencies in the Nix store) of `path' to a file.
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, fetchurl, perl, gnum4, ncurses, openssl }:
|
||||
|
||||
let version = "R14A"; in
|
||||
let version = "R14B02"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "erlang-" + version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.erlang.org/download/otp_src_" + version + ".tar.gz";
|
||||
sha256 = "170n5p6al1bxwngdmafm1c6892xjxppb96gzgki9gfb0mla6li73";
|
||||
sha256 = "1g85a85w031jr5pmz9b0x3p11d44glkf7qpy64l9y7l2b45hb7c4";
|
||||
};
|
||||
|
||||
buildInputs = [ perl gnum4 ncurses openssl ];
|
||||
|
@ -1,54 +0,0 @@
|
||||
{stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2}:
|
||||
|
||||
assert zlibSupport -> zlib != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
|
||||
buildInputs =
|
||||
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
|
||||
[bzip2] ++
|
||||
optional zlibSupport zlib;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "python-2.4.6";
|
||||
majorVersion = "2.4";
|
||||
version = "2.4.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.python.org/ftp/python/2.4.6/Python-2.4.6.tar.bz2;
|
||||
sha256 = "021y88a4ki07dgq19yhg6zfvmncfiz7h5b2255438i9zmlwl246s";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
|
||||
./search-path.patch
|
||||
];
|
||||
|
||||
inherit buildInputs;
|
||||
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
||||
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
||||
|
||||
configureFlags = "--enable-shared";
|
||||
|
||||
preConfigure = ''
|
||||
# Purity.
|
||||
for i in /usr /sw /opt /pkg; do
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
'';
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
postInstall = ''
|
||||
rm -rf $out/lib/python2.4/test
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit zlibSupport;
|
||||
libPrefix = "python2.4";
|
||||
};
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
diff -rc Python-2.4.4-orig/setup.py Python-2.4.4/setup.py
|
||||
*** Python-2.4.4-orig/setup.py 2006-10-08 19:41:25.000000000 +0200
|
||||
--- Python-2.4.4/setup.py 2007-05-27 16:04:54.000000000 +0200
|
||||
***************
|
||||
*** 279,288 ****
|
||||
# Check for AtheOS which has libraries in non-standard locations
|
||||
if platform == 'atheos':
|
||||
lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
|
||||
- lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
|
||||
inc_dirs += ['/system/include', '/atheos/autolnk/include']
|
||||
- inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
|
||||
|
||||
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
|
||||
if platform in ['osf1', 'unixware7', 'openunix8']:
|
||||
lib_dirs += ['/usr/ccs/lib']
|
||||
--- 279,289 ----
|
||||
# Check for AtheOS which has libraries in non-standard locations
|
||||
if platform == 'atheos':
|
||||
lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
|
||||
inc_dirs += ['/system/include', '/atheos/autolnk/include']
|
||||
|
||||
+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
|
||||
+ inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
|
||||
+
|
||||
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
|
||||
if platform in ['osf1', 'unixware7', 'openunix8']:
|
||||
lib_dirs += ['/usr/ccs/lib']
|
@ -1,15 +0,0 @@
|
||||
addPythonPath() {
|
||||
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.4/site-packages
|
||||
}
|
||||
|
||||
toPythonPath() {
|
||||
local paths="$1"
|
||||
local result=
|
||||
for i in $paths; do
|
||||
p="$i/lib/python2.4/site-packages"
|
||||
result="${result}${result:+:}$p"
|
||||
done
|
||||
echo $result
|
||||
}
|
||||
|
||||
envHooks=(${envHooks[@]} addPythonPath)
|
@ -1,97 +0,0 @@
|
||||
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
|
||||
, gdbmSupport ? true, gdbm ? null
|
||||
, sqlite ? null
|
||||
, db4 ? null
|
||||
, readline ? null
|
||||
, openssl ? null
|
||||
, tk ? null
|
||||
, tcl ? null
|
||||
, libX11 ? null
|
||||
, xproto ? null
|
||||
, arch ? null
|
||||
, sw_vers ? null
|
||||
, ncurses ? null
|
||||
}:
|
||||
|
||||
assert zlibSupport -> zlib != null;
|
||||
assert gdbmSupport -> gdbm != null;
|
||||
assert stdenv.isDarwin -> arch != null;
|
||||
assert stdenv.isDarwin -> sw_vers != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
|
||||
majorVersion = "2.6";
|
||||
version = "${majorVersion}.5";
|
||||
|
||||
buildInputs =
|
||||
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
|
||||
[bzip2]
|
||||
++ optional zlibSupport zlib
|
||||
++ optional gdbmSupport gdbm
|
||||
++ optional (sqlite != null) sqlite
|
||||
++ optional (db4 != null) db4
|
||||
++ optional (readline != null) readline
|
||||
++ optional (openssl != null) openssl
|
||||
++ optional (tk != null) tk
|
||||
++ optional (tcl != null) tcl
|
||||
++ optional (libX11 != null) libX11
|
||||
++ optional (xproto != null) xproto
|
||||
++ optional (arch != null) arch
|
||||
++ optional (sw_vers != null) sw_vers
|
||||
++ optional (ncurses != null) ncurses
|
||||
;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation ( {
|
||||
name = "python-${version}";
|
||||
inherit majorVersion version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
|
||||
sha256 = "62da62eb685621ede2be1275f11b89fa0e0be578db8daa5320d0a7855c0a9ebc";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
|
||||
./search-path.patch
|
||||
];
|
||||
|
||||
inherit buildInputs;
|
||||
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
||||
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
||||
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
|
||||
|
||||
preConfigure = ''
|
||||
# Purity.
|
||||
for i in /usr /sw /opt /pkg; do
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
'' + (if readline != null then ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
|
||||
'' else "");
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
postInstall = ''
|
||||
rm -rf "$out/lib/python${majorVersion}/test"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit zlibSupport;
|
||||
sqliteSupport = sqlite != null;
|
||||
db4Support = db4 != null;
|
||||
readlineSupport = readline != null;
|
||||
opensslSupport = openssl != null;
|
||||
tkSupport = (tk != null) && (tcl != null);
|
||||
libPrefix = "python${majorVersion}";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
} // (if stdenv.isDarwin then { NIX_CFLAGS_COMPILE = "-msse2" ; patches = [./search-path.patch]; } else {} ) )
|
@ -1,27 +0,0 @@
|
||||
diff -rc Python-2.4.4-orig/setup.py Python-2.4.4/setup.py
|
||||
*** Python-2.4.4-orig/setup.py 2006-10-08 19:41:25.000000000 +0200
|
||||
--- Python-2.4.4/setup.py 2007-05-27 16:04:54.000000000 +0200
|
||||
***************
|
||||
*** 279,288 ****
|
||||
# Check for AtheOS which has libraries in non-standard locations
|
||||
if platform == 'atheos':
|
||||
lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
|
||||
- lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
|
||||
inc_dirs += ['/system/include', '/atheos/autolnk/include']
|
||||
- inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
|
||||
|
||||
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
|
||||
if platform in ['osf1', 'unixware7', 'openunix8']:
|
||||
lib_dirs += ['/usr/ccs/lib']
|
||||
--- 279,289 ----
|
||||
# Check for AtheOS which has libraries in non-standard locations
|
||||
if platform == 'atheos':
|
||||
lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
|
||||
inc_dirs += ['/system/include', '/atheos/autolnk/include']
|
||||
|
||||
+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
|
||||
+ inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
|
||||
+
|
||||
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
|
||||
if platform in ['osf1', 'unixware7', 'openunix8']:
|
||||
lib_dirs += ['/usr/ccs/lib']
|
@ -1,15 +0,0 @@
|
||||
addPythonPath() {
|
||||
addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.6/site-packages
|
||||
}
|
||||
|
||||
toPythonPath() {
|
||||
local paths="$1"
|
||||
local result=
|
||||
for i in $paths; do
|
||||
p="$i/lib/python2.6/site-packages"
|
||||
result="${result}${result:+:}$p"
|
||||
done
|
||||
echo $result
|
||||
}
|
||||
|
||||
envHooks=(${envHooks[@]} addPythonPath)
|
@ -1,22 +1,11 @@
|
||||
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
|
||||
, gdbmSupport ? true, gdbm ? null
|
||||
, sqlite ? null
|
||||
, db4 ? null
|
||||
, readline ? null
|
||||
, openssl ? null
|
||||
, tk ? null
|
||||
, tcl ? null
|
||||
, libX11 ? null
|
||||
, xproto ? null
|
||||
, arch ? null
|
||||
, sw_vers ? null
|
||||
, ncurses ? null
|
||||
, sqlite, tcl, tk, x11, openssl, readline, db4, ncurses, gdbm
|
||||
, darwinArchUtility ? null, darwinSwVersUtility ? null
|
||||
}:
|
||||
|
||||
assert zlibSupport -> zlib != null;
|
||||
assert gdbmSupport -> gdbm != null;
|
||||
assert stdenv.isDarwin -> arch != null;
|
||||
assert stdenv.isDarwin -> sw_vers != null;
|
||||
assert stdenv.isDarwin -> darwinArchUtility != null;
|
||||
assert stdenv.isDarwin -> darwinSwVersUtility != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
@ -25,86 +14,172 @@ let
|
||||
majorVersion = "2.7";
|
||||
version = "${majorVersion}.1";
|
||||
|
||||
buildInputs =
|
||||
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
|
||||
[bzip2]
|
||||
++ optional zlibSupport zlib
|
||||
++ optional gdbmSupport gdbm
|
||||
++ optional (sqlite != null) sqlite
|
||||
++ optional (db4 != null) db4
|
||||
++ optional (readline != null) readline
|
||||
++ optional (openssl != null) openssl
|
||||
++ optional (tk != null) tk
|
||||
++ optional (tcl != null) tcl
|
||||
++ optional (libX11 != null) libX11
|
||||
++ optional (xproto != null) xproto
|
||||
++ optional (arch != null) arch
|
||||
++ optional (sw_vers != null) sw_vers
|
||||
++ optional (ncurses != null) ncurses
|
||||
;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation ( {
|
||||
name = "python-${version}";
|
||||
inherit majorVersion version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
|
||||
sha256 = "14i2c7yqa7ljmx2i2bb827n61q33zn23ax96czi8rbkyyny8gqw0";
|
||||
};
|
||||
|
||||
patches =
|
||||
[ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
|
||||
./search-path.patch
|
||||
|
||||
patches = [
|
||||
# Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
|
||||
./search-path.patch
|
||||
];
|
||||
# Python recompiles a Python if the mtime stored *in* the
|
||||
# pyc/pyo file differs from the mtime of the source file. This
|
||||
# doesn't work in Nix because Nix changes the mtime of files in
|
||||
# the Nix store to 1. So treat that as a special case.
|
||||
./nix-store-mtime.patch
|
||||
];
|
||||
|
||||
inherit buildInputs;
|
||||
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
||||
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
||||
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
|
||||
buildInputs =
|
||||
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
|
||||
[ bzip2 ]
|
||||
++ optional zlibSupport zlib
|
||||
++ optionals stdenv.isDarwin [ darwinArchUtility darwinSwVersUtility ];
|
||||
|
||||
preConfigure = ''
|
||||
# Purity.
|
||||
for i in /usr /sw /opt /pkg; do
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
'' + (if readline != null then ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
|
||||
'' else "");
|
||||
|
||||
# Build the basic Python interpreter without modules that have
|
||||
# external dependencies.
|
||||
python = stdenv.mkDerivation {
|
||||
name = "python-${version}";
|
||||
|
||||
inherit majorVersion version src patches buildInputs;
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
||||
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
||||
|
||||
postInstall = ''
|
||||
rm -rf "$out/lib/python${majorVersion}/test"
|
||||
'';
|
||||
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
|
||||
|
||||
passthru = {
|
||||
inherit zlibSupport;
|
||||
sqliteSupport = sqlite != null;
|
||||
db4Support = db4 != null;
|
||||
readlineSupport = readline != null;
|
||||
opensslSupport = openssl != null;
|
||||
tkSupport = (tk != null) && (tcl != null);
|
||||
libPrefix = "python${majorVersion}";
|
||||
preConfigure =
|
||||
''
|
||||
# Purity.
|
||||
for i in /usr /sw /opt /pkg; do
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
'' + optionalString stdenv.isCygwin ''
|
||||
# On Cygwin, `make install' tries to read this Makefile.
|
||||
mkdir -p $out/lib/python2.7/config
|
||||
touch $out/lib/python2.7/config/Makefile
|
||||
mkdir -p $out/include/python2.7
|
||||
touch $out/include/python2.7/pyconfig.h
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
postInstall =
|
||||
''
|
||||
rm -rf "$out/lib/python${majorVersion}/test"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit zlibSupport;
|
||||
libPrefix = "python${majorVersion}";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://python.org";
|
||||
description = "Python -- a high-level dynamically-typed programming language";
|
||||
longDescription = ''
|
||||
Python is a remarkably powerful dynamic programming language that
|
||||
is used in a wide variety of application domains. Some of its key
|
||||
distinguishing features include: clear, readable syntax; strong
|
||||
introspection capabilities; intuitive object orientation; natural
|
||||
expression of procedural code; full modularity, supporting
|
||||
hierarchical packages; exception-based error handling; and very
|
||||
high level dynamic data types.
|
||||
'';
|
||||
license = "GPLv2";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.simons ];
|
||||
};
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://python.org";
|
||||
description = "Python -- a high-level dynamically-typed programming language";
|
||||
longDescription = ''
|
||||
Python is a remarkably powerful dynamic programming language that
|
||||
is used in a wide variety of application domains. Some of its key
|
||||
distinguishing features include: clear, readable syntax; strong
|
||||
introspection capabilities; intuitive object orientation; natural
|
||||
expression of procedural code; full modularity, supporting
|
||||
hierarchical packages; exception-based error handling; and very
|
||||
high level dynamic data types.
|
||||
'';
|
||||
license = "GPLv2";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.simons ];
|
||||
# This function builds a Python module included in the main Python
|
||||
# distribution in a separate derivation.
|
||||
buildInternalPythonModule =
|
||||
{ moduleName
|
||||
, internalName ? "_" + moduleName
|
||||
, deps
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "python-${moduleName}-${python.version}";
|
||||
|
||||
inherit src patches;
|
||||
|
||||
buildInputs = [ python ] ++ deps;
|
||||
|
||||
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
||||
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
||||
|
||||
configurePhase = "true";
|
||||
|
||||
buildPhase =
|
||||
''
|
||||
# Fake the build environment that setup.py expects.
|
||||
ln -s ${python}/include/python*/pyconfig.h .
|
||||
ln -s ${python}/lib/python*/config/Setup Modules/
|
||||
ln -s ${python}/lib/python*/config/Setup.local Modules/
|
||||
|
||||
substituteInPlace setup.py --replace 'self.extensions = extensions' \
|
||||
'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]'
|
||||
|
||||
python ./setup.py build_ext
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
''
|
||||
dest=$out/lib/${python.libPrefix}/site-packages
|
||||
mkdir -p $dest
|
||||
cp -p $(find . -name "*.${if stdenv.isCygwin then "dll" else "so"}") $dest/
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
# The Python modules included in the main Python distribution, built
|
||||
# as separate derivations.
|
||||
modules = {
|
||||
|
||||
bsddb = buildInternalPythonModule {
|
||||
moduleName = "bsddb";
|
||||
deps = [ db4 ];
|
||||
};
|
||||
|
||||
curses = buildInternalPythonModule {
|
||||
moduleName = "curses";
|
||||
deps = [ ncurses ];
|
||||
};
|
||||
|
||||
gdbm = buildInternalPythonModule {
|
||||
moduleName = "gdbm";
|
||||
internalName = "gdbm";
|
||||
deps = [ gdbm ];
|
||||
};
|
||||
|
||||
sqlite3 = buildInternalPythonModule {
|
||||
moduleName = "sqlite3";
|
||||
deps = [ sqlite ];
|
||||
};
|
||||
|
||||
ssl = buildInternalPythonModule {
|
||||
moduleName = "ssl";
|
||||
deps = [ openssl ];
|
||||
};
|
||||
|
||||
tkinter = buildInternalPythonModule {
|
||||
moduleName = "tkinter";
|
||||
deps = [ tcl tk x11 ];
|
||||
};
|
||||
|
||||
readline = buildInternalPythonModule {
|
||||
moduleName = "readline";
|
||||
internalName = "readline";
|
||||
deps = [ readline ];
|
||||
};
|
||||
|
||||
};
|
||||
} // (if stdenv.isDarwin then { NIX_CFLAGS_COMPILE = "-msse2" ; patches = [./search-path.patch]; } else {} ) )
|
||||
|
||||
in python // { inherit modules; }
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff -ru -x '*~' Python-2.7.1-orig/Python/import.c Python-2.7.1/Python/import.c
|
||||
--- Python-2.7.1-orig/Python/import.c 2010-05-20 20:37:55.000000000 +0200
|
||||
+++ Python-2.7.1/Python/import.c 2011-01-04 15:55:11.000000000 +0100
|
||||
@@ -751,7 +751,7 @@
|
||||
return NULL;
|
||||
}
|
||||
pyc_mtime = PyMarshal_ReadLongFromFile(fp);
|
||||
- if (pyc_mtime != mtime) {
|
||||
+ if (pyc_mtime != mtime && mtime != 1) {
|
||||
if (Py_VerboseFlag)
|
||||
PySys_WriteStderr("# %s has bad mtime\n", cpathname);
|
||||
fclose(fp);
|
@ -1,16 +1,16 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
|
||||
, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
|
||||
, libtasn1
|
||||
, libtasn1, ebtables
|
||||
}:
|
||||
|
||||
let version = "0.8.8"; in
|
||||
let version = "0.9.0"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "libvirt-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
|
||||
sha256 = "04z1757qpi3ssnjv5h2qnw1sds2m50yxk67cbdam6w4i50vyl2h3";
|
||||
sha256 = "0rlhn08zgj9v0jrh0pq0hfdw6vmw98fg3c573k8mpnwm2byc3gby";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@ -20,12 +20,12 @@ stdenv.mkDerivation {
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
PATH=${iproute}/sbin:${iptables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
|
||||
PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
|
||||
'';
|
||||
|
||||
configureFlags = "--localstatedir=/var --with-init-script=redhat";
|
||||
configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-init-script=redhat";
|
||||
|
||||
installFlags = "localstatedir=$(TMPDIR)/var";
|
||||
installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc";
|
||||
|
||||
postInstall =
|
||||
''
|
||||
|
@ -3,48 +3,49 @@
|
||||
(http://pypi.python.org/pypi/setuptools/), which represents a large
|
||||
number of Python packages nowadays. */
|
||||
|
||||
{ python, setuptools, makeWrapper, lib }:
|
||||
{ python, setuptools, wrapPython, lib }:
|
||||
|
||||
{ name, namePrefix ? "python-"
|
||||
|
||||
, buildInputs ? []
|
||||
|
||||
, # List of packages that should be added to the PYTHONPATH
|
||||
# environment variable in programs built by this function. Packages
|
||||
# in the standard `propagatedBuildInputs' variable are also added.
|
||||
# The difference is that `pythonPath' is not propagated to the user
|
||||
# environment. This is preferrable for programs because it doesn't
|
||||
# pollute the user environment.
|
||||
pythonPath ? []
|
||||
|
||||
, installCommand ?
|
||||
''
|
||||
easy_install --prefix="$out" .
|
||||
''
|
||||
|
||||
, buildPhase ? "true"
|
||||
|
||||
, doCheck ? true
|
||||
|
||||
, checkPhase ?
|
||||
''
|
||||
runHook preCheck
|
||||
python setup.py test
|
||||
runHook postCheck
|
||||
''
|
||||
|
||||
{ name, namePrefix ? "python-", src, meta, patches ? []
|
||||
, installCommand ? ""
|
||||
, doCheck ? true, checkPhase ? "python setup.py test"
|
||||
, postInstall ? ""
|
||||
|
||||
, ... } @ attrs:
|
||||
|
||||
let
|
||||
defaultInstallCommand = ''easy_install --prefix="$out" .'';
|
||||
# Keep extra attributes from ATTR, e.g., `patchPhase', etc.
|
||||
python.stdenv.mkDerivation (attrs // {
|
||||
inherit doCheck buildPhase checkPhase;
|
||||
|
||||
# Return the list of recursively propagated build inputs of PKG.
|
||||
recursiveBuildInputs =
|
||||
pkg:
|
||||
[ pkg ] ++
|
||||
(if pkg ? propagatedBuildNativeInputs
|
||||
then lib.concatLists (map recursiveBuildInputs
|
||||
pkg.propagatedBuildNativeInputs)
|
||||
else []);
|
||||
name = namePrefix + name;
|
||||
|
||||
in
|
||||
buildInputs = [ python wrapPython setuptools ] ++ buildInputs ++ pythonPath;
|
||||
|
||||
python.stdenv.mkDerivation (
|
||||
# Keep extra attributes from ATTR, e.g., `patchPhase', etc.
|
||||
attrs
|
||||
|
||||
//
|
||||
|
||||
(rec {
|
||||
inherit src meta patches doCheck checkPhase;
|
||||
|
||||
name = namePrefix + attrs.name;
|
||||
|
||||
buildInputs = [ python setuptools makeWrapper ] ++
|
||||
(if attrs ? buildInputs then attrs.buildInputs else []);
|
||||
|
||||
propagatedBuildInputs = [ setuptools ] ++
|
||||
(if attrs ? propagatedBuildInputs
|
||||
then attrs.propagatedBuildInputs
|
||||
else []);
|
||||
|
||||
buildPhase = "true";
|
||||
pythonPath = [ setuptools] ++ pythonPath;
|
||||
|
||||
# XXX: Should we run `easy_install --always-unzip'? It doesn't seem
|
||||
# to have a noticeable impact on small scripts.
|
||||
@ -53,49 +54,21 @@ python.stdenv.mkDerivation (
|
||||
|
||||
echo "installing \`${name}' with \`easy_install'..."
|
||||
export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
|
||||
${if installCommand == "" then defaultInstallCommand else installCommand}
|
||||
${installCommand}
|
||||
|
||||
${postInstall}
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Wrap scripts that are under `{s,}bin/' so that they get the right
|
||||
# $PYTHONPATH.
|
||||
for i in "$out/bin/"* "$out/sbin/"*
|
||||
do
|
||||
if head -n1 "$i" | grep -q "${python}"
|
||||
then
|
||||
echo "wrapping \`$i'..."
|
||||
|
||||
# Compute a $PATH prefix for the program.
|
||||
program_PATH=""
|
||||
${lib.concatStrings
|
||||
(map (path:
|
||||
''if [ -d "${path}/bin" ]
|
||||
then
|
||||
program_PATH="${path}/bin'' + "\$" + ''{program_PATH:+:}$program_PATH"
|
||||
fi
|
||||
'')
|
||||
(lib.concatMap recursiveBuildInputs propagatedBuildInputs))}
|
||||
|
||||
wrapProgram "$i" \
|
||||
--prefix PYTHONPATH ":" \
|
||||
${lib.concatStringsSep ":"
|
||||
([ "$out/lib/${python.libPrefix}/site-packages" ] ++
|
||||
(map (path: path + "/lib/${python.libPrefix}/site-packages")
|
||||
(lib.concatMap recursiveBuildInputs
|
||||
propagatedBuildInputs)))} \
|
||||
--prefix PATH ":" "$program_PATH"
|
||||
|
||||
postFixup =
|
||||
''
|
||||
wrapPythonPrograms
|
||||
|
||||
# If a user installs a Python package, she probably also wants its
|
||||
# dependencies in the user environment (since Python modules don't
|
||||
# have something like an RPATH, so the only way to find the
|
||||
# dependencies is to have them in the PYTHONPATH variable).
|
||||
if test -e $out/nix-support/propagated-build-inputs; then
|
||||
ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
|
||||
fi
|
||||
done
|
||||
|
||||
# If a user installs a Python package, she probably also wants its
|
||||
# dependencies in the user environment (since Python modules don't
|
||||
# have something like an RPATH, so the only way to find the
|
||||
# dependencies is to have them in the PYTHONPATH variable).
|
||||
if test -e $out/nix-support/propagated-build-inputs; then
|
||||
ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
|
||||
fi
|
||||
'';
|
||||
}))
|
||||
'';
|
||||
})
|
||||
|
47
pkgs/development/python-modules/generic/wrap.sh
Normal file
47
pkgs/development/python-modules/generic/wrap.sh
Normal file
@ -0,0 +1,47 @@
|
||||
wrapPythonPrograms() {
|
||||
wrapPythonProgramsIn $out "$out $pythonPath"
|
||||
}
|
||||
|
||||
wrapPythonProgramsIn() {
|
||||
local dir="$1"
|
||||
local pythonPath="$2"
|
||||
local python="$(type -p python)"
|
||||
local i
|
||||
|
||||
declare -A pythonPathsSeen=()
|
||||
program_PYTHONPATH=
|
||||
program_PATH=
|
||||
for i in $pythonPath; do
|
||||
_addToPythonPath $i
|
||||
done
|
||||
|
||||
for i in $(find "$dir" -type f -perm +0100); do
|
||||
|
||||
# Rewrite "#! .../env python" to "#! /nix/store/.../python".
|
||||
if head -n1 "$i" | grep -q '#!.*/env.*python'; then
|
||||
sed -i "$i" -e "1 s^.*/env[ ]*python^#! $python^"
|
||||
fi
|
||||
|
||||
if head -n1 "$i" | grep -q /python; then
|
||||
echo "wrapping \`$i'..."
|
||||
wrapProgram "$i" \
|
||||
--prefix PYTHONPATH ":" $program_PYTHONPATH \
|
||||
--prefix PATH ":" $program_PATH
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
_addToPythonPath() {
|
||||
local dir="$1"
|
||||
if [ -n "${pythonPathsSeen[$dir]}" ]; then return; fi
|
||||
pythonPathsSeen[$dir]=1
|
||||
addToSearchPath program_PYTHONPATH $dir/lib/@libPrefix@/site-packages
|
||||
addToSearchPath program_PATH $dir/bin
|
||||
local prop="$dir/nix-support/propagated-build-native-inputs"
|
||||
if [ -e $prop ]; then
|
||||
local i
|
||||
for i in $(cat $prop); do
|
||||
_addToPythonPath $i
|
||||
done
|
||||
fi
|
||||
}
|
@ -4,8 +4,9 @@ rpm2cpio $src | cpio -idv
|
||||
tar xfvj rhpl-*.tar.bz2
|
||||
rm rhpl-*.tar.bz2
|
||||
cd rhpl-*
|
||||
sed -i -e "s@/usr/include/\$(PYTHON)@$python/include/python2.6@" \
|
||||
-e "s@PYTHONLIBDIR = /usr/\$(LIBDIR)/\$(PYTHON)/site-packages@PYTHONLIBDIR = $out/lib/python2.6/site-packages@" Makefile.inc
|
||||
incl=$(echo $python/include/python2.*)
|
||||
sed -i -e "s@/usr/include/\$(PYTHON)@$incl@" \
|
||||
-e "s@PYTHONLIBDIR = /usr/\$(LIBDIR)/\$(PYTHON)/site-packages@PYTHONLIBDIR = $(toPythonPath $out)@" Makefile.inc
|
||||
sed -i -e "s@/usr/bin/install@install@g" \
|
||||
-e "s@\$(DESTDIR)/usr/share/locale@$out/share/locale@" po/Makefile
|
||||
make PREFIX=$out
|
||||
|
@ -1,48 +1,29 @@
|
||||
a :
|
||||
let
|
||||
fetchurl = a.fetchurl;
|
||||
{ stdenv, fetchurl, python, wrapPython }:
|
||||
|
||||
version = a.lib.attrByPath ["version"] "0.6c11" a;
|
||||
buildInputs = with a; [
|
||||
python makeWrapper
|
||||
];
|
||||
in
|
||||
rec {
|
||||
name = "setuptools-" + version;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "setuptools-0.6c11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/s/setuptools/${name}.tar.gz";
|
||||
sha256 = "1lx1hwxkhipyh206bgl90ddnfcnb68bzcvyawczbf833fadyl3v3";
|
||||
};
|
||||
|
||||
inherit buildInputs;
|
||||
configureFlags = [];
|
||||
buildInputs = [ python wrapPython ];
|
||||
|
||||
doCheck = true;
|
||||
buildPhase = "python setup.py build --build-base $out";
|
||||
|
||||
doMakeCheck = a.fullDepEntry (''
|
||||
python setup.py test
|
||||
'') ["minInit" "doUnpack" "addInputs" "doBuild"];
|
||||
installPhase =
|
||||
''
|
||||
dst=$out/lib/${python.libPrefix}/site-packages
|
||||
mkdir -p $dst
|
||||
PYTHONPATH=$dst:$PYTHONPATH
|
||||
python setup.py install --prefix=$out
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
doBuild = a.fullDepEntry(''
|
||||
python setup.py build --build-base $out
|
||||
'') ["addInputs" "doUnpack"];
|
||||
doCheck = false; # doesn't work with Python 2.7
|
||||
|
||||
doInstall = a.fullDepEntry(''
|
||||
ensureDir "$out/lib/${a.python.libPrefix}/site-packages"
|
||||
|
||||
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/${a.python.libPrefix}/site-packages"
|
||||
done
|
||||
'') ["doBuild"];
|
||||
|
||||
phaseNames = ["doBuild" "doInstall"];
|
||||
checkPhase = "python setup.py test";
|
||||
|
||||
meta = {
|
||||
description = "Utilities to facilitate the installation of Python packages";
|
||||
|
27
pkgs/os-specific/linux/ebtables/default.nix
Normal file
27
pkgs/os-specific/linux/ebtables/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ebtables-2.0.9-2";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/ebtables/ebtables-v2.0.9-2.tar.gz;
|
||||
sha256 = "18yni9zzhfi1ygkgifzj8qpn95cwwiw7j6b3wsl1bij39mj5z1cq";
|
||||
};
|
||||
|
||||
makeFlags =
|
||||
"LIBDIR=$(out)/lib BINDIR=$(out)/sbin MANDIR=$(out)/share/man " +
|
||||
"ETCDIR=$(out)/etc INITDIR=$(TMPDIR) SYSCONFIGDIR=$(out)/etc/sysconfig";
|
||||
|
||||
preBuild =
|
||||
''
|
||||
substituteInPlace Makefile --replace '-o root -g root' ""
|
||||
'';
|
||||
|
||||
preInstall = "mkdir -p $out/etc/sysconfig";
|
||||
|
||||
meta = {
|
||||
description = "A filtering tool for Linux-based bridging firewalls";
|
||||
homepage = http://ebtables.sourceforge.net/;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,46 +1,21 @@
|
||||
x@{builderDefsPackage
|
||||
, python, makeWrapper
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchurl, buildPythonPackage, pythonPackages }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
baseName="iotop";
|
||||
version="0.4.1";
|
||||
name="${baseName}-${version}";
|
||||
url="http://guichaz.free.fr/${baseName}/files/${name}.tar.bz2";
|
||||
hash="1dfvw3khr2rvqllvs9wad9ca3ld4i7szqf0ibq87rn36ickrf3ll";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
buildPythonPackage rec {
|
||||
name = "iotop-0.4.1";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://guichaz.free.fr/iotop/files/${name}.tar.bz2";
|
||||
sha256 = "1dfvw3khr2rvqllvs9wad9ca3ld4i7szqf0ibq87rn36ickrf3ll";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
pythonPath = [ pythonPackages.curses ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
phaseNames = ["installPythonPackage" "wrapBinContentsPython"];
|
||||
|
||||
meta = {
|
||||
description = "A tool to find out the processes doing the most IO";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
linux;
|
||||
maintainers = [ stdenv.lib.maintainers.raskin ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://guichaz.free.fr/iotop/";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
|
||||
''
|
||||
# extboot.bin isn't installed due to a bug in the Makefile.
|
||||
cp pc-bios/optionrom/extboot.bin $out/share/qemu/
|
||||
|
||||
# Libvirt expects us to be called `qemu-kvm'. Otherwise it will
|
||||
# set the domain type to "qemu" rather than "kvm", which can
|
||||
# cause architecture selection to misbehave.
|
||||
ln -s $(cd $out/bin && echo qemu-system-*) $out/bin/qemu-kvm
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
33
pkgs/servers/amqp/rabbitmq-server/default.nix
Normal file
33
pkgs/servers/amqp/rabbitmq-server/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ stdenv, fetchurl, erlang, python, libxml2, libxslt, xmlto
|
||||
, docbook_xml_dtd_45, docbook_xsl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rabbitmq-server-2.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.rabbitmq.com/releases/rabbitmq-server/v2.4.0/${name}.tar.gz";
|
||||
sha256 = "0zvyyqw9kpzi791hvv8qj1aw0fpx5m5cgqfvffxfrdz8daxx3nma";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl ];
|
||||
|
||||
preBuild =
|
||||
''
|
||||
# Fix the "/usr/bin/env" in "calculate-relative".
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man";
|
||||
|
||||
postInstall =
|
||||
''
|
||||
echo 'PATH=${erlang}/bin:${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
homepage = http://www.rabbitmq.com/;
|
||||
description = "An implementation of the AMQP messaging protocol";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ fetchurl, stdenv, python, pkgconfig, dbus, dbus_glib
|
||||
, ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper
|
||||
{ fetchurl, stdenv, pythonPackages, pkgconfig, dbus, dbus_glib
|
||||
, ncurses, libX11, libXt, libXpm, libXaw, libXext
|
||||
, libxslt, xmlto, gpsdUser ? "gpsd" }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -11,30 +11,20 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
python pkgconfig dbus dbus_glib ncurses
|
||||
libX11 libXt libXpm libXaw libXext
|
||||
makeWrapper libxslt xmlto
|
||||
pythonPackages.python pythonPackages.wrapPython
|
||||
pkgconfig dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext
|
||||
libxslt xmlto
|
||||
];
|
||||
|
||||
configureFlags = "--enable-dbus --enable-gpsd-user=${gpsdUser} "
|
||||
pythonPath = [ pythonPackages.curses ];
|
||||
|
||||
configureFlags = "--enable-dbus --enable-gpsd-user=${gpsdUser} "
|
||||
# Make sure `xgpsspeed' has libXt and libX11 in its RPATH.
|
||||
+ "LDFLAGS=-Wl,--rpath=${libXt}/lib:${libX11}/lib";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postInstall = ''
|
||||
for prog in "$out/bin"/*
|
||||
do
|
||||
if grep -q python "$prog"
|
||||
then
|
||||
echo "patching \`$prog'..."
|
||||
wrapProgram "$prog" \
|
||||
--prefix PATH ":" "${python}/bin" \
|
||||
--prefix PYTHONPATH ":" "$out/lib/${python.libPrefix}/site-packages"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
postInstall = "wrapPythonPrograms";
|
||||
|
||||
meta = {
|
||||
description = "`gpsd', a GPS service daemon";
|
||||
|
@ -1,13 +1,16 @@
|
||||
{ stdenv, fetchurl, buildPythonPackage }:
|
||||
{ stdenv, fetchurl, buildPythonPackage, pythonPackages }:
|
||||
|
||||
buildPythonPackage {
|
||||
name = "ipython-0.10.1";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ipython.scipy.org/dist/0.10.1/ipython-0.10.1.tar.gz";
|
||||
sha256 = "18zwrg25zn72w4rmcwxzcw11ibgp001fawm2sz189zv86z70fxi2";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pythonPackages.readline ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
|
@ -212,17 +212,18 @@ rec {
|
||||
};
|
||||
|
||||
gccWithStaticLibs = stdenvLinuxBoot3Pkgs.gcc.gcc.override (rec {
|
||||
ppl = stdenvLinuxBoot3Pkgs.ppl.override {
|
||||
static = true;
|
||||
gmpxx = stdenvLinuxBoot3Pkgs.gmpxx.override {
|
||||
static = true;
|
||||
};
|
||||
};
|
||||
cloogppl = stdenvLinuxBoot3Pkgs.cloogppl.override {
|
||||
inherit ppl;
|
||||
static = true;
|
||||
};
|
||||
});
|
||||
ppl = stdenvLinuxBoot3Pkgs.ppl.override {
|
||||
static = true;
|
||||
gmpxx = stdenvLinuxBoot3Pkgs.gmpxx.override {
|
||||
static = true;
|
||||
};
|
||||
};
|
||||
cloogppl = stdenvLinuxBoot3Pkgs.cloogppl.override {
|
||||
inherit ppl;
|
||||
static = true;
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
# 8) Construct a fourth stdenv identical to the second, except that
|
||||
# this one uses the dynamically linked GCC and Binutils from step
|
||||
|
@ -13,6 +13,11 @@ stdenv.mkDerivation rec {
|
||||
# recover when the wlan interface goes down. Instead just flush
|
||||
# all addresses, routes and neighbours of the interface.
|
||||
./flush-if.patch
|
||||
|
||||
# Make sure that the hostname gets set on reboot. Without this
|
||||
# patch, the hostname doesn't get set properly if the old
|
||||
# hostname (i.e. before reboot) is equal to the new hostname.
|
||||
./set-hostname.patch
|
||||
];
|
||||
|
||||
# Fixes "socket.c:591: error: invalid application of 'sizeof' to
|
||||
|
14
pkgs/tools/networking/dhcp/set-hostname.patch
Normal file
14
pkgs/tools/networking/dhcp/set-hostname.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -ru -x '*~' dhcp-4.1.2-P1-orig//client/scripts/linux dhcp-4.1.2-P1//client/scripts/linux
|
||||
--- dhcp-4.1.2-P1-orig//client/scripts/linux 2010-09-15 00:49:48.000000000 +0200
|
||||
+++ dhcp-4.1.2-P1//client/scripts/linux 2011-04-01 16:08:10.984372269 +0200
|
||||
@@ -133,9 +133,7 @@
|
||||
[ x$current_hostname = "x(none)" ] || \
|
||||
[ x$current_hostname = xlocalhost ] || \
|
||||
[ x$current_hostname = x$old_host_name ]; then
|
||||
- if [ x$new_host_name != x$old_host_name ]; then
|
||||
- hostname "$new_host_name"
|
||||
- fi
|
||||
+ hostname "$new_host_name"
|
||||
fi
|
||||
|
||||
if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
|
@ -1,48 +1,23 @@
|
||||
x@{builderDefsPackage
|
||||
, python, makeWrapper
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
{ stdenv, fetchurl, buildPythonPackage, pythonPackages }:
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
baseName="getmail";
|
||||
version="4.20.0";
|
||||
name="${baseName}-${version}";
|
||||
url="http://pyropus.ca/software/${baseName}/old-versions/${name}.tar.gz";
|
||||
hash="17cpyra61virk1d223w8pdwhv2qzhbwdbnrr1ab1znf4cv9m3knn";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
buildPythonPackage rec {
|
||||
name = "getmail-4.20.0";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
|
||||
sha256 = "17cpyra61virk1d223w8pdwhv2qzhbwdbnrr1ab1znf4cv9m3knn";
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
pythonPath = [ pythonPackages.ssl ];
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["installPythonPackage" "patchShebangs" "wrapBinContentsPython"];
|
||||
patchShebangs = (a.doPatchShebangs "$out/bin");
|
||||
|
||||
doCheck = false;
|
||||
|
||||
installCommand = "python setup.py install --prefix=\"\$prefix\"";
|
||||
|
||||
meta = {
|
||||
description = "A program for retrieval of mail";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
linux;
|
||||
description = "A program for retrieving mail";
|
||||
maintainers = [ stdenv.lib.maintainers.raskin ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://pyropus.ca/software/getmail/";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{fetchurl, buildPythonPackage}:
|
||||
{ fetchurl, buildPythonPackage, ssl }:
|
||||
|
||||
buildPythonPackage {
|
||||
name = "offlineimap-6.2.0.2";
|
||||
@ -8,10 +8,9 @@ buildPythonPackage {
|
||||
sha256 = "1w69qv1dm37m53k8cd068lk5z3qjlscnjxr397gs8kdsfds67v7c";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = [ ssl ];
|
||||
|
||||
preConfigure = "set -x";
|
||||
buildInputs = [ ];
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "IMAP to local files bridge";
|
||||
|
29
pkgs/tools/networking/vlan/default.nix
Normal file
29
pkgs/tools/networking/vlan/default.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vlan-1.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://gentoo/distfiles/vlan.1.9.tar.gz;
|
||||
sha256 = "1jjc5f26hj7bk8nkjxsa8znfxcf8pgry2ipnwmj2fr6ky0dhm3rv";
|
||||
};
|
||||
|
||||
preBuild =
|
||||
''
|
||||
# Ouch, the tarball contains pre-compiled binaries.
|
||||
make clean
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/sbin
|
||||
cp vconfig $out/sbin/
|
||||
|
||||
mkdir -p $out/share/man/man8
|
||||
cp vconfig.8 $out/share/man/man8/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "User mode programs to enable VLANs on Ethernet devices";
|
||||
};
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, unzip, makeWrapper, jre }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ec2-api-tools-1.3-53907";
|
||||
name = "ec2-api-tools-1.4.2.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip;
|
||||
sha256 = "1jdkc74a9fmjqwvq1pnbsnfqyxxjg5zgaynybmdms5piinvb204d";
|
||||
sha256 = "0qv3dy6zx5yxix3g90agj39k35sry3cifhzlhprv35lapiynsd0j";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip makeWrapper ];
|
||||
|
35
pkgs/tools/virtualization/euca2ools/default.nix
Normal file
35
pkgs/tools/virtualization/euca2ools/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ stdenv, fetchurl, which, pythonPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "euca2ools-1.3.1";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://eucalyptussoftware.com/downloads/releases/${name}.tar.gz";
|
||||
sha256 = "1k4hakbxqsv2gzcdrf6dbyrpnajcan9yilddhs47cg7lgqw7b41f";
|
||||
};
|
||||
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
|
||||
buildInputs = [ which pythonPackages.python pythonPackages.wrapPython ];
|
||||
|
||||
# We need boto 1.9 for now. See https://bugs.launchpad.net/euca2ools/devel/+bug/623888
|
||||
pythonPath = [ pythonPackages.setuptools pythonPackages.boto_1_9 pythonPackages.m2crypto pythonPackages.ssl ];
|
||||
|
||||
preBuild =
|
||||
''
|
||||
substituteInPlace Makefile --replace "-o root" ""
|
||||
|
||||
substituteInPlace euca2ools/Makefile \
|
||||
--replace 'python setup.py install' "python setup.py install --prefix=$out"
|
||||
'';
|
||||
|
||||
postInstall = "wrapPythonPrograms";
|
||||
|
||||
meta = {
|
||||
homepage = http://open.eucalyptus.com/downloads;
|
||||
description = "Tools for interacting with Amazon EC2/S3-compatible cloud computing services";
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -312,7 +312,7 @@ let
|
||||
inherit stdenv perl cpio contents ubootChooser;
|
||||
};
|
||||
|
||||
makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
|
||||
makeWrapper = makeSetupHook {} ../build-support/make-wrapper/make-wrapper.sh;
|
||||
|
||||
makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
|
||||
import ../build-support/kernel/modules-closure.nix {
|
||||
@ -343,6 +343,7 @@ let
|
||||
};
|
||||
|
||||
platforms = import ./platforms.nix;
|
||||
|
||||
|
||||
### TOOLS
|
||||
|
||||
@ -603,6 +604,8 @@ let
|
||||
|
||||
ethtool = callPackage ../tools/misc/ethtool { };
|
||||
|
||||
euca2ools = callPackage ../tools/virtualization/euca2ools { };
|
||||
|
||||
exif = callPackage ../tools/graphics/exif { };
|
||||
|
||||
exiftags = callPackage ../tools/graphics/exiftags { };
|
||||
@ -669,9 +672,7 @@ let
|
||||
|
||||
gengetopt = callPackage ../development/tools/misc/gengetopt { };
|
||||
|
||||
getmail = callPackage ../tools/networking/getmail {
|
||||
python = pythonFull;
|
||||
};
|
||||
getmail = callPackage ../tools/networking/getmail { };
|
||||
|
||||
getopt = callPackage ../tools/misc/getopt { };
|
||||
|
||||
@ -1005,19 +1006,8 @@ let
|
||||
|
||||
obexftp = callPackage ../tools/bluetooth/obexftp { };
|
||||
|
||||
offlineimap = import ../tools/networking/offlineimap {
|
||||
inherit fetchurl;
|
||||
# I did not find any better way of reusing buildPythonPackage+setuptools
|
||||
# for a python with openssl support
|
||||
buildPythonPackage = assert pythonFull.opensslSupport;
|
||||
import ../development/python-modules/generic {
|
||||
inherit makeWrapper lib;
|
||||
python = pythonFull;
|
||||
setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
|
||||
inherit makeWrapper;
|
||||
python = pythonFull;
|
||||
};
|
||||
};
|
||||
offlineimap = callPackage ../tools/networking/offlineimap {
|
||||
ssl = pythonPackages.ssl;
|
||||
};
|
||||
|
||||
opendbx = callPackage ../development/libraries/opendbx { };
|
||||
@ -1420,6 +1410,8 @@ let
|
||||
|
||||
uptimed = callPackage ../tools/system/uptimed { };
|
||||
|
||||
vlan = callPackage ../tools/networking/vlan { };
|
||||
|
||||
w3cCSSValidator = callPackage ../tools/misc/w3c-css-validator {
|
||||
tomcat = tomcat6;
|
||||
};
|
||||
@ -1533,19 +1525,7 @@ let
|
||||
|
||||
dash = callPackage ../shells/dash { };
|
||||
|
||||
ipython = callPackage ../shells/ipython {
|
||||
# I did not find any better way of reusing buildPythonPackage+setuptools
|
||||
# for a python with openssl support
|
||||
buildPythonPackage = assert pythonFull.readlineSupport;
|
||||
import ../development/python-modules/generic {
|
||||
inherit makeWrapper lib;
|
||||
python = pythonFull;
|
||||
setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
|
||||
inherit makeWrapper;
|
||||
python = pythonFull;
|
||||
};
|
||||
};
|
||||
};
|
||||
ipython = callPackage ../shells/ipython { };
|
||||
|
||||
tcsh = callPackage ../shells/tcsh { };
|
||||
|
||||
@ -2370,51 +2350,19 @@ let
|
||||
|
||||
polyml = callPackage ../development/compilers/polyml { };
|
||||
|
||||
python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
|
||||
python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
|
||||
python27 = if getConfig ["python" "full"] false then python27Full else python27Base;
|
||||
pythonBase = python26Base;
|
||||
pythonFull = python26Full;
|
||||
|
||||
pythonWrapper = callPackage ../development/interpreters/python/wrapper.nix { };
|
||||
|
||||
python24 = callPackage ../development/interpreters/python/2.4 { };
|
||||
|
||||
python26Base = lowPrio (makeOverridable (import ../development/interpreters/python/2.6) {
|
||||
inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
|
||||
arch = if stdenv.isDarwin then darwinArchUtility else null;
|
||||
sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
|
||||
});
|
||||
|
||||
python26Full = lowPrio (python26Base.override {
|
||||
# FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
|
||||
db4 = if getConfig ["python" "db4Support"] true then db4 else null;
|
||||
sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
|
||||
readline = if getConfig ["python" "readlineSupport"] true then readline else null;
|
||||
openssl = if getConfig ["python" "opensslSupport"] true then openssl else null;
|
||||
tk = if getConfig ["python" "tkSupport"] true then tk else null;
|
||||
tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
|
||||
libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
|
||||
xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
|
||||
ncurses = if getConfig ["python" "curses"] true then ncurses else null;
|
||||
});
|
||||
|
||||
python27Base = lowPrio (makeOverridable (import ../development/interpreters/python/2.7) {
|
||||
inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
|
||||
arch = if stdenv.isDarwin then pkgs.darwinArchUtility else null;
|
||||
sw_vers = if stdenv.isDarwin then pkgs.darwinSwVersUtility else null;
|
||||
});
|
||||
|
||||
python27Full = lowPrio (python27Base.override {
|
||||
inherit (pkgs) db4 sqlite readline openssl tcl tk ncurses;
|
||||
inherit (pkgs.xlibs) libX11 xproto;
|
||||
});
|
||||
python = python27;
|
||||
|
||||
python27 = callPackage ../development/interpreters/python/2.7 { };
|
||||
|
||||
python3 = callPackage ../development/interpreters/python/3.1 {
|
||||
arch = if stdenv.isDarwin then pkgs.darwinArchUtility else null;
|
||||
sw_vers = if stdenv.isDarwin then pkgs.darwinSwVersUtility else null;
|
||||
};
|
||||
|
||||
pythonFull = callPackage ../development/interpreters/python/wrapper.nix {
|
||||
extraLibs = lib.attrValues python.modules;
|
||||
};
|
||||
|
||||
pyrex = pyrex095;
|
||||
|
||||
pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
|
||||
@ -4445,34 +4393,13 @@ let
|
||||
|
||||
### DEVELOPMENT / PYTHON MODULES
|
||||
|
||||
buildPythonPackage = import ../development/python-modules/generic {
|
||||
inherit python setuptools makeWrapper lib;
|
||||
};
|
||||
buildPythonPackage = pythonPackages.buildPythonPackage;
|
||||
|
||||
buildPython26Package = import ../development/python-modules/generic {
|
||||
inherit makeWrapper lib;
|
||||
python = python26;
|
||||
setuptools = setuptools.override { python = python26; };
|
||||
};
|
||||
|
||||
buildPython27Package = import ../development/python-modules/generic {
|
||||
inherit makeWrapper lib;
|
||||
python = python27;
|
||||
setuptools = setuptools.override { python = python27; doCheck = false; };
|
||||
};
|
||||
|
||||
pythonPackages = python26Packages;
|
||||
|
||||
python26Packages = recurseIntoAttrs (import ./python-packages.nix {
|
||||
inherit pkgs;
|
||||
python = python26;
|
||||
buildPythonPackage = buildPython26Package;
|
||||
});
|
||||
pythonPackages = python27Packages;
|
||||
|
||||
python27Packages = recurseIntoAttrs (import ./python-packages.nix {
|
||||
inherit pkgs;
|
||||
python = python27;
|
||||
buildPythonPackage = buildPython27Package;
|
||||
});
|
||||
|
||||
foursuite = callPackage ../development/python-modules/4suite { };
|
||||
@ -4515,9 +4442,7 @@ let
|
||||
|
||||
pyxml = callPackage ../development/python-modules/pyxml { };
|
||||
|
||||
setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
|
||||
inherit python makeWrapper;
|
||||
};
|
||||
setuptools = pythonPackages.setuptools;
|
||||
|
||||
wxPython = wxPython26;
|
||||
|
||||
@ -4531,10 +4456,13 @@ let
|
||||
|
||||
ZopeInterface = pythonPackages.zopeInterface;
|
||||
|
||||
/*
|
||||
zope = callPackage ../development/python-modules/zope {
|
||||
python = python24;
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
### SERVERS
|
||||
|
||||
rdf4store = callPackage ../servers/http/4store { };
|
||||
@ -4545,7 +4473,7 @@ let
|
||||
|
||||
sabnzbd = callPackage ../servers/sabnzbd { };
|
||||
|
||||
bind = callPackage ../servers/dns/bind/default.nix {
|
||||
bind = callPackage ../servers/dns/bind {
|
||||
inherit openssl libtool perl;
|
||||
};
|
||||
|
||||
@ -4669,6 +4597,8 @@ let
|
||||
inherit xmpppy python makeWrapper fetchcvs;
|
||||
};
|
||||
|
||||
rabbitmq_server = callPackage ../servers/amqp/rabbitmq-server { };
|
||||
|
||||
radius = callPackage ../servers/radius { };
|
||||
|
||||
redstore = callPackage ../servers/http/redstore { };
|
||||
@ -4702,17 +4632,8 @@ let
|
||||
inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
|
||||
libxslt expat libdrm libpng zlib perl mesa
|
||||
xkeyboard_config dbus hal libuuid openssl gperf m4
|
||||
autoconf libtool xmlto asciidoc udev bison flex;
|
||||
|
||||
# XXX: Update to newer Automake on the next big rebuild; better yet:
|
||||
# remove the dependency on Automake.
|
||||
autoconf libtool xmlto asciidoc udev flex bison python;
|
||||
automake = automake110x;
|
||||
|
||||
# !!! pythonBase is used instead of python because this causes an
|
||||
# infinite recursion when the flag python.full is set to true.
|
||||
# Packages contained in the loop are python, tk, xlibs-wrapper,
|
||||
# libX11, libxcd (and xcb-proto).
|
||||
python = pythonBase;
|
||||
});
|
||||
|
||||
xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { };
|
||||
@ -4819,6 +4740,8 @@ let
|
||||
|
||||
e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { };
|
||||
|
||||
ebtables = callPackage ../os-specific/linux/ebtables { };
|
||||
|
||||
eject = callPackage ../os-specific/linux/eject { };
|
||||
|
||||
fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
|
||||
@ -4897,9 +4820,7 @@ let
|
||||
|
||||
ifplugd = callPackage ../os-specific/linux/ifplugd { };
|
||||
|
||||
iotop = callPackage ../os-specific/linux/iotop {
|
||||
python = pythonFull;
|
||||
};
|
||||
iotop = callPackage ../os-specific/linux/iotop { };
|
||||
|
||||
iproute = callPackage ../os-specific/linux/iproute { };
|
||||
|
||||
@ -5794,9 +5715,7 @@ let
|
||||
|
||||
batik = callPackage ../applications/graphics/batik { };
|
||||
|
||||
bazaar = callPackage ../applications/version-management/bazaar {
|
||||
python = pythonFull;
|
||||
};
|
||||
bazaar = callPackage ../applications/version-management/bazaar { };
|
||||
|
||||
bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
|
||||
inherit bazaar;
|
||||
@ -5809,7 +5728,7 @@ let
|
||||
|
||||
bibletime = newScope pkgs.kde45 ../applications/misc/bibletime {
|
||||
qt = qt4;
|
||||
} ;
|
||||
};
|
||||
|
||||
bitcoin = callPackage ../applications/misc/bitcoin {
|
||||
wxGTK = wxGTK290;
|
||||
@ -5819,19 +5738,7 @@ let
|
||||
|
||||
bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
|
||||
|
||||
# commented out because it's using the new configuration style proposal which is unstable
|
||||
#biew = import ../applications/misc/biew {
|
||||
# inherit lib stdenv fetchurl ncurses;
|
||||
#};
|
||||
|
||||
# only to be able to compile blender - I couldn't compile the default openal software
|
||||
# Perhaps this can be removed - don't know which one openal{,soft} is better
|
||||
freealut_soft = callPackage ../development/libraries/freealut {
|
||||
openal = openalSoft; };
|
||||
|
||||
blender = callPackage ../applications/misc/blender/2.49.nix {
|
||||
python = python26Base;
|
||||
};
|
||||
blender = callPackage ../applications/misc/blender/2.49.nix { };
|
||||
|
||||
blender_2_50 = lowPrio (import ../applications/misc/blender {
|
||||
inherit stdenv fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr
|
||||
@ -5842,10 +5749,7 @@ let
|
||||
|
||||
bvi = callPackage ../applications/editors/bvi { };
|
||||
|
||||
calibre = callPackage ../applications/misc/calibre {
|
||||
python = python26Full;
|
||||
inherit (python26Packages) mechanize lxml dateutil cssutils beautifulsoap;
|
||||
};
|
||||
calibre = callPackage ../applications/misc/calibre { };
|
||||
|
||||
carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
|
||||
inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
|
||||
@ -6283,10 +6187,7 @@ let
|
||||
|
||||
gpscorrelate = callPackage ../applications/misc/gpscorrelate { };
|
||||
|
||||
gpsd = callPackage ../servers/gpsd {
|
||||
# We need a Python with NCurses bindings.
|
||||
python = pythonFull;
|
||||
};
|
||||
gpsd = callPackage ../servers/gpsd { };
|
||||
|
||||
guitone = callPackage ../applications/version-management/guitone { };
|
||||
|
||||
@ -6398,18 +6299,6 @@ let
|
||||
kdevelop = newScope pkgs.kde4 ../applications/editors/kdevelop { };
|
||||
|
||||
keepnote = callPackage ../applications/office/keepnote {
|
||||
# I did not find any better way of reusing buildPythonPackage+setuptools
|
||||
# for a python with openssl support
|
||||
buildPythonPackage = assert pythonFull.sqliteSupport;
|
||||
import ../development/python-modules/generic {
|
||||
inherit makeWrapper lib;
|
||||
python = pythonFull;
|
||||
setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
|
||||
inherit makeWrapper;
|
||||
python = pythonFull;
|
||||
};
|
||||
};
|
||||
# How could this pygtk use also pythonFull, I don't know.
|
||||
pygtk = pyGtkGlade;
|
||||
};
|
||||
|
||||
@ -6490,10 +6379,7 @@ let
|
||||
|
||||
mercurial = callPackage ../applications/version-management/mercurial {
|
||||
guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
|
||||
python = # allow cloning sources from https servers.
|
||||
if getConfig ["mercurial" "httpsSupport"] true
|
||||
then pythonFull
|
||||
else pythonBase;
|
||||
inherit (pythonPackages) ssl;
|
||||
};
|
||||
|
||||
merkaartor = callPackage ../applications/misc/merkaartor {
|
||||
@ -6604,6 +6490,8 @@ let
|
||||
|
||||
notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
|
||||
|
||||
nova = callPackage ../applications/virtualization/nova { };
|
||||
|
||||
nvi = callPackage ../applications/editors/nvi { };
|
||||
|
||||
ocrad = callPackage ../applications/graphics/ocrad { };
|
||||
@ -6626,8 +6514,6 @@ let
|
||||
neon = neon029;
|
||||
};
|
||||
|
||||
openstack_compute = callPackage ../applications/virtualization/openstack-compute { };
|
||||
|
||||
opera = callPackage ../applications/networking/browsers/opera {
|
||||
qt = qt3;
|
||||
};
|
||||
@ -6817,8 +6703,7 @@ let
|
||||
tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
|
||||
inherit (pythonPackages) twisted foolscap simplejson nevow zfec
|
||||
pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
|
||||
numpy pyasn1;
|
||||
mock = pythonPackages.mock060;
|
||||
numpy pyasn1 mock;
|
||||
};
|
||||
|
||||
tailor = builderDefsPackage (import ../applications/version-management/tailor) {
|
||||
@ -7002,9 +6887,7 @@ let
|
||||
|
||||
xdg_utils = callPackage ../tools/X11/xdg-utils { };
|
||||
|
||||
xen = callPackage ../applications/virtualization/xen {
|
||||
python = pythonFull;
|
||||
};
|
||||
xen = callPackage ../applications/virtualization/xen { };
|
||||
|
||||
xfig = callPackage ../applications/graphics/xfig {
|
||||
stdenv = overrideGCC stdenv gcc34;
|
||||
|
@ -1,8 +1,65 @@
|
||||
{ pkgs, python, buildPythonPackage }:
|
||||
{ pkgs, python }:
|
||||
|
||||
python.modules // rec {
|
||||
|
||||
inherit python;
|
||||
|
||||
rec {
|
||||
inherit (pkgs) fetchurl fetchsvn stdenv;
|
||||
|
||||
|
||||
buildPythonPackage = import ../development/python-modules/generic {
|
||||
inherit (pkgs) lib;
|
||||
inherit python wrapPython setuptools;
|
||||
};
|
||||
|
||||
|
||||
setuptools = import ../development/python-modules/setuptools {
|
||||
inherit (pkgs) stdenv fetchurl;
|
||||
inherit python wrapPython;
|
||||
};
|
||||
|
||||
|
||||
wrapPython = pkgs.makeSetupHook
|
||||
{ deps = pkgs.makeWrapper;
|
||||
substitutions.libPrefix = python.libPrefix;
|
||||
}
|
||||
../development/python-modules/generic/wrap.sh;
|
||||
|
||||
|
||||
anyjson = buildPythonPackage rec {
|
||||
name = "anyjson-0.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/a/anyjson/${name}.tar.gz";
|
||||
md5 = "2b53b5d53fc40af4da7268d3c3e35a50";
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
meta = {
|
||||
homepage = http://pypi.python.org/pypi/anyjson/;
|
||||
description = "Wrapper that selects the best available JSON implementation";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
amqplib = buildPythonPackage rec {
|
||||
name = "amqplib-0.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://py-amqplib.googlecode.com/files/${name}.tgz";
|
||||
sha1 = "f124e5e4a6644bf6d1734032a01ac44db1b25a29";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = http://code.google.com/p/py-amqplib/;
|
||||
description = "Python client for the Advanced Message Queuing Procotol (AMQP)";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
argparse = buildPythonPackage (rec {
|
||||
name = "argparse-1.1";
|
||||
|
||||
@ -54,12 +111,14 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
boto = buildPythonPackage (rec {
|
||||
|
||||
# euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work.
|
||||
boto_1_9 = buildPythonPackage (rec {
|
||||
name = "boto-1.9b";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://boto.googlecode.com/files/${name}.tar.gz";
|
||||
sha256 = "0kir3ddm79rxdf7wb5czmxpbnqzgj3j966q4mach29kkb98p48wz";
|
||||
sha1 = "00a033b0a593c3ca82927867950f73d88b831155";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -77,6 +136,70 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
boto = buildPythonPackage (rec {
|
||||
name = "boto-2.0b4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://boto.googlecode.com/files/${name}.tar.gz";
|
||||
sha1 = "3e1deab58b8432d01baef1d37f17cbf6fa999f8d";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://code.google.com/p/boto/;
|
||||
|
||||
license = "bsd";
|
||||
|
||||
description = "Python interface to Amazon Web Services";
|
||||
|
||||
longDescription = ''
|
||||
The boto module is an integrated interface to current and
|
||||
future infrastructural services offered by Amazon Web
|
||||
Services. This includes S3, SQS, EC2, among others.
|
||||
'';
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
carrot = buildPythonPackage rec {
|
||||
name = "carrot-0.10.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/c/carrot/${name}.tar.gz";
|
||||
md5 = "530a0614de3a669314c3acd4995c54d5";
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
propagatedBuildInputs = [ amqplib anyjson ];
|
||||
|
||||
doCheck = false; # depends on the network
|
||||
|
||||
meta = {
|
||||
homepage = http://pypi.python.org/pypi/carrot;
|
||||
description = "AMQP Messaging Framework for Python";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
cheetah = buildPythonPackage rec {
|
||||
version = "2.4.4";
|
||||
name = "cheetah-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${version}.tar.gz";
|
||||
md5 = "853917116e731afbc8c8a43c37e6ddba";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ markdown ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.cheetahtemplate.org/;
|
||||
description = "A template engine and code generation tool";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
cherrypy = buildPythonPackage (rec {
|
||||
name = "cherrypy-3.1.2";
|
||||
|
||||
@ -133,18 +256,23 @@ rec {
|
||||
});
|
||||
|
||||
darcsver = buildPythonPackage (rec {
|
||||
name = "darcsver-1.5.1";
|
||||
name = "darcsver-1.7.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz";
|
||||
sha256 = "e643d607f27e4b8cc96565432ff1abdc2af5e9061c70798e2f33e78c07b66b3a";
|
||||
md5 = "94ca7e8c9ea0f69c0f3fc6f9fc88f65a";
|
||||
};
|
||||
|
||||
buildInputs = [ mock ];
|
||||
|
||||
# Note: We don't actually need to provide Darcs as a build input.
|
||||
# Darcsver will DTRT when Darcs isn't available. See news.gmane.org
|
||||
# http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a
|
||||
# discussion.
|
||||
|
||||
# Gives "ValueError: Empty module name" with no clue as to why.
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Darcsver, generate a version number from Darcs history";
|
||||
|
||||
@ -172,6 +300,50 @@ rec {
|
||||
});
|
||||
|
||||
|
||||
decorator = buildPythonPackage rec {
|
||||
name = "decorator-3.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/d/decorator/${name}.tar.gz";
|
||||
md5 = "0d62c81d9db4923e88e6a94581807cf6";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = http://pypi.python.org/pypi/decorator;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
distutils_extra = buildPythonPackage rec {
|
||||
name = "distutils-extra-2.26";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://launchpad.net/python-distutils-extra/trunk/2.26/+download/python-${name}.tar.gz";
|
||||
md5 = "7caded30a45907b5cdb10ac4182846eb";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = https://launchpad.net/python-distutils-extra;
|
||||
description = "Enhancements to Python's distutils";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
dtopt = buildPythonPackage rec {
|
||||
name = "dtopt-0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/d/dtopt/${name}.tar.gz";
|
||||
md5 = "9a41317149e926fcc408086aedee6bab";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Add options to doctest examples while they are running";
|
||||
homepage = http://pypi.python.org/pypi/dtopt;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
eventlet = buildPythonPackage rec {
|
||||
name = "eventlet-0.9.14";
|
||||
|
||||
@ -180,14 +352,13 @@ rec {
|
||||
md5 = "dfc96ed14b27392fdc529abcafeed880";
|
||||
};
|
||||
|
||||
buildInputs = [ nose httplib2 ];
|
||||
buildInputs = [ nose httplib2 ];
|
||||
|
||||
propagatedBuildInputs = [ greenlet ];
|
||||
|
||||
# It tries to scribble in ~/.python-eggs.
|
||||
preConfigure = "export HOME=$(pwd)";
|
||||
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
|
||||
|
||||
doCheck = false; # !!! fix; test requires ssl support in Python
|
||||
doCheck = false; # !!! fix; tests access the network
|
||||
|
||||
meta = {
|
||||
homepage = http://pypi.python.org/pypi/eventlet/;
|
||||
@ -290,6 +461,27 @@ rec {
|
||||
};
|
||||
|
||||
|
||||
glance = buildPythonPackage rec {
|
||||
name = "glance-0.1.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/g/glance/${name}.tar.gz";
|
||||
md5 = "e733713ccd23e4a6253386a47971cfb5";
|
||||
};
|
||||
|
||||
buildInputs = [ nose mox ];
|
||||
|
||||
propagatedBuildInputs = [ gflags sqlalchemy webob routes eventlet python.modules.ssl ];
|
||||
|
||||
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
|
||||
|
||||
meta = {
|
||||
homepage = https://launchpad.net/glance;
|
||||
description = "Services for discovering, registering, and retrieving virtual machine images";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
greenlet = buildPythonPackage rec {
|
||||
name = "greenlet-0.3.1";
|
||||
|
||||
@ -322,6 +514,24 @@ rec {
|
||||
};
|
||||
|
||||
|
||||
ipy = buildPythonPackage rec {
|
||||
version = "0.74";
|
||||
name = "ipy-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/I/IPy/IPy-${version}.tar.gz";
|
||||
md5 = "f4f7ddc7c5e55a47222a5cc6c0a87b6d";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Class and tools for handling of IPv4 and IPv6 addresses and networks";
|
||||
homepage = http://pypi.python.org/pypi/IPy;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
jinja2 = buildPythonPackage {
|
||||
name = "jinja2-2.2.1";
|
||||
|
||||
@ -377,6 +587,66 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
magic = pkgs.stdenv.mkDerivation rec {
|
||||
name = "python-${pkgs.file.name}";
|
||||
|
||||
src = pkgs.file.src;
|
||||
|
||||
buildInputs = [ python pkgs.file ];
|
||||
|
||||
configurePhase = "cd python";
|
||||
|
||||
buildPhase = "python setup.py build";
|
||||
|
||||
installPhase = "python setup.py install --prefix=$out";
|
||||
|
||||
meta = {
|
||||
description = "A Python wrapper around libmagic";
|
||||
homepage = http://www.darwinsys.com/file/;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
m2crypto = buildPythonPackage rec {
|
||||
version = "0.21.1";
|
||||
name = "m2crypto-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${version}.tar.gz";
|
||||
md5 = "f93d8462ff7646397a9f77a2fe602d17";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgs.swig pkgs.openssl ];
|
||||
|
||||
buildPhase = "python setup.py build_ext --openssl=${pkgs.openssl}";
|
||||
|
||||
doCheck = false; # another test that depends on the network.
|
||||
|
||||
meta = {
|
||||
description = "A Python crypto and SSL toolkit";
|
||||
homepage = http://chandlerproject.org/Projects/MeTooCrypto;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
markdown = buildPythonPackage rec {
|
||||
version = "2.0.3";
|
||||
name = "markdown-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-2.0.3.tar.gz";
|
||||
md5 = "751e8055be2433dfd1a82e0fb1b12f13";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = http://www.freewisdom.org/projects/python-markdown;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
matplotlib = buildPythonPackage ( rec {
|
||||
name = "matplotlib-0.99.1.2";
|
||||
|
||||
@ -414,25 +684,16 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
mock = buildPythonPackage (rec {
|
||||
name = "mock-0.1.0";
|
||||
name = "mock-0.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/python-mock/pythonmock-0.1.0.zip";
|
||||
sha256 = "0r17f8sjq6pjlfh2sq2x80bd5r6y9sb3n5l05x5sf25iaba7sg9z";
|
||||
url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz";
|
||||
md5 = "be029f8c963c55250a452c400e10cf42";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgs.unzip ];
|
||||
|
||||
phases = "unpackPhase";
|
||||
|
||||
unpackPhase =
|
||||
'' mkdir "${name}"
|
||||
unzip "$src"
|
||||
|
||||
ensureDir "$out/lib/${python.libPrefix}/site-packages"
|
||||
cp -v mock.py "$out/lib/${python.libPrefix}/site-packages"
|
||||
'';
|
||||
buildInputs = [ unittest2 ];
|
||||
|
||||
meta = {
|
||||
description = "Mock objects for Python";
|
||||
@ -443,25 +704,24 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
mock060 = pkgs.lowPrio (buildPythonPackage (rec {
|
||||
# TODO: This appears to be an unofficially hacked version of 'mock'
|
||||
# from above. This could probably replace the previous
|
||||
# package, but I don't have time to test that right now.
|
||||
name = "mock-0.6.0";
|
||||
|
||||
mox = buildPythonPackage rec {
|
||||
name = "mox-0.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/${name}.tar.bz2";
|
||||
sha256 = "1vwxzr2sjyl3x5jqgz9swpmp6cyhmwmab65akysfglf6acmn3czf";
|
||||
url = "http://pymox.googlecode.com/files/${name}.tar.gz";
|
||||
sha1 = "b71aeaacf31898c3b38d8b9ca5bcc0664499c0de";
|
||||
};
|
||||
doCheck = false; # Package doesn't have any tests.
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Mock objects for Python, provided by tahoe-lafs.org";
|
||||
homepage = "http://python-mock.sourceforge.net/";
|
||||
license = "mBSD";
|
||||
homepage = http://code.google.com/p/pymox/;
|
||||
description = "A mock object framework for Python.";
|
||||
};
|
||||
}));
|
||||
};
|
||||
|
||||
|
||||
mutagen = buildPythonPackage (rec {
|
||||
name = "mutagen-1.20";
|
||||
|
||||
@ -478,6 +738,26 @@ rec {
|
||||
});
|
||||
|
||||
|
||||
MySQL_python = buildPythonPackage {
|
||||
name = "MySQL-python-1.2.3";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz;
|
||||
sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pkgs.mysql pkgs.zlib nose ];
|
||||
|
||||
meta = {
|
||||
description = "MySQL database binding for Python";
|
||||
|
||||
homepage = http://sourceforge.net/projects/mysql-python;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
namebench = buildPythonPackage (rec {
|
||||
name = "namebench-1.0.5";
|
||||
|
||||
@ -571,11 +851,11 @@ rec {
|
||||
});
|
||||
|
||||
nose = buildPythonPackage {
|
||||
name = "nose-0.11.3";
|
||||
name = "nose-1.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://python-nose.googlecode.com/files/nose-0.11.3.tar.gz;
|
||||
sha256 = "1hl3lbwdfl2a64q3dxc73kbiks4iwx5cixlbavyryd8xdr7iziww";
|
||||
url = http://somethingaboutorange.com/mrl/projects/nose/nose-1.0.0.tar.gz;
|
||||
sha256 = "0qm6q232h5r071gwfkiszkmfqc60k7abl15bk495lcdkk62m91db";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -713,6 +993,46 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
paste = buildPythonPackage rec {
|
||||
name = "paste-1.7.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://pypi.python.org/packages/source/P/Paste/Paste-1.7.5.1.tar.gz;
|
||||
md5 = "7ea5fabed7dca48eb46dc613c4b6c4ed";
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
doCheck = false; # some files required by the test seem to be missing
|
||||
|
||||
meta = {
|
||||
description = "Tools for using a Web Server Gateway Interface stack";
|
||||
homepage = http://pythonpaste.org/;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
paste_deploy = buildPythonPackage rec {
|
||||
version = "1.3.4";
|
||||
name = "paste-deploy-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz";
|
||||
md5 = "eb4b3e2543d54401249c2cbd9f2d014f";
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
doCheck = false; # can't find "FakeEgg.app", apparently missing from the tarball
|
||||
|
||||
meta = {
|
||||
description = "Load, configure, and compose WSGI applications and servers";
|
||||
homepage = http://pythonpaste.org/deploy/;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pexpect = buildPythonPackage {
|
||||
name = "pexpect-2.3";
|
||||
|
||||
@ -958,6 +1278,54 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
pysvn = pkgs.stdenv.mkDerivation {
|
||||
name = "pysvn-1.7.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.2.tar.gz";
|
||||
sha256 = "2b2980d200515e754e00a12d99dbce25c1ea90fddf8cba2bfa354c9305c5e455";
|
||||
};
|
||||
|
||||
buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
|
||||
++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []);
|
||||
|
||||
# There seems to be no way to pass that path to configure.
|
||||
NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1";
|
||||
|
||||
configurePhase = ''
|
||||
cd Source
|
||||
python setup.py backport
|
||||
python setup.py configure \
|
||||
--apr-inc-dir=${pkgs.apr}/include/apr-1 \
|
||||
--apr-lib-dir=${pkgs.apr}/lib \
|
||||
--svn-root-dir=${pkgs.subversion}
|
||||
'' + (if !stdenv.isDarwin then "" else ''
|
||||
sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile
|
||||
'');
|
||||
|
||||
# The regression test suite expects locale support, which our glibc
|
||||
# doesn't have by default.
|
||||
doCheck = false;
|
||||
checkPhase = "make -C ../Tests";
|
||||
|
||||
installPhase = ''
|
||||
dest=$(toPythonPath $out)/pysvn
|
||||
ensureDir $dest
|
||||
cp pysvn/__init__.py $dest/
|
||||
cp pysvn/_pysvn*.so $dest/
|
||||
ensureDir $out/share/doc
|
||||
mv -v ../Docs $out/share/doc/pysvn-1.7.2
|
||||
rm -v $out/share/doc/pysvn-1.7.2/generate_cpp_docs_from_html_docs.py
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Python bindings for Subversion";
|
||||
homepage = "http://pysvn.tigris.org/";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
pyutil = buildPythonPackage (rec {
|
||||
name = "pyutil-1.7.9";
|
||||
|
||||
@ -1076,90 +1444,42 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
pysvn = pkgs.stdenv.mkDerivation {
|
||||
name = "pysvn-1.7.2";
|
||||
|
||||
|
||||
routes = buildPythonPackage rec {
|
||||
name = "routes-1.12.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.2.tar.gz";
|
||||
sha256 = "2b2980d200515e754e00a12d99dbce25c1ea90fddf8cba2bfa354c9305c5e455";
|
||||
url = http://pypi.python.org/packages/source/R/Routes/Routes-1.12.3.tar.gz;
|
||||
md5 = "9740ff424ff6b841632c784a38fb2be3";
|
||||
};
|
||||
|
||||
buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
|
||||
++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []);
|
||||
|
||||
# There seems to be no way to pass that path to configure.
|
||||
NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1";
|
||||
|
||||
configurePhase = ''
|
||||
cd Source
|
||||
python setup.py backport
|
||||
python setup.py configure \
|
||||
--apr-inc-dir=${pkgs.apr}/include/apr-1 \
|
||||
--apr-lib-dir=${pkgs.apr}/lib \
|
||||
--svn-root-dir=${pkgs.subversion}
|
||||
'' + (if !stdenv.isDarwin then "" else ''
|
||||
sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile
|
||||
'');
|
||||
|
||||
# The regression test suite expects locale support, which our glibc
|
||||
# doesn't have by default.
|
||||
doCheck = false;
|
||||
checkPhase = "make -C ../Tests";
|
||||
|
||||
installPhase = ''
|
||||
dest=$(toPythonPath $out)/pysvn
|
||||
ensureDir $dest
|
||||
cp pysvn/__init__.py $dest/
|
||||
cp pysvn/_pysvn*.so $dest/
|
||||
ensureDir $out/share/doc
|
||||
mv -v ../Docs $out/share/doc/pysvn-1.7.2
|
||||
rm -v $out/share/doc/pysvn-1.7.2/generate_cpp_docs_from_html_docs.py
|
||||
'';
|
||||
propagatedBuildInputs = [ paste webtest ];
|
||||
|
||||
meta = {
|
||||
description = "Python bindings for Subversion";
|
||||
homepage = "http://pysvn.tigris.org/";
|
||||
description = "A Python re-implementation of the Rails routes system for mapping URLs to application actions";
|
||||
homepage = http://routes.groovie.org/;
|
||||
};
|
||||
};
|
||||
|
||||
magic = pkgs.stdenv.mkDerivation rec {
|
||||
name = "python-${pkgs.file.name}";
|
||||
|
||||
src = pkgs.file.src;
|
||||
|
||||
buildInputs = [ python pkgs.file ];
|
||||
|
||||
configurePhase = "cd python";
|
||||
|
||||
buildPhase = "python setup.py build";
|
||||
|
||||
installPhase = "python setup.py install --prefix=$out";
|
||||
|
||||
meta = {
|
||||
description = "A Python wrapper around libmagic";
|
||||
homepage = http://www.darwinsys.com/file/;
|
||||
};
|
||||
};
|
||||
|
||||
MySQL_python = buildPythonPackage {
|
||||
name = "MySQL-python-1.2.3";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
scripttest = buildPythonPackage rec {
|
||||
version = "1.1.1";
|
||||
name = "scripttest-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz;
|
||||
sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx";
|
||||
url = "http://pypi.python.org/packages/source/S/ScriptTest/ScriptTest-${version}.tar.gz";
|
||||
md5 = "592ce890764c3f546d35b4d7c40c32ef";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pkgs.mysql pkgs.zlib nose ];
|
||||
buildInputs = [ nose ];
|
||||
|
||||
meta = {
|
||||
description = "MySQL database binding for Python";
|
||||
|
||||
homepage = http://sourceforge.net/projects/mysql-python;
|
||||
description = "A library for testing interactive command-line applications";
|
||||
homepage = http://pypi.python.org/pypi/ScriptTest/;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
setuptoolsDarcs = buildPythonPackage {
|
||||
name = "setuptools-darcs-1.2.9";
|
||||
|
||||
@ -1182,11 +1502,11 @@ rec {
|
||||
};
|
||||
|
||||
setuptoolsTrial = buildPythonPackage {
|
||||
name = "setuptools-trial-0.5.9";
|
||||
name = "setuptools-trial-0.5.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.9.tar.gz";
|
||||
sha256 = "4e3b5a183b9cf6ff637777c9852dfe8eaab156289e7a578525d68b1cfb3c9f29";
|
||||
url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.12.tar.gz";
|
||||
md5 = "f16f4237c9ee483a0cd13208849d96ad";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ twisted ];
|
||||
@ -1201,11 +1521,11 @@ rec {
|
||||
};
|
||||
|
||||
simplejson = buildPythonPackage (rec {
|
||||
name = "simplejson-2.1.1";
|
||||
name = "simplejson-2.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz";
|
||||
sha256 = "8c1c833c5b997bf7b75bf9a02a2d2884b8427816228eac0fb84791be44d2f612";
|
||||
md5 = "58d9b1d8fa17ea4ce205cea088607e02";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -1225,6 +1545,71 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
sqlalchemy = buildPythonPackage {
|
||||
name = "sqlalchemy-0.6.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/sqlalchemy/0.6.6/SQLAlchemy-0.6.6.tar.gz;
|
||||
sha256 = "0inj9b66pi447cw500mqn7d09dij20ic3k5bnyhj6rpdl2l83a0l";
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
propagatedBuildInputs = [ python.modules.sqlite3 ];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.sqlalchemy.org/;
|
||||
description = "A Python SQL toolkit and Object Relational Mapper";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
sqlalchemy_migrate = buildPythonPackage rec {
|
||||
name = "sqlalchemy-migrate-0.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://sqlalchemy-migrate.googlecode.com/files/${name}.tar.gz";
|
||||
sha1 = "17168b5fa066bd56fd93f26345525377e8a83d8a";
|
||||
};
|
||||
|
||||
buildInputs = [ nose unittest2 scripttest ];
|
||||
|
||||
propagatedBuildInputs = [ tempita decorator sqlalchemy ];
|
||||
|
||||
preCheck =
|
||||
''
|
||||
echo sqlite:///__tmp__ > test_db.cfg
|
||||
'';
|
||||
|
||||
# Some tests fail with "unexpected keyword argument 'script_path'".
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = http://code.google.com/p/sqlalchemy-migrate/;
|
||||
description = "Schema migration tools for SQLAlchemy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
tempita = buildPythonPackage rec {
|
||||
version = "0.4";
|
||||
name = "tempita-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/T/Tempita/Tempita-${version}.tar.gz";
|
||||
md5 = "0abe015a72e748d0c6284679a497426c";
|
||||
};
|
||||
|
||||
buildInputs = [ nose ];
|
||||
|
||||
meta = {
|
||||
homepage = http://pythonpaste.org/tempita/;
|
||||
description = "A very small text templating language";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
trac = buildPythonPackage {
|
||||
name = "trac-0.11.5";
|
||||
|
||||
@ -1246,12 +1631,12 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
twisted = buildPythonPackage {
|
||||
name = "twisted-10.1.0";
|
||||
twisted = buildPythonPackage rec {
|
||||
name = "twisted-10.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.tar.bz2;
|
||||
sha256 = "eda6e0e9e5ef6f6c19ab75bcb094f83a12ee25fe589fbcddf946e8a655c8070b";
|
||||
url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
|
||||
sha256 = "110c30z622jn14yany1sxfaqj5qx20n9rc9zqacxlwma30fdcbjn";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ zopeInterface ];
|
||||
@ -1279,6 +1664,61 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
unittest2 = buildPythonPackage rec {
|
||||
name = "unittest2-0.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/u/unittest2/${name}.tar.gz";
|
||||
md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A backport of the new features added to the unittest testing framework in Python 2.7";
|
||||
homepage = http://pypi.python.org/pypi/unittest2;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
webob = buildPythonPackage rec {
|
||||
version = "1.0.6";
|
||||
name = "webob-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.zip";
|
||||
md5 = "8e46dd755f6998d471bfbcb4def897ff";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgs.unzip ];
|
||||
|
||||
# The test requires "webtest", which is a cyclic dependency. (WTF?)
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "WSGI request and response object";
|
||||
homepage = http://pythonpaste.org/webob/;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
webtest = buildPythonPackage rec {
|
||||
version = "1.2.3";
|
||||
name = "webtest-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.tar.gz";
|
||||
md5 = "585f9331467e6d99acaba4051c1c5878";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ nose webob dtopt ];
|
||||
|
||||
meta = {
|
||||
description = "Helper to test WSGI applications";
|
||||
homepage = http://pythonpaste.org/webtest/;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
zbase32 = buildPythonPackage (rec {
|
||||
name = "zbase32-1.1.2";
|
||||
|
||||
@ -1345,4 +1785,5 @@ rec {
|
||||
license = "ZPL";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user