Age | Commit message (Expand) | Author |
2017-05-18 | union: Gracefully handle dangling symlinks in the input....Fixes <http://bugs.gnu.org/26949>.
Reported by Pjotr Prins <pjotr.public12@thebird.nl>.
* guix/build/union.scm (file-is-directory?): Return #f when FILE does
not exist or is a dangling symlink.
(file=?): Pass #f as a second argument to 'stat'; return #f when both
ST1 or ST2 is #f.
* tests/profiles.scm (test-equalm): New macro.
("union vs. dangling symlink"): New test.
| Ludovic Courtès |
2017-05-16 | profiles: Add elapsed time to manual-database hook to output message....* guix/profiles.scm (manual-database): Add elapsed time to manual-database
hook to output message.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2017-05-16 | import cran: Check if pkg-config is needed....* guix/import/cran.scm (needs-pkg-config?): New procedure.
(description->package): Use it.
| Ricardo Wurmus |
2017-05-16 | import cran: Refactor "needs-zlib?"....* guix/import/cran.scm (tarball-files-match-pattern?): New procedure.
(needs-zlib?): Implement in terms of "tarball-files-match-pattern?".
| Ricardo Wurmus |
2017-05-16 | import cran: Export package predicates....* guix/import/cran.scm (cran-package?, bioconductor-package?,
bioconductor-data-package?, bioconductor-experiment-package?): Export
procedures.
| Ricardo Wurmus |
2017-05-16 | import cran: Add predicate for Bioconductor experiment packages....* guix/import/cran.scm (bioconductor-experiment-package?): New variable.
| Ricardo Wurmus |
2017-05-16 | import cran: Exclude experiment packages in predicate "bioconductor-package?"....* guix/import/cran.scm (bioconductor-package?): Exclude experiment packages,
because they cannot be updated with the default bioconductor updater.
| Ricardo Wurmus |
2017-05-16 | import cran: Fetch DESCRIPTION files from Github mirror....* guix/import/cran.scm (%bioconductor-svn-url): Remove variable.
(bioconductor-mirror-url): New procedure.
(fetch-description): Take a REPOSITORY symbol instead of a BASE-URL string.
(cran->guix-package): Pass REPOSITORY symbol to "fetch-description".
(latest-cran-release, latest-bioconductor-release): Adjust accordingly.
(bioconductor-package?): Update comment about SVN.
| Ricardo Wurmus |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | 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.
| Andy Patterson |
2017-05-16 | scripts: system: Display bootloader name in "list-generations"....* guix/scripts/system.scm (display-system-generation): Display
bootloader name.
| Mathieu Othacehe |
2017-05-16 | 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.
| Mathieu Othacehe |
2017-05-16 | 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.
| Mathieu Othacehe |
2017-05-16 | 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.
| Mathieu Othacehe |
2017-05-16 | 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.
| Mathieu Othacehe |
2017-05-16 | ui: Disable Guile deprecation warnings by default....* guix/ui.scm (initialize-guix): Call (debug-disable 'warn-deprecated)
when "GUILE_WARN_DEPRECATED" is not set.
| Ludovic Courtès |
2017-05-15 | utils: 'compressed-file?' matches ".lzma" files....* guix/utils.scm (compressed-file?): Add "lzma" to the list.
| Ludovic Courtès |
2017-05-15 | licenses: Add EDL 1.0....* guix/licenses.scm (edl1.0): New variable.
| Ricardo Wurmus |
2017-05-13 | bournish: 'ls' adjusts the column width depending on the entries....* guix/build/bournish.scm (display-tabulated): Remove #:columns and
#:column-width parameters. Add #:terminal-width and #:column-gap.
Compute COLUMN-WIDTH and COLUMNS.
| Ludovic Courtès |
2017-05-13 | bournish: 'ls' lists directory contents....Suggested by Ricardo Wurmus.
* guix/build/bournish.scm (ls-command-implementation): When FILE is a
directory, list its contents rather than FILE itself.
| Ludovic Courtès |
2017-05-13 | import: pypi: Robustify latest-release....* guix/import/pypi.scm (latest-release): Check if pypi-fetch has
failed. If so return #f, else construct the <upstream-source>.
| Mathieu Othacehe |
2017-05-13 | import: cran: Robustify cran-package?....* guix/import/cran.scm (package->upstream-name): Return #f if url
start and end index could not be determined.
(cran-package?): Check if the upstream-name can be extracted from
given package.
* tests/cran.scm: Add "r-minimal is not a cran package" to make sure that
r-minimal is not detected as a cran package.
This fixes a failure of guix refresh on r-minimal because no
upsteam-name can be determined from ".../R-version.tar.gz" uri.
| Mathieu Othacehe |
2017-05-13 | scripts: Do not create the config directory....This fixes runs of 'guix package' and 'guix system' tests in
environments where $HOME is read-only.
* guix/ui.scm (config-directory): Add #:ensure? parameter and honor it.
* guix/scripts.scm (warn-about-old-distro): Pass #:ensure? #f to
'config-directory'.
| Ludovic Courtès |
2017-05-11 | substitute: Honor 'Cache-Control' on 404 responses....* guix/scripts/substitute.scm (cached-narinfo): When VALUE is #f, use
the TTL that is read instead of %NARINFO-NEGATIVE-TTL.
(cached-narinfo-expiration-time): Likewise.
| Ludovic Courtès |
2017-05-11 | publish: Advertise a short TTL for "baking" 404s....* guix/scripts/publish.scm (not-found): Add #:phrase and #:ttl
parameters and honor them.
* tests/publish.scm ("with cache"): Check the 'cache-control' header on
of the 404 response.
| Ludovic Courtès |
2017-05-11 | graph: Add Cypher backend....* guix/graph.scm (%cypher-backend): New variable.
* doc/guix.texi: Add documentation for the Cypher backend of 'guix graph'.
| Roel Janssen |
2017-05-10 | scripts: Fix singular/plural message mismatch....* guix/scripts.scm (warn-about-old-distro): Swap singular and plural
forms in 'N_' call.
| Ludovic Courtès |
2017-05-10 | build-system: Add package-with-ocaml4.01....* guix/build-system/ocaml.scm (default-ocaml4.01, default-ocaml4.01-findlib,
package-with-explicit-ocaml, package-with-ocaml4.01,
strip-ocaml4.01-variant): New variables.
| Ben Woodcroft |
2017-05-10 | scripts: Warn about old distro....Fixes <http://bugs.gnu.org/25852>.
Suggested by Mark H Weaver <mhw@netris.org>.
* guix/scripts.scm (%distro-age-warning): New variable.
(warn-about-old-distro): New procedure.
* guix/scripts/package.scm (process-actions): Call
'warn-about-old-distro'.
* guix/scripts/system.scm (process-action): Likewise.
| Ludovic Courtès |
2017-05-10 | ui: 'string->duration' correctly handles hours....* guix/ui.scm (string->duration): Add missing '=>' for hours.
* tests/ui.scm ("duration, 2 hours"): New test.
| Ludovic Courtès |
2017-05-10 | guix: Add java-utils....* guix/build/java-utils.scm: New file.
* guix/build-system/ant.scm: Use it.
* Makefile.am (MODULES): Add it.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
| Hartmut Goebel |
2017-05-10 | ant-build-system: Add default "check" target....* guix/build-system/ant.scm (ant-build): Change default test target to
"check"; add "test-dir" argument.
* guix/build/ant-build-system.scm (default-build.xml): Add "test-dir"
argument; add ant targets "compile-tests" and "check".
(configure): Add "test-dir" argument; pass it to "default-build.xml".
| Ricardo Wurmus |
2017-05-10 | ant-build-system: Allow specifying source directory....* guix/build-system/ant.scm (ant-build),
guix/build/ant-build-system.scm (default-build.xml): Add parameter
source-dir.
* guix/build/ant-build-system.scm (configure): Pass source-dir on to
default-build.xml.
* doc/guix.texi (Build Systems): Document it.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
| Hartmut Goebel |
2017-05-09 | pull: Build package modules without optimizations on Guile 2.2....* guix/build/pull.scm (%default-optimizations)
(%lightweight-optimizations): New variables.
(optimization-options): New procedure. Taken from
build-aux/compile-all.scm.
(build-guix): Pass it to 'compile-file'.
| Ludovic Courtès |
2017-05-09 | pull: Build with the matching Guile major version....Previously, 'guix pull' would always build with Guile 2.0.
Now it builds with the Guile that matches (effective-version).
* build-aux/build-self.scm (false-if-wrong-guile)
(package-for-current-guile): New procedures.
(guile-json, guile-ssh): Use it.
(guile-for-build): New procedure.
(build): Use (effective-version) instead of the hard-coded "/2.0".
Add (guix modules) closure to #:modules argument. Pass
\#:guile-for-build argument to 'gexp->derivation'.
* guix/build/pull.scm (depends-on-guile-ssh?, all-scheme-files): New
procedures.
(build-guix): Show the output of (version). Use the above procedures.
Filter out files that match 'depends-on-guile-ssh?' when (ssh session)
is missing.
| Ludovic Courtès |
2017-05-09 | pull: Use 'with-store'....* guix/scripts/pull.scm (guix-pull): Remove call to 'open-connection'.
Use 'with-store' instead.
| Ludovic Courtès |
2017-05-09 | pull: Honor the standard build options....Reported by Niall Dooley <dooleyn@gmail.com>
in <https://lists.gnu.org/archive/html/help-guix/2017-05/msg00038.html>.
* guix/scripts/pull.scm (%options): Add --dry-run and all of
%STANDARD-BUILD-OPTIONS.
(show-help): Add call to 'show-build-options-help'.
(%default-options): Add 'system', 'substitutes?', 'graft?',
'max-silent-time', and 'verbosity'.
(guix-pull)[parse-options]: Remove.
Use 'parse-command-line' instead. Honor --dry-run.
| Ludovic Courtès |
2017-05-07 | git-download: Fix 'git-predicate' file membership....Previously, it the predicate would return #t for "m4/ChangeLog" if
"ChangeLog" (in the top-level directory) was in FILES. This commit
fixes the ambiguity.
* guix/git-download.scm (git-predicate): Add 'inodes' variable. Use it
to determine file membership.
| Ludovic Courtès |
2017-05-07 | store: Use 'TCP_NODELAY' when connecting to a daemon over PF_INET....* guix/store.scm (open-inet-socket): Add 'cond-expand' form to define
'TCP_NODELAY' when needed. Add call to 'setsockopt' after 'connect'.
| Ludovic Courtès |