Age | Commit message (Expand) | Author |
2019-03-28 | pull: Truncate the list of packages displayed on completion....Previously, if you'd run 'guix pull' after a couple of weeks, it would
fill your screen with package names, which is unhelpful.
* guix/scripts/pull.scm (ellipsis): New procedure.
(display-new/upgraded-packages): Add #:concise?.
[list->enumeration]: New procedure.
Use it instead of 'string-join'.
(display-profile-news): Pass #:concise? #t.
| Ludovic Courtès |
2019-03-28 | pull: Factorize pretty-printing for new/upgraded package lists....* guix/scripts/pull.scm (display-new/upgraded-packages)[pretty]: New
procedure.
Use it.
| Ludovic Courtès |
2019-03-27 | refresh: Update the source code URL....Reported by Tobias Geerinckx-Rice <me@tobias.gr>
in <https://bugs.gnu.org/35010>.
* guix/upstream.scm (update-package-source): Take 'source' instead of
'version' as the second argument.
[update-expression]: Change to take 'replacements', a list of
replacement pairs.
Compute OLD-URL and NEW-URL and replace the dirname of the OLD-URL with
that of NEW-URL.
* guix/scripts/refresh.scm (update-package): Adjust call to
'update-package-source' accordingly.
| Ludovic Courtès |
2019-03-27 | upstream: 'package-update' returns the <upstream-source> object....Fixes a regression introduced in
abd4d6b33dba4de228e90ad15a8efb456fcf7b6e, where CHANGES would no longer
be a thunk.
Reported by Ricardo Wurmus.
* guix/upstream.scm (package-update/url-fetch): Return SOURCE as the
third value instead of CHANGES.
* guix/scripts/refresh.scm (update-package): Adjust accordingly.
| Ludovic Courtès |
2019-03-27 | scripts: Skip 'guix pull' suggestion when running code from a checkout....* guix/scripts.scm (warn-about-old-distro): Do not warn when
GUIX_UNINSTALLED is set.
| Ludovic Courtès |
2019-03-26 | environment: Create /etc/group in containers....Reported by Pierre Neidhardt <mail@ambrevar.xyz>.
* guix/scripts/environment.scm (launch-environment/container): Create
GROUPS and call 'write-group'.
* tests/guix-environment-container.sh: Test it.
| Ludovic Courtès |
2019-03-26 | environment: Use (gnu build accounts) for /etc/passwd handling....* guix/scripts/environment.scm (launch-environment/container): Remove
call to 'mock-passwd'; instantiate a <password-entry> instead. Call
'write-passwd' to write the pasword database instead of using custom
code.
(mock-passwd): Remove.
* tests/guix-environment-container.sh: Test 'getpwuid'.
| Ludovic Courtès |
2019-03-26 | packages: Adjust to new calling convention for "thunked" fields....Fixes <https://bugs.gnu.org/34995>.
This is a followup to abd4d6b33dba4de228e90ad15a8efb456fcf7b6e.
* guix/packages.scm (package->bag): Adjust calls to INPUTS,
PROPAGATED-INPUTS, NATIVE-INPUTS, and ARGS, passing them SELF as an
argument.
* gnu/packages/gnucash.scm (gnucash)[arguments]: Use (package-inputs
this-record) intead of (inputs).
* gnu/packages/version-control.scm (git)[arguments]: Likewise.
| Ludovic Courtès |
2019-03-25 | records: Allow thunked fields to refer to 'this-record'....* guix/records.scm (this-record): New syntax parameter.
(make-syntactic-constructor)[wrap-field-value]: When F is thunked,
return a one-argument lambda instead of a thunk, and parameterize
THIS-RECORD.
(define-record-type*)[thunked-field-accessor-definition]: Pass X
to (real-get X).
* tests/records.scm ("define-record-type* & thunked & this-record")
("define-record-type* & thunked & default & this-record")
("define-record-type* & thunked & inherit & this-record"): New tests.
| Ludovic Courtès |
2019-03-24 | ui: Bypass Texinfo parsing and rendering for searches....This makes search queries such as:
LANGUAGE=fr guix package -s utilitaire -s recherche
about 6 times faster.
* guix/ui.scm (%package-metrics): Do not use 'package-synopsis-string'
and 'package-description-string' to bypass Texinfo parsing and
rendering.
| Ludovic Courtès |
2019-03-23 | guix: dune-build-system: Add a package parameter....* guix/build-system/dune.scm: Add a package parameter.
* guix/build/dune.scm (build, test, install): Use it.
* doc/guix.texi: Document it.
| Julien Lepiller |
2019-03-23 | build: Add rakudo-build-system....* guix/build-system/rakudo.scm,
guix/build/rakudo-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build System): Document it.
| Efraim Flashner |
2019-03-23 | import: opam: Also update dune packages....* guix/import/opam.scm (opam-package?): Also accept packages that use the
dune build system.
| Julien Lepiller |
2019-03-23 | graph: Factorize calls to 'fold-packages'....* guix/scripts/graph.scm (all-packages): New procedure.
(%reverse-package-node-type, %reverse-bag-node-type): Use 'all-packages'
instead of 'fold-packages'.
| Ludovic Courtès |
2019-03-23 | graph: Add the 'reverse-bag' graph....Suggested by Julien Lepiller.
* guix/scripts/graph.scm (%reverse-bag-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("reverse bag DAG"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
| Ludovic Courtès |
2019-03-21 | build-system/meson: Add #:allowed-references and #:disallowed-references....* guix/build-system/meson.scm (meson-build): Add support for
#:allowed-references and #:disallowed-references.
| Marius Bakke |
2019-03-19 | pack: Create an empty /home directory for '-f squashfs'....Fixes <https://bugs.gnu.org/34914>.
* guix/scripts/pack.scm (squashfs-image)[build]: Pass "-p /home d 555 0 0".
| Ludovic Courtès |
2019-03-19 | pack: Produce relative symlinks when using '-f squashfs'....Fixes <https://bugs.gnu.org/34913>.
* guix/scripts/pack.scm (squashfs-image)[build]: Use
'relative-file-name' when creating SYMLINKS.
* guix/scripts/pack.scm (guix-pack): Pass #:relative-symlinks? #t when
PACK-FORMAT is 'squashfs.
| Ludovic Courtès |
2019-03-18 | import: Add Launchpad updater....* guix/import/launchpad.scm: New file.
* Makefile.am (MODULES): Register it.
* doc/guix.texi (Invoking guix refresh): Mention the Launchpad updater.
| Arun Isaac |
2019-03-18 | Correct name and email address for ng0....* .mailmap, Makefile.am, doc/guix.de.texi, doc/guix.fr.texi,
doc/guix.texi, etc/completion/fish/guix.fish,
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm,
gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm,
gnu/packages/enlightenment.scm, gnu/packages/erlang.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm,
gnu/packages/guile-wm.scm,gnu/packages/guile-xyz.scm,
gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm,
gnu/packages/haskell.scm, gnu/packages/image-viewers.scm,
gnu/packages/image.scm, gnu/packages/irc.scm,
gnu/packages/language.scm, gnu/packages/libcanberra.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm,
gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm,
gnu/packages/ncurses.scm, gnu/packages/networking.scm,
gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm, gnu/packages/python-xyz.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm,
gnu/packages/rust.scm, gnu/packages/scheme.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm,
gnu/packages/tor.scm, gnu/packages/version-control.scm,
gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm:
Correct name and email address for ng0.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| ng0 |
2019-03-18 | describe: Warn about 'GUIX_PACKAGE_PATH' in json and recutils format....Fixes <https://bugs.gnu.org/34884>.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>.
* guix/scripts/describe.scm (display-package-search-path): Add catch-all
case for FMT.
| Ludovic Courtès |
2019-03-17 | guix build: '--with-branch' strips slashes from the version string....This fixes things like:
guix build glibc \
--with-git-url=glibc=git://sourceware.org/git/glibc.git \
--with-branch=glibc=release/2.25/master
whereby slashes would before go straight to the 'version' field, leading
to an invalid store file name.
* guix/scripts/build.scm (transform-package-source-branch)[replace]:
Replace slashes with hyphens in BRANCH when building the version
string.
| Ludovic Courtès |
2019-03-17 | guix build: '--with-commit' makes recursive checkouts....This was an omission from commit
024a6bfba906742c136a47b4099f06880f1d3f15.
* guix/scripts/build.scm (transform-package-source-commit): Add
'recursive?' field to SOURCE.
* tests/scripts-build.scm ("options->transformation, with-branch")
("options->transformation, with-commit"): New tests.
| Ludovic Courtès |
2019-03-17 | guix build: Transformation options match packages by spec....This allows us to combine several transformations on a given package, in
particular '--with-git-url' and '--with-branch'.
Previously transformations would ignore each other since they would all
take (specification->package SOURCE) as their replacement source,
compare it by identity, which doesn't work if a previous transformation
has already changed SOURCE.
* guix/scripts/build.scm (evaluate-replacement-specs): Adjust to produce
an alist as expected by 'package-input-rewriting/spec', with a package
spec as the first element of each pair.
(evaluate-git-replacement-specs): Likewise.
(transform-package-inputs): Adjust accordingly and use
'package-input-rewriting/spec'.
(transform-package-inputs/graft): Likewise.
(transform-package-source-branch, transform-package-source-commit): Use
'package-input-rewriting/spec'.
(transform-package-source-git-url): Likewise, and adjust the
REPLACEMENTS alist accordingly.
(options->transformation): Iterate over OPTS instead of over
%TRANSFORMATIONS. Invoke transformations one by one.
* tests/scripts-build.scm ("options->transformation, with-input"):
Adjust test to compare packages by name rather than by identity.
("options->transformation, with-git-url + with-branch"): New test.
| Ludovic Courtès |
2019-03-17 | guix build: Factorize 'package-git-url'....* guix/scripts/build.scm (package-git-url): New procedure.
(evaluate-git-replacement-specs): Use it.
| Ludovic Courtès |
2019-03-17 | packages: Add 'package-input-rewriting/spec'....* guix/packages.scm (package-input-rewriting/spec): New procedure.
* tests/packages.scm ("package-input-rewriting/spec")
("package-input-rewriting/spec, partial match"): New tests.
* doc/guix.texi (Defining Packages): Document it.
| Ludovic Courtès |
2019-03-17 | guix build: Add '--with-git-url'....* guix/scripts/build.scm (%not-equal): New variable.
(evaluate-git-replacement-specs): Use it instead of local variable
'not-equal'.
(transform-package-source-git-url): New procedure.
(%transformations): Add 'with-git-url'.
(%transformation-options, show-transformation-options-help): Add
'--with-git-url'.
* tests/scripts-build.scm ("options->transformation, with-git-url"):
New test.
| Ludovic Courtès |
2019-03-17 | scripts: 'warn-about-old-distro' looks at the age of the running Guix....This fixes a discrepancy that could be seen when running:
sudo guix system …
where 'guix' would warn about the age of root's Guix, even though the
running Guix is the user's, not root's.
* guix/scripts.scm (warn-about-old-distro)[false-if-not-found]: Remove.
Obtain the profile date by calling 'current-profile-date' instead of
stat'ing "current-guix".
| Ludovic Courtès |
2019-03-17 | describe: Add 'current-profile-date'....* guix/describe.scm (current-profile-date): New procedure.
| Ludovic Courtès |
2019-03-17 | guix system: Fix success report of the bootloader installation....Fixes <https://bugs.gnu.org/34890>.
Reported by Jack Hill <jackhill@jackhill.us>.
Regression introduced in 21fcfe1ee969cc477dc41486ae4074e655d44274.
* guix/scripts/system.scm (bootloader-installer-script): Ungexp DEVICE.
| Ludovic Courtès |
2019-03-16 | guix: Match package names case-insensitively....* guix/scripts/package.scm (options->upgrade-predicate, process-query):
Use REGEXP/ICASE when matching package names.
| Tobias Geerinckx-Rice |
2019-03-16 | bootloader: Use 'invoke/quiet' when running 'grub-install' and co....This hides potentially confusing GRUB messages from the user, such as
"Installing for i386-pc platform."
* gnu/bootloader/extlinux.scm (install-extlinux): Use 'invoke/quiet'
instead of 'system*' and 'error'.
* gnu/bootloader/grub.scm (install-grub, install-grub-efi): Likewise.
* guix/scripts/system.scm (bootloader-installer-script): Guard against
'message-condition?' and handle them properly.
| Ludovic Courtès |
2019-03-16 | tests: Add 'with-environment-variable'....* tests/scripts.scm (with-environment-variable): Move to...
* guix/tests.scm (with-environment-variable): ... here.
* tests/build-utils.scm ("wrap-program, one input, multiple calls"):
Use it instead of 'setenv'.
| Ludovic Courtès |
2019-03-15 | pack: Construct inferior package names correctly....* guix/scripts/pack.scm (wrapped-package): now correctly constructs full
names of inferior packages.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| P.C. Shyamshankar |
2019-03-15 | pack: "-RR" produces PRoot-enabled relocatable binaries....* gnu/packages/aux-files/run-in-namespace.c (exec_with_proot): New
function.
(main): When 'clone' fails, call 'rm_rf'.
[PROOT_PROGRAM]: When 'clone' fails, call 'exec_with_proot'.
* guix/scripts/pack.scm (wrapped-package): Add #:proot?.
[proot]: New procedure.
[build]: Compile with -DPROOT_PROGRAM when PROOT? is true.
* guix/scripts/pack.scm (%options): Set the 'relocatable?' value to
'proot when "-R" is passed several times.
(guix-pack): Pass #:proot? to 'wrapped-package'.
* tests/guix-pack-relocatable.sh: Use "-RR" on Intel systems that lack
user namespace support.
* doc/guix.texi (Invoking guix pack): Document -RR.
| Ludovic Courtès |
2019-03-15 | build-system/glib-or-gtk: Support #:disallowed-references....* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add
#:disallowed-references and honor it.
| Ludovic Courtès |
2019-03-15 | download: Add MATE mirrors....* guix/download.scm (%mirrors): Add mirrors for the MATE Desktop.
| Guy Fleury Iteriteka |
2019-03-14 | build-system/go: Build with a filesystem union of Go dependencies....This basically changes (guix build-system go) so that instead of looking
up its dependencies in a list of directories in $GOPATH, all the
Go dependencies are symlinked into a single directory.
Fixes <https://bugs.gnu.org/33620>.
* guix/build/go-build-system.scm (setup-go-environment): New variable.
(setup-environment, install-source): Remove variables.
(unpack): Unpack the source relative to $GOPATH.
(install): Do not install the compiled objects in the 'pkg' directory.
Install the source code in this phase, and only install the source of
the package named by IMPORT-PATH.
* doc/guix.texi (Build Systems): Adjust accordingly.
* gnu/packages/docker.scm (docker): Import (guix build union) on the build side
and adjust to build phase name changes in (guix build-system go).
* gnu/packages/shellutils.scm (direnv): Likewise.
* gnu/packages/databases.scm (mongo-tools)[arguments]:
Set '#:install-source #f'.
* gnu/packages/music.scm (demlo)[arguments]: Move the 'install-scripts'
phase after the 'install' phase.
| Leo Famulari |
2019-03-13 | Remove traces of "GuixSD"....* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove
mentions of "GuixSD".
* gnu/bootloader/grub.scm (install-grub-efi): Likewise.
* gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to
"Guix_image".
(initialize-hard-disk): Search for the "Guix_image" label.
* gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD".
* gnu/installer/newt/welcome.scm (run-welcome-page): Likewise.
* gnu/packages/audio.scm (supercollider)[description]: Likewise.
* gnu/packages/curl.scm (curl): Likewise.
* gnu/packages/emacs.scm (emacs): Likewise.
* gnu/packages/gnome.scm (network-manager): Likewise.
* gnu/packages/julia.scm (julia): Likewise.
* gnu/packages/linux.scm (alsa-plugins): Likewise.
(powertop, wireless-regdb): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/polkit.scm (polkit): Likewise.
* gnu/packages/tex.scm (texlive-bin): Likewise.
* gnu/services/base.scm (file-systems->fstab): Likewise.
* gnu/services/cups.scm (%cups-activation): Likewise.
* gnu/services/mail.scm (%dovecot-activation): Likewise.
* gnu/services/messaging.scm (prosody-configuration)[log]: Likewise.
* gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise.
* gnu/system/install.scm (installation-os)[file-systems]: Change root
file system label to "Guix_image".
* gnu/system/mapped-devices.scm (check-device-initrd-modules):
Remove "GuixSD".
* gnu/system/vm.scm (system-docker-image): Likewise.
(system-disk-image)[root-label]: Change to "Guix_image".
* gnu/tests/install.scm (run-install): Remove "GuixSD".
* guix/modules.scm (guix-module-name?): Likewise.
* nix/libstore/optimise-store.cc: Likewise.
| Ludovic Courtès |
2019-03-12 | describe: 'package-path-entries' no longer includes the "guix" entry....Fixes <https://bugs.gnu.org/34833>
Reported by mikadoZero <mikadozero@yandex.com>.
By returning the "guix" entry, we were then adding it to
%PACKAGE-MODULE-PATH, causing the discovery code to scan the whole tree,
including gnu/installer modules, which would in turn lead to warnings.
Regression introduced in bfc9c339301ffe6dd15d156894dc27e05f6f081f.
* guix/describe.scm (package-path-entries): Use
'current-channel-entries', not 'current-profile-entries'.
| Ludovic Courtès |
2019-03-12 | Revert "packages: 'package-input-rewriting' can take a promise."...This reverts commit 7d2be1277b44de9d0528d9d3015443b40cb3b104, which
turned out to be unhelpful for the problem at hand:
https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00486.html
| Ludovic Courtès |
2019-03-11 | packages: Add the channel .go files to the search path....Until now %LOAD-COMPILED-PATH would wrongfully contain:
CHANNEL/share/guile/site/X.Y
for each channel, thereby ignoring all the .go files of channels. This
fixes it so that %LOAD-COMPILED-PATH instead contains:
CHANNEL/lib/guile/X.Y/site-ccache
* guix/describe.scm (current-channel-entries): New procedure.
(package-path-entries): Change to return the %LOAD-COMPILED-PATH entries
as a second value.
* gnu/packages.scm (%package-module-path): Expect two values from
'package-path-entries' and augment %LOAD-COMPILED-PATH accordingly.
| Ludovic Courtès |
2019-03-08 | upstream: Correctly report failure to update Git checkouts....Fixes <https://bugs.gnu.org/34778>.
Reported by Gábor Boskovits <boskovits@gmail.com>.
* guix/upstream.scm (package-update/url-fetch): New procedure, with code
formerly in 'package-update'.
(%method-updates): New variable.
(package-update): Check the method to download PACKAGE's source, and
look up a corresponding update method in %METHOD-UPDATES, and raise an
error if none was found.
| Ludovic Courtès |
2019-03-08 | gnu: Add epl2.0....* guix/licenses.scm (epl2.0): New variable.
| Ricardo Wurmus |
2019-03-08 | channels: Do not fail when the inferior lacks 'guix repl'....Fixes <https://bugs.gnu.org/34637>.
Reported by Martin Flack <martin.flack@gmail.com>.
Previously we'd fail to build the package cache for old versions of Guix
that lack 'guix repl'. Now we simply ignore the issue and keep going
without a cache.
* guix/inferior.scm (gexp->derivation-in-inferior): Add
#:silent-failure? and honor it.
[drop-extra-keyword]: New procedure.
Use it.
* guix/channels.scm (package-cache-file): Pass #:silent-failure? #t.
| Ludovic Courtès |
2019-03-07 | pack: Add '--save-provenance'....* guix/scripts/pack.scm (show-help, %options): Add '--save-provenance'.
(guix-pack)[manifest-from-args]: Honor it.
* doc/guix.texi (Invoking guix pack): Document it.
| Ludovic Courtès |
2019-03-07 | describe: Add 'package-provenance'....* guix/scripts/package.scm (package-provenance): Move to...
* guix/describe.scm (package-provenance): ... here.
| Ludovic Courtès |
2019-03-07 | database: Make 'register-items' transactional....* guix/store/database.scm (SQLITE_BUSY, register-output-sql): New variables.
(add-references): Don't try finalizing after each use, only after all the
uses (otherwise a finalized statement would be used if #:cache? was #f).
(call-with-transaction): New procedure.
(register-items): Use call-with-transaction to prevent broken intermediate
states from being visible.
* .dir-locals.el (call-with-transaction): indent it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Caleb Ristvedt |
2019-03-04 | environment: Rename '--inherit' to '--preserve'....Suggested by Eric Bavier and Ricardo Wurmus.
* guix/scripts/environment.scm (show-help, %options): Emit a deprecation
warning for "--inherit" and add -E/--preserve.
* tests/guix-environment.sh: Adjust accordingly.
* doc/guix.texi (Invoking guix environment): Update accordingly.
| Ludovic Courtès |
2019-03-04 | environment: Remove deprecated -E/--exec option....* guix/scripts/environment.scm (%options): Remove "--exec", which was
deprecated in commit 1de2fe95e017c42aacbaa34f5dab8d48249cc064 in 2015.
* tests/guix-environment.sh: Remove use of '-E'.
| Ludovic Courtès |