Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conan 1.23.0 #83144

Merged
merged 4 commits into from
Mar 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions pkgs/development/python-modules/patch-ng/default.nix
Original file line number Diff line number Diff line change
@@ -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 ];
};

}
64 changes: 38 additions & 26 deletions pkgs/development/tools/build-managers/conan/default.nix
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -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 {
Expand All @@ -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 = [
Expand All @@ -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"
'';
Expand Down
2 changes: 2 additions & 0 deletions pkgs/top-level/python-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4764,6 +4764,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 { };
Expand Down