summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-30 08:23:40 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-30 15:57:14 -0400
commit57c3662ddda134712798b4e642058b7b4fdf6cf2 (patch)
tree7a3e197b31d38bf6958d684d7cc9b5c068705013
parent113146d31c91e1951f469aa974fef9c0413080a8 (diff)
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.
-rw-r--r--gnu/packages/package-management.scm220
1 files changed, 110 insertions, 110 deletions
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