Age | Commit message (Expand) | Author |
2023-07-18 | pack: Move common build code to (guix build pack)....The rationale is to reduce the number of derivations built per pack to ideally
one, to minimize storage requirements. The number of derivations had gone up
with 68380db4 ("pack: Extract populate-profile-root from
self-contained-tarball/builder.") as a side effect to improving code reuse.
* guix/scripts/pack.scm (guix): Add commentary comment.
(populate-profile-root, self-contained-tarball/builder): Extract to...
* guix/build/pack.scm (populate-profile-root): ... this, and...
(build-self-contained-tarball): ... that, adjusting for use on the build side.
(assert-utf8-locale): New procedure.
(self-contained-tarball, debian-archive, rpm-archive): Adjust accordingly.
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-07-18 | guix: texlive-build-system: Add #:link-scripts argument....* doc/guix.texi (Build Systems): Document argument.
* guix/build-system/texlive.scm (texlive-build): Add #:LINK-SCRIPTS argument.
* guix/build/texlive-build-system.scm (link-scripts):
(patch-shell-scripts): New function.
(%standard-phases): Add new functions as phases.
| Nicolas Goaziou |
2023-07-18 | guix: texlive-build-system: Generate TeX formats....* guix/build-system/texlive.scm (texlive-build): Add #:CREATE-FORMATS argument.
* doc/guix.texi (Build Systems): Document it.
* guix/build/texlive-build-system.scm (texlive-input?): New function.
(generate-font-metrics): Use new function above.
(create-formats): New function.
(%standard-phases): Add function above to phases.
| Nicolas Goaziou |
2023-07-18 | guix: texlive-build-system: Handle doc-only packages gracefully....* guix/build/texlive-build-system.scm (install): Always create #$output, even
if it is empty.
| Nicolas Goaziou |
2023-07-18 | guix: texlive-build-system: Generate font metrics....* guix/build/texlive-build-system.scm (install-as-runfiles):
(generate-font-metrics): New function.
(build): Use INSTALL-AS-RUNFILES.
(%standard-phases): Add new phase.
| Nicolas Goaziou |
2023-07-18 | guix: texlive-build-system: Improvements on non-trivial packages....* guix/build/texlive-build-system.scm (build): Ignore temporary build files
when moving runfiles around. Remove ".drv" source files prior to compiling
files. Remove need for #:TEX-DIRECTORY keyword. Handle ".ins" and ".dtx"
files in different directories.
(install): Install docfiles in "doc" output when available.
* guix/build-system/texlive.scm (texlive-build): Remove #:TEX-DIRECTORY.
* doc/guix.texi (Build Systems): Remove reference to #:TEX-DIRECTORY in
TEXLIVE-BUILD-SYSTEM documentation. Also mention it now tries to compile
".dtx" files when there is no ".ins" file.
| Nicolas Goaziou |
2023-07-05 | guix: git: Set initial branch name for git-fetch....This removes the 'hint' about choosing a branch name when creating a new
git repository.
* guix/build/git.scm (git-fetch): When running 'git init' add an initial
branch name.
| Efraim Flashner |
2023-06-22 | guix: node-build-system: Delete from peerDependencies too....The current version of npm in Guix installs peerDependencies by default,
whereas previously it would just warn about missing/wrong packages.
Fixes <https://issues.guix.gnu.org/issue/64203>.
* guix/build/node-build-system.scm (delete-dependencies): Remove supplied
dependencies from peerDependencies field too.
| Lars-Dominik Braun |
2023-06-11 | svn-download: Do not expand keywords....Subversion keyword expansion is potentially non-reproducible as some of
them expand time strings relative to the local time zone:
https://issues.guix.gnu.org/43442#18
In practice this is not a problem in Guix since Subversion checkouts
happen in an isolated environment using the "default timezone" (UTC).
However, Software Heritage disables keyword expansion for this very
reason. By following suit, we make sure content can be retrieved from
there.
* guix/build/svn.scm (svn-fecth): Pass "--ignore-keywords" to
Subversion.
* guix/build-system/texlive.scm (%texlive-date): New variable.
* gnu/packages/java.scm (java-geronimo-xbean-reflect)
(java-geronimo-genesis-2.1): Update the source hash.
* gnu/packages/machine-learning.scm (ghmm): Likewise.
* gnu/packages/video.scm (libsmpeg, libsmpeg-with-sdl1): Likewise.
* gnu/packages/tex.scm (texlive-bin): Update the hash of the
"texlive-scripts" input, and a add a new phase that imitates
Subversion keyword expansion for scripts that need it.
(texlive-latex-base): Update the hash of the "texlive-luatexconfig"
native input.
(texlive-hyphen-base, texlive-dvipdfmx, texlive-dvips, texlive-cm)
(texlive-tex-plain, texlive-kpathsea, texlive-latexconfig)
(texlive-tetex, texlive-pdftex, texlive-xetex): Update the source
hash.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Timothy Sample |
2023-06-04 | build-system: New agda-build-system....* guix/build-system/agda.scm: New file.
* guix/build/agda-build-system.scm: New file.
* Makefile.am (MODULES): Register them.
* doc/guix.texi (Build Systems): Add documentation for agda-build-system.
| Josselin Poiret |
2023-05-07 | gnu: rust: Update to 1.67....* gnu/packages/rust.scm (rust): Update to 1.67.
[arguments]: Add a phase to skip tests requiring mercurial. Extend the
custom 'patch-process-tests phase.
(rust-1.64)[arguments]: Adjust 'patch-cargo-checksums phase to patch
another file.
* guix/build/cargo-build-system.scm (package): Adjust to remove
Cargo.toml.orig file if it exists.
| Efraim Flashner |
2023-05-07 | build: cargo-build-system: Don't try to package when skipping build....* guix/build/cargo-build-system.scm (package): If the package isn't
going to be built then use the source instead.
| Efraim Flashner |
2023-05-06 | build-system: node: Use `--install-links' with `npm install'....Later versions of npm need to explicitly install a copy of local dependencies,
instead of only a symlink.
* guix/build/node-build-system.scm (configure): Add `--install-links' to npm
install invocation.
(install): Ditto.
| Jelle Licht |
2023-04-14 | Merge branch 'master' into core-updates....Conflicts:
gnu/local.mk
gnu/packages/build-tools.scm
gnu/packages/certs.scm
gnu/packages/check.scm
gnu/packages/compression.scm
gnu/packages/cups.scm
gnu/packages/fontutils.scm
gnu/packages/gnuzilla.scm
gnu/packages/guile.scm
gnu/packages/ibus.scm
gnu/packages/image-processing.scm
gnu/packages/linux.scm
gnu/packages/music.scm
gnu/packages/nss.scm
gnu/packages/pdf.scm
gnu/packages/python-xyz.scm
gnu/packages/qt.scm
gnu/packages/ruby.scm
gnu/packages/shells.scm
gnu/packages/tex.scm
gnu/packages/video.scm
gnu/packages/vulkan.scm
gnu/packages/web.scm
gnu/packages/webkit.scm
gnu/packages/wm.scm
| Maxim Cournoyer |
2023-04-14 | build/glib-or-gtk: Avoid duplicate entries in gdk-pixbuf loaders cache....* guix/build/glib-or-gtk-build-system.scm (generate-gdk-pixbuf-loaders-cache):
Delete duplicate directories passed as input.
| Maxim Cournoyer |
2023-04-12 | po: Do not auto-translate cross-references to other manuals....Reported by Gottfried at
<https://lists.gnu.org/archive/html/help-guix/2023-04/msg00000.html>.
* guix/build/po.scm (xref-regexp): Dispatch on the number of
arguments. Ensure there is no info-manual argument or it is empty.
(translate-cross-references): Adapt to changed regexp.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Florian Pelz |
2023-04-09 | build: meson: Explicitly invoke "meson setup" instead of just "meson"....* guix/build/meson-build-system.scm (configure): Invoke the setup command to
avoid a deprecation warning.
| Maxim Cournoyer |
2023-04-09 | build: meson: Honor bindir, libdir and includedir....This brings our meson-build-system closer to our gnu-build-system in terms of
using different installation prefixes based on the presence of outputs such as
"bin", "lib" or "include".
* guix/build/meson-build-system.scm (configure): Add --bindir, --libdir and
--includedir according to the presence of the "bin", "lib" and "include"
outputs, as done in gnu-build-system.
| Maxim Cournoyer |
2023-03-28 | Merge remote-tracking branch 'origin/master' into staging | Maxim Cournoyer |
2023-03-28 | build: qt-utils: Revert setting QT_PLUGIN_PATH exactly....Fixes <https://issues.guix.gnu.org/57742>.
The documentation of Qt states that it is a supported use case to mix Qt 5 and
Qt 6 plugins in QT_PLUGIN_PATH [0]. This reverts the change to QT_PLUGIN_PATH
introduced in 1f466ed6be9 ("build: qt: Add qtbase argument and wrap Qt
environment variables exactly.").
[0] https://doc.qt.io/qt-6.2/deployment-plugins.html#loading-and-verifying-plugins-dynamically
* guix/build/qt-utils.scm (variables-for-wrapping): Wrap QT_PLUGIN_PATH using
the prefix method.
| Maxim Cournoyer |
2023-03-27 | syscalls: 'getxattr' throws upon error....* guix/build/syscalls.scm (getxattr): Throw in the negative SIZE case.
| Ludovic Courtès |
2023-03-20 | Merge remote-tracking branch 'origin/master' into core-updates | Andreas Enge |
2023-03-16 | guix: Improve download-nar....Previously download-nar worked with gzipped nars and queried
berlin.guix.gnu.org (also known as ci.guix.gnu.org). ci.guix.gnu.org no longer
serves gzipped nars so this is of limited use.
This commit changes download-nar to query both the default substitute servers,
and queries for lzipped rather than gzipped nars, since those are available
from both.
* guix/build/download-nar.scm (urls-for-item): Return urls for lzip rather
than gzip compression, and from both default substitute servers. The comment
about CDN's is no longer relevant.
(restore-gzipped-nar): Rename to restore-lzipped-nar and reimplement
accordingly.
(download-nar): Add progress reporting and switch to use lzip rather than
gzip.
* guix/cvs-download.scm (cvs-fetch): Replace guile-zlib with guile-lzlib.
* guix/git-download.scm (git-fetch): Replace guile-zlib with guile-lzlib.
* guix/hg-download.scm (hg-fetch): Replace guile-zlib with guile-lzlib.
* guix/android-repo-download.scm (android-repo-fetch): Add guile-lzlib for
download-nar.
Signed-off-by: Christopher Baines <mail@cbaines.net>
| Christopher Baines |
2023-03-13 | guix: Leave some of guix/build/* unchanged....This partially reverts ae587c2ef041413bc709a555261db752068ea360 to
reduce the number of rebuilds.
| Ludovic Courtès |
2023-03-13 | guix: Strip #:use-module lists....This was obtained by setting up this environment:
guix shell -D guix --with-input=guile@3.0.9=guile-next \
--with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2
-- make -j5
then adding 'unused-module' to (@@ (guix build compiler) %warnings),
building, and checking all the "unused module" warnings and removing
those that were definitely unused.
| Ludovic Courtès |
2023-03-10 | build-system/gnu: Remove 'install-license-files' from '%dist-phases'....* guix/build/gnu-dist.scm (%dist-phases): Delete 'install-license-files'.
| Ludovic Courtès |
2023-03-02 | Merge remote-tracking branch 'savannah/master' into core-updates...Conflicts:
gnu/local.mk
gnu/packages/autotools.scm
gnu/packages/cmake.scm
gnu/packages/gnuzilla.scm
gnu/packages/haskell.scm
gnu/packages/pdf.scm
gnu/packages/python-xyz.scm
gnu/packages/samba.scm
gnu/packages/tex.scm
gnu/packages/tls.scm
gnu/packages/wxwidgets.scm
| Christopher Baines |
2023-02-26 | build: haskell-build-system: Build static executables by default....This is the only way to get reasonably small binaries that don’t pull
in a ton of ghc-* packages.
* guix/build/haskell-build-system.scm (configure): Explicitly
add --enable-static and --disable-executable-dynamic, as well as
-split-sections to configure flags.
| Lars-Dominik Braun |
2023-02-26 | build-system: haskell: Drop default "static" output....* guix/build-system/haskell.scm (lower): Pass outputs to lowered bag.
* guix/build/haskell-build-system.scm (install): Remove static library
moving code.
* gnu/packages/haskell-check.scm (ghc-hunit): Remove "static" output.
* gnu/packages/haskell-crypto.scm (ghc-crypto-api-tests): Likewise.
* gnu/packages/haskell-xyz.scm (ghc-case-insensitive): Likewise.
(ghc-cmdargs): Likewise.
(ghc-conduit): Likewise.
(ghc-fgl): Likewise.
(ghc-haskell-src-exts): Likewise.
(ghc-lib-parser): Likewise.
(ghc-mono-traversable): Likewise.
(ghc-parallel): Likewise.
(ghc-paths): Likewise.
(ghc-profunctors): Likewise.
(ghc-tf-random): Likewise.
(ghc-vector): Likewise.
| Lars-Dominik Braun |
2023-02-26 | build: haskell-build-system: Remove unused linker flags....They were inserted as-is, without expandind variables into binaries.
* guix/build/haskell-build-system.scm (configure): Remove --ghc-option.
| Lars-Dominik Braun |
2023-02-26 | build: haskell-build-system: Process all transitive dependencies....A bug caused install-transitive-deps to stop looping if a dependency
file already existed in the target directory. For Haskell packages
with multiple libraries (like attoparsec) this resulted in missing
dependencies and error messages like this:
The following packages are broken because other packages they depend
on are missing. These broken packages must be rebuilt before they
can be used.
installed package attoparsec-0.14.4 is broken due to missing package
scientific-0.3.7.0-9XG3zUjXOw970JFcruv0cZ
See <https://issues.guix.gnu.org/54729#11>.
* guix/build/haskell-build-system.scm (register): Unconditionally loop
over all tails.
| Lars-Dominik Braun |
2023-02-26 | build: haskell-build-system: Support multiple libraries....Fixes <https://bugs.gnu.org/53655>.
The patch handles correctly the multiple registration of some package using
their own internal sub-libraries. It allows to call 'install-transitive-deps'
multiple times and deals with packages requiring a multiple registration.
* guix/build/haskell-build-system.scm (register)[install-transitive-deps]:
Guard also the destination direction.
[install-config-file]: New procedure.
Co-Authored-by: zimoun <zimon.toutoune@gmail.com>.
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
| Philip Munksgaard |
2023-02-26 | build: haskell-build-system: Remove trailing #t....* guix/build/haskell-build-system.scm (configure, install, setup-compiler,
make-ghc-package-database, install-transitive-deps, check, haddock,
patch-cabal-file, generate-setuphs): Delete trailing #t.
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
| zimoun |
2023-02-12 | build-system: Add tree-sitter-build-system....* guix/build-system/tree-sitter.scm: New module.
* guix/build/tree-sitter-build-system.scm: Likewise.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Document it.
Signed-off-by: Andrew Tropin <andrew@trop.in>
| Pierre Langlois |
2023-02-12 | syscalls: 'with-file-lock' removes lock file upon exit....Fixes <https://issues.guix.gnu.org/57501>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/build/syscalls.scm (call-with-file-lock)
(call-with-file-lock/no-wait): Add call to 'delete-file' in unwind
handler.
| Ludovic Courtès |
2023-01-30 | Merge remote-tracking branch 'origin/master' into core-updates... Conflicts:
doc/guix.texi
gnu/local.mk
gnu/packages/admin.scm
gnu/packages/base.scm
gnu/packages/chromium.scm
gnu/packages/compression.scm
gnu/packages/databases.scm
gnu/packages/diffoscope.scm
gnu/packages/freedesktop.scm
gnu/packages/gnome.scm
gnu/packages/gnupg.scm
gnu/packages/guile.scm
gnu/packages/inkscape.scm
gnu/packages/llvm.scm
gnu/packages/openldap.scm
gnu/packages/pciutils.scm
gnu/packages/ruby.scm
gnu/packages/samba.scm
gnu/packages/sqlite.scm
gnu/packages/statistics.scm
gnu/packages/syndication.scm
gnu/packages/tex.scm
gnu/packages/tls.scm
gnu/packages/version-control.scm
gnu/packages/xml.scm
guix/build-system/copy.scm
guix/scripts/home.scm
| Efraim Flashner |
2023-01-17 | debug-link: Protect against dangling symlinks....Fixes <https://issues.guix.gnu.org/60584>.
Reported by Greg Hogan <code@greghogan.com>
and Sébastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr>.
* guix/build/debug-link.scm (find-elf-files): Wrap 'elf-file?' call in 'catch'.
| Ludovic Courtès |
2023-01-15 | guix: dune-build-system: Do not use `test-target' argument....This lets dune run all tests for a given package.
* guix/build/dune-build-system.scm (check): Do not use `test-target' argument.
* gnu/package/ocaml.scm (ocaml-cohttp)[native-inputs]: Add
ocaml-crowbar.
(ocaml-cudf, opam, ocaml-frontc, ocaml-qcheck, ocaml-qtest)
(ocaml-stringext, ocaml4.07-ppx-tools-versioned, ocaml-result)
(ocaml4.09-result, ocaml5.0-result, ocaml-csv, ocaml-alcotest)
(ocaml4.07-alcotest, ocaml-ssl, ocaml-optint, ocaml-eio)
(ocaml-eio-luv, ocaml-uring, ocaml-eio-linux, ocaml-eio-main)
(ocaml-gen, ocaml-ocp-indent, ocaml-benchmark, ocaml-re)
(ocaml4.07-re, ocaml-ocplib-endian, ocaml-cstruct, ocaml-hex)
(ocaml-ezjsonm, ocaml-uri, ocaml4.07-uri, ocaml-camomile, ocaml-zed)
(ocaml-lambda-term, ocaml-utop, ocaml-ansiterminal, dedukti, ocaml-bindlib)
(ocaml-earley, ocaml-timed, ocaml-yojson, ocaml-gsl, ocaml-ppx-deriving)
(ocaml-ppx-cold, ocaml-ppx-typerep-conv, ocaml-ppx-stable)
(ocaml-ppx-base, ocaml-ppx-disable-unused-warnings, ocaml-ppx-jane)
(ocaml4.07-jane-street-headers, ocaml4.07-bisect-ppx, ocaml-fftw3)
(ocaml-cairo2, lablgtk3, ocaml-lablgtk3-sourceview3, ocaml-bigstringaf)
(ocaml-angstrom, ocaml-uri-sexp, ocaml-cohttp, js-of-ocaml)
(ocaml-monolith, ocaml-crowbar): Remove test-target argument.
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| pukkamustard |
2022-12-20 | kconfig: Streamline comment in 'modify-defconfig'....* guix/build/kconfig.scm (modify-defconfig): Streamline comment.
| Maxim Cournoyer |
2022-12-20 | kconfig: Mostly preserve keys ordering of original defconfig....* guix/build/kconfig.scm (defconfig->alist): Reverse the results of lists
constructed with cons.
| Maxim Cournoyer |
2022-12-20 | kconfig: Move pair->config-string up....* guix/build/kconfig.scm (pair->config-string): Move earlier, to match the
natural dependency of declarations (useful when experimenting at the REPL).
| Maxim Cournoyer |
2022-12-07 | build: gnu-build-system: Remove source from native inputs....Fixes <https://issues.guix.gnu.org/44924>, in a cross-compilation context.
Having the source in inputs when computing search paths can break builds. One
example is a git checkout of the Linux source tree, where the source (a
directory) 'include' subdirectory gets picked up in C_INCLUDE_PATH and causes
conflicts with the includes provided by glibc.
* guix/build/gnu-build-system.scm (set-paths): Remove any "source" native
input.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Maxim Cournoyer |
2022-12-05 | Merge branch 'version-1.4.0' | Ludovic Courtès |
2022-12-02 | syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34....This is a re-implementation of 3c8b6fd94ceb1e898216929e8768fb518dbf1de9
done in a way that works for both glibc >= 2.34 and earlier versions.
* guix/build/syscalls.scm (syscall->procedure): When LIBRARY is true,
fall back to global symbols if (dynamic-link library) fails.
(cherry picked from commit 3f6c32a88fc7a4d707ae1ed8ef3f7bd995461aff)
| Ludovic Courtès |
2022-12-01 | build: kconfig: Add new module to modify defconfig files....* guix/build/kconfig.scm: New file.
* Makefile.am: Register it.
* gnu/packages/bootloaders.scm (make-u-boot-package)
(make-u-boot-sunxi64-package): Add DEFCONFIGS and CONFIGS arguments. Remove
dead code.
(u-boot-am335x-boneblack, u-boot-pinebook)
(u-boot-novena,u-boot-rockpro64-rk3399): Simplify packages by using the new
keyword arguments.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Stefan |
2022-11-20 | file-systems: Always do recursive bind mounts....Fixes <https://issues.guix.gnu.org/59185>.
* guix/build/syscalls.scm (MS_REC): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Set MS_REC bit when
bind-mounting.
| Ricardo Wurmus |
2022-11-11 | build-system/dub: Avoid usage of (guix build syscalls)....* guix/build/dub-build-system.scm (configure): Use MKDTEMP instead of MKDTEMP!.
| Marius Bakke |
2022-11-11 | build-system/clojure: Avoid usage of (guix build sycalls)....* guix/build/clojure-build-system.scm (reset-class-timestamps): Use MKDTEMP
from Guile core instead of MKDTEMP!.
| Marius Bakke |
2022-11-11 | build-system/ant: Avoid usage of (guix build syscalls)....* guix/build/ant-build-system.scm (strip-jar-timestamps): Use MKDTEMP from
Guile core rather than MKDTEMP!.
* guix/build/java-utils.scm (install-jar-file-with-pom): Likewise.
| Marius Bakke |
2022-11-07 | syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34....This is a re-implementation of 3c8b6fd94ceb1e898216929e8768fb518dbf1de9
done in a way that works for both glibc >= 2.34 and earlier versions.
* guix/build/syscalls.scm (syscall->procedure): When LIBRARY is true,
fall back to global symbols if (dynamic-link library) fails.
| Ludovic Courtès |