me
/
guix
Archived
1
0
Fork 0

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.
master
Maxim Cournoyer 2023-03-30 08:23:40 -04:00
parent 113146d31c
commit 57c3662ddd
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 110 additions and 110 deletions

View File

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