summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2021-10-16build-system/minetest: Gather whole failing test output.Vivien Kraus
* guix/build/minetest-build-system.scm (check): Gather the whole output when a test fails. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-10-14download: Print URL of the Disarchive spec being read.Ludovic Courtès
* guix/build/download.scm (disarchive-fetch/any): Show URI of the Disarchive spec.
2021-10-14download: Add missing autoload.Ludovic Courtès
This is a followup to 6d02a994f911a75e3a223a22c05c2939cdfed2b5, which left '%verify-swh-certificate?' unbound. * guix/build/download.scm: Autoload for '%verify-swh-certificate'.
2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe
2021-10-08Revert the #51061 patch series for now.Tobias Geerinckx-Rice
This reverts commits f63c79bf7674df012517f8e9148f94c611e35f32 ..f86f7e24b39928247729020df0134e2e1c4cde62 for more chillax reviewing. See <https://issues.guix.gnu.org/51061#32>.
2021-10-08build-system/haskell: Explain failure.Lars-Dominik Braun
Provide human-readable failure message and explain how to fix it. * guix/build/haskell-build-system.scm (register): Raise error if source file does not exist.
2021-10-08build-system/haskell: Accept line breaks in config files.Lars-Dominik Braun
Long id’s will break to the next line. * guix/build/haskell-build-system.scm (grep): Remove. (register): Modify regular expression to account for newlines between key and value, fail if package id is empty.
2021-10-08build-system/haskell: Do not rely on compiler name.Lars-Dominik Braun
We’ve been relying on the compiler name matching its package subdir. Since we effectively only support GHC we can hard-code this and avoid issues with “ghc-next”. * guix/build/haskell-build-system.scm (make-ghc-package-database): Use GHC_PACKAGE_PATH. (register): Hard-code ghc prefix.
2021-10-08guix: haskell-build-system: Always pass -package-db option.John Kehayias
* guix/build/haskell-build-system.scm (run-setuphs): Pass -package-db option. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2021-10-07build-system: Add 'rebar3-build-system'.Hartmut Goebel
* guix/build-system/rebar3.scm, guix/build/rebar3-build-system.scm: New files. * Makefile.am (MODULES): Add them.
2021-10-07download: Honor #:verify-certificate? for SWH downloads.Ludovic Courtès
Previously, the SWH + Disarchive fallback could fail with: Trying to use Disarchive to assemble /gnu/store/…-ucsim-0.6-pre68.tar.gz... Assembling the directory ucsim-0.6-pre68 Downloading /gnu/store/…-ucsim-0.6-pre68.tar.gz from Software Heritage... X.509 certificate of 'archive.softwareheritage.org' could not be verified: signer-not-found invalid Could not resolve directory reference This will no longer be the case since 'guix perform-download' passes #:verify-certificate? #f. * guix/build/download.scm (disarchive-fetch/any): Parameterize '%verify-swh-certificate?'.
2021-10-02build: glib-or-gtk-build-system: Add gtk 4.0 support.Mathieu Othacehe
* guix/build/glib-or-gtk-build-system.scm (gtk-module-directories): Add gtk 4.0 support.
2021-10-01build-system: linux-module: Don't explicitly return #t from phases.Tobias Geerinckx-Rice
* guix/build-system/linux-module.scm (configure): Remove explicit #t return value.
2021-10-01build-system: linux-module: Build and install in parallel.Tobias Geerinckx-Rice
* guix/build-system/linux-module.scm (linux-module-build) (guix/build-system/linux-module.scm): Accept the PARALLEL-BUILD? keyword and pass it on to the builder. * guix/build/linux-module-build-system.scm (build, install): Capture and honour it.
2021-09-30build-system: linux-module: Normalise the ‘M’ source-directory.Tobias Geerinckx-Rice
"make modules_install" with an "M=" file name ending in "/." breaks at least rtl8812au-aircrack-ng-linux-module. In general, passing a more human-generated-looking value seems prudent as these are more likely to be tested upstream. * guix/build/linux-module-build-system.scm (build, install): Call CANONICALIZE-PATH on SOURCE-DIRECTORY instead of STRING-APPEND. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. as apteryx on #guix
2021-09-25union: Do not warn about "ld.so.cache" collisions.Ludovic Courtès
This is a followup to f85efa86e7690d9181946351631e02b1c20958c9. * guix/build/union.scm (%harmless-collisions): Add "ld.so.cache".
2021-09-25Update copyright assignments for Liliana Marie Prikler.Liliana Marie Prikler
* doc/guix.texi: Update copyright name for Liliana Marie Prikler. * gnu/packages/build-tools.scm: Update copyright name and email for Liliana Marie Prikler. * gnu/packages/convmv.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/emacs.scm: Likewise. * gnu/packages/esolangs.scm: Likewise. * gnu/packages/game-development.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gnome-xyz.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/gstreamer.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/minetest.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Likewise. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Likewise. * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/unicode.scm: Likewise. * gnu/packages/xorg.scm: Likewise. * gnu/services/sound.scm: Likewise. * guix/build-system/renpy.scm: Likewise. * guix/build/emacs-utils.scm: Likewise. * guix/build/renpy-build-system.scm: Likewise.
2021-09-23syscalls: Deduplicate device number conversion.Tobias Geerinckx-Rice
* guix/cpio.scm (device-number, device->major+minor): Move to, and subsequently import from, … * guix/build/syscalls.scm (device-number, device-number->major+minor): …here. Note the slight name change. (mounts): Replace 16-bit open code with a DEVICE-NUMBER call. * gnu/build/linux-boot.scm (device-number): Remove duplicate 16-bit implementation in favour of the one above. (resume-if-hibernated): Reuse DEVICE-NUMBER->MAJOR+MINOR.
2021-09-22download: Fall back to web.archive.org as a very last resort.Ludovic Courtès
Suggested by Florian Pelz <pelzflorian@pelzflorian.de>. * guix/build/download.scm (internet-archive-uri): New procedure. (url-fetch): Append it to the list of URIs after CONTENT-ADDRESSED-URIS.
2021-09-17Merge branch 'master' into core-updates-frozenMarius Bakke
Conflicts: gnu/packages/bioinformatics.scm gnu/packages/chez.scm gnu/packages/docbook.scm gnu/packages/ebook.scm gnu/packages/gnome.scm gnu/packages/linux.scm gnu/packages/networking.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/tex.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/dune.scm guix/build-system/go.scm guix/build-system/linux-module.scm guix/packages.scm
2021-09-14build-system: linux-module: Support source-directory.Liliana Marie Prikler
As with guile-build-system, the module to be build need not necessarily live at the root of the build tree. * guix/build/linux-module-build-system.scm (build, install): Add source-directory argument and append it to "M" variable when invoking make. * guix/build-system/linux-module.scm (linux-module-build): Add source-directory argument.
2021-09-14download: Disarchive mirrors can be URL-returning procedures.Ludovic Courtès
As discussed at <https://issues.guix.gnu.org/47336#16>. * guix/build/download.scm (url-fetch)[disarchive-uris]: Accept MIRROR as a procedure. * guix/download.scm (%disarchive-mirrors): Add comment. This change can only be made once a 'guix perform-download' that understands procedures is widely deployed.
2021-09-13build/go: Support cross compiling.Efraim Flashner
* guix/build-system/go.scm (go-target): New procedure. (go-build): Add goarch, goos keywords. Adjust bag depending if doing a native or cross compile. (go-cross-build): New procedure. * guix/build/go-build-system.scm (setup-go-environment): Accept goarch, goos keywords. Set go environment variables based on target architecture. * doc/guix.texi (Build Systems): Mention new go-build-system keywords.
2021-09-08guix: dune-build-system: Put dune into a reproducible release mode.pukkamustard
* guix/build/dune-build-system.scm (build,check): Replace the profile parameter with the appropriate release flags. * guix/build-system/dune.scm: Remove the profile parameter. * doc/guix.texi: Remove paragraph on profile parameter. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-09-07Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-07-29Merge branch 'master' into core-updates-frozenMarius Bakke
Conflicts: gnu/packages/bioinformatics.scm gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/emacs-xyz.scm gnu/packages/gpodder.scm gnu/packages/music.scm gnu/packages/patches/glibc-bootstrap-system.patch gnu/packages/python-xyz.scm gnu/packages/shells.scm gnu/packages/statistics.scm
2021-08-20guix: dune-build-system: Add a profile parameter.pukkamustard
* guix/build-system/dune.scm: Add a profile parameter. * guix/build/dune-build-system.scm (build): Use it. * doc/guix.texi: Document it. * gnu/packages/ocaml.scm: Remove profile being set from build flags. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2021-08-20build-system: Add 'minetest-mod-build-system'.Maxime Devos
* guix/build-system/minetest.scm: New module. * guix/build/minetest-build-system.scm: Likewise. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'minetest-mod-build-system'. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-07-25build: utils: Trim leading slash from search-input-file input.Mathieu Othacehe
Make sure that both: (search-input-file inputs "/bin/sh") and (search-input-file inputs "bin/sh") are supported. * guix/build/utils (search-input-file): Trim leading slash character from FILE.
2021-07-21gnu: TeX Live: Use IniTeX to build a couple of packagesThiago Jung Bauermann
The package texlive-latex-base in TeX Live 2021 will depend on texlive-latex-l3kernel and texlive-latex-l3packages. Therefore we need to remove their build dependency on texlive-latex-base to avoid a circular dependency. l3kernel and l3packages don’t need LaTeX during build, just IniTeX. So to make them use it, modify texlive-build-system to allow disabling the #:texlive-latex-base and #:tex-format parameters, and also add a #:tex-engine parameter. We also need to add texlive-docstrip as a native input, which was previously provided by texlive-latex-base. * gnu/packages/tex.scm (texlive-latex-l3kernel, texlive-latex-l3packages)[arguments]: Add ‘#:tex-engine’, ‘#:tex-format’ and ‘#:texlive-latex-base’ parameters. [native-inputs]: Add ‘texlive-docstrip’. * guix/build-system/texlive.scm (lower)[build-inputs]: Don’t add ‘texlive-latex-base’ if its keyword parameter is false. (texlive-build): Add ‘tex-engine’ keyword parameter. [builder]: If a ‘tex-engine’ parameter was passed, use it. Otherwise, use ‘tex-format’ as the engine. * guix/build/texlive-build-system.scm (compile-with-latex): Add ‘engine’ parameter. If the ‘format’ parameter is false, add “-ini” option to the command line. (build): Add ‘tex-engine’ parameter. Pass it down to ‘compile-with-latex’. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-19build: Update uglifyjs for minify-build-system.Charles
* guix/build-system/minify.scm (default-uglify-js): Update uglifyjs package used. * guix/build/minify-build-system.scm (minify): Use updated uglifyjs command name. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-18Merge branch 'master' into core-updatesLudovic Courtès
2021-07-18build: pack: Mute error output when checking if tar supports --sort.Maxim Cournoyer
* guix/build/pack.scm (tar-base-options) [tar-supports-sort?]: Redirect error output to void.
2021-07-14build-system/meson: Support cross-compilation.Maxime Devos
For cross-compilation, meson needs to be passed a ‘cross file’ with information on the architecture, CPU type, endianness and operating system, and the name of the cross-compiler binaries. The new module (guix build meson-configuration) has some utilities for writing these cross files, used by 'make-cross-file' in a G-exp. The values for the cross file are generated by 'make-machine-alist' and 'make-binaries-alist'. 'make-machine-alist' and 'make-binaries-alist' live on the host side, such that new architectures and operating systems can be added without causing rebuilds for old architectures. All operating systems and targets supported by Guix are theoretically supported, but only aarch64-linux-gnu, powerpc64le-linux-gnu and arm-linux-gnueabihf have been tested. i686-linux-gnu has also been tested with a previous version of this patch series but required some changes to 'cross-base.scm'. This has been tested with: $ ./pre-inst-env guix build glib --target=TARGET * guix/build/meson-configuration.scm (write-section-header): New procedure. (write-assignment): New procedure. (write-assignments): New procedure. * guix/build-system/meson.scm (target-hurd?): New predicate. (make-machine-alist): New procedure. (make-binaries-alist): New procedure. (make-cross-file): New procedure. (meson-cross-build): New procedure. (lower)[build-inputs]: Add standard cross packages when cross-compiling. Do not include regular 'inputs' when cross-compiling. (lower)[host-inputs]: Include 'inputs' when cross-compiling. (lower)[target-inputs]: Add cross packages when cross-compiling. (lower)[build]: Call 'meson-cross-build' instead of 'cross-build' when cross-compiling. (lower)[target]: Set it. (lower)[private-keywords]: Do not remove #:target when cross-compiling. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-08utils: Add 'search-input-directory'.Ludovic Courtès
* guix/build/utils.scm (search-input-directory): New procedure. * doc/guix.texi (Build Utilities): Document it next to 'search-input-file'. Tweak wording.
2021-07-08build-system/gnu: patch-shebangs: Also patch shebangs in "/libexec".Maxime Devos
Shebangs in "/bin" and "/sbin" subdirectories are currently patched by patch-shebangs. But shebangs in "/libexec" currently aren't, even though they occasionally need to be. E.g. when using wrap-program on an executable in "libexec" without an explicit #:sh when cross-compiling. * guix/build/gnu-build-system.scm (patch-shebangs): Add "/libexec" to 'bin-directories'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-07Revert "syscalls: 'terminal-dimension' ignores EPERM."Tobias Geerinckx-Rice
This reverts commit 17a102332a253f0e3b1f511fa7bda2094264a77c. See <https://github.com/koverstreet/bcachefs/pull/277>.
2021-07-02build: qt-utils: Wrappers set 'QTWEBENGINEPROCESS_PATH' if needed.Maxim Cournoyer
This reinstate commit the reverted fed28a9632ba69225151757e44a5d70e9b0652a2, now rebased on top of conflicting changes. * guix/build/qt-utils.scm: Remove extraneous newlines. (variables-for-wrapping): Add comments. Define a file type entry for each variable definition, and use it to determine if we should look for directories versus plain files. <QTWEBENGINEPROCESS_PATH>: New environment variable. (wrap-all-qt-programs): Remove trailing #t.
2021-07-02build: qt-utils: Refactor the code to filter XDG_DATA_DIRS.Ludovic Courtès
This partially reinstate the reverted c5fd1b0bd362f8b8578a76a26a65ba5d00d48992. * guix/build/qt-utils.scm (variables-for-wrapping)[collect-sub-dirs]: Add 'selectors' parameter and honor it. Change caller to handle selectors. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-02guix: qt-utils: Don't include useless inputs in wrapped variables.Jakub Kądziołka
Include only those inputs into XDG_DATA_DIRS having some subdirectory of /share which is typically used by Qt. * guix/build/qt-utils.scm (variables-for-wrapping): Take the output directory as an argument for special handling. Check for subdirectories of /share used by Qt before including inputs in XDG_DATA_DIRS. (wrap-qt-program*): Pass the output directory to variables-for-wrapping. Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
2021-07-02build-system: qt: Exclude useless inputs from wrapped variables.Jakub Kądziołka
* guix/build-system/qt.scm (qt-build)[qt-wrap-excluded-inputs]: New argument. * guix/build/qt-utils.scm (%qt-wrap-excluded-inputs): New variable. (wrap-qt-program*)[qt-wrap-excluded-inputs]: New argument. Filter excluded inputs. (wrap-qt-program)[qt-wrap-excluded-inputs]: New argument. (wrap-all-qt-programs)[qt-wrap-excluded-inputs]: New argument. Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
2021-07-02guix: qt-utils: Wrapped executables honor user's envvars.Hartmut Goebel
Prior to this change, wrappers did set the specified environment variables to a fixed value, overwriting any user settings. This inhibited propagating e.g. XDG_DATA_DIRS from a profile to the application. Now user environment variables are prefixed (if the variable defines some "binary" search path, e.g. QT_PLUGIN_PATH) or suffixed (if the variable defines some config or data search path, e.g. XDG_DATA_DIRS). The code could also allow to overwrite, anyhow currently no variable is defined like this. * guix/build/qt-utils.scm (variables-for-wrapping): For each env-var to be wrapped, specify whether it should prefix, suffix or overwrite the user's variable.
2021-07-02guix: qt-build-system, qt-utils: Unify wrapping of qt-programs.Hartmut Goebel
Unify (guix qt-build-system wrap-all-programs) and (guix qt-utils wrap-qt-program), so both behave the same. The functions now reside in qt-utils to make them easily available for packages not using the qt-build-system. * guix/build/qt-build-system.scm (variables-for-wrapping, wrap-all-programs): Move from here ... * guix/build/qt-utils.scm (variables-for-wrapping, wrap-all-qt-programs): ... to here. Base the later on (wrap-qt-program*): New function, carved out from old wrap-all-programs. (wrap-qt-program): Base on wrap-qt-program*, change arguments in an incompatible way. * gnu/packages/bittorrent.scm (qbittorrent)[arguments]<phases>{wrap-qt}: Adjust to new interface of wrap-qt-program. * gnu/packages/finance.scm (electron-cash): Likewise. * gnu/packages/geo.scm (qgis): Likewise. * gnu/packages/password-utils.scm (qtpass): Likewise. * gnu/packages/video.scm (openshot): Likewise. * gnu/packages/web-browsers.scm (kristall): Likewise.
2021-07-02Revert "build-system/qt: Wrappers only include relevant directories to ↵Maxim Cournoyer
XDG_DATA_DIRS." This reverts commit c5fd1b0bd362f8b8578a76a26a65ba5d00d48992. It will need to be refactored on top of 2214b7b78d34a0e4d574b743dbeb8457356f6cff.
2021-07-02Revert "build-system/qt: Wrappers set 'QTWEBENGINEPROCESS_PATH' if needed."Maxim Cournoyer
This reverts commit 06eb21856f9535ab62d0becc92b4146e0620654e. It will need to be refactored to fit on top of 2214b7b78d34a0e4d574b743dbeb8457356f6cff.
2021-07-02Revert "build-system/qt: Fix wrapping with QTWEBENGINEPROCESS_PATH."Maxim Cournoyer
This reverts commit fed28a9632ba69225151757e44a5d70e9b0652a2. It will need to be refactored to fit on top of 2214b7b78d34a0e4d574b743dbeb8457356f6cff.
2021-06-29pack: Factorize base tar options.Maxim Cournoyer
* guix/docker.scm (%tar-determinism-options): Move to a new module and rename to `tar-base-options'. Adjust references accordingly. * guix/build/pack.scm: New file. * Makefile.am (MODULES): Register it. * guix/scripts/pack.scm (self-contained-tarball/builder): Use it.
2021-06-25download: 'tls-wrap' retries handshake upon non-fatal errors.Ludovic Courtès
Fixes <https://bugs.gnu.org/49223>. Reported by Domagoj Stolfa <ds815@gmx.com>. * guix/build/download.scm (tls-wrap): Retry up to 5 times when 'handshake' throws a non-fatal error.
2021-06-24build: Make outputs of node-build-system reproducible.Lars-Dominik Braun
package.json records two hashes of package.tgz, which change for each build, resulting in non-reproducible builds. * guix/build/node-build-system.scm (repack): Add reproducibility options to tar command.
2021-06-23Merge branch 'master' into core-updatesTobias Geerinckx-Rice
Conflicts: gnu/packages/cups.scm gnu/packages/python-web.scm gnu/packages/web.scm guix/build/maven/pom.scm