mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 03:29:40 -05:00
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.
This commit is contained in:
parent
113146d31c
commit
57c3662ddd
1 changed files with 110 additions and 110 deletions
|
@ -1150,101 +1150,101 @@ (define-public conan
|
|||
"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 @@ (define system ,(or (%current-target-system)
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue