From 09cfb46f583195ee2c7af34d3cc96113d9c8997a Mon Sep 17 00:00:00 2001 From: Florian Friesdorf Date: Sun, 26 Feb 2012 17:23:50 +0000 Subject: [PATCH] separate libxml2 python bindings, added libconvOrLibC dependency authored by: chaoflow, goibhniu svn path=/nixpkgs/branches/stdenv-updates/; revision=32596 --- .../development/libraries/libxml2/default.nix | 12 ++------ pkgs/top-level/all-packages.nix | 8 ++--- pkgs/top-level/python-packages.nix | 29 +++++++++++++++++++ 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index fe3b6bd6487..1907a470b68 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,6 +1,4 @@ -{stdenv, fetchurl, zlib, python ? null, pythonSupport ? true }: - -assert pythonSupport -> python != null; +{ stdenv, fetchurl, libiconvOrLibc, zlib }: stdenv.mkDerivation { name = "libxml2-2.7.7"; @@ -10,15 +8,11 @@ stdenv.mkDerivation { sha256 = "03kkknm7xl77qfdig8mzalsi8ljsyblzin18gy3h8zranffrpyzs"; }; - configureFlags = '' - ${if pythonSupport then "--with-python=${python}" else ""} - ''; - - propagatedBuildInputs = [zlib]; + propagatedBuildInputs = [ libiconvOrLibc zlib ]; setupHook = ./setup-hook.sh; - passthru = {inherit pythonSupport;}; + passthru = { libiconv = libiconvOrLibc; }; meta = { homepage = http://xmlsoft.org/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 315a23387ee..30318d527ca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4234,13 +4234,9 @@ let libxmi = callPackage ../development/libraries/libxmi { }; - libxml2 = callPackage ../development/libraries/libxml2 { - pythonSupport = false; - }; + libxml2 = callPackage ../development/libraries/libxml2 { }; - libxml2Python = libxml2.override { - pythonSupport = true; - }; + libxml2Python = pythonPackages.libxml2; libxmlxx = callPackage ../development/libraries/libxmlxx { inherit (gtkLibs) glibmm; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b8d26e94a9a..49e3901aa7b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -665,6 +665,35 @@ let pythonPackages = python.modules // rec { }); + libxml2 = buildPythonPackage (rec { + name = pkgs.libxml2.name; + src = pkgs.libxml2.src; + + buildInputs = [ python ]; + propagatedBuildInputs = [ pkgs.libxml2 ]; + + configureFlags = "--with-python=${python}"; + + postConfigure = '' + cd python + sed -i setup.py \ + -e "s:^ROOT.*:ROOT = r'${pkgs.libxml2}':" \ + -e "s:^iconv_includes.*:iconv_includes= r'${pkgs.libxml2.libiconv}':" + ''; + + # has no tests + doCheck = false; + + passthru = { lib = pkgs.libxml2; }; + + meta = { + homepage = http://xmlsoft.org/; + description = "Python bindings for libxml2"; + license = "bsd"; + }; + }); + + lockfile = buildPythonPackage rec { name = "lockfile-0.9.1";