Age | Commit message (Expand) | Author |
2023-07-13 | guix: platform: Use srfi-34's raise instead of raise-exception....* guix/platform.scm (lookup-platform-by-system)
(lookup-platform-by-target)
(lookup-platform-by-target-or-system): Use srfi-34's raise instead of
raise-exception.
| Josselin Poiret |
2023-07-13 | gnu: Add libc-for-target and glibc/hurd....* gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch
* gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch
* gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables.
(glibc/hurd-headers): Use glibc/hurd.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[outputs,
source, arguments]
(glibc-final)[source]: Use libc-for-target instead of glibc.
* gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use
libc-for-target.
This part fixes
https://issues.guix.gnu.org/63641#25
* gnu/packages/commencement.scm (%final-inputs): Change to memoized lambda
taking "system".
* gnu/packages/commencement.scm (canonical-package): Likewise, and update
user, passing (%current-system).
(make-gcc-toolchain): Update user, passing (%current-system).
* gnu/packages/base.scm (%final-inputs): Likewise.
* guix/scripts/refresh.scm (options->update-specs): Likewise.
* guix/build-system/gnu.scm (standard-packages): Add optional "system"
parameter.
(lower): Update caller.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>
| Josselin Poiret |
2023-07-13 | shell: Really take system into account in the cache key....Fixes <https://issues.guix.gnu.org/63230>.
Previously, when running "guix shell -s X ...", OPTS would contain
something like '((system . "X") ... (system . "DEFAULT")). Thus, since
'profile-cached-gc-root' would iterate over it in this order, "DEFAULT"
would be passed to 'profile-file-cache-key' and 'profile-spec-cache-key'
instead of "X".
* guix/scripts/shell.scm (profile-cached-gc-root): Reverse OPTS before
entering 'loop'.
| Ludovic Courtès |
2023-07-12 | transformations: Allow tuning go packages....* guix/transformations.scm (build-system-with-tuning-compiler): When
checking if a microarchitecture is supported by the compiler, also check
if it is a go compiler which supports that psabi. Add a phase after
'setup-go-environment to set the go microarchitecture.
| Efraim Flashner |
2023-07-12 | guix: cpu: Add gcc-architecture->micro-architecture-level mapping....* guix/cpu.scm (gcc-architecture->micro-architecture-level): New
variable.
| Efraim Flashner |
2023-07-12 | guix: cpu: Refactor cpu->gcc-architecture....* guix/cpu.scm (cpu->gcc-architecture): Refactor to wrap all the x86_64
options inside a common letrec-syntax.
| Efraim Flashner |
2023-07-12 | guix: cpu: Rewrite fallback for x86_64 cpu->gcc-architecture....* guix/cpu.scm (cpu->gcc-architecture): Adjust the fallback case to use
cpu->micro-architecture-level.
| Efraim Flashner |
2023-07-12 | guix: cpu: Add generalized CPU matching....* guix/cpu.scm (cpu->micro-architecture-level): New variable.
| Efraim Flashner |
2023-07-12 | import/cran: Add one more package name transformation....* guix/import/cran.scm (transform-sysname): Add entry for "zlib-devel".
| Ricardo Wurmus |
2023-07-12 | refresh: Sort update specs by package location....Fixes <https://issues.guix.gnu.org/64358>.
* guix/scripts/refresh.scm (guix-refresh): Sort update specs by location from
bottom to top before updating packages.
| Ricardo Wurmus |
2023-07-11 | avahi: Fix exception when #:timeout is #f....* guix/avahi.scm (avahi-publish-service-thread): Fixes crash when timeout is
#f, which is the default for "guix publish --advertise"
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| nathan |
2023-07-11 | cache: 'file-expiration-time' uses 'lstat', not 'stat'....Fixes a bug whereby 'cached-channel-instance' would potentially consider
cache entries obsolete too early because they refer to items in the
store, which is mounted as 'noatime' on Guix System.
* guix/cache.scm (file-expiration-time): Use 'lstat' and
'false-if-exception' rather than 'stat'. This matches what (guix
scripts shell) does.
| Ludovic Courtès |
2023-07-11 | locate: Ignore unreadable manifests....Fixes <https://issues.guix.gnu.org/64187>.
* guix/scripts/locate.scm (profiles->manifest-entries): Wrap
'profile-manifest' in 'false-if-exception'.
Reported-by: Ricardo Wurmus <rekado@elephly.net>
| Ludovic Courtès |
2023-07-07 | avahi: Poll less....* guix/avahi.scm (avahi-publish-service-thread): Have #:timeout default
to #f when 'stop-loop?' is NEVER, or 500ms.
(avahi-browse-service-thread): #:timeout defaults to 500ms when
'stop-loop?' is provided.
| Ludovic Courtès |
2023-07-05 | guix: git: Set initial branch name for git-fetch....This removes the 'hint' about choosing a branch name when creating a new
git repository.
* guix/build/git.scm (git-fetch): When running 'git init' add an initial
branch name.
| Efraim Flashner |
2023-06-22 | 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.
| Lars-Dominik Braun |
2023-06-18 | 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>
| Ludovic Courtès |
2023-06-18 | 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.
| Ludovic Courtès |
2023-06-17 | 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.
| Janneke Nieuwenhuizen |
2023-06-16 | 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.
| Ludovic Courtès |
2023-06-16 | 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>
| Ludovic Courtès |
2023-06-16 | 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'.
| Ludovic Courtès |
2023-06-14 | 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.
| Ludovic Courtès |
2023-06-14 | import/cran: Add another clause for ASL 2.0....* guix/import/cran.scm (string->license): Add clause for >= 2.0.
| Ricardo Wurmus |
2023-06-11 | 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>
| Timothy Sample |
2023-06-09 | records: Remove "guix" from error message....* guix/records.scm (map-fields): Tweak error message.
| Ludovic Courtès |
2023-06-09 | 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".
| Ludovic Courtès |
2023-06-09 | 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.
| Ludovic Courtès |
2023-06-08 | 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.
| Ludovic Courtès |
2023-06-08 | 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.
| Ludovic Courtès |
2023-06-08 | 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'.
| Ludovic Courtès |
2023-06-06 | 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.
| Ludovic Courtès |
2023-06-05 | import/cran: Ensure current package is not among inputs....* guix/import/cran.scm (cran-package-inputs): Remove the current package from
the result.
| Ricardo Wurmus |
2023-06-04 | channels: Raise an error if dependency's introduction is malformed...* guix/channels.scm (sexp->channel-introduction): Do it.
| Josselin Poiret |
2023-06-04 | 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.
| Josselin Poiret |
2023-06-04 | build-system/haskell: Export default-haskell....* guix/build-system/haskell.scm: Export default-haskell.
| Josselin Poiret |
2023-06-04 | records: match-record: Do not show internal form....* guix/records.scm (lookup-field+wrapper): Attach source properties to the
field syntax object instead.
| Josselin Poiret |
2023-06-04 | records: Add MATCH-RECORD-LAMBDA....* guix/records.scm (match-record-lambda): New syntax.
* tests/records.scm ("match-record-lambda"): New test.
Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
| (unmatched-parenthesis ew syntax |
2023-06-04 | records: match-record: Support thunked and delayed fields....* guix/records.scm (match-record): Unwrap matched thunked and delayed fields.
* tests/records.scm ("match-record, thunked field",
"match-record, delayed field"): New tests.
Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
| (unmatched-parenthesis d |
2023-06-04 | records: match-record: Raise a syntax error if TYPE is nonexistent....* guix/records.scm (match-record): Raise a human-compherensible syntax error
if the given record type identifier is unbound.
Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>
Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
| (unmatched-parenthesis |
2023-06-02 | environment: Fix unbound-variable bug with '--symlink'....Fixes <https://issues.guix.gnu.org/63845>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* guix/scripts/environment.scm (launch-environment/container): Reference
'evaluate-populate-directive' before calling 'call-with-container'.
| Ludovic Courtès |
2023-06-02 | read-print: Add 'package/inherit' special form....* guix/read-print.scm (%special-forms): Add 'package/inherit'.
| Ludovic Courtès |
2023-06-02 | ci: Reify the timestamps of evaluations....* guix/ci.scm (<evaluation>)[start-time, checkout-time,
completion-time]: New fields.
| Ludovic Courtès |
2023-06-02 | import/cran: string->license: Add another case for GPLv3+....* guix/import/cran.scm (string->license): Translate "GPL (>=3)" to gpl3+.
| Ricardo Wurmus |
2023-06-02 | import/cran: Libraries should not use CRAN-GUIX-NAME....* guix/import/cran.scm (source-dir->dependencies): Do not use CRAN-GUIX-NAME
when processing result of NEEDED-LIBRARIES-IN-DIRECTORY.
| Ricardo Wurmus |
2023-06-02 | import/cran: Also search Makevars file for libraries....* guix/import/cran.scm (needed-libraries-in-directory): Look at Makevars in
addition to Makevars.in for libraries.
| Ricardo Wurmus |
2023-05-31 | upstream: Honor package properties for ignored and extra inputs....* guix/upstream.scm (update-package-inputs)[filtered-inputs]
[regular-inputs, native-inputs, propagated-inputs]: New procedures.
Use them in 'update-field' calls.
* tests/guix-refresh.sh (GUIX_TEST_UPDATER_TARGETS): Add "libreoffice"
to the dependencies of "the-test-package". Add 'updater-ignored-inputs'
property to "the-test-package".
* doc/guix.texi (Invoking guix refresh): Document it.
| Ludovic Courtès |
2023-05-31 | import: gem: Updater provides input list....* guix/import/gem.scm (import-release): Add 'inputs' field.
* tests/gem.scm ("package-latest-release"): New test.
| Ludovic Courtès |
2023-05-31 | import: gem: Factorize "bundler" special case for name mapping....* guix/import/gem.scm (ruby-package-name): Add "bundler" special case.
(gem->guix-package): Adjust accordingly.
* tests/gem.scm ("gem-recursive-import")
("gem-recursive-import with a specific version"): Remove "ruby-bundler"
from the expected packages.
| Ludovic Courtès |
2023-05-31 | import: elpa: Updater provides input list....* guix/import/elpa.scm (elpa-dependency->upstream-input): New
procedure.
(latest-release): Add 'inputs' field.
* tests/elpa.scm ("package-latest-release"): New test.
| Ludovic Courtès |