gnu: ansible: Update to 4.4.0.

* gnu/packages/admin.scm (ansible): Update to 4.4.0.
[native-inputs]: Remove field.
[inputs]: Likewise.
[arguments]: Likewise.
[propagated-inputs]: New field.
[native-search-paths]: New search path.
[description]: Update description.
This commit is contained in:
Maxim Cournoyer 2021-08-26 23:12:13 -04:00
parent 83bf3c63da
commit 019bf96300
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -2600,66 +2600,35 @@ provides the following commands:
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.9.18") (version "4.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 "0g6rsnh02zq5nizamgakl2wvgz7hk1lpnjn9akldrcpa55vygzjm")))) (base32 "031n22j0lsmh69x6i6gkva81j68b4yzh1pbg3q2h4bknl85q46ag"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (propagated-inputs
`(("python-bcrypt" ,python-bcrypt) `(("ansible-core" ,ansible-core)))
("python-pynacl" ,python-pynacl) ;; The Ansible collections are found by ansible-core via PYTHONPATH; the
("python-httplib2" ,python-httplib2) ;; following search path ensures that they are found even when Python is
("python-passlib" ,python-passlib) ;; not present in the profile.
("python-nose" ,python-nose) (native-search-paths
("python-mock" ,python-mock) ;; XXX: Attempting to use (package-native-search-paths python)
("python-jinja2" ,python-jinja2) ;; here would cause an error about python being an unbound
("python-pyyaml" ,python-pyyaml) ;; variable in the tests/cpan.scm test.
("python-paramiko" ,python-paramiko))) (list (search-path-specification
(inputs (variable "PYTHONPATH")
`(("python-cryptography" ,python-cryptography) (files (list "lib/python3.8/site-packages")))))
("python-jinja2" ,python-jinja2)
("python-pyyaml" ,python-pyyaml)
("python-paramiko" ,python-paramiko)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; Several ansible commands (ansible-config, ansible-console, etc.)
;; are just symlinks to a single ansible executable. The ansible
;; executable behaves differently based on the value of
;; sys.argv[0]. This does not work well with our wrap phase, and
;; therefore the following two phases are required as a workaround.
(add-after 'unpack 'hide-wrapping
(lambda _
;; Overwrite sys.argv[0] to hide the wrapper script from it.
(substitute* "bin/ansible"
(("import traceback" all)
(string-append all "
import re
sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
")))
#t))
(add-after 'install 'replace-symlinks
(lambda* (#:key outputs #:allow-other-keys)
;; Replace symlinks with duplicate copies of the ansible
;; executable.
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (subprogram)
(delete-file (string-append out "/bin/ansible-" subprogram))
(copy-file (string-append out "/bin/ansible")
(string-append out "/bin/ansible-" subprogram)))
(list "config" "console" "doc" "galaxy"
"inventory" "playbook" "pull" "vault")))
#t)))))
(home-page "https://www.ansible.com/") (home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation") (synopsis "Radically simple IT automation")
(description "Ansible is a radically simple IT automation system. It (description "Ansible aims to be a radically simple IT automation system.
handles configuration management, application deployment, cloud provisioning, It handles configuration management, application deployment, cloud
ad hoc task execution, and multinode orchestration---including trivializing provisioning, ad-hoc task execution, network automation, and multi-node
things like zero-downtime rolling updates with load balancers.") orchestration. Ansible facilitates complex changes like zero-downtime rolling
updates with load balancers. This package provides a curated set of
community-maintained Ansible collections, which contain playbooks, roles,
modules and plugins that extend Ansible.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public debops (define-public debops