me
/
guix
Archived
1
0
Fork 0

gnu: Add python-cloud-init.

* gnu/packages/python-web.scm (python-cloud-init): New variable.

Change-Id: Iaaef6ff4f9c8a9ca5eb36da360bd0572cf2b1a1a
master
Ricardo Wurmus 2024-02-19 14:53:26 +01:00
parent d93e93e897
commit a35372cc0b
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 66 additions and 0 deletions

View File

@ -102,6 +102,7 @@
#:use-module (gnu packages groff)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages node)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
@ -7058,6 +7059,71 @@ interpreter written in pure Python.")
Encoding for HTTP.")
(license license:expat)))
(define-public python-cloud-init
(package
(name "python-cloud-init")
(version "23.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/canonical/cloud-init")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0przjj2j1ws6b7sbgqxnffsarbbwl00lhq3bn7yiksp8kg8np1m1"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
'(list
;; This requires usermod
"--ignore=tests/unittests/distros/test_create_users.py"
;; This writes to /var
"--ignore=tests/unittests/net/test_dhcp.py"
"-k"
(string-append
;; This test messes with PATH, so it cannot find mkdir
"not test_path_env_gets_set_from_main"
;; These all fail because /bin/sh doesn't exist. We cannot patch
;; this because the generated scripts must use /bin/sh as they are
;; supposed to be run on minimal systems.
" and not test_handler_creates_and_runs_bootcmd_script_with_instance_id"
" and not test_handler_runs_bootcmd_script_with_error"
" and not test_subp_combined_stderr_stdout"
" and not test_handle_part"))
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-references
(lambda _
(substitute* "tests/unittests/cmd/test_clean.py"
(("#!/bin/sh") (string-append "#!" (which "sh")))))))))
(propagated-inputs
(list python-configobj
python-jinja2
python-jsonpatch
python-jsonschema
python-netifaces
python-oauthlib
python-pyserial
python-pyyaml
python-responses))
(native-inputs
(list procps ;for ps when running tests
python-pytest
python-pytest-cov
python-pytest-mock
python-passlib))
(home-page "https://github.com/canonical/cloud-init")
(synopsis "Cloud instance initialization tools")
(description
"Cloud-init is the multi-distribution method for cross-platform cloud
instance initialization. It is supported across all major public cloud
providers, provisioning systems for private cloud infrastructure, and
bare-metal installations.")
;; Either license can be chosen
(license (list license:asl2.0 license:gpl3))))
(define-public python-cloudscraper
(package
(name "python-cloudscraper")