Age | Commit message (Expand) | Author |
2018-11-19 | build-system: Add 'clojure-build-system'....* guix/build-system/clojure.scm, guix/build/clojure-build-system.scm: New
files.
* guix/build/clojure-utils.scm (@*, @@*): New macros.
(%source-dirs, %test-dirs, %compile-dir, %main-class, %omit-source?,
%aot-include, %aot-exclude, %tests?, %test-include, %test-exclude,
%clojure-regex): New variables.
(package-name->jar-names, canonicalize-relative-path, find-files*,
file-sans-extension, relative-path->clojure-lib-string, find-clojure-libs,
compiled-from?, include-list\exclude-list, eval-with-clojure, create-jar):
New procedures.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'clojure-build-system'.
| Alex Vong |
2018-11-19 | guix: Add clojure-utils....* guix/build/clojure-utils.scm: New file.
* gnu/packages/lisp.scm (clojure)[arguments]: Use it.
* Makefile.am (MODULES): Add it.
| Alex Vong |
2018-11-18 | build-system/ocaml: Use invoke and return #t....* guix/build/ocaml-build-system.scm (configure, build, check, install)
(prepare-install): Use invoke and return #t.
| Julien Lepiller |
2018-11-12 | build-system/go: Plan removal of the pkg folder for go-1.11 onward....* guix/build/go-build-system.scm (install): New comment.
| Pierre Neidhardt |
2018-11-06 | store-copy: Canonicalize the mtime and permissions of the store copy....Fixes a bug whereby directories in the output of 'guix pack -f tarball'
would not be read-only.
* guix/build/store-copy.scm (reset-permissions): New procedure.
(populate-store): Pass #:keep-mtime? #t to 'copy-recursively'. Call
'reset-permissions'.
* tests/pack.scm ("self-contained-tarball"): In CHECK, define
'canonical?' and use it to check that every file has an mtime of 1 and
is read-only.
* tests/guix-pack.sh: Invoke "chmod -Rf +w" before "rm -rf" in trap.
| Ludovic Courtès |
2018-10-28 | git-download: Print a message when falling back to a full fetch....Otherwise the user might believe that git-fetch stalled, observing the lack of
output following a 'fatal' git error message (see:
https://debbugs.gnu.org/33100).
* guix/build/git.scm (git-fetch): Print message when falling back to a full
fetch.
| Maxim Cournoyer |
2018-10-02 | build-system/asdf: Properly handle dependency specification casing....* guix/build/lisp-utils.scm (normalize-dependency): Modify match
clauses to match the upper-case symbols that lisp produces.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Andy Patterson |
2018-10-01 | build-system: haskell: Add #:cabal-revision argument....Add a #:cabal-revision argument for specifying which Cabal file revision
from Hackage should be used.
* guix/build-system/haskell.scm (source-url->revision-url): New function.
(lower): Accept a cabal-revision keyword argument, convert it to an
origin record, and add it to the resulting bag's host-inputs.
(haskell-build): Pass the cabal-revision input to the builder as an
argument.
* guix/build/haskell-build-system.scm (patch-cabal-file): New phase.
(%standard-phases): Add it.
| Timothy Sample |
2018-09-27 | perform-download: Optionally report a "download-progress" trace....* guix/scripts/perform-download.scm (perform-download): Add
#:print-build-trace? and pass it to 'url-fetch'.
(guix-perform-download): Define 'print-build-trace?' and pass it to
'perform-download'.
* guix/build/download.scm (ftp-fetch): Add #:print-build-trace? and
honor it.
(url-fetch): Likewise.
* nix/libstore/builtins.cc (builtinDownload): Set _NIX_OPTIONS
environment variable.
| Ludovic Courtès |
2018-09-23 | store-copy: Display a progress bar when copying store items....* guix/build/store-copy.scm (populate-store): Add #:log-port parameter.
Use 'progress-reporter/bar' to report progress.
| Ludovic Courtès |
2018-09-19 | build-system/asdf: Adopt asdf conventions....The asdf documentation specifies that asdf:load-asd should be preferred to
calling load on a system definition file.
* guix/build/lisp-utils.scm (compile-system): Replace load with asdf:load-asd.
(system-dependencies): Likewise.
(test-system): Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Andy Patterson |
2018-09-19 | build-system/asdf: Use invoke....* guix/build/lisp-utils.scm (lisp-eval-program): Replace system* and error
handling with invoke.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Andy Patterson |
2018-09-19 | build-system/asdf: Log lisp system invocations....* guix/build/lisp-system.scm: (lisp-eval-program): Log the arguments to
system*.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Andy Patterson |
2018-09-19 | build-system/asdf: Handle all asdf dependency specifications....Add support for dependencies of the form (:version <name> <version>),
(:feature <feature> <dependency-specification>) and (:require <module-name>),
as defined by
<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>.
* guix/build/lisp-utils.scm (normalize-dependency): New variable.
(make-asd-file)[dependencies]: Use it to generate dependencies with normalized
names.
[dependency-name]: New variable.
[registry]: Use it to flatten the normalized dependencies.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Andy Patterson |
2018-09-11 | profiles: Correctly deal with etc/ being a relative symlink....Fixes <https://bugs.gnu.org/32686>.
Reported by Oleg Pykhalov <go.wigust@gmail.com>.
* guix/build/profiles.scm (ensure-writable-directory): Add #:symlink.
[absolute?]: New procedure.
[unsymlink]: Use it to determine how to resolve readlink's result.
(build-profile): Pass SYMLINK to 'ensure-writable-directory'.
* tests/profiles.scm ("profile-derivation when etc/ is a relative symlink"):
New test.
| Ludovic Courtès |
2018-09-10 | syscalls: Report lack of a libc symbol as ENOSYS....* guix/build/syscalls.scm (syscall->procedure): Throw to 'system-error
with ENOSYS when NAME cannot be found.
| Ludovic Courtès |
2018-08-24 | grafts: Add (guix build debug-link) and use it....Fixes <https://bugs.gnu.org/19973>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build/debug-link.scm: New file.
* guix/build/graft.scm (%graft-hooks): New variable.
(graft): Add #:hooks and honor it.
* guix/grafts.scm (graft-derivation/shallow): Add (guix build
debug-link) and (guix elf) to #:modules.
* tests/debug-link.scm: New file.
* Makefile.am (MODULES): Add guix/build/debug-link.scm.
(SCM_TESTS): Add tests/debug-link.scm.
| Ludovic Courtès |
2018-08-24 | grafts: Add high-level 'graft' procedure on the build side....* guix/build/graft.scm (graft): New procedure.
* guix/grafts.scm (graft-derivation/shallow)[build]: Use it instead of
inline code.
| Ludovic Courtès |
2018-07-28 | Merge branch 'master' into staging | Marius Bakke |
2018-07-28 | build-system/meson: Remove RUNPATH workarounds....* guix/build-system/meson.scm (default-patchelf): Remove.
(lower)[build-inputs]: Remove PATCHELF.
(meson-build): Don't delete 'fix-runpath' phase on armhf.
* guix/build/meson-build-system.scm (configure): Add "--c_link_args" and
"-cpp_link_args" instead of setting LDFLAGS.
(meson-build): Don't apply 'fix-runpath' phase.
| Marius Bakke |
2018-07-24 | ruby-build-system: Make phase "replace-git-ls-files" handle more cases....* guix/build/ruby-build-system.scm (replace-git-ls-files): Modify.
| Danny Milosavljevic |
2018-07-23 | build-system: Add 'guile-build-system'....* guix/build-system/guile.scm, guix/build/guile-build-system.scm: New
files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'guile-build-system'.
| Ludovic Courtès |
2018-07-19 | build-system/go: Use invoke instead of system*....* guix/build/go-build-system.scm (unpack, build): Use invoke.
(install-source): Unconditionally return #t.
(check): Use invoke and unconditionally return #t.
| Leo Famulari |
2018-07-19 | guix: ant-build-system: Reorder before generating INDEX.LIST....* guix/build/ant-build-system.scm (%standard-phases): Add
reorder-jar-content phase.
| Julien Lepiller |
2018-07-15 | ruby-build-system: Error or return #t from all phases....Previously, if the tests didn't pass, the check phase would evaluate to #f,
but the package would be built sucessfully. This changes all the phases to
raise exceptions if errors are encountered, and return #t otherwise.
This involves using invoke rather than system*, so that exceptions are raised
if the program exits with a status other than 0, and also returning #t at the
end of functions.
* gnu/build/ruby-build-system.scm (unpack): Use invoke rather than system*,
and return #t at the end.
(build, check): Use invoke rather than system*.
(install): Remove the use of "and", and rewrite the error handling to raise an
exception.
(wrap): Return #t.
| Christopher Baines |
2018-07-13 | Merge branch 'staging' | Marius Bakke |
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 | 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-08 | Merge branch 'master' into staging | Marius Bakke |
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-06-28 | gnu: java: Return #t from all phases and snippets....* guix/build/java-utils.scm (ant-build-javadoc): Use invoke; return #t.
* guix/build/ant-build-system.scm (generate-jar-indices): Return #t and
remove vestigal plumbing.
* gnu/packages/java.scm (classpath-bootstrap, ant-bootstrap, classpath-devel)
(icedtea-6, icedtea-7, java-plexus-sec-dispatcher, ant/java8, clojure)
(java-classpathx-servletapi, java-swt, java-qdox-1.12, java-hamcrest-core)
(java-plexus-archiver, java-plexus-sec-dispatcher, java-modello-plugins-xml)
(java-asm, java-commons-collections, java-commons-bsf, java-slf4j-api)
(java-slf4j-api, java-slf4j-simple, java-stringtemplate-3)
(java-stringtemplate, antlr3, antlr3-3.3, antlr3-3.1, java-ops4j-base-lang)
(java-ops4j-pax-tinybundles, java-ops4j-pax-exam-core-spi)
(java-fasterxml-jackson-core, java-fasterxml-jackson-databind)
(java-fasterxml-jackson-modules-base-jaxb, java-ecj-3, java-ecj-3.5)
(java-fasterxml-jackson-dataformat-yaml, java-woodstox-core)
(java-fasterxml-jackson-dataformat-xml, java-testng, java-jnacl)
(java-bouncycastle, java-powermock-core, java-powermock-modules-junit4)
(java-jansi-native, java-jansi, java-commons-httpclient, java-commons-vfs)
(java-apache-ivy, java-janino, java-logback-core): Return #t from all phases
and snippets, use invoke where appropriate, and remove vestigial plumbing.
| Mark H Weaver |
2018-06-28 | meson-build-system: Return #t from all phases....* guix/build/meson-build-system.scm (configure, build, check, install):
(fix-runpath): Use 'invoke' and return #t from all phases.
| Mark H Weaver |
2018-06-19 | Merge branch 'master' into staging | Marius Bakke |
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 | 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 | guix: ant-build-system: Use manifest task to create manifest....* guix/build/ant-build-system.scm (default-build.xml): Use manifest task
to create manifest file instead of a custom echo task.
| Gábor Boskovits |
2018-06-18 | Merge branch 'master' into staging | Marius Bakke |
2018-06-16 | build-system/ant: Unconditionally return #t in build phases....* guix/build/ant-build-system.scm (unpack, build, strip-jar-timestamps, check,
install): Use invoke.
Signed-off-by: Gábor Boskovits <boskovits@gmail.com>
| Ricardo Wurmus |
2018-06-14 | database: Add 'register-items'....* guix/build/store-copy.scm (store-info): Export.
* guix/store/database.scm (register-items): New procedure.
(register-path): Implement in terms of 'register-items'.
* gnu/build/install.scm (register-closure): Use 'register-items' instead
of 'for-each' and 'register-path'.
| Ludovic Courtès |
2018-06-14 | store-copy: 'read-reference-graph' returns a list of records....The previous implementation of 'read-reference-graph' was good enough
for many use cases, but it discarded the graph structure, which is
useful information in some cases.
* guix/build/store-copy.scm (<store-info>): New record type.
(read-reference-graph): Rewrite to return a list of <store-info>.
(closure-size, populate-store): Adjust accordingly.
* gnu/services/base.scm (references-file): Adjust accordingly.
* gnu/system/vm.scm (system-docker-image): Likewise.
* guix/scripts/pack.scm (squashfs-image, docker-image): Likewise.
* tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise.
| Ludovic Courtès |
2018-05-31 | build-system/r: Use invoke....* guix/build/r-build-system.scm (invoke-r): Use invoke.
(pipe-to-r): Raise invoke-error on non-zero return value.
(check): Unconditionally return #t.
| Ricardo Wurmus |
2018-05-21 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-05-17 | union: Do not warn about harmless collisions....Until now we'd get pointless messages like:
warning: collision encountered:
/gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
/gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache
warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache
* guix/build/union.scm (%harmless-collisions): New variable.
(warn-about-collision): Honor it.
| Ludovic Courtès |
2018-05-17 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-05-10 | profiles: Optionally use relative file names for symlink targets....* guix/build/union.scm (symlink-relative): New procedure.
* guix/build/profiles.scm: Re-export it.
(build-profile): Add #:symlink and pass it to 'union-build'.
* guix/profiles.scm (profile-derivation): Add #:relative-symlinks?.
Pass #:symlink to 'build-profile'.
* tests/profiles.scm ("profile-derivation relative symlinks, one entry")
("profile-derivation relative symlinks, two entries"): New tests.
| Ludovic Courtès |
2018-05-10 | union: Add 'relative-file-name'....* guix/build/union.scm (%not-slash): New variable.
(relative-file-name): New procedure.
* tests/union.scm (test-relative-file-name): New macro and tests.
| Ludovic Courtès |
2018-05-10 | build-system: android-ndk: Let upstream install header files....* guix/build/android-ndk-build-system.scm (install): Don't install header
files ourselves.
| Danny Milosavljevic |
2018-05-10 | build-system: android-ndk: Support unit tests....* guix/build-system/android-ndk.scm (android-ndk-build): Add googletest.
* guix/build/android-ndk-build-system.scm (check): Check whether tests are
enabled. Run root-level tests as well.
| Danny Milosavljevic |
2018-05-09 | build: Add the Android NDK build-system....* guix/build-system/android-ndk.scm: New file.
* guix/build/android-ndk-build-system.scm: New file.
* Makefile.am: Add them.
| Danny Milosavljevic |
2018-05-06 | guix: ant-build-system: End "configure" phase with #t....* guix/build/ant-build-system.scm (configure): End with #t.
| Danny Milosavljevic |