~ruther/guix-local

ref: 11651fbf7f1908351261dc6c9dd6a967acaabbc5 guix-local/guix d---------
37c2e94c — Lars-Dominik Braun 3 years ago
guix: node-build-system: Delete from peerDependencies too.

The current version of npm in Guix installs peerDependencies by default,
whereas previously it would just warn about missing/wrong packages.

Fixes <https://issues.guix.gnu.org/issue/64203>.

* guix/build/node-build-system.scm (delete-dependencies): Remove supplied
dependencies from peerDependencies field too.
1b7aabbc — Ludovic Courtès 3 years ago
Add 'guix locate'.

* guix/scripts/locate.scm, tests/guix-locate.sh: New files.
* Makefile.am (MODULES): Add 'guix/scripts/locate.scm'.
(SH_TESTS): Add 'tests/guix-locate.sh'.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Invoking guix locate): New node.

Co-authored-by: Antoine R. Dumont <antoine.romain.dumont@gmail.com>
1261ce15 — Ludovic Courtès 3 years ago
store: Tolerate non-existent GC root directories.

* guix/store/roots.scm (gc-roots): Wrap 'scandir*' call in 'catch'.
* tests/store-roots.scm ("gc-roots, initial"): New test.  Move
'open-connection' call below.
ff690faf — Janneke Nieuwenhuizen 3 years ago
gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?.

* gnu/packages/hurd.scm (hurd-target?): Remove.
(hurd-system?): Move to...
* guix/utils.scm (system-hurd?): ...here.
* gnu/packages/*: Update all users, removing (gnu packages hurd) include where
now unused.
248cf061 — Ludovic Courtès 3 years ago
avahi: Resolve hosts for which name resolution fails.

This avoids attempts to connect to hosts that went off-line.  This is
particularly important for 'guix-daemon --discover', which would so far
keep attempting to talk to LAN hosts after they vanished just because
their mDNS record hasn't expired, leading to significant delays when
fetching narinfos and substitutes.

* guix/avahi.scm (avahi-browse-service-thread)[service-resolver-callback]:
Add handler to RESOLVER-EVENT/FAILURE.
99a27d36 — Ludovic Courtès 3 years ago
guix home: Add missing SRFI-34 import for 'raise'.

Reported at <https://issues.guix.gnu.org/64031>.

* guix/scripts/home.scm: Use (srfi srfi-34), expected by
'list-generations'.

Reported-by: Steven Roose <steven@roose.io>
a3beb8d7 — Ludovic Courtès 3 years ago
pull: Preserve channel ordering when using '--commit', '--url', etc.

Previously using '--url', '--commit', or '--branch' would move the
'guix' channel to the front.  This is okay in itself but it gratuitously
leads to a different cache key in 'cached-channel-instance'--IOW, 'guix
time-machine --commit=X' where X is already in cache would gratuitously
recompute the channel derivations.

* guix/scripts/pull.scm (channel-list): Use 'map' instead of 'find' +
'remove' + 'cons'.
e4259d4e — Ludovic Courtès 3 years ago
packages: 'package-transitive-supported-systems' detects cycles.

With this change, commands such as 'guix build' or 'guix package' report
obvious package-level cycles upfront.  Derivation-level cycles are not
detected.

* guix/packages.scm (&package-cyclic-dependency-error): New condition
type.
(package-transitive-supported-systems): Define 'visited', check it, and
parameterize it.
* guix/ui.scm (call-with-error-handling): Handle
'&package-cyclic-dependency-error'.
* tests/packages.scm ("package-transitive-supported-systems detects
cycles"): Add test.
4699de59 — Ricardo Wurmus 3 years ago
import/cran: Add another clause for ASL 2.0.

* guix/import/cran.scm (string->license): Add clause for >= 2.0.
e6da6e31 — Timothy Sample 3 years ago
svn-download: Do not expand keywords.

Subversion keyword expansion is potentially non-reproducible as some of
them expand time strings relative to the local time zone:

  https://issues.guix.gnu.org/43442#18

In practice this is not a problem in Guix since Subversion checkouts
happen in an isolated environment using the "default timezone" (UTC).

However, Software Heritage disables keyword expansion for this very
reason.  By following suit, we make sure content can be retrieved from
there.

* guix/build/svn.scm (svn-fecth): Pass "--ignore-keywords" to
Subversion.
* guix/build-system/texlive.scm (%texlive-date): New variable.
* gnu/packages/java.scm (java-geronimo-xbean-reflect)
(java-geronimo-genesis-2.1): Update the source hash.
* gnu/packages/machine-learning.scm (ghmm): Likewise.
* gnu/packages/video.scm (libsmpeg, libsmpeg-with-sdl1): Likewise.
* gnu/packages/tex.scm (texlive-bin): Update the hash of the
"texlive-scripts" input, and a add a new phase that imitates
Subversion keyword expansion for scripts that need it.
(texlive-latex-base): Update the hash of the "texlive-luatexconfig"
native input.
(texlive-hyphen-base, texlive-dvipdfmx, texlive-dvips, texlive-cm)
(texlive-tex-plain, texlive-kpathsea, texlive-latexconfig)
(texlive-tetex, texlive-pdftex, texlive-xetex): Update the source
hash.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
1c9e992e — Ludovic Courtès 3 years ago
records: Remove "guix" from error message.

* guix/records.scm (map-fields): Tweak error message.
53bf9fba — Ludovic Courtès 3 years ago
tests: Ensure 'elpa' test does not access the network.

Previously it would try to access the real elpa.gnu.org.  This would
succeed when network is available because "taxy-magit-section" is an
existing package.

* guix/import/elpa.scm (elpa-repository)
(package-from-elpa-repository?): Recognize 'gnu/http.
* tests/elpa.scm ("package-latest-release"): Use 'http' instead of
'https'.  Change "taxy-magit-section" to "fake-taxy-magit-section".
df8b3821 — Ludovic Courtès 3 years ago
import: stackage: Updater resolves inputs lazily.

Fixes the "haskell-stackage" test in 'tests/lint.scm', which started
failing with e6223017d95bc615b2648f0798d9a3904d5b5f57 because the extra
HTTP GETs induced by the 'haskell-fetch' calls would fail.

* guix/import/stackage.scm (latest-lts-release): Call 'hackage-fetch'
and its continuation from within 'inputs', which is delayed.  Pass it
NAME-VERSION instead of HACKAGE-NAME-VERSION.
885d524f — Ludovic Courtès 3 years ago
substitute: Gracefully retry after failed partial downloads.

Fixes <https://issues.guix.gnu.org/63443>.
Reported by Attila Lendvai <attila@lendvai.name>.

* guix/scripts/substitute.scm (catch-system-error): New macro.
(download-nar): Add call to 'delete-file-recursively'.
* tests/substitute.scm ("substitute, previous partial download around"):
New test.
3f5e1418 — Ludovic Courtès 3 years ago
substitute: Delete cached narinfos more than two-month old.

This allows 'guix substitute' to shrink the cache a bit more, which
saves space and improves performance of cache-cleanup phases since fewer
entries need to be traversed.

* guix/scripts/substitute.scm (cached-narinfo-expiration-time): Define
'max-ttl' and use it as an upper bound.
92ee0fd5 — Ludovic Courtès 3 years ago
import: Gracefully handle EPIPE.

Previously, "guix import pypi f3 | head -3" would print a backtrace.

* guix/scripts/import.scm (guix-import): Wrap
'pretty-print-with-comments' call in 'leave-on-EPIPE'.
dc0c5d56 — Ludovic Courtès 3 years ago
records: Use SRFI-11 instead of SRFI-71, for Guile 2.0 compatibility.

This fixes a failure of 'tests/packages.scm' introduced in
b88e38d4b51b9aa0e857baeb614c000e491ad309: some of the tests import (guix
records) on the build side, which uses '%bootstrap-guile' (Guile 2.0)
where SRFI-71 is unavailable.

* guix/records.scm (match-record-inner): Use SRFI-11 instead of SRFI-71.
a025d8fe — Ricardo Wurmus 3 years ago
import/cran: Ensure current package is not among inputs.

* guix/import/cran.scm (cran-package-inputs): Remove the current package from
the result.
cacc0cb6 — Josselin Poiret 3 years ago
channels: Raise an error if dependency's introduction is malformed

* guix/channels.scm (sexp->channel-introduction): Do it.
80d12283 — Josselin Poiret 3 years ago
build-system: New agda-build-system.

* guix/build-system/agda.scm: New file.
* guix/build/agda-build-system.scm: New file.
* Makefile.am (MODULES): Register them.
* doc/guix.texi (Build Systems): Add documentation for agda-build-system.
Next