Age | Commit message (Expand) | Author |
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 |
2022-11-07 | Revert "syscalls: Adjust for glibc 2.34 and later."...This reverts commit 3c8b6fd94ceb1e898216929e8768fb518dbf1de9, which
would break bindings on glibc < 2.34 where those symbols are in
"libutil.so".
| Ludovic Courtès |
2022-10-27 | build-system/pyproject: Always run tests verbosely for supported backends....* guix/build-system/pyproject.scm (pyproject-build): Default to '() instead of
#false for TEST-FLAGS.
* guix/build/pyproject-build-system.scm (check): Unconditionally enable
verbose test flags.
* doc/guix.texi (Build Systems): Document this change.
* gnu/packages/fontutils.scm (python-glyphslib)[arguments]: Remove verbosity
from #:test-flags.
* gnu/packages/pdf.scm (python-pydyf, weasyprint)[arguments]: Likewise.
* gnu/packages/python-web.scm (python-openapi-spec-validator)[arguments]: Likewise.
* gnu/packages/python-xyz.scm (python-path, python-tempora)[arguments]: Likewise.
| Marius Bakke |
2022-10-27 | build-system/pyproject: Adjust indentation....* guix/build/pyproject-build-system.scm: Adjust indentation.
| Marius Bakke |
2022-10-27 | build-system: Add pyproject-build-system....This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.
* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.
Co-authored-by: Marius Bakke <marius@gnu.org>
| Lars-Dominik Braun |
2022-10-25 | Merge remote-tracking branch 'origin/master' into staging | Efraim Flashner |
2022-10-20 | build-system/cargo: Unpack crates less verbosely....* guix/build/cargo-build-system.scm (configure): Print the crate being
unpacked but don't print the contents of each crate.
| Efraim Flashner |
2022-10-20 | syscalls: Define 'MS_NODIRATIME' and recognize "nodiratime"....Fixes <https://issues.guix.gnu.org/58663>.
This is a followup to b665dd4a9902b5722b9e06fd89c203e2221b19e0 and
dcb640f02b1f9590c3bd4301a22bf31bd60c56d4, allowing "nodiratime" to be
preserved for bind mounts.
* guix/build/syscalls.scm (MS_NODIRATIME): New variable.
(option-string->mount-flags): Recognize it.
(statfs-flags->mount-flags): Likewise.
| Ludovic Courtès |
2022-10-14 | guix: emacs-utils: Support disabling native-compilation....* guix/build/emacs-utils.scm (emacs-batch-disable-compilation): Add ‘native?’
argument and honour it.
| Liliana Marie Prikler |
2022-10-13 | build: emacs-utils: Fix `emacs-substitute-variables'....* guix/build/emacs-utils.scm (emacs-substitute-variables): Fix the regexp
matching variable name.
With end-of-word regexp ("\>"), the previous regexp may match the prefix of
a variable only, effectively deleting the rest of its name.
For example,
(emacs-substitute-variables "file.el"
("foo" ...))
could match (defvar foo-bar ...) and replace it with (defvar foo ...).
| Nicolas Goaziou |
2022-10-09 | build-system/gnu: Fix patch-dot-desktop-files regexp....When patching .desktop files, Exec= values beginning with "/", (or
spaces or newline characters) will result in BINARY matching the empty
string. Changing "*", meaning 0 or more, to "+", meaning 1 or more,
ensures it will match a basename of at least length 1, or nothing.
* guix/build/gnu-build-system.scm (patch-dot-desktop-files):
Substitute ‘+’ for ‘*’.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
| Brendan Tildesley |
2022-09-27 | Merge branch 'staging' into core-updates...Conflicts resolved in:
gnu/local.mk
gnu/packages/cran.scm
gnu/packages/gnome.scm
gnu/packages/gtk.scm
gnu/packages/icu4c.scm
gnu/packages/java.scm
gnu/packages/machine-learning.scm
gnu/packages/tex.scm
| Maxim Cournoyer |
2022-09-26 | debug-link: Clarify what CRC is....* guix/build/debug-link.scm: Clarify "CRC"; update bug URL.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| jgart |
2022-09-15 | Merge branch 'staging' into core-updates...Conflicts resolved in:
gnu/local.mk
gnu/packages/cmake.scm
gnu/packages/glib.scm
gnu/packages/gnome.scm
gnu/packages/gtk.scm
gnu/packages/sdl.scm
pango-next, vala-next and librsvg-bootstrap were removed in the process.
| Maxim Cournoyer |
2022-09-11 | build-system: emacs: Use new function for autoloads generation...* guix/build/emacs-utils.scm (emacs-generate-autoloads): Use
'loaddefs-generate' to create autoloads instead of
'update-directory-autoloads' if we are using a new enough Emacs
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Morgan Smith |
2022-09-11 | build-system: emacs: Use native compilation....* guix/build/emacs-build-system.scm (add-install-to-native-load-path):
New variable.
(build): Replace ‘emacs-byte-compile-directory’ with ‘emacs-compile-directory’.
Delete already compiled files in the working directory prior to compilation.
(%standard-phases): Add ‘add-install-to-native-load-path’ after
‘expand-load-path’.
| Liliana Marie Prikler |
2022-09-11 | guix: emacs-utils: Add emacs-compile-directory....* guix/build/emacs-utils.scm (emacs-compile-directory): New variable.
| Liliana Marie Prikler |
2022-09-08 | syscalls: Adjust for glibc 2.34 and later....* guix/build/syscalls.scm (openpty, login-tty): Remove #:library argument, as
these functions have been moved to libc.so.
| Marius Bakke |
2022-09-08 | Merge branch 'staging' into core-updates | Marius Bakke |
2022-09-08 | syscalls: Avoid repeated calls to 'syscall->procedure'....Commit 7df4d3465d305271d4fdf4e6f886a248d63b82c4 and others changed
'mount', 'umount', & co. so they would call 'syscall->procedure' at each
call. This change reverts to the previous behavior, where
'syscall->procedure' is called once.
* guix/build/syscalls.scm (mount, umount, reboot, load-linux-module):
Call 'syscall->procedure' only once.
| Ludovic Courtès |
2022-09-07 | profiles: Implicitly set GUIX_EXTENSIONS_PATH....* guix/build/profiles.scm (manifest-sexp->inputs+search-paths):
Always return a search path for GUIX_EXTENSIONS_PATH.
* guix/search-paths.scm ($GUIX_EXTENSIONS_PATH): New variable.
This allows Guix to find extensions without any need for users to
set GUIX_EXTENSIONS_PATH manually.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| (unmatched-parenthesis |
2022-09-02 | guix: build: Factor out default collision-resolver....This prepares the stage for new collision resolvers without changing the
underlying semantics too much.
* guix/build/union.scm (resolve+warn-if-harmful): New variable.
(warn-about-collision): Rename to...
(resolve-collision/default): ... this. Implement in terms of
resolve+warn-if-harmful.
(union-build): Adjust accordingly.
* guix/gexp.scm (directory-union): Likewise.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Attila Lendvai |
2022-09-02 | guix: build: Avoid using magic literals in the code for hash length....* guix/build/utils.scm (%store-hash-string-length): New constant.
(store-path-prefix-length): Factor out the calculation of the total store
prefix length.
* guix/build/graft.scm (hash-length): Use it.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Attila Lendvai |
2022-09-02 | guix: build: Promote local define-inline to a define-constant util....* guix/build/utils.scm: Moved/renamed define-inline from grafts.scm to an
exported define-constant util.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| Attila Lendvai |
2022-08-11 | Merge branch 'staging' into core-updates | Marius Bakke |
2022-08-10 | gnu: system: file-systems: Add shared flag....* gnu/build/file-systems.scm (mount-flags->bit-mask, mount-file-system):
Handle shared flag.
* gnu/system/file-systems.scm (invalid-file-system-flags): Add shared to known
flags.
* guix/build/syscalls.scm (MS_SHARED): New variable.
* doc/guix.texi (File Systems): Document shared flag.
| Oleg Pykhalov |
2022-08-04 | build: qt-utils: Fix another regression....This fixes another regression introduced with
1f466ed6be932526fc69e72ffd50390691d0d382, which affected the packages bitmask,
hime, hime, nimf and vorta.
The fix is to provide a default qt-major-version when #:qtbase is missing,
such as when borrowing the qt-wrap phase in a package not using the Qt build
system.
* guix/build/qt-utils.scm (wrap-all-qt-programs)[qt-major-version]: Fall-back
to %default-qt-major-version when #:qtbase is #f.
Reported-by: John Kehayias <john.kehayias@protonmail.com> and others.
| Maxim Cournoyer |
2022-08-03 | download: Do not wrap TLS port on GnuTLS >= 3.7.7....The custom input/output port wrapping the TLS session record port would
introduce overhead, and it would also prevent its uses in a non-blocking
context--e.g., with Fibers. The port close mechanism added in GnuTLS
3.7.7 allows us to get rid of that wrapper.
* guix/build/download.scm (wrap-record-port-for-gnutls<3.7.7): New
procedure, with code formerly in 'tls-wrap'.
(tls-wrap): Check for 'set-session-record-port-close!' and use it when
available; otherwise call 'wrap-record-port-for-gnutls<3.7.7'.
| Ludovic Courtès |
2022-08-03 | build-system: asdf: Add asd-operation parameter....The 'asd-operation' parameter can be used to specify the ASDF operation to use
in the build phase. It's default value is "load-system".
* guix/build-system/asdf.scm (package-with-build-system, asdf-build): Add
'asd-operation' parameter.
* guix/build/asdf-buid-system.scm (build): Add 'asd-operation' parameter and
use it.
* guix/build/lisp-utils.scm (compile-systems): Add 'asd-operation' parameter
and use it.
| Guillaume Le Vaillant |
2022-08-03 | build-system: asdf: Let ASDF locate the .asd files....This approach has many benefits:
- It simplifies the build system.
- The package definitions are easier to write.
- It fixes a bug with systems that call asdf:clear-system which would cause
the load to fail. See for instance test systems using Prove.
* guix/build-system/asdf.scm (package-with-build-system): Remove 'asd-files'
and replace 'test-asd-file' by 'asd-test-systems'.
(lower): Same.
* guix/build/asdf-build-system.scm (source-asd-file): Remove since ASDF does
it better than us.
(find-asd-files): Same.
(build): Remove unused asd-files argument.
(check): Remove asd-files argument and replace asd-systems by
asd-test-systems.
* guix/build/lisp-utils.scm (compile-systems): Call to ASDF to find the
systems.
(test-system): Same.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
| Pierre Neidhardt |
2022-08-03 | guix: build: Switch from asdf:compile-system to asdf:load-system....According to the ASDF manual:
This will make sure all the files in the system are compiled, but not
necessarily load any of them in the current image; on most systems, it
will _not_ load all compiled files in the current image. This function
exists for symmetry with 'load-system' but is not recommended unless you
are writing build scripts and know what you're doing.
* guix/build/lisp-utils.scm (compile-systems): Switch from asdf:compile-system
to asdf:load-system.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
| Pierre Neidhardt |
2022-08-01 | download: 'url-fetch' closes its HTTP/HTTPS port....* guix/build/download.scm (url-fetch)[fetch]: In the http/https case,
close PORT before returning.
| Ludovic Courtès |
2022-07-31 | build: qt: Add qtbase argument and wrap Qt environment variables exactly....* guix/build-system/qt.scm (default-qtbase): New variable.
(lower) <#:qtbase>: Add argument...
[build-inputs]: ... and propagate it here.
(qt-build): Add qtbase argument.
(qt-cross-build): Likewise.
* guix/build/qt-utils.scm (%default-qt-major-version): New variable.
(variables-for-wrapping): Add qt-major-version argument, and use it to format
the various path prefixes. Wrap QT environment variables exactly.
(wrap-qt-program*): Add qt-major-version argument, and pass it to
variables-for-wrapping.
(wrap-qt-program): Add qt-major-version argument, and pass it to
wrap-qt-program*.
(wrap-all-qt-programs): Add qtbase argument, and extract the major version
from it, passing it to wrap-qt-program*.
| Maxim Cournoyer |
2022-07-27 | Merge branch 'staging' into core-updates | Marius Bakke |
2022-07-22 | Merge branch 'staging' into core-updates | Marius Bakke |
2022-07-23 | gnu: clojure: Update to 1.11.1....This patch updates Clojure to 1.11.1. It also adds the 'reset-class-timestamps
phase to the Clojure build system.
This phase makes sure the timestamp of compiled class files is set to a later
point in time than the timestamp of the corresponding Clojure source files. If
the timestamps of the class and source files are the same, the Clojure
compiler will compile the sources again which can lead to issues. This problem
has been discussed here [1]. The suggested solution was to keep/adjust the
timestamps of the class files.
[1] https://www.mail-archive.com/clojure@googlegroups.com/msg99928.html
* gnu/packages/clojure.scm (clojure): Update to 1.11.1 and update all of
LIBRARIES accordingly.
[arguments]: In 'unpack-library-sources' phase, copy from
"core-specs-alpha-src" and "spec-alpha-src" as well. Add
phases 'closure-spec-skip-macros', 'clojure-spec-compile',
'maven-classpath-properties', and 'reset-class-timestamps'.
* guix/build/clojure-build-system.scm (regular-jar-file?)
(reset-class-timestamps): New procedures.
(%standard-phases): Add 'reset-class-timestamps' phase.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| r0man |
2022-07-08 | profiles: Support the creation of profiles with version 3 manifests....* guix/profiles.scm (%manifest-format-version): New variable.
(manifest->gexp): Add optional 'format-version' parameter.
[optional, entry->gexp]: Honor it.
(profile-derivation): Add #:format-version parameter and honor it.
(<profile>)[format-version]: New field.
(profile-compiler): Honor it.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths): Support
both versions 3 and 4. Remove unused 'properties' variable.
* tests/profiles.scm ("profile-derivation format version 3"): New test.
| Ludovic Courtès |
2022-07-01 | profiles: Do not repeat entries in 'manifest' file....Fixes <https://issues.guix.gnu.org/55499>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
With this change, the manifest file created for:
guix install r r-seurat r-cistopic r-monocle3 r-cicero-monocle3 r-assertthat
goes from 5.7M to 176K. Likewise, on this profile, wall-clock time of:
GUIX_PROFILING=gc guix package -I
goes from 0.7s to 0.1s, with heap usage going from 55M to 9M.
* guix/profiles.scm (manifest->gexp)[optional]: New procedure.
[entry->gexp]: Turn into a monadic procedure. Return a 'repeated' sexp
if ENTRY was already visited before.
Adjust caller accordingly. Bump manifest version.
(sexp->manifest)[sexp->manifest-entry]: Turn into a monadic procedure.
Add case for 'repeated' nodes. Add each entry to the current state
vhash.
Add clause for version 4 manifests.
[sexp->manifest-entry/v3]: New procedure, with former
'sexp->manifest-entry' code.
* tests/profiles.scm ("deduplication of repeated entries"): New test.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths)[let-fields]:
New macro.
Use it. Expect version 4. Add clause for 'repeated' nodes.
| Ludovic Courtès |
2022-06-27 | Merge branch 'master' into core-updates | Marius Bakke |
2022-06-25 | utils: Make switch-symlinks robust against interruption....* guix/build/utils.scm (switch-symlinks): Delete pivot link if it already
exists.
Co-authored-by: Maxime Devos <maximedevos@telenet.be>
| Arun Isaac |
2022-06-25 | utils: Move switch-symlinks to (guix build utils)....* guix/utils.scm (switch-symlinks): Move to ...
* guix/build/utils.scm (switch-symlinks): ... here.
* guix/profiles.scm, guix/scripts/home.scm, guix/scripts/package.scm: Import
switch-symlinks from (guix build utils).
* guix/scripts/system/reconfigure.scm (switch-system-program): Import (guix
build utils) in G-expression.
| Arun Isaac |
2022-06-22 | python-build-system: Fix typo in module-level comment paragraph....* guix/build/python-build-system.scm: Fix typo in comment paragraph.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| jgart |
2022-06-22 | Merge branch master into core-updates | Ludovic Courtès |