system: Reinstate lock mounts in `container-script'.
This issue should now be resolved, with a test guarding it from re-appearing.
* gnu/system/linux-container.scm (container-script) [#:lock-mounts]: Delete
argument.
Change-Id: I93e94a0ee349c53967275b82e1a9a5bcc8e8f65c
build/syscalls: Introduce new safe-clone and use it.
* guix/build/syscalls.scm (without-automatic-finalization): Accept multiple
expressions.
(without-garbage-collection): New syntax.
(without-threads): Likewise.
(ensure-signal-delivery-thread, safe-clone): New procedures.
* tests/syscalls.scm: ("clone and unshare triggers EINVAL")
("safe-clone and unshare succeeds"): New tests.
* gnu/build/linux-container.scm (run-container): Adjust to use 'safe-clone'.
Relates-to: #1169
Change-Id: I044c11a899e24e547a7aed97f30c8e7250ab5363
linux-container: Inhibit GC thread creation in child.
The `unshare' system call with `CLONE_NEWUSER' cannot be used in multithreaded
programs. Guile VM's automatic GC thread creation used to lead to
nondeterministic failures in container creation, which uses this system call.
* gnu/build/linux-container.scm (run-container): Disable GC in child after
`(clone)' and re-enable after `(unshare)'.
Fixes: #1169
Change-Id: I9df5412102509c13f74ab9911f6f06c0152d0a4f
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
syscalls: Warn about violated single thread requirement in 'unshare'.
* guix/build/syscalls.scm (thread-count): New procedure.
(unshare): Add a warning when unshare single thread
requirement (depending on flags passed) is violated. Update doc.
(CLONE_SIGHAND, CLONE_THREAD, CLONE_VM): New variables.
Change-Id: If98a91a0a0d9f7d67e5487b26d2d270f7b2191b1
gnu: Add beads.
* gnu/packages/golang-apps.scm (beads): New variable.
Change-Id: I0dac902afa2c8937594d99907db311fe42e0d587
Change-Id: I820f455a5c0e3e6980839481d196fe55f0c7fee9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: Add go-github-com-anthropics-anthropic-sdk-go.
* gnu/packages/golang-web.scm
(go-github-com-anthropics-anthropic-sdk-go): New variable.
Change-Id: Ice1fcb4e975a72c8d27d8f03397c52a18cfe7d4b
Change-Id: I5ee9f0cc79e59d2d7a2836b64ac4c5ead39a72b6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: Add go-rsc-io-script.
* gnu/packages/golang-xyz.scm (go-rsc-io-script): New variable.
Change-Id: Id004f1a40adba43944e00a7ff99bb99b234c9f39
Change-Id: Iffc8b45eeaf8c230d4d4b5b23a34b5f9a1aca964
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: Add go-modernc-org-sqlite.
* gnu/packages/golang-xyz.scm (go-modernc-org-sqlite): New variable.
Change-Id: I61f5a5914d6aac8e7d998165f705039ba09e3b86
Change-Id: I87dcca403b3b05aa977e4b02e0f873c250361e1f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: Add go-modernc-org-libc.
* gnu/packages/golang-xyz.scm (go-modernc-org-libc): New variable.
Change-Id: Id6927a67e5efed071b952b36b025e6a788d0b259
Change-Id: Ibc0070816161dc7c6250f289ce139011f039ed62
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-online-judge-api-client: Update to 10.10.1-0.615c345.
* gnu/packages/patches/python-online-judge-api-client-tests.patch: Refresh patch.
* gnu/packages/python-xyz.scm (python-online-judge-api-client): Update to 10.10.1-0.615c345.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Update them.
<#:phases>: Add phase 'configure-tests.
[native-inputs]: Add python-pytest, python-setuptools.
[propagated-inputs]: Remove python-toml.
[description]: Improve style.
Change-Id: Ie1e6d6f88dff9c2893893fa83d5c768e974eda59
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-onetimepass: Switch to pyproject.
* gnu/packages/python-xyz.scm (python-onetimepass):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable them.
[native-inputs]: Add python-setuptools.
[description]: Improve style.
Change-Id: I6d01244eb8bf16e2d88e360477bc99f3f48739fa
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-pybtex: Update to 0.25.0.
* gnu/packages/python-xyz.scm (python-pybtex): Update to 0.25.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]: Drop them.
[native-inputs]: Add python-setuptools. Remove python-six.
[description]: Improve style.
Change-Id: I32ee2f905fbc182e646d77355ebe824dc4de1e96
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-latexcodec: Update to 3.0.1.
* gnu/packages/python-xyz.scm (python-latexcodec): Update to 3.0.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-six.
[native-inputs]: Add python-pytest, python-setuptools.
Change-Id: I13b80bd830c79ac1772961b1a3002e9f731a4be1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-apache-libcloud: Update to 3.8.0.
* gnu/packages/python-xyz.scm (python-apache-libcloud): Update to 3.8.0.
[arguments]<#:phases>: Improve style.
[propagated-inputs]: Remove python-paramiko.
[native-inputs]: Remove python-lockfile, python-mock,
python-pytest-runner. Add python-setuptools.
[description]: Improve style.
Change-Id: I9a2cda678372a2621f0b57f4b5c6c7895c0e051b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-gh-md-to-html: Remove python-shellescape input.
* gnu/packages/python-xyz.scm (python-gh-md-to-html)
[arguments]<#:phases>: Add phase 'relax-shellescape-requirement.
[propagated-inputs]: Remove python-shellescape.
[native-inputs]: Remove python-wheel.
Change-Id: I4cfeba99b42287ca6b83b00091ae3431928625ba
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-arcp: Switch to pyproject.
* gnu/packages/python-xyz.scm (python-arcp):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, python-setuptools.
[synopsis, description]: Improve style.
Change-Id: Ifc32f41b5069fe0466ba66eb12493d477c216b9c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-rfc6555: Update to 0.1.0.
* gnu/packages/python-xyz.scm (python-rfc6555): Update to 0.1.0.
[build-system]: Switch to pyproject-build-system.
[arguments]: Replace <#:phases> by <#:test-flags>.
[native-inputs]: Add python-setuptools.
Change-Id: Id1244155bffb5996c4c275cb99266bc320948857
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: python-radon: Update to 6.0.1.
* gnu/packages/python-xyz.scm (python-radon): Update to 6.0.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Adapt phase 'relax-requirements. Drop 'check
phase replacement.
[native-inputs]: Add python-poetry-core, python-setuptools.
[description]: Improve style.
Change-Id: Ic2864192aacc6d1f30904e7e5096bad2eabc005a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
gnu: awscli: Update to 1.42.61.
* gnu/packages/python-crypto.scm (python-rsa-for-awscli-1): New variable.
* gnu/packages/python-web.scm (awscli): Update to 1.42.61.
[arguments] <tests>: Reduce amount of tests, run just unit tests. Limit
threads count up to 8 to persist tests stability in CI.
[inputs]: Remove python-docutils-0.16 and python-rsa; add
python-docutils-0.19 and python-rsa-for-awscli-1.
Fixes: guix/guix#3920
Change-Id: Idfe0f7eb17b816654018dea335169ed20aa53980