diff --git a/default.nix b/default.nix --- a/default.nix +++ b/default.nix @@ -86,7 +86,7 @@ let propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ pkgs.git - pkgs.subversion + pkgs.subversionrc ]; preBuild = '' @@ -176,7 +176,7 @@ let # correct version. Wrapping is required so those can "import" # vcsserver python hooks. pkgs.git - pkgs.subversion + pkgs.subversionrc ]; # expose following attributed outside passthru = { @@ -198,10 +198,10 @@ let do wrapProgram $file \ --prefix PATH : ${pkgs.git}/bin \ - --prefix PATH : ${pkgs.subversion}/bin \ + --prefix PATH : ${pkgs.subversionrc}/bin \ --prefix PATH : ${pythonEnv}/bin \ --prefix PYTHONPATH : ${pythonEnv}/${pythonEnv.sitePackages} \ - --prefix PYTHONPATH : ${pkgs.subversion}/${pythonEnv.sitePackages} \ + --prefix PYTHONPATH : ${pkgs.subversionrc}/${pythonEnv.sitePackages} \ --set PYTHONHASHSEED $RANDOM done echo "DONE: vcsserver binary wrapping" diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix --- a/pkgs/overlays.nix +++ b/pkgs/overlays.nix @@ -21,14 +21,14 @@ self: super: { }); libgit2rc = super.lib.overrideDerivation super.libgit2 (oldAttrs: { - name = "libgit2-0.28.2"; - version = "0.28.2"; + name = "libgit2-1.0.1"; + version = "1.0.1"; src = self.fetchFromGitHub { owner = "libgit2"; repo = "libgit2"; - rev = "v0.28.2"; - sha256 = "0cm8fvs05rj0baigs2133q5a0sm3pa234y8h6hmwhl2bz9xq3k4b"; + rev = "v1.0.1"; + sha256 = "1cm8fvs05rj0baigs2133q5a0sm3pa234y8h6hmwhl2bz9xq3k4b"; }; cmakeFlags = [ "-DTHREADSAFE=ON" "-DUSE_HTTPS=no"]; @@ -43,21 +43,48 @@ self: super: { }); + + # Override subversion derivation to # - activate python bindings - subversion = + subversionrc = + let + py3c = self.python37Packages.buildPythonPackage rec { + pname = "py3c"; + version = "1.0"; + src = self.fetchurl { + url = "https://files.pythonhosted.org/packages/6a/aa/9f1a69a8c71e72553b281603633e42501de932aa4d9912bccbf9a2884093/py3c-1.0.tar.gz"; + sha256 = "1h80jqi6r64kppxb4kshsiadrgc5hwk5arp3zcki01jf4ahknjz9"; + }; + format = "setuptools"; + doCheck = false; + buildInputs = []; + checkInputs = []; + nativeBuildInputs = []; + propagatedBuildInputs = []; + meta = { + license = [ ]; + }; + }; + in + let + pythonWithEnv = self.python37Packages.python.buildEnv.override { + extraLibs = [ py3c ]; + }; + in let subversionWithPython = super.subversion.override { - httpSupport = true; + httpSupport = true; # client must support http pythonBindings = true; - python = self.python37Packages.python; + python = pythonWithEnv; }; + in super.lib.overrideDerivation subversionWithPython (oldAttrs: { - name = "subversion-1.13.0"; + name = "subversion-1.14.0"; src = self.fetchurl { - url = "https://archive.apache.org/dist/subversion/subversion-1.13.0.tar.gz"; - sha256 = "0cb9p7f5hg0l4k32hz8vmvy2r45igchq5sh4m366za5q0c649bfs"; + url = "https://archive.apache.org/dist/subversion/subversion-1.14.0.tar.gz"; + sha256 = "1l1px5kva5a13pi2rkxfgxfvypvl6bmbkdag6168fhayad3i2ggg"; }; ## use internal lz4/utf8proc because it is stable and shipped with SVN @@ -65,7 +92,8 @@ self: super: { " --with-lz4=internal" " --with-utf8proc=internal" ]; - }); + + } diff --git a/pkgs/python-packages-overrides.nix b/pkgs/python-packages-overrides.nix --- a/pkgs/python-packages-overrides.nix +++ b/pkgs/python-packages-overrides.nix @@ -54,9 +54,10 @@ self: super: { nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [ pkgs.apr.dev pkgs.aprutil + pkgs.subversionrc ]; buildInputs = with self; attrs.buildInputs ++ [ - pkgs.subversion + pkgs.subversionrc ]; }); diff --git a/pkgs/python-packages.nix b/pkgs/python-packages.nix --- a/pkgs/python-packages.nix +++ b/pkgs/python-packages.nix @@ -58,6 +58,23 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; + "cached-property" = super.buildPythonPackage rec { + pname = "cached-property"; + version = "1.5.1"; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/57/8e/0698e10350a57d46b3bcfe8eff1d4181642fd1724073336079cb13c5cf7f/cached-property-1.5.1.tar.gz"; + sha256 = "010m1bl380l2r3vwq24r5v14l6gwvgm9v0mqqjkjss552jgsa5wj"; + }; + format = "setuptools"; + doCheck = false; + buildInputs = []; + checkInputs = []; + nativeBuildInputs = []; + propagatedBuildInputs = []; + meta = { + license = [ pkgs.lib.licenses.bsdOriginal ]; + }; + }; "cffi" = super.buildPythonPackage rec { pname = "cffi"; version = "1.14.0"; @@ -579,19 +596,22 @@ self: super: { }; "pygit2" = super.buildPythonPackage rec { pname = "pygit2"; - version = "0.28.2"; + version = "1.2.1"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/4c/64/88c2a4eb2d22ca1982b364f41ff5da42d61de791d7eb68140e7f8f7eb721/pygit2-0.28.2.tar.gz"; - sha256 = "11kzj5mjkspvplnpdb6bj8dcj6rgmkk986k8hjcklyg5yaxkz32d"; + url = "https://files.pythonhosted.org/packages/d0/c6/33e2df5722e3adf49adc6a2d3c2cdb5a5247236fd8f2063a0c4d058116a1/pygit2-1.2.1.tar.gz"; + sha256 = "11q3a0p4mvzdskla0c6ffcrddldfbh7dc4p5l6xrriwri88j356y"; }; format = "setuptools"; doCheck = false; buildInputs = []; checkInputs = []; - nativeBuildInputs = []; + nativeBuildInputs = [ + self."setuptools" + self."wheel" + ]; propagatedBuildInputs = [ + self."cached-property" self."cffi" - self."six" ]; meta = { license = [ { fullName = "GPLv2 with linking exception"; } ]; diff --git a/requirements.txt b/requirements.txt --- a/requirements.txt +++ b/requirements.txt @@ -15,7 +15,7 @@ msgpack-python==0.5.6 pastedeploy==2.1.0 pyramid==1.10.4 -pygit2==0.28.2 +pygit2==1.2.1 repoze.lru==0.7 redis==3.5.3