From 57c3662ddda134712798b4e642058b7b4fdf6cf2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 30 Mar 2023 08:23:40 -0400 Subject: gnu: conan: Use gexps and remove input labels. * gnu/packages/package-management.scm (conan) [arguments]: Use gexps. Use search-input-file in patch-paths phase. [native-inputs]: Remove labels. --- gnu/packages/package-management.scm | 220 ++++++++++++++++++------------------ 1 file changed, 110 insertions(+), 110 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 537d01e164..dd7341fbab 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1150,101 +1150,101 @@ written entirely in Python.") "1jjrinz5wkcxfvwdpldrv4h7vacdyz88cc4af5vi3sdnjra0i0m5")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "conans/requirements.txt" - (("node-semver==0.6.1") - "node-semver>=0.6.1") - (("Jinja2>=2.9, <3") - "Jinja2>=2.9") - (("PyYAML>=3.11, <6.0") - "PyYAML")))) - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((coreutils (assoc-ref inputs "coreutils"))) - ;; It seems that PATH is manipulated, as printenv is not found - ;; during tests. Patch in its exact location. - (substitute* "conan/tools/env/environment.py" - (("printenv") - (string-append coreutils "/bin/printenv"))) - (substitute* "conans/client/envvars/environment.py" - (("#!/usr/bin/env") - (string-append "#!" coreutils "/bin/env")))))) - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" "/tmp"))) - (replace 'check - (lambda* (#:key tests? outputs #:allow-other-keys) - (define system ,(or (%current-target-system) - (%current-system))) - (when tests? - (setenv "PATH" (string-append (getenv "PATH") ":" - (assoc-ref outputs "out") "/bin")) - (invoke "python" "-m" "pytest" - "-n" "auto" ;parallelize tests - "-m" "not slow and not tool_svn" - ;; Disable problematic tests. - "-k" - (string-append - ;; These tests rely on networking. - "not shallow_clone_remote " - "and not remote_build " - "and not download_retries_errors " - "and not ftp " - "and not build_local_different_folders " - ;; These expect CMake available at fixed versions. - "and not custom_cmake " - "and not default_cmake " - "and not bazel " ;bazel is not packaged - ;; Guix sets PKG_CONFIG_PATH itself, which is not - ;; expected by the following test. - "and not pkg_config_path " - "and not compare " ;caused by newer node-semver? - ;; Guix is not currently a supported package manager. - "and not system_package_tool " - ;; These expect GCC 5 to be available. - "and not test_reuse " - "and not test_install " - ;; The installed configure script trips on the /bin/sh - ;; shebang. We'd have to patch it in the Python code. - "and not test_autotools " - "and not test_use_build_virtualenv " - ;; This test is architecture-dependent. - "and not test_toolchain_linux " - ;; This one fails for unknown reasons (see: - ;; https://github.com/conan-io/conan/issues/9671). - "and not test_build " - ;; These tests expect the 'apt' command to be available. - "and not test_apt_check " - "and not test_apt_install_substitutes " - (if (not (string-prefix? "x86_64" system)) - ;; These tests either assume the machine is - ;; x86_64, or require a cross-compiler to target - ;; it. - (string-append - "and not cpp_package " - "and not exclude_code_analysis " - "and not cmakedeps_multi " - "and not locally_build_linux " - "and not custom_configuration " - "and not package_from_system " - "and not cross_build_command " - "and not test_package " - "and not test_deleted_os " - "and not test_same ") - "") - (if (not (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system))) - ;; These tests either assume the machine is i686, - ;; or require a cross-compiler to target it. - (string-append - "and not vcvars_raises_when_not_found " - "and not conditional_generators " - "and not test_folders " - "and not settings_as_a_dict_conanfile ") - ""))))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "conans/requirements.txt" + (("node-semver==0.6.1") + "node-semver>=0.6.1") + (("Jinja2>=2.9, <3") + "Jinja2>=2.9") + (("PyYAML>=3.11, <6.0") + "PyYAML")))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; It seems that PATH is manipulated, as printenv is not found + ;; during tests. Patch in its exact location. + (substitute* "conan/tools/env/environment.py" + (("printenv") + (search-input-file inputs "bin/printenv"))) + (substitute* "conans/client/envvars/environment.py" + (("#!/usr/bin/env") + (string-append "#!" (search-input-file inputs "bin/env")))))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp"))) + (replace 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + (define system #$(or (%current-target-system) + (%current-system))) + (when tests? + (setenv "PATH" (string-append (getenv "PATH") ":" + #$output "/bin")) + (invoke "python" "-m" "pytest" + "-n" "auto" ;parallelize tests + "-m" "not slow and not tool_svn" + ;; Disable problematic tests. + "-k" + (string-append + ;; These tests rely on networking. + "not shallow_clone_remote " + "and not remote_build " + "and not download_retries_errors " + "and not ftp " + "and not build_local_different_folders " + ;; These expect CMake available at fixed versions. + "and not custom_cmake " + "and not default_cmake " + "and not bazel " ;bazel is not packaged + ;; Guix sets PKG_CONFIG_PATH itself, which is not + ;; expected by the following test. + "and not pkg_config_path " + "and not compare " ;caused by newer node-semver? + ;; Guix is not currently a supported package manager. + "and not system_package_tool " + ;; These expect GCC 5 to be available. + "and not test_reuse " + "and not test_install " + ;; The installed configure script trips on the /bin/sh + ;; shebang. We'd have to patch it in the Python code. + "and not test_autotools " + "and not test_use_build_virtualenv " + ;; This test is architecture-dependent. + "and not test_toolchain_linux " + ;; This one fails for unknown reasons (see: + ;; https://github.com/conan-io/conan/issues/9671). + "and not test_build " + ;; These tests expect the 'apt' command to be available. + "and not test_apt_check " + "and not test_apt_install_substitutes " + (if (not (string-prefix? "x86_64" system)) + ;; These tests either assume the machine is + ;; x86_64, or require a cross-compiler to target + ;; it. + (string-append + "and not cpp_package " + "and not exclude_code_analysis " + "and not cmakedeps_multi " + "and not locally_build_linux " + "and not custom_configuration " + "and not package_from_system " + "and not cross_build_command " + "and not test_package " + "and not test_deleted_os " + "and not test_same ") + "") + (if (not (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system))) + ;; These tests either assume the machine is i686, + ;; or require a cross-compiler to target it. + (string-append + "and not vcvars_raises_when_not_found " + "and not conditional_generators " + "and not test_folders " + "and not settings_as_a_dict_conanfile ") + ""))))))))) (propagated-inputs (list python-bottle python-colorama @@ -1264,22 +1264,22 @@ written entirely in Python.") python-tqdm python-urllib3)) (inputs - (list coreutils)) ;for printenv + (list coreutils)) ;for printenv (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("cmake" ,cmake) - ("git" ,git-minimal) - ("meson" ,meson) - ("ninja",ninja) - ("pkg-config" ,pkg-config) - ("python-bottle" ,python-bottle) - ("python-mock" ,python-mock) - ("python-parameterized" ,python-parameterized) - ("python-pytest" ,python-pytest) - ("python-pytest-xdist" ,python-pytest-xdist) - ("python-webtest" ,python-webtest) - ("which" ,which))) + (list autoconf + automake + cmake + git-minimal + meson + ninja + pkg-config + python-bottle + python-mock + python-parameterized + python-pytest + python-pytest-xdist + python-webtest + which)) (home-page "https://conan.io") (synopsis "Decentralized C/C++ package manager") (description "Conan is a package manager for C and C++ developers that -- cgit v1.2.3