Age | Commit message (Expand) | Author |
2020-10-19 | maint: update-guix-package: Prevent accidentally breaking guix pull....Fixes <https://issues.guix.gnu.org/43893>.
This changes the 'update-guix-package' tool so that it:
1. Always uses a clean checkout to compute the hash of the updated 'guix'
package.
2. Ensures the commit used in the updated 'guix' package definition has already
been pushed upstream.
* build-aux/update-guix-package.scm (%savannah-guix-git-repo-push-url): New
variable.
(with-input-pipe-to-string, with-temporary-git-worktree): New syntaxes.
(find-origin-remote, git-add-worktree): New procedures.
(commit-already-pushed?): New predicate.
(main): Check the commit used has already been pushed upstream and compute the
hash from a clean checkout.
* doc/contributing.texi (Updating the Guix Package): Document it.
* .dir-locals.el (scheme-mode): Fix indentation of with-temporary-git-worktree.
| Maxim Cournoyer |
2020-10-19 | doc: Produce stylable HTML for @deftp, @deffn, etc....'makeinfo --help' uses <strong> and <em> for those entries. Replace
that with CSS classes.
* doc/build.scm (html-manual-identifier-index)[build]: Adjust to handle
rewritten forms of <dt> entries.
* doc/build.scm (syntax-highlighted-html)[build][syntax-highlight]:
Handle <dt> forms and replace them.
[highlight-definition, space?]: New procedures.
| Ludovic Courtès |
2020-10-17 | doc: Fix typo....* doc/guix.texi (Invoking guix import): Fix typo.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Aniket Patil |
2020-10-17 | doc: cookbook: Balance parens in custom kernel examples....* doc/guix-cookbook.texi (Customizing the Kernel): Add missing paren in
example. Remove extra parens in other example.
| Ludovic Courtès |
2020-10-17 | doc: Generate cross-references in code snippets to the Guile manual....Occurrences of 'list', 'cons', etc. in code snippets now link to the
relevant section of the Guile manual.
* doc/build.scm (guile-manual, %guile-manual-base-url)
(guile-mono-node-indexes, guile-split-node-indexes): New variables.
(for-all-languages, merge-index-alists): New procedures.
<top level>: Rename 'mono-node-indexes' and 'split-node-indexes' to
'guix-mono-node-indexes' and 'guix-split-node-indexes' respectively.
Add 'mono-node-indexes' and 'split-node-indexes' defined as calls to
'merge-index-alists'.
| Ludovic Courtès |
2020-10-17 | doc: Allow code snippets in the cookbook to link to the manual....Until now, only code snippets in the manual itself would contain links
to identifier definitions. Now snippets in the cookbook also link to
definitions in the manual.
* doc/build.scm (html-manual): Add #:mono-node-indexes and #:multi-node-indexes
and pass it to 'syntax-highlighted-html'.
(pdf+html-manual): Likewise, and pass it to 'html-manual'.
<top level>: Factorize 'version' and 'source'. Define 'guix-manual',
'mono-node-indexes', and 'split-node-indexes'. Pass #:mono-node-indexes
and #:split-node-indexes to 'pdf+html-manual'.
| Ludovic Courtès |
2020-10-17 | doc: Move manual index creation to a separate derivation....* doc/build.scm (normalize-language-code, html-manual-identifier-index):
New procedures.
(syntax-highlighted-html): Add #:mono-node-indexes and #:split-node-indexes.
[build](underscore-decode, anchor-id->key, collect-anchors): Remove.
(language+node-anchors, mono-node-anchors, multi-node-anchors): New
variables.
Use them.
| Ludovic Courtès |
2020-10-17 | doc: Remove 'build.scm' from the source of the manual....That way we no longer have to rebuild the whole manual when fiddling
with 'build.scm'.
* doc/build.scm <top level>: Define 'select?' and pass it to
'pdf+html-manual'.
| Ludovic Courtès |
2020-10-17 | doc: Fixes for Texinfo metainfo....* doc/guix.texi (guix-pack)[GUIX_EXECUTION_ENGINE]: Use @env
instead of @code.
(zram-device-service-type): Use @code instead of @var for constant or
symbolic values.
(rshiny-service-type): Use @env instead of @code for R_LIBS_USER.
| Miguel Ángel Arruga Vivas |
2020-10-17 | doc: Fix minor typos....* doc/guix.texi (cargo-build-system): Fix install phase description.
(julia-build-system): Fix typo and add information from check.
(pulseaudio-configuration): Remove duplicated words.
(knot-acl-configuration)[id]: Fix typo.
(mpd-output)[extra-options]: Likewise.
(libvirt-configuration) [listen-tls?]: Add missing subject.
[listen-tcp?]: Add missing subject and period.
[tls-port, tcp-port, log-filters]: Add missing period.
(hurd-vm-configuration)[netoptions]: Fix typo in example.
(ganeti-watcher-service-type): Fix typo.
(grub-theme)[gfxmode]: Remove see before @pxref.
| Miguel Ángel Arruga Vivas |
2020-10-15 | doc: cookbook: Clarify what keywords are....* doc/guix-cookbook.texi (A Scheme Crash Course): Clarify what keywords
are.
| Ludovic Courtès |
2020-10-15 | doc: Improve "Build Utilities"....* doc/guix.texi (Build Utilities): Fix typos. Provide the correct
syntax for 'substitute*'. Add a 'modify-phases' example.
| Ludovic Courtès |
2020-10-15 | doc: Add "Build Utilities" section....* doc/guix.texi (Build Utilities): New section.
(Defining Packages): Refer to it.
(Build Systems): Likewise.
* doc/guix-cookbook.texi (Extended example): Likewise.
| Ludovic Courtès |
2020-10-15 | doc: cookbook: Use @code for the identifiers of utility functions....* doc/guix-cookbook.texi (Utility functions): Use @code instead of @asis.
| Ludovic Courtès |
2020-10-15 | doc: cookbook: More "#true" and "#false"....* doc/guix-cookbook.texi (Extended example)
(Customizing the Kernel, Running Guix on a Linode Server): Use #true and #false.
| Ludovic Courtès |
2020-10-15 | doc: cookbook: Use @var for meta-syntactic variables....* doc/guix-cookbook.texi (Extended example): Use @var for meta-syntactic
variables in 'modify-phases' description.
| Ludovic Courtès |
2020-10-15 | doc: cookbook: Fix 'let' form in example....* doc/guix-cookbook.texi (Extended example): Fix 'let' form in example.
| Ludovic Courtès |
2020-10-15 | doc: Fix typo....* doc/guix.texi (Guix Build Coordinator): Fix typo.
| Mathieu Othacehe |
2020-10-14 | services: nginx: Add lua module....* gnu/services/web.scm (<nginx-configuration>)
[lua-package-path, lua-package-cpath]: New record types.
* gnu/services/web.scm (default-nginx-config): Use them.
* doc/guix.texi (Web Services): Document this.
* doc/guix-cookbook.texi (System Configuration): Document this.
| Oleg Pykhalov |
2020-10-14 | doc: cookbook: Mention "#true" and "#false"....* doc/guix-cookbook.texi (A Scheme Crash Course): Mention "#true" and
"#false".
(Extended example): Likewise.
| Ludovic Courtès |
2020-10-14 | doc: Mention "i586-gnu" as supported and experimental....* doc/guix.texi (GNU Distribution): Mention "i586-gnu".
| Ludovic Courtès |
2020-10-14 | doc: Avoid orphan node....Commit 4b5a6fbc9b754c0ca70d033dd99f17c4f028733a turned "Transparent
Emulation with QEMU" into a node, but that was an orphan node, with no
up/next/previous links.
* doc/guix.texi (Virtualization Services): Capitalize subsection title.
(Transparent Emulation with QEMU): Remove "@node" and add "@anchor".
(Daemon Offload Setup): Adjust cross-reference accordingly.
| Ludovic Courtès |
2020-10-12 | guix build: Add '--with-c-toolchain'....* guix/scripts/build.scm (package-dependents/spec)
(package-toolchain-rewriting, transform-package-toolchain): New procedures.
(%transformations): Add it.
(%transformation-options, show-transformation-options-help): Add
'--with-c-toolchain'.
* tests/scripts-build.scm (depends-on-toolchain?): New procedure.
("options->transformation, with-c-toolchain")
("options->transformation, with-c-toolchain twice")
New test.
("options->transformation, with-c-toolchain, no effect"): New tests.
* doc/guix.texi (Package Transformation Options): Document it.
| Ludovic Courtès |
2020-10-12 | packages: Add 'package-with-c-toolchain'....* guix/build-system.scm (build-system-with-c-toolchain): New procedure.
* guix/packages.scm (package-with-c-toolchain): New procedure.
* tests/packages.scm ("package-with-c-toolchain"): New test.
* doc/guix.texi (package Reference): Document 'package-with-c-toolchain'.
(Build Systems): Mention it.
| Ludovic Courtès |
2020-10-09 | doc: Sync the client and daemon --rounds options documentation....Fixes <https://issues.guix.gnu.org/40867>.
* doc/guix.texi (Common Build Options): Suggest using '--keep-failed' to keep
differing build results in the store rather than 'guix archive'.
Reported-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
| Maxim Cournoyer |
2020-10-09 | doc: Document missing openssh configure option....* doc/guix.texi (Networking Services): Document configuration option to
specify the openssh package for the openssh-service-type.
| Efraim Flashner |
2020-10-08 | offload: Improve load normalization and configurability....Fixes <https://issues.guix.gnu.org/43773>.
The computed normalized load was previously obtained by dividing the load
average as found in /proc/loadavg by the number of parallel builds defined for
a build machine.
This normalized load didn't allow to compare machines with different number of
cores, as the load average reported by /proc/loadavg can be as high as the
number of cores; thus comparing that value to a fixed threshold of 2.0 would
mean machines with multiple cores were more likely to be flagged as overloaded
compared to single core machines.
This can be fixed by normalizing using the available number of cores instead
of the number of parallel jobs.
* guix/scripts/offload.scm (<build-machine>)[overload-threshold]: New field.
(node-load): Modify to return a normalized load value between 0 and 1, taking
into account the number of cores available.
(normalized-load): Remove procedure.
(report-load): New procedure.
(choose-build-machine): Adjust to use the modified 'node-load' and the new
'report-load' and 'build-machine-overload-threshold' procedures.
(check-machine-status): Adjust.
* doc/guix.texi (Daemon Offload Setup): Document the offload scheduler and the
new 'overload-threshold' field.
| Maxim Cournoyer |
2020-10-08 | doc: Clarify that guix-daemon doesn't have to be launched from the checkout....Suggested by Emmanuel Agullo.
* doc/contributing.texi (Running Guix Before It Is Installed): Move the
"./pre-inst-env guix-daemon" snippet at the bottom. Make it clear that
it's necessary only when hacking on guix-daemon or when guix-daemon is
not already running.
| Ludovic Courtès |
2020-10-08 | doc: Developers don't need to run "make install" in Guix....Suggested by Emmanuel Agullo.
* doc/contributing.texi (Building from Git): Mention that running "make
install" is unnecessary.
| Ludovic Courtès |
2020-10-08 | doc: Improve choice of options in service examples....* doc/guix.texi (Using the Configuration System): In example, set
'substitute-urls' rather than 'use-substitutes?', and set 'auto-login'
for 'mingetty-configuration'.
(Service Types and Services): In example, show 'extra-options' rather
than 'use-substitutes?'.
| Ludovic Courtès |
2020-10-06 | services: dnsmasq: Add TFTP configuration fields....* gnu/services/dns.scm (<dnsmasq-configuration>): Add TFTP configuration
fields.
(dnsmasq-shepherd-service): Use them.
* doc/guix.texi (DNS Services): Document them.
| Danny Milosavljevic |
2020-10-05 | services: guix: Add guix-build-coordinator-queue-builds-service-type....* gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>):
New record type.
(guix-build-coordinator-queue-builds-configuration,
guix-build-coordinator-queue-builds-configuration?,
guix-build-coordinator-queue-builds-configuration-package,
guix-build-coordinator-queue-builds-configuration-user,
guix-build-coordinator-queue-builds-coordinator,
guix-build-coordinator-queue-builds-configuration-systems,
guix-build-coordinator-queue-builds-configuration-system-and-targets,
guix-build-coordinator-queue-builds-configuration-guix-data-service,
guix-build-coordinator-queue-builds-configuration-processed-commits-file,
guix-build-coordinator-queue-builds-shepherd-services,
guix-build-coordinator-queue-builds-activation,
guix-build-coordinator-queue-builds-account): New procedures.
(guix-build-coordinator-queue-builds-service-type): New variable.
* doc/guix.texi (Guix Services): Document it.
| Christopher Baines |
2020-10-05 | services: guix: Add guix-build-coordinator-agent-service-type....* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New
record type.
(guix-build-coordinator-agent-configuration,
guix-build-coordinator-agent-configuration?,
guix-build-coordinator-agent-configuration-package,
guix-build-coordinator-agent-configuration-user,
guix-build-coordinator-agent-configuration-coordinator,
guix-build-coordinator-agent-configuration-uuid),
guix-build-coordinator-agent-configuration-password,
guix-build-coordinator-agent-configuration-password-file,
guix-build-coordinator-agent-configuration-systems,
guix-build-coordinator-agent-configuration-max-parallel-builds,
guix-build-coordinator-agent-configuration-derivation-substitute-urls,
guix-build-coordinator-agent-configuration-non-derivation-substitute-urls,
guix-build-coordinator-agent-shepherd-services,
guix-build-coordinator-agent-activation,
guix-build-coordinator-agent-account): New procedures.
(guix-build-coordinator-agent-service-type): New variable.
* doc/guix.texi (Guix Services): Document it.
| Christopher Baines |
2020-10-05 | services: guix: Add guix-build-coordinator-service-type....* gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record
type.
(guix-build-coordinator-configuration, guix-build-coordinator-configuration?,
guix-build-coordinator-configuration-package,
guix-build-coordinator-configuration-user,
guix-build-coordinator-configuration-group,
guix-build-coordinator-configuration-datastore-uri-string,
guix-build-coordinator-configuration-agent-communication-uri-string,
guix-build-coordinator-configuration-client-communication-uri-string,
guix-build-coordinator-configuration-allocation-strategy,
guix-build-coordinator-configuration-hooks,
guix-build-coordinator-configuration-guile,
make-guix-build-coordinator-start-script,
guix-build-coordinator-shepherd-services, guix-build-coordinator-activation,
guix-build-coordinator-account): New procedures.
(guix-build-coordinator-service-type): New variable.
* gnu/tests/guix.scm (%test-guix-build-coordinator): New variable.
* doc/guix.texi (Guix Services): Document it.
| Christopher Baines |
2020-10-02 | guix package: Re-apply package transformation when upgrading....* guix/scripts/package.scm (transaction-upgrade-entry)[upgrade]: Add
'transform' parameter. Pass PKG through it. Use
'manifest-entry-with-transformations'.
Call 'options->transformation' to get the transformation procedure.
* tests/guix-package.sh: Add 'guix package -u' test.
* tests/packages.scm ("transaction-upgrade-entry, transformation options preserved"):
New test.
* doc/guix.texi (Invoking guix package): Mention that transformations
are preserved across upgrades.
(Package Transformation Options): Likewise.
| Ludovic Courtès |
2020-10-02 | doc: Explain why '--without-tests' may fail with modified 'check' phase....* doc/guix.texi (Package Transformation Options): Explain.
| Florian Pelz |
2020-10-01 | gnu: Add webssh service....* gnu/services/ssh.scm:
(<webssh-configuration>): New record type.
(%webssh-configuration-nginx, webssh-service-type): New variables.
(webssh-account, webssh-activation, webssh-shepherd-service): New procedures.
* doc/guix.texi: Document this.
| Oleg Pykhalov |
2020-09-30 | scripts: system: Add support for image-type....* guix/scripts/system.scm (list-image-types): New procedure,
(%options): add "image-type" and "list-image-types" options, remove
"file-system-type" option,
(show-help): adapt accordingly,
(%default-options): also adapt, and set the default "image-type" to "raw",
(perform-action): add image-type argument and remove file-system-type argument,
(process-action): adapt perform-action call,
(system-derivation-for-action): remove base-image
argument, add image-type argument, and use it to create the image passed to
"system-image".
* tests/guix-system.sh: Adapt accordingly and add a test for
"--list-image-types" command.
* doc/guix.texi (Building the Installation Image,
Invoking guix system): Adapt accordingly.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Mathieu Othacehe |
2020-09-29 | services: hurd-vm: Initialize the guest's SSH/Guix keys at activation time....* gnu/services/virtualization.scm (initialize-hurd-vm-substitutes)
(hurd-vm-activation): New procedures.
(hurd-vm-service-type)[extensions]: Add ACTIVATION-SERVICE-TYPE
extension.
* doc/guix.texi (Transparent Emulation with QEMU): Mention GNU/Hurd.
(The Hurd in a Virtual Machine): Explain which files are automatically
installed and mention offloading.
| Ludovic Courtès |
2020-09-29 | services: guix: Generate key pair if needed during activation....* gnu/services/base.scm (guix-activation): Invoke "guix archive
--generate-key".
* doc/guix.texi (Invoking guix archive)
(Invoking guix deploy): Mention that 'guix-service-type' takes care of
generating the key pair.
| Ludovic Courtès |
2020-09-28 | services: Add elogind ‘handle-lid-switch-external-power’....* gnu/services/desktop.scm <elogind-configuration>: Add an
handle-lid-switch-external-power field, mapping to the
HandleLidSwitchExternalPower logind.conf setting.
* doc/guix.texi (Desktop Services): ‘Document’ it.
| Tobias Geerinckx-Rice |
2020-09-28 | doc: Clarify how to choose a user account shell....* doc/guix.texi (User Accounts): Add example with custom shell and
custom home directory. Add examples of shell gexps.
| Ludovic Courtès |
2020-09-27 | doc: Move channel @cindex within their nodes....* doc/guix.texi (Channels): Move @cindex at the beginning of the node
they refer to from the end of the previous node.
| Ludovic Courtès |
2020-09-27 | doc: Move "Primary URL" after "Specifying Channel Authorizations"....* doc/guix.texi (Primary URL): Move after "Specifying Channel
Authorizations" since the audience is channel authors who've already
taken care of authorizations.
| Ludovic Courtès |
2020-09-27 | doc: Promote "Channels" as chapter and reorder....The sectioning becomes:
1. Specifying Additional Channels (was 3.)
2. Using a Custom Guix Channel (was 2.)
3. Replicating Guix (was 9.)
4. Channel Authentication (was 1.)
5. Primary URL (was 7.)
6. Creating a Channel (reworded)
7. Package Modules in a Sub-directory (was 5.)
8. Declaring Channel Dependencies (was 4.)
9. Specifying Channel Authorizations (was 6.)
10. Writing Channel News (was 8.)
* doc/guix.texi (Channels): Move section to chapter.
Reorder the chapter.
Minor tweaks to keep uniformity.
Update the master menu.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2020-09-27 | doc: Update the master menu....* doc/guix.texi: Update the master menu.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2020-09-27 | packages: 'package-input-rewriting' has a #:deep? parameter....* guix/packages.scm (package-input-rewriting): Add #:deep? and pass it
to 'package-mapping'.
[replacement-property]: New variable.
[rewrite]: Check it.
[cut?]: New procedure.
* tests/packages.scm ("package-input-rewriting"): Pass #:deep? #f and
ensure implicit inputs were not rewritten. Avoid 'eq?' comparisons.
("package-input-rewriting, deep"): New test.
* gnu/packages/guile.scm (package-for-guile-2.0, package-for-guile-3.0):
Pass #:deep? #f.
| Ludovic Courtès |
2020-09-27 | packages: 'package-input-rewriting/spec' can rewrite implicit dependencies....With this change, '--with-input', '--with-graft', etc. also apply to
implicit dependencies. Thus, it's now possible to do:
guix build python-itsdangerous --with-input=python-wrapper=python@2
or:
guix build hello --with-graft=glibc=glibc@2.29
Additionally, before, implicit inputs were not rewritten, which could
lead to duplicates in the output of 'bag-transitive-inputs' (packages
that are not 'eq?' but lead to the same derivation). This in turn would
lead to unnecessary rebuilds when using '--with-input' & co. This
change fixes it by ensuring even implicit inputs are rewritten.
Fixes <https://bugs.gnu.org/42156>.
* guix/packages.scm (package-input-rewriting/spec): Add #:deep?
defaulting to #true, and pass it to 'package-mapping'.
[replacement-property]: New variable.
[rewrite]: Check that property and set it on the result of PROC.
[cut?]: New procedure.
* tests/packages.scm ("package-input-rewriting/spec"): Ensure implicit
inputs were unchanged.
("package-input-rewriting/spec, partial match"): Pass #:deep? #f.
("package-input-rewriting/spec, deep")
("package-input-rewriting/spec, no duplicates"): New tests.
(package/inherit): Move before use.
* tests/guix-build.sh: Add tests.
* tests/scripts-build.scm ("options->transformation, with-graft"):
Compare dependencies by package name or derivation file name.
* doc/guix.texi (Defining Packages): Adjust accordingly.
| Ludovic Courtès |
2020-09-27 | packages: 'package-mapping' can recurse on implicit inputs....* guix/packages.scm (build-system-with-package-mapping): New procedure.
(package-mapping): Add #:deep? and honor it.
* tests/packages.scm ("package-mapping"): Compare the direct inputs of
the bag of P0 and that of P1.
("package-mapping, deep"): New test.
| Ludovic Courtès |
2020-09-27 | guix build: Add '--without-tests'....* guix/scripts/build.scm (transform-package-tests): New procedure.
(%transformations, %transformation-options)
show-transformation-options-help): Add it.
* tests/scripts-build.scm ("options->transformation, without-tests"):
New test.
* doc/guix.texi (Package Transformation Options): Document it.
| Ludovic Courtès |