summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Merge branch 'master' into core-updates-frozenMarius Bakke2021-08-12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/algebra.scm gnu/packages/games.scm gnu/packages/golang.scm gnu/packages/kerberos.scm gnu/packages/mail.scm gnu/packages/python.scm gnu/packages/ruby.scm gnu/packages/scheme.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm
| * transformations: 'with-patch' works on non-origin sources.Ludovic Courtès2021-08-11
| | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/49697>. Reported by Philippe Swartvagher <philippe.swartvagher@inria.fr>. * guix/transformations.scm (patched-source): New procedure. (transform-package-patches)[package-with-extra-patches]: Use it when (package-source p) is not an origin. * tests/transformations.scm ("options->transformation, with-commit + with-patch"): New test.
| * store: Add 'map/accumulate-builds' cutoff to address pathological cases.Ludovic Courtès2021-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/49439>. Reported by Ricardo Wurmus <rekado@elephly.net>. Previously, a command such as: guix environment pigx-scrnaseq could lead to unbounded memory growth and could even fail to complete when some items are missing from the store. This was because 'map/accumulate-builds' callees would keep making .drv build requests that were turned into <unresolved> nodes; in this case, there are often many identical build requests. Stopping accumulation earlier allows us to unlock the situation by proceeding with the first few build requests instead of spinning until we've accumulated all the build requests. * guix/store.scm (map/accumulate-builds): Define 'accumulation-cutoff'. Use a loop when iterating over LST and maintain a counter of unresolved nodes met so far; return when the counter exceeds ACCUMULATION-CUTOFF.
| * scripts: publish: Remove leftover comment.Mathieu Othacehe2021-08-10
| | | | | | | | * guix/scripts/publish.scm (render-narinfo/cached): Remove leftover comment.
| * scripts: publish: Remove unused argument.Mathieu Othacehe2021-08-10
| |
| * inferior: 'cached-channel-instance' no longer calls 'show-what-to-build'.Ludovic Courtès2021-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the user of 'cached-channel-instance' to install the build handler of its choice. In particular, it allows "guix time-machine" to install a build notifier with the right options instead of using the defaults that 'cached-channel-instance' would pass to 'show-what-to-build*'. * guix/inferior.scm (cached-channel-instance): Remove call to 'show-what-to-build*'. (inferior-for-channels): Wrap body in 'with-build-handler'. * guix/scripts/time-machine.scm (guix-time-machine): Use 'with-build-handler'.
| * self: Use default config variable values for derivations.Ludovic Courtès2021-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value of %localstatedir, %storedir, and %sysconfdir is known to have no impact on the compilation of the Guix modules. Thus, explicitly build those modules against a (guix config) module that uses all the default values. That way, a Guix installation that uses different config values can still benefit from substitutes. Reported by Ricardo Wurmus. * guix/self.scm (%default-config-variables): New variable. (make-config.scm): Add #:config-variables and honor it. (compiled-guix)[*core-modules*]: Pass #:config-variables to 'make-config.scm'.
| * download: Remove defunct GNOME mirrors.Leo Famulari2021-07-27
| | | | | | | | | | * guix/download.scm (%mirrors): Remove defunct GNOME mirrors, and try the canonical site first.
| * import: Use PARSE-COMMAND-LINE for options.Sarah Morgensen2021-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/import/go.scm (guix-import-go)[parse-options]: Use PARSE-COMMAND-LINE instead of ARGS-FOLD*. * guix/scripts/import/egg.scm (guix-import-egg)[parse-options]: Likewise. * guix/scripts/import/gem.scm (guix-import-gem)[parse-options]: Likewise. * guix/scripts/import/gnu.scm (guix-import-gnu)[parse-options]: Likewise. * guix/scripts/import/cpan.scm (guix-import-cpan)[parse-options]: Likewise. * guix/scripts/import/cran.scm (guix-import-cran)[parse-options]: Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa)[parse-options]: Likewise. * guix/scripts/import/json.scm (guix-import-json)[parse-options]: Likewise. * guix/scripts/import/opam.scm (guix-import-opam)[parse-options]: Likewise. * guix/scripts/import/pypi.scm (guix-import-pypi)[parse-options]: Likewise. * guix/scripts/import/crate.scm (guix-import-crate)[parse-options]: Likewise. * guix/scripts/import/texlive.scm (guix-import-texlive)[parse-options]: Likewise. * guix/scripts/import/hackage.scm (guix-import-hackage)[parse-options]: Likewise. * guix/scripts/import/stackage.scm (guix-import-stackage)[parse-options]: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * Reinstate "services: Add a service for Jami."Maxim Cournoyer2021-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4673f817938d9d2b1b40a072ab2e0c44a32ccc97, which reverted commit 69dcc24c9f0cdfea674eb690e7755d26a25ced2b with the fix detailed below. Thanks to Christopher Baines for reporting the failure and proposing a fix. * guix/self.scm (compiled-guix) [*system-test-modules*]: Add the test data files via the 'extra-files' argument. * gnu/local.mk (dist_patch_DATA): Move the tests/data/jami-dummy-account.dat file to... * gnu/local.mk (MODULES_NOT_COMPILED): ... here.
| * licenses: Remove 'cc-sampling-plus-1.0' export.Ludovic Courtès2021-08-02
| | | | | | | | | | | | This is a followup to 65e1d39f9fca8e560f3dedf01fa33cd251655eef. * guix/licenses.scm (cc-sampling-plus-1.0): Remove export.
* | download: Remove defunct GNOME mirrors.Leo Famulari2021-07-27
| | | | | | | | | | * guix/download.scm (%mirrors): Remove defunct GNOME mirrors, and try the canonical site first.
* | Merge branch 'master' into core-updates-frozenMarius Bakke2021-08-01
|\|
| * licenses: Remove CC-Sampling+-1.0.Ron Nazarov2021-07-30
| | | | | | | | * guix/licenses.scm (cc-sampling-plus-1.0): Remove variable.
* | Merge branch 'master' into core-updates-frozenMarius Bakke2021-07-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/bioinformatics.scm gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/emacs-xyz.scm gnu/packages/gpodder.scm gnu/packages/music.scm gnu/packages/patches/glibc-bootstrap-system.patch gnu/packages/python-xyz.scm gnu/packages/shells.scm gnu/packages/statistics.scm
| * derivations: Make 'coalesce-duplicate-inputs' linear in the number of inputs.Ludovic Courtès2021-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <https://issues.guix.gnu.org/49439>. Reported by Ricardo Wurmus <rekado@elephly.net>. When running the command: guix environment pigx-scrnaseq --search-paths --no-grafts this change reduces total heap allocations from 1.4GiB to 717MiB (49%) and wall-clock time from 7.5s to 5.7s (24%). Without '--no-grafts', heap allocations go from 2.1GiB to 1.4GiB (33%) and wall-clock time from 12.1s to 10.9s (10%). * guix/derivations.scm (coalesce-duplicate-inputs): Rewrite using a hash table to make it O(N) rather than O(N²).
| * utils: Do not request block buffering in pretty-print-table.Maxim Cournoyer2021-07-21
| | | | | | | | | | | | | | | | | | | | Re-testing 'guix package -A' using the default line buffering set in (guix ui), there doesn't seem to be a performance gain to use block buffering, so remove this extraneous side effect. * guix/utils.scm (pretty-print-table): Do not set buffering mode to block. Reported-by: Ludovic Courtès <ludo@gnu.org>
| * import/print: package->code: Fix license object.itd2021-07-19
| | | | | | | | | | | | | | * guix/import/print.scm (package->code)<license->code>: Update generated licence object to match record constructor. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * build: Update uglifyjs for minify-build-system.Charles2021-07-19
| | | | | | | | | | | | | | * guix/build-system/minify.scm (default-uglify-js): Update uglifyjs package used. * guix/build/minify-build-system.scm (minify): Use updated uglifyjs command name. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* | build-system: asdf: Remove %build-inputs reference.Mathieu Othacehe2021-07-29
| | | | | | | | | | | | | | This is a follow-up of 7d873f194ca69d6096d28d7a224ab78e83e34fe1 that removes the %build-inputs variable. * guix/build-system/asdf.scm (asdf-build): Remove %build-inputs reference.
* | build-system/haskell: Fix regression.Mathieu Othacehe2021-07-28
| | | | | | | | | | | | | | This is a follow-up of a0f880afea3b29e817866de0170ed579738db2d1. * guix/build-system/haskell.scm (haskell-build): Correctly handle the absence of a "cabal-revision" input.
* | build-system/haskell: Fix regression in "cabal-revision" input handling.Ludovic Courtès2021-07-27
| | | | | | | | | | | | | | | | | | | | | | | | Previously, (assoc-ref ...) would return a one-element list, leading to an evaluation error while building the package ("wrong type to apply"). Regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. Reported by Marius Bakke. * guix/build-system/haskell.scm (haskell-build)[builder]: Adjust argument to #:cabal-revision.
* | build: utils: Trim leading slash from search-input-file input.Mathieu Othacehe2021-07-25
| | | | | | | | | | | | | | | | | | | | | | Make sure that both: (search-input-file inputs "/bin/sh") and (search-input-file inputs "bin/sh") are supported. * guix/build/utils (search-input-file): Trim leading slash character from FILE.
* | build-system/cmake: Define '%build-inputs' when cross-compiling.Marius Bakke2021-07-23
| | | | | | | | | | | | * guix/build-system/cmake.scm (cmake-cross-build)[builder]: Define '%build-inputs' as it existed before 7d873f194ca69d6096d28d7a224ab78e83e34fe1.
* | packages: Use 'lookup-package-input' and friends instead of 'package-input'.Maxime Devos2021-07-23
| | | | | | | | | | | | | | | | | | | | * guix/packages.scm (package-input, package-native-input): Remove. (this-package-input): Use 'lookup-package-input' and 'lookup-package-propagated-input' instead of 'package-input'. (this-package-native-input): Use 'lookup-package-native-input' instead of 'package-input'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | gnu: TeX Live: Update to TeX Live 2021Thiago Jung Bauermann2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use version 20210325 for the tarballs, which is the latest one available on the historical releases repository. And use subversion tag 2021.3 which is the latest one available as well. TeX Live dropped support for using the system’s poppler library after the 2020 version. Quoting from `m4/kpse-xpdf-flags.m4`: # Support for our semi-homegrown libs/xpdf library. This is derived # from xpdf source code, but xpdf does not distribute it as a library. # It is used by pdftex (and nothing else) to read PDF images. # Other engines use the semi-homegrown pplib library (q.v.) for that. # The well-known poppler library is also originally derived from xpdf # source code, but has been greatly revised and extended. TL used to # (sort of) support poppler as the system xpdf, but after the TL 2020 # release we dropped this, because we switched XeTeX to use pplib, and # nothing else used poppler. (No engines ever used poppler to generate # their PDF output). # # poppler is aggressively developed, with requirements for new compilers # and language versions. That's fine for them, but since we don't need # anything new, it has become too time-consuming and problematic to # continue to support it in the TL sources, when we don't have any # requirement for it. Therefore the main change in this commit is making the texlive-bin package use the embedded pplib and xpdf libraries. Another noteworthy change is to texlive-latex-l3packages, which now needs to ship a few pre-generated files that cannot be reproduced during the build process (the comments in the package definition have more details). * guix/build-system/texlive.scm (%texlive-tag): Set to “texlive-2021.3”. (%texlive-revision): Set to 59745. * gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data texlive-hyphen-base, texlive-metafont, texlive-cm, texlive-courier, texlive-lm, texlive-knuth-lib, texlive-tex-plain, texlive-hyphen-finnish, texlive-hyphen-german, texlive-hyph-utf8, texlive-dehyph-exptl, texlive-kpathsea, texlive-latex-fancyvrb, texlive-graphics-def, texlive-latex-graphics, texlive-hyperref, texlive-oberdiek, texlive-latex-tools, texlive-latex-l3kernel, texlive-l3build, texlive-luaotfload, texlive-latex-amsmath, texlive-amscls, texlive-babel, texlive-generic-babel-german, texlive-babel-swedish, texlive-psnfss, texlive-latex-draftwatermark, texlive-latex-etoc, texlive-etoolbox, texlive-latex-polyglossia, texlive-tex-texinfo, texlive-latex-bookmark, texlive-latex-cmap, texlive-latex-fancyhdr, texlive-latex-kvoptions, texlive-latex-eso-pic, texlive-latex-multirow, texlive-latex-parskip, texlive-latex-pdfpages, texlive-metapost, texlive-latex-acmart, texlive-latex-preview, texlive-latex-acronym, texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-ms, texlive-latex-pgf, texlive-latex-pgf-generic, texlive-latex-koma-script, texlive-generic-ltxcmds, texlive-bibtex, texlive-context-base, texlive-context, texlive-beamer, texlive-pstricks, texlive-tools, texlive-latex-xkeyval, texlive-csquotes, texlive-biblatex, texlive-todonotes, texlive-microtype, texlive-caption, texlive-fontaxes, texlive-cabin, texlive-newtx, texlive-xcharter, texlive-adjustbox, texlive-tcolorbox): Update hash. (texlive-extra-src, texlive-texmf-src): Update version to “20210325”. Update hash. (texlive-bin)[source]: Update version to “20210325”. Update hash. Preserve ‘libs/pplib’ and ‘libs/xpdf’. [inputs]: Update hash for ‘texlive-scripts’. Remove ‘poppler’. [arguments]: Remove “--with-system-poppler” and “--with-system-xpdf” from ‘#:configure-flags’. Remove build phase ‘use-code-for-new-poppler’. (texlive-hyphen-schoolfinnish): Add public variable. (texlive-hyphen-macedonian): Add 8bit patterns. Update hash. (texlive-latex-base)[template]: Update hash. [arguments]: Set ‘LUAINPUTS’ environment variable in build phase. [native-inputs]: Update hash for ‘texlive-luatexconfig’. [propagated-inputs]: Add ‘texlive-hyphen-schoolfinnish’, ‘texlive-latex-l3kernel’ and ‘texlive-latex-l3packages’. (texlive-latex-l3packages)[source]: Use ‘texlive-origin’. Update hash. Add generated files. [arguments]: Adjust paths for ‘TEXINPUTS’ environment variable. Add build phase ‘copy-generated-files’. (texlive-texmf, texlive): Update version to “20210325”. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | gnu: TeX Live: Use IniTeX to build a couple of packagesThiago Jung Bauermann2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The package texlive-latex-base in TeX Live 2021 will depend on texlive-latex-l3kernel and texlive-latex-l3packages. Therefore we need to remove their build dependency on texlive-latex-base to avoid a circular dependency. l3kernel and l3packages don’t need LaTeX during build, just IniTeX. So to make them use it, modify texlive-build-system to allow disabling the #:texlive-latex-base and #:tex-format parameters, and also add a #:tex-engine parameter. We also need to add texlive-docstrip as a native input, which was previously provided by texlive-latex-base. * gnu/packages/tex.scm (texlive-latex-l3kernel, texlive-latex-l3packages)[arguments]: Add ‘#:tex-engine’, ‘#:tex-format’ and ‘#:texlive-latex-base’ parameters. [native-inputs]: Add ‘texlive-docstrip’. * guix/build-system/texlive.scm (lower)[build-inputs]: Don’t add ‘texlive-latex-base’ if its keyword parameter is false. (texlive-build): Add ‘tex-engine’ keyword parameter. [builder]: If a ‘tex-engine’ parameter was passed, use it. Otherwise, use ‘tex-format’ as the engine. * guix/build/texlive-build-system.scm (compile-with-latex): Add ‘engine’ parameter. If the ‘format’ parameter is false, add “-ini” option to the command line. (build): Add ‘tex-engine’ parameter. Pass it down to ‘compile-with-latex’. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | import: hackage: Emit new-style package inputs.Sarah Morgensen2021-07-20
| | | | | | | | | | | | | | | | | | | | | | | | * guix/import/hackage.scm (hackage-module->sexp)[dependencies] [native-dependencies]: Make into a list of symbols. [maybe-inputs]: Wrap INPUTS in 'list' instead of 'quasiquote'. * tests/hackage.scm (match-ghc-foo) (match-ghc-foo-6) (match-ghc-foo-revision) (match-ghc-foo-import): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | import: opam: Emit new-style package inputs.Sarah Morgensen2021-07-20
| | | | | | | | | | | | | | | | | | * guix/import/opam.scm (opam->guix-package): Wrap INPUTS and NATIVE-INPUTS in 'list' instead of 'quasiquote'. (dependency-list->inputs): Return a list of symbols. * tests/opam.scm ("opam->guix-package"): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | import: gem: Emit new-style package inputs.Sarah Morgensen2021-07-20
| | | | | | | | | | | | | | | | | | * guix/import/gem.scm (make-gem-sexp): Wrap inputs in 'list' instead of 'quasiquote'. * tests/gem.scm ("gem->guix-package") ("gem-recursive-import"): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | import: egg: Emit new-style package inputs.Sarah Morgensen2021-07-20
| | | | | | | | | | | | | | | | | | | | * guix/import/egg.scm (egg->guix-package): Generate dependency list from a list of symbols. [egg-parse-dependency]: Return a list of symbols. [maybe-inputs]: Wrap INPUTS in 'list' instead of 'quasiquote'. * tests/egg.scm (match-chicken-foo): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge branch 'master' into core-updatesLudovic Courtès2021-07-18
|\|
| * build: pack: Mute error output when checking if tar supports --sort.Maxim Cournoyer2021-07-18
| | | | | | | | | | * guix/build/pack.scm (tar-base-options) [tar-supports-sort?]: Redirect error output to void.
| * pack: Streamline how files are included in tarballs.Maxim Cournoyer2021-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Guillem Jover <guillem@debian.org> on the OFTC's #debian-dpkg channel for helping with troubleshooting. Letting GNU Tar recursively walk the complete files hierarchy side-steps the risks associated with providing a list of file names: 1. Duplicated files in the archive (recorded as hard links by GNU Tar) 2. Missing parent directories. The above would cause dpkg to malfunction, for example by aborting early and skipping triggers when there were missing parent directories. * guix/scripts/pack.scm (self-contained-tarball/builder): Do not call POPULATE-SINGLE-PROFILE-DIRECTORY, which creates extraneous files such as /root. Instead, call POPULATE-STORE and INSTALL-DATABASE-AND-GC-ROOTS individually to more precisely generate the file system. Replace the list of files by the current directory, "." and streamline the way options are passed. * gnu/system/file-systems.scm (reduce-directories): Remove procedure. * tests/file-systems.scm ("reduce-directories"): Remove test.
| * pack/deb: Add default section and priority fields to the control file.Maxim Cournoyer2021-07-18
| | | | | | | | | | | | | | | | These fields, while optional per dpkg, are required by other tools such as reprepro, commonly used to generate apt repositories. * guix/scripts/pack.scm (debian-archive): Set the control file section field to 'misc' and the priority field to 'optional'.
| * pack: Allow embedding custom control files in deb packs.Maxim Cournoyer2021-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/pack.scm (self-contained-tarball/builder) [extra-options]: New argument. (self-contained-tarball, squashfs-image, docker-image) (debian-archive): Likewise. Remove two TODO comments. Document EXTRA-OPTIONS. Use the custom control files when provided. (%deb-format-options): New variable. (show-deb-format-options, show-deb-format-options/detailed): New procedures. (%options): Register new options. (show-help): Augment with new usage. (guix-pack): Validate and propagate new argument values. * doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced options. Add an example. * tests/pack.scm (deb archive...): Provide extra-options to the debian-archive procedure, and validate that the provided files are embedded in the pack.
| * import: go: Fix indentation.Maxim Cournoyer2021-07-18
| | | | | | | | * guix/import/go.scm: Fix indentation.
| * import: go: Upgrade go.mod parser.Sarah Morgensen2021-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade the go.mod parser to handle the full go.mod spec, and to gracefully handle unexpected/malformed syntax. Restructure parser usage, making the parse tree available for other uses. guix/import/go.scm (parse-go.mod): Parse using (ice-9 peg) instead of regex matching for more robustness. Return a list of directives. (go.mod-directives): New procedure. (go.mod-requirements): Likewise. (go-module->guix-package): Use it. (%go.mod-replace-directive-rx): Remove unused variable. tests/go.scm (testing-parse-mod): Adjust accordingly. (go.mod-requirements) (fixture-go-mod-unparseable) (fixture-go-mod-retract) (fixture-go-mod-strings): New variables. ("parse-go.mod: simple") ("parse-go.mod: comments and unparseable lines") ("parse-go.mod: retract") ("parse-go.mod: raw strings and quoted strings") ("parse-go.mod: complete"): New tests. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| * import: go: Handle multiple go-import meta tags.Sarah Morgensen via Guix-patches via2021-07-17
| | | | | | | | | | | | | | | | * guix/import/go.scm (fetch-module-meta-data): Parse all go-import meta tags and return the first 'module-meta' with a matching import prefix. [go-import->module-meta]: Extract parsing into new procedure. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| * import: go: Fix parsing of pkg.go.dev licenses after site update.Sarah Morgensen via Guix-patches via2021-07-17
| | | | | | | | | | | | | | * guix/import/go.scm (go-package-licenses): Find license names in 'h2 // div // *text*' elements rather than 'h2 // *text*' elements. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| * ci: Properly construct URLs.Hartmut Goebel2021-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a new function "api-url", which constructs URLs using relative URI and "resolve-uri-reference" (which implements the algorithm specified in RFC 3986 section 5.2.2) for building the URL, instead of just appending strings. This avoids issued if the server-url ends with a slash. Since "api-url" uses URI-objects, it makes sense to also construct the query-part of the URL here. For this "api-url" accepts optional key-value-pairs. New function "json-api-fetch" is a wrapper using "api-url". * guix/ci.scm (api-url): New function. (build): Use it. (json-api-fetch): New function. (queued-builds, latest-builds, evaluation, latest-evaluations, evaluation-jobs: Use it.
| * substitutes: Properly construct URLs.Hartmut Goebel2021-07-16
| | | | | | | | | | | | | | | | | | Use relative URIs and "resolve-uri-reference" (which implements the algorithm specified in RFC 3986 section 5.2.2) for building the URL, instead of just appending strings. This avoids issued if the cache-url ends with a slash. * guix/substitutes.scm (narinfo-request): Use resolve-uri-reference for constructing the url.
| * substitute: Fix handling of short option "-h".Hartmut Goebel2021-07-16
| | | | | | | | The short option was listed in the help-text, but not recognized.
| * ui: Improve output appearance when listing generations.Steve Sprang2021-07-15
| | | | | | | | | | | | | | | | * guix/ui.scm (display-profile-content-diff): Use pretty-print-table to format output. (display-profile-content): Likewise. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| * package: Improve output appearance when listing packages.Steve Sprang2021-07-15
| | | | | | | | | | | | | | | | * guix/scripts/package.scm (process-query): Use pretty-print-table when listing installed and available packages. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| * utils: Add a procedure for pretty printing tabular data.Steve Sprang2021-07-15
| | | | | | | | | | | | | | * guix/utils.scm (pretty-print-table): New procedure. Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| * lint: Check for leading whitespace in description.Brice Waegeneire2021-07-13
| | | | | | | | | | * guix/lint.scm (check-description-style): Check for leading whitespace. * tests/lint.scm: ("description: leading whitespace"): New test.
| * self: Remove stale comment about "mmap(PROT_NONE) failed" crash.Ludovic Courtès2021-07-09
| | | | | | | | | | | | | | | | This crash was fixed by 0aef94e7bcbd272720f14c5343f74da5201ef90a, itself a followup to 47d48f0c43c13c0b43bc3e37b6239efd4bf2f74c. * guix/self.scm (translate-texi-manuals)[build]: Remove reference to the PROT_NONE bug.
| * Revert "self: Build translated manuals with a single process."Ludovic Courtès2021-07-09
| | | | | | | | | | This reverts commit af2d6ec092c98ac5f32d8e9e182a141e1268805b, which the parent commit makes unnecessary.
| * self: Build translated manuals with a single process.Maxim Cournoyer2021-07-07
| | | | | | | | | | | | Works around <https://issues.guix.gnu.org/47428>. * guix/self.scm (translate-texi-manuals): Set parallel-job-count to 1.