Loading pkgs/development/tools/build-managers/conan/default.nix +52 −53 Original line number Diff line number Diff line { 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 Loading @@ -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" ]; pytestFlagsArray = [ "-n" "$NIX_BUILD_CORES" ]; postPatch = '' substituteInPlace conans/requirements.txt --replace 'PyYAML>=3.11, <6.0' 'PyYAML>=3.11' ''; 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 ]; }; Loading Loading
pkgs/development/tools/build-managers/conan/default.nix +52 −53 Original line number Diff line number Diff line { 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 Loading @@ -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" ]; pytestFlagsArray = [ "-n" "$NIX_BUILD_CORES" ]; postPatch = '' substituteInPlace conans/requirements.txt --replace 'PyYAML>=3.11, <6.0' 'PyYAML>=3.11' ''; 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 ]; }; Loading