Ludovic Courtès
dd8ea244f4
download: Export 'maybe-expand-mirrors'.
...
* guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New
procedures.
(url-fetch): Remove them from here.
2014-12-29 21:19:17 +01:00
Ludovic Courtès
8b385969cf
tests: Factorize the 'dummy-package' macro.
...
* guix/tests.scm (dummy-package): New macro.
* tests/lint.scm (dummy-package): Remove.
* tests/packages.scm (dummy-package): Remove.
2014-12-29 21:18:12 +01:00
Ludovic Courtès
907c98acbb
lint: Add tests for the 'home-page' checker.
...
Suggested by Cyril Roelandt <tipecaml@gmail.com>.
* tests/lint.scm (%http-server-port, %http-server-socket, %local-url,
stub-http-server): New variables.
(http-write, call-with-http-server): New procedures.
(with-http-server): New macro.
("home-page: wrong home-page", "home-page: invalid URI", "home-page:
host not found", "home-page: Connection refused", "home-page: 200",
"home-page: 404"): New tests.
* guix/scripts/lint.scm (check-home-page): Export.
2014-12-29 21:17:36 +01:00
Ludovic Courtès
c79c6e598a
lint: Report on the package being checked.
...
* guix/scripts/lint.scm (run-checkers): Check
whether (current-error-port) is a tty, and print the package being
checked and the checker currently running when it is.
2014-12-28 18:21:53 +01:00
Ludovic Courtès
a3bf096945
lint: Add 'home-page' checker.
...
* guix/build/download.scm (open-connection-for-uri): Export.
* guix/scripts/lint.scm (probe-uri, check-home-page): New procedures.
(%checkers): Add 'home-page' checker.
2014-12-28 17:57:36 +01:00
Ludovic Courtès
78a2745370
build-system/python: Fix 'package-with-explicit-python'.
...
Reported by Federico Beffa <beffa@ieee.org>
and Eric Bavier <ericbavier@gmail.com>.
* guix/build-system/python.scm (package-with-explicit-python): Do
nothing when P's build system is not PYTHON-BUILD-SYSTEM.
2014-12-23 19:14:52 +01:00
Mark H Weaver
a193b8248b
Optimize package-transitive-supported-systems.
...
* guix/packages.scm (first-value): Remove.
(define-memoized/v): New macro.
(package-transitive-supported-systems): Rewrite.
2014-12-21 20:12:18 -05:00
Ludovic Courtès
c9bf64d6d7
syscalls: Add more procedures for network interfaces.
...
* guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types,
read-type, read-types, define-c-struct): New macros.
(SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables.
(sockaddr-in, sockaddr-in6): New C structs.
(write-socket-address!, read-socket-address,
set-network-interface-flags, set-network-interface-address,
network-interface-address, configure-network-interface): New
procedures.
2014-12-19 17:15:53 +01:00
Federico Beffa
6f8fe4b29e
build/python-build-system: Fix easy-install.pth collisions.
...
* guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file
phase and corresponding function.
2014-12-18 17:58:10 +01:00
Ludovic Courtès
bea26837e8
profiles: Fix removal of the next-to-last item in a profile.
...
Fixes a bug whereby removing the next-to-last item in a profile would
lead to an obscure error, as shown at
<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html >.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir
"out") instead of just INFO-DIR.
2014-12-15 23:01:56 +01:00
Ludovic Courtès
5920d90e68
build-system/glib-or-gtk: Fix default value of #:glib-or-gtk-wrap-excluded-outputs.
...
Fixes <http://bugs.gnu.org/19321 >.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default
value of #:glib-or-gtk-wrap-excluded-outputs to ''().
2014-12-09 23:21:39 +01:00
Eric Bavier
499cdcc6cb
gnu: licenses: Add NCSA license.
...
* guix/licenses.scm (ncsa): New variable.
2014-12-09 12:02:08 -06:00
Ludovic Courtès
5f742c84d4
substitute-binary: Add missing newline in download progress report.
...
Fixes <http://bugs.gnu.org/19313 >.
Reported by rekado <rekado@elephly.net>.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)
<--substitute>: Add 'newline' call.
2014-12-09 11:24:56 +01:00
Ludovic Courtès
6412e58a68
system: Don't make /boot/grub/grub.cfg a symlink to the store.
...
This would not work when /boot is a separate partition, as reported by
Nikita Karetnikov <nikita@karetnikov.org> in <http://bugs.gnu.org/19220 >.
This fixes a regression introduced in 39d1f82
.
* gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of
symlinking it, as was the case before 39d1f82
.
* gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter.
Make it a permanent GC root instead of an indirect GC root.
(initialize-hard-disk): Adjust accordingly.
* guix/scripts/system.scm (install-grub*): Replace use of
'add-indirect-root' by the addition of a permanent GC root in
%GC-ROOTS-DIRECTORY.
2014-12-09 11:06:50 +01:00
Federico Beffa
c3ea85d110
build-system/python: Add handling of 'propagated-inputs' in
...
'package-with-explicit-python'.
* guix/build-system/python.scm (package-with-explicit-python): Add mapping for
'propagated-inputs'.
2014-12-08 09:54:34 +01:00
Ludovic Courtès
c9e46f1c39
guix system: Fix typo affecting 'guix system init'.
...
Fixes <http://bugs.gnu.org/19279 >.
Fixes a regression introduced in cc7fa59
.
Reported by Tomas Cech <tcech@suse.cz>.
* guix/scripts/system.scm (install): Fix order of arguments to 'lift'
and 'lift2'.
2014-12-07 00:00:42 +01:00
nebuli
847391fe62
guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
...
Appending to "raw" args broke optional parameters in 'guix package -I'
and 'guix package -A', and possibly other places. Therefore, switch to
parsing each set of options on its own and append resulting alists
together afterwards.
* guix/scripts/archive.scm (parse-options-from): Rename from
(parse-options) and add explicit argument. New form of (parse-options)
using its old algorithm via -from function.
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* tests/guix-package.sh: Add test.
* doc/guix.texi (Invoking guix build): Make it clear that the options
are parsed independently.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-12-06 16:03:49 +01:00
Ludovic Courtès
39d1f82b52
system: Make /boot/grub/grub.cfg an indirect GC root.
...
Fixes <http://bugs.gnu.org/19160 >.
* guix/scripts/system.scm (install-grub*): Make /boot/grub/grub.cfg an
indirect GC root.
* gnu/build/install.scm (install-grub): Make TARGET a symlink.
* gnu/build/vm.scm (register-grub.cfg-root): New procedure.
(initialize-hard-disk): Use it.
2014-12-04 23:53:16 +01:00
Ludovic Courtès
c3e79cde06
guix system: Factorize 'grub-install' error handling, and use more 'mbegin'.
...
* guix/scripts/system.scm (install-grub*): New procedure.
(install): Use it, and use 'mwhen?'.
(perform-action) <reconfigure>: Likewise.
2014-12-04 23:53:16 +01:00
Alex Kost
0b08600ca5
build: emacs-utils: Add 'emacs-generate-autoloads'.
...
* guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
2014-12-02 22:09:23 +03:00
Ludovic Courtès
ec38437f94
packages: Use the target's system Guile when downloading patches.
...
* guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in
'package-source-derivation' call.
2014-12-02 16:51:43 +01:00
Ludovic Courtès
7ce7361b76
derivations: Export 'derivation-builder'.
...
* guix/derivations.scm: Export 'derivation-builder'.
2014-12-02 16:51:43 +01:00
Ludovic Courtès
b307c06456
monads: Add 'lift0'.
...
* guix/monads.scm (lift0): New variable.
2014-12-02 16:51:43 +01:00
Ludovic Courtès
21caa6deeb
monads: Add 'mwhen' and 'munless'.
...
* guix/monads.scm (mbegin): Add special '%current-monad' syntactic
keyword.
(mwhen, munless): New macros.
2014-12-02 16:51:43 +01:00
Ludovic Courtès
cc7fa5929c
guix system: Use 'mbegin' for 'install'.
...
* guix/scripts/system.scm (install): Use 'mbegin'. Lift FORMAT and
POPULATE-ROOT-FILE-SYSTEM, and use the result.
2014-12-02 16:51:43 +01:00
Ludovic Courtès
73aa8ddb75
build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping.
...
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add
#:glib-or-gtk-wrap-excluded-outputs parameter and honor it.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add
#:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER.
* doc/guix.texi (Build Systems): Mention it.
2014-12-01 22:41:04 +01:00
Ludovic Courtès
c8b7569558
build-system/glib-or-gtk: Correctly handle multiple-output packages.
...
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body
to 'handle-output' inner procedure, and parametrize it by output name
and directory. Call it for each element of OUTPUTS.
(compile-glib-schemas): Likewise.
2014-12-01 22:41:04 +01:00
Ludovic Courtès
4efdabb810
build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate.
...
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use
'for-each' instead of 'map' in for-effect contexts. Use 'cut' instead
of 'lambda' when appropriate.
2014-12-01 22:41:04 +01:00
Ludovic Courtès
85dbd3dcd0
build-system/glib-or-gtk: Clean up whitespace.
...
* guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup.
2014-12-01 22:41:04 +01:00
nebuli
16eb115ef4
guix: scripts: Add GUIX_BUILD_OPTIONS environment handling.
...
* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
* guix/scripts/archive.scm: (append args (environment-build-options)).
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* guix/ui.scm (environment-build-options): New function.
* guix/utils.scm (arguments-from-environment-variable): New function.
* tests/guix-build.sh: Add tests.
* test-env.in: Unset GUIX_BUILD_OPTIONS.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-11-30 18:54:07 +01:00
Ludovic Courtès
f5d9604f27
gnu-maintenance: Support .zip files.
...
Reported by Andreas Enge <andreas@enge.fr>.
* guix/gnu-maintenance.scm (sans-extension): Add case for ".zip".
(%tarball-rx): Extend to handle .zip extension.
2014-11-29 22:34:59 +01:00
Ludovic Courtès
d5d1668630
Add (guix elf).
...
* guix/elf.scm: New file. Taken from Guile 'master', commit 3f826e3.
* Makefile.am (MODULES): Add it.
* THANKS: Thank Andy, who wrote this module.
2014-11-28 00:10:28 +01:00
Ludovic Courtès
d616c05529
substitute-binary: Change "unresponsive" to "slow".
...
* guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to
"somewhat slow". I'm being told that the former is often
misunderstood as "broken".
2014-11-28 00:10:27 +01:00
Andreas Enge
d57b88bed5
Update gnupg mirrors.
...
* guix/download.scm (%mirrors): Update mirror list for gnupg.
2014-11-26 19:52:11 +01:00
Ludovic Courtès
f6526eb330
guix build: Add '--max-jobs' option.
...
Suggested by Deck Pickard <deck.r.pickard@gmail.com>.
* guix/scripts/build.scm (show-build-options-help): Document
--max-jobs.
(set-build-options-from-command-line): Pass #:max-build-jobs.
(%standard-build-options): Add --max-jobs.
* doc/guix.texi (Invoking guix-daemon): Document the meaning of
'--max-jobs 0'.
(Invoking guix build): Document --max-jobs, with a reference to
"Invoking guix-daemon'.
2014-11-25 22:37:44 +01:00
Ludovic Courtès
0ae332d3ef
licenses: Add MPL 1.1.
...
* guix/licenses.scm (mpl1.1): New variable.
2014-11-25 18:01:59 +01:00
Ludovic Courtès
2cdda52b1a
import: gnu: Write the hash in nix-base32 format.
...
* guix/import/gnu.scm (gnu-package->sexp): Use
'bytevector->nix-base32-string', not 'bytevector->base32-string'.
2014-11-25 18:01:59 +01:00
nebuli
8b47758f02
store: default to serial "scheduler"
...
* guix/store.scm (set-build-options): exchange default argument values
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-11-23 21:48:47 +01:00
Ludovic Courtès
0276f697b3
guix system: Add '--share' and '--expose' options for 'vm'.
...
* guix/scripts/system.scm (system-derivation-for-action): Add #:mappings
parameter. Pass it to 'system-qemu-image/shared-store-script'.
(perform-action): Likewise.
(show-help): Document --share and --expose.
(specification->file-system-mapping): New procedure.
(%options): Add --share and --expose.
(guix-system): Pass #:mapping to 'perform-action'.
* doc/guix.texi (Invoking guix system): Document it.
2014-11-21 00:02:26 +01:00
Ludovic Courtès
8b9019a6a9
lint: Fix typos in checker descriptions.
...
* guix/scripts/lint.scm (%checkers): "file names" (two words), and
"synopses" (plural).
2014-11-19 22:52:30 +01:00
Ludovic Courtès
db6dcf816f
lint: Use localized checker descriptions.
...
* guix/scripts/lint.scm (list-checkers-and-exit): Wrap
'lint-checker-description' call in (_ ...).
2014-11-19 22:52:30 +01:00
Ludovic Courtès
836f02bf52
lint: Correctly internationalize warning messages.
...
* guix/scripts/lint.scm (emit-warning): Remove '_' call for format
string.
(check-description-style, check-inputs-should-be-native,
check-synopsis-style, check-patches, check-gnu-synopsis+description):
Wrap message in (_ ...).
2014-11-19 22:52:30 +01:00
Ludovic Courtès
f4d5bca39e
lint: Change checker names to be symbols.
...
* guix/scripts/lint.scm (%checkers): Change 'name' fields to be
symbols.
(%options): Adjust "-c" option handler accordingly.
2014-11-19 22:52:30 +01:00
Ludovic Courtès
37627ffa89
lint: Fold 'sync-descriptions' script as 'gnu-description' lint checker.
...
* build-aux/sync-descriptions.scm: Remove. Move payload to...
* guix/scripts/lint.scm: ... here.
(escape-quotes, official-gnu-packages*,
check-gnu-synopsis+description): New procedures.
(%checkers): Add 'gnu-descriptions'.
* Makefile.am (EXTRA_DIST): Remove build-aux/sync-descriptions.scm.
(sync-descriptions): Use 'guix lint'.
2014-11-19 22:52:28 +01:00
Ludovic Courtès
af8c2a158e
licenses: Add the Clarified Artistic License.
...
* guix/licenses.scm (clarified-artistic): New variable.
2014-11-19 22:07:02 +01:00
Ludovic Courtès
cd4a3cb359
syscalls: Update /etc/mtab, not /etc/fstab.
...
* guix/build/syscalls.scm (remove-from-mtab): Replace "fstab" with
"mtab".
2014-11-14 00:41:01 +01:00
Ludovic Courtès
d09e8c7b15
substitute-binary: Be slightly less verbose when downloading.
...
* guix/scripts/substitute-binary.scm (guix-substitute-binary)<"--substitute">:
Be slightly less verbose.
2014-11-13 22:17:44 +01:00
Ludovic Courtès
7f614a747c
derivations: Clarify message produced by 'graft-derivation'.
...
* guix/derivations.scm (graft-derivation): Use the term "grafting" in
the build message.
2014-11-13 11:35:13 +01:00
Ludovic Courtès
906b1b0986
guix system: Decorate GRUB entries of old generations with date and number.
...
* guix/scripts/system.scm (seconds->string): New procedure.
(previous-grub-entries)[system->grub-entry]: Add 'number' and 'time'
parameters. Adjust call accordingly.
2014-11-11 22:42:42 +01:00
Ludovic Courtès
7047133f07
import: Add GNU importer.
...
Suggested by Karl Berry <karl@gnu.org>
and Andreas Enge <andreas@enge.fr>.
* guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/scripts/import.scm (importers): Add "gnu".
* guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure.
(download-tarball): Export.
2014-11-11 15:31:35 +01:00