services: configuration: Add some commonly used predicates.
* gnu/services/configuration.scm (list-of-packages?, list-of-symbols?): New
predicate.
* gnu/services/audio.scm (list-of-symbol?): Remove.
* gnu/services/telephony.scm (string-list?): Remove.
(serialize-string-list): Rename to …
(serialize-list-of-strings): … this.
(account-fingerprint-list?, jami-account-list?): Use list-of.
* doc/guix.texi: Update it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: fstrim-service-type: Serialize with SRFI-171 transducers.
* gnu/services/linux.scm (serialize-fstrim-configuration): Refactor to use
base-transducer.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: configuration: Use transducers within serialize-configuration.
Introduces 'base-transducer', a SRFI-171 based transducer that can be used as a
starting point for writing custom configuration record serializing procedures.
This also fixes the symbol maybe-value serialization test case.
* gnu/services/configuration.scm (empty-serializer?): New predicate.
(base-transducer, tfilter-maybe-value): New procedure.
(serialize-configuration): Adapt to use base-transducer.
* gnu/services/telephony.scm (jami-account->alist): Use transducers to skip
fields that are unserializable or whose field maybe-value is unset.
* tests/services/configuration.scm: Remove test-expect-fail.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
services: configuration: Simplify normalize-extra-args.
* gnu/services/configuration.scm
(define-configuration-helper, normalize-extra-args): Use #f instead of %unset-value.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: Add gnome-shell-extension-night-theme-switcher.
* gnu/packages/gnome-xyz.scm (gnome-shell-extension-night-theme-switcher): New variable.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: gqrx: Update to 2.17.
* gnu/packages/radio.scm (gqrx): Update to 2.17.
gnu: python-openai: Update to 0.28.1.
* gnu/packages/python-web.scm (python-openai): Update to 0.28.1.
gnu: librepcb: Update to 1.0.0.
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0.
[source]: Add snippet to remove some vendored dependencies.
[build-system]: Use cmake-build-system.
[inputs]: Add fontconfig, fontobene-qt5, glu, hoedown, muparser,
opencascade-occt, clipper, qtdeclarative-5, qtquickcontrols2-5, quazip.
[native-inputs]: Add googletest, pkg-config.
[arguments]<#:configure-flags>: Add "-DUNBUNDLE_FONTOBENE_QT5=ON",
"-DUNBUNDLE_GTEST=ON", "-DUNBUNDLE_HOEDOWN=ON", "-DUNBUNDLE_MUPARSER=ON",
"-DUNBUNDLE_POLYCLIPPING=ON", "-DUNBUNDLE_QUAZIP=ON".
<#:phases>: Don't override the configure phase. Override the check phase and
skip failing tests.
[license]: Remove licenses from unbundled dependencies.
Signed-off-by: Vinicius Monego <monego@posteo.net>
gnu: Add fontobene-qt5.
* gnu/packages/fontutils.scm (fontobene-qt5): New variable.
Signed-off-by: Vinicius Monego <monego@posteo.net>
gnu: python-pudb: Update to 2023.1.
* gnu/packages/python-xyz.scm (python-pudb): Update to 2023.1.
gnu: Add r-webchem.
* gnu/packages/cran.scm (r-webchem): New variable.
build-system/minify: Use esbuild.
* guix/build-system/minify.scm (default-uglify-js): Replace this procedure...
(default-esbuild): ...with this new procedure.
(lower): Use it, and add "esbuild" to build inputs.
* guix/build/minify-build-system.scm (minify): Invoke esbuild instead of
setting up a pipe to uglifyjs.
* gnu/packages/cran.scm (r-shiny)[native-inputs]: Replace node-uglify-js with
esbuild.
* gnu/packages/statistics.scm (r-dt)[native-inputs]: Same.
gnu: Add linasm.
* gnu/packages/maths.scm (linasm): New variable.
gnu: openjdk-12: Fix building on aarch64-linux.
* gnu/packages/java.scm (openjdk-12)[arugments]: When building for
aarch64-linux add a phase to remove a duplicate line.
gnu: r-dt: Update to 0.30.
* gnu/packages/statistics.scm (r-dt): Update to 0.30.
gnu: r-hunspell: Update to 3.0.3.
* gnu/packages/cran.scm (r-hunspell): Update to 3.0.3.
gnu: r-aplot: Update to 0.2.2.
* gnu/packages/cran.scm (r-aplot): Update to 0.2.2.
gnu: r-chk: Update to 0.9.1.
* gnu/packages/cran.scm (r-chk): Update to 0.9.1.
gnu: r-sungeo: Update to 1.1.1.
* gnu/packages/cran.scm (r-sungeo): Update to 1.1.1.
[propagated-inputs]: Remove r-fasterize; add r-stringr and r-terra.