aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
...
| * | | | | | | | | | | | | | | Merge branch 'master' into core-updates•••This merge commit includes a fix for CVE-2017-6512 in Perl 5.26.0. Leo Famulari2017-06-07
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesLeo Famulari2017-06-04
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updates••• Conflicts: gnu/packages/image.scm (incorporated libtiff graft) Marius Bakke2017-06-03
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | | utils: Add helper for invoking programs.•••* guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Danny Milosavljevic2017-06-01
| * | | | | | | | | | | | | | | | | | build-system/gnu: 'compress-documentation' phase handles double symlinks.•••The compress-documentation phase was breaking recursive symbolic links used for manuals, which was made visible by the `find-files' call in the recently added `manual-database' profile hook. See <http://bugs.gnu.org/26771>. * guix/build/gnu-build-system.scm (compress-documentation) [points-to-symbolic-link?]: New procedure. [maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out symbolic links that shouldn't be retargetted, and re-order the calls to `retarget-symlink' and `documentation-compressor'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2017-05-30
| * | | | | | | | | | | | | | | | | | build-system/cmake: Add support for cross compilation.•••Fixes <https://bugs.gnu.org/26897>. * guix/build-system/gnu.scm: Export standard-cross-packages. * guix/build-system/cmake.scm (cmake-cross-build): New procedure. (lower): Add support for cross-builds. * guix/build/cmake-build-system.scm (configure): Handle "target" argument. Ricardo Wurmus2017-05-30
| * | | | | | | | | | | | | | | | | | Merge branch 'master' into core-updatesMark H Weaver2017-05-27
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | | | utils: Re-export 'delete'.•••* guix/build/utils.scm: Reexport 'delete' binding. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Sergei Trofimovich2017-05-26
| * | | | | | | | | | | | | | | | | | | Merge branch 'master' into core-updatesLeo Famulari2017-05-24
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into core-updatesRicardo Wurmus2017-05-24
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | | | | | packages: Enable threaded compression of source tarballs.•••This provides a ~2x speedup when using 4 threads. * guix/packages.scm (patch-and-repack)[build]: Invoke xz with '--threads=0' when re-packing tarballs. Leo Famulari2017-04-15
* | | | | | | | | | | | | | | | | | | | | | graft: Correctly replace references near the end of the scan buffer.•••Fixes <http://bugs.gnu.org/28212>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/graft.scm (replace-store-references): When I >= END, check whether WRITTEN > END and call 'get-bytevector-n!' when it is. * tests/grafts.scm (buffer-size): New variable. ("replace-store-references, <http://bugs.gnu.org/28212>"): New test. Ludovic Courtès2017-08-24
* | | | | | | | | | | | | | | | | | | | | | Revert "graph: Provide access to the package record in the emit functions."•••This reverts commit 5d7e8543659874682b618bba799ba7cd6ffce554, which broke 'tests/graph.scm' and broke node types not related to <package> objects, such as '%reference-node-type'. Ludovic Courtès2017-08-24
* | | | | | | | | | | | | | | | | | | | | | gnu: bootloader: Deprecate "device" field in favor of "target".•••* gnu/bootloader.scm (<bootloader-configuration>): Deprecate "device" field in favor of "target" field. This is mostly a renaming but also a generalization to support UEFI targets being paths to a mounted partition instead of a device name. * gnu/system/examples/bare-bones.tmpl: * gnu/system/examples/desktop.tmpl: * gnu/system/examples/lightweight-desktop.tmpl: * gnu/system/examples/vm-image.tmpl: * gnu/system/install.scm: * gnu/tests.scm: * gnu/tests/install.scm: * gnu/tests/nfs.scm: * tests/system.scm: Adapt all invocations of bootloader-configuration. * guix/scripts/system.scm (perform-action): Rename device argument to bootloader-target. (process-action): Adapt caller. * doc/guix.texi (Proceeding with the Installation): * doc/guix.texi (Bootloader Configuration): Update documentation. Andy Wingo2017-08-23
* | | | | | | | | | | | | | | | | | | | | | gnu: scripts: Cleanup regarding "gnu system" bootloader devices.•••* guix/scripts/system.scm (install-bootloader, install): Remove unused "device" argument. (reinstall-bootloader, perform-action): Adapt callers. Andy Wingo2017-08-23
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | | guix download: Support retrieving local file without the URI scheme.•••* guix/scripts/download.scm (guix-download): Treat the URL argument as a local file path when it fails on 'string->uri'. Call 'fetch' with the processed 'uri' instead of the original URL argument. * tests/guix-download.sh: Adjust accordingly. 宋文武2017-08-20
* | | | | | | | | | | | | | | | | | | | | pack: Add "none" compressor.•••* guix/scripts/pack.scm (%compressors): Add compressor "none"; prepend extension with ".". (self-contained-tarball, docker-image): Assume compressor extensions start with period. * doc/guix.texi (Invoking guix pack): Document it. Ricardo Wurmus2017-08-19
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | | download: Add the canonical GnuPG download site.•••* guix/download.scm (%mirrors)<gnupg>: Add https://gnupg.org. Leo Famulari2017-08-09
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | build: Add minify build system.•••* guix/build-system/minify.scm: New file. * guix/build/minify-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document minify-build-system. Ricardo Wurmus2017-08-04
* | | | | | | | | | | | | | | | | | | pull: Honor '--no-grafts'.•••* guix/scripts/pull.scm (guix-pull): Parameterize %GRAFT? as a function of OPTS. Ludovic Courtès2017-08-02
* | | | | | | | | | | | | | | | | | | pull: Use the commit ID as the version string.•••* guix/scripts/pull.scm (build-from-source): Add #:commit parameter. Pass it to BUILD. (build-and-install): Add #:commit and pass it to 'build-from-source'. (guix-pull): Pass #:commit to 'build-and-install'. Ludovic Courtès2017-08-02
* | | | | | | | | | | | | | | | | | | pull: Fetch source code from Git.•••* guix/scripts/pull.scm (%snapshot-url, with-environment-variable) (with-PATH): Remove. (ensure-guile-git!): New procedure. (%repository-url): New variable. (%default-options): Add 'repository-url' and 'ref'. (show-help, %options): Add '--commit' and '--url'. (temporary-directory, first-directory, interned-then-deleted) (unpack): Remove. (build-from-source): Rename 'tarball' to 'source'. Remove call to 'unpack'. (build-and-install): Rename 'tarball' to 'source'. (honor-lets-encrypt-certificates!, report-git-error): New procedures. (with-git-error-handling): New macro. (guix-pull)[fetch-tarball]: Remove. Wrap body in 'with-git-error-handling'. Rewrite to use 'latest-repository-commit'. * build-aux/build-self.scm (build): Print an error message and exit when GUILE-GIT is #f. * doc/guix.texi (Invoking guix pull): Mention Git. Document '--commit' and '--branch'. Ludovic Courtès2017-08-02
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | graph: Provide access to the package record in the emit functions.•••* guix/graph.scm (export-graph): Pass the node to the emit functions, instead of the node's label. Roel Janssen2017-08-01
* | | | | | | | | | | | | | | | | | guix package: Allow `guix package -u' to fuction as before.•••This is a follow up to 6ddf97f81bb99a73f00e30ad5fc19577872b5b49 * guix/scripts/package.scm (%options) <"-u">: Only check for a flag when there is an ARG after '-u'. Efraim Flashner2017-08-01
* | | | | | | | | | | | | | | | | | lint: formatting: Detect sexp boundaries.•••* guix/scripts/lint.scm (report-formatting-issues)[last-line]: Remove. [sexp-last-line]: New procedure. Use it. Ludovic Courtès2017-08-01
* | | | | | | | | | | | | | | | | | guix package: Warn when invoked with '-u -something'.•••Fixes <https://bugs.gnu.org/27820>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/scripts/package.scm (%options) <"-u">: Emit a warning when ARG starts with "-". Ludovic Courtès2017-07-31
* | | | | | | | | | | | | | | | | | git-download: Remove call to 'canonicalize-path'.•••* guix/git-download.scm (git-predicate): Remove call to 'canonicalize-path' since this could lead to discrepancies. For instance it broke 'make update-guix-package' since it passes a non-canonical directory name. Ludovic Courtès2017-07-30
* | | | | | | | | | | | | | | | | | bootloader: Use <menu-entry> for the bootloader side.•••* gnu/bootloader.scm (menu-entry-device-mount-point): New variable. Export it. (<menu-entry>: New field "device". * gnu/bootloader/grub.scm (grub-confgiuration-file): Handle <menu-entry> entries. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Handle <menu-entry> entries. * gnu/system.scm (menu->entry->boot-parameters): Delete variable. (boot-parameters->menu-entry): New variable. Export it. (operating-system-bootcfg): Make OLD-ENTRIES a list of <menu-entry>. * guix/script/system.scm (reinstall-bootloader): Fix bootcfg usage. (perform-action): Fix bootcfg usage. Danny Milosavljevic2017-07-28
* | | | | | | | | | | | | | | | | | utils: Factorize XDG directory handling.•••* guix/ui.scm (config-directory): Remove. * guix/utils.scm (xdg-directory, config-directory): New procedures. (cache-directory): Rewrite in terms of 'xdg-directory'. * guix/scripts/substitute.scm (%narinfo-cache-directory): Pass #:ensure? #f to 'cache-directory'. Ludovic Courtès2017-07-28
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | weather: Show "-m" option in help message.•••Reported by Alex Kost <alezost@gmail.com>. * guix/scripts/weather.scm (show-help): Show "-m". Ludovic Courtès2017-07-27
* | | | | | | | | | | | | | | | | git-download: Speed up 'git-predicate'.•••Adjust 'git-predicate' to use data structures that perform better when used with git repositories with a large number of files. Previously when matching either a regular file or directory, 'git-predicate' would search a list with a length equal to the number of files in the repository. As a search operation happens for roughly every file in the repository, this meant that the time taken to use 'git-predicate' to traverse all the files in a repository was roughly exponential with respect to the number of files in the repository. Now, for matching regular files or symlinks, 'git-predicate' uses a vhash using the inode value as the key. This should perform roughly in constant amount of time, instead of linear with respect to the number of files in the repository. For matching directories, 'git-predicate' now uses a tree structure stored in association lists. To check if a directory is in the tree, the tree is traversed from the root. The time complexity of this depends on the shape of the tree, but it should be an improvement on searching through the list of all files. * guix/git-download.scm (files->directory-tree, directory-in-tree?): New procedures. (git-predicate): Compute DIRECTORY-TREE. Turn INODES into a vhash. Adjust body of lambda accordingly. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Christopher Baines2017-07-25
* | | | | | | | | | | | | | | | | offload: Fix potential file descriptor and memory leak.•••The '%slots' list could grow indefinitely; in practice though, guix-daemon is likely to restart 'guix offload' often enough. * guix/scripts/offload.scm (%slots): Remove. (choose-build-machine): Don't 'set!' %SLOTS. Return the acquired slot as a second value. (process-request): Adjust accordingly. Release the returned slot after 'transfer-and-offload'. Ludovic Courtès2017-07-25
* | | | | | | | | | | | | | | | | offload: Disconnect sessions created by 'machine-load'.•••This fixes a memory leak that can be seen by running: (map (lambda _ (machine-load m)) (iota 1000)) * guix/scripts/offload.scm (machine-load): Add call to 'disconnect!'. Ludovic Courtès2017-07-25
* | | | | | | | | | | | | | | | | Add 'guix weather'.•••* guix/scripts/weather.scm: New file. * Makefile.am (MODULES): Add it. * doc/guix.texi (Substitutes, Invoking guix publish): Mention "guix weather". (Invoking guix weather): New node. Co-authored-by: Ricardo Wurmus <rekado@elephly.net> Ludovic Courtès2017-07-25
* | | | | | | | | | | | | | | | | import: cpan: Updater returns a list of URLs.•••* guix/import/cpan.scm (latest-release): Return a list in the 'urls' field of 'upstream-source'. Ludovic Courtès2017-07-24
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | publish: Make the cache eviction policy less aggressive.•••Suggested by Mark H Weaver <mhw@netris.org>. * guix/scripts/publish.scm (nar-expiration-time): New procedure. (render-narinfo/cached): Use it as the #:entry-expiration passed to 'maybe-remove-expired-cache-entries'. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | publish: Avoid 'valid-path?' RPC for non-existent items.•••* guix/scripts/publish.scm (render-narinfo/cached): Call 'file-exists?' before calling 'valid-path?'. This makes the 404 path slightly faster. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | store: Rewrite 'store-path-hash-part' to not use regexps.•••* guix/store.scm (store-path-hash-part): Rewrite without using a regexp. This speeds up 'guix substitute'. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | publish: Remove 'regexp-exec' call from the hot path.•••* guix/scripts/publish.scm (extract-narinfo-hash): Rewrite without resorting to regexps. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | base32: Export the base32 charsets.•••* guix/base32.scm (%nix-base32-charset, %rfc4648-base32-charset): New variables. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | substitute: Avoid repeated calls to 'length'.•••* guix/scripts/substitute.scm (fetch-narinfos)[update-progress!]: Move 'length' call outside of lambda. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | substitute: Optimize hash-part-to-path conversion on non-200 responses.•••Previously this operation was linear in the number of requests and involved costly calls to 'string-contains'. * guix/scripts/substitute.scm (fetch-narinfos)[hash-part->path]: New procedure. [handle-narinfo-response]: Use it for caching when CODE is not 200. Ludovic Courtès2017-07-21
* | | | | | | | | | | | | | | | gexp: Slightly improve error reporting for 'local-file'.•••Reported by Ricardo Wurmus. * guix/gexp.scm (local-file): Define using 'syntax-case' instead of 'syntax-rules'. Explicitly handle the zero-argument case and the use-as-an-identifier case. Ludovic Courtès2017-07-20
* | | | | | | | | | | | | | | | licenses: Add MirOS license.•••* guix/licenses.scm (miros): New variable. Arun Isaac2017-07-20
* | | | | | | | | | | | | | | | guix package: '-l' correctly handles zero-generation profiles.•••* guix/scripts/package.scm (process-query) <'list-generations>: Properly handle the case where 'profile-generations' returns the empty list. Ludovic Courtès2017-07-20
* | | | | | | | | | | | | | | | guix package: Trim trailing slashes from the profile name.•••Fixes <https://bugs.gnu.org/25762>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/scripts/package.scm (canonicalize-profile): Trim trailing slashes from PROFILE. Ludovic Courtès2017-07-20
* | | | | | | | | | | | | | | | profiles: Remove workaround for an old Guile 'scandir' bug.•••* guix/profiles.scm (generation-numbers)[scandir]: Remove. Ludovic Courtès2017-07-20
* | | | | | | | | | | | | | | | download: Add OpenBSD mirrors.•••* guix/download.scm (%mirrors) <openbsd>: Add HTTPS OpenBSD mirrors. * gnu/packages/ntp.scm (openntpd)[source]: Use them. * gnu/packages/ssh.scm (openssh)[source]: Likewise. * gnu/packages/tls.scm (libressl)[source]: Likewise. Tobias Geerinckx-Rice2017-07-19
* | | | | | | | | | | | | | | | guix system: Use "image.iso" as the name of ISO images.•••* guix/scripts/system.scm (system-derivation-for-action): Pass #:name to 'system-disk-image'. Ludovic Courtès2017-07-18
* | | | | | | | | | | | | | | | gexp: 'ungexp-splicing' properly accounts for nested native inputs.•••Previously, (gexp-native-inputs #~#$@(list #~#+foo)) would return '(). This is a followup to 5b14a7902c58d9fb7923f9e16871f549fbe59b6e. * guix/gexp.scm (gexp-inputs)[add-reference-inputs]: In the list case, remove 'if' around 'fold-right'. In 'map' lambda, always inherit N?. * tests/gexp.scm ("gexp list splicing + ungexp-splicing"): New test. Ludovic Courtès2017-07-17