Commit graph

93592 commits

Author SHA1 Message Date
Ludovic Courtès
a8d3033da6
import: github: Reuse HTTP connection for the /tags URL fallback.
* guix/import/github.scm (fetch-releases-or-tags): Call
'open-connection-for-uri' and reuse the same connection for the two
'http-fetch' calls.
* .dir-locals.el (scheme-mode): Add 'call-with-port'.
2022-03-06 22:49:47 +01:00
Ludovic Courtès
8786c2e8d7
http-client: Correctly handle redirects when #:keep-alive? #t.
Previously PORT would be closed unconditionally, which broke redirects
when #:keep-alive? #t is given.

* guix/http-client.scm (http-fetch): Make 'port' a parameter of 'loop'.
Upon 3xx responses, do not close PORT is KEEP-ALIVE? is true, but consume
RESP's body.  Add second argument to 'loop'.
2022-03-06 22:49:47 +01:00
Ludovic Courtès
55e8e283ae
import: github: Gracefully handle rate limit exhaustion.
Previously, 'guix refresh' would literally crash when the rate limit was
reached due to the call to 'error'.  With this change, the updater
notices when the rate limit is reached and it turns itself into a no-op
until the rate limit has been reset.

When running "guix refresh" (with no arguments), the 'github' updater
gets used until the rate limit has been reached, after which "guix
refresh" automatically picks up the next valid updater, typically
'generic-git'.

* guix/import/github.scm (fetch-releases-or-tags): Use 'http-fetch'
directly instead of 'json-fetch' to let 'http-get-error?' exceptions
through.  Handle 403 errors with an 'X-RateLimit-Remaining' header.
(%rate-limit-reset-time): New variable.
(update-rate-limit-reset-time!, request-rate-limit-reached?): New
procedures.
(latest-released-version): Remove calls to 'error'.
2022-03-06 22:49:47 +01:00
Ludovic Courtès
ecad9b2213
http-client: Add response headers to '&http-get-error'.
* guix/http-client.scm (&http-get-error)[headers]: New field.
(http-fetch): Initialize the 'headers' field.
2022-03-06 22:49:46 +01:00
Ludovic Courtès
049aefddb2
tests: Add (guix http-client) tests.
* tests/http-client.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* .dir-locals.el (scheme-mode): Add 'with-http-server'.
2022-03-06 22:49:46 +01:00
Nicolas Goaziou
f75becbb36
gnu: emacs-go-mode: Activate tests.
* gnu/packages/emacs-xyz.scm (emacs-go-mode)[arguments]: Activate tests.
2022-03-06 22:44:51 +01:00
Nicolas Goaziou
48e72ee82b
gnu: emacs-go-mode: Update to 1.6.0.
* gnu/packages/emacs-xyz.scm (emacs-go-mode): Update to 1.6.0.
[arguments]: Remove unnecessary phase.
2022-03-06 22:14:15 +01:00
Efraim Flashner
e7886fd674
gnu: Add ncdu2.
* gnu/packages/ncdu.scm (ncdu2): New variable.
2022-03-06 14:15:15 +02:00
Efraim Flashner
78ff328d25
gnu: Add go-github-com-xdg-go-scram.
* gnu/packages/golang.scm (go-github-com-xdg-go-scram): New variable.
2022-03-06 12:24:59 +02:00
Efraim Flashner
fe8c2d907a
gnu: Add go-github-com-xdg-go-pbkdf2.
* gnu/packages/golang.scm (go-github-com-xdg-go-pbkdf2): New variable.
2022-03-06 12:24:54 +02:00
Efraim Flashner
092dba879a
gnu: Add go-github-com-docker-go-units.
* gnu/packages/golang.scm (go-github-com-docker-go-units): New variable.
2022-03-06 12:24:51 +02:00
Efraim Flashner
18b0527765
gnu: Add go-github-com-niemeyer-pretty.
* gnu/packages/golang.scm (go-github-com-niemeyer-pretty): New variable.
2022-03-06 12:24:43 +02:00
Efraim Flashner
7722184e6f
gnu: Add go-github-com-xdg-go-stringprep.
* gnu/packages/golang.scm (go-github-com-xdg-go-stringprep): New variable.
2022-03-06 12:21:42 +02:00
Nicolas Goaziou
0c6bf910ef
gnu: wob: Update to 0.13.
* gnu/packages/xdisorg.scm (wob): Update to 0.13.
2022-03-05 22:26:47 +01:00
Leo Famulari
9af61f2ad1
gnu: Syncthing: Update to 1.19.1.
* gnu/packages/syncthing.scm (syncthing): Update to 1.19.1.
2022-03-05 15:51:12 -05:00
Nicolas Goaziou
b0d023cba5
gnu: scintilla: Update to 5.2.1.
* gnu/packages/text-editors.scm (scintilla): Update to 5.2.1.
2022-03-05 11:07:00 +01:00
Jai Vetrivelan
089997998f
gnu: cl-md5: Update to 2.0.5.
* gnu/packages/lisp-xyz.scm (sbcl-md5): Update to 2.0.5.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2022-03-05 10:32:32 +01:00
Liliana Marie Prikler
97065f9fe3
gnu: komikku: Update to 0.37.0.
* gnu/packages/gnome.scm (komikku): Update to 0.37.0.
2022-03-04 23:44:59 +01:00
Philip McGrath
992ed3b4ce
gnu: racket-vm-cs: Build with "--enable-scheme".
* gnu/packages/racket.scm (racket-vm-cs)[native-inputs]: Replace
'chez-scheme-for-racket-bootstrap-bootfiles' with 'chez-scheme-for-racket'.
[arguments]<#:phases>: Delete 'unpack-bootfiles'.
<#:configure-flags>: Add "--enable-scheme".

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:54 +01:00
Philip McGrath
9e9e4686f7
gnu: chez: Add 'chez-scheme-for-system'.
* gnu/packages/chez.scm (chez-scheme-for-system): New procedure.
(chez-srfi, chez-web, chez-sockets, chez-matchable, chez-irregex)
(chez-fmt, chez-mit, chez-scmutils): Use 'chez-scheme-for-system'.
* gnu/packages/loko.scm (loko-scheme): Likewise.
* gnu/packages/emacs-xyz.scm (emacs-geiser-chez): Likewise

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:49 +01:00
Philip McGrath
61ca3d9a84
gnu: Add chez-scheme-for-racket.
The Racket variant of Chez Scheme can be used to support platforms that
are not yet supported by upstream Chez Scheme.

* gnu/packages/chez.scm (chez-scheme-for-racket): New variable.
(chez-scheme-for-racket-bootstrap-bootfiles)[version]
[supported-systems]: Derive from 'chez-scheme-for-racket'.
* gnu/packages/racket.scm (%racket-version): Update comment.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:41 +01:00
Philip McGrath
b639b36de2
gnu: chez-mit: Support chez-scheme-for-racket.
Racket's variant of Chez Scheme defines 'string->uninterned-symbol',
which conflicts with the definition from '(chez mit)'. See discussion at
<https://github.com/racket/racket/issues/4151>.

* gnu/packages/chez.scm (chez-mit)[origin]<snippet>: Add workaround for
chez-scheme-for-racket.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:33 +01:00
Philip McGrath
f79049caae
gnu: chez-scheme: Explicitly package bootstrap bootfiles.
This makes the structure of the upstream Chez Scheme package the same as
for the Racket variant, it sets things up for (one day, hopefully)
actually being able to bootstrap the upstream Chez Scheme bootfiles, and
it may be useful for cross-compilation and adding support for
architectures without pre-built bootfiles from upstream.

* gnu/packages/chez.scm (chez-scheme-bootstrap-bootfiles): New
variable.
(chez-scheme)[native-inputs]: Add it.
[arguments]<#:phases>: Add 'unpack-bootfiles'.
(chez-scheme-for-racket-bootstrap-bootfiles): Inherit from
'chez-scheme-bootstrap-bootfiles'.
[arguments]: Adapt accordingly.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:21 +01:00
Philip McGrath
6bca38f282
gnu: Add chez-nanopass.
* gnu/packages/chez.scm (nanopass): Rename to ...
(chez-nanopass-bootstrap): ... this new variable, and promote it from an
origin to a package.
(chez-nanopass): New variable.
(unpack-nanopass+stex): New variable using 'chez-nanopass-bootstrap'.
(chez-scheme-for-racket-bootstrap-bootfiles)
(chez-scheme)[native-inputs]: Add 'chez-nanopass-bootstrap'.
[arguments]<#:phases>: Adapt 'unpack-nanopass+stex' phase
to use the new variable.
* gnu/packages/racket.scm (racket-vm-cs): Likewise.
(make-unpack-nanopass+stex): Remove it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:44:11 +01:00
Philip McGrath
e8518c43a3
gnu: Add stex.
* gnu/packages/chez.scm (stex-bootstrap): New hidden package.
(stex): Change from origin to package inheriting from 'stex-bootstrap'
(chez-scheme)[native-inputs]: Add 'stex-bootstrap'. Remove dependencies
of stex-bootstrap.
[arguments]<#:phases>: Remove 'prepare-stex'. Adjust
'unpack-nanopass+stex' and 'install-doc'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:53 +01:00
Philip McGrath
75f9f9441f
gnu: chez-scheme: Use new package style.
* gnu/packages/chez.scm (chez-scheme)[inputs]: Remove labels.
[native-inputs]: Likewise.
[arguments]: Use G-expressions.
<#:phases>: Use 'search-input-file' instead of 'assoc-ref'.
(nanopass): Make public as a temporary workaround for Racket.
* gnu/packages/racket.scm (make-unpack-nanopass+stex): Update
accordingly.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:43 +01:00
Philip McGrath
37a75d23a9
gnu: chez-scheme: Use shared zlib and lz4.
This change also involves building 'libkernel.a' instead of 'kernel.o'.

Support for these build options was merged upstream in 2019: see
discussion at <https://github.com/cisco/ChezScheme/pull/443>.

* gnu/packages/chez.scm (chez-scheme)[inputs]: Remove 'zlib:static' and
'lz4:static'.
[arguments]: Adjust configure phase accordingly.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:32 +01:00
Philip McGrath
2a3946bae9
gnu: chez-scheme: Use "lib/chez-scheme" for search path.
There does not seem to be any widely accepted standard path to use for
"CHEZSCHEMELIBDIRS". Using a path without a version number in it avoids
having to compute the actual path everywhere, which would be especially
unpleasant when support is added for the Racket variant of Chez Scheme,
which always has a different version number than upstream.

* gnu/packages/chez.scm (chez-scheme)[native-search-paths]: Change to
use "lib/chez-scheme" instead of "lib/csvX.Y.Z-site" for
"CHEZSCHEMELIBDIRS".
(chez-make-flags): Update accordingly.
(chez-sockets)[arguments]<#:phases>: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:25 +01:00
Philip McGrath
346d8b9a49
gnu: chez-scheme: Use new style for Chez packages.
* gnu/packages/chez.scm (chez-configure, chez-make-flags): Use
G-expressions.
(chez-srfi)[arguments]: Use G-expressions, 'chez-configure', and
'chez-make-flags'.
(chez-web, chez-sockets)[native-inputs]: Remove labels.
[arguments]: Use G-expressions.
(chez-matchable, chez-irregex, chez-fmt, chez-mit)
(chez-scmutils)[arguments]: Use G-expressions.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:19 +01:00
Philip McGrath
9b1bfc0ce9
gnu: racket: Add 'racket-vm-for-system'.
* gnu/packages/racket.scm (racket-vm-for-system): New procedure.
(racket-minimal, racket)[inputs]: Use it.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:43:15 +01:00
Philip McGrath
f5a73d1747
gnu: chez: Add utilities for Chez machine types.
* gnu/packages/chez.scm (chez-machine->nonthreaded)
(chez-machine->threaded, chez-machine->nix-system)
(nix-system->chez-machine, chez-upstream-features-for-system)
(%nix-arch-to-chez-alist, %nix-os-to-chez-alist): New variables.
(chez-scheme)[supported-systems]: Compute based on
'nix-system->chez-machine' and 'chez-upstream-features-for-system'.
(chez-scheme-for-racket-bootstrap-bootfiles)[supported-systems]: Compute
based on 'nix-system->chez-machine'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:42:32 +01:00
Philip McGrath
df00c01d94
gnu: racket: Move Chez bootfiles to (gnu packages chez).
* gnu/packages/racket.scm (chez-scheme-for-racket-bootstrap-bootfiles):
Move to ...
* gnu/packages/chez.scm (chez-scheme-for-racket-bootstrap-bootfiles):
... this new variable.
[source]: Avoid problematic cycle with "racket.scm".
[arguments]<#:phases>: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:42:26 +01:00
Philip McGrath
035562b7b7
gnu: racket-minimal: Separate from the Racket VM.
For consistency with other Racket distributions, 'racket-minimal' should
have the "racket-lib" Racket package installed: see
<https://github.com/racket/racket/issues/3851#issuecomment-942368947>.

Happily, this gives us a clean boundary between the core Racket VM and
compiler, with all of the bootstrapping involved, and building Racket
packages and installation layers, which can be handled in a nice,
uniform way and eventually turned into a 'racket-build-system'.
Building the VM layer as an "in-place" installation should help us use
it with other Racket tools.

* gnu/packages/racket.scm (racket-vm-common-configure-flags): Add
"--enable-origtree" and --prefix. Adapt "--enable-racket=" accordingly.
(racket-minimal-bc-cgc): Rename to ...
(racket-vm-cgc): ... this new variable.
[inputs]: Move 'openssl' and 'sqlite' to new 'racket-minimal'.
[arguments]<#:strip-directories>: Use "opt/racket-vm/" prefix.
<#:phases>: Adapt 'initialize-config.rktd' for removal of
'openssl' and 'sqlite'.
[description]: Tweak.
(racket-minimal-bc-3m): Rename to ...
(racket-vm-bc): ... this new variable.
[synopsis, description]: Tweak.
(racket-vm-cs): New variable, adapted from the old 'racket-minimal'.
(chez-scheme-for-racket-bootstrap-bootfiles)[arguments]<#:phhases>:
Adapt to the "opt/racket-vm/" prefix.
(racket-minimal): Rewrite like 'racket' using 'racket-vm-cs'.
(racket): Inherit from 'racket-minimal'.
[inputs]: Add 'racket-vm-cs'. Move "racket-lib" and "base" to
'racket-minimal'.
[arguments]<#:make-flags, #:configure-flags>: Override from
'racket-minimal'.
(configure-layer.rkt): Adapt to support in-place VM build with possible
intermediate layer.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:52 +01:00
Philip McGrath
f6cd4279a0
gnu: configure-layer.rkt: Adjust indentation.
* gnu/packages/racket.scm (configure-layer.rkt): Wrap 'command-line' in
'define-values' to reduce rightward drift.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:23 +01:00
Philip McGrath
049a27d8a8
gnu: racket-minimal: Add "debug" output.
* gnu/packages/racket.scm (racket-minimal-bc-cgc)[outputs]: Add "debug".
(racket-vm-common-configure-flags): Add "--disable-strip".

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:13 +01:00
Philip McGrath
ec031b3cf3
gnu: racket-minimal: Adjust indentation.
* gnu/packages/racket.scm (racket-minimal-bc-cgc): Use 'hidden-package'
rather than 'properties'.
(racket-minimal-bc-3m): Remove redundant 'hidden-package' wrapper.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:38:09 +01:00
Philip McGrath
daa91a49b2
gnu: racket-minimal: Change inheritance to follow bootstrapping.
Having the package inheritance chain go in the same direction as the
bootstrapping chain, rather than the opposite, is less confusing. In
some cases, it can also help to avoid unnecessary rebuilds.

* gnu/packages/racket.scm (racket-minimal-bc-cgc): Change to be the root
of the package inheritance chain.
[version, source, inputs, native-inputs, build-system, arguments]
[home-page, license]: Inline formerly inherited values.
(racket-minimal-bc-3m): Inherit from 'racket-minimal-bc-cgc' rather than
'racket-minimal'.
[inputs, native-inputs, arguments, license]: Adjust accordingly.
(racket-minimal): Inherit from 'racket-minimal-bc-3m'.
[inputs, native-inputs, arguments, license]: Adjust accordingly.
[properties]: Override effect of 'hidden-package'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:59 +01:00
Philip McGrath
9f8f785014
gnu: racket-minimal: Don't configure non-existant catalogs.
* gnu/packages/racket.scm (racket-minimal)[arguments]<#:phases>: Change
'initialize-config.rktd' to only add a release catalog when the package
version is a release version.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:55 +01:00
Philip McGrath
9e5e413c81
gnu: racket-minimal: Use new package style.
* gnu/packages/racket.scm (cfg-flag:sh-for-rktio, cfg-flag:enable-lt)
(cfg-flag:enable-racket): Change to G-expressions and combine in ...
(racket-vm-common-configure-flags): ... this new thunk.
(unpack-nanopass+stex): Change to G-expression and move to ...
(make-unpack-nanopass+stex): ... this new thunk.
(racket-bootstrap-chez-bootfiles): Rename to ...
(chez-scheme-for-racket-bootstrap-bootfiles): ... this new variable, and
stop inheriting from 'racket-minimal'.
[native-inputs]: Remove labels.
[build-system]: Use 'copy-build-system'.
[arguments]: Use G-expressions. Install under "lib".
(racket-minimal)[inputs, native-inputs]: Remove labels.
[arguments]: Use G-expressions. Avoid 'assoc-ref'. Adapt to changes in
'chez-scheme-for-racket-bootstrap-bootfiles'.
(racket-minimal-bc-3m)[native-inputs]: Remove labels.
[arguments]: Use G-expressions.
(racket-minimal-bc-cgc)[native-inputs]: Remove labels.
[arguments]: Use G-expressions.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:42 +01:00
Philip McGrath
81e532ff19
gnu: racket: Use Git origins for Racket packages.
* gnu/packages/patches/racket-gui-tethered-launcher-backport.patch:
Adjust path.
* gnu/packages/racket.scm (racket-packages-origin)
(simple-racket-origin): New procedures.
(extend-layer): Rename to ...
(configure-layer.rkt): ... this variable.  Tweak command-line arguments.
Adapt to 'config-tethered-apps-dir'.
(racket): Stop inheriting from 'racket-minimal'.
[version]: Use '%racket-version'.
[source]: Stop using bundled tarball.
[inputs]: Remove labels. Add 'racket-minimal' and package sources.
[native-inputs]: Reduce to racket-minimal.
Untested, as cross-compilation doesn't work yet.
[arguments]: Rewrite to use G-expressions, package sources from
'inputs', an explicit 'install' phase, and the revised
'configure-layer.rkt'.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:37:24 +01:00
Philip McGrath
56cf53fb7b
gnu: racket: Update to 8.4.
* gnu/packages/patches/racket-enable-scheme-backport.patch,
gnu/packages/patches/racket-gui-tethered-launcher-backport.patch: New
patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%racket-version, %racket-commit)
(%racket-origin): New variables.
[patches]: Add "racket-enable-scheme-backport.patch".
(racket-minimal): Update to 8.4.
[version]: Use '%racket-version'.
[source]: Use '%racket-origin'.
[inputs]: Add 'ncurses'. Remove 'zlib:static' and 'lz4:static'.
(racket-minimal-bc-3m)[inputs]: Adjust accordingly.
(racket-bootstrap-chez-bootfiles)[version]: Use Chez Scheme's
'(scheme-fork-version-number)'.
(racket)[version]: Use '%racket-version'.
[native-inputs]: Use '%racket-origin'.
[source]: Update to 8.4.
<patches>: Use "racket-gui-tethered-launcher-backport.patch".
<snippet>: Remove "srfi-doc-nonfree".

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:36:58 +01:00
Philip McGrath
0ff69fa1dd
gnu: Use license prefix in (gnu packages racket).
* gnu/packages/racket.scm (racket-minimal, racket-minimal-bc-3m)
(racket-bootstrap-chez-bootfiles): Use license prefix.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-03-04 23:36:48 +01:00
Vinicius Monego
b5f654b238
gnu: kdenlive: Gexp arguments.
* gnu/packages/kde.scm (kdenlive)[arguments]: Rewrite as gexps.
2022-03-04 19:18:20 -03:00
Vinicius Monego
4e1f20b43e
gnu: kdenlive: Add dependency on ladspa.
* gnu/packages/kde.scm (kdenlive)[inputs]: Add ladspa.
[arguments]<#:phases>: Wrap LADSPA_PATH in the 'wrap-executable phase.
2022-03-04 19:18:20 -03:00
Vinicius Monego
5b248cc23e
gnu: kdenlive: Update to 21.12.3.
* gnu/packages/kde.scm (kdenlive): Update to 21.12.3.
[source]: Use git-file-name function.
[inputs]: Add bash-minimal.
2022-03-04 19:18:12 -03:00
Guillaume Le Vaillant
d049ff1599
gnu: cl-olc: Update to 1.0-1.0269ed7.
* gnu/packages/lisp-xyz.scm (sbcl-olc): Update to 1.0-1.0269ed7.
2022-03-04 22:20:27 +01:00
Guillaume Le Vaillant
eb6425ee43
gnu: cl-maidenhead: Update to 1.0-1.202671f.
* gnu/packages/lisp-xyz.scm (sbcl-maidenhead): Update to 1.0-1.202671f.
2022-03-04 22:17:30 +01:00
Guillaume Le Vaillant
04bc3120ef
gnu: cl-mgrs: Update to 1.0-1.c06f268.
* gnu/packages/lisp-xyz.scm (sbcl-mgrs): Update to 1.0-1.c06f268.
2022-03-04 22:15:31 +01:00
Maxim Cournoyer
88d2161517
gnu: hello: Update to 2.12.
* gnu/packages/base.scm (hello): Update to 2.12.
2022-03-03 22:44:45 -05:00
Maxim Cournoyer
0b0b377db8
gnu: Add kdiskmark.
* gnu/packages/benchmark.scm (kdiskmark): New variable.
2022-03-03 22:37:52 -05:00