summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2023-08-17ui: 'load*' accepts /dev/fd/N files pointing to a pipe....This allows users to write Bash commands like: guix time-machine -C <(echo %default-channels) -- ... or: guix build -m <(echo '(specifications->manifest (list "guile"))') Previously, on GNU/Linux, they would fail with: error: failed to load '/dev/fd/63': No such file or directory * guix/ui.scm (try-canonicalize-path): New procedure. (load*): Use it. * tests/guix-build.sh: Test 'guix build -m' with a /dev/fd/N file. Ludovic Courtès
2023-08-17Merge remote-tracking branch 'origin/master' into kde-updates宋文武
2023-08-16scripts: time-machine: Error when attempting to visit too old commits....* doc/guix.texi (Invoking guix time-machine): Document limitation. * guix/inferior.scm (cached-channel-instance): New VALIDATE-CHANNELS argument. Use it to validate channels when there are no cache hit. * guix/scripts/time-machine.scm (%options): Tag the given reference with 'tag-or-commit instead of 'commit. (%oldest-possible-commit): New variable. (guix-time-machine) <validate-guix-channel>: New nested procedure. Pass it to the 'cached-channel-instance' call. * tests/guix-time-machine.sh: New test. * Makefile.am (SH_TESTS): Register it. Suggested-by: Simon Tournier <zimon.toutoune@gmail.com> Reviewed-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com> Maxim Cournoyer
2023-08-16pull: Tag commit argument with 'tag-or-commit....For compatibility with (guix git) procedures. * guix/scripts/pull.scm (channel-list): Also accept tag-or-commit tagged refspec. Maxim Cournoyer
2023-08-16git: Clarify commit relation reference in doc....* guix/git.scm (update-cached-checkout): Clarify that it is the relation of STARTING-COMMIT that is returned, relative to the new commit, not the other way around. Maxim Cournoyer
2023-08-16guix home: Create /tmp in container if needed....Previously 'guix home container' would create a container without /tmp, which would prevent 'least-authority-wrapper' programs from starting, for example. * guix/scripts/home.scm (spawn-home-container): Create /tmp if it doesn't exist yet. Ludovic Courtès
2023-08-16guix: import: texlive importer handles Ruby linked scripts....* guix/import/texlive.scm (linked-scripts): Also check for scripts with ".rb" extension. (tlpdb->package): Add proper RUBY input for Ruby linked scripts. Nicolas Goaziou
2023-08-15refresh: Add --target-version option....* guix/scripts/refresh.scm (%options): Register 'target-version' long version. (update-specification->update-spec): Add a fallback-version argument. (options->update-specs): Honor target-version option. * tests/guix-refresh.sh: Test it. * doc/guix.texi (Invoking guix refresh): Document it. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2023-08-14guix: import: Do not prefix `fsf-free' with "license:" in texlive....* guix/import/texlive.scm (tlpdb->package): For consistency with other imported licenses, `fsf-free' need not be prefixed with "license:". Nicolas Goaziou
2023-08-14guix: import: Handle X11 license in texlive importer....* guix/import/texlive.scm (string->license): Recognize X11 license. Nicolas Goaziou
2023-08-11Merge remote-tracking branch 'origin/master' into kde-updates宋文武
2023-08-02build: qt-utils: Wrap QML2_IMPORT_PATH with 'prefix' location....Some qml files have optional or circular dependencies, use 'prefix' instead of '=' to get those dependencies from environment/profile. * guix/build/qt-utils.scm (variables-for-wrapping): Use 'prefix' for QML2_IMPORT_PATH. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Zheng Junjie
2023-08-01licenses: Add Arphic-1999 (Aprhic Public License)....* guix/licenses.scm (arphic-1999): New variable. * guix/import/utils.scm (%spdx-license-identifiers): Add Arphic-1999. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> walky_talky
2023-08-29scripts: pull: Teach 'channels-list' to use 'tag' git references....* guix/scripts/pull.scm (channel-list): Add support for 'tag' references, to honor the various possible references types as defined in the documentation of the update-cached-checkout procedure. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Simon Tournier
2023-08-29guix: git: Avoid touching the network unless needed in 'reference-available?'....* guix/git/scm (reference-available?): Use the resolve-reference procedure to determine whether the reference exists in the local Git checkout. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Simon Tournier
2023-08-28import-utils: Do not include punctuation when wrapping in @code{}....* guix/import/utils.scm (beautify-description): Exclude punctuation. * tests/import-utils.scm: Add new test. Ricardo Wurmus
2023-08-26gnu-maintenance: Consider Qt source tarballs as "release files"....* guix/gnu-maintenance.scm (release-file?): Use positive logic in doc. Add a special case for Qt source archives. * tests/gnu-maintenance.scm ("release-file?"): Update test. Maxim Cournoyer
2023-08-26gnu-maintenance: Allow mirror URLs to fallback to the generic HTML updater....* guix/gnu-maintenance.scm (http-url?): Extract from html-updatable-package?, modify to return the HTTP URL, and support the mirror:// scheme. (%disallowed-hosting-sites): New variable, extracted from html-updatable-package. (html-updatable-package?): Rewrite a mirror:// URL to an HTTP or HTTPS one. * guix/download.scm (%mirrors): Update comment. Maxim Cournoyer
2023-08-26gnu-maintenance: Add support to rewrite version in URL path....Fixes <https://issues.guix.gnu.org/64015>. Fixes <https://issues.guix.gnu.org/65304>. Previously, the generic HTML updater would only look for the list of files found at the parent of its current source URL, ignoring that the URL may embed the version elsewhere in its path. This could cause 'guix refresh' to report no updates available, while in fact there were, such as for 'libuv'. * guix/gnu-maintenance.scm (strip-trailing-slash): New procedure. (%version-rx): New variable. (rewrite-url): New procedure. (import-html-release): New rewrite-url? argument. When true, use the above procedure. (import-html-updatable-release): Call import-html-release with #:rewrite-url set to #t. * tests/gnu-maintenance.scm ("rewrite-url, to-version specified") ("rewrite-url, without to-version"): New tests. Maxim Cournoyer
2023-08-26gnu-maintenance: Extract 'canonicalize-url' from 'import-html-release'....* guix/gnu-maintenance.scm (canonicalize-url): New procedure, extracted from... (import-html-release): ... here. Use it. Rename inner PACKAGE variable to NAME, to explicit it is a string and not a package object. Maxim Cournoyer
2023-08-26gnu-maintenance: Document nested procedures in 'import-html-release'....* guix/gnu-maintenance.scm (import-html-release): Add docstring to the 'file->signature/guess' and 'url->release' nested procedures. Maxim Cournoyer
2023-08-26gnu-maintenance: Accept package object in 'import-html-release' procedure....This is in preparation for a new URL rewriting feature, which will need to have the current version information available. * guix/gnu-maintenance.scm (import-html-release): Update doc. Adjust default value of the DIRECTORY argument. Bind PACKAGE in lexical scope so that its value there is unchanged. (import-savannah-release, import-kernel.org-release) (import-html-updatable-release): Adjust accordingly. Maxim Cournoyer
2023-08-26gnu-maintenance: Fix indentation....* guix/gnu-maintenance.scm: Re-indent file. Maxim Cournoyer
2023-08-26gnu-maintenance: Extract url->links procedure....* guix/gnu-maintenance.scm (url->links): New procedure. (import-html-release): Use it. Maxim Cournoyer
2023-08-26gnu-maintenance: Fix docstring....* guix/gnu-maintenance.scm (import-kernel.org-release): Fix docstring. Maxim Cournoyer
2023-08-26gnu-maintenance: Make base-url argument of import-html-release required....It doesn't make sense to have it default to something like "https://kernel.org/pub"; it should always be provided explicitly. * guix/gnu-maintenance.scm (import-html-release) <#:base-url>: Turn keyword argument into a positional argument. Update doc. * guix/gnu-maintenance.scm (import-savannah-release): Adjust call accordingly. (import-kernel.org-release): Likewise. (import-html-updatable-release): Likewise. Maxim Cournoyer
2023-08-09guix: profiles: Do not raise error on incomplete TeX Live setups....* guix/profiles.scm (texlive-font-maps): Check if TEXLIVE-SCRIPTS is present in the manifest before trying to generate font maps. Nicolas Goaziou
2023-08-08system: Do not check initrd modules for pseudo file systems....Reported by hako on #guix. * gnu/machine/ssh.scm (machine-check-initrd-modules): Filter out pseudo file systems from 'file-systems'. * guix/scripts/system.scm (check-initrd-modules): Likewise. Ludovic Courtès
2023-07-30guix: profiles: Fix auto-generated file deletion....* guix/profiles.scm (texlive-font-maps): Make sure auto-generated file exists before deleting it, which is not guaranteed when creating the initial texmf tree union. This is a followup to e43cbeafd1b632f39b08b3644af5230d5350a656. Nicolas Goaziou
2023-07-29guix: profiles: Delete generated files....* guix/profiles.scm (texlive-font-maps): Delete generated files. Fixes <https://issues.guix.gnu.org/64906>. Nicolas Goaziou
2023-07-28download-nar: Improve output....Report errors that occur, output the "Downloading from " line before starting to report progress and end the output with a newline. Christopher Baines
2023-07-28scripts: system: Remove duplicated "--target=TRIPLET" in help messages....It's already included in (show-cross-build-options-help). * guix/scripts/system.scm (show-help): Remove "--target=TRIPLET". Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Hilton Chain
2023-07-25transformations: Wrap go binary....* guix/transformations.scm (tuning-compiler): Adjust to wrap the go binary with the appropriate environment variable. (build-system-with-tuning-compiler): Remove custom 'set-microarchitecture phase. Efraim Flashner
2023-07-19import/utils: beautify-description: Wrap class names in @code{...}....* guix/import/utils.scm (beautify-description): Add procedure to wrap words in @code{...} markup. * tests/import-utils.scm: Add two tests. Ricardo Wurmus
2023-07-19import/utils: Add more initial words to beautify-description....* guix/import/utils.scm (beautify-description): Add "Classes" and "Tools" to initial words to be prefixed with "This package provides". Ricardo Wurmus
2023-07-18pack: Move common build code to (guix build pack)....The rationale is to reduce the number of derivations built per pack to ideally one, to minimize storage requirements. The number of derivations had gone up with 68380db4 ("pack: Extract populate-profile-root from self-contained-tarball/builder.") as a side effect to improving code reuse. * guix/scripts/pack.scm (guix): Add commentary comment. (populate-profile-root, self-contained-tarball/builder): Extract to... * guix/build/pack.scm (populate-profile-root): ... this, and... (build-self-contained-tarball): ... that, adjusting for use on the build side. (assert-utf8-locale): New procedure. (self-contained-tarball, debian-archive, rpm-archive): Adjust accordingly. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2023-07-18guix: Fix license translation in texlive importer....* guix/import/texlive.scm (string->license): Properly translate "artistic2" into `artistic2.0'. Nicolas Goaziou
2023-07-18guix: texlive importer handles scripts with ".texlua" extension....* guix/import/texlive.scm (linked-scripts): Also offer to link scripts with a ".texlua" extension. Nicolas Goaziou
2023-07-18guix: texlive import ignores TeXworks....* guix/import/texlive.scm (translate-depends): Ignore TeXworks files from TeX Live, since they are Windows-only. Nicolas Goaziou
2023-07-18guix: texlive importer ignores Asymptote package....Asymptote is provided in `asymptote' Guix package. OTOH, asy executable is not built from TeX Live tree. Therefore, Asymptote package from TeX Live can be ignored. * guix/import/texlive.scm (translate-depends): Ignore Asymptote package. Nicolas Goaziou
2023-07-18guix: licenses: Add Academic Free License 2.1....* guix/licenses.scm (afl2.1): New variable. Nicolas Goaziou
2023-07-18guix: import: texlive importer handles more licenses....* guix/import/texlive.scm (string->license): Handle CC0 and ISC licenses. Nicolas Goaziou
2023-07-18svn-download: Handle the single file case when downloading a nar....Delete the output so that download-nar doesn't error when trying to restore. * guix/svn-download.scm (svn-multi-fetch): Delete the output if it exists prior to calling download-nar. Christopher Baines
2023-07-18svn-download: Use download-nar in svn-multi-fetch....This should help if there are issues fetching from the source repository. * guix/svn-download.scm (svn-multi-fetch): Use download-nar and adjust accordingly. Christopher Baines
2023-07-18svn-download: Use download-nar....This should help if there are issues fetching from the source repository. * guix/svn-download.scm (svn-fetch): Use download-nar and adjust accordingly. Christopher Baines
2023-07-18guix: import: Handle texlua and TCL scripts....* guix/import/texlive.scm (linked-scripts): Also generate scripts from files with ".tlu" and ".tcl" extensions. (tlpdb->package): Add appropriate inputs when providing a TCL script. Nicolas Goaziou
2023-07-18gnu: Deprecate `texlive-tiny'....At this point, there are three equivalent TeX Live sub-systems: texlive-scheme-basic, texlive-tiny, and (texlive-updmap.cfg). It is confusing to keep so many around. * doc/contributing.texi (Submitting Patches): Remove reference to TEXLIVE-TINY. * gnu/packages/algebra.scm (pari-gp)[native-inputs]: (giac)[native-inputs]: * gnu/packages/chez.scm (chez-sockets)[native-inputs]: * gnu/packages/engineering.scm (fastcap)[native-inputs]: * gnu/packages/gettext.scm (po4a)[native-inputs]: * gnu/packages/maths.scm (cddlib)[native-inputs]: (gnuplot)[native-inputs]: (itpp)[native-inputs]: * gnu/packages/ocaml.scm (unison)[native-inputs]: * gnu/packages/pdf.scm (extractpdfmark)[native-inputs]: * gnu/packages/photo.scm (enblend-enfuse): Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG. * gnu/packages/radio.scm (gnuradio)[native-inputs]: Remove unnecessary TEXLIVE-TINY. * gnu/packages/tex.scm (texlive-tiny): Deprecate it in favor of TEXLIVE-SCHEME-BASIC. (texlive-makecmds)[native-inputs]: Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG. * guix/lint.scm (check-inputs-should-be-native): Check only for "texlive-updmap.cfg" input name. Nicolas Goaziou
2023-07-18guix: Add linter warning about texlive-updmap.cfg and texlive-tiny....* guix/lint.scm (check-inputs-should-be-native): Warn when TEXLIVE-UPDMAP.CFG and TEXLIVE-TINY are not native inputs. Nicolas Goaziou
2023-07-18guix: texlive importer: Do not pull all "scripts/context/" files....* guix/import/texlive.scm (texlive-generic-locations): Add "scripts/context/" since this location is split across multiple packages. * guix/import/texlive.scm (files->locations): Only single out files from generic locations, not their sub-directories. E.g., generic location "scripts/context/lua/" should not fetch "scripts/context/lua/third/" files. Nicolas Goaziou
2023-07-18guix: Fix sub-directories in texlive importer locations....* guix/import/texlive.scm (files->locations): When removing a sub-directory, make sure to actually remove the sub-directory and not the parent. Nicolas Goaziou