summaryrefslogtreecommitdiff
path: root/guix/build-system
AgeCommit message (Collapse)Author
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-05build-system/trivial: Honor build inputs when cross-compiling.Ludovic Courtès
Fixes a regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1 whereby host inputs would be missing altogether from '%build-inputs', which broke cross-compilation. * guix/build-system/trivial.scm (trivial-cross-build): Append HOST-INPUTS to the 'with-build-variables' argument.
2021-07-05build-system/gnu: Define '%build-inputs' when cross-compiling.Ludovic Courtès
Reported by Maxime Devos. * guix/build-system/gnu.scm (gnu-cross-build)[builder]: Define '%build-inputs' as it existed before 7d873f194ca69d6096d28d7a224ab78e83e34fe1.
2021-07-05build-system/texlive: Change default format to pdftexThiago Jung Bauermann
LuaTeX has a bug where sometimes it corrupts the heap and aborts. This causes the build of texlive packages to fail at random. The problem is being tracked at https://issues.guix.gnu.org/48064. While a fix isn't found, switch the default TeX format (and consequently also the engine) to pdftex to avoid the issue. * guix/build-system/texlive.scm (texlive-build): Change default value of the ‘tex-format’ key parameter to “pdftex”. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-19build-system/haskell: Import build variables.Marius Bakke
* guix/build-system/haskell.scm (haskell-build): Wrap in WITH-BUILD-VARIABLES in order to get %build-inputs and friends.
2021-06-19build-system/node: Add missing module import.Marius Bakke
This accidentally disappeared in fcc39864dba82e14895afbe841091091366c96bc. * guix/build-system/node.scm: Import (guix store).
2021-06-06Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/local.mk gnu/packages/algebra.scm gnu/packages/bioinformatics.scm gnu/packages/curl.scm gnu/packages/docbook.scm gnu/packages/emacs-xyz.scm gnu/packages/maths.scm gnu/packages/plotutils.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/readline.scm gnu/packages/tls.scm gnu/packages/xml.scm gnu/packages/xorg.scm
2021-06-06gnu: TeX Live: Update to 2020.0.Marius Bakke
* guix/build-system/texlive.scm (%texlive-tag): Set to 2020.0. (%texlive-revision): Set to 54632. * gnu/packages/tex.scm (texlive-extra-src, texlive-texmf-src, texlive-bin, texlive-texmf, texlive): Update to 20200406. (texlive-bin)[source](patches): Remove. [arguments]: Adjust poppler compatibility phase for new upstream patches. * gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data texlive-hyphen-base, texlive-dvips, texlive-metafont-base, texlive-fontinst, texlive-fontname, texlive-tex-plain, texlive-hyphen-bulgarian, texlive-hyphen-chinese, texlive-hyphen-hungarian, texlive-hyphen-latin, texlive-hyphen-sanskrit, texlive-hyphen-spanish, texlive-hyph-utf8, texlive-kpathsea, texlive-latexconfig, texlive-latex-base, texlive-union, texlive-latex-filecontents, texlive-latex-fancyvrb, texlive-graphics-def, texlive-latex-graphics, texlive-latex-oberdiek, texlive-latex-tools, texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec, texlive-latex-amsmath, texlive-latex-babel, texlive-latex-draftwatermark, texlive-etoolbox, texlive-latex-geometry, texlive-latex-polyglossia, texlive-latex-supertabular, texlive-tex-texinfo, texlive-latex-appendix, texlive-latex-colortbl, texlive-latex-listings, texlive-inconsolata, texlive-latex-enumitem, texlive-latex-multirow, texlive-latex-overpic, texlive-latex-parskip, texlive-latex-pdfpages, texlive-libertine, texlive-latex-titlesec, texlive-metapost, texlive-latex-acmart, texlive-latex-wasysym, texlive-latex-preview, texlive-latex-acronym, texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-ms, texlive-generic-ulem, texlive-latex-pgf, texlive-latex-koma-script, texlive-generic-listofitems, texlive-bibtex, texlive-context-base, texlive-beamer, texlive-pstricks, texlive-marginnote, texlive-iftex, texlive-tools, texlive-siunitx, texlive-booktabs, texlive-csquotes, texlive-biblatex, texlive-microtype, texlive-caption, texlive-ydoc, texlive-courier, texlive-hyperref, texlive-fontspec, texlive-l3build, texlive-luaotfload, texlive-babel, texlive-tipa, texlive-jknappen, texlive-wasy, texlive-context, texlive-cabin, texlive-fourier, texlive-mweights, texlive-newtx, texlive-xcharter, texlive-tcolorbox): Update hashes. (texlive-hyphen-bulgarian): Don't include removed files. (texlive-hyphen-hungarian, texlive-hyphen-sanskrit): Adjust for directory rename. (texlive-hyphen-chinese, texlive-hyphen-latin): Add more files. (texlive-hyphen-macedonian): New public variable. (texlive-metafont-base)[source]: Switch to SVN-MULTI-FETCH. [arguments]: Adjust for extra source files. (texlive-latex-base)[arguments]: Disable more formats. [propagated-inputs]: Add TEXLIVE-HYPHEN-MACEDONIAN. (texlive-fontinst): Don't include "scripts/texlive/fontinst.sh". (texlive-generic-iftex): New public variable. (texlive-iftex, texlive-generic-ifxetex): Deprecate in favor of TEXLIVE-GENERIC-IFTEX. (texlive-latex-oberdiek)[propagated-inputs]: Change from TEXLIVE-GENERIC-IFXETEX to TEXLIVE-GENERIC-IFTEX. (texlive-latex-xkeyval)[native-inputs]: Likewise. (texlive-default-updmap.cfg): Remove variable. * gnu/packages/patches/texlive-bin-poppler-0.83.patch, gnu/packages/patches/texlive-bin-poppler-0.86.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
2021-06-05guix: Update to Bioconductor 3.13.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Update version. * guix/import/cran.scm (%bioconductor-version): Update.
2021-05-09Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/django.scm gnu/packages/gtk.scm gnu/packages/llvm.scm gnu/packages/python-web.scm gnu/packages/python.scm gnu/packages/tex.scm guix/build-system/asdf.scm guix/build/emacs-build-system.scm guix/profiles.scm
2021-05-08build-system: asdf: Work around package-name->name+version bug.Guillaume Le Vaillant
This patch modifies how the name of the main Common Lisp system is extracted from the full Guix package name to work around bug#48225 concerning the 'package-name->name+version' function. Fixes <https://issues.guix.gnu.org/41437>. * guix/build-system/asdf.scm (asdf-build): Fix 'systems' function. * guix/build/asdf-build-system.scm (main-system-name): Fix it.
2021-04-16Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm
2021-04-09import: go: Add an option to use pinned versions.Maxim Cournoyer
The ability to pin versions is handy when having to deal to packages that bootstrap themselves through a chain of former versions. Not using pinned versions in these case could introduce dependency cycles. * guix/build-system/go.scm (guix) (%go-version-rx): Rename to... (%go-pseudo-version-rx): ... this. Simplify the regular expression, which in turns makes it more robust. * guix/build-system/go.scm (go-version->git-ref): Adjust following the above rename. (go-pseudo-version?): New predicate. (go-module-latest-version): Rename to ... (go-module-version-string): ... this. Rename goproxy-url argument to just goproxy. Add a VERSION keyword argument, update docstring and adjust to have it used. (go-module-available-versions): New procedure. (%go.mod-require-directive-rx): Document regexp. (parse-go.mod): Harmonize the way dependencies are recorded to a list of lists rather than a list of pairs, as done for other importers. Rewrite to directly pass multiple values rather than a record object. Filter the replaced modules in a functional style. (go-module->guix-package): Add docstring. [version, pin-versions?]: New arguments. Rename the GOPROXY-URL argument to GOPROXY. Adjust to the new returned value of fetch-go.mod, which is a string. Fail when the provided version doesn't exist. Return a list dependencies and their versions when in pinned versions mode, else just the dependencies. (go-module-recursive-import)[version, pin-versions?]: New arguments. Honor the new arguments and guard against network errors. * guix/scripts/import/go.scm (%default-options): Register a default value for the goproxy argument. (show-help): Document that a version can be specified. Remove the --version argument and add a --pin-versions argument. (%options)[version]: Remove option. [pin-versions]: Add option. (guix-import-go): Adjust so the version provided from the module name is honored, along the new pin-versions? argument. * tests/go.scm: Adjust and add new tests.
2021-04-09build-system/gnu: Give #:bootstrap-scripts a valid default.Ludovic Courtès
Commit 9cfc93be30c516fd6fa32915c61c06e03f23a011 changed the default value of #:bootstrap-scripts to #f, which is invalid (it must be a list of strings). That default value was used by build systems that inherit phases from 'gnu-build-system', such as 'qt-build-system', which would lead to wrong-type-arg errors in the 'boostrap' phase. Reported by Raghav Gururajan <rg@raghavgururajan.name>. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): Change #:bootstrap-scripts to default to it. * guix/build-system/gnu.scm (%bootstrap-scripts): Change value. (gnu-build): #:bootstrap-scripts defaults to %bootstrap-scripts. Remove call to 'sexp->gexp'. (gnu-cross-build): Likewise.
2021-04-02gnu: Add node-lts.Jelle Licht
* gnu/packages/node.scm (node-lts): New variable. * guix/build-system/node.scm (default-node): Use it.
2021-04-02build-system: Rewrite node build system.Jelle Licht
* guix/build/node-build-system.scm: Rewrite it. * guix/build-system/node.scm: Adjust accordingly. * gnu/packages/node-xyz.scm (node-semver): Likewise. Co-authored-by: Timothy Sample <samplet@ngyro.com>
2021-04-01build-system/qt: Convert phases to a gexp if needed.Ludovic Courtès
Fixes a bug whereby the "/gnu/store/.*qmlcachegen" string in the 'ktouch' phases would incorrectly be interpreted as a store item, leading to an error while trying to build it: $ ./pre-inst-env guix build ktouch -d --no-grafts guix build: error: path ‘/gnu/store/.*qmlcachegen’ is not valid Reported by Christopher Baines. * guix/build-system/qt.scm (qt-build)[builder]: If PHASES is a pair, pass it to 'sexp->gexp'.
2021-04-01build-system/android-ndk: Pass #:bootstrap-scripts to build phases.Ludovic Courtès
Fixes a regression introduced in 9cfc93be30c516fd6fa32915c61c06e03f23a011. * guix/build-system/android-ndk.scm (android-ndk-build): Pass #:bootstrap-scripts to 'android-ndk-build'.
2021-04-01build-system/android-ndk: Fix reference to "android-build".Ludovic Courtès
Regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. * guix/build-system/android-ndk.scm (android-ndk-build): Call 'gexp-input-thing' on the item taken from INPUTS.
2021-03-31build-system/scons: Use 'with-build-variables'.Ludovic Courtès
This brings back the '%build-inputs' and '%outputs' global variables, which some packages such as 'serf' expect. * guix/build-system/scons.scm (scons-build): Use 'with-build-variables'.
2021-03-31build-system/scons: Fix typo.Ludovic Courtès
Typo introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. * guix/build-system/scons.scm (scons-build): Use #$name rather than ,name.
2021-03-30build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.Ludovic Courtès
* guix/gexp.scm (input-tuples->gexp, outputs->gexp): Make public. * guix/build-system/cargo.scm (cargo-build): Use them. * guix/build-system/gnu.scm (gnu-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/cmake.scm (cmake-cross-build): Likewise.
2021-03-30build-system: Use 'sexp->gexp' for plain sexps.Ludovic Courtès
This reduces memory allocations and list traversals during 'gexp->sexp', 'gexp-inputs', etc. * guix/build-system/cargo.scm (cargo-build): Use 'sexp->gexp' for sexps known to not contain file-like objects. Change default #:phases to a symbol. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Likewise. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/gnu.scm (%strip-flags, %strip-directories): New variables. (gnu-build): Use them. Use 'sexp->gexp' where appropriate. (gnu-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/trivial.scm (trivial-build): Likewise. * guix/build-system/waf.scm (waf-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * guix/packages.scm (patch-and-repack): Use 'sexp->gexp' when SNIPPET is a pair. * guix/svn-download.scm (svn-multi-fetch): Use 'sexp->gexp' for 'svn-multi-reference-locations'.
2021-03-30build-system: Rewrite using gexps.Ludovic Courtès
* guix/packages.scm (expand-input): Remove 'store', 'system', and 'cross-system' parameters; add #:native?. Rewrite to return name/gexp-input tuples. (bag->derivation): Adjust accordingly. Lower (bag-build bag). (bag->cross-derivation): Ditto. Instead of #:native-drvs and #:target-drvs, pass #:build-inputs, #:host-inputs, and #:target-inputs. (%derivation-cache): Remove. * gnu/packages/bootstrap.scm (raw-build): Turn into a monadic procedure. * gnu/packages/commencement.scm (glibc-final)[arguments]: Use 'gexp-input' for the #:allowed-references argument. * guix/build-system/cmake.scm (cmake-build): Remove 'store' parameter. Switch to the use of gexps and 'gexp->derivation'. (lower): Remove #:source from 'private-keywords'. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build, lower): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/gnu.scm (gnu-build): Likewise, and remove 'canonicalize-reference'. (gnu-cross-build): Likewise, and expect #:build-inputs, #:host-inputs, and #:target-inputs instead of #:native-drvs and #:target-drvs. (lower): Likewise. * guix/build-system/perl.scm (perl-build, lower): Likewise. * guix/build-system/python.scm (python-build, lower): Likewise. * guix/build-system/ruby.scm (ruby-build, lower): Likewise. * guix/build-system/waf.scm (waf-build, lower): Likewise. * guix/build-system/trivial.scm (guile-for-build): Remove. (trivial-build): Remove 'store' parameter, change to gexps. (trivial-cross-build): Ditto, and change to #:build-inputs & co. * guix/build-system/cargo.scm (cargo-build): Change to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/guile.scm (guile-build, guile-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * tests/builders.scm ("gnu-build"): Call 'store-lower' on 'gnu-build'. Pass #:source parameter. * tests/packages.scm ("search paths"): Use 'abort-to-prompt' instead of a normal return from the 'build' method. ("package->bag, sensitivity to %current-target-system"): Change 'build' to match the new build system signature. squash! build-system: Rewrite using gexps. squash! build-system: Rewrite using gexps.
2021-03-24Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2021-03-19build-system/node: Remove unnecessary imports.Ludovic Courtès
* guix/build-system/node.scm: Remove unnecessary imports.
2021-03-17gnu: Use PACKAGE/INHERIT in more places.Mark H Weaver
* gnu/packages/algebra.scm (fftwf, fftw-openmpi), gnu/packages/audio.scm (ztoolkit-rsvg), gnu/packages/bioinformatics.scm (python2-dendropy), gnu/packages/boost.scm (boost-with-python2), gnu/packages/check.scm (python2-mock, python2-pytest-mock), gnu/packages/cups.scm (hplip-minimal), gnu/packages/freedesktop.scm (libinput-minimal), gnu/packages/gettext.scm (gnu-gettext), gnu/packages/glib.scm (python2-pygobject), gnu/packages/gnome.scm (gdl-minimal, libsoup-minimal, python2-pyatspi), gnu/packages/groff.scm (groff-minimal), gnu/packages/jami.scm (ffmpeg-jami), gnu/packages/libcanberra.scm (libcanberra/gtk+-2), gnu/packages/lirc.scm (python2-lirc), gnu/packages/llvm.scm (clang-runtime-3.5), gnu/packages/mpi.scm (java-openmpi, openmpi-thread-multiple), gnu/packages/node.scm (libnode), gnu/packages/onc-rpc.scm (libtirpc/hurd), gnu/packages/python-compression.scm (bitshuffle-for-snappy), gnu/packages/python-crypto.scm (python2-pycrypto, python2-cryptography) (python2-cryptography, python2-m2crypto), gnu/packages/python-web.scm (python2-html2text, python2-tornado) (python2-terminado, python2-ndg-httpsclient, python2-websocket-client) (python2-rauth, python2-url, python2-s3transfer), gnu/packages/python-xyz.scm (python2-psutil, python2-serpent) (python2-humanfriendly, python2-empy, python2-parse-type, python2-polib) (python2-jsonschema, python2-pystache, python2-cython, python2-numpydoc) (python2-ipyparallel, python2-traitlets, python2-dbus) (python2-beautifulsoup4, python2-pep517, python2-flake8, python2-llfuse) (python2-tlsh, python-file, python2-notebook, python-jupyter-console-minimal) (python2-contextlib2, python2-promise, python2-anyjson, python2-amqp) (python2-kombu, python2-billiard, python2-celery, python2-whoosh) (python2-jellyfish, python-rope, ptpython-2, python2-binaryornot) (python2-setproctitle, python2-argcomplete, python2-xopen, python2-isort) (python2-radon, python2-rfc6555, python2-activepapers, python2-send2trash) (python2-cloudpickle, python2-reparser), gnu/packages/python.scm (python2-called-python), gnu/packages/qt.scm (python2-sip, python-pyqt-without-qtwebkit, python2-pyqt) (python-qscintilla, python-pyqt+qscintilla), gnu/packages/scanner.scm (sane-backends), gnu/packages/sdl.scm (guile3.0-sdl2), gnu/packages/selinux.scm (checkpolicy, libselinux, libsemanage, secilc) (python-sepolgen, policycoreutils), gnu/packages/serialization.scm (lua5.1-libmpack, lua5.2-libmpack), gnu/packages/simulation.scm (fenics), gnu/packages/statistics.scm (python2-statsmodels), gnu/packages/texinfo.scm (info-reader), gnu/packages/wxwidgets.scm (wxwidgets-gtk2, wxwidgets-gtk2-3.1), gnu/packages/xml.scm (xmlsec-nss), gnu/packages/xorg.scm (uim-gtk, uim-qt), guix/build-system/python.scm (package-with-explicit-python) (strip-python2-variant): Use PACKAGE/INHERIT.
2021-03-14build-system/cargo: Propagate crates across builds.Efraim Flashner
* guix/build-system/cargo.scm (cargo-build): Add cargo-package-flags, install-source flags. * guix/build/cargo-build-system.scm (unpack-rust-crates, package): New procedures. (install): Also install crate sources. (%standard-phases): Add new phases. * doc/guix.texi (Packaging-guidelines)[Rust Crates]: Adjust to changes in the cargo-build-system.
2021-03-10import: Add Go importer.Katherine Cox-Buday
This patch adds a 'guix import go' command. * doc/guix.texi (Requirements): Mention Guile-Lib dependency. (Invoking guix import): Document 'guix import go'. * gnu/packages/package-management.scm (guix)[inputs, propagated-inputs]: Add GUILE-LIB. * guix/self.scm (compiled-guix)[guile-lib]: New variable. [dependencies]: Add it. (specification->package): Add "guile-lib". * guix/build-system/go.scm (go-version->git-ref): New procedure. * guix/import/go.scm, guix/scripts/import/go.scm, tests/go.scm: New files. * guix/scripts/import.scm: Declare subcommand guix import go * po/guix/POTFILES.in: Add 'guix/scripts/import/go.scm'. * Makefile.am (MODULES): Add 'guix/import/go.scm' and 'guix/scripts/import/go.scm'. (SCM_TESTS): Add 'tests/go.scm'. Co-Authored-By: Helio Machado <0x2b3bfa0@gmail.com> Co-Authored-By: Francois Joulaud <francois.joulaud@radiofrance.com> Co-Authored-By: Maxim Cournoyer <maxim.cournoyer@gmail.com> Co-Authored-by: Ludovic Courtès <ludo@gnu.org>
2021-02-21build-system/gnu: Disable 'ld.so.cache' generation when cross-compiling.Ludovic Courtès
* guix/build-system/gnu.scm (gnu-cross-build): Change #:make-dynamic-linker-cache? to #f.
2021-02-11Merge branch 'master' into core-updatesDanny Milosavljevic
2021-02-07build-system: Add renpy-build-system.Leo Prikler
* 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.
2021-02-03Merge branch 'master' into core-updatesChristopher Baines
2021-02-01gnu: meson-for-build: Remove package.Maxim Cournoyer
The meson-for-build package doesn't carry any special patch anymore; it appears to be obsolete. * gnu/packages/build-tools.scm (meson-for-build): Remove variable. * guix/build-system/meson.scm (default-meson): Use meson. * doc/guix.texi (Build Systems): Update doc.
2021-02-01build/python: Add a sanity check phase.Lars-Dominik Braun
Add a new phase validating the usability of installed Python packages. * gnu/packages/aux-files/python/sanity-check.py: New file. * Makefile.am (AUX_FILES): Register it. * guix/build-system/python.scm (sanity-check.py): New variable. (lower): Add the script as an implicit input. * guix/build/python-build-system.scm: Remove trailing #t. (sanity-check): New phase. (%standard-phases): Use it. * tests/builders.scm: (make-python-dummy) (dummy-ok, dummy-dummy-nosetuptools, dummy-fail-requirements) (dummy-fail-import, dummy-fail-console-script): New variables. ("python-build-system: dummy-ok") ("python-build-system: dummy-dummy-nosetuptools") ("python-build-system: dummy-fail-requirements") ("python-build-system: dummy-fail-import") ("python-build-system: dummy-fail-console-script"): Add tests.
2021-01-30build-system/julia: Don't rely on file name to set module name.nixo
* 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>
2021-01-30build-system/julia: Enable tests.nixo
* 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>
2021-01-14build-system/texlive: Allow specifying SVN references with a single component.Maxim Cournoyer
This is the case for macros (formats), for which the TeX Directory Structure specifies to be located at the root of the source tree directly. * guix/build-system/texlive.scm (texlive-ref): Make the ID parameter optional. Update doc.
2021-01-13Merge branch 'staging' into 'core-updates'.Maxim Cournoyer
Conflicts: gnu/local.mk gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/gl.scm gnu/packages/glib.scm gnu/packages/guile.scm gnu/packages/node.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/python-xyz.scm gnu/packages/python.scm gnu/packages/tls.scm gnu/packages/vpn.scm gnu/packages/xorg.scm
2020-12-23guix: Quote list of bootstrap scripts.Ricardo Wurmus
This is a follow-up to commit 9cfc93be30c516fd6fa32915c61c06e03f23a011. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Quote the list of default bootstrap scripts.
2020-12-23build-system/gnu: Allow overriding of bootstrap scripts.Ricardo Wurmus
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept bootstrap-scripts keyword argument and pass it to gnu-build. (%bootstrap-scripts): New variable. * guix/build/gnu-build-system.scm (%bootstrap-scripts): Remove variable. (bootstrap): Remove default value for bootstrap-scripts argument.
2020-12-09import: cran: Update the Bioconductor version to 3.12.Roel Janssen
* guix/import/cran.scm (%bioconductor-version): Set to 3.12. * guix/build-system/r.scm (bioconductor-uri): Update to 3.12.
2020-12-03build-system: Add chicken-build-system.raingloom
* 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>
2020-12-01build-system/gnu: Add 'make-dynamic-linker-cache' phase.Ludovic Courtès
* guix/build/gnu-build-system.scm (make-dynamic-linker-cache): New procedure. (%standard-phases): Add it. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Add #:make-dynamic-linker-cache? and honor it.
2020-11-29Merge remote-tracking branch 'origin/master' into core-updatesChristopher Baines
2020-11-11Merge branch 'master' into stagingMarius Bakke
2020-11-10guix: ocaml: Add package-with-ocaml4.09.Julien Lepiller
* guix/build-system/ocaml.scm (package-with-ocaml4.09) (strip-ocaml4.09-variant): New variables. * gnu/packages/ocaml.scm (ocaml4.09-result, ocaml4.09-csexp) (ocaml4.09-dune-configurator, ocaml4.09-dune): New variables.
2020-10-19Merge branch 'staging'Maxim Cournoyer
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/gdb.scm gnu/packages/llvm.scm gnu/packages/package-management.scm gnu/packages/tls.scm
2020-10-19build-system/haskell: Disable parallel builds.zimoun
Fixes <https://bugs.gnu.org/43843>. * guix/build-system/haskell.scm (haskell-build): Turn off PARALLEL-BUILD? by default. Signed-off-by: Marius Bakke <marius@gnu.org>
2020-10-16build: Fix docstring typos.Tobias Geerinckx-Rice
* gnu/build/image.scm (estimate-partition-size): Fix typo in docstring. * guix/build/copy-build-system.scm (install): Likewise. * guix/build/lisp-utils.scm (generate-executable): Likewise. * guix/build/maven/pom.scm (find-parent, fix-pom-dependencies): Likewise. * guix/build-system/cargo.scm (expand-crate-sources): Likewise.