me
/
guix
Archived
1
0
Fork 0
Commit Graph

6809 Commits (051a6068b603e809ef65b86d7f993e7a302733bb)

Author SHA1 Message Date
Ludovic Courtès 3f6c32a88f
syscalls: Adjust for lack of 'libutil.so' on glibc >= 2.34.
This is a re-implementation of 3c8b6fd94c
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.
2022-11-07 22:26:54 +01:00
Ludovic Courtès c9984bfc50
Revert "syscalls: Adjust for glibc 2.34 and later."
This reverts commit 3c8b6fd94c, which
would break bindings on glibc < 2.34 where those symbols are in
"libutil.so".
2022-11-07 22:25:33 +01:00
Brendan Tildesley 685110045c
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>
2022-10-09 02:00:00 +02:00
Maxime Devos 77759234a3
build-system: Fix uses of #:strip-flags and #:strip-directories.
This fixes a bug introduced in ccc2658e2a,
reported at <https://issues.guix.gnu.org/issue/58384>.

Tested with "./pre-inst-env guix build openjpeg-data".

Fixes: https://issues.guix.gnu.org/issue/58384

* guix/build-system/copy.scm (copy-build): 'strip-flags' and
'#:strip-directories' are G-exps, not S-exps, so don't use sexp->gexp.
* guix/build-system/cmake.scm (copy-build): Likewise.
* guix/build-system/glib-or-gtk.scm
(glib-or-gtk-build,glib-or-gtk-cross-build): Likewise.
* guix/build-system/maven.scm (maven-build): Likewise.
* guix/build-system/meson.scm
(meson-build,meson-cross-build): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-10-09 18:53:32 +02:00
Ludovic Courtès ccc2658e2a
build-system: Factorize 'strip' flags and directories.
Previously only 'gnu-build-system' would default to "--strip-unneeded",
since commit e0f31baacc6ad30096a332b69433c85f5830bb2c; most other build
systems would default to "--strip-debug".

This change brings consistency.

* guix/build-system/gnu.scm (%strip-flags, %strip-directories): Export.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Use them.
* guix/build-system/copy.scm (copy-build): Likewise.
* guix/build-system/dune.scm (dune-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build)
(glib-or-gtk-cross-build): Likewise.
* guix/build-system/maven.scm (maven-build): Likewise.
* guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise.
* guix/build-system/ocaml.scm (ocaml-build): Likewise.
* guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise.
2022-10-08 14:49:56 +02:00
Maxim Cournoyer 990a4822f1
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
2022-09-27 15:59:30 -04:00
jgart 172207924e
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>
2022-09-26 23:29:37 +02:00
Maxime Devos 55d4200002
gnu-maintenance: Remove unused procedures.
* guix/gnu-maintenance.scm (url-prefix-rewrite, adjusted-upstream-source):
Remove.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:37 +02:00
Maxime Devos d9b8169a9f
gnu-maintenance: Simplify latest-kernel.org-release.
As latest-html-release now produces mirror:// URIs where possible,
the additional post-processing is not necessary anymore.

As a test, revert the dtc package back to 1.6.0 and try updating 'gash',
the mirror:// URI remains.

* gnu-maintenance.scm (latest-kernel.org-release): Do not call
adjusted-upstream-source on the result.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:37 +02:00
Maxime Devos 60474b5291
download: Add a kernel.org mirror.
Add the mirror from (guix gnu-maintenance) to make the simplified
linux.org updater (of a later commit) work.

* download.scm (%mirrors)[kernel.org]: Add mirrors.edge.kernel.org mirror.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:36 +02:00
Maxime Devos e96f380fd4
gnu-maintenance: Simplify latest-savannah-release.
As latest-html-release now produces mirror:// URIs where possible,
the additional post-processing is not necessary anymore.

As a test, try updating 'gash', the mirror:// URI remains.

* gnu-maintenance.scm (latest-savannah-release): Do not call
adjusted-upstream-source on the result.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:36 +02:00
Maxime Devos 6c16de72de
download: Switch savannah mirrors to HTTPS URLs.
The URI scheme used for nongnu.freemirror.org needs to be consistent
between (guix download) and (guix gnu-maintenance) to make the simplified
savannah-updater (of a later commit) work.  While we're at it, switch the
other mirrors to https as well.

http://download.savannah.gnu.org/releases-noredirect/ is left unmodified
because it 404s

* download.scm (%mirrors)[savannah]: Switch from http to https where possible.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:36 +02:00
Maxime Devos 11ec14ff0e
gnu-maintenance: Produce mirror:// URIs in latest-html-release.
Partially fixes <https://issues.guix.gnu.org/57477>.

I'm not aware of a package using both latest-html-release and mirrors, so it
has not been completely tested.  However, updating "yt-dlp" appears to work
(except for git-fetch not being supported yet).  The expression for the
signature-urls field had to be tweaked to not call uri-mirror-rewrite on #false.

* guix/gnu-maintenance.scm (latest-html-release)[url->research]{urls,signature-urls}:
Call uri-mirror-rewrite on the URLs.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:36 +02:00
Maxime Devos d877dc098b
gnu-maintenance: Produce mirror:// URIs in latest-ftp-release.
Partially fixes <https://issues.guix.gnu.org/57477>.

As a test, try updating gnupg.  Before the patch, a ftp:// URL was produced,
now the mirror:// is preserved.

* guix/gnu-maintenance.scm (latest-ftp-release)[file->source]{urls,signature-urls}:
Call uri-mirror-rewrite on the URLs.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:36 +02:00
Maxime Devos fc5c4ce4ec
lint: Extract logic of 'check-mirror-url'.
It will be useful for fixing <https://issues.guix.gnu.org/57477>.

* guix/lint.scm (check-mirror-url): Extract mirror://-constructing code to ...
* guix/gnu-maintenance.scm (uri-mirror-rewrite): ... here, tweaking the API
and implementation in anticipation of future users.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26 23:29:36 +02:00
Maxime Devos 9e4d8c7518
build-system/go: Respect #:imported-modules when cross-compiling.
Previously, #:imported-modules was ignored, causing cross-compilation
failures.  This bug seems seems to have been introduced in
e37dcf63dc.

After this commit, there remain other cross-compilation problems,
e.g. <https://issues.guix.gnu.org/51981> fixes one of them.

* guix/build-system/go.scm (go-cross-build)[builder]: Wrap in
with-imported-modules.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-24 17:59:05 +02:00
Ludovic Courtès 95e06bc3e1
narinfo: Fix misleading docstring.
The misleading docstring had been here from the start, in commit
cdea30e061.

* guix/narinfo.scm (valid-narinfo?): Fix docstring.
2022-09-24 17:59:04 +02:00
Mathieu Othacehe ebe9d660a5
gnu: Add compression module.
Move the compression record to a dedicated module so that it can be used
outside (guix scripts pack) module.

* guix/scripts/pack.scm (<compressor>, %compressors, lookup-compressor): Move
it to ...
* gnu/compression.scm: ... this new file.
* gnu/ci.scm: Adapt it.
* local.mk (GNU_SYSTEM_MODULES): Add it.
2022-09-24 14:49:09 +02:00
Mathieu Othacehe 08a7eb187f
platforms: x86: Rename Hurd hurd to i586-gnu.
* guix/platforms/x86.scm (hurd): Rename it to ...
(i586-gnu): ... this variable.
* gnu/system/images/hurd.scm (hurd-disk-image, hurd-barebones-disk-image,
hurd-barebones-qcow2-image): Adapt those.
2022-09-24 14:49:07 +02:00
Ludovic Courtès 76c58ed59c
home: import: Use (guix read-print) to render the config file.
* guix/scripts/home/import.scm (manifest+configuration-files->code):
Insert calls to 'comment' and 'vertical-space'.
(import-manifest): Use 'pretty-print-with-comments/splice' instead of a
loop on 'pretty-print'.
* tests/home-import.scm (remove-recursively): New procedure.
(eval-test-with-home-environment): Use it.
2022-09-20 19:24:31 +02:00
Ludovic Courtès d0a1e48944
read-print: Add rule for 'home-bash-configuration'.
* guix/read-print.scm (%newline-forms): Add 'home-bash-configuration'.
2022-09-20 19:24:31 +02:00
Ludovic Courtès 7a698da0d0
read-print: Correctly support multiple same-named newline forms.
Previously (home-environment (services ...)) would not be considered a
"newline form".  This fixes it.

* guix/read-print.scm (newline-form?): Use 'vhash-foldq*' instead of
'vhash-assq' and iterate over candidates.
* tests/read-print.scm: Add test.
2022-09-20 19:24:31 +02:00
Ludovic Courtès 818220f1cc
weather: Actually show the weather.
* guix/scripts/weather.scm (report-server-coverage): Show a weather icon.
2022-09-20 19:24:31 +02:00
Ricardo Wurmus ec92bcaadd
import/cran: description->package: Use COND and computed booleans.
* guix/import/cran.scm (description->package): Use COND with previously
computed booleans instead of using CASE on REPOSITORY.
2022-09-20 17:02:33 +02:00
Ricardo Wurmus 8c620a6036
import/cran: download: Accept optional REF argument.
* guix/import/cran.scm (download): Accept REF argument for git downloads.
2022-09-20 17:02:33 +02:00
Marius Bakke 80c76f5d8e
Merge branch 'staging' into core-updates 2022-09-18 16:30:21 +02:00
Maxime Devos c967d1153c
gnu-maintenance: Support // URLs in latest-html-release.
This makes "./pre-inst-env guix refresh -u" download the release tarball from
the right place -- previously, it downloaded from

https://www.libreoffice.org//download.documentfoundation.org/libreoffice/src/7.4.0/libreoffice-7.4.0.3.tar.xz?idx=1

whereas it should download from

https://download.documentfoundation.org/libreoffice/src/7.4.0/libreoffice-7.4.0.3.tar.xz?idx=1

instead.

* guix/gnu-maintenance.scm (latest-html-release)[url-release]: Adjust
computation in the case of an absolute URI-reference without a scheme.
* tests/gnu-maintenance.scm ("latest-html-release, scheme-less URIs"):
Test it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-09-17 19:09:45 +02:00
Taiju HIGASHI 5d22261db3
import: gem: Support importing a specific version of a gem.
* guix/import/gem.scm: (rubygems-fetch, gem->guix-package)
(gem-recursive-import): Fix to fetch the specified version of the gem.
* guix/scripts/import/gem.scm (show-help): Update the help message.
(guix-import-gem): Modify so the version number to be passed to subsequent
procedures.
* tests/gem.scm: Add tests.
* doc/guix.texi (Invoking guix import): Document.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2022-09-17 19:09:27 +02:00
Maxim Cournoyer 4920f6e634
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.
2022-09-15 11:43:21 -04:00
Maxim Cournoyer 5dd3acd0a0
import: gnome: Improve version handling logic.
Before this change, we'd get:

    $ guix refresh gedit
    updating from version 40.1 to version 43.alpha...

This is because the new GNOME version scheme introduced in 2021 with GNOME 40
was not treated correctly.  Also, no longer ignore odd numbered minor
versions, as this appears to be a declining practice in GNOME.

* guix/import/gnome.scm (latest-gnome-release)
<pre-release-text?>: New predicate.
<even-minor-version?>: Rename to...
<release-version?>: ...this.  Return #f in case the version corresponds to a
development release.
* guix/import/gnome.scm (latest-gnome-release): Adjust accordingly.
2022-09-13 02:04:36 -04:00
Morgan Smith 58d0453aa7
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>
2022-09-11 15:46:32 +02:00
Liliana Marie Prikler 630c9b6e01
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’.
2022-09-11 15:46:32 +02:00
Liliana Marie Prikler b54724b2ac
guix: emacs-utils: Add emacs-compile-directory.
* guix/build/emacs-utils.scm (emacs-compile-directory): New variable.
2022-09-11 15:46:32 +02:00
Marius Bakke 3c8b6fd94c
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.
2022-09-08 21:40:00 +02:00
Marius Bakke 884548b476
Merge branch 'staging' into core-updates 2022-09-08 21:12:52 +02:00
Ludovic Courtès 8f53630f2f
syscalls: Avoid repeated calls to 'syscall->procedure'.
Commit 7df4d3465d 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.
2022-09-08 16:22:21 +02:00
Ludovic Courtès 392e97ed08
import: gnome: Reject version strings such as "43.alpha".
Reported by Maxim Cournoyer.
This is a followup to 61b63e7fa7.

* guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]:
Reject VERSION is the minor or micro part is not an integer.
2022-09-08 16:22:21 +02:00
Ludovic Courtès 69d72c553f
search-paths: Tweak $SSL_CERT_DIR comment.
* guix/search-paths.scm ($SSL_CERT_DIR): Fix typos and tweak comment.
2022-09-08 16:22:21 +02:00
Ludovic Courtès 2f5f539b60
search-paths: Clarify $GUIX_EXTENSIONS_PATH comment.
* guix/search-paths.scm ($GUIX_EXTENSIONS_PATH): Clarify comment.
2022-09-08 16:22:21 +02:00
Ludovic Courtès e7b8e83670
search-paths: Remove redundant uses of 'define-public'.
* guix/search-paths.scm ($GUIX_EXTENSIONS_PATH, $SSL_CERT_DIR,
$SSL_CERT_FILE): Use 'define', not 'define-public'.
2022-09-08 16:22:20 +02:00
Mathieu Othacehe e0c1124a48
guix: platform: Use #false instead of #f.
* guix/platform.scm (<platform>): Adapt it.
2022-09-07 14:24:52 +02:00
(unmatched-parenthesis bbc1735be2
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>
2022-09-07 11:30:31 +03:00
Ludovic Courtès 61b63e7fa7
import: gnome: Do not require even minor for two-number version strings.
That way, "guix refresh gnome-keyring" will properly return "42.1"
instead of "42.0".

Reported by Maxim Cournoyer.

* guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]:
Tweak for GNOME applications.
2022-09-06 16:58:12 +02:00
Ludovic Courtès 7a2acbdc5a
store: Open daemon connections with SOCK_CLOEXEC.
Previously, 'guix shell' for example would leak the socket that's
connected to the daemon.

* guix/store.scm (open-unix-domain-socket, open-inet-socket): Pass
SOCK_CLOEXEC to 'socket'.
* tests/guix-shell.sh: Add test.
2022-09-04 23:10:10 +02:00
Ludovic Courtès 2028419e30
store: Remove unused variable and 'socket' call.
* guix/store.scm (open-inet-socket): Remove unused 'sock' variable.
2022-09-04 23:10:10 +02:00
Attila Lendvai 42e3089752
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>
2022-09-02 17:04:46 +02:00
Attila Lendvai e4adc665e1
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>
2022-09-02 17:04:46 +02:00
Attila Lendvai 54c365d645
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>
2022-09-02 17:04:46 +02:00
Ludovic Courtès aaf7820d57
read-print: Improve declaration of integer bases.
This is a followup to c3b1cfe76b.

* guix/read-print.scm (%symbols-followed-by-octal-integers)
(%symbols-followed-by-hexadecimal-integers): Remove.
* guix/read-print.scm (%integer-forms): New variable.
(integer->string)[form-base, octal?]: New procedures.
Rewrite accordingly.
2022-09-02 10:49:35 +02:00
Ludovic Courtès 82968362ea
read-print: Define forms for which \n, \t, etc. are not escaped.
Previously, the pretty-printer would unconditionally leave everything
but double-quotes and backslashes unescaped when rendering a string.
With this change, the previous behavior only applies to forms listed in
%NATURAL-WHITESPACE-STRING-FORMS.

* guix/read-print.scm (%natural-whitespace-string-forms): New variable.
(printed-string): New procedure.
(pretty-print-with-comments): Use it instead of 'escaped-string'.
* tests/read-print.scm: Add test.
2022-09-02 10:49:35 +02:00