* 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
|
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
|
||||||
, imagemagick, libjpeg, fontconfig, podofo, qt4, mechanize, lxml, dateutil
|
, imagemagick, libjpeg, fontconfig, podofo, qt4
|
||||||
, pil, cssutils, beautifulsoap, makeWrapper, unrar, chmlib
|
, pil, makeWrapper, unrar, chmlib, pythonPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ python pyqt4 sip popplerQt4 pkgconfig libpng imagemagick libjpeg
|
[ python pyqt4 sip popplerQt4 pkgconfig libpng imagemagick libjpeg
|
||||||
fontconfig podofo qt4 mechanize lxml dateutil pil makeWrapper
|
fontconfig podofo qt4 pil makeWrapper chmlib
|
||||||
cssutils beautifulsoap chmlib
|
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
|
||||||
|
pythonPackages.cssutils pythonPackages.beautifulsoap pythonPackages.sqlite3
|
||||||
];
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
{stdenv, fetchurl, buildPythonPackage, pygtk}:
|
{ stdenv, fetchurl, buildPythonPackage, pythonPackages, pygtk }:
|
||||||
|
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
name = "keepnote-0.6.5";
|
name = "keepnote-0.6.5";
|
||||||
|
namePrefix = "";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://rasm.ods.org/keepnote/download/keepnote-0.6.5.tar.gz;
|
url = http://rasm.ods.org/keepnote/download/keepnote-0.6.5.tar.gz;
|
||||||
sha256 = "0kipcy90r50z4m9p8pyy9wi4dknsiwdrgy974xgakris2rh4lafw";
|
sha256 = "0kipcy90r50z4m9p8pyy9wi4dknsiwdrgy974xgakris2rh4lafw";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ pygtk ];
|
propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk ];
|
||||||
|
|
||||||
# Testing fails.
|
# Testing fails.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -1,30 +1,27 @@
|
|||||||
{stdenv, fetchurl, python, makeWrapper}:
|
{ stdenv, fetchurl, pythonPackages }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.2";
|
version = "2.3";
|
||||||
release = ".0";
|
release = ".1";
|
||||||
name = "bazaar-${version}${release}";
|
name = "bazaar-${version}${release}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://launchpad.net/bzr/${version}/${version}${release}/+download/bzr-${version}${release}.tar.gz";
|
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 = ''
|
installPhase = ''
|
||||||
python setup.py install --prefix=$out
|
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 = {
|
meta = {
|
||||||
homepage = http://bazaar-vcs.org/;
|
homepage = http://bazaar-vcs.org/;
|
||||||
description = "A distributed version control system that Just Works";
|
description = "A distributed version control system that Just Works";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
args : with args;
|
args : with args;
|
||||||
|
|
||||||
if ! bazaar.python.readlineSupport then
|
|
||||||
throw "Bazaar Tools require readline support in python."
|
|
||||||
else
|
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
version = "2.2.0";
|
version = "2.2.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, python, makeWrapper, docutils
|
{ stdenv, fetchurl, python, makeWrapper, docutils
|
||||||
, guiSupport ? false, tk ? null }:
|
, guiSupport ? false, tk ? null, ssl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "mercurial-1.7.5";
|
name = "mercurial-1.7.5";
|
||||||
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||||||
''
|
''
|
||||||
for i in $(cd $out/bin && ls); do
|
for i in $(cd $out/bin && ls); do
|
||||||
wrapProgram $out/bin/$i \
|
wrapProgram $out/bin/$i \
|
||||||
--prefix PYTHONPATH : "$(toPythonPath $out)" \
|
--prefix PYTHONPATH : "$(toPythonPath "$out ${ssl}")" \
|
||||||
$WRAP_TK
|
$WRAP_TK
|
||||||
done
|
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
|
, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2, xz
|
||||||
, lvm2, utillinux, procps, texinfo, perl }:
|
, lvm2, utillinux, procps, texinfo, perl, pythonPackages }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -50,10 +50,13 @@ stdenv.mkDerivation {
|
|||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
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
|
dev86 iasl pciutils bzip2 xz texinfo perl
|
||||||
|
pythonPackages.python pythonPackages.wrapPython
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pythonPath = [ pythonPackages.curses ];
|
||||||
|
|
||||||
makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc";
|
makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc";
|
||||||
|
|
||||||
buildFlags = "xen tools stubdom";
|
buildFlags = "xen tools stubdom";
|
||||||
@ -121,19 +124,7 @@ stdenv.mkDerivation {
|
|||||||
cp -prvd dist/install/boot $out/boot
|
cp -prvd dist/install/boot $out/boot
|
||||||
cp -prvd dist/install/etc $out/etc
|
cp -prvd dist/install/etc $out/etc
|
||||||
cp -dR docs/man1 docs/man5 $out/share/man/
|
cp -dR docs/man1 docs/man5 $out/share/man/
|
||||||
''; # */
|
wrapPythonPrograms
|
||||||
|
|
||||||
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
|
|
||||||
''; # */
|
''; # */
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -45,12 +45,16 @@ rec {
|
|||||||
|
|
||||||
|
|
||||||
# Make a package that just contains a setup hook with the given contents.
|
# Make a package that just contains a setup hook with the given contents.
|
||||||
makeSetupHook = script:
|
makeSetupHook = { deps ? [], substitutions ? {} }: script:
|
||||||
runCommand "hook" {}
|
runCommand "hook" substitutions
|
||||||
''
|
(''
|
||||||
ensureDir $out/nix-support
|
ensureDir $out/nix-support
|
||||||
cp ${script} $out/nix-support/setup-hook
|
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.
|
# 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 }:
|
{ stdenv, fetchurl, perl, gnum4, ncurses, openssl }:
|
||||||
|
|
||||||
let version = "R14A"; in
|
let version = "R14B02"; in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "erlang-" + version;
|
name = "erlang-" + version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.erlang.org/download/otp_src_" + version + ".tar.gz";
|
url = "http://www.erlang.org/download/otp_src_" + version + ".tar.gz";
|
||||||
sha256 = "170n5p6al1bxwngdmafm1c6892xjxppb96gzgki9gfb0mla6li73";
|
sha256 = "1g85a85w031jr5pmz9b0x3p11d44glkf7qpy64l9y7l2b45hb7c4";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ perl gnum4 ncurses openssl ];
|
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
|
{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
|
||||||
, gdbmSupport ? true, gdbm ? null
|
, sqlite, tcl, tk, x11, openssl, readline, db4, ncurses, gdbm
|
||||||
, sqlite ? null
|
, darwinArchUtility ? null, darwinSwVersUtility ? 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 zlibSupport -> zlib != null;
|
||||||
assert gdbmSupport -> gdbm != null;
|
assert stdenv.isDarwin -> darwinArchUtility != null;
|
||||||
assert stdenv.isDarwin -> arch != null;
|
assert stdenv.isDarwin -> darwinSwVersUtility != null;
|
||||||
assert stdenv.isDarwin -> sw_vers != null;
|
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -25,86 +14,172 @@ let
|
|||||||
majorVersion = "2.7";
|
majorVersion = "2.7";
|
||||||
version = "${majorVersion}.1";
|
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 {
|
src = fetchurl {
|
||||||
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
|
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
|
||||||
sha256 = "14i2c7yqa7ljmx2i2bb827n61q33zn23ax96czi8rbkyyny8gqw0";
|
sha256 = "14i2c7yqa7ljmx2i2bb827n61q33zn23ax96czi8rbkyyny8gqw0";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches =
|
||||||
# Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
|
[ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
|
||||||
./search-path.patch
|
./search-path.patch
|
||||||
];
|
|
||||||
|
|
||||||
inherit buildInputs;
|
# Python recompiles a Python if the mtime stored *in* the
|
||||||
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
# pyc/pyo file differs from the mtime of the source file. This
|
||||||
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
# doesn't work in Nix because Nix changes the mtime of files in
|
||||||
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
|
# the Nix store to 1. So treat that as a special case.
|
||||||
|
./nix-store-mtime.patch
|
||||||
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
buildInputs =
|
||||||
# Purity.
|
optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
|
||||||
for i in /usr /sw /opt /pkg; do
|
[ bzip2 ]
|
||||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
++ optional zlibSupport zlib
|
||||||
done
|
++ optionals stdenv.isDarwin [ darwinArchUtility darwinSwVersUtility ];
|
||||||
'' + (if readline != null then ''
|
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
|
|
||||||
'' else "");
|
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
|
||||||
|
|
||||||
postInstall = ''
|
# Build the basic Python interpreter without modules that have
|
||||||
rm -rf "$out/lib/python${majorVersion}/test"
|
# external dependencies.
|
||||||
'';
|
python = stdenv.mkDerivation {
|
||||||
|
name = "python-${version}";
|
||||||
|
|
||||||
passthru = {
|
inherit majorVersion version src patches buildInputs;
|
||||||
inherit zlibSupport;
|
|
||||||
sqliteSupport = sqlite != null;
|
C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
|
||||||
db4Support = db4 != null;
|
LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
|
||||||
readlineSupport = readline != null;
|
|
||||||
opensslSupport = openssl != null;
|
configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
|
||||||
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 = {
|
# This function builds a Python module included in the main Python
|
||||||
homepage = "http://python.org";
|
# distribution in a separate derivation.
|
||||||
description = "Python -- a high-level dynamically-typed programming language";
|
buildInternalPythonModule =
|
||||||
longDescription = ''
|
{ moduleName
|
||||||
Python is a remarkably powerful dynamic programming language that
|
, internalName ? "_" + moduleName
|
||||||
is used in a wide variety of application domains. Some of its key
|
, deps
|
||||||
distinguishing features include: clear, readable syntax; strong
|
}:
|
||||||
introspection capabilities; intuitive object orientation; natural
|
stdenv.mkDerivation rec {
|
||||||
expression of procedural code; full modularity, supporting
|
name = "python-${moduleName}-${python.version}";
|
||||||
hierarchical packages; exception-based error handling; and very
|
|
||||||
high level dynamic data types.
|
inherit src patches;
|
||||||
'';
|
|
||||||
license = "GPLv2";
|
buildInputs = [ python ] ++ deps;
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
maintainers = [ stdenv.lib.maintainers.simons ];
|
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
|
{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
|
||||||
, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
|
, 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 {
|
stdenv.mkDerivation {
|
||||||
name = "libvirt-${version}";
|
name = "libvirt-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
|
url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
|
||||||
sha256 = "04z1757qpi3ssnjv5h2qnw1sds2m50yxk67cbdam6w4i50vyl2h3";
|
sha256 = "0rlhn08zgj9v0jrh0pq0hfdw6vmw98fg3c573k8mpnwm2byc3gby";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
@ -20,12 +20,12 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
preConfigure =
|
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 =
|
postInstall =
|
||||||
''
|
''
|
||||||
|
@ -3,48 +3,49 @@
|
|||||||
(http://pypi.python.org/pypi/setuptools/), which represents a large
|
(http://pypi.python.org/pypi/setuptools/), which represents a large
|
||||||
number of Python packages nowadays. */
|
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 ? ""
|
, postInstall ? ""
|
||||||
|
|
||||||
, ... } @ attrs:
|
, ... } @ attrs:
|
||||||
|
|
||||||
let
|
# Keep extra attributes from ATTR, e.g., `patchPhase', etc.
|
||||||
defaultInstallCommand = ''easy_install --prefix="$out" .'';
|
python.stdenv.mkDerivation (attrs // {
|
||||||
|
inherit doCheck buildPhase checkPhase;
|
||||||
|
|
||||||
# Return the list of recursively propagated build inputs of PKG.
|
name = namePrefix + name;
|
||||||
recursiveBuildInputs =
|
|
||||||
pkg:
|
|
||||||
[ pkg ] ++
|
|
||||||
(if pkg ? propagatedBuildNativeInputs
|
|
||||||
then lib.concatLists (map recursiveBuildInputs
|
|
||||||
pkg.propagatedBuildNativeInputs)
|
|
||||||
else []);
|
|
||||||
|
|
||||||
in
|
buildInputs = [ python wrapPython setuptools ] ++ buildInputs ++ pythonPath;
|
||||||
|
|
||||||
python.stdenv.mkDerivation (
|
pythonPath = [ setuptools] ++ pythonPath;
|
||||||
# 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";
|
|
||||||
|
|
||||||
# XXX: Should we run `easy_install --always-unzip'? It doesn't seem
|
# XXX: Should we run `easy_install --always-unzip'? It doesn't seem
|
||||||
# to have a noticeable impact on small scripts.
|
# to have a noticeable impact on small scripts.
|
||||||
@ -53,49 +54,21 @@ python.stdenv.mkDerivation (
|
|||||||
|
|
||||||
echo "installing \`${name}' with \`easy_install'..."
|
echo "installing \`${name}' with \`easy_install'..."
|
||||||
export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
|
export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
|
||||||
${if installCommand == "" then defaultInstallCommand else installCommand}
|
${installCommand}
|
||||||
|
|
||||||
${postInstall}
|
${postInstall}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup =
|
||||||
# Wrap scripts that are under `{s,}bin/' so that they get the right
|
''
|
||||||
# $PYTHONPATH.
|
wrapPythonPrograms
|
||||||
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"
|
|
||||||
|
|
||||||
|
# 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
|
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
|
tar xfvj rhpl-*.tar.bz2
|
||||||
rm rhpl-*.tar.bz2
|
rm rhpl-*.tar.bz2
|
||||||
cd rhpl-*
|
cd rhpl-*
|
||||||
sed -i -e "s@/usr/include/\$(PYTHON)@$python/include/python2.6@" \
|
incl=$(echo $python/include/python2.*)
|
||||||
-e "s@PYTHONLIBDIR = /usr/\$(LIBDIR)/\$(PYTHON)/site-packages@PYTHONLIBDIR = $out/lib/python2.6/site-packages@" Makefile.inc
|
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" \
|
sed -i -e "s@/usr/bin/install@install@g" \
|
||||||
-e "s@\$(DESTDIR)/usr/share/locale@$out/share/locale@" po/Makefile
|
-e "s@\$(DESTDIR)/usr/share/locale@$out/share/locale@" po/Makefile
|
||||||
make PREFIX=$out
|
make PREFIX=$out
|
||||||
|
@ -1,48 +1,29 @@
|
|||||||
a :
|
{ stdenv, fetchurl, python, wrapPython }:
|
||||||
let
|
|
||||||
fetchurl = a.fetchurl;
|
|
||||||
|
|
||||||
version = a.lib.attrByPath ["version"] "0.6c11" a;
|
stdenv.mkDerivation rec {
|
||||||
buildInputs = with a; [
|
name = "setuptools-0.6c11";
|
||||||
python makeWrapper
|
|
||||||
];
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
name = "setuptools-" + version;
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pypi.python.org/packages/source/s/setuptools/${name}.tar.gz";
|
url = "http://pypi.python.org/packages/source/s/setuptools/${name}.tar.gz";
|
||||||
sha256 = "1lx1hwxkhipyh206bgl90ddnfcnb68bzcvyawczbf833fadyl3v3";
|
sha256 = "1lx1hwxkhipyh206bgl90ddnfcnb68bzcvyawczbf833fadyl3v3";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit buildInputs;
|
buildInputs = [ python wrapPython ];
|
||||||
configureFlags = [];
|
|
||||||
|
|
||||||
doCheck = true;
|
buildPhase = "python setup.py build --build-base $out";
|
||||||
|
|
||||||
doMakeCheck = a.fullDepEntry (''
|
installPhase =
|
||||||
python setup.py test
|
''
|
||||||
'') ["minInit" "doUnpack" "addInputs" "doBuild"];
|
dst=$out/lib/${python.libPrefix}/site-packages
|
||||||
|
mkdir -p $dst
|
||||||
|
PYTHONPATH=$dst:$PYTHONPATH
|
||||||
|
python setup.py install --prefix=$out
|
||||||
|
wrapPythonPrograms
|
||||||
|
'';
|
||||||
|
|
||||||
doBuild = a.fullDepEntry(''
|
doCheck = false; # doesn't work with Python 2.7
|
||||||
python setup.py build --build-base $out
|
|
||||||
'') ["addInputs" "doUnpack"];
|
|
||||||
|
|
||||||
doInstall = a.fullDepEntry(''
|
checkPhase = "python setup.py test";
|
||||||
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"];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Utilities to facilitate the installation of Python packages";
|
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
|
{ stdenv, fetchurl, buildPythonPackage, pythonPackages }:
|
||||||
, python, makeWrapper
|
|
||||||
, ...}:
|
|
||||||
builderDefsPackage
|
|
||||||
(a :
|
|
||||||
let
|
|
||||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
|
||||||
[];
|
|
||||||
|
|
||||||
buildInputs = map (n: builtins.getAttr n x)
|
buildPythonPackage rec {
|
||||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
name = "iotop-0.4.1";
|
||||||
sourceInfo = rec {
|
namePrefix = "";
|
||||||
baseName="iotop";
|
|
||||||
version="0.4.1";
|
src = fetchurl {
|
||||||
name="${baseName}-${version}";
|
url = "http://guichaz.free.fr/iotop/files/${name}.tar.bz2";
|
||||||
url="http://guichaz.free.fr/${baseName}/files/${name}.tar.bz2";
|
sha256 = "1dfvw3khr2rvqllvs9wad9ca3ld4i7szqf0ibq87rn36ickrf3ll";
|
||||||
hash="1dfvw3khr2rvqllvs9wad9ca3ld4i7szqf0ibq87rn36ickrf3ll";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
src = a.fetchurl {
|
|
||||||
url = sourceInfo.url;
|
|
||||||
sha256 = sourceInfo.hash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (sourceInfo) name version;
|
pythonPath = [ pythonPackages.curses ];
|
||||||
inherit buildInputs;
|
|
||||||
|
|
||||||
phaseNames = ["installPythonPackage" "wrapBinContentsPython"];
|
doCheck = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A tool to find out the processes doing the most IO";
|
description = "A tool to find out the processes doing the most IO";
|
||||||
maintainers = with a.lib.maintainers;
|
maintainers = [ stdenv.lib.maintainers.raskin ];
|
||||||
[
|
platforms = stdenv.lib.platforms.linux;
|
||||||
raskin
|
|
||||||
];
|
|
||||||
platforms = with a.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.
|
# extboot.bin isn't installed due to a bug in the Makefile.
|
||||||
cp pc-bios/optionrom/extboot.bin $out/share/qemu/
|
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 = {
|
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
|
{ fetchurl, stdenv, pythonPackages, pkgconfig, dbus, dbus_glib
|
||||||
, ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper
|
, ncurses, libX11, libXt, libXpm, libXaw, libXext
|
||||||
, libxslt, xmlto, gpsdUser ? "gpsd" }:
|
, libxslt, xmlto, gpsdUser ? "gpsd" }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -11,30 +11,20 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
python pkgconfig dbus dbus_glib ncurses
|
pythonPackages.python pythonPackages.wrapPython
|
||||||
libX11 libXt libXpm libXaw libXext
|
pkgconfig dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext
|
||||||
makeWrapper libxslt xmlto
|
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.
|
# Make sure `xgpsspeed' has libXt and libX11 in its RPATH.
|
||||||
+ "LDFLAGS=-Wl,--rpath=${libXt}/lib:${libX11}/lib";
|
+ "LDFLAGS=-Wl,--rpath=${libXt}/lib:${libX11}/lib";
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = "wrapPythonPrograms";
|
||||||
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
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "`gpsd', a GPS service daemon";
|
description = "`gpsd', a GPS service daemon";
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
{ stdenv, fetchurl, buildPythonPackage }:
|
{ stdenv, fetchurl, buildPythonPackage, pythonPackages }:
|
||||||
|
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
name = "ipython-0.10.1";
|
name = "ipython-0.10.1";
|
||||||
|
namePrefix = "";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://ipython.scipy.org/dist/0.10.1/ipython-0.10.1.tar.gz";
|
url = "http://ipython.scipy.org/dist/0.10.1/ipython-0.10.1.tar.gz";
|
||||||
sha256 = "18zwrg25zn72w4rmcwxzcw11ibgp001fawm2sz189zv86z70fxi2";
|
sha256 = "18zwrg25zn72w4rmcwxzcw11ibgp001fawm2sz189zv86z70fxi2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ pythonPackages.readline ];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -212,17 +212,18 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
gccWithStaticLibs = stdenvLinuxBoot3Pkgs.gcc.gcc.override (rec {
|
gccWithStaticLibs = stdenvLinuxBoot3Pkgs.gcc.gcc.override (rec {
|
||||||
ppl = stdenvLinuxBoot3Pkgs.ppl.override {
|
ppl = stdenvLinuxBoot3Pkgs.ppl.override {
|
||||||
static = true;
|
static = true;
|
||||||
gmpxx = stdenvLinuxBoot3Pkgs.gmpxx.override {
|
gmpxx = stdenvLinuxBoot3Pkgs.gmpxx.override {
|
||||||
static = true;
|
static = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cloogppl = stdenvLinuxBoot3Pkgs.cloogppl.override {
|
cloogppl = stdenvLinuxBoot3Pkgs.cloogppl.override {
|
||||||
inherit ppl;
|
inherit ppl;
|
||||||
static = true;
|
static = true;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
# 8) Construct a fourth stdenv identical to the second, except that
|
# 8) Construct a fourth stdenv identical to the second, except that
|
||||||
# this one uses the dynamically linked GCC and Binutils from step
|
# 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
|
# recover when the wlan interface goes down. Instead just flush
|
||||||
# all addresses, routes and neighbours of the interface.
|
# all addresses, routes and neighbours of the interface.
|
||||||
./flush-if.patch
|
./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
|
# 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
|
{ stdenv, fetchurl, buildPythonPackage, pythonPackages }:
|
||||||
, python, makeWrapper
|
|
||||||
, ...}:
|
|
||||||
builderDefsPackage
|
|
||||||
(a :
|
|
||||||
let
|
|
||||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
|
||||||
[];
|
|
||||||
|
|
||||||
buildInputs = map (n: builtins.getAttr n x)
|
buildPythonPackage rec {
|
||||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
name = "getmail-4.20.0";
|
||||||
sourceInfo = rec {
|
namePrefix = "";
|
||||||
baseName="getmail";
|
|
||||||
version="4.20.0";
|
src = fetchurl {
|
||||||
name="${baseName}-${version}";
|
url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
|
||||||
url="http://pyropus.ca/software/${baseName}/old-versions/${name}.tar.gz";
|
sha256 = "17cpyra61virk1d223w8pdwhv2qzhbwdbnrr1ab1znf4cv9m3knn";
|
||||||
hash="17cpyra61virk1d223w8pdwhv2qzhbwdbnrr1ab1znf4cv9m3knn";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
rec {
|
|
||||||
src = a.fetchurl {
|
|
||||||
url = sourceInfo.url;
|
|
||||||
sha256 = sourceInfo.hash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (sourceInfo) name version;
|
pythonPath = [ pythonPackages.ssl ];
|
||||||
inherit buildInputs;
|
|
||||||
|
|
||||||
/* doConfigure should be removed if not needed */
|
doCheck = false;
|
||||||
phaseNames = ["installPythonPackage" "patchShebangs" "wrapBinContentsPython"];
|
|
||||||
patchShebangs = (a.doPatchShebangs "$out/bin");
|
installCommand = "python setup.py install --prefix=\"\$prefix\"";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A program for retrieval of mail";
|
description = "A program for retrieving mail";
|
||||||
maintainers = with a.lib.maintainers;
|
maintainers = [ stdenv.lib.maintainers.raskin ];
|
||||||
[
|
platforms = stdenv.lib.platforms.linux;
|
||||||
raskin
|
|
||||||
];
|
|
||||||
platforms = with a.lib.platforms;
|
|
||||||
linux;
|
|
||||||
};
|
};
|
||||||
passthru = {
|
}
|
||||||
updateInfo = {
|
|
||||||
downloadPage = "http://pyropus.ca/software/getmail/";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}) x
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{fetchurl, buildPythonPackage}:
|
{ fetchurl, buildPythonPackage, ssl }:
|
||||||
|
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
name = "offlineimap-6.2.0.2";
|
name = "offlineimap-6.2.0.2";
|
||||||
@ -8,10 +8,9 @@ buildPythonPackage {
|
|||||||
sha256 = "1w69qv1dm37m53k8cd068lk5z3qjlscnjxr397gs8kdsfds67v7c";
|
sha256 = "1w69qv1dm37m53k8cd068lk5z3qjlscnjxr397gs8kdsfds67v7c";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false;
|
propagatedBuildInputs = [ ssl ];
|
||||||
|
|
||||||
preConfigure = "set -x";
|
doCheck = false;
|
||||||
buildInputs = [ ];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "IMAP to local files bridge";
|
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, fetchurl, unzip, makeWrapper, jre }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ec2-api-tools-1.3-53907";
|
name = "ec2-api-tools-1.4.2.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip;
|
url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip;
|
||||||
sha256 = "1jdkc74a9fmjqwvq1pnbsnfqyxxjg5zgaynybmdms5piinvb204d";
|
sha256 = "0qv3dy6zx5yxix3g90agj39k35sry3cifhzlhprv35lapiynsd0j";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ unzip makeWrapper ];
|
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;
|
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}:
|
makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
|
||||||
import ../build-support/kernel/modules-closure.nix {
|
import ../build-support/kernel/modules-closure.nix {
|
||||||
@ -344,6 +344,7 @@ let
|
|||||||
|
|
||||||
platforms = import ./platforms.nix;
|
platforms = import ./platforms.nix;
|
||||||
|
|
||||||
|
|
||||||
### TOOLS
|
### TOOLS
|
||||||
|
|
||||||
acct = callPackage ../tools/system/acct { };
|
acct = callPackage ../tools/system/acct { };
|
||||||
@ -603,6 +604,8 @@ let
|
|||||||
|
|
||||||
ethtool = callPackage ../tools/misc/ethtool { };
|
ethtool = callPackage ../tools/misc/ethtool { };
|
||||||
|
|
||||||
|
euca2ools = callPackage ../tools/virtualization/euca2ools { };
|
||||||
|
|
||||||
exif = callPackage ../tools/graphics/exif { };
|
exif = callPackage ../tools/graphics/exif { };
|
||||||
|
|
||||||
exiftags = callPackage ../tools/graphics/exiftags { };
|
exiftags = callPackage ../tools/graphics/exiftags { };
|
||||||
@ -669,9 +672,7 @@ let
|
|||||||
|
|
||||||
gengetopt = callPackage ../development/tools/misc/gengetopt { };
|
gengetopt = callPackage ../development/tools/misc/gengetopt { };
|
||||||
|
|
||||||
getmail = callPackage ../tools/networking/getmail {
|
getmail = callPackage ../tools/networking/getmail { };
|
||||||
python = pythonFull;
|
|
||||||
};
|
|
||||||
|
|
||||||
getopt = callPackage ../tools/misc/getopt { };
|
getopt = callPackage ../tools/misc/getopt { };
|
||||||
|
|
||||||
@ -1005,19 +1006,8 @@ let
|
|||||||
|
|
||||||
obexftp = callPackage ../tools/bluetooth/obexftp { };
|
obexftp = callPackage ../tools/bluetooth/obexftp { };
|
||||||
|
|
||||||
offlineimap = import ../tools/networking/offlineimap {
|
offlineimap = callPackage ../tools/networking/offlineimap {
|
||||||
inherit fetchurl;
|
ssl = pythonPackages.ssl;
|
||||||
# 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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
opendbx = callPackage ../development/libraries/opendbx { };
|
opendbx = callPackage ../development/libraries/opendbx { };
|
||||||
@ -1420,6 +1410,8 @@ let
|
|||||||
|
|
||||||
uptimed = callPackage ../tools/system/uptimed { };
|
uptimed = callPackage ../tools/system/uptimed { };
|
||||||
|
|
||||||
|
vlan = callPackage ../tools/networking/vlan { };
|
||||||
|
|
||||||
w3cCSSValidator = callPackage ../tools/misc/w3c-css-validator {
|
w3cCSSValidator = callPackage ../tools/misc/w3c-css-validator {
|
||||||
tomcat = tomcat6;
|
tomcat = tomcat6;
|
||||||
};
|
};
|
||||||
@ -1533,19 +1525,7 @@ let
|
|||||||
|
|
||||||
dash = callPackage ../shells/dash { };
|
dash = callPackage ../shells/dash { };
|
||||||
|
|
||||||
ipython = callPackage ../shells/ipython {
|
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
tcsh = callPackage ../shells/tcsh { };
|
tcsh = callPackage ../shells/tcsh { };
|
||||||
|
|
||||||
@ -2370,51 +2350,19 @@ let
|
|||||||
|
|
||||||
polyml = callPackage ../development/compilers/polyml { };
|
polyml = callPackage ../development/compilers/polyml { };
|
||||||
|
|
||||||
python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
|
python = python27;
|
||||||
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 { };
|
python27 = callPackage ../development/interpreters/python/2.7 { };
|
||||||
|
|
||||||
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;
|
|
||||||
});
|
|
||||||
|
|
||||||
python3 = callPackage ../development/interpreters/python/3.1 {
|
python3 = callPackage ../development/interpreters/python/3.1 {
|
||||||
arch = if stdenv.isDarwin then pkgs.darwinArchUtility else null;
|
arch = if stdenv.isDarwin then pkgs.darwinArchUtility else null;
|
||||||
sw_vers = if stdenv.isDarwin then pkgs.darwinSwVersUtility 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;
|
pyrex = pyrex095;
|
||||||
|
|
||||||
pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
|
pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
|
||||||
@ -4445,34 +4393,13 @@ let
|
|||||||
|
|
||||||
### DEVELOPMENT / PYTHON MODULES
|
### DEVELOPMENT / PYTHON MODULES
|
||||||
|
|
||||||
buildPythonPackage = import ../development/python-modules/generic {
|
buildPythonPackage = pythonPackages.buildPythonPackage;
|
||||||
inherit python setuptools makeWrapper lib;
|
|
||||||
};
|
|
||||||
|
|
||||||
buildPython26Package = import ../development/python-modules/generic {
|
pythonPackages = python27Packages;
|
||||||
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;
|
|
||||||
});
|
|
||||||
|
|
||||||
python27Packages = recurseIntoAttrs (import ./python-packages.nix {
|
python27Packages = recurseIntoAttrs (import ./python-packages.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
python = python27;
|
python = python27;
|
||||||
buildPythonPackage = buildPython27Package;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
foursuite = callPackage ../development/python-modules/4suite { };
|
foursuite = callPackage ../development/python-modules/4suite { };
|
||||||
@ -4515,9 +4442,7 @@ let
|
|||||||
|
|
||||||
pyxml = callPackage ../development/python-modules/pyxml { };
|
pyxml = callPackage ../development/python-modules/pyxml { };
|
||||||
|
|
||||||
setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
|
setuptools = pythonPackages.setuptools;
|
||||||
inherit python makeWrapper;
|
|
||||||
};
|
|
||||||
|
|
||||||
wxPython = wxPython26;
|
wxPython = wxPython26;
|
||||||
|
|
||||||
@ -4531,9 +4456,12 @@ let
|
|||||||
|
|
||||||
ZopeInterface = pythonPackages.zopeInterface;
|
ZopeInterface = pythonPackages.zopeInterface;
|
||||||
|
|
||||||
|
/*
|
||||||
zope = callPackage ../development/python-modules/zope {
|
zope = callPackage ../development/python-modules/zope {
|
||||||
python = python24;
|
python = python24;
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
### SERVERS
|
### SERVERS
|
||||||
|
|
||||||
@ -4545,7 +4473,7 @@ let
|
|||||||
|
|
||||||
sabnzbd = callPackage ../servers/sabnzbd { };
|
sabnzbd = callPackage ../servers/sabnzbd { };
|
||||||
|
|
||||||
bind = callPackage ../servers/dns/bind/default.nix {
|
bind = callPackage ../servers/dns/bind {
|
||||||
inherit openssl libtool perl;
|
inherit openssl libtool perl;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4669,6 +4597,8 @@ let
|
|||||||
inherit xmpppy python makeWrapper fetchcvs;
|
inherit xmpppy python makeWrapper fetchcvs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rabbitmq_server = callPackage ../servers/amqp/rabbitmq-server { };
|
||||||
|
|
||||||
radius = callPackage ../servers/radius { };
|
radius = callPackage ../servers/radius { };
|
||||||
|
|
||||||
redstore = callPackage ../servers/http/redstore { };
|
redstore = callPackage ../servers/http/redstore { };
|
||||||
@ -4702,17 +4632,8 @@ let
|
|||||||
inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
|
inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
|
||||||
libxslt expat libdrm libpng zlib perl mesa
|
libxslt expat libdrm libpng zlib perl mesa
|
||||||
xkeyboard_config dbus hal libuuid openssl gperf m4
|
xkeyboard_config dbus hal libuuid openssl gperf m4
|
||||||
autoconf libtool xmlto asciidoc udev bison flex;
|
autoconf libtool xmlto asciidoc udev flex bison python;
|
||||||
|
|
||||||
# XXX: Update to newer Automake on the next big rebuild; better yet:
|
|
||||||
# remove the dependency on Automake.
|
|
||||||
automake = automake110x;
|
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 { };
|
xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { };
|
||||||
@ -4819,6 +4740,8 @@ let
|
|||||||
|
|
||||||
e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { };
|
e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { };
|
||||||
|
|
||||||
|
ebtables = callPackage ../os-specific/linux/ebtables { };
|
||||||
|
|
||||||
eject = callPackage ../os-specific/linux/eject { };
|
eject = callPackage ../os-specific/linux/eject { };
|
||||||
|
|
||||||
fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
|
fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) {
|
||||||
@ -4897,9 +4820,7 @@ let
|
|||||||
|
|
||||||
ifplugd = callPackage ../os-specific/linux/ifplugd { };
|
ifplugd = callPackage ../os-specific/linux/ifplugd { };
|
||||||
|
|
||||||
iotop = callPackage ../os-specific/linux/iotop {
|
iotop = callPackage ../os-specific/linux/iotop { };
|
||||||
python = pythonFull;
|
|
||||||
};
|
|
||||||
|
|
||||||
iproute = callPackage ../os-specific/linux/iproute { };
|
iproute = callPackage ../os-specific/linux/iproute { };
|
||||||
|
|
||||||
@ -5794,9 +5715,7 @@ let
|
|||||||
|
|
||||||
batik = callPackage ../applications/graphics/batik { };
|
batik = callPackage ../applications/graphics/batik { };
|
||||||
|
|
||||||
bazaar = callPackage ../applications/version-management/bazaar {
|
bazaar = callPackage ../applications/version-management/bazaar { };
|
||||||
python = pythonFull;
|
|
||||||
};
|
|
||||||
|
|
||||||
bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
|
bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
|
||||||
inherit bazaar;
|
inherit bazaar;
|
||||||
@ -5809,7 +5728,7 @@ let
|
|||||||
|
|
||||||
bibletime = newScope pkgs.kde45 ../applications/misc/bibletime {
|
bibletime = newScope pkgs.kde45 ../applications/misc/bibletime {
|
||||||
qt = qt4;
|
qt = qt4;
|
||||||
} ;
|
};
|
||||||
|
|
||||||
bitcoin = callPackage ../applications/misc/bitcoin {
|
bitcoin = callPackage ../applications/misc/bitcoin {
|
||||||
wxGTK = wxGTK290;
|
wxGTK = wxGTK290;
|
||||||
@ -5819,19 +5738,7 @@ let
|
|||||||
|
|
||||||
bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
|
bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
|
||||||
|
|
||||||
# commented out because it's using the new configuration style proposal which is unstable
|
blender = callPackage ../applications/misc/blender/2.49.nix { };
|
||||||
#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_2_50 = lowPrio (import ../applications/misc/blender {
|
blender_2_50 = lowPrio (import ../applications/misc/blender {
|
||||||
inherit stdenv fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr
|
inherit stdenv fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr
|
||||||
@ -5842,10 +5749,7 @@ let
|
|||||||
|
|
||||||
bvi = callPackage ../applications/editors/bvi { };
|
bvi = callPackage ../applications/editors/bvi { };
|
||||||
|
|
||||||
calibre = callPackage ../applications/misc/calibre {
|
calibre = callPackage ../applications/misc/calibre { };
|
||||||
python = python26Full;
|
|
||||||
inherit (python26Packages) mechanize lxml dateutil cssutils beautifulsoap;
|
|
||||||
};
|
|
||||||
|
|
||||||
carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
|
carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
|
||||||
inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
|
inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
|
||||||
@ -6283,10 +6187,7 @@ let
|
|||||||
|
|
||||||
gpscorrelate = callPackage ../applications/misc/gpscorrelate { };
|
gpscorrelate = callPackage ../applications/misc/gpscorrelate { };
|
||||||
|
|
||||||
gpsd = callPackage ../servers/gpsd {
|
gpsd = callPackage ../servers/gpsd { };
|
||||||
# We need a Python with NCurses bindings.
|
|
||||||
python = pythonFull;
|
|
||||||
};
|
|
||||||
|
|
||||||
guitone = callPackage ../applications/version-management/guitone { };
|
guitone = callPackage ../applications/version-management/guitone { };
|
||||||
|
|
||||||
@ -6398,18 +6299,6 @@ let
|
|||||||
kdevelop = newScope pkgs.kde4 ../applications/editors/kdevelop { };
|
kdevelop = newScope pkgs.kde4 ../applications/editors/kdevelop { };
|
||||||
|
|
||||||
keepnote = callPackage ../applications/office/keepnote {
|
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;
|
pygtk = pyGtkGlade;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -6490,10 +6379,7 @@ let
|
|||||||
|
|
||||||
mercurial = callPackage ../applications/version-management/mercurial {
|
mercurial = callPackage ../applications/version-management/mercurial {
|
||||||
guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
|
guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
|
||||||
python = # allow cloning sources from https servers.
|
inherit (pythonPackages) ssl;
|
||||||
if getConfig ["mercurial" "httpsSupport"] true
|
|
||||||
then pythonFull
|
|
||||||
else pythonBase;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
merkaartor = callPackage ../applications/misc/merkaartor {
|
merkaartor = callPackage ../applications/misc/merkaartor {
|
||||||
@ -6604,6 +6490,8 @@ let
|
|||||||
|
|
||||||
notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
|
notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
|
||||||
|
|
||||||
|
nova = callPackage ../applications/virtualization/nova { };
|
||||||
|
|
||||||
nvi = callPackage ../applications/editors/nvi { };
|
nvi = callPackage ../applications/editors/nvi { };
|
||||||
|
|
||||||
ocrad = callPackage ../applications/graphics/ocrad { };
|
ocrad = callPackage ../applications/graphics/ocrad { };
|
||||||
@ -6626,8 +6514,6 @@ let
|
|||||||
neon = neon029;
|
neon = neon029;
|
||||||
};
|
};
|
||||||
|
|
||||||
openstack_compute = callPackage ../applications/virtualization/openstack-compute { };
|
|
||||||
|
|
||||||
opera = callPackage ../applications/networking/browsers/opera {
|
opera = callPackage ../applications/networking/browsers/opera {
|
||||||
qt = qt3;
|
qt = qt3;
|
||||||
};
|
};
|
||||||
@ -6817,8 +6703,7 @@ let
|
|||||||
tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
|
tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
|
||||||
inherit (pythonPackages) twisted foolscap simplejson nevow zfec
|
inherit (pythonPackages) twisted foolscap simplejson nevow zfec
|
||||||
pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
|
pycryptopp pysqlite darcsver setuptoolsTrial setuptoolsDarcs
|
||||||
numpy pyasn1;
|
numpy pyasn1 mock;
|
||||||
mock = pythonPackages.mock060;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tailor = builderDefsPackage (import ../applications/version-management/tailor) {
|
tailor = builderDefsPackage (import ../applications/version-management/tailor) {
|
||||||
@ -7002,9 +6887,7 @@ let
|
|||||||
|
|
||||||
xdg_utils = callPackage ../tools/X11/xdg-utils { };
|
xdg_utils = callPackage ../tools/X11/xdg-utils { };
|
||||||
|
|
||||||
xen = callPackage ../applications/virtualization/xen {
|
xen = callPackage ../applications/virtualization/xen { };
|
||||||
python = pythonFull;
|
|
||||||
};
|
|
||||||
|
|
||||||
xfig = callPackage ../applications/graphics/xfig {
|
xfig = callPackage ../applications/graphics/xfig {
|
||||||
stdenv = overrideGCC stdenv gcc34;
|
stdenv = overrideGCC stdenv gcc34;
|
||||||
|
@ -1,8 +1,65 @@
|
|||||||
{ pkgs, python, buildPythonPackage }:
|
{ pkgs, python }:
|
||||||
|
|
||||||
|
python.modules // rec {
|
||||||
|
|
||||||
|
inherit python;
|
||||||
|
|
||||||
rec {
|
|
||||||
inherit (pkgs) fetchurl fetchsvn stdenv;
|
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 {
|
argparse = buildPythonPackage (rec {
|
||||||
name = "argparse-1.1";
|
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";
|
name = "boto-1.9b";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://boto.googlecode.com/files/${name}.tar.gz";
|
url = "http://boto.googlecode.com/files/${name}.tar.gz";
|
||||||
sha256 = "0kir3ddm79rxdf7wb5czmxpbnqzgj3j966q4mach29kkb98p48wz";
|
sha1 = "00a033b0a593c3ca82927867950f73d88b831155";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
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 {
|
cherrypy = buildPythonPackage (rec {
|
||||||
name = "cherrypy-3.1.2";
|
name = "cherrypy-3.1.2";
|
||||||
|
|
||||||
@ -133,18 +256,23 @@ rec {
|
|||||||
});
|
});
|
||||||
|
|
||||||
darcsver = buildPythonPackage (rec {
|
darcsver = buildPythonPackage (rec {
|
||||||
name = "darcsver-1.5.1";
|
name = "darcsver-1.7.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz";
|
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.
|
# 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
|
# 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
|
# http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a
|
||||||
# discussion.
|
# discussion.
|
||||||
|
|
||||||
|
# Gives "ValueError: Empty module name" with no clue as to why.
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Darcsver, generate a version number from Darcs history";
|
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 {
|
eventlet = buildPythonPackage rec {
|
||||||
name = "eventlet-0.9.14";
|
name = "eventlet-0.9.14";
|
||||||
|
|
||||||
@ -180,14 +352,13 @@ rec {
|
|||||||
md5 = "dfc96ed14b27392fdc529abcafeed880";
|
md5 = "dfc96ed14b27392fdc529abcafeed880";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ nose httplib2 ];
|
buildInputs = [ nose httplib2 ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ greenlet ];
|
propagatedBuildInputs = [ greenlet ];
|
||||||
|
|
||||||
# It tries to scribble in ~/.python-eggs.
|
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
|
||||||
preConfigure = "export HOME=$(pwd)";
|
|
||||||
|
|
||||||
doCheck = false; # !!! fix; test requires ssl support in Python
|
doCheck = false; # !!! fix; tests access the network
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://pypi.python.org/pypi/eventlet/;
|
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 {
|
greenlet = buildPythonPackage rec {
|
||||||
name = "greenlet-0.3.1";
|
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 {
|
jinja2 = buildPythonPackage {
|
||||||
name = "jinja2-2.2.1";
|
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 {
|
matplotlib = buildPythonPackage ( rec {
|
||||||
name = "matplotlib-0.99.1.2";
|
name = "matplotlib-0.99.1.2";
|
||||||
|
|
||||||
@ -414,25 +684,16 @@ rec {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
mock = buildPythonPackage (rec {
|
mock = buildPythonPackage (rec {
|
||||||
name = "mock-0.1.0";
|
name = "mock-0.7.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/python-mock/pythonmock-0.1.0.zip";
|
url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz";
|
||||||
sha256 = "0r17f8sjq6pjlfh2sq2x80bd5r6y9sb3n5l05x5sf25iaba7sg9z";
|
md5 = "be029f8c963c55250a452c400e10cf42";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgs.unzip ];
|
buildInputs = [ unittest2 ];
|
||||||
|
|
||||||
phases = "unpackPhase";
|
|
||||||
|
|
||||||
unpackPhase =
|
|
||||||
'' mkdir "${name}"
|
|
||||||
unzip "$src"
|
|
||||||
|
|
||||||
ensureDir "$out/lib/${python.libPrefix}/site-packages"
|
|
||||||
cp -v mock.py "$out/lib/${python.libPrefix}/site-packages"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Mock objects for Python";
|
description = "Mock objects for Python";
|
||||||
@ -443,24 +704,23 @@ rec {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
mock060 = pkgs.lowPrio (buildPythonPackage (rec {
|
|
||||||
# TODO: This appears to be an unofficially hacked version of 'mock'
|
mox = buildPythonPackage rec {
|
||||||
# from above. This could probably replace the previous
|
name = "mox-0.5.3";
|
||||||
# package, but I don't have time to test that right now.
|
|
||||||
name = "mock-0.6.0";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/${name}.tar.bz2";
|
url = "http://pymox.googlecode.com/files/${name}.tar.gz";
|
||||||
sha256 = "1vwxzr2sjyl3x5jqgz9swpmp6cyhmwmab65akysfglf6acmn3czf";
|
sha1 = "b71aeaacf31898c3b38d8b9ca5bcc0664499c0de";
|
||||||
};
|
};
|
||||||
doCheck = false; # Package doesn't have any tests.
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Mock objects for Python, provided by tahoe-lafs.org";
|
homepage = http://code.google.com/p/pymox/;
|
||||||
homepage = "http://python-mock.sourceforge.net/";
|
description = "A mock object framework for Python.";
|
||||||
license = "mBSD";
|
|
||||||
};
|
};
|
||||||
}));
|
};
|
||||||
|
|
||||||
|
|
||||||
mutagen = buildPythonPackage (rec {
|
mutagen = buildPythonPackage (rec {
|
||||||
name = "mutagen-1.20";
|
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 {
|
namebench = buildPythonPackage (rec {
|
||||||
name = "namebench-1.0.5";
|
name = "namebench-1.0.5";
|
||||||
|
|
||||||
@ -571,11 +851,11 @@ rec {
|
|||||||
});
|
});
|
||||||
|
|
||||||
nose = buildPythonPackage {
|
nose = buildPythonPackage {
|
||||||
name = "nose-0.11.3";
|
name = "nose-1.0.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://python-nose.googlecode.com/files/nose-0.11.3.tar.gz;
|
url = http://somethingaboutorange.com/mrl/projects/nose/nose-1.0.0.tar.gz;
|
||||||
sha256 = "1hl3lbwdfl2a64q3dxc73kbiks4iwx5cixlbavyryd8xdr7iziww";
|
sha256 = "0qm6q232h5r071gwfkiszkmfqc60k7abl15bk495lcdkk62m91db";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
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 {
|
pexpect = buildPythonPackage {
|
||||||
name = "pexpect-2.3";
|
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 {
|
pyutil = buildPythonPackage (rec {
|
||||||
name = "pyutil-1.7.9";
|
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 {
|
src = fetchurl {
|
||||||
url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.2.tar.gz";
|
url = http://pypi.python.org/packages/source/R/Routes/Routes-1.12.3.tar.gz;
|
||||||
sha256 = "2b2980d200515e754e00a12d99dbce25c1ea90fddf8cba2bfa354c9305c5e455";
|
md5 = "9740ff424ff6b841632c784a38fb2be3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
|
propagatedBuildInputs = [ paste webtest ];
|
||||||
++ (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 = {
|
meta = {
|
||||||
description = "Python bindings for Subversion";
|
description = "A Python re-implementation of the Rails routes system for mapping URLs to application actions";
|
||||||
homepage = "http://pysvn.tigris.org/";
|
homepage = http://routes.groovie.org/;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
magic = pkgs.stdenv.mkDerivation rec {
|
|
||||||
name = "python-${pkgs.file.name}";
|
|
||||||
|
|
||||||
src = pkgs.file.src;
|
scripttest = buildPythonPackage rec {
|
||||||
|
version = "1.1.1";
|
||||||
buildInputs = [ python pkgs.file ];
|
name = "scripttest-${version}";
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz;
|
url = "http://pypi.python.org/packages/source/S/ScriptTest/ScriptTest-${version}.tar.gz";
|
||||||
sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx";
|
md5 = "592ce890764c3f546d35b4d7c40c32ef";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ pkgs.mysql pkgs.zlib nose ];
|
buildInputs = [ nose ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "MySQL database binding for Python";
|
description = "A library for testing interactive command-line applications";
|
||||||
|
homepage = http://pypi.python.org/pypi/ScriptTest/;
|
||||||
homepage = http://sourceforge.net/projects/mysql-python;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
setuptoolsDarcs = buildPythonPackage {
|
setuptoolsDarcs = buildPythonPackage {
|
||||||
name = "setuptools-darcs-1.2.9";
|
name = "setuptools-darcs-1.2.9";
|
||||||
|
|
||||||
@ -1182,11 +1502,11 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
setuptoolsTrial = buildPythonPackage {
|
setuptoolsTrial = buildPythonPackage {
|
||||||
name = "setuptools-trial-0.5.9";
|
name = "setuptools-trial-0.5.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.9.tar.gz";
|
url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.12.tar.gz";
|
||||||
sha256 = "4e3b5a183b9cf6ff637777c9852dfe8eaab156289e7a578525d68b1cfb3c9f29";
|
md5 = "f16f4237c9ee483a0cd13208849d96ad";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ twisted ];
|
propagatedBuildInputs = [ twisted ];
|
||||||
@ -1201,11 +1521,11 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
simplejson = buildPythonPackage (rec {
|
simplejson = buildPythonPackage (rec {
|
||||||
name = "simplejson-2.1.1";
|
name = "simplejson-2.1.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz";
|
url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz";
|
||||||
sha256 = "8c1c833c5b997bf7b75bf9a02a2d2884b8427816228eac0fb84791be44d2f612";
|
md5 = "58d9b1d8fa17ea4ce205cea088607e02";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
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 {
|
trac = buildPythonPackage {
|
||||||
name = "trac-0.11.5";
|
name = "trac-0.11.5";
|
||||||
|
|
||||||
@ -1246,12 +1631,12 @@ rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
twisted = buildPythonPackage {
|
twisted = buildPythonPackage rec {
|
||||||
name = "twisted-10.1.0";
|
name = "twisted-10.2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.1/Twisted-10.1.0.tar.bz2;
|
url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
|
||||||
sha256 = "eda6e0e9e5ef6f6c19ab75bcb094f83a12ee25fe589fbcddf946e8a655c8070b";
|
sha256 = "110c30z622jn14yany1sxfaqj5qx20n9rc9zqacxlwma30fdcbjn";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ zopeInterface ];
|
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 {
|
zbase32 = buildPythonPackage (rec {
|
||||||
name = "zbase32-1.1.2";
|
name = "zbase32-1.1.2";
|
||||||
|
|
||||||
@ -1345,4 +1785,5 @@ rec {
|
|||||||
license = "ZPL";
|
license = "ZPL";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user