Commit Graph

7187 Commits

Author SHA1 Message Date
Efraim Flashner
1963daf94c
build: cargo-build-system: Don't try to package when skipping build.
* guix/build/cargo-build-system.scm (package): If the package isn't
going to be built then use the source instead.
2023-05-07 19:28:57 +03:00
Ludovic Courtès
c3d7c09b9f
Revert "download: Refer to the 'guile-gnutls' package and not 'gnutls'."
This reverts commit c625e5b64d, which
introduced a circular dependency: the origin of guile-gnutls relies on
'git-download', which would now depend on guile-gnutls.
2023-05-06 19:12:16 +02:00
Ludovic Courtès
c625e5b64d
download: Refer to the 'guile-gnutls' package and not 'gnutls'.
This is a followup to 305794762c, which
removed Guile bindings from 'gnutls'.

* guix/android-repo-download.scm (android-repo-fetch): Refer to
'guile-gnutls instead of 'gnutls.
* guix/cvs-download.scm (cvs-fetch): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
2023-05-06 18:19:13 +02:00
Ludovic Courtès
71fd35c1d5
lint: archival: Warn against non-origin package sources.
Suggested by Maxim Cournoyer <maxim.cournoyer@gmail.com>
and Simon Tournier <zimon.toutoune@gmail.com>.

* guix/lint.scm (check-archival): Add 'local-file?' clause.  Clarify
message in case (package-source package) is not an origin.
* tests/lint.scm ("archival: not an origin"): New test.
2023-05-06 17:12:45 +02:00
Jelle Licht
d8ce5e3297
build-system: node: Use --install-links' with npm install'.
Later versions of npm need to explicitly install a copy of local dependencies,
instead of only a symlink.

* guix/build/node-build-system.scm (configure): Add `--install-links' to npm
install invocation.
(install): Ditto.
2023-05-06 13:53:21 +02:00
Ludovic Courtès
75a25d9c2a
read-print: Recognize 'wrap-program' and 'wrap-script' as special forms.
* guix/read-print.scm (%special-forms): Add 'wrap-program' and
'wrap-script'.
2023-05-05 23:47:48 +02:00
Ludovic Courtès
8749f31485
read-print: Correctly read "(. x)".
* guix/read-print.scm (read-with-comments): Check whether REST is a pair
before calling 'set-cdr!'.
* tests/read-print.scm ("read-with-comments: half dot notation"): New test.
2023-05-05 23:47:48 +02:00
Sarthak Shah
ae11fcb84a
transformations: Add '--with-configure-flag'.
* guix/transformations.scm (transform-package-configure-flag): New
procedure.
(%transformation-options, %transformation-options)
(show-transformation-options-help/detailed): Add it.
* tests/transformations.scm ("options->transformation,
with-configure-flag"): New test.
* doc/guix.texi (Package Transformation Options): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-05-04 17:06:44 +02:00
Ludovic Courtès
68fa28b3c3
style: Make 'safe' policy less conservative.
Previously, a mere (arguments '(#:tests? #f)) would lead

  guix style -S inputs --input-simplification=safe

to bail out.  It now recognizes such trivial argument lists and
proceeds.

* guix/scripts/style.scm (trivial-package-arguments?): New procedure.
(simplify-package-inputs): Use it in the 'safe case instead of 'null?'.
* tests/style.scm ("input labels, 'safe' policy, trivial arguments"):
New test.
2023-05-04 17:06:43 +02:00
Ludovic Courtès
916c6e5716
profiles: 'texlive-font-maps' gracefully handles lack of texlive inputs.
Fixes <https://issues.guix.gnu.org/63043>.

* guix/profiles.scm (texlive-font-maps): Define 'texlive-inputs'.
[build]: Use it.
Return #f when TEXLIVE-INPUTS is empty.
2023-05-04 13:09:00 +02:00
Ludovic Courtès
25f04945d9
import: elpa: Standardize warning message.
* guix/import/elpa.scm (melpa-recipe->origin): Standardize warning
message.
2023-05-04 13:09:00 +02:00
Ludovic Courtès
124b921a5e
import: Cosmetic tweaks to 'recursive-import'.
* guix/import/utils.scm (recursive-import): Tweak docstring.  Simplify
'apply' call.
2023-05-04 13:09:00 +02:00
Ludovic Courtès
39eb9b5a5c
import: elpa: Use the expected repo in recursive imports.
* guix/import/elpa.scm (elpa-recursive-import): Pass REPO in calls to
'elpa->guix-package'.
2023-05-04 13:09:00 +02:00
Ludovic Courtès
8e065692c2
import: elpa: 'elpa->guix-package' accepts other keyword arguments.
This is a followup to 3c24da4260.

* guix/import/elpa.scm (elpa->guix-package): Add #:allow-other-keys.
2023-05-04 13:09:00 +02:00
Ludovic Courtès
fc6c96c88a
ftp-client: 'connect*' retries until the timeout has expired.
Partly fixes <https://issues.guix.gnu.org/63024>.
Reported by Greg Hogan <code@greghogan.com>
and Timo Wilken <guix@twilken.net>.

* guix/ftp-client.scm (connect*): When 'select' returns an empty set,
try again until TIMEOUT has expired.
2023-05-04 13:08:59 +02:00
Simon Tournier
03856dce4e
scripts: import: crate: Handle non-existent package.
Fixes <https://bugs/gnu.org/63020>.

* guix/scripts/import/crate.scm (guix-import-crate): Handle non-existent
package input.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30 23:08:06 +02:00
Simon Tournier
7304694f51
guix: import: crate: Fix incorrect returned values.
* guix/import/crate.scm (crate->guix-package): Return compatible values with
'recursive-import'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-30 23:07:58 +02:00
Leo Famulari
3b5b668303
build-system/cmake: Add support for the #:disallowed-references key.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build):
Add #:disallowed-references.
2023-04-30 04:47:18 -04:00
Ricardo Wurmus
90f67705f5
import/cran: Translate from xml2 to libxml2.
* guix/import/cran.scm (transform-sysname): Add translation from xml2 to
libxml2.
2023-04-29 20:09:30 +02:00
Ricardo Wurmus
2f53d9cce9
import/cran: Add "unix" to list of invalid packages.
* guix/import/cran.scm (invalid-packages): Add "unix".
2023-04-29 20:09:30 +02:00
Ricardo Wurmus
ec52655ce6
guix: Upgrade to Bioconductor 3.16.
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to
3.17.
* guix/import/cran.scm (%bioconductor-version): Same.
2023-04-29 20:09:30 +02:00
Ricardo Wurmus
cb8d080349
import/pypi: Generate packages using pyproject-build-system.
* guix/import/pypi.scm (make-pypi-sexp): Generate PACKAGE expression where the
value for the BUILD-SYSTEM field is PYPROJECT-BUILD-SYSTEM instead of
PYTHON-BUILD-SYSTEM.
2023-04-29 20:09:30 +02:00
Andreas Enge
92dd588b81
Merge remote-tracking branch 'origin/master' into core-updates 2023-04-24 20:43:01 +02:00
Ludovic Courtès
7931ac810b
read-print: 'pretty-print-with-comments' keeps newlines on long strings.
* guix/read-print.scm (printed-string)[preserve-newlines?]: New
procedure.
Use it to preserve newlines on long strings.
* tests/read-print.scm: Add test.
2023-04-24 10:27:13 +02:00
Andreas Enge
d7ec2805fb
Merge remote-tracking branch 'origin/master' into core-updates 2023-04-23 22:21:00 +02:00
宋文武
4502de61f2
refresh: Support select packages SUBSET by module name.
* guix/scripts/refresh.scm (%options): Support '--select module:NAME'.
(show-help): Adjust accordingly.
(options->update-specs): Honor the module passed by '--select'.
* doc/guix.texi (Invoking guix refresh): Document it.
2023-04-23 15:28:46 +08:00
Andreas Enge
d1252b597d
Merge remote-tracking branch 'origin/master' into core-updates 2023-04-22 09:21:22 +02:00
Ludovic Courtès
1df54ceab3
packages: 'package-direct-sources' correctly handles non-origin sources.
Previously 'package-direct-sources' would trigger a wrong-type-arg error
when passed a package whose 'source' is not an origin, such as
'ruby-sorbet-runtime'.

* guix/packages.scm (package-direct-sources): Call 'expand' if and only
if (package-source package) is an origin.
2023-04-21 17:09:50 +02:00
Ludovic Courtès
6d6add5f8f
ssh: Silence remote daemon messages when sending store items.
Fixes <https://issues.guix.gnu.org/61839>.

Previously, when running 'guix-daemon --debug' on the remote machine,
lots of debugging outputs would be printed to stderr; since the client
wouldn't read it, we could eventually reach a deadlock where the 'guix
repl' process would be stuck writing to stderr while the client is
stuck waiting on its stdout.

* guix/ssh.scm (store-import-channel)[import]: Parameterize
'current-build-output-port'.
2023-04-19 20:12:20 -04:00
Ludovic Courtès
e95e65541a
substitute: Download nar from another server upon ETIMEDOUT.
Previously, 'guix substitute' would fail abruptly with something like:

  guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow
  guix substitute: warning: try `--no-substitutes' if the problem persists
  guix substitute: error: connect*: Connection timed out
  substitution of /gnu/store/…-example failed

* guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT.
2023-04-19 20:12:20 -04:00
Ludovic Courtès
abdf812acc
environment: Really auto-load (guix scripts pack).
Fixes a performance regression on cache hits introduced in
b31ea797ed, whereby (guix scripts pack)
would be loaded eagerly during startup, leading hundreds of (gnu
packages *) modules to be loaded.

Fixes <https://issues.guix.gnu.org/62899>.

* guix/scripts/environment.scm: Autoload (gnu build install).
(%options): Add indirection when calling 'symlink-spec-option-parser' so
that (guix scripts pack) is auto-loaded only when needed.
2023-04-19 20:12:19 -04:00
Ludovic Courtès
166a3e3fde
ssh: Silence remote daemon messages when sending store items.
Fixes <https://issues.guix.gnu.org/61839>.

Previously, when running 'guix-daemon --debug' on the remote machine,
lots of debugging outputs would be printed to stderr; since the client
wouldn't read it, we could eventually reach a deadlock where the 'guix
repl' process would be stuck writing to stderr while the client is
stuck waiting on its stdout.

* guix/ssh.scm (store-import-channel)[import]: Parameterize
'current-build-output-port'.
2023-04-17 23:50:42 +02:00
Ludovic Courtès
8136c1578e
substitute: Download nar from another server upon ETIMEDOUT.
Previously, 'guix substitute' would fail abruptly with something like:

  guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow
  guix substitute: warning: try `--no-substitutes' if the problem persists
  guix substitute: error: connect*: Connection timed out
  substitution of /gnu/store/…-example failed

* guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT.
2023-04-17 23:50:42 +02:00
Ludovic Courtès
9fad6067d9
environment: Really auto-load (guix scripts pack).
Fixes a performance regression on cache hits introduced in
b31ea797ed, whereby (guix scripts pack)
would be loaded eagerly during startup, leading hundreds of (gnu
packages *) modules to be loaded.

Fixes <https://issues.guix.gnu.org/62899>.

* guix/scripts/environment.scm: Autoload (gnu build install).
(%options): Add indirection when calling 'symlink-spec-option-parser' so
that (guix scripts pack) is auto-loaded only when needed.
2023-04-17 23:50:41 +02:00
Andreas Enge
216d7bdb73
Merge remote-tracking branch 'origin/master' into core-updates 2023-04-17 19:17:39 +02:00
Christopher Baines
e5c33837cb
self: Restructure accessing packages.
Both for consistency (always use specification->package as defined in this
module) and so that all the packages that are used can be accessed (which
comes in useful when applying grafts).

* guix/self.scm (%packages): New variable.
(specification->package): Use %packages.
(locale-data, translate-texi-manuals, info-manual, guix-command,
compiled-guix): Use specification->package.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-04-17 15:39:42 +01:00
Christopher Baines
095754ea88
packages: Export guile-for-grafts.
So this can be used in (guix self).

* guix/packages.scm (guile-for-grafts): Export.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-04-17 15:39:40 +01:00
Maxim Cournoyer
3c8a4d64ff
maint: Merge sanity-check-next.py into sanity-check.py.
* gnu/packages/aux-files/python/sanity-check-next.py: Rename to...
* gnu/packages/aux-files/python/sanity-check.py: ... this.
* guix/build-system/pyproject.scm (sanity-check.py): Adjust file name.
* Makefile.am (AUX_FILES): De-register sanity-check-next.py.
2023-04-14 21:01:34 -04:00
Maxim Cournoyer
3bacd3c76a
Merge branch 'master' into core-updates.
Conflicts:
	gnu/local.mk
	gnu/packages/build-tools.scm
	gnu/packages/certs.scm
	gnu/packages/check.scm
	gnu/packages/compression.scm
	gnu/packages/cups.scm
	gnu/packages/fontutils.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/guile.scm
	gnu/packages/ibus.scm
	gnu/packages/image-processing.scm
	gnu/packages/linux.scm
	gnu/packages/music.scm
	gnu/packages/nss.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/qt.scm
	gnu/packages/ruby.scm
	gnu/packages/shells.scm
	gnu/packages/tex.scm
	gnu/packages/video.scm
	gnu/packages/vulkan.scm
	gnu/packages/web.scm
	gnu/packages/webkit.scm
	gnu/packages/wm.scm
2023-04-14 17:15:08 -04:00
Maxim Cournoyer
6de7e0e54c
build/glib-or-gtk: Avoid duplicate entries in gdk-pixbuf loaders cache.
* guix/build/glib-or-gtk-build-system.scm (generate-gdk-pixbuf-loaders-cache):
Delete duplicate directories passed as input.
2023-04-14 15:35:36 -04:00
Maxim Cournoyer
cc3dc58f2b
build: qt-utils: Revert setting QT_PLUGIN_PATH exactly.
Fixes <https://issues.guix.gnu.org/57742>.

The documentation of Qt states that it is a supported use case to mix Qt 5 and
Qt 6 plugins in QT_PLUGIN_PATH [0].  This reverts the change to QT_PLUGIN_PATH
introduced in 1f466ed6be ("build: qt: Add qtbase argument and wrap Qt
environment variables exactly.").

[0]  https://doc.qt.io/qt-6.2/deployment-plugins.html#loading-and-verifying-plugins-dynamically

* guix/build/qt-utils.scm (variables-for-wrapping): Wrap QT_PLUGIN_PATH using
the prefix method.
2023-04-14 15:11:39 -04:00
Maxim Cournoyer
7747da6aed
status: Guard against a numerical overflow condition.
Fixes <https://issues.guix.gnu.org/62766>.

* guix/status.scm (update-build): Use 0 as progress when an exception occurs
while computing it.
2023-04-12 08:29:37 -04:00
Ludovic Courtès
671cd78c7a
import: opam: Tweak doc for '--repo' option.
* guix/scripts/import/opam.scm (show-help): Tweak doc for. '--repo'.
2023-04-12 08:29:27 -04:00
Csepp
571907c362
import: opam: opam->guix-package: Fix default repo argument.
* guix/import/opam.scm (opam->guix-package): Make default repo a list of
strings.  Update docstring.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-12 08:29:27 -04:00
Ludovic Courtès
29e2e7135d
svn-download: Default to non-recursive checkouts.
As it turns out, all packages that fetch code from Subversion expect it
to be non-recursive by default.  Clarify that.

Reported by Timothy Sample <samplet@ngyro.com>.

* guix/svn-download.scm (<svn-reference>)[recursive?]: Default to #f.
(<svn-multi-reference>)[recursive?]: Likewise.
2023-04-12 08:29:26 -04:00
Ludovic Courtès
ea4a66b2af
import: Properly report "no specific version" errors.
* guix/import/cpan.scm (latest-release): Use 'raise' instead of
'error'.
* guix/import/elpa.scm (latest-release): Likewise.
* guix/import/hackage.scm (latest-release): Likewise.
* guix/import/minetest.scm (latest-minetest-release): Likewise.
* guix/import/opam.scm (latest-release): Likewise.
* guix/import/stackage.scm (latest-lts-release): Likewise.
2023-04-12 08:29:26 -04:00
Bruno Victal
0141e00b14
packages: Remove 'origin-sha256' procedure.
* guix/packages.scm (origin-sha256): Remove procedure.
* tests/import-utils.scm (test-import-utils)
[alist->package with explicit source]: Use content-hash-value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-12 08:29:21 -04:00
Florian Pelz
83ee4dcf87
po: Do not auto-translate cross-references to other manuals.
Reported by Gottfried at
<https://lists.gnu.org/archive/html/help-guix/2023-04/msg00000.html>.

* guix/build/po.scm (xref-regexp): Dispatch on the number of
arguments.  Ensure there is no info-manual argument or it is empty.
(translate-cross-references): Adapt to changed regexp.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-12 08:29:18 -04:00
Ludovic Courtès
4cc93a8d18
environment: Add '--nesting'.
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--nesting'.
(options/resolve-packages): Handle it.
(launch-environment/container): Add #:nesting? and honor it.
[nesting-mappings]: New procedure.
(guix-environment*): Add support for '--nesting'.
* guix/scripts/shell.scm (profile-cached-gc-root): Special-case
'nesting?'.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document it.
2023-04-12 08:29:16 -04:00
Maxim Cournoyer
756e1483c8
status: Guard against a numerical overflow condition.
Fixes <https://issues.guix.gnu.org/62766>.

* guix/status.scm (update-build): Use 0 as progress when an exception occurs
while computing it.
2023-04-10 22:20:21 -04:00
Maxim Cournoyer
3bc9082523
status: Guard against a numerical overflow condition.
Fixes <https://issues.guix.gnu.org/62766>.

* guix/status.scm (update-build): Use 0 as progress when an exception occurs
while computing it.
2023-04-10 22:18:29 -04:00
Maxim Cournoyer
22491ed9c5
build: meson: Explicitly invoke "meson setup" instead of just "meson".
* guix/build/meson-build-system.scm (configure): Invoke the setup command to
avoid a deprecation warning.
2023-04-09 12:55:46 -04:00
Maxim Cournoyer
9bf0a6e4a8
build: meson: Honor bindir, libdir and includedir.
This brings our meson-build-system closer to our gnu-build-system in terms of
using different installation prefixes based on the presence of outputs such as
"bin", "lib" or "include".

* guix/build/meson-build-system.scm (configure): Add --bindir, --libdir and
--includedir according to the presence of the "bin", "lib" and "include"
outputs, as done in gnu-build-system.
2023-04-09 12:55:45 -04:00
Ludovic Courtès
0f567d55de
import: opam: Tweak doc for '--repo' option.
* guix/scripts/import/opam.scm (show-help): Tweak doc for. '--repo'.
2023-04-08 23:48:00 +02:00
Csepp
ba88f0414b
import: opam: opam->guix-package: Fix default repo argument.
* guix/import/opam.scm (opam->guix-package): Make default repo a list of
strings.  Update docstring.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-04-08 23:47:21 +02:00
Ludovic Courtès
d036e1c544
svn-download: Default to non-recursive checkouts.
As it turns out, all packages that fetch code from Subversion expect it
to be non-recursive by default.  Clarify that.

Reported by Timothy Sample <samplet@ngyro.com>.

* guix/svn-download.scm (<svn-reference>)[recursive?]: Default to #f.
(<svn-multi-reference>)[recursive?]: Likewise.
2023-04-08 23:19:13 +02:00
Ludovic Courtès
adf95a810d
import: Properly report "no specific version" errors.
* guix/import/cpan.scm (latest-release): Use 'raise' instead of
'error'.
* guix/import/elpa.scm (latest-release): Likewise.
* guix/import/hackage.scm (latest-release): Likewise.
* guix/import/minetest.scm (latest-minetest-release): Likewise.
* guix/import/opam.scm (latest-release): Likewise.
* guix/import/stackage.scm (latest-lts-release): Likewise.
2023-04-08 22:54:53 +02:00
Bruno Victal
5481aaacb5
packages: Remove 'origin-sha256' procedure.
* guix/packages.scm (origin-sha256): Remove procedure.
* tests/import-utils.scm (test-import-utils)
[alist->package with explicit source]: Use content-hash-value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07 18:00:08 +02:00
Florian Pelz
89c536775d
po: Do not auto-translate cross-references to other manuals.
Reported by Gottfried at
<https://lists.gnu.org/archive/html/help-guix/2023-04/msg00000.html>.

* guix/build/po.scm (xref-regexp): Dispatch on the number of
arguments.  Ensure there is no info-manual argument or it is empty.
(translate-cross-references): Adapt to changed regexp.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-07 17:38:42 +02:00
Ludovic Courtès
57db09aae7
environment: Add '--nesting'.
* guix/scripts/environment.scm (show-environment-options-help)
(%options): Add '--nesting'.
(options/resolve-packages): Handle it.
(launch-environment/container): Add #:nesting? and honor it.
[nesting-mappings]: New procedure.
(guix-environment*): Add support for '--nesting'.
* guix/scripts/shell.scm (profile-cached-gc-root): Special-case
'nesting?'.
* tests/guix-environment-container.sh: Test it.
* doc/guix.texi (Invoking guix shell): Document it.
2023-04-06 18:34:15 +02:00
Ludovic Courtès
01d9859821
build-system/gnu: Add missing module import.
This import was removed in ae587c2ef0 on
'master'; it was inappropriate on 'core-updates'.

Reported by Christopher Baines.

* guix/build-system/dune.scm: Import (guix build-system gnu).
2023-04-06 11:45:30 +02:00
Maxim Cournoyer
99b25b1313
Merge branch 'master' into staging 2023-03-31 10:48:54 -04:00
Nicolas Goaziou
1dcaa0fc30
guix: Shorten home page URL in texlive importer.
* guix/import/texlive.scm (tlpdb->package): Use short URL for home page.
2023-03-30 18:16:31 +02:00
Ricardo Wurmus
739c257378
import/texlive: tlpdb->package: Ignore files outside of texmf-dist.
* guix/import/texlive.scm (tlpdb->package): Ignore files outside of texmf-dist
because the code assumes that this is the prefix for all files.
2023-03-29 21:07:39 +02:00
Ricardo Wurmus
b849a47bdb
import/texlive: Process license field only when it exists.
* guix/import/texlive.scm (tlpdb->package): Check "catalogue-license" field
before using string->license.
2023-03-29 21:07:39 +02:00
Ricardo Wurmus
03a83c2906
import/texlive: Only process description if it exists.
* guix/import/texlive.scm (tlpdb->package): Run beautify-description only when
the "longdesc" field exists.
2023-03-29 21:07:39 +02:00
Ricardo Wurmus
36f78676e5
import/texlive: Ignore architecture-dependent packages.
* guix/import/texlive.scm (tlpdb->package): Filter "depend" field to exclude
package names ending on ".ARCH".
2023-03-29 21:07:39 +02:00
Maxim Cournoyer
438a0de332
Merge remote-tracking branch 'origin/master' into staging 2023-03-28 22:40:32 -04:00
Maxim Cournoyer
cc7a79a8ad
Revert "lint: Append "/info/refs" to git-reference-url."
This reverts commit c9af27d4ca.

The change causes 'guix lint' to print URI not reachable (403) errors for
GitHub every URLs.
2023-03-28 22:22:50 -04:00
Maxim Cournoyer
e4ef2db8fd
build: qt-utils: Revert setting QT_PLUGIN_PATH exactly.
Fixes <https://issues.guix.gnu.org/57742>.

The documentation of Qt states that it is a supported use case to mix Qt 5 and
Qt 6 plugins in QT_PLUGIN_PATH [0].  This reverts the change to QT_PLUGIN_PATH
introduced in 1f466ed6be ("build: qt: Add qtbase argument and wrap Qt
environment variables exactly.").

[0]  https://doc.qt.io/qt-6.2/deployment-plugins.html#loading-and-verifying-plugins-dynamically

* guix/build/qt-utils.scm (variables-for-wrapping): Wrap QT_PLUGIN_PATH using
the prefix method.
2023-03-28 20:17:08 -04:00
Felix Lechner
c9af27d4ca
lint: Append "/info/refs" to git-reference-url.
For the atftp package added in the preceeding commit, lint produced this
warning:

  gnu/packages/networking.scm:2924:5: atftp@0.8.0:
    URI https://git.code.sf.net/p/atftp/code not reachable:
      404 ("Not Found")

Thanks to Sergey Trofimov for suggesting a fix! [1]

  [1]  https://issues.guix.gnu.org/62156#3

It was implemented here, and the warning disappeared.

* guix/lint.scm (check-source): Append "/info/refs" to git-reference-url.

Co-authored-by: Sergey Trofimov <sarg@sarg.org.ru>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-27 18:48:53 +02:00
Ludovic Courtès
ee0ef0b58f
lint: Prevent inlining of 'package-vulnerabilities'.
* guix/lint.scm (package-vulnerabilities): Prevent inlining.
2023-03-27 18:48:52 +02:00
Ludovic Courtès
836297eae5
syscalls: 'getxattr' throws upon error.
* guix/build/syscalls.scm (getxattr): Throw in the negative SIZE case.
2023-03-27 18:48:52 +02:00
Ludovic Courtès
af91c2d540
substitute: Gracefully handle TLS termination while fetching narinfos.
Fixes <https://issues.guix.gnu.org/62476>.

* guix/substitutes.scm (call-with-connection-error-handling): Add
'gnutls-error case.
2023-03-27 18:48:51 +02:00
jgart
4e9f914680
scripts: refresh: Add -T option.
* doc/guix.texi (Invoking guix refresh): Document the -T option.
* guix/scripts/refresh.scm (%options): Add the -T flag.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:56:52 -04:00
Sergey Trofimov
4f63b4b86d
guix: Run check-synopsis-style with other local checks.
* guix/lint.scm (%network-dependent-checkers): Move check-synopsis-style to...
(%local-checkers): ... here.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21 14:06:47 -04:00
Andreas Enge
ccb62d8feb
Merge remote-tracking branch 'origin/master' into core-updates 2023-03-20 18:49:06 +01:00
Antero Mejr
2135f69dc0
ui: format 'display-hint' output when no arguments are passed.
When display-hint is given format specifiers such as "~%" but no arguments,
it does not format the output, causing the specifiers to be visible in the
displayed text.

* guix/ui.scm (display-hint): Format output when no arguments are passed.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-17 23:20:35 +01:00
Ludovic Courtès
d15dbdb79c
pack: "fakechroot" engine passes the recursive RUNPATH to ld.so.
This is a followup to 58abd58739, which
did not fully address <https://issues.guix.gnu.org/43491>.

* guix/scripts/pack.scm (wrapped-package)[build](runpath): Rewrite in
terms of 'file-needed/recursive'.
2023-03-17 23:20:35 +01:00
Ludovic Courtès
83128f00e9
read-print: 'read-with-comments' reads comments within gexps.
Fixes <https://issues.guix.gnu.org/62059>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* guix/read-print.scm (read-with-comments): Special-case #~, #$, and #+.
* tests/read-print.scm: Add two tests.
2023-03-16 23:03:18 +01:00
Christopher Baines
b59f89cf18
guix: Improve download-nar.
Previously download-nar worked with gzipped nars and queried
berlin.guix.gnu.org (also known as ci.guix.gnu.org). ci.guix.gnu.org no longer
serves gzipped nars so this is of limited use.

This commit changes download-nar to query both the default substitute servers,
and queries for lzipped rather than gzipped nars, since those are available
from both.

* guix/build/download-nar.scm (urls-for-item): Return urls for lzip rather
than gzip compression, and from both default substitute servers. The comment
about CDN's is no longer relevant.
(restore-gzipped-nar): Rename to restore-lzipped-nar and reimplement
accordingly.
(download-nar): Add progress reporting and switch to use lzip rather than
gzip.
* guix/cvs-download.scm (cvs-fetch): Replace guile-zlib with guile-lzlib.
* guix/git-download.scm (git-fetch): Replace guile-zlib with guile-lzlib.
* guix/hg-download.scm (hg-fetch): Replace guile-zlib with guile-lzlib.
* guix/android-repo-download.scm (android-repo-fetch): Add guile-lzlib for
download-nar.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2023-03-16 18:37:01 +00:00
Ludovic Courtès
0bb0eeddf6
guix: Leave some of guix/build/* unchanged.
This partially reverts ae587c2ef0 to
reduce the number of rebuilds.
2023-03-13 15:17:24 +01:00
Winter
3a7757f1fd
environment: Clear 'TERM' when checking environment.
* guix/scripts/environment.scm (child-shell-environment): Set 'TERM' to
the empty string.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:33 +01:00
Ludovic Courtès
ae587c2ef0
guix: Strip #:use-module lists.
This was obtained by setting up this environment:

  guix shell -D guix --with-input=guile@3.0.9=guile-next \
    --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2
    -- make -j5

then adding 'unused-module' to (@@ (guix build compiler) %warnings),
building, and checking all the "unused module" warnings and removing
those that were definitely unused.
2023-03-13 15:08:33 +01:00
Ludovic Courtès
eee95b5a87
packages: 'package-input-rewriting/spec' ignores hidden packages.
The primary motivation is to support things like:

  guix build guix --with-input=guile=guile-next

without triggering a rebuild of (@@ (gnu packages commencement)
guile-final) and similar things.

It is also consistent with package name resolution on the command line:
a package that cannot be named cannot be replaced.

* guix/packages.scm (package-input-rewriting/spec)[rewrite]: When P is
hidden, return it as-is.
* tests/packages.scm ("package-input-rewriting/spec, hidden package"):
New test.
* doc/guix.texi (Defining Package Variants): Update.
(Package Transformation Options): Update '--with-input' example.
2023-03-13 15:08:33 +01:00
Ludovic Courtès
5dd0d7f99f
packages: Use SRFI-71 instead of SRFI-11.
* guix/packages.scm (package-input-rewriting/spec): Use SRFI-71 'let'.
2023-03-13 15:08:33 +01:00
Simon Tournier
9fb8a480d5
packages: Consider 'patches' by 'package-direct-sources'.
* guix/packages.scm (package-direct-sources): Return 'origin' from 'patches'.
* tests/packages.scm: Test it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13 15:08:32 +01:00
Antero Mejr
a70b9fb319
lint: Check that python-pre-commit is not an input.
pre-commit should never be a native-input of python packages, it's a
package manager for commit linting that is irrelevant to builds.

* guix/lint.scm (check-inputs-should-not-be-an-input-at-all): Add entry
for python-pre-commit.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2023-03-12 11:04:07 +01:00
Antero Mejr
6529534587
import: Add EUPL 1.1 to the SPDX license name converter.
* guix/import/utils.scm (spdx-string->license): Add EUPL-1.1 identifier.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:58 +01:00
Antero Mejr
ea2ff18238
licenses: Add LPL 1.02 (Lucent Public Licence).
* guix/licenses.scm (lpl1.02): New variable.
* guix/import/utils.scm (spdx-string->license): Add LPL-1.02 identifier.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-10 14:49:58 +01:00
Ludovic Courtès
79ae719ad1
build-system/gnu: Remove 'install-license-files' from '%dist-phases'.
* guix/build/gnu-dist.scm (%dist-phases): Delete 'install-license-files'.
2023-03-10 14:49:56 +01:00
Ludovic Courtès
0a37921d85
read-print: Correctly handle comments that follow a list head.
Fixes <https://issues.guix.gnu.org/61013>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* guix/read-print.scm (pretty-print-with-comments)[starts-with-line-comment?]:
New procedure.
Use it when printing a list.
* tests/read-print.scm: Add two tests.
2023-03-07 11:39:50 +01:00
Ludovic Courtès
11f6bdc547
read-print: Special-case channel-related forms.
* guix/read-print.scm (%special-forms, %newline-forms): Add
channel-related forms.
2023-03-07 11:39:50 +01:00
Maxim Cournoyer
ff5f34ae75
gnu: perl-extutils-pkgconfig: Support cross-compilation.
* guix/search-paths.scm ($PKG_CONFIG_PATH): New variable.
* gnu/packages/pkg-config.scm (%pkg-config): Use it.
* gnu/packages/perl.scm (perl-extutils-pkgconfig-for-target): New procedure.
(perl-extutils-pkgconfig): Turn into a syntax that
conditionally expands to...
(cross-perl-extutils-pkgconfig): ... this when %current-target-system is set,
or...
(%perl-extutils-pkgconfig): ... this in a native compilation context.
[arguments]: New field.
[propagated-inputs]: Turn into...
[native-inputs]: ... this.
[native-search-paths]: New field.
2023-03-06 21:27:06 -05:00
Josselin Poiret
aca64d5604
scripts: environment: Fix ordering issue with CWD and --expose.
Fixes <https://issues.guix.gnu.org/46782>.

* guix/scripts/environment.scm (launch-environment/container): Move the CWD
mapping to the front of the file system mappings.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-06 21:18:57 -05:00
Jelle Licht
7bbeaa87e3
build-system/guile: Expose #:scheme-file-regexp when cross-compiling
* guix/build-system/guile.scm (guile-cross-build): Accept #:scheme-file-regexp
and pass it on to builder.
2023-03-06 14:58:58 +01:00
Christopher Baines
7df09ee0ab
Merge remote-tracking branch 'savannah/master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/autotools.scm
	gnu/packages/cmake.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/haskell.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/samba.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/wxwidgets.scm
2023-03-02 10:55:08 +00:00
Ludovic Courtès
476741c5bb
build-system/gnu: 'static-package' uses gexps.
* guix/build-system/gnu.scm (static-package): Use gexps.
2023-02-28 17:10:40 +01:00
Ludovic Courtès
43c36c5c9f
ui: 'display-hint' quotes extra arguments for Texinfo.
Fixes <https://issues.guix.gnu.org/61201>.

Previously, common practice was to splice arbitrary strings (user names,
file names, etc.) into Texinfo snippets passed to 'display-hint'.  This
is unsafe in the general case because at signs and braces need to be
escaped to produced valid Texinfo.  This commit addresses that.

* guix/ui.scm (texinfo-quote): New procedure.
(display-hint): When ARGUMENTS is non-empty, pass it to 'texinfo-quote'
and call 'format'.
(report-unbound-variable-error, check-module-matches-file)
(display-collision-resolution-hint, run-guix-command): Remove explicit
'format' call; pass 'format' arguments as extra arguments to 'display-hint'.
* gnu/services/monitoring.scm (zabbix-front-end-config): Likewise.
* guix/scripts.scm (warn-about-disk-space): Likewise.
* guix/scripts/build.scm (%standard-cross-build-options)
(%standard-native-build-options): Likewise.
* guix/scripts/describe.scm (display-checkout-info): Likewise.
* guix/scripts/environment.scm (suggest-command-name): Likewise.
* guix/scripts/home.scm (process-command): Likewise.
* guix/scripts/home/edit.scm (service-type-not-found): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (display-search-path-hint): Likewise.
* guix/scripts/pull.scm (build-and-install): Likewise.
* guix/scripts/shell.scm (auto-detect-manifest): Likewise.
* guix/scripts/system.scm (check-file-system-availability): Likewise.
(guix-system): Likewise.
* guix/scripts/system/edit.scm (service-type-not-found): Likewise.
* guix/status.scm (print-build-event): Likewise.
2023-02-27 23:40:43 +01:00
Simon Tournier
96739561b8
scripts: repl: Extend REPL %load-path with all channels.
Fixes <https://bugs.gnu.org/61343>.
Reported by 宋文武 <iyzsong@envs.net>.

* guix/scripts/repl.scm (define-command): Before starting the REPL,
call 'current-profile' to populate (%package-module-path).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-27 15:54:09 +01:00