python312Packages.osmnx: 1.9.3 → 2.0.0 (#360529)
[NixPkgs.git] / pkgs / development / python-modules / pysvn / default.nix
blob24c75bf05e8166c9155f45209c3e10010e2d0409
2   stdenv,
3   lib,
4   buildPythonPackage,
5   fetchurl,
6   python,
7   apr,
8   aprutil,
9   bash,
10   e2fsprogs,
11   expat,
12   gcc,
13   neon,
14   glibcLocales,
15   openssl,
16   pycxx,
17   subversion,
20 buildPythonPackage rec {
21   pname = "pysvn";
22   version = "1.9.22";
23   format = "other";
25   src = fetchurl {
26     url = "mirror://sourceforge/project/pysvn/pysvn/V${version}/pysvn-${version}.tar.gz";
27     hash = "sha256-KfLg9tuuKpXxJoniD002kDXGCTwOZ9jurCoPrWMRo7g=";
28   };
30   patches = [ ./replace-python-first.patch ];
32   buildInputs =
33     [
34       bash
35       subversion
36       apr
37       aprutil
38       expat
39       neon
40       openssl
41     ]
42     ++ lib.optionals stdenv.hostPlatform.isLinux [ e2fsprogs ]
43     ++ lib.optionals stdenv.hostPlatform.isDarwin [ gcc ];
45   preConfigure = ''
46     cd Source
47     ${python.pythonOnBuildForHost.interpreter} setup.py backport
48     ${python.pythonOnBuildForHost.interpreter} setup.py configure \
49       --apr-inc-dir=${apr.dev}/include \
50       --apu-inc-dir=${aprutil.dev}/include \
51       --pycxx-dir=${pycxx.dev}/include \
52       --svn-inc-dir=${subversion.dev}/include/subversion-1 \
53       --pycxx-src-dir=${pycxx.dev}/src \
54       --apr-lib-dir=${apr.out}/lib \
55       --svn-lib-dir=${subversion.out}/lib \
56       --svn-bin-dir=${subversion.out}/bin
57   '';
59   nativeCheckInputs = [ glibcLocales ];
61   checkPhase = ''
62     runHook preCheck
64     # It is not only shebangs, some tests also write scripts dynamically
65     # so it is easier to simply search and replace
66     sed -i "s|/bin/bash|${lib.getExe bash}|" ../Tests/test-*.sh
67     make -C ../Tests
69     runHook postCheck
70   '';
72   pythonImportsCheck = [ "pysvn" ];
74   installPhase = ''
75     dest=$(toPythonPath $out)/pysvn
76     mkdir -p $dest
77     cp pysvn/__init__.py $dest/
78     cp pysvn/_pysvn*.so $dest/
79     mkdir -p $out/share/doc
80     mv -v ../Docs $out/share/doc/pysvn-${version}
81     rm -v $out/share/doc/pysvn-${version}/generate_cpp_docs_from_html_docs.py
82   '';
84   meta = with lib; {
85     description = "Python bindings for Subversion";
86     homepage = "https://pysvn.sourceforge.io/";
87     license = licenses.asl20;
88     maintainers = with maintainers; [ dotlambda ];
89     # g++: command not found
90     broken = stdenv.hostPlatform.isDarwin;
91   };