From ef68ff02b849cd5b0971b766a6f5626404b581b3 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Fri, 26 Oct 2018 11:42:09 -0400 Subject: [PATCH] pythonPackages.pysvn: refactor move to python-modules --- .../python-modules/pysvn/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 49 +--------------- 2 files changed, 59 insertions(+), 48 deletions(-) create mode 100644 pkgs/development/python-modules/pysvn/default.nix diff --git a/pkgs/development/python-modules/pysvn/default.nix b/pkgs/development/python-modules/pysvn/default.nix new file mode 100644 index 00000000000..2dcb7908522 --- /dev/null +++ b/pkgs/development/python-modules/pysvn/default.nix @@ -0,0 +1,58 @@ +{ stdenv +, buildPythonPackage +, fetchurl +, pkgs +, isPy3k +, python +}: + +buildPythonPackage rec { + pname = "pysvn"; + version = "1.8.0"; + disabled = isPy3k; + format = "other"; + + src = fetchurl { + url = "http://pysvn.barrys-emacs.org/source_kits/${pname}-${version}.tar.gz"; + sha256 = "0srjr2qgxfs69p65d9vvdib2lc142x10w8afbbdrqs7dhi46yn9r"; + }; + + buildInputs = [ 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.dev}/include/apr-1"; + + 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 '' + sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile + ''); + + checkPhase = "make -C ../Tests"; + + installPhase = '' + dest=$(toPythonPath $out)/pysvn + mkdir -p $dest + 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 + ''; + + meta = with stdenv.lib; { + description = "Python bindings for Subversion"; + homepage = http://pysvn.tigris.org/; + license = licenses.asl20; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0f6f4dd12a8..2f995e6cb59 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3493,54 +3493,7 @@ in { pysqlite = callPackage ../development/python-modules/pysqlite { }; - pysvn = buildPythonPackage rec { - name = "pysvn-1.8.0"; - format = "other"; - - src = pkgs.fetchurl { - url = "http://pysvn.barrys-emacs.org/source_kits/${name}.tar.gz"; - sha256 = "0srjr2qgxfs69p65d9vvdib2lc142x10w8afbbdrqs7dhi46yn9r"; - }; - - buildInputs = with self; [ 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.dev}/include/apr-1"; - - 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 '' - sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile - ''); - - checkPhase = "make -C ../Tests"; - - disabled = isPy3k; - - installPhase = '' - dest=$(toPythonPath $out)/pysvn - mkdir -p $dest - 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 - ''; - - meta = { - description = "Python bindings for Subversion"; - homepage = "http://pysvn.tigris.org/"; - }; - }; + pysvn = callPackage ../development/python-modules/pysvn { }; python-ptrace = callPackage ../development/python-modules/python-ptrace { };