summaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* build-system: Add renpy-build-system.Leo Prikler2021-02-07
| | | | | | | * guix/build/renpy-build-system.scm: New file. * guix/build-system/renpy.scm: New file. * Makefile.am (MODULES): Add them here. * doc/guix.texi (Build Systems): Document renpy-build-system.
* guix package: Add '--export-manifest'.Ludovic Courtès2021-02-01
| | | | | | | | | * guix/scripts/package.scm (export-manifest): New procedure. (show-help, %options): Add '--export-manifest'. (process-query): Honor it. * guix/build/profiles.scm (build-profile): Mention it. * tests/guix-package.sh: Test it. * doc/guix.texi (Invoking guix package): Document it.
* build-system/julia: Don't rely on file name to set module name.nixo2021-01-30
| | | | | | | | | * guix/build/julia-build-system.scm (project.toml->name): New procedure. (precompile, check, julia-build): Accept new key argument #:julia-package-name. * guix/build-system/julia.scm (julia-build): ... add it. * doc/guix.texi (julia-build-system): Update julia-package-name accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build-system/julia: Enable tests.nixo2021-01-30
| | | | | | | | | | * guix/build-system/julia.scm (julia-build): Set tests? default to #t. * guix/build/julia-build-system.scm (check): Respect tests? and fix julia invocation. (%standard-phases): Add check phase after install. * doc/guix.texi (julia-build-system): Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build-system/cargo: Use argument "--no-track" in "cargo install".Zhu Zihao2020-12-31
| | | | | | | | * guix/build/cargo-build-system(install): Add argument "--no-track" in "cargo install". Remove stale hack. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* guix system: 'init' copies, resets timestamps, and deduplicates at once.Ludovic Courtès2020-12-15
| | | | | | | | | Partly fixes <https://bugs.gnu.org/44760>. * guix/build/store-copy.scm (copy-store-item): New procedure. (populate-store): Use it instead of the inline 'copy-recursively' call. * guix/scripts/system.scm (copy-item): Likewise. Pass #:reset-timestamps? and #:deduplicate? to 'register-path'.
* store-copy: 'populate-store' can optionally deduplicate files.Ludovic Courtès2020-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now deduplication was performed as an additional pass after copying files, which involve re-traversing all the files that had just been copied. * guix/store/deduplication.scm (copy-file/deduplicate): New procedure. * tests/store-deduplication.scm ("copy-file/deduplicate"): New test. * guix/build/store-copy.scm (populate-store): Add #:deduplicate? parameter and honor it. * tests/gexp.scm ("gexp->derivation, store copy"): Pass #:deduplicate? #f to 'populate-store'. * gnu/build/image.scm (initialize-root-partition): Pass #:deduplicate? to 'populate-store'. Pass #:deduplicate? #f to 'register-closure'. * gnu/build/vm.scm (root-partition-initializer): Likewise. * gnu/build/install.scm (populate-single-profile-directory): Pass #:deduplicate? #f to 'populate-store'. * gnu/build/linux-initrd.scm (build-initrd): Likewise. * guix/scripts/pack.scm (self-contained-tarball)[import-module?]: New procedure. [build]: Pass it as an argument to 'source-module-closure'. * guix/scripts/pack.scm (squashfs-image)[build]: Wrap in 'with-extensions'. * gnu/system/linux-initrd.scm (expression->initrd)[import-module?]: New procedure. [builder]: Pass it to 'source-module-closure'. * gnu/system/install.scm (cow-store-service-type)[import-module?]: New procedure. Pass it to 'source-module-closure'.
* store-copy: 'populate-store' resets timestamps.Ludovic Courtès2020-12-15
| | | | | | | | | | | | | | | | Until now, 'populate-store' would reset permissions but not timestamps, so callers would resort to going through an extra directory traversal to reset timestamps. * guix/build/store-copy.scm (reset-permissions): Remove. (copy-recursively): New procedure. (populate-store): Pass #:keep-permissions? to 'copy-recursively'. Remove call to 'reset-permissions'. * tests/gexp.scm ("gexp->derivation, store copy"): In BUILD-DRV, check whether 'populate-store' canonicalizes permissions and timestamps. * gnu/build/image.scm (initialize-root-partition): Pass #:reset-timestamps? #f to 'register-closure'. * gnu/build/vm.scm (root-partition-initializer): Likewise.
* build-system: Add chicken-build-system.raingloom2020-12-03
| | | | | | | | | * guix/build-system/chicken.scm: New file. * guix/build/chicken-build-system.scm: New file. * Makefile.am: Add them. * doc/guix.texi: Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Merge branch 'master' into stagingMarius Bakke2020-11-22
|\
| * build-system/cargo: Set gettext environment variable when available.Efraim Flashner2020-11-22
| | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When gettext is available in the build environment set the GETTEXT_SYSTEM variable. * gnu/packages/crates-io.scm (rust-gettext-rs-0.5, rust-gettext-rs-0.4, rust-gettext-sys-0.19)[arguments]: Remove phase to help find system gettext.
| * build-system/cargo: Set libclang environment variable when available.Efraim Flashner2020-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When clang is available in the build environment set the LIBCLANG_PATH variable. * gnu/packages/crates-graphics.scm (rust-aom-sys-0.1, uust-dav1d-sys-0.3), * gnu/packages/crates-io.scm (rust-bindgen-0.55, rust-bindgen-0.54, rust-bindgen-0.53, rust-bindgen-0.52, rust-cexpr-0.4, rust-cexpr-0.3, rust-cexpr-0.2, rust-clang-sys-1, rust-clang-sys-0.29, rust-clang-sys-0.26, rust-clang-sys-0.22, rust-clang-sys-0.11, rust-libpijul-0.12, rust-nettle-7, rust-nettle-sys-2, rust-sequoia-openpgp-0.9)[arguments]: Remove phases which set an environment variable to find clang. [inputs]: Rename instances of libclang with clang.
| * build-system/cargo: Set openssl environment variable when available.Efraim Flashner2020-11-22
| | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (configure): When openssl is available set the OPENSSL_DIR variable to discover its location. * gnu/packages/crates-io.scm (rust-curl-sys-0.4, rust-libgit2-sys-0.10, rust-libpijul-0.12, rust-libssh2-sys-0.2, rust-native-tls-0.2, rust-openssl-sys-0.9, rust-openssl-0.7, rust-trust-dns-rustls-0.6), * gnu/packages/rust-apps.scm (tokei, exa)[arguments]: Remove redundant setenv for openssl.
* | build-system/cargo: Do not pass --features to Cargo unless specified.Marius Bakke2020-11-20
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/44692>. * guix/build/cargo-build-system.scm (build): Default to the empty list for FEATURES. Check whether the list is empty when building the Cargo arguments.
* | Merge branch 'master' into stagingMarius Bakke2020-11-07
|\| | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/gdb.scm gnu/packages/lisp-xyz.scm gnu/packages/web-browsers.scm
| * build/maven: Fix typo.Vagrant Cascadian2020-10-28
| | | | | | | | * guix/build/maven/pom: Fix spelling of "with".
| * build/maven: fix-pom-dependencies: Fix typo.Vagrant Cascadian2020-10-28
| | | | | | | | * guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overrides".
| * build/maven: fix-pom-dependencies: Fix typo.Vagrant Cascadian2020-10-28
| | | | | | | | * guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overridden".
| * build/maven-build-system: Return #t in fix-pom-files phase.Björn Höfling2020-10-26
| | | | | | | | * guix/build/maven-build-system.scm (fix-pom-files): Return #t.
* | Merge branch 'master' into stagingMarius Bakke2020-10-19
|\|
| * build-system/go: Install license files.Efraim Flashner2020-10-15
| | | | | | | | | | * guix/build/go-build-system.scm (install-license-files): New procedure. (%standard-phases): Replace inherited 'install-license-files phase.
* | Merge branch 'master' into stagingMarius Bakke2020-10-13
|\|
| * svn-download, hg-download: Use 'report-invoke-error'.Ludovic Courtès2020-10-10
| | | | | | | | | | | | * guix/build/hg.scm (hg-fetch): Use 'report-invoke-error' instead of 'format'. * guix/build/svn.scm (svn-fetch): Likewise.
| * build: svn: Fix handle fetch errors.zimoun2020-10-08
| | | | | | | | | | | | | | | | This fixes the revert 1ec67d5220b0ebac20263b44f4fefaf51ba8fdbb. * guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * Revert "build: svn: Handle fetch errors."Paul Garlick2020-10-06
| | | | | | | | | | | | | | | | This reverts commit 2fb12dd1bb725592e1561ac8f4b32fb68accb161, which causes the 'svn export' command to fail with: svn: E155000: Destination directory exists; please remove the directory or use --force to overwrite
| * build: svn: Handle fetch errors.zimoun2020-10-06
| | | | | | | | | | | | * guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * build: hg: Handle fetch errors.zimoun2020-10-06
| | | | | | | | | | | | * guix/build/hg.scm (hg-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * build-system/cargo: Don't install .crates.toml file.Efraim Flashner2020-10-06
| | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/43810>. * guix/build/cargo-build-system.scm (install): Remove installed .crates.toml file.
* | Merge branch 'staging' into wip-lispGuillaume Le Vaillant2020-09-23
|\ \
| * | Merge remote-tracking branch 'origin/master' into stagingEfraim Flashner2020-09-05
| |\|
| * | Merge branch 'master' into stagingMarius Bakke2020-07-24
| |\ \
| * | | build/cargo-utils: Use all allocated threads to generate checksums.Efraim Flashner2020-07-15
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-utils.scm (generate-all-checksums): Use n-par-for-each instead of for-each when regenerating checksums for source crates.
* | | | build-system: asdf: Improve install phase for CL source packages.Guillaume Le Vaillant2020-09-15
| | | | | | | | | | | | | | | | | | | | * guix/build/asdf-build-system.scm (install)[parent-source]: Add support for package names not containing a hyphen.
* | | | build-system: asdf: Read all .asd files if no #:asd-files specified.Guillaume Le Vaillant2020-09-15
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/asdf.scm (asdf-build): Remove the 'files' variable. * guix/build/asd-build-system.scm (find-asd-files): New variable. (build, check): Use it.
* | | | build-system: asdf: Switch from bundles to regular compilation.Guillaume Le Vaillant2020-09-12
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/lisp.scm (sbcl, ecl)[native-search-paths]: Add 'XDG_CONFIG_DIRS'. * guix/build-system/asdf.scm (asdf-build): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. * guix/build/asdf-build-system.scm (%object-prefix, %lisp-source-install-prefix): Update variables. (install): Update variable. (main-system-name): New variable. (copy-source): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (configure): New variable. (build, check): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (create-asd-file, symlink-asd-files): Remove variables. (create-asdf-configuration): New variable. (cleanup-files): Update variable. (%standard-phases): Remove 'create-asd-file' and 'symlink-asd-files' phases. Add 'configure' and 'create-asdf-configuration' phases. * guix/build/lisp-utils.scm (%bundle-install-prefix, normalize-dependency, inputs->asd-file-map, asdf-load-all, compile-system): Remove variables. (compile-systems): New variable. (system-dependencies, compiled-system, generate-system-definition): Remove variable. (test-system): Replace 'asd-file' parameter by 'asd-files'. (generate-executable-for-system): Update variable. (generate-dependency-links, make-asd-file, bundle-asd-file): Remove variables. (make-asdf-configuration): New variable. (build-program, build-image): Set 'XDG_CONFIG_DIRS'. (generate-executable): Update variable.
* | | android-repo-download: Use parallel-job-count instead of hard-coding jobDanny Milosavljevic2020-09-03
| | | | | | | | | | | | | | | | | | | | | count. * guix/build/android-repo.scm (android-repo-fetch): Use parallel-job-count instead of hard-coding job count.
* | | Add (guix android-repo-download).Danny Milosavljevic2020-09-02
| | | | | | | | | | | | | | | | | | * guix/build/android-repo.scm: New file. * guix/android-repo-download.scm: New file. * Makefile.am (MODULES): Add them.
* | | Use guile-zlib extension in build-side code.Mathieu Othacehe2020-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (MODULES): Move guix/build/download-nar.scm to ... (MODULES_NOT_COMPILED): ... here. * guix/build/download-nar.scm: Use (zlib) instead of (guix zlib). * guix/cvs-download.scm (cvs-fetch): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/git-download.scm (git-fetch): Ditto. * guix/hg-download.scm (hg-fetch): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list.
* | | build-system/haskell: Do not pass "--bindir" during configure.Ricardo Wurmus2020-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | The "--bindir" option is not as useful as it seems as the configured location is embedded in the outputs. Instead of using "--bindir" it seems better to build a statically linked binary and move the binary to its own output to avoid references between the "out" and "bin" outputs. * guix/build/haskell-build-system.scm (configure): Do not pass "--bindir".
* | | build-system/haskell: Add 'extra-directories' keyword.Timothy Sample2020-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See <https://bugs.gnu.org/39309>. * guix/build-system/haskell.scm (lower): Include the transitive propagated inputs of 'extra-directories' inputs. (haskell-build): Add the 'extra-directories' keyword and pass it through to the builder. * guix/build/haskell-build-system.scm (configure): Use it to select which inputs get passed via 'extra-include-dirs' and 'extra-lib-dirs' to Cabal. * gnu/packages/haskell-xyz.scm (ghc-alsa-core, ghc-hmatrix, ghc-hmatrix-gsl, ghc-hslua, ghc-iwlib, ghc-libyaml, ghc-ncurses, ghc-openglraw, ghc-x11, ghc-x11-xft, ghc-zlib): Set 'extra-directories'. * gnu/packages/haskell-crypto.scm (ghc-digest, ghc-hsopenssl): Likewise.
* | | haskell-build-system: register: Remove references to the doc output.Ricardo Wurmus2020-08-12
| | | | | | | | | | | | | | | | | | * guix/build/haskell-build-system.scm (register): Strip references to the doc output from the generated package config files; move the haddock files from the "doc" output to the "lib" output.
* | | haskell-build-system: register: Respect lib output.Ricardo Wurmus2020-08-12
| | | | | | | | | | | | * guix/build/haskell-build-system.scm (register): Use lib output if it exists.
* | | build-system/haskell: Add default output "static".Ricardo Wurmus2020-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/haskell.scm (lower): Add OUTPUTS keyword and add the "static" output in the common case. (haskell-build): Set the default value for the OUTPUTS keyword to include the "static" output. * guix/build/haskell-build-system.scm (install): Move static libraries to the "static" output if it exists.
* | | build-system/haskell: Configure to link with shared libraries.Ricardo Wurmus2020-08-12
| | | | | | | | | | | | | | | | | | * guix/build/haskell-build-system.scm (configure): Add configure flags to build shared libraries by default, to generate position independent code, and to set the RUNPATH.
* | | build-system/haskell: Refactor configure step.Ricardo Wurmus2020-08-12
| | | | | | | | | | | | | | | * guix/build/haskell-build-system.scm (configure): Replace append with quasiquotes and splicing.
* | | build-system/haskell: Support parallel builds.Ricardo Wurmus2020-08-12
| |/ |/| | | | | | | | | | | * guix/build-system/haskell.scm (haskell-build): Add keyword PARALLEL-BUILD? and pass it on to the builder. * guix/build/haskell-build-system.scm (build): Accept keyword PARALLEL-BUILD? and pass the number of parallel jobs to GHC.
* | guix: Add maven-build-system.Julien Lepiller2020-07-17
| | | | | | | | | | | | | | * guix/build-system/maven.scm: New file. * guix/build/maven-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document the maven build system.
* | guix: java-utils: Add Maven-related phases.Julien Lepiller2020-07-17
| | | | | | | | | | | | | | | | | | | | | | * guix/build/maven/java.scm: New file. * guix/build/maven/plugin.scm: New file. * guix/build/maven/pom.scm: New file. * Makefile.am (MODULES): Add them. * guix/build-system/ant.scm (%ant-build-system-modules): Add them to the build side. * guix/build/java-utils.scm (generate-plugin.xml, install-pom-file) (install-from-pom): New procedures.
* | download-nar: Hide colliding 'dump-port*' binding.Ludovic Courtès2020-07-10
| | | | | | | | | | * guix/build/download-nar.scm: Hide 'dump-port*' from (guix serialization).
* | maint: Remove traces of "berlin.guixsd.org".Ludovic Courtès2020-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The guixsd.org domain is no longer advertised since before in 1.0.0 release in May 2019. * etc/substitutes/berlin.guixsd.org.pub: Rename to... * etc/substitutes/berlin.guix.gnu.org.pub: ... this. * etc/substitutes/ci.guix.gnu.org.pub, etc/substitutes/ci.guix.info.pub: Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise. * guix/build/download-nar.scm (urls-for-item): Likewise. * guix/self.scm (miscellaneous-files): Likewise. * Makefile.am (dist_pkgdata_DATA): Likewise.