Age | Commit message (Expand) | Author |
2021-05-09 | Merge branch 'master' into core-updates... 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
| Marius Bakke |
2021-05-08 | build-system: asdf: Work around package-name->name+version bug....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.
| Guillaume Le Vaillant |
2021-05-05 | download: Restore error reporting....Normal error reporting was disrupted by the introduction of
Disarchive in commit fbc2a52a32ddc664db8ebab420c2e17b1432c744. In
particular, running 'guix download' would succeed with a partially
downloaded file.
* guix/build/download.scm (disarchive-fetch/any): Return '#f' when
Disarchive cannot be found, the specification cannot be found, or
Disarchive fails due to an error.
| Timothy Sample |
2021-05-05 | build-system: emacs: Clarify %install-dir....The old comment is no longer adequate, see
<https://lists.gnu.org/archive/html/guix-patches/2021-05/msg00113.html>.
* guix/build/emacs-build-system.scm (%install-dir): Adjust comment to better
reflect usage of this variable.
| Leo Prikler |
2021-05-04 | build-system/copy: Avoid use of 'set!'....This fixes the copy-build-system on powerpc-linux.
* guix/build/copy-build-system.scm (install)[install]: Don't clobber
'target' variable and move variable assignation into the let statement.
| Efraim Flashner |
2021-05-01 | build-system: emacs: Use subdirectories again....With this, Emacs libraries are installed in the ELPA_NAME-VERSION subdirectory
of site-lisp and potential subdirectories should no longer collide.
* guix/build/emacs-build-system.scm (add-source-to-load-path): Rename to...
(expand-load-path): ... this. Also expand lone subdirectories of site-lisp.
(%standard-phases): Adjust accordingly.
(elpa-directory): New variable. Export it publicly for use in other build
systems.
(build, patch-el-files, make-autoloads): Use ELPA name and version to
construct subdirectories of %install-dir.
(install): Install in subdirectory.
| Leo Prikler |
2021-04-29 | download: Use Disarchive as a last resort....This is a fixed version of 66b14dccdd0d83c875ce3a8d50ceab8b6f0a3ce2,
which was reverted in e74250c3c535b75dd2225a26df51febb7ed94654.
* guix/download.scm (%disarchive-mirrors): New variable.
(%disarchive-mirror-file): New variable.
(built-in-download): Add 'disarchive-mirrors' keyword argument and
pass its value along to the 'builtin:download' derivation.
(url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'.
* guix/scripts/perform-download.scm (perform-download): Read
Disarchive mirrors from the environment and pass them to
'url-fetch'.
* guix/build/download.scm (disarchive-fetch/any): New procedure.
(url-fetch): Add 'disarchive-mirrors' keyword argument, use it to
make a list of URIs, and use the new procedure to fetch the file if
all other methods fail.
* build-aux/build-self.scm (build-program)[select?]: Exclude '(guix
build download)'.
* guix/self.scm (compiled-guix)[*core-modules*]: Add 'guile-json' to
the list of extensions.
| Timothy Sample |
2021-04-28 | Revert "download: Use Disarchive as a last resort."...This reverts commit 66b14dccdd0d83c875ce3a8d50ceab8b6f0a3ce2, which broke
'guix pull'.
| Timothy Sample |
2021-04-27 | download: Use Disarchive as a last resort....* guix/download.scm (%disarchive-mirrors): New variable.
(%disarchive-mirror-file): New variable.
(built-in-download): Add 'disarchive-mirrors' keyword argument and
pass its value along to the 'builtin:download' derivation.
(url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'.
* guix/scripts/perform-download.scm (perform-download): Read
Disarchive mirrors from the environment and pass them to
'url-fetch'.
* guix/build/download.scm (disarchive-fetch/any): New procedure.
(url-fetch): Add 'disarchive-mirrors' keyword argument, use it to
make a list of URIs, and use the new procedure to fetch the file if
all other methods fail.
| Timothy Sample |
2021-04-22 | utils: wrap-program: Refuse to wrap .X-real files....* guix/build/utils.scm (wrap-program): Error if wrap-program was
mistakenly passed a .X-real file. This prevents and forces us to fix
cases where a double wrapped ..X-real-real file is created, such as can
be seen with: "find /gnu/ -iname '.*-real-real'".
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Brendan Tildesley |
2021-04-22 | qt-build-system: Don't double wrap programs....* guix/build/qt-build-system.scm (wrap-all-programs): Excluded wrapped
programs from the list of files to wrap if they exist to avoid double
wrapping.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Brendan Tildesley |
2021-04-22 | rakudo-build-system: Don't double wrap programs....* guix/build/rakudo-build-system.scm (wrap): Don't return any potential
already wrapped-programs in the list-of-files to wrap.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Brendan Tildesley |
2021-04-22 | glib-or-gtk-build-system: Don't double wrap programs....* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): If a
package definition was modified to insert an additional wrap phase
before glib-or-gtk...'s wrap phase instead of after, glib-or-gtk...'s
wrap phase will double wrap the .X-real file from the earlier wrap
phase. Filtering out such wrapped programs means these .X-real files
should fix this and mean packagers don't have to worry about ensuring
their wrap phases are put afterwards.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Brendan Tildesley |
2021-04-22 | utils: Rename 'wrapper?' to 'wrapped-program?'....* guix/build/utils.scm (wrap-program): The wrapper? procedure is
incorrectly named as it actually checks to see if prog is the
original program that was moved, not the wrapper.
* guix/build/python-build-system: (wrap): Use renamed wrapped-program?.
* gnu/packages/ebook.scm (calibre)[arguments]: Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Brendan Tildesley |
2021-04-22 | gremlin: 'elf-dynamic-info' returns a file name rathern than a dynamic entry....* guix/build/gremlin.scm (elf-dynamic-info): Return the dynamic entry
value, not the dynamic entry.
* tests/gremlin.scm ("elf-dynamic-info-soname"): New test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Dion Mendel |
2021-04-16 | Merge remote-tracking branch 'origin/master' into core-updates... 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
| Efraim Flashner |
2021-04-15 | grafts: Support rewriting UTF-16 and UTF-32 store references....Partially fixes <https://bugs.gnu.org/33848>.
* guix/build/graft.scm (replace-store-references): Add support for
finding and rewriting UTF-16 and UTF-32 store references.
* tests/grafts.scm: Add tests.
| Mark H Weaver |
2021-04-10 | build-system/qt: Fix wrapping with QTWEBENGINEPROCESS_PATH....This is a follow up commit to 06eb21856f, which added QTWEBENGINEPROCESS_PATH
to the list of wrapped variables. Unfortunately it wouldn't be set, as its
value is a plain file rather than a directory, and the code only checked for
directories.
* guix/build/qt-build-system.scm (variables-for-wrapping): Define a file type
entry for each variable definition, and use it to determine if we should look
for directories versus plain files.
| Maxim Cournoyer |
2021-04-09 | build-system/gnu: Give #:bootstrap-scripts a valid default....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.
| Ludovic Courtès |
2021-04-08 | build-system/qt: Wrappers set 'QTWEBENGINEPROCESS_PATH' if needed....Suggested by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* guix/build/qt-build-system.scm (variables-for-wrapping): Add
"QTWEBENGINEPROCESS_PATH".
| Ludovic Courtès |
2021-04-08 | build-system/qt: Wrappers only include relevant directories to XDG_DATA_DIRS....Fixes <https://bugs.gnu.org/47569>.
Previously the wrapper's XDG_DATA_DIRS would contain any input that had
a /share sub-directory, which is usually all build-time inputs.
* guix/build/qt-build-system.scm (variables-for-wrapping)[collect-sub-dirs]:
Add 'selectors' parameter and honor it. Change caller to handle
selectors. Add selectors for /share.
| Ludovic Courtès |
2021-04-02 | build-system: Rewrite node build system....* 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>
| Jelle Licht |
2021-03-29 | build-system/julia: Turn on deprecation warnings....* guix/build/julia-build-system.scm (check): Set option '--depwarn=yes'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-03-24 | Merge remote-tracking branch 'origin/master' into core-updates | Efraim Flashner |
2021-03-23 | syscalls: Fix RNDADDTOENTCNT on powerpc64le-linux....This fixes the failing test add-to-entropy-count in tests/syscalls.scm on
powerpc64le-linux.
* guix/build/syscalls.scm (RNDADDTOENTCNT): When %host-type starts with
"powerpc64le", set this to #x80045201. Otherwise, set it to #x40045201 as
before.
| Chris Marusich |
2021-03-23 | syscalls: Fix clone on powerpc64le-linux....This makes the clone procedure work correctly and fixes some test failures on
powerpc64le-linux, including tests/containers.scm.
* guix/build/syscalls.scm (clone): Add an entry for ppc64le.
| Chris Marusich |
2021-03-19 | download: 'tls-wrap' treats premature TLS termination as EOF....This is a backport of Guile commit
076276c4f580368b4106316a77752d69c8f1494a.
* guix/build/download.scm (tls-wrap)[read!]: Wrap 'get-bytevector-n!'
call in 'catch' and handle 'error/premature-termination' GnuTLS errors.
| Ludovic Courtès |
2021-03-15 | syscalls: mounts: Fix a matching bug....On some systems, the columns in /proc/self/mountinfo look like this:
23 28 0:21 / /proc rw,nosuid,nodev,noexec,relatime shared:11 - proc proc rw
Before this change, the mounts procedure was written with the assumption that
the type and source could always be found in columns 8 and 9, respectively.
However, the proc(5) man page explains that there can be zero or more optional
fields starting at column 7 (e.g., "shared:11" above), so this assumption is
false in some situations.
* guix/build/syscalls.scm (mounts): Update the match pattern to use ellipsis
to match zero or more optional fields followed by a single hyphen. Remove the
trailing ellipsis, since multiple ellipses are not allowed in the same level.
The proc(5) man page indicates that there are no additional columns, so it is
probably OK to match an exact number of columns at the end like this.
| Chris Marusich |
2021-03-15 | build-system/cargo: Don't clobber packaged crates while building....This fixes an issue where two packages share a common dependent.
* guix/build/cargo-build-system.scm (unpack-rust-crates): Only copy rust
crates into the target directory if there isn't one already there with
the same name.
| Efraim Flashner |
2021-03-14 | build-system/cargo: Propagate crates across builds....* 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.
| Efraim Flashner |
2021-03-11 | download: 'tls-wrap' returns an unbuffered custom port....Partly fixes <https://bugs.gnu.org/46967>.
* guix/build/download.scm (tls-wrap)[unbuffered]: New procedure.
Pass the result of 'make-custom-binary-input/output-port' to
'unbuffered'.
| Ludovic Courtès |
2021-03-11 | download: 'tls-wrap' avoids intermediate buffer....* guix/build/download.scm (tls-wrap)[read!]: Read straight into BV
instead of calling 'get-bytevector-some' and 'unget-bytevector'.
| Ludovic Courtès |
2021-03-10 | syscalls: Define the ST_* constants and add 'statfs-flags->mount-flags'....* guix/build/syscalls.scm (linux?): New variable.
(define-statfs-flags): New macro.
(ST_RDONLY, ST_NOSUID, ST_NODEV, ST_NOEXEC, ST_SYNCHRONOUS)
(ST_MANDLOCK, ST_WRITE, ST_APPEND, ST_IMMUTABLE, ST_NOATIME)
(ST_NODIRATIME, ST_RELATIME): New variables.
(statfs-flags->mount-flags): New procedure.
| Ludovic Courtès |
2021-03-06 | Merge branch 'master' into core-updates | Christopher Baines |
2021-02-25 | syscalls: Add 'mounts' and the <mount> record type....* guix/build/syscalls.scm (<mount>): New record type.
(option-string->mount-flags, mount-flags)
(octal-decode, mounts): New procedures.
(mount-points): Rewrite in terms of 'mount'.
* tests/syscalls.scm ("mounts"): New test.
| Ludovic Courtès |
2021-02-25 | syscalls: Define MS_RELATIME....* guix/build/syscalls.scm (MS_RELATIME): New variable.
| Ludovic Courtès |
2021-02-24 | guix: renpy-build-system: Quote data directory....This prevents generated launchers and desktop files from inadvertently
crashing if the directory name contains a space.
* gnu/build/renpy-build-system.scm (install, install-desktop-file): Use ~s
to format data directory.
| Leo Prikler |
2021-02-22 | profiles: Fix typo in manifest comment....* guix/build/profiles.scm (build-profile): Fix typo.
| Ludovic Courtès |
2021-02-11 | Merge branch 'master' into core-updates | Danny Milosavljevic |
2021-02-07 | build-system: Add renpy-build-system....* 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.
| Leo Prikler |
2021-02-04 | build/gnu: Only make source checkout files writable....This is a followup commit to 6129ebddbd.
It was suggested by Ludovic in #guix that it's probably safer to leave files
extracted from a tarball alone. While at it, guard against possible
exceptions that can happen in the presence of dangling symbolic links, for
example.
* guix/build/gnu-build-system.scm (unpack): Wrap the make-file-writable call
in a false-if-exception handler. Move the for-each loop under the
file-is-directory? cond branch.
| Maxim Cournoyer |
2021-02-04 | build/gnu: Ensure the files are writable after the unpack phase....Fixes <https://issues.guix.gnu.org/43015>.
* guix/build/gnu-build-system.scm (unpack): Call 'make-file-writable' on every
source file.
| Maxim Cournoyer |
2021-02-03 | build: python: Fix build phases ordering....The wrap phase was happening before the installed site location was added to
GUIX_PYTHONPATH, causing wrapped commands to not find their own Python
libraries.
* guix/build/python-build-system.scm (%standard-phases): Explicit the
sequential ordering of phases using add-after directives, so that the wrap
phase occurs after the add-install-to-pythonpath and add-install-to-path
phases.
| Maxim Cournoyer |
2021-02-03 | Merge branch 'master' into core-updates | Christopher Baines |
2021-02-01 | build/python: Add a sanity check phase....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.
| Lars-Dominik Braun |
2021-02-01 | build/python: Adjust wrap phase to use the new GUIX_PYTHONPATH....* guix/build/python-build-system.scm (wrap): Adjust to use the new
GUIX_PYTHONPATH. Remove trailing #t.
| Maxim Cournoyer |
2021-02-01 | build/python: Add the installation bin directory to PATH....This also to reduce the need for boilerplate code found in check phase
overrides.
* guix/build/python-build-system.scm (add-install-to-path): New phase.
(%standard-phases): Order it before the check phase.
| Maxim Cournoyer |
2021-02-01 | build/python: Always add the install prefix to the Guix PYTHONPATH....This is to remove the need for common boilerplate code in check phase
overrides.
* guix/build/python-build-system.scm
(add-installed-pythonpath): Streamline. This phase depends on the presence of
a "python" input; thus GUIX_PYTHONPATH is guaranteed to be defined. Update doc.
(add-install-to-pythonpath): New phase.
(%standard-phases): Order it before the check phase.
| Maxim Cournoyer |
2021-02-01 | build/python: Replace PYTHONPATH by GUIX_PYTHONPATH....* guix/build/python-build-system.scm (add-installed-pythonpath): Replace
"PYTHONPATH" by "GUIX_PYTHONPATH".
| Maxim Cournoyer |
2021-02-01 | gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH....Using PYTHONPATH as a mean to discover the Python packages had the following
issues:
1. It is not versioned, so different versions of Python would clash if
installed in a shared profile.
2. It would interfere with the host Python site on foreign
distributions, sometimes preventing a a user to login their GDM
session (!).
3. It would take precedence over user installed Python packages
installed through pip.
4. It would leak into Python virtualenvs, which are supposed to create
isolated Python environments.
This changes fixes the above issues by making use of a sitecustomize.py
module. The newly introduced GUIX_PYTHONPATH environment variable is read
from the environment, filtered for the current Python version of the
interpreter, and spliced in 'sys.path' just before Python's own site location,
which provides the expected behavior.
* gnu/packages/aux-files/python/sitecustomize.py: New file.
* Makefile.am: Register it.
* gnu/packages/python.scm (customize-site)
(guix-pythonpath-search-path): New procedures.
(python-2.7)[phases]{install-sitecustomize.py}: New phase.
[native-inputs]{sitecustomize.py}: New input.
[native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH.
(python-3.9)[native-search-paths]: Likewise.
[phases]{install-sitecustomize}: Override with correct version.
[native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH.
* gnu/packages/commencement.scm (python-boot0):
[phases]{install-sitecustomize}: Likewise.
[native-inputs]{sitecustomize.py}: New input.
[native-search-paths]: Replace PYTHONPATH with GUIX_PYTHONPATH.
* guix/build/python-build-system.scm (site-packages): Do not add a trailing
'/'.
squash! gnu: python: Replace PYTHONPATH by GUIX_PYTHONPATH.
| Maxim Cournoyer |