Age | Commit message (Collapse) | Author |
|
Fixes <https://issues.guix.gnu.org/76110>.
Fixes a regression introduced in
28e4018e59d30efb3d52aa950ce2261f11b69b33 where the system and target
system would be ignored.
* guix/packages.scm (input-graft, input-cross-graft): Wrap graft replacement
in ‘with-parameters’.
* tests/packages.scm ("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted"): Adjust accordingly by comparing the replacement
after lowering to a derivation.
("package-grafts, indirect grafts, #:system argument"): New test.
Change-Id: I1663f0cc50842bb9abb53ba4aa9935052022d1f4
Signed-off-by: Ludovic Courtès <[email protected]>
Reported-by: Denis 'GNUtoo' Carikli <[email protected]>
|
|
Fixes <https://issues.guix.gnu.org/75879>.
* .dir-locals.el (scheme-mode): Remove mparameterize indentation rules.
Add state-parameterize and store-parameterize indentation rules.
* etc/manifests/system-tests.scm (test-for-current-guix): Replace
mparameterize with store-parameterize.
* etc/manifests/time-travel.scm (guix-instance-compiler): Likewise.
* gnu/tests.scm (compile-system-test): Likewise.
* guix/gexp.scm (compile-parameterized): Use state-call-with-parameters.
* guix/monads.scm (mparameterize): Remove macro.
(state-call-with-parameters): New procedure.
(state-parameterize): New macro.
* guix/store.scm (store-parameterize): New macro.
* tests/gexp.scm ("with-parameters for %graft?"): New test.
* tests/monads.scm ("mparameterize"): Remove test.
("state-parameterize"): New test.
Co-authored-by: Ludovic Courtès <[email protected]>
Change-Id: I0c74066ca3f37072815b073fb3039925488a9645
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
Partly fixes <https://issues.guix.gnu.org/76315>.
Fixes a bug whereby a service whose canonical name has changed would not
be restarted—e.g., if '(syslogd) has a replacement providing
'(system-log syslogd).
* gnu/services/shepherd.scm (shepherd-service-upgrade)[running?]:
Remove.
[to-restart]: Change to a subset of LIVE. Look up all the names of each
element of TARGET.
* guix/scripts/system/reconfigure.scm (upgrade-shepherd-services):
TO-RESTART is now a list of <live-service>; adjust accordingly.
* tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new"):
("shepherd-service-upgrade: service depended on is not unloaded"):
("shepherd-service-upgrade: obsolete services that depend on each other"):
("shepherd-service-upgrade: transient service"): Adjust accordingly.
("shepherd-service-upgrade: service has new canonical name"): New test.
Reported-by: Tomas Volf <[email protected]>
Change-Id: I7cec495b4e824da5fad5518f039607cf92f935d9
|
|
On systems with more than 64 processors. Otherwise starting so many threads
during the test will trip resource limits and lead to a spurious failure with
SIGABRT.
I'm seeing this on a 128 core system running Guix, and limiting to just 64
processors seems sufficient.
* tests/publish.scm: Call setaffinity when the current processor count exceeds
64.
Change-Id: Id4c6d7dcc9ae8dd8dafa2587def98f538061425c
|
|
* gnu/machine/hetzner.scm (hetzner-machine-rescue-install-os): Avoid out of
disk space error by bind mounting /mnt/tmp/gnu/store to /gnu/store.
* tests/machine/hetzner.scm: Test with smaller instances.
* doc/guix.texi (Invoking guix deploy): Mention unsupported instance.
Change-Id: If8bfb6733de493b51813b3e82e255849192f7cba
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/import/utils.scm (find-version): New procedure.
* guix/scripts/refresh.scm (<update-spec>) [partial?]: New field.
(update-spec-partial?): New accessor.
(update-spec): Add a PARTIAL? optional argument.
(update-specification->update-spec) <update-spec>: Call with its new PARTIAL?
optional argument when FALLBACK-VERSION is provided, i.e. when
'--target-version' was used.
(update-package): Remove the PACKAGE and VERSION positional arguments, and
replace them with UPDATE-SPEC. Update doc. Call `package-update' with its
new #:partial-version? argument.
(check-for-package-update) <package-latest-release>: Pass the new
#:partial-version? argument to it.
(guix-refresh) <update-package>: Adjust call accordingly.
(show-help): Udate doc.
* guix/upstream.scm (package-latest-release): Add #:partial-version? argument,
and apply it to the importer call.
(package-update): Add #:partial-version?> argument. Update doc. Pass it to
the `package-latest-release' call.
* guix/gnu-maintenance.scm (rewrite-url): Add #:partial-version? argument.
Update doc. Crawl URL for newer compatible versions when provided.
(import-html-release): Add #:partial-version? argument, and pass it to the
`rewrite-url' call. Use `find-version' to find the best version.
(import-release, import-ftp-release, import-gnu-release)
(import-release*): Add #:partial-version? argument and honor it.
(import-html-updatable-release): Add #:partial-version? argument, and pass it
to the `import-html-release' call.
* guix/import/gnome.scm (import-gnome-release)
<#:partial-version?>: Add new argument and honor it.
* guix/import/texlive.scm (latest-texlive-tag): Rename to...
(texlive-tags): ... this, and have it return all tags.
(texlive->guix-package): Adjust accordingly.
(latest-release): Add a #:partial-version? argument. Update doc.
* guix/import/stackage.scm (latest-lts-release): New #:partial-version?
argument.
* guix/import/pypi.scm (import-release): New #:partial-version? argument; pass
it to `pypi-package->upstream-source'.
* guix/import/opam.scm (latest-release): New #:partial-version? argument.
* guix/import/minetest.scm (latest-minetest-release): New #:partial-version?
argument.
(pypi-package->upstream-source): New #:partial-version? argument. Update doc.
* guix/import/launchpad.scm (latest-released-version): Rename to...
(release-versions): ... this, making it return all versions.
(import-release) <#:partial-version?>: New argument.
* guix/import/kde.scm (import-kde-release)
<#:partial-version?>: New argument. Update doc. Refactor to honor argument.
* guix/import/hexpm.scm (lookup-hexpm): Update doc.
(hexpm-latest-release): Rename to...
(hexpm-releases): ... this; return all release strings.
(hexpm->guix-package): Adjust accordingly.
(import-release): Add and honor a #:partial-version? argument. Update doc.
* guix/import/hackage.scm (import-release): New #:partial-version? argument.
* guix/import/cpan.scm (latest-release): New #:partial-version? argument.
* guix/import/crate.scm (max-crate-version-of-semver): Improve doc.
(import-release): Add a #:partial-version? argument and honor it.
* guix/import/egg.scm (find-latest-version): Rename to...
(get-versions): ... this, returning all versions.
(egg-metadata): Adjust accordingly.
(egg->guix-package): Likewise.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/elpa.scm (latest-release): New #:partial-version? argument.
* guix/import/gem.scm (get-versions): New procedure.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/git.scm (version-mapping): Update doc; streamline a bit.
(latest-tag): Rename to...
(get-tags): ... this, dropping the #:version keyword and returning the complete
tags alist. Update doc.
(latest-git-tag-version): Rename to...
(get-package-tags): ... this, returning the complete tags alist of the
package. Update doc.
(import-git-release): Add a new #:partial-version? argument and honor it.
Update doc.
* guix/import/github.scm (latest-released-version): Rename to...
(get-package-tags): ... this, returning all tags. Update doc.
(import-release): Add a new #:partial-version? argument and honor it.
* guix/import/cran.scm (latest-cran-release)
(latest-bioconductor-release): Add #:partial-version? argument.
* guix/import/composer.scm (latest-version): Delete procedure.
(composer-fetch): Add #:partial-version? keyword and honor it. Update doc.
(import-release): Likewise.
* guix/import/test.scm (import-release): Add #:partial-version? argument.
* tests/guix-refresh.sh: Add test.
* tests/gem.scm (test-foo-versions-json): New variable.
(package-latest-release): Mock new URL.
* tests/import-git.scm (latest-git-tag-version): New procedure.
* tests/gnu-maintenance.scm (libuv-dist-html)
(libuv-dist-1.46.0-html, libuv-dist-1.44.2-html)
(libuv-html-data): New variables.
(mock-http-fetch/cached): New procedure.
("rewrite-url, without to-version"): Rewrite using the above.
("rewrite-url, partial to-version"): New test.
* doc/guix.texi <"Invoking guix refresh">: Update doc.
Series-to: [email protected]
Change-Id: I092a58b57ac42e54a2fa55e7761e8c6993af8ad4
|
|
This is a followup to f7744227699d27045e87be9eac3464c2f62ff7e3, which
changed the rule without updating the test.
* tests/read-print.scm ("keyword-value-same-line"): Adjust.
Change-Id: Ie802ef3d2e577cb0647158baed0606c958394c06
|
|
* tests/derivations.scm ("derivation fails but keep going"): Remove extraneous
'with-store'.
Change-Id: If30c2d457504b8524cd167f1a145fbbea61b513c
Signed-off-by: Maxim Cournoyer <[email protected]>
|
|
* tests/import-utils.scm ("beautify-description: escape @stuff"): Add test.
* guix/import/utils.scm (beautify-description): Also wrap terms in @code{...}
that start with an escaped @.
Change-Id: I424f626635b821af6f4c16c97b8724cdaf99de45
|
|
* tests/import-utils.scm ("beautify-synopsis: escape @"): Add tests.
* guix/import/utils.scm (beautify-synopsis): Replace @ with @@.
Change-Id: I011d61687a098b5b50f44c1acd6f0a4eea06e9f0
|
|
* Makefile.am (SCM_TESTS): Add test modules.
* doc/guix.texi: Add documentation.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add modules.
* gnu/machine/hetzner.scm: Add hetzner-environment-type.
* gnu/machine/hetzner/http.scm: Add HTTP API.
* po/guix/POTFILES.in: Add Hetzner modules.
* tests/machine/hetzner.scm: Add machine tests.
* tests/machine/hetzner/http.scm Add HTTP API tests.
Change-Id: I276ed5afed676bbccc6c852c56ee4db57ce3c1ea
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/scripts/style.scm (order-packages): Match comments before package
S-exp. and its fields. Match in let. Match package/inherit.
* tests/guix-style.sh: Add pkg-baz variable and package/inherit to test.
Change-Id: I48a5976930501c20415b5413966b5294958bc23b
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* tests/crate.scm ("crate-recursive-import"): Add rust-leaf-bob-3 to
rust-root-1 cargo-inputs.
(test-root-dependencies): Add leaf-bob 3 build dependency.
Change-Id: I1285fc6b36429f754d54def0b14f821306ba366d
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/import/crate.scm (package-names->package-inputs): Emit comments.
(make-crate-sexp): Make input into comment if missing.
(crate->guix-package): Take #:mark-missing? argument.
[dependency-name+missing+version+yanked]: Mark as missing. Rename from
dependency-name+version+yanked.
[sort-map-dependencies]: Adjust.
[remove-missing+yanked-info]: Remove missing info. Rename from
remove-yanked-info.
* guix/scripts/import/crate.scm (show-help): Explain --mark-missing.
(%options): Add mark-missing option.
(guix-import-crate): Pass mark-missing option as #:mark-missing?.
* doc/guix.texi (Invoking guix import): Document --mark-missing.
* tests/crate.scm ("crate->guix-package-marks-missing-packages"): Add
test.
Change-Id: I065d394e1c04fdc332b8f7f8b9fcbd87c14c6512
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
This is a followup to and simplification of
3331d675fbf5287e8cbe12af48fb2de14f1ad8bc.
* guix/grafts.scm (graft-derivation/shallow)[mapping]: Wrap origin and
replacement in ‘with-parameters’.
(cumulative-grafts)[finalize-graft]: Remove, and remove its sole user.
* guix/packages.scm (input-graft, input-cross-graft): Add ‘replacement’
straight into the ‘replacement’ field of <graft>.
* tests/packages.scm ("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted"): Adjust accordingly.
Suggested-by: David Elsing <[email protected]>
Change-Id: I286fceae53df9d3051137bbca5f944d51d0c92f3
|
|
* guix/gexp.scm (compile-parameterized): Return ‘obj’ as-is when it’s
not a struct.
* tests/gexp.scm ("with-parameters + store item"): New test.
Change-Id: I5b5348b98bce923d07f6fa39b2f0948723011db8
|
|
This is a follow-up to 67950f46ef2c08a0873f7d08f61fdc14758e3ae5.
* tests/crate.scm (crate-import-only-yanked-available): Adjust the
imported crates to match the change in the importer.
Change-Id: I9657838e51062861299fb10bc25ad0c05cb75f5a
|
|
* tests/pack.scm: Improve AppImage tests.
Change-Id: I7890b902f65a2944ae8fa03db8a964deda3c725c
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
This is a followup to bea2914b3d1b06cc8cc1d9cff88c0dd7d8ebb1be, which
removed ‘python-setuptools’ from the list of “unauthorized” inputs.
* tests/lint.scm ("inputs: python-pip should not be an input at all (input)")
("inputs: python-pip should not be an input at all (native-input)")
("inputs: python-pip should not be an input at all (propagated-input)"):
New tests, with s/python-setuptools/python-pip/.
Change-Id: Ic575825da5c64052d3d573b37b458bd61547bae1
|
|
* guix/build/toml.scm (eval-toml-file): Add pattern for empty inline table.
* tests/toml.scm ("parse-toml: Empty inline table"): New testcase.
Change-Id: I69663af2a861716acfb801fad4474e029e102a1b
|
|
* guix/packages.scm (input-graft, input-cross-graft): Store the monadic value
of the replacement in the 'replacement' field of <graft> instead of unwrapping
it.
(cumulative-grafts): Turn monadic values in the 'replacement' field of
applicable grafts into derivations.
* tests/packages.scm ("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted"): Do not compare <graft> records directly,
compare the relevant fields instead, calling ‘run-with-store’ on the
‘replacement’ field.
Co-authored-by: Ludovic Courtès <[email protected]>
Change-Id: Idded0a402b8974df1ef2354f1a88c308b9b99777
|
|
* gnu/home.scm (%base-home-services): New variable.
(<home-environment>)[services]: Change default to ‘%base-home-services’.
* guix/scripts/home/import.scm (manifest+configuration-files->code): Use
‘%base-home-services’ by default.
* tests/home-import.scm (match-home-environment-no-services)
(match-home-environment-transformations)
(match-home-environment-no-services-nor-packages)
(match-home-environment-bash-service)
(match-home-environment-bash-service-with-alias): Adjust accordingly.
* doc/he-config-bare-bones.scm: Use ‘%base-home-services’.
* doc/guix.texi (Declaring the Home Environment): Add index entry for
‘%base-home-services’.
Change-Id: Id95ede62b97a976aad138bfc4b63fc0bdf37c7de
|
|
This fixes tags like 'xfce4-dev-tools-4.20.0'.
* tests/import-git.scm ("latest-git-tag-version: prefix contains pre-release
words"): New test.
* guix/import/git.scm (latest-tag): Don't filter out pre-releases tags.
(version-mapping): Filter out pre-releases tags from versions.
* gnu/packages/xfce.scm (garcon, thunar-archive-plugin, xfce4-dev-tools):
Remove FIXME comments for the 'generic-git' updater.
Change-Id: I7683200fa451d7fad153aa08fa9d5761688de01d
|
|
* guix/upstream.scm (preferred-upstream-source): New procedure.
* tests/upstream.scm ("preferred-upstream-source"): New test.
Change-Id: I4b48b44f1aa233d2e99bfe2e1359a670297efae8
|
|
Fixes <https://issues.guix.gnu.org/75205>.
* guix/build/syscalls.scm (kexec-load-file): Remove syscall ID for i686.
* tests/syscalls.scm ("kexec-load-file"): Accept ENOSYS in addition to
EPERM.
Reported-by: Dariqq <[email protected]>
Change-Id: I83fe25636addb57533ed88cbfb40107d265b13a7
|
|
This is a followup to 9544a0441145b9d404bb52edbdaf11666008731c.
* tests/channels.scm ("latest-channel-instances includes channel dependencies")
("latest-channel-instances excludes duplicate channel dependencies"):
Add #:verify-certificate? parameter to ‘update-cached-checkout’ mock.
Change-Id: Ia795b965c564e5552525327d1d748635dc66d5fd
|
|
This is a followup to c904350a81f9ff47cc025bc9d0d48f1bd2ead30e and
d7890af335ed046ba245137fb13031be964d03f5, which led to adding
‘setuptools’ and ‘wheel’ to ‘native-inputs’ in many (most?) cases.
* tests/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, no requires.txt, but wheel.")
("pypi->guix-package, no usable requirement file, no wheel."): Add
‘python-setuptools’ and ‘python-wheel’ to the native inputs.
("package-latest-release"): Add ‘setuptools’ and ‘wheel’ to the expected
result.
Change-Id: I4d1001b0ad332836fe7d1d9ecd07d4adc32330af
|
|
Fixes <https://issues.guix.gnu.org/31785>.
Similar to <https://github.com/NixOS/nix/issues/178>, fixed in
<https://github.com/NixOS/nix/commit/29cde917fe6b8f2e669c8bf10b38f640045c83b8>.
We can't rely on Goal deletion to release our locks in a timely manner. In
the case in which multiple guix-daemon processes simultaneously try producing
an output path path1, the one that gets there first (P1) will get the lock,
and the second one (P2) will continue trying to acquire the lock until it is
released. Once it has acquired the lock, it checks to see whether the path
has already become valid in the meantime, and if so it reports success to
those Goals waiting on its completion and finishes. Unfortunately, it fails
to release the locks it holds first, so those stay held until that Goal gets
deleted.
Suppose we have the following store path dependency graph:
path4
/ | \
path1 path2 path3
P2 is now sitting on path1's lock, and will continue to do so until path4 is
completed. Suppose there is also a P3, and it has been blocked while P1
builds path2. Now P3 is sitting on path2's lock, and can't acquire path1's
lock to determine that it has been completed. Likewise P2 is sitting on
path1's lock, and now can't acquire path2's lock to determine that it has been
completed. Finally, P3 completes path3 while P2 is blocked.
Now:
- P1 knows that path1 and path2 are complete, and holds no locks, but can't
determine that path3 is complete
- P2 knows that path1 and path3 are complete, and holds locks on path1 and
path3, but can't determine that path2 is complete
- P3 knows that path2 and path3 are complete, and holds a lock on path2, but
can't determine that path1 is complete
And none of these locks will be released until path4 is complete. Thus, we
have a deadlock.
To resolve this, we should explicitly release these locks as soon as they
should be released.
* nix/libstore/build.cc
(DerivationGoal::tryToBuild, SubstitutionGoal::tryToRun):
Explicitly release locks in the has-become-valid case.
* tests/store-deadlock.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
Change-Id: Ie510f84828892315fe6776c830db33d0f70bcef8
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/build/syscalls.scm (string->utf-8/nul-terminated)
(kexec-load-file): New procedures.
* tests/syscalls.scm ("kexec-load-file"): New test.
Change-Id: I3724226a14ecc07f346e77519fb5b0591096c7f6
|
|
* guix/packages.scm (package-input-rewriting): Add #:recursive?
[cut?]: Honor it.
* tests/packages.scm ("package-input-rewriting, recursive"): New test.
* doc/guix.texi (Defining Package Variants): Document it.
Change-Id: Ie82f35ae0ae873dc68f8b1c0dd6616f552772e65
|
|
This commit adds allocation logic for subid ranges. Subid ranges are
ranges of contiguous subids that are mapped to a user in the host
system. This patch implements a flexible allocation algorithm allowing
users that do not want (or need) to specify details of the subid ranges
that they are requesting to avoid doing so, while upholding requests of
users that need to have specific ranges.
* gnu/build/accounts.scm (%subordinate-id-min): New variable;
(%subordinate-id-max): new variable;
(%subordinate-id-count): new variable;
(subordinate-id?): new variable;
(&subordinate-id-error): new variable;
(&subordinate-id-overflow-error): new variable;
(&illegal-subid-range-error): new variable;
(&specific-subid-range-expected-error): new variable;
(&generic-subid-range-expected-error): new variable;
(within-interval?): new variable;
(allocate-unused-range): new variable;
(allocate-generic-range): new variable;
(allocate-specific-range): new variable;
(reserve-subids): new variable;
(range->entry): new variable;
(entry->range): new variable;
(allocate-subids): new variable;
(subuid+subgid-databases): new variable.
* gnu/system/accounts.scm (subid-range-end): New variable;
(subid-range-has-start?): new variable;
(subid-range-less): new variable.
* test/accounts.scm: Test them.
Change-Id: I8de1fd7cfe508b9c76408064d6f498471da0752d
Co-Authored-By: Ludovic Courtès <[email protected]>
Signed-off-by: Giacomo Leidi <[email protected]>
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
This commit adds a new record type, <subid-entry> and serializers
and deserializers for it in (gnu build accounts). Each instance of this
record represents one line in either /etc/subuid or /etc/subgid. Since
Shadow uses the same representation for both files, it should be ok if
we do it as well.
This commit adds also <subid-range>, a user facing representation of
<subid-entry>. It is supposed to be usable directly in OS configurations.
* gnu/build/accounts.scm (subid-entry): New record;
(write-subgid): add serializer for subgids;
(write-subuid): add serializer for subuids;
(read-subgid): add serializer for subgids;
(read-subuid): add serializer for subuids.
* gnu/system/accounts.scm (subid-range): New record.
* test/accounts.scm: Test them.
Change-Id: I6b037e40e354c069bf556412bb5b626bd3ea1b2c
Signed-off-by: Giacomo Leidi <[email protected]>
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/import/pypi.scm (guess-requirements): Support extracting
dependencies from pyproject.toml.
* tests/pypi.scm: ("pypi->guix-package, no requires.txt, but wheel."):
Renamed from "pypi->guix-package, wheels", remove requires.txt file,
because the current implementation cannot detect invalid files.
("pypi->guix-package, no usable requirement file, no wheel."): Renamed
from "pypi->guix-package, no usable requirement file.".
(test-pyproject.toml): New variable.
("pypi->guix-package, no wheel, no requires.txt, but pyproject.toml"):
New test.
("pypi->guix-package, no wheel, but requires.txt and pyproject.toml"):
Ditto.
Change-Id: Ib525750eb6ff4139a8209420042b28ae3c850764
Reviewed-by: Ludovic Courtès <[email protected]>
Signed-off-by: Sharlatan Hellseher <[email protected]>
|
|
* guix/packages.scm (add-input-label): Rely on 'origin-actual-file-name' for
internal inputs labels.
* tests/packages.scm ("this-package-input, origin"): New test.
* doc/guix.texi (package Reference): Mention origin lookup for
‘lookup-package-input’ & co.
* gnu/packages/base.scm (tzdata)[inputs]: Reintroduce label.
* gnu/packages/tex.scm (texlive-hyphen-complete)[inputs]: Likewise.
(texlive-newverbs)[native-inputs]: Likewise.
Change-Id: I6ba5352b1b1b8ab810da3730b09cb9db61d6429c
Co-authored-by: Simon Tournier <[email protected]>
|
|
This is a follow-up to commit
fdc0fefd46a45b70784a4e3f8900cbe593426a9e
build-system/pyproject: Use python-sans-pip-wrapper as default-python.
* tests/guix-shell-export-manifest.sh: Grep for python-sans-pip-wrapper, which
is the python now used by the pyproject-build-system.
Change-Id: I5f44e07544f80973fa6b306b2dcdf42ac3b56ad6
|
|
This is a follow-up to commit
6f8c8a86d827627f503a803381bce7fbcf8f39a0
gnu: Fix synopsis in miscelaneous packages.
Change-Id: I5f44e07544f80973fa6b306b2dcdf42ac3b56ad6
* tests/guix-package.sh: Search for GNU hello's changed synopsis "Example GNU
package".
Change-Id: I79f606afee348cb6d57d9c0d08e15cd9267d5ceb
|
|
Change-Id: Id14d4008391a01820ade754fa9c2ca8e88b8c7f9
|
|
* guix/build/toml.scm: New file.
* tests/toml.scm: New file.
* Makefile.am: Register new files.
|
|
* guix/lint.scm: Allow more common abbreviations in double-space-after
sentence check.
* tests/lint.scm: Add tests.
Change-Id: I0eedf73e5fcd0a8c67b3ae3dfa979a57fe0f6253
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
Prevent false positives in initials as the are commonly used in names, e.g.
Margaret E. Hamilton - which obviously do not end sentences. Check whether a
period character `.' is preceded by at least two characters. This should save
us from false positives when linting.
* guix/lint.scm(check-description-style)[check-end-of-sentence-space] Add
condition.
* tests/lint.scm: Add test case.
Change-Id: I42a1365aaaed2afc7308b88ebd4b0720ad362761
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/lint.scm(check-description-style)[check-description-typo]: Add spaces
to match strings to prevent matching false positives, like "allows tokens" or
"prevents torpedoes".
* tests/lint.scm: Add test.
Change-Id: Ifc2ec6167a590b9d2e742dd86fecd798c4bfaa24
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/lint.scm(check-synopsis-style)[check-proper-start]: Add condition.
* tests/lint.scm: Add test case.
Change-Id: I2509b3a4e7e51c6a274697ceb5f776c22e27c5f9
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/lint.scm(starts-with-texinfo-markup?): New function.
(check-description-style)[check-proper-start]: Add condition.
* tests/lint.scm: Add test case.
Change-Id: I674988882265d9e2041d48dba0f9627cd68bf292
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
Fix linter warnings for the following:
- packages that belong to some programming language or ecosystem,
e.g. python-foo or texlive-bar,
- packages whose names end in a version distinction, e.g. wlroots-0.16 and
- packages where the software's real name contains an underscore `_'
character where our package name replaced that with a hyphen `-',
e.g. wpa_supplicant and wpa-supplicant-minimal.
* guix/lint.scm (check-description-style)[check-proper-start]: Add conditions.
* tests/lint.scm: New tests.
Change-Id: Ifc9f5cda04db59e460e287cd93afae89c7f17e3c
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/lint.scm(check-synopsis-style): Add white space.
* tests/lint.scm: Fix indentation.
Signed-off-by: Ludovic Courtès <[email protected]>
Change-Id: I8e08fa43131c586065b742fc441172c9408877a3
|
|
* guix/import/utils.scm (beautify-description): Adjust to include "()" in
@code wrapper.
* tests/import-utils.scm ("beautify-description: wrap function names in
@code"): New test.
Change-Id: I2b58728571a18ce8302c1b6f98b0c16dbe5931c3
|
|
Fixes a bug introduced in 794e079437c8687f49d294322dab3b7a8a6abacf
whereby the grep patterns used in this test would also match
/gnu/store/…-rust-libgit2-sys-0.17.0+1.8.1.drv, thus getting 5 matches
instead of 4.
* tests/guix-build.sh: Refine grep patterns for ‘guix build -P1’ test.
Reported-by: Janneke Nieuwenhuizen <[email protected]>
Change-Id: Iae35e6ee44b8eca0ef66c1d8ab7f9ff65a59d8d0
|
|
Commit eee95b5a879b7096dffd533f24107cf8926b621e changed package
rewriting to ignore hidden packages. This patch permits the previous use
by adding an option to rewrite hidden packages.
* guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is
hidden, return it as-is unless #:replace-hidden? has been enabled.
* tests/packages.scm ("package-input-rewriting/spec, replace hidden
package"): New test.
* doc/guix.texi (Defining Package Variants): Update.
Change-Id: I0a7988cac70e0c6b88b0fe6e27c1036fa723e030
Signed-off-by: Ludovic Courtès <[email protected]>
|
|
* guix/transformations.scm (upstream-fetch): New procedure.
(package-with-upstream-version): Add #:preserve-patches? and honor it.
Change-Id: Ib56b84957d8bdad2eebe2551e2a6e477506fc55e
|
|
* guix/scripts/build.scm (show-help, %options): Add ‘--dependents’.
(dependents): New procedure.
(options->things-to-build): Add ‘store’ parameter; honor ‘dependents’
option.
[for-type]: Handle ‘dependents’ type.
(options->derivations): Update call to ‘options->things-to-build’.
* tests/guix-build.sh: Add test.
* doc/guix.texi (Additional Build Options): Document ‘--dependents’.
(Invoking guix refresh): Cross-reference it.
* doc/contributing.texi (Submitting Patches): Mention it.
Change-Id: I00b6d5831e1f1d35dc8b84a82605391d5a8f417c
|