summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2019-07-16build/cargo-build-system: Use bundled json instead of guile-json.Robert Vollmert
* guix/build/cargo-build-system.scm: Use (gnu build json) instead of (json parser). * guix/build-system/cargo.scm: Import (gnu build json) instead of (json parser). Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-07-16build/cargo-build-system: Set CARGO_HOME early.Robert Vollmert
* guix/build/cargo-build-system.scm (configure): Set CARGO_HOME. (install): No longer set CARGO_HOME. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-07-15syscalls: Use 'define-as-needed' for 'AT_' constants introduced in Guile 2.2.5.Ludovic Courtès
* guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) (AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): Define using 'define-as-needed'.
2019-07-15compile: Report the name of the file that cannot be compiled.Ludovic Courtès
Fixes <https://bugs.gnu.org/36640>. Reported by Robert Vollmert <rob@vllmrt.net>. * guix/build/compile.scm (call/exit-on-exception): Add 'file' parameter and honor it. (exit-on-exception): Likewise. (compile-files): Pass FILE to 'exit-on-exception'.
2019-07-14Revert "guix: node-build-system: Use guile-json instead of a custom parser."Julien Lepiller
The effect of this change was to import the (json parser) from the host side into the build side. The solution here would be to do the equivalent of ‘with-extensions’ for gexps. Since we don't use gexps for build systems just yet, revert this for now. This reverts commit 8eb0ba532ebbebef23180e666e0607ea735f9c1a.
2019-07-14guix: node-build-system: Use guile-json instead of a custom parser.Julien Lepiller
* guix/build/json.scm: Remove file. * Makefile.am: Remove it. * guix/build/node-build-system.scm: Use (json parser) instead of (guix build json). * guix/build-system/node.scm: Idem.
2019-07-14build: Add node-build-system.Jelle Licht
* guix/build/node-build-system.scm: New file. * guix/build-system/node.scm: New file. * guix/build/json.scm: New file. * doc/guix.texi: Document it. * Makefile.am: Added new files. Co-Authored-By: Julien Lepiller <julien@lepiller.eu>
2019-07-12build: Use '-Wshadowed-toplevel' only when supported.Ludovic Courtès
* guix/build/compile.scm (supported-warning-type?): New procedure. (%warnings): Remove 'unsupported-warning', though removing it doesn't make any difference. Define 'optional', and use it to determine whether to include 'shadowed-toplevel'.
2019-06-29download: Remove hydra from content-addressed URL listTobias Geerinckx-Rice
* guix/build/download-nar.scm (urls-for-item): Remove mirror.hydra.gnu.org. * guix/download.scm (%content-addressed-mirrors): Likewise.
2019-06-27syscalls: Add 'terminal-rows'.Ludovic Courtès
* guix/build/syscalls.scm (terminal-dimension): New procedure. (terminal-columns): Rewrite in terms of 'terminal-dimension'. (terminal-rows): New procedure. * tests/syscalls.scm ("terminal-rows"): New test.
2019-06-25compile: Enable 'shadowed-toplevel' warning.Ludovic Courtès
* guix/build/compile.scm (%warnings): Add 'shadowed-toplevel'.
2019-06-15Merge branch 'staging'Marius Bakke
2019-06-13build-system/haskell: Generate Setup.hs if needed.Robert Vollmert
The default Setup.hs is boilerplate that is frequently left out of source packages. Several packages already add a phase to generate it, so moving this phase to the build system is just factoring out an existing pattern. See <https://github.com/phadej/time-compat/issues/4>. * guix/build/haskell-build-system.scm (generate-setuphs): New procedure. (%standard-phases): Add it after 'unpack'. * gnu/packages/haskell.scm (ghc-foundation, ghc-inline-c, ghc-inline-c-cpp, ghc-rio): Remove 'arguments'. Signed-off-by: Timothy Sample <samplet@ngyro.com>
2019-06-13build-system/haskell: Fix Haddock phase docstring.Robert Vollmert
* guix/build/haskell-build-system.scm (haddock): Fix docstring. Signed-off-by: Timothy Sample <samplet@ngyro.com>
2019-06-11build-system/cargo: Don't copy source as an output.Ivan Petkov
* guix/build-system/cargo.scm: (cargo-build)[build-expression->derivation]: Don't add "src" output. * guix/build/cargo-build-system.scm: (install-source): Delete it. (%standard-phases): Delete 'install-source. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-06-11build-system/cargo: Use sources from package sources.Ivan Petkov
* guix/build/cargo-build-system.scm (crate-src?): New procedure. (configure): Use the new procedure to expand crate tarballs in the vendor directory. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-06-05syscalls: 'with-lock-file' catches ENOSYS.Ludovic Courtès
* guix/build/syscalls.scm (call-with-file-lock): Catch ENOSYS raised by 'lock-file'.
2019-06-05syscalls: 'with-file-lock' expands to a call to 'call-with-file-lock'.Ludovic Courtès
* guix/build/syscalls.scm (call-with-file-lock): New procedure. (with-file-lock): Expand to a call to 'call-with-file-lock'.
2019-06-05syscalls: Add 'with-file-lock' macro.Ludovic Courtès
* guix/scripts/offload.scm (lock-file, unlock-file, with-file-lock): Move to... * guix/build/syscalls.scm: ... here.
2019-06-02build-system/guile: Display progress report as expected by (guix status).Ludovic Courtès
* guix/build/guile-build-system.scm (report-build-progress): Use a format string suitable for (guix status).
2019-06-02build-system/guile: Add #:not-compiled-file-regexp.Ludovic Courtès
* guix/build/guile-build-system.scm (build): Add #:not-compiled-file-regexp and honor it. * guix/build-system/guile.scm (guile-build): Likewise. (guile-cross-build): Likewise.
2019-06-02build-system/guile: Improve reporting of 'guild compile' failures.Ludovic Courtès
* guix/build/guile-build-system.scm (invoke-each)[processes]: New variable. [wait-for-one-process]: Check PROCESSES and update it. [fork-and-run-command]: Update PROCESSES.
2019-06-02compile: Adjust for Guile 3.Ludovic Courtès
* guix/build/compile.scm (%default-optimizations): Adjust to the new names in Guile 2.9.2.
2019-05-13download: Support 'https_proxy'.宋文武
* guix/build/download.scm (setup-http-tunnel): New procedure. (open-connection-for-uri): Honor the 'https_proxy' environment variable.
2019-05-10build/cargo-utils: Remove "src-name" parameter.Ivan Petkov
* gnu/packages/gnuzilla.scm (icecat)[arguments]<#:phases> [patch-cargo-checksums]: Delete "null-file" variable. * gnu/packages/rust.scm (%cargo-reference-project-file): Delete variable. * gnu/packages/rust.scm (rust-1.19): Remove reference to "%cargo-reference-project-file". * guix/build/cargo-utils.scm (generate-checksums): Remove "src-name" parameter. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2019-05-09syscalls: Add 'arp-network-interface?'.Marius Bakke
* guix/build/syscalls.scm (IFF_NOARP): New variable. (arp-network-interface?): New public procedure.
2019-05-09Add (guix bzr-download).Maxim Cournoyer
* guix/bzr-download.scm, guix/build/bzr.scm, etc/snippets/scheme-mode/guix-bzr-reference: New files. * Makefile.am (MODULES): Add them. * etc/snippets/scheme-mode/guix-origin: Add "bzr-fetch" to the origin choices.
2019-05-05build: go-build-system: Follow-up to commit f42e4ebb56.Maxim Cournoyer
This follows commit f42e4ebb56, which made it so that the unpack phase return value could be left unspecified. * guix/build/go-build-system.scm (unpack): Ensure that the value returned upon a successful completion of the phase is #t.
2019-05-05build: go-build-system: Follow-up commit.Maxim Cournoyer
There was an extraneous pair of parens in commit 7e84d3eef7. Thanks for Mark Weaver for reporting the issue. * guix/build/go-build-system.scm (unpack): Remove the extraneous pair of parentheses surrounding the `display' function call.
2019-05-05build: go-build-system: Ensure uniform unpacking directory.Maxim Cournoyer
Depending on whether the source is a directory or an archive, we strip the source directory or preserve it, respectively. This change makes it so that whether the type of the source, it is unpacked at the expected location given by the IMPORT-PATH of the Go build system. * guix/build/go-build-system.scm: Add the (ice-9 ftw) module. (unpack): Add inner procedure to maybe strip the top level directory of an archive, document it and use it.
2019-05-05build: go-build-system: Use WHEN for side-effect conditionals.Maxim Cournoyer
* guix/build/go-build-system.scm (unpack): Replace single branch `if' by `when'.
2019-05-05build: go-build-system: Re-ident.Maxim Cournoyer
* guix/build/go-build-system.scm (unpack): Fix indentation.
2019-04-30guix: Fix another typo in another docstring.Tobias Geerinckx-Rice
* guix/build/clojure-utils.scm (include-list\exclude-list)<docstring>: Fix typo.
2019-04-30guix: Fix typo in docstring.Tobias Geerinckx-Rice
* guix/build/syscalls.scm (device-in-use?)<docstring>: Fix typo.
2019-04-29file-systems: Support the 'no-atime' flag.rendaw
* guix/build/syscalls.scm (MS_NOATIME): New variable. * gnu/build/file-systems.scm (mount-flags->bit-mask): Support it. * doc/guix.texi (File Systems): Document it and add cross-references to the relevant documentation. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2019-04-28Merge branch 'staging'Ludovic Courtès
2019-04-27self: Rebuild translated manuals.Julien Lepiller
* guix/self.scm (info-manual): Run po4a and related commands to generate translated texi files before building translated manuals. * guix/build/po.scm: New file. * Makefile.am (MODULES_NOT_COMPILED): Add it.
2019-04-25gnu, guix: Yearly ritual purging of the filesystems.Tobias Geerinckx-Rice
* gnu/packages/android.scm (android-ext4-utils)[synopsis]: Fix ‘file system’ spelling. * gnu/packages/disk.scm (rmlint)[synopsis, description]: Likewise. * gnu/packages/golang.scm (go-github-com-kr-fs)[synopsis, description]: Likewise & edit for grammar. * gnu/packages/ipfs.scm (gx, go-ipfs)[description]: Likewise. * /gnu/packages/java.scm (java-commons-vfs)[synopsis]: Likewise. * gnu/packages/linux.scm (fuseiso)[description]: Likewise. (genext2fs)[synopsis, description]: Likewise. * gnu/packages/package-management.scm (libostree)[description]: Likewise. * gnu/packages/python-xyz.scm (python-requests-file)[description]: Likewise & mark up. * gnu/packages/rails.scm (ruby-with-advisory-lock)[description]: Likewise. * gnu/packages/ruby.scm (ruby-rerun)[description]: Likewise. * guix/build/go-build-system.scm (setup-go-environment)<docstring>: Likewise. * guix/store/deduplication.scm (get-temp-link)<docstring>: Likewise.
2019-04-23Merge branch 'master' into stagingMarius Bakke
2019-04-18guile-build-system: Support building in parallel.Christopher Baines
* guix/build/guile-build-system.scm (build): Use invoke-each, instead of for-each, to use multiple cores if available. (invoke-each, report-build-process): New procedures.
2019-04-17Merge branch 'master' into stagingMarius Bakke
2019-04-12build-system/linux-module: Configure module like the kernel.Danny Milosavljevic
* guix/build/linux-module-build-system.scm (configure): New procedure. (%standard-phases): Add "configure" phase.
2019-04-12build-system/linux-module: Support module source versioning.Danny Milosavljevic
* guix/build-system/linux-module.scm (make-linux-module-builder) [native-inputs]: Add linux. [arguments]<#:phases>[install]: Install "System.map" and "Module.symvers". * guix/build/linux-module-build-system.scm (configure): Delete procedure. (%standard-phases): Delete "configure" phase.
2019-04-11Add (guix build-system linux-module).Danny Milosavljevic
* guix/build/linux-module-build-system.scm: New file. * guix/build-system/linux-module.scm: New file. * doc/guix.texi (Build Systems): Document it. * Makefile.am (MODULES): Add them.
2019-04-09build-system/cargo: refactor phases to successfully buildIvan Petkov
* guix/build-system/cargo.scm (%cargo-build-system-modules): Add (json parser). (cargo-build): [vendor-dir]: Define flag and pass it to builder code. [cargo-test-flags]: Likewise. [skip-build?]: Likewise. * guix/build/cargo-build/system.scm (#:use-module): use (json parser). (package-name->crate-name): Delete it. (manifest-targets): Add it. (has-executable-target?): Add it. (configure): Add #:vendor-dir name and use it. Don't touch Cargo.toml. Don't symlink to duplicate inputs. Remove useless registry line from cargo config. Define RUSTFLAGS to lift lint restrictions. (build): Add #:skip-build? flag and use it. (check): Likewise. Add #:cargo-test-flags and pass it to cargo. (install): Factor source logic to install-source. Define #:skip-build? flag and use it. Only install if executable targets are present. (install-source): Copy entire crate directory not just src. [generate-checksums] pass dummy file for unused second argument. (%standard-phases): Add install-source phase. Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
2019-04-01Merge branch 'master' into stagingMarius Bakke
2019-03-28Revert "build-system/ruby: Use invoke."Efraim Flashner
This reverts commit 0244952c11c0409597fce5c39dfbcafdfd2ea651. We prefer 'invoke', but the custom error handling works better with the code as-is.
2019-03-28build-system/ruby: Use invoke.Efraim Flashner
* guix/build/ruby-build-system.scm (install): Use invoke.
2019-03-23guix: dune-build-system: Add a package parameter.Julien Lepiller
* guix/build-system/dune.scm: Add a package parameter. * guix/build/dune.scm (build, test, install): Use it. * doc/guix.texi: Document it.
2019-03-23Merge branch 'master' into stagingMarius Bakke