From f460e62d9b367a0bfd71148ef34f44421d0e82cb Mon Sep 17 00:00:00 2001 From: Niklas Hambüchen Date: Sun, 22 Mar 2020 16:34:55 +0100 Subject: conan: 1.12.3 -> 1.23.0 * remove pinned dependencies where nixpkgs provides a version in the acceptable range * disable tests; they are no longer in the Pypi archive, see https://github.com/conan-io/conan/issues/4563 --- .../tools/build-managers/conan/default.nix | 47 +++++++++++----------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'pkgs/development/tools') diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix index c216efc0f529..5990208b645b 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,31 +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; [ bottle colorama + dateutil deprecation distro fasteners future + jinja2 node-semver - patch + patch-ng pluginbase pygments pyjwt - pylint + pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152 pyyaml requests six tqdm + urllib3 ]; checkInputs = [ @@ -81,11 +82,11 @@ 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.txt \ -- cgit 1.4.1