gnu: Add cppcodec.
* gnu/packages/crates-io.scm (cppcodec): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add libnitrokey.
* gnu/packages/security-token.scm (libnitrokey): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: fcitx5-gtk: Split IM module output for different version of GTK.
* gnu/packages/fcitx5.scm (fcitx5-gtk)[arguments]: Use G-Expression.
<phases>: Split input method module into different outputs for GTK2, GTK3 and GTK4.
Now default output only provides GLib client of Fcitx5.
[inputs]: Use label-less style inputs.
[outputs]: Add new "gtk3" output.
[synopsis]: Fix typo.
[description]: Describe the functionality of each output.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: fcitx5-gtk: Add GTK 4 support.
* gnu/packages/fcitx5.scm (fcitx5-gtk)[arguments]:
<configure-flags>: Enable GTK 4 IM module.
<phases>: In 'patch-install-prefix', patch the install prefix of GTK 4 IM
module.
[inputs]: Add GTK 4.
[outputs]: Add 'gtk4'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: elixir: Fix regex for ERTS_BIN substitution.
* gnu/packages/elixir.scm (elixir)[arguments]: In 'replace-paths' phase,
change "ERTS_BIN" regexp.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
pull: '--list-generations' pipes its output to the pager.
* guix/scripts/pull.scm (process-query): For 'list-generations queries,
use 'with-paginated-output-port'.
(display-news-entry-title): Pass second argument to 'highlight'.
(display-news-entry): Pass second argument to 'dim'.
ui: 'display-generation' uses color when talking to a pager.
This makes sure that, say, 'guix pull -l' benefits from colors when its
output is piped to a pager, as long as the underlying terminal supports
it.
* guix/ui.scm (display-generation): Add second argument to 'highlight'.
ui: 'with-paginated-output-port' gives access to the wrapped port.
* guix/ui.scm (pager-port-mapping): New variable.
(pager-wrapped-port): New procedure.
(call-with-paginated-output-port): Parameterize 'pager-port-mapping'.
pull: '--list-generations' lists packages only with '--details'.
* guix/scripts/pull.scm (show-help, %options): Add "--details".
(process-query): Honor it.
* doc/guix.texi (Invoking guix pull): Document it.
gnu: ghc@4: Build without referring to packages in commencement.scm.
* gnu/packages/haskell.scm (ghc-4)[arguments]: Remove #:implicit-inputs?.
In 'bootstrap' phase, pass '-optc-D_GNU_SOURCE=1'. Use
'search-input-file' to locate lib{bfd,iberty}.a, and 'which' for cpp.
Patch 'mk/config.mk.in'. In 'configure' phase, emit "config.cache".
In 'make-boot' phase, replace "CLK_TCK" in 'nHandle.c'.
[native-inputs]: Remove now-implicit inputs; remove GLIBC-2.2.5,
GCC-MESBOOT0, and BINUTILS-MESBOOT. Add GCC-2.95 and BINUTILS-2.33.
Remove input labels.
gnu: ghc@4: Use 'search-patches'.
* gnu/packages/haskell.scm (ghc-4)[source]: Use 'search-patches'.
gnu: gcc: Add 2.95.
* gnu/packages/gcc.scm (gcc-2.95): New variable.
gnu: nhc98: Build with the current tool chain.
* gnu/packages/patches/nhc98-c-update.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/haskell.scm (nhc98)[source]: Use it.
[arguments]: Remove #:implicit-inputs?.
[native-inputs]: Remove.
gnu: xournalpp: Use G-expressions.
* gnu/packages/pdf.scm (xournalpp)[arguments]: Use G-expressions.
<#:phases>: Replace WHICH with SEARCH-INPUT-FILES.
gnu: xournalpp: Remove input labels.
* gnu/packages/pdf.scm (xournalpp)[native-inputs]: Remove labels.
gnu: xournalpp: Update to 1.1.1.
* gnu/packages/pdf.scm (xournalpp): Update to 1.1.1.
[arguments]<#:phases>: Remove unnecessary phase.
publish: Do not sign the URL/Compression/FileSize narinfo fields.
This will allow mirror operators to alter these non-normative bits of a
narinfo without having to resign narinfos.
* guix/scripts/publish.scm (narinfo-string): Remove
URL/Compression/FileSize from BASE-INFO. Move them after "Signature".
* tests/publish.scm ("/*.narinfo")
("/*.narinfo with properly encoded '+' sign")
("/*.narinfo with lzip + gzip")
("with cache, lzip + gzip"): Adjust accordingly.
* tests/substitute.scm ("query narinfo with signature over relevant subset"):
New test.
git-authenticate: Ensure the target is a descendant of the introductory commit.
Fixes a bug whereby authentication of a commit *not* descending from the
introductory commit could succeed, provided the commit verifies the
authorization invariant.
In the example below, A is a common ancestor of the introductory commit
I and of commit X. Authentication of X would succeed, even though it is
not a descendant of I, as long as X is authorized according to the
'.guix-authorizations' in A:
X I
\ /
A
This is because, 'authenticate-repository' would not check whether X
descends from I, and the call (commit-difference X I) would return X.
In practice that only affects forks because it means that ancestors of
the introductory commit already contain a '.guix-authorizations' file.
* guix/git-authenticate.scm (authenticate-repository): Add call to
'commit-descendant?'.
* tests/channels.scm ("authenticate-channel, not a descendant of introductory commit"):
New test.
* tests/git-authenticate.scm ("authenticate-repository, target not a descendant of intro"):
New test.
* tests/guix-git-authenticate.sh: Expect earlier test to fail since
9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 is not a descendant of
$intro_commit. Add new test targeting an ancestor of the introductory
commit, and another test targeting the v1.2.0 commit.
* doc/guix.texi (Specifying Channel Authorizations): Add a sentence.