Commit Graph

21347 Commits

Author SHA1 Message Date
Andy Patterson 0383afa02a
build-system/asdf: Handle tests defined in external systems.
* guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument.
[builder]: Pass it to the build system.
(package-with-build-system)[transform]: Strip it from source systems' arguments.
* guix/build/asdf-build-system.scm (check): Pass the fully qualified path to
it on to the test-system procedure.
* guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of
the often used names for it, before running the tests.  Adjust the docstring
accordingly.
2017-05-16 15:18:16 +02:00
Andy Patterson f56da605d8
gnu: sbcl-slynk-boot0: Give the package an appropriate name.
* gnu/packages/lisp.scm (sbcl-slynk-boot0)[name]: Change it to reflect the
bootstrap status of the package.
[arguments]<#:asd-system-name>: Add the appropriate value.
(sbcl-slynk-arglists)[arguments]: Set the appropriate #:asd-file and forcibly
unset #:asd-system-name.
(sbcl-slynk)[name]: Change it to the variable name.
(cl-slynk)[name]: Likewise.
2017-05-16 15:18:16 +02:00
Andy Patterson 4209c31b8f
build-system/asdf: Retain references to source files for binary outputs.
In support of long-running programs in which the users would like to be able
to jump to the source of a definition of any of the dependencies (itself
included) of the program.

* guix/build/asdf-build-system.scm (library-outputs): Move from here ...
* guix/build/lisp-utils.scm (library-outputs): ... to here.
(build-program): Accept dependency-prefixes argument, to allow the caller to
specify references which should be retained.  Default to the library's output.
(build-image): Likewise.
(generate-executable): Likewise.
* gnu/packages/lisp.scm (sbcl-stumpwm+slynk, sbcl-slynk, sbcl-stumpwm): Adjust
accordingly to the new interface.
(sbcl-stumpwm+slynk)[native-inputs]: Move to ...
[inputs]: ... here.
2017-05-16 15:18:16 +02:00
Andy Patterson b9afcb9ed4
build-system/asdf: Simplify the use of lisp-eval-program.
Accept a list of statements, each run within its own `--eval' argument. This
allows statements to use reader package namespacing after a package has been
loaded.

* guix/build/lisp-utils.scm (spread-statements): New procedure.
(lisp-invoke): Rename to ...
(lisp-invocation): ... this. Use spread-statements. Change interface to accept
list of statements instead of a single statement.
(asdf-load-all-systems): Simplify returned statements.
(compile-system): Simplify the program passed to `lisp-eval-program'.
(test-system): Likewise.
(generate-executable-for-system): Likewise. Accept the full symbol describing
the asdf operation to use.
(generate-executable): Document the change.
(build-program, build-image): Use the new interface.
2017-05-16 15:18:15 +02:00
Ricardo Wurmus ac2592536d
gnu: Add cl-unicode.
* gnu/packages/lisp.scm (sbcl-cl-unicode-base, sbcl-cl-unicode)
(ecl-cl-unicode, cl-unicode): New variables.

Co-Authored-By: Andy Patterson <ajpatter@uwarerloo.ca>
2017-05-16 15:18:15 +02:00
Andy Patterson 40f56176c5
build-system/asdf: Handle unusually-named systems.
* guix/build/lisp-utils.scm (valid-char-set): New variable.
(normalize-string): New procedure.
(compiled-system): Truncate the name of a system which contains slashes.
(generate-system-definition, make-asd-file): Use `normalize-string' to alter
the names of the created system and its dependencies.
* guix/build/asdf-build-system.scm (create-asd-file): Normalize the name of
the asd file being created.
2017-05-16 15:18:15 +02:00
Andy Patterson 0186a463d0
build-system/asdf: Always pre-load the system's definition file.
* guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default
`#:asd-file' argument to the build procedure, using the system's name.
* guix/build/asdf-build-system.scm (build, check): Adjust to assume that
`asd-file' will always be a string.
* guix/build/lisp-utils.scm (compile-system, system-dependencies)
(test-system): Likewise.
2017-05-16 15:18:15 +02:00
Andy Patterson 457702b1d9
build-system/asdf: Pass the system name as an argument to the builder.
* guix/build-system/asdf.scm (asdf-build): Use the user-defined system name,
or calculate it from the package's full name.
[builder]: Pass the value along to the build procedure.
(package-with-build-system): Remove #:asd-system-name from source packages'
arguments.
* guix/build/asdf-build-system.scm: Adjust accordingly.
* guix/build/lisp-utils.scm (remove-lisp-from-name): Delete variable.
2017-05-16 15:18:15 +02:00
Andy Patterson b4c9f0c50d
build-system/asdf: Parameterize the lisp type and implementation globally.
* guix/build-system/asdf.scm (asdf-build)[builder]: Parameterize %lisp-type
and %lisp before invoking the build procedure. Don't pass #:lisp-type as an
argument to said procedure.
* guix/build/asdf-build-system.scm: Adjust accordingly.
(source-install-prefix): Rename to %lisp-source-install-prefix.
* guix/build/lisp-utils.scm: Adjust accordingly.
(%lisp-type): New parameter.
(bundle-install-prefix): Rename to %bundle-install-prefix.
* gnu/packages/lisp.scm: Adjust accordingly.
2017-05-16 15:18:15 +02:00
Andy Patterson 6de91ba2a1
build-system/asdf: Make #:lisp a package argument.
* guix/build-system/asdf.scm (lower): Change argument name to `lisp-type'.
(asdf-build): Change argument name to `lisp-type'.  Remove `lisp' as an
argument to the returned procedure.  Change the argument passed to build
phases to `lisp-type'.
* guix/build/asdf-build-system.scm (copy-source, build, check)
(create-asd-file, symlink-asd-files, cleanup-files, strip): Respect
`lisp-type` argument.
* gnu/packages/lisp.scm (sbcl-stumpwm, sbcl-stumpwm+slynk): Likewise.
2017-05-16 15:18:15 +02:00
Andy Patterson 26a16d37ff
build-system/asdf: Keep ecl's generated archive files.
This may be necessary to produce programs or images with ecl.

* guix/build/asdf-build-system.scm (cleanup-files): Don't delete .a files.
2017-05-16 15:18:14 +02:00
Andy Patterson 0e1371be09
build-system/asdf: Don't rename inputs.
* guix/build-system/asdf.scm (package-with-build-system)[transform]: Use updated
`new-inputs' procedure for inputs and native-inputs.
<rewrite>: Don't rename inputs.
<new-propagated-inputs>: Draw from package-inputs and package-native-inputs
for source packages.  Use the original package's propagated-inputs otherwise.
<new-inputs>: Convert into a function to be used to transform inputs and
native-inputs.
* gnu/packages/lisp.scm (sbcl-fiveam, sbcl-bordeaux-threads)
(sbcl-flexi-streams, sbcl-cl-ppcre, sbcl-stumpwm, sbcl-slynk-arglists)
(sbcl-slynk-fancy-inspector): Don't prefix input names.
2017-05-16 15:18:14 +02:00
Andy Patterson 35189728cd
build-system/asdf: Use asdf to determine dependencies.
This removes the need for conventions to determine which inputs are run-time
dependencies, and also the need to specify "special" dependencies.

* guix/build/lisp-utils.scm (patch-asd-file, lisp-dependencies)
(wrap-perform-method): Remove them.
(inputs->asd-file-map, system-dependencies, generate-system-definition)
(generate-dependency-links, make-asd-file): New procedures.
(lisp-eval-program): Add an error if no lisp matches.
(compile-system): Don't use asdf's in-built asd-file generator.
2017-05-16 15:18:14 +02:00
Andy Patterson 290bf612bb
gnu: cl-stumpwm: Build the library in "lib" and the program in "bin".
* gnu/packages/lisp.scm (sbcl-stumpwm)[outputs]: Remove "bin" and add "lib".
[arguments]<#:phases>: Change the target of `build-program' to the "out"
output. Likewise, change the target of the desktop file generation.
(sbcl-stumpwm+slynk)[inputs]: Use the "lib" output of sbcl-stumpwm.
2017-05-16 15:18:14 +02:00
Andy Patterson 6c76ce39ac
build-system/asdf: Make it possible to use "lib" as the build output.
* guix/build/asdf-build-system.scm (library-output): New procedure.
(copy-source, build, check, patch-asd-files, symlink-asd-files)
(cleanup-files): Use it.
(copy-files-to-output): Rework to take an output instead of an outputs and
string pair.
(install, copy-source): Use the new method.
2017-05-16 15:18:14 +02:00
Andy Patterson bc389c20a9
build-system/asdf: Rename %install-prefix to %source-install-prefix.
* guix/build/lisp-utils.scm (%install-prefix): Rename to
%source-install-prefix.
(build-install-prefix): Use it.
* guix/build/asdf-build-system.scm (source-install-prefix)
(%system-install-prefix, source-directory, copy-source): Likewise.
2017-05-16 15:18:14 +02:00
Andy Patterson 75e8b3af69
gnu: cl-slynk: Explain some naming choices.
* gnu/packages/lisp.scm (sbcl-slynk-boot0): Add comments explaining its
purpose and the reason its package-name must differ from its name.
2017-05-16 15:18:13 +02:00
Andy Patterson 14afc7b89c
gnu: cl-slynk: Clarify the description.
* gnu/packages/lisp.scm (sbcl-slynk-boot0)[description]: Describe slime.
2017-05-16 15:18:13 +02:00
Ludovic Courtès 43e5a262aa
Update NEWS. 2017-05-16 15:18:12 +02:00
Ludovic Courtès 33ec536b90
gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix): Update to ce92d26.
2017-05-16 15:18:12 +02:00
Ludovic Courtès 7ee7ee16ea
gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix): Update to ce92d26.
2017-05-16 15:14:33 +02:00
Mathieu Othacehe 5641dffb07
scripts: system: Display bootloader name in "list-generations".
* guix/scripts/system.scm (display-system-generation): Display
  bootloader name.
2017-05-16 14:41:02 +02:00
Mathieu Othacehe 3241f7ff92
scripts: system: Adapt "switch-generation" to new bootloader API.
* guix/scripts/system.scm (reinstall-grub): Rename to
  reinstall-bootloader. Read boot-device and boot-type from parameters file to
  be able to restore the correct bootloader on specified device.
  Factorize bootloader installation code by calling install-bootloader.
 (system-bootloader-name): New procedure.
 (switch-to-system-generation): Adapt.
2017-05-16 14:41:02 +02:00
Mathieu Othacehe 1229d328fb
scripts: system: Adapt "init" to new bootloader API.
* guix/scripts/system.scm (install): Pass installer a new
argument. Rename other arguments.
Call install-bootloader instead of install-grub*.
(perform-action): Adapt.
2017-05-16 14:41:02 +02:00
Mathieu Othacehe 3042c5d8bb
scripts: system: Adapt "reconfigure" to new bootloader API.
* guix/scripts/system.scm (install-grub*): Rename to install-bootloader.  Use
keys to pass arguments.  Pass a new argument, "installer-drv" which is a script
in store dealing with bootloader-specific install actions.  Also call
"install-boot-config" to install the bootloader config file.

(install-bootloader-derivation): New procedure.  It returns a derivation that
builds a file containing "install-procedure" gexp.

(perform-action): Build install-proc derivation and call install-bootloader
with the resulting file.  Stop adding GRUB to PATH as bootloaders are called in
install-proc with direct store paths.
2017-05-16 14:41:01 +02:00
Mathieu Othacehe bcaf67c44f
bootloader: Add bootloader name to boot-parameters record.
* gnu/system.scm (<boot-parameters>)[name]: New field.
(boot-parameters-boot-name): Ditto.
(operating-system-boot-parameters-file): Add new field.
(operating-system-boot-parameters): Ditto.
(read-boot-parameters): Ditto.
2017-05-16 14:41:01 +02:00
Mathieu Othacehe 9121ce553d
bootloader: Adapt vm to new bootloader API.
* gnu/build/install.scm (install-boot-config): New procedure.
  (install-grub): Move to (gnu bootloader grub).
* gnu/build/vm.scm (register-bootcfg-root): Rename register-grub.cfg-root and
  adjust accordingly.
  (initialize-hard-disk): Takes a bootloader-package, bootcfg, bootcfg-location and
  bootloader-installer procedure. Adjust accordingly.
* gnu/system/vm.scm (qemu-image): Adjust to initialize-hard-disk.
  (system-disk-image, system-qemu-image, system-qemu-image/shared-store):
  Adjust to qemu-image.
2017-05-16 14:41:01 +02:00
Mathieu Othacehe b09a8da4a2
bootloader: Add extlinux support.
* gnu/bootloader.scm: New file.
* gnu/bootloader/extlinux.scm: New file.
* gnu/bootloader/grub.scm: New file.
* gnu/local.mk: Build new files.
* gnu/system.scm: Adapt to new bootloader api.
* gnu/scripts/system.scm: Adapt to new bootloader api.
* gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu
bootloader grub) modules.
* gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm.
* gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader).
* gnu/tests.scm: Ditto.
* gnu/tests/nfs.scm: Ditto.
2017-05-16 14:41:01 +02:00
Ludovic Courtès ce92d269fe
ui: Disable Guile deprecation warnings by default.
* guix/ui.scm (initialize-guix): Call (debug-disable 'warn-deprecated)
when "GUILE_WARN_DEPRECATED" is not set.
2017-05-16 14:31:37 +02:00
Ludovic Courtès 5a3429bcc5
gnu: guile-ssh: Fix bug in 'node-guile-version'.
* gnu/packages/patches/guile-ssh-rexec-bug.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ssh.scm (guile-ssh)[source](patches): New field.
2017-05-16 14:16:56 +02:00
Ludovic Courtès d116695b31
hydra: Cross-build Guile 2.2.
* build-aux/hydra/gnu-system.scm (%core-packages): Add GUILE-2.2.
2017-05-16 14:16:56 +02:00
Leo Famulari 4a3495d57c
gnu: khard: Update to 0.11.4.
* gnu/packages/mail.scm (khard): Update to 0.11.4.
2017-05-15 22:27:53 -04:00
Ludovic Courtès a068300628
gnu: bind: Rename variable to 'isc-bind'.
Reported by Leo Famulari.

* gnu/packages/dns.scm (bind): Rename to...
(isc-bind): ... this.
* gnu/packages/sssd.scm (sssd)[inputs]: Adjust accordingly.
2017-05-16 00:00:03 +02:00
Ludovic Courtès 0e2bfa3ae1
doc: Mention 'sync' after 'dd'.
Suggested by librenoob on #guix.

* doc/guix.texi (USB Stick Installation): Add 'sync' invocation.
2017-05-15 23:55:10 +02:00
Ludovic Courtès c22c9fa589
services: guix: Authorize the key for bayfront.guixsd.org.
* gnu/services/base.scm (%default-authorized-guix-keys): Add
"bayfront.guixsd.org".
2017-05-15 23:55:10 +02:00
Ludovic Courtès b7ebcfe352
doc: Mention 'GUIX_PACKAGE_PATH' in "Defining Packages".
* doc/guix.texi (Defining Packages): Mention 'GUIX_PACKAGE_PATH'.
2017-05-15 23:55:10 +02:00
Ludovic Courtès f411124321
utils: 'compressed-file?' matches ".lzma" files.
* guix/utils.scm (compressed-file?): Add "lzma" to the list.
2017-05-15 23:55:10 +02:00
Ricardo Wurmus 6d225e89db
gnu: antlr2: Minor stylistic changes.
* gnu/packages/java.scm (antlr2)[source]: Fix indentation; end snippet on #t;
add comment next to disabled tests.
2017-05-15 23:39:44 +02:00
Ricardo Wurmus 3ad9039515
gnu: antlr2: Simplify build phases.
* gnu/packages/java.scm (antl2)[arguments]: Simplify build phases.
2017-05-15 23:35:51 +02:00
Ricardo Wurmus 4511e0db23
gnu: Add non-timeline.
* gnu/packages/music.scm (non-timeline): New variable.
2017-05-15 23:01:24 +02:00
Ricardo Wurmus 46bb58b864
gnu: Add non-mixer.
* gnu/packages/music.scm (non-mixer): New variable.
2017-05-15 23:01:20 +02:00
Ricardo Wurmus a5cdcf6c09
gnu: Add java-javax-mail.
* gnu/packages/java.scm (java-javax-mail): New variable.
2017-05-15 22:33:17 +02:00
Ricardo Wurmus 095494ed6c
licenses: Add EDL 1.0.
* guix/licenses.scm (edl1.0): New variable.
2017-05-15 22:33:17 +02:00
Ricardo Wurmus 0e660c4de9
gnu: Add java-log4j-api.
* gnu/packages/java.scm (java-log4j-api): New variable.
2017-05-15 22:33:17 +02:00
Ricardo Wurmus c24d11b734
gnu: Add java-eclipse-jdt-core.
* gnu/packages/java.scm (java-eclipse-jdt-core): New variable.
2017-05-15 22:33:17 +02:00
Ricardo Wurmus bf96acf7e5
gnu: Add java-eclipse-text.
* gnu/packages/java.scm (java-eclipse-text): New variable.
2017-05-15 22:33:17 +02:00
Ricardo Wurmus 31342529b2
gnu: Add java-eclipse-core-commands.
* gnu/packages/java.scm (java-eclipse-core-commands): New variable.
2017-05-15 22:33:16 +02:00
Ricardo Wurmus 1bb191fc4b
gnu: Add java-eclipse-team-core.
* gnu/packages/java.scm (java-eclipse-team-core): New variable.
2017-05-15 22:33:16 +02:00
Ricardo Wurmus afb5858dd1
gnu: Add java-eclipse-compare-core.
* gnu/packages/java.scm (java-eclipse-compare-core): New variable.
2017-05-15 22:33:16 +02:00
Ricardo Wurmus 1d4234d4c2
gnu: Add java-icu4j.
* gnu/packages/icu4c.scm (java-icu4j): New variable.
2017-05-15 22:33:16 +02:00