diff options
author | Niklas Hambüchen <mail@nh2.me> | 2020-03-26 15:55:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-26 15:55:39 +0100 |
commit | 0bc0823ff72c9384880328b7b9734559bdb5b065 (patch) | |
tree | 6d6dc7f1fc60bf7581cdf5544d357d491bb65f38 | |
parent | 5f51c52660e1e333234ee169505585338784852d (diff) | |
parent | f460e62d9b367a0bfd71148ef34f44421d0e82cb (diff) |
Merge pull request #83144 from nh2/conan-1.23.0
Conan 1.23.0
-rw-r--r-- | pkgs/development/python-modules/patch-ng/default.nix | 22 | ||||
-rw-r--r-- | pkgs/development/tools/build-managers/conan/default.nix | 64 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 2 |
3 files changed, 62 insertions, 26 deletions
diff --git a/pkgs/development/python-modules/patch-ng/default.nix b/pkgs/development/python-modules/patch-ng/default.nix new file mode 100644 index 0000000000000..726df160929da --- /dev/null +++ b/pkgs/development/python-modules/patch-ng/default.nix @@ -0,0 +1,22 @@ +{ stdenv +, buildPythonPackage +, fetchurl +}: + +buildPythonPackage rec { + version = "1.17.2"; # note: `conan` package may require a hardcoded one + pname = "patch-ng"; + + src = fetchurl { + url = "mirror://pypi/p/${pname}/${pname}-${version}.tar.gz"; + sha256 = "02nadk70sk51liv0qav88kx8rzfdjc1x52023zayanz44kkcjl2i"; + }; + + meta = with stdenv.lib; { + description = "Library to parse and apply unified diffs."; + homepage = "https://github.com/conan-io/python-patch"; + license = licenses.mit; + maintainers = with maintainers; [ HaoZeke ]; + }; + +} diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix index 59b1b14ac5fad..5990208b645b1 100644 --- a/pkgs/development/tools/build-managers/conan/default.nix +++ b/pkgs/development/tools/build-managers/conan/default.nix @@ -1,5 +1,17 @@ { lib, python3, git, pkgconfig }: +# Note: +# Conan has specific dependency demanands; check +# https://github.com/conan-io/conan/blob/master/conans/requirements.txt +# https://github.com/conan-io/conan/blob/master/conans/requirements_server.txt +# on the release branch/commit we're packaging. +# +# Two approaches are used here to deal with that: +# Pinning the specific versions it wants in `newPython`, +# and using `substituteInPlace conans/requirements.txt ...` +# in `postPatch` to allow newer versions when we know +# (e.g. from changelogs) that they are compatible. + let newPython = python3.override { packageOverrides = self: super: { distro = super.distro.overridePythonAttrs (oldAttrs: rec { @@ -16,20 +28,6 @@ let newPython = python3.override { sha256 = "1dv6mjsm67l1razcgmq66riqmsb36wns17mnipqr610v0z0zf5j0"; }; }); - future = super.future.overridePythonAttrs (oldAttrs: rec { - version = "0.16.0"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773"; - }; - }); - tqdm = super.tqdm.overridePythonAttrs (oldAttrs: rec { - version = "4.28.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1fyybgbmlr8ms32j7h76hz5g9xc6nf0644mwhc40a0s5k14makav"; - }; - }); pluginbase = super.pluginbase.overridePythonAttrs (oldAttrs: rec { version = "0.7"; src = oldAttrs.src.override { @@ -41,18 +39,34 @@ let newPython = python3.override { }; in newPython.pkgs.buildPythonApplication rec { - version = "1.12.3"; + version = "1.23.0"; pname = "conan"; src = newPython.pkgs.fetchPypi { inherit pname version; - sha256 = "1cnfy9b57apps4bfai6r67g0mrvgnqa154z9idv0kf93k1nvx53g"; + sha256 = "06jnmgvzdyxjpcmyj1804mlq6b842jvvbsngsamdy976sqws870g"; }; propagatedBuildInputs = with newPython.pkgs; [ - colorama deprecation distro fasteners bottle - future node-semver patch pygments pluginbase - pyjwt pylint pyyaml requests six tqdm + bottle + colorama + dateutil + deprecation + distro + fasteners + future + jinja2 + node-semver + patch-ng + pluginbase + pygments + pyjwt + pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152 + pyyaml + requests + six + tqdm + urllib3 ]; checkInputs = [ @@ -68,15 +82,13 @@ in newPython.pkgs.buildPythonApplication rec { webtest ]); - checkPhase = '' - export HOME=$TMPDIR - pytest conans/test/{utils,unittests} \ - -k 'not SVN and not ToolsNetTest' - ''; + # Conan 1.14.0 has removed all tests from the Pypi source dist: + # https://github.com/conan-io/conan/pull/4713 + # We have recommended they be added back: + # https://github.com/conan-io/conan/issues/4563#issuecomment-602225083 + doCheck = false; postPatch = '' - substituteInPlace conans/requirements_server.txt \ - --replace "pluginbase>=0.5, < 1.0" "pluginbase>=0.5" substituteInPlace conans/requirements.txt \ --replace "PyYAML>=3.11, <3.14.0" "PyYAML" ''; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 43a3af13aeffc..8d3505a16869c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4760,6 +4760,8 @@ in { patch = callPackage ../development/python-modules/patch { }; + patch-ng = callPackage ../development/python-modules/patch-ng { }; + pathos = callPackage ../development/python-modules/pathos { }; patsy = callPackage ../development/python-modules/patsy { }; |