Age | Commit message (Expand) | Author |
2018-07-12 | store: Add `binary-file'....* guix/store.scm (binary-file): New function.
* doc/guix.texi (The Store Monad): Describe binary-file.
| Jan Nieuwenhuizen |
2018-07-11 | gnu-maintenance: Get GNU metadata from rec files....Suggested by Mike Gerwitz <mtg@gnu.org>.
* guix/gnu-maintenance.scm (%package-list-url): Use the .rec file.
(%package-description-url): Likewise.
(official-gnu-packages)[read-records]: Skip record descriptors.
Rename fields to use underscores instead of hyphens.
| Ludovic Courtès |
2018-07-11 | import: gem: Add recursive import....* doc/guix.texi (Invoking guix import): Document gem recursive import.
* guix/import/gem.scm (gem->guix-package): Return package and dependencies
values.
(gem-recursive-import): New procedure.
* guix/scripts/import/gem.scm (show-help, %options): Add recursive option.
(guix-import-gem): Use 'gem-recursive-import'.
* tests/gem.scm (test-json): Rename to 'test-foo-json'.
("gem->guix-package"): Use 'test-foo-json'.
(test-bar-json, test-bundler-json): New variables.
("gem-recursive-import"): New test.
| Oleg Pykhalov |
2018-07-11 | build-system/haskell: Make phases fail on error....* guix/build/haskell-build-system.scm (configure): Make it fail on error.
(run-setuphs): Make it fail on error.
| Danny Milosavljevic |
2018-07-11 | ui: Fix typo....* guix/ui.scm (display-profile-content-diff): Fix typo in docstring.
| Ludovic Courtès |
2018-07-11 | profiles: Introduce 'profile-search-paths' and use it....* guix/profiles.scm (profile-search-paths): New procedure.
* guix/scripts/environment.scm (evaluate-search-paths): Remove.
(create-environment): Replace 'paths' with 'manifest'. Use
'profile-search-paths' instead of 'evaluate-search-paths'.
(show-search-paths): Likewise.
(launch-environment): Replace 'paths' with 'manifest'. Make 'pure?' a
keyword parameter.
(launch-environment/fork, launch-environment/container): Likewise.
(guix-environment): Remove 'paths' variable. Adjust callers of the
above procedures accordingly.
| Ludovic Courtès |
2018-07-11 | environment: Simplify code by using manifests internally....* guix/scripts/environment.scm (strip-input-name)
(package+propagated-inputs, package-or-package+output?)
(compact): Remove.
(inputs->profile-derivation): Rename to...
(manifest->derivation): ... this. Replace 'inputs' parameter with
'manifest'.
(input->manifest-entry): New procedure.
(package-environment-inputs): Rewrite to return a list of manifest
entries.
(options/resolve-packages): Rewrite to return a manifest.
(guix-environment): Remove 'inputs'. Define 'paths' in terms of
'manifest-search-paths'.
| Ludovic Courtès |
2018-07-11 | profiles: Factorize 'manifest-search-paths'....* guix/profiles.scm (manifest-search-paths): New procedure.
(profile-derivation)[builder]: Use it.
* guix/build/profiles.scm (build-etc/profile): Remove $PATH.
| Ludovic Courtès |
2018-07-10 | guix: Add opam importer....* guix/scripts/import.scm (importers): Add opam.
* guix/scripts/import/opam.scm: New file.
* guix/import/opam.scm: New file.
* tests/opam.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi (Invoking guix import): Document it.
| Julien Lepiller |
2018-07-07 | ui: Add -V as short option for --version....* guix/ui.scm (run-guix): Add -V as the short option for --version for
consistency with most commands.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Kyle Meyer |
2018-07-07 | scripts: Add missing -V option to commands that document it....* guix/scripts/container.scm (guix-container):
* guix/scripts/import.scm (guix-import):
* guix/scripts/substitute.scm (guix-substitute): Add -V as the short option
for --version to match show-help's description.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Kyle Meyer |
2018-07-07 | weather: Fix pasto in --version output....* guix/scripts/weather.scm (%options): Correct the command name passed to
show-version-and-exit.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Kyle Meyer |
2018-07-05 | pack: Use guile-for-build for the target system....Until now, running "guix pack -s i686-linux" on an x86_64-linux machine,
for instance, would use an x86_64 guile for module derivations. This
was OK until now, but would break when passing "--localstatedir" due to
the introduction of guile-sqlite3: we'd be using the i686 guile-sqlite3
along with the x86_64 guile.
* guix/scripts/pack.scm (guix-pack): Pass the 'system option from OPTS
to 'package-derivation'.
| Ludovic Courtès |
2018-07-04 | profiles: 'info-dir-file' hook now produces 'dir.LANG' files....Previously, entries for 'guix.fr.info' would end up in 'dir', above the
'guix.info' entries; consequently, running 'info guix' would actually
open 'guix.fr.info', which was confusing for non-French readers.
* guix/profiles.scm (info-dir-file)[glibc-utf8-locales]: New variable.
[build](info-file-language): New procedure.
(install-info): Use it, to create 'dir.LANG' files.
Set GUIX_LOCPATH.
| Ludovic Courtès |
2018-07-03 | Revert "packages: Optimize 'package-transitive-supported-systems'."...This reverts commit 24420f5ffabfbdbe913a5765e5c00e17de18fb4c.
This broke 'package-transitive-supported-systems', which would return
the union of supported systems instead of the intersection.
| Ludovic Courtès |
2018-07-03 | guix system: Make 'init' idempotent again....This fixes a regression introduced in
df2f6400b1fbc282ef4d6dd7124ea1c17adc23c2: since the new
'register-path' (actually 'reset-timestamps') would make files
read-only, 'delete-file-recursively' would fail to delete them. Thus,
re-running 'guix system init' on an already-populated store would fail
with a 'delete-file' EPERM.
* guix/scripts/system.scm (copy-item): Use 'lstat' instead of
'file-exists?'. Call 'make-file-writable' on each directory below
DEST.
| Ludovic Courtès |
2018-07-03 | ui: Report file names in 'system-error' exceptions from 'delete-file'....* guix/ui.scm (delete-file): New error-reporting wrapper.
| Ludovic Courtès |
2018-07-03 | database: 'reset-timestamps' now correctly handles symlinks....* guix/store/database.scm (reset-timestamps): Use 'utime' with
AT_SYMLINK_NOFOLLOW for symlinks.
| Ludovic Courtès |
2018-07-03 | syscalls: Define AT_SYMLINK_NOFOLLOW et al....* guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
(AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): New variables.
* tests/syscalls.scm ("utime with AT_SYMLINK_NOFOLLOW"): New test.
| Ludovic Courtès |
2018-07-03 | deduplication: Remove 'false-if-system-error', now unused....* guix/store/deduplication.scm (false-if-system-error): Remove.
| Ludovic Courtès |
2018-07-03 | import: elpa: Check if 'fetch-elpa-package' rest argument is null....* guix/import/elpa.scm (fetch-elpa-package): Check if 'rest' is null.
| Oleg Pykhalov |
2018-07-03 | deduplication: Place link files under /gnu/store/.links....Previously they'd always be placed next to TO-REPLACE, which would lead
to EPERM in some cases.
* guix/store/deduplication.scm (replace-with-link): Add #:swap-directory
parameter and honor it. Add call to 'make-file-writable'. Catch
'system-error' around 'rename-file'.
(deduplicate): Pass #:swap-directory and remove uses of
'false-if-system-error'.
* tests/store-deduplication.scm ("deduplicate"): Add 'chmod' call.
| Ludovic Courtès |
2018-07-03 | deduplication: Fix incorrect use of 'throw'....* guix/store/deduplication.scm (get-temp-link): In handler, fix call to
'throw'.
| Ludovic Courtès |
2018-07-03 | guix system: init: Check the available space before copying....* guix/scripts/system.scm (copy-closure): Call 'query-path-info*' on
TO-COPY and REFS. Compute the total size. Call 'check-available-space'.
| Ludovic Courtès |
2018-07-03 | ui: Make 'check-available-space' public....* guix/ui.scm (check-available-space): Add optional 'directory'
parameter, defaulting to (%store-prefix). Honor it. Make public.
| Ludovic Courtès |
2018-07-03 | store: Add 'query-path-info*'....* guix/scripts/size.scm (query-path-info*): Move to...
* guix/store.scm (query-path-info*): ... here.
| Ludovic Courtès |
2018-07-03 | packages: Optimize 'package-transitive-supported-systems'....This version is 13% faster than the one above when timing:
(fold-packages (lambda (p x)
(package-transitive-supported-systems p))
'())
* guix/packages.scm (package-transitive-supported-systems): Make
'systems' a set instead of calling 'lset-intersection' repeatedly.
| Ludovic Courtès |
2018-07-02 | self: Build with Guile 2.2.4....* guix/self.scm (guile-for-build): In the "2.2" case, choose
GUILE-2.2.4.
| Ludovic Courtès |
2018-07-02 | self: Use #:guile-for-build in the shebang of the 'guix' executable....* guix/self.scm (guix-command): Add #:guile and pass it to 'program-file'.
(whole-package): Add #:guile and pass it to 'guix-command'.
(compiled-guix): Pass #:guile to 'guix-command' and 'whole-package'.
| Ludovic Courtès |
2018-07-02 | utils: Micro-optimize 'source-properties->location'....* guix/utils.scm (source-properties->location): Destructure LOC with
'match', adding a fast path without 'assq-ref' calls.
| Ludovic Courtès |
2018-07-02 | utils: Disable memoization for 'location'....This was getting 25% hits, which did not quite justify the overhead.
* guix/utils.scm (location): Remove 'mlambda'.
| Ludovic Courtès |
2018-06-29 | ui: Increase relevance score for exact matches....Previously "guix package -s python" would have 'python2-zope-interface' as
its first result (relevance: 10), followed by many other python-*
packages with the same score, while 'python' itself would come
later (relevance: 7).
This change makes 'python' the first result (relevance: 27).
Reported by Gábor Boskovits.
* guix/ui.scm (relevance)[score]: Use 'fold-matches' instead of
'match:count' to counter the number of maches. Give more weight to
exact matches.
| Ludovic Courtès |
2018-06-27 | self: Add dependency on GnuTLS....Fixes <https://bugs.gnu.org/31983>.
Reported by Fis Trivial <ybbs.daans@hotmail.com>.
* guix/self.scm (specification->package): Add "gnutls" and
"guile2.0-gnutls".
(compiled-guix)[gnutls]: New variable.
[dependencies]: Add it.
| Ludovic Courtès |
2018-06-28 | scripts: gc: Report size in MiBs instead of bytes....* guix/scripts/gc.scm (guix-gc): Show info in MiBs not bytes.
| Taylan Kammer |
2018-06-27 | ui: Hint at the installation of locale packages and 'GUIX_LOCPATH'....* guix/ui.scm (install-locale): Hide the "warning: failed to install
locale" on Guile 2.2. Add a hint about 'glibc-utf8-locales' and
'GUIX_LOCPATH'.
| Ludovic Courtès |
2018-06-26 | store: Add 'port->connection'....* guix/store.scm (port->connection): New procedure.
| Ludovic Courtès |
2018-06-25 | pack: Squashfs build expression refers to (guix store database) & co....Fixes a regression introduced in
c45477d2a1a651485feede20fe0f3d15aec48b39.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/scripts/pack.scm (not-config?, guile-sqlite3&co): New variables.
(self-contained-tarball)[not-config?]: Remove.
[build]: Use GUILE-SQLITE3&CO for 'with-extensions'.
(squashfs-image)[libgcrypt]: New variable.
[build]: Use 'source-module-closure', 'make-config.scm', and
'with-extensions'.
(docker-image)[not-config?]: Remove.
| Ludovic Courtès |
2018-06-24 | pack: Fix guix pack -f docker....Without this change, running guix pack fails as (guix sets) is missing when
compiling (guix build store-copy).
* guix/scripts/pack.scm (docker-image): Move (guix build store-copy) to within
the source-module-closure call.
| Christopher Baines |
2018-06-21 | guix: Fix system reconfigure....This is a follow-up to 378daa8cb677121e1893f9173af1db060720d6e4.
* guix/scripts/system.scm (switch-to-system): Lower the script.
| Ricardo Wurmus |
2018-06-20 | guix system: 'list-generation' correctly displays file system labels....* guix/scripts/system.scm (display-system-generation): Correctly display
file system labels. Previously, starting from commit
a5acc17a3c10a3779b5b8b1a2565ef130be77e51, it'd print #<file-system-label "foo">.
| Ludovic Courtès |
2018-06-19 | build-system/waf: Use invoke....* guix/build/waf-build-system.scm (call-waf): Use "invoke" and unconditionally
return #t.
| Ricardo Wurmus |
2018-06-18 | self: Define derived '-directory' variables in config.scm....This is a followup to d6b5aa0b031f0e7091f7424ac616d1c4d10fed5b.
* guix/self.scm (%config-variables): Remove %CONFIG-DIRECTORY,
%STATE-DIRECTORY, %STORE-DATABASE-DIRECTORY, and %STORE-DIRECTORY.
(make-config.scm): Define them here.
* build-aux/build-self.scm (%config-variables, make-config.scm):
Likewise.
| Ludovic Courtès |
2018-06-18 | build: Remove checks for 'nix-instantiate'....* guix/import/snix.scm (open-nixpkgs): Use "nix-instantiate"
unconditionally.
* configure.ac: Remove check for 'nix-instantiate'.
* guix/config.scm.in (%nix-instantiate): Remove.
* guix/self.scm (%dependency-variables): Remove '%nix-instantiate'.
(make-config.scm): Remove it from the generated "config.scm".
* build-aux/build-self.scm (%dependency-variables, make-config.scm):
Likewise.
| Ludovic Courtès |
2018-06-18 | self: Make (guix config) generation really stateless....Previously the %CONFIG-VARIABLES list would be generated based on what
the current (guix config) contains. Thus, it would include
'%guix-register-program', which we recently removed, because
existing (guix config) most likely contained that variable. Since its
value could differ from machine to machine, the build farm could be
building a different config.scm, thereby preventing people from getting
substitutes.
* guix/self.scm (%config-variables): Turn into a white list instead of
taking all the remaining variables from the current (guix config).
* build-aux/build-self.scm (%config-variables): Likewise.
| Ludovic Courtès |
2018-06-18 | compile: Work around non-thread-safe module autoloading....* guix/build/compile.scm <top level>: Set 'try-module-autoload' when
running on Guile < 2.2.4.
| Ludovic Courtès |
2018-06-18 | build-system/r: Accept #:r argument....* guix/build-system/r.scm (lower): Add #:r to private-keywords.
| Ricardo Wurmus |
2018-06-17 | self: Install .go files to 'lib/guile/X.Y/site-ccache'....* guix/self.scm (guix-command): Add 'compiled-modules' parameter and
honor it.
(whole-package): Likewise.
(compiled-guix)[built-modules]: Turn into a procedure.
When PULL-VERSION is 1, use separate source and compiled modules.
When PULL-VERSION is 0, return a single directory containing both .scm
and .go files.
| Ludovic Courtès |
2018-06-16 | gnu: ldb: Fix build on 32-bit systems....* guix/utils.scm (target-64bit?): New procedure.
* gnu/packages/samba.scm (ldb)[inputs]: Only add LMDB on 64-bit systems.
[arguments]: Make #:tests? conditional on LMDB availability.
| Marius Bakke |
2018-06-15 | offload: Fix error message in 'guix offload test'....Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>
in <https://bugs.gnu.org/31824>.
* guix/scripts/offload.scm (assert-node-has-guix): Fix typo in failure
message; add missing argument.
| Ludovic Courtès |
2018-06-14 | offload: Gracefully handle invalid results from 'machines.scm'....* guix/scripts/offload.scm (build-machines): Check the result of FILE.
Ignore it if it's not a list of <build-machine>.
| Ludovic Courtès |