aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix63
1 files changed, 44 insertions, 19 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
index d46d3cfc5006..d56c10a9591e 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
@@ -1,43 +1,69 @@
{ stdenv
+, lib
, buildPythonPackage
, fetchurl
-, pkgs
, isPy3k
, python
+, apr
+, aprutil
+, bash
+, e2fsprogs
+, expat
+, gcc
+, glibcLocales
+, neon
+, openssl
+, pycxx
+, subversion
}:
buildPythonPackage rec {
pname = "pysvn";
- version = "1.8.0";
- disabled = isPy3k;
+ version = "1.9.12";
format = "other";
src = fetchurl {
url = "http://pysvn.barrys-emacs.org/source_kits/${pname}-${version}.tar.gz";
- sha256 = "0srjr2qgxfs69p65d9vvdib2lc142x10w8afbbdrqs7dhi46yn9r";
+ sha256 = "sRPa4wNyjDmGdF1gTOgLS0pnrdyZwkkH4/9UCdh/R9Q=";
};
- buildInputs = [ pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
- ++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []);
+ buildInputs = [ bash subversion apr aprutil expat neon openssl ]
+ ++ lib.optionals stdenv.isLinux [ e2fsprogs ]
+ ++ lib.optionals stdenv.isDarwin [ gcc ];
- # There seems to be no way to pass that path to configure.
- NIX_CFLAGS_COMPILE="-I${pkgs.aprutil.dev}/include/apr-1";
+ postPatch = ''
+ sed -i "117s|append(|insert(0, |" Tests/benchmark_diff.py
+ '';
preConfigure = ''
cd Source
${python.interpreter} setup.py backport
${python.interpreter} setup.py configure \
- --apr-inc-dir=${pkgs.apr.dev}/include \
- --apu-inc-dir=${pkgs.aprutil.dev}/include \
- --apr-lib-dir=${pkgs.apr.out}/lib \
- --svn-lib-dir=${pkgs.subversion.out}/lib \
- --svn-bin-dir=${pkgs.subversion.out}/bin \
- --svn-root-dir=${pkgs.subversion.dev}
- '' + (if !stdenv.isDarwin then "" else ''
+ --apr-inc-dir=${apr.dev}/include \
+ --apu-inc-dir=${aprutil.dev}/include \
+ --pycxx-dir=${pycxx.dev}/include \
+ --svn-inc-dir=${subversion.dev}/include/subversion-1 \
+ --pycxx-src-dir=${pycxx.dev}/src \
+ --apr-lib-dir=${apr.out}/lib \
+ --svn-lib-dir=${subversion.out}/lib \
+ --svn-bin-dir=${subversion.out}/bin
+ '' + (lib.optionalString (stdenv.isDarwin && !isPy3k) ''
sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile
'');
- checkPhase = "make -C ../Tests";
+ checkInputs = [ glibcLocales ];
+ checkPhase = ''
+ runHook preCheck
+
+ # It is not only shebangs, some tests also write scripts dynamically
+ # so it is easier to simply search and replace
+ sed -i "s|/bin/bash|${bash}/bin/bash|" ../Tests/test-*.sh
+ make -C ../Tests
+
+ runHook postCheck
+ '';
+
+ pythonImportCheck = [ "pysvn" ];
installPhase = ''
dest=$(toPythonPath $out)/pysvn
@@ -45,15 +71,14 @@ buildPythonPackage rec {
cp pysvn/__init__.py $dest/
cp pysvn/_pysvn*.so $dest/
mkdir -p $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
+ mv -v ../Docs $out/share/doc/pysvn-${version}
+ rm -v $out/share/doc/pysvn-${version}/generate_cpp_docs_from_html_docs.py
'';
meta = with stdenv.lib; {
description = "Python bindings for Subversion";
homepage = "http://pysvn.tigris.org/";
license = licenses.asl20;
- broken = true;
};
}