summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2023-02-26 21:53:22 +0000
committerSergei Trofimovich <slyich@gmail.com>2023-02-26 21:53:22 +0000
commite7e072d05a0cfafde00828ce589756444f7d39d8 (patch)
tree57e45f8ccdfcdb0c5df0b957f6fcd0d261d1690b /pkgs/development/tools/build-managers
parente5fb0c0c7236189f651dc607043592b405676617 (diff)
parent549daacfcf7bac64c3c37bd5cc649fd981486e81 (diff)
downloadnixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.tar
nixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.tar.gz
nixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.tar.bz2
nixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.tar.lz
nixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.tar.xz
nixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.tar.zst
nixpkgs-e7e072d05a0cfafde00828ce589756444f7d39d8.zip
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/top-level/python-aliases.nix

Trivial conflict of multiple added aliases.
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix105
1 files changed, 52 insertions, 53 deletions
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index 2b7ccc4a6c0..cb66df77e31 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,57 +1,31 @@
-{ lib, stdenv, python3, fetchFromGitHub, git, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, git
+, pkg-config
+, python3
+, zlib
+}:
 
-# Note:
-# Conan has specific dependency demands; 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: {
-    node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec {
-      version = "0.6.1";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "1dv6mjsm67l1razcgmq66riqmsb36wns17mnipqr610v0z0zf5j0";
-      };
-    });
-    distro = super.distro.overridePythonAttrs (oldAttrs: rec {
-      version = "1.5.0";
-      src = oldAttrs.src.override {
-        inherit version;
-        hash = "sha256-Dlh1auOPvY/DAg1UutuOrhfFudy+04ixe7Vbilko35I=";
-      };
-    });
-  };
-};
-
-in newPython.pkgs.buildPythonApplication rec {
-  version = "1.53.0";
+python3.pkgs.buildPythonApplication rec {
   pname = "conan";
+  version = "2.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "conan-io";
     repo = "conan";
-    rev = version;
-    hash = "sha256-2DNDNdZO1D30egOiYa3qw8F2xsUTBOm/CHv07v5OrC8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-yx/MO5QAVKnGraQXJitXxaZooLtBqa+L04s73DwiE14=";
   };
 
-  propagatedBuildInputs = with newPython.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     bottle
     colorama
     python-dateutil
-    deprecation
     distro
     fasteners
-    future
     jinja2
-    node-semver
     patch-ng
     pluginbase
     pygments
@@ -59,33 +33,58 @@ in newPython.pkgs.buildPythonApplication rec {
     pylint # Not in `requirements.txt` but used in hooks, see https://github.com/conan-io/conan/pull/6152
     pyyaml
     requests
-    six
     tqdm
     urllib3
-  ] ++ lib.optionals stdenv.isDarwin [ idna cryptography pyopenssl ];
+  ] ++ lib.optionals stdenv.isDarwin [
+    idna
+    cryptography
+    pyopenssl
+  ];
 
   nativeCheckInputs = [
-    pkg-config
     git
-  ] ++ (with newPython.pkgs; [
-    codecov
+    pkg-config
+    zlib
+  ] ++ (with python3.pkgs; [
     mock
-    nose
     parameterized
+    pytest-xdist
+    pytestCheckHook
     webtest
   ]);
 
-  # TODO: reenable tests now that we fetch tests w/ the source from GitHub.
-  # Not enabled right now due to time constraints/failing tests that I didn't have time to track down
-  doCheck = false;
+  pythonImportsCheck = [
+    "conan"
+  ];
 
-  postPatch = ''
-    substituteInPlace conans/requirements.txt --replace 'PyYAML>=3.11, <6.0' 'PyYAML>=3.11'
-  '';
+  pytestFlagsArray = [
+    "-n"
+    "$NIX_BUILD_CORES"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "TestFTP"
+  ];
+
+  disabledTestPaths = [
+    # Requires cmake, meson, autotools, apt-get, etc.
+    "conans/test/functional/command/new_test.py"
+    "conans/test/functional/command/test_install_deploy.py"
+    "conans/test/functional/layout/test_editable_cmake.py"
+    "conans/test/functional/layout/test_in_subfolder.py"
+    "conans/test/functional/layout/test_source_folder.py"
+    "conans/test/functional/toolchains/"
+    "conans/test/functional/tools_versions_test.py"
+    "conans/test/functional/tools/system/package_manager_test.py"
+    "conans/test/functional/util/test_cmd_args_to_string.py"
+    "conans/test/unittests/tools/env/test_env_files.py"
+  ];
 
   meta = with lib; {
-    homepage = "https://conan.io";
     description = "Decentralized and portable C/C++ package manager";
+    homepage = "https://conan.io";
+    changelog = "https://github.com/conan-io/conan/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ HaoZeke ];
   };