mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
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:
parent
83bf3c63da
commit
019bf96300
1 changed files with 21 additions and 52 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue