* guix/gexp.scm (<system-binding>): New record type.
(let-system): New macro.
(system-binding-compiler): New procedure.
(default-expander): Add 'self-quoting?' case.
(self-quoting?): New procedure.
(lower-inputs): Add 'filterm'. Pass the result of
'mapm/accumulate-builds' through FILTERM.
(gexp->sexp)[self-quoting?]: Remove.
* tests/gexp.scm ("let-system", "let-system, target")
("let-system, ungexp-native, target")
("let-system, nested"): New tests.
* doc/guix.texi (G-Expressions): Document it.
* guix/gexp.scm (lower-object): Iterate if LOWERED is a struct.
(lower+expand-object): New procedure.
(gexp->sexp): Use it.
(define-gexp-compiler): Adjust docstring.
* gnu/packages/emacs-xyz.scm (emacs-flycheck-grammalecte): Update to 1.2.
[arguments]: Exclude "test-profile.el", build with full Emacs for libxml
support.
[inputs]: Remove curl as dependency.
* gnu/packages/tor.scm (tor): Update to 0.4.3.5.
[arguments]: Enable compression features that aren't auto-detected.
[native-inputs]: Use the default Python (3).
[inputs]: Order alphabetically.
* gnu/packages/finance.scm (bitcoin-abc): Update to 0.21.6.
[build-system]: Use cmake-build-system.
[native-inputs]: Remove autoconf, automake and libtool.
[inputs]: Add zeromq.
[arguments]: Drop inheritance from bitcoin-core and use explicit
'make-qt-deterministic', 'set-home' and 'check-functional' phases.
* gnu/packages/admin.scm (rottlog)[arguments]: Add a 'fix-configure phase to
replace outdated config.sub and config.guess, without aarch64 support,
[native-inputs]: add "automake".
* gnu/packages/java.scm (openjdk11)[arguments]: Remove #:parallel-build?,
#:parallel-tests?, and #:make-flags options; add
"write-source-revision-file"; replace "build" phase; do not set
GUIX_LD_WRAPPER_ALLOW_IMPURITIES; pass JOBS variable to make in "build" and
"build-jre" phases.
* gnu/packages/messaging.scm (quaternion): Update to 0.0.9.4e.
[source]: Upstream moved the repo to quotient-im namespace.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/messaging.scm (libqmatrixclient): Update to 0.5.3.2.
[source]: Name changed to libquotient, will be visible in 0.6.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Not restoring it would cause problems when running:
guix time-machine --commit=6298c3ffd9654d3231a6f25390b056483e8f407c
or similar because the target Guix would be built with 2.2, and then
we'd erroneously go on and attempt build the profile with 2.2. This
would fail because profile dependencies such as "guile-gdbm-ffi" now
target 3.0.
* guix/channels.scm (call-with-guile): New procedure.
(with-guile): New macro.
(build-from-source): Use it instead of calling 'set-guile-for-build'
just once. This ensures that '%guile-for-build' is restored
afterwards.
* guix/build/syscalls.scm (sockaddr-in,sockaddr-in6): Rename to ...
(sockaddr-in/linux, sockaddr-in6/linux): ... this. Rename introduced bindings
as well.
(write-socket-address!/linux,read-socket-address/linux): Rename from
(write-socket-address!, read-socket-address): ... new switches between those
and ...
(write-socket-address!/hurd, read-socket-address/hurd): ... these new function.
This package is needed because Jami uses a modified version
of ffmpeg, which provides GPU hardware acceleration, automatical
adapting of bitrate and extra codecs. Because of the configure flags
list being long, it is better to keep them separated in variables,
instead of littering the package definition.
* gnu/packages/jami.scm (ffmpeg-jami, %ffmpeg-default-configure-flags,
%ffmpeg-linux-configure-flags, %ffmpeg-linux-x86-configure-flags):
New variables.
(ffmpeg-compose-configure-flags): New procedure.
(libring)[inputs]: Use ffmpeg-jami instead of ffmpeg.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This prevents Emacs from loading the autoload definitions found in its
profile, which needlessly clutters the output. It also prevents Geiser (if
installed) from blocking the script and asking the user to input the Scheme
implementation to use.
The trick for passing multiple arguments to Emacs is to use what is called a
"sesquicolon" (see https://www.emacswiki.org/emacs/EmacsScripts).
* etc/indent-code.el.in: Rename to...
* etc/indent-code.el: ...this. Adapt the shebang to use a sesquicolon, and
pass the --quick option to Emacs. Since this line is interpreted by the
shell, simply use Emacs from the PATH instead of from a hard coded location.
(main): New procedure, used as the entry point.
* configure.ac: Remove the warning about Emacs. Emacs can now be installed
any time by the user if they want to use the script.
* .gitignore: No longer ignore changes to etc/indent-code.el.