* gnu/packages/databases.scm (firebird)[source]: Add patches.
[arguments]: Add custom phase when building for riscv64-linux to force
the bootstrap phase to occur.
[native-inputs]: When building for riscv64-linux add autoconf, automake
and libtool.
* gnu/packages/patches/firebird-riscv64-support-pt1.patch,
gnu/packages/patches/firebird-riscv64-support-pt2.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
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.
Recent version of emacs 29 with pgtk flag has a problem with handling super
key modifier, due to gtk bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4913
This commit workarounds it.
* gnu/packages/patches/emacs-pgtk-super-key-fix.patch: New file.
* gnu/packages/emacs.scm (emacs-next-pgtk): Use it here.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/java.scm (java-antlr4-runtime): Update to 4.10.1.
[source](patches): Remove obsolete patch.
(java-antlr4-runtime-cpp): Add #:configure-flags.
(antlr4)[arguments]: Don't run tests from removed directory. Enable one test;
exclude one file.
* gnu/packages/fontutils.scm (python-afdko)[arguments]: Add phase to build
with the C++ 17 standard.
Build fails with emacs-next cause of copypasted test defined two times.
* gnu/packages/patches/emacs-kv-fix-tests.patch: New file.
* gnu/packages/emacs-xyz.scm (emacs-kv): Use it here.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/cmake.scm (cmake): Update to 3.24.2.
[source]: Adjust snippet to preserve "Utilities/cmelf". Override with new
patch.
[native-inputs]: Use modify-inputs and remove labels.
* gnu/packages/patches/cmake-curl-certificates-3.24.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gnome.scm (gnome-shell): Update to 42.4.
[source](patches): Remove.
[arguments]: Adjust substitution to disable GTK icon cache. Filter disallowed
references from GUIX_PYTHONPATH. While at it, also prevent MESON from ending
up in the closure.
[inputs]: Change from LIBGWEATHER to LIBGWEATHER4.
* gnu/packages/patches/gnome-shell-polkit-autocleanup.patch:
* gnu/local.mk (dist_patch_DATA):
* gnu/packages/databases.scm (python-apsw): Update to 3.39.2.1.
[source]: Change back to compressed release.
* gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch: New file.
* gnu/local.mk: Add patch.
Signed-off-by: Marius Bakke <marius@gnu.org>
This is a follow-up to commit 290ac5cd1e.
* gnu/packages/polkit.scm (polkit-mozjs)[source](snippet): Add substitutions.
[source](patches): New field.
[arguments]: Pass --sysconfdir and -Dsession_tracking in #:configure-flags.
* gnu/packages/patches/polkit-disable-systemd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
The unsuccessful attempt to execute "/bin/sh" by Chez Scheme's 'process'
function seems to have caused parts of the Chez Scheme test suite to
have been silently skipped. The issue was exposed by the upcoming
changes to Racket's build system.
* gnu/packages/patches/chez-scheme-bin-sh.patch,
gnu/packages/patches/racket-chez-scheme-bin-sh.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/racket.scm (%racket-origin)[patches]: Update accordingly.
* gnu/packages/chez.scm (chez-scheme)[origin]<patches>: Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Use '_PATH_BSHELL' instead of a custom preprocessor macro. This may not
be The Right Thing in the long term, but it at least avoids a
proliferation of 'CPPFLAGS'.
* gnu/packages/patches/racket-minimal-sh-via-rktio.patch: Rename to ...
* gnu/packages/patches/racket-rktio-bin-sh.patch: ... this, and change
to use '_PATH_BSHELL'.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/racket.scm (%racket-origin)[patches]: Likewise.
(racket-vm-common-configure-flags): Stop setting 'CPPFLAGS'. Change to a
constant instead of a function, since we no longer need the delay.
(racket-vm-cgc, racket-vm-bc,
racket-vm-cs)[arguments]<#:configure-flags>: Update accordingly.
[inputs]: Remove 'bash-minimal'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Excplicitly set the user write bit when initializing the gifs or math
directories from the skeletons installed in the store. See also upstream
discussion at <https://github.com/dybvig/stex/pull/6>. This problem
would be exposed by the upcoming changes to Racket's build system.
* gnu/packages/patches/stex-copy-from-immutable-store.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/chez.scm (stex-bootstrap)[patches]: Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/games.scm:
(ktuberling picmi kolf libkmahjongg kmahjongg kshisen kajongg kbreakout
kmines konquest kbounce kblocks ksudoku klines kgoldrunner kdiamond
kfourinline kblackbox knetwalk bomber granatier ksirk palapeli kiriki
kigo kubrick lskat kapman kspaceduel bovo killbots ksnakeduel kollision
knavalbattle kreversi ksquares kjumpingcube):
Move to gnu/packages/kde-games.scm.
[define-module]: Remove (gnu packages kde), (gnu packages
kde-frameworks).
* gnu/packages/kde-games.scm: New module.
[header]: Copy over any copyrights I could find that affected these games.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.
Why? games.scm is very large, and will only get larger, so splitting it
helps. Also, it is convenient for singling out and updating KDE games.
Signed-off-by: Marius Bakke <marius@gnu.org>
Add a new image test module to validate the image creation itself. The images
structures are validated using guile-parted. Checking the content of those
images is out of scope and should be performed in other modules (installation
for instance).
* gnu/tests/image.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/version-control.scm (mercurial): Update to 6.2.1.
[source](patches): Add patch for compatibility with OpenSSL 3.0.
[arguments]: Patch /usr/bin/env and /bin/sh unconditionally in all tests.
Disable four more tests.
[inputs]: Change from PYTHON to PYTHON-WRAPPER.
* gnu/packages/patches/mercurial-openssl-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/services/lightdm.scm: New service.
* tests/services/lightdm.scm: Test it.
* doc/guix.texi (X Window): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.
Co-authored-by: L p R n d n <guix@lprndn.info>
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
* gnu/packages/patches/lightdm-vnc-color-depth.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/display-managers.scm (lightdm): Apply it.
* gnu/packages/patches/lightdm-arguments-ordering.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/display-managers.scm (lightdm): Apply it.
* gnu/packages/patches/lightdm-vncserver-check.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/display-managers.scm (lightdm): Apply it.
* gnu/packages/patches/accountsservice-extensions.patch: New patch.
* gnu/packages/freedesktop.scm (accountsservice)[source]: Apply it.
[phases]{wrap-with-xdg-data-dirs}: New phase.
* gnu/packages/patches/scons-test-environment.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/build-tools.scm (scons): Update to 4.4.0.
[source](patches): New field.
[arguments]: Adjust bootstrap for the new version. Enable tests.
[native-inputs]: Add PYTHON-WHEEL and PYTHON-PSUTIL.
(scons-3): New variable.
(scons-python2): Inherit from it.
* gnu/packages/web.scm (serf)[arguments]: Stick with SCONS-3 to prevent rebuilds.
This fixes some indeterministic test failures for gnunet-scheme observed while
developing gnunet-scheme. The following checks were made:
All dependents compile for x86_64:
$ ./pre-inst-env guix build shepherd gnunet-scheme guix-build-coordinator nar-herder guix-data-service guile-fibers --system=x86_64-linux
Everything except guix-build-coordinator (which depends on the
non-cross-compilable sqitch) cross-compile from x86_64 to aarch64-linux-gnu:
$ ./pre-inst-env guix build shepherd gnunet-scheme nar-herder guile-fibers --system=x86_64-linux --target=aarch64-linux-gnu
I tried testing for reproducibility but the check phase took to long.
However, you can compare the hash you get against the hash I got:
$ ./pre-inst-env guix hash --serializer=nar $(./pre-inst-env guix build guile-fibers --no-grafts --system=x86_64-linux) 0qsaqx27b6q2s22h7y93417ijpkwl6gc1fhhck8aha6bvmawk5h0
I tried an emulated build for another architecture, but there the tests took
overly long.
There were no lint warnings for guile-fibers.
* gnu/packages/patches/guile-fibers-epoll-instance-is-dead.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register the patch.
* gnu/packages/guile-xyz.scm (guile-fibers)[source]{patches}: Use the patch.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/gnupg.scm (gnupg)[replacement]: New field.
(gnupg/replacement): New variable.
* gnu/packages/patches/gnupg-CVE-2022-34903.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/compression.scm (unzip)[replacement]: New field.
(unzip/fixed): New variable.
* gnu/packages/patches/unzip-CVE-2022-0529+CVE-2022-0530.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/onc-rpc.scm (libtirpc)[replacement]: New field.
(libtirpc/fixed): New variable.
(libtirpc-hurd)[source]: Add patch.
* gnu/packages/patches/libtirpc-CVE-2021-46828.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
For the GDBM and Marshal dictionary adapters to be useful with their
default settings, we must initialize their data files during the package
build: upstream would initialize them lazily, but that doesn't work with
an immutable installation directory (at least, not without more complex
patches). Otherwise, we would always end up rebuilding the dictionary at
startup, which is “slow” and “not recommended”.
* gnu/packages/patches/ruby-anystyle-fix-dictionary-populate.patch: New
patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ruby.scm (ruby-anystyle)[patches]: Use it.
[arguments]<#:phases>: Add 'populate-dictionaries' phase.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/ruby-anystyle-data-immutable-install.patch: New
patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ruby.scm (ruby-anystyle-data)[patches]: Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/nsis-source-date-epoch.patch: Drop this patch.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/patches/nsis-env-passthru.patch: Adjust the patch.
* gnu/packages/installers.scm (make-nsis): Update to 3.08.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
* gnu/packages/patches/jami-fix-esc-bug.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (%jami-sources): Apply it.
* gnu/packages/patches/jami-fix-crash-on-quit.patch: Delete file.
* gnu/packages/patches/jami-images-loading.patch: Likewise.
* gnu/packages/patches/jami-libclient-audio-managers.patch: Likewise.
* gnu/packages/patches/jami-memory-usage.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register removed patches.
* gnu/packages/jami.scm (%jami-version): Update to 20220726.1515.da8d1da.
(libjami)[configure-flags]: Add '--disable-static'.
(jami-apply-custom-patches): Adjust for top directory renaming.
(%ffmpeg-default-configure-flags): Add muxer support
for g726 and g726le. Add demuxer support for g723_1, g726 and g726le. Add
encoder/decoder support for g726, g726le and g723_1. Add decoder support for
g729.
(ffmpeg-jami)[patches]: Add 'libopusenc-reload-packet-loss-at-encode'.
(jami-libclient)[native-inputs]: New field.
[inputs]: Add ffmpeg-jami and libxkbcommon.
[propagated-inputs]: Replace qtbase-5 with qtbase.
Fixes <https://issues.guix.gnu.org/51093>.
* gnu/packages/games.scm (pokerth) [source]: Apply patch
[inputs]: Use new style.
[phases]: Delete trailing #t. Use gexps.
{fix-paths}: Remove the gsasl and libircclient related substitutions.
* gnu/packages/patches/pitivi-fix-build-with-meson-0.60.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register it.
* gnu/packages/video.scm (pitivi): Update to 2022.06.0.
[version]: Do not prefix with previous semver version.
[inputs]{gst-plugins/selection}: Add comment about cvtracker.
{python-librosa}: New input.
* gnu/packages/curl.scm (curl-7.84.0)[source]: Add patch to work around
implicit function declaration.
* gnu/packages/patches/curl-easy-lock.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/patches/mcrl2-fix-1687.patch,
gnu/packages/patches/mcrl2-fix-counterexample.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/maths.scm (mcrl2): Update to 202206.0 and use them.
This is a follow-up to commit fce910af55.
* gnu/packages/patches/postgresql-riscv-spinlocks.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/home/services/ssh.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* doc/guix.texi (Secure Shell): New section.
This patch makes the public-inbox testsuite pass. Some tests are skipped,
so the test coverage could likely be increased with more massaging.
Perhaps the most significant change is using tini to run the testsuite so
that the testsuite's sub-processes are reaped. The ‘check’ phase is based on
the one from the mutter package. Thanks to Maxim Cournoyer for pointing out
this solution.
* gnu/packages/patches/public-inbox-fix-spawn-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add new patch.
* gnu/packages/mail.scm (public-inbox)[source]: Add new patch.
[arguments]<#:tests?>: Remove argument.
<#:imported-modules>: Add argument.
<#:modules>: Likewise.
<#:phases>{qualify-paths}: Substitute path for ‘/bin/cp’.
{pre-check}: Don't skip httpd-unix.t test. Remove unnecessary path
substitutions for “env” and “/bin/sh”.
{check}: Replace with custom version that launches the tests under tini.
[native-inputs]: Add tini.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
All packages updated at the same time as they have a shared version. rocclr is
no longer a stand-alone package, so the previous version is kept as rocclr-4
and the current version is just the source, rocclr-src, needed by rocm-opencl-runtime.
* gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
* gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch: Update patches.
* gnu/packages/rocm.scm (rocm-cmake, rocm-device-libs, rocm-comgr,
roct-thunk-interface, rocr-runtime, rocm-opencl-runtime, rocminfo,
rocm-bandwidth-test): Update to 5.1.3.
(roct-thunk-interface)[inputs]: Add libdrm.
[native-inputs]: Add gcc:lib and pkg-config.
(rocclr-src): New variable.
(rocclr-4): New variable (previous version of the package).
(rocm-opencl-runtime)[source]: Remove obsolete patches.
[arguments]: Rewrite with gexps. Add needed #:configure-flags.
[inputs]: Remove rocclr, add numactl.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/llvm.scm (llvm-for-rocm): Update to 5.1.3, now based on llvm-14.
[source]{patches}: Remove unneeded patches (add_Object and add_libraries) and add new one (linkdl).
* gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch,
gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch: Delete files.
* gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update to match current patches.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/algebra.scm (fplll): Update to 5.4.2.
[source]: Remove patch; for unknown reasons the package now compiles
without it.
* gnu/packages/patches/fplll-std-fenv.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.
* gnu/packages/patches/mathjax-3.1.2-no-a11y.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/javascript.scm (js-mathjax-for-r-mathjaxr): New variable.
This partially fixes <https://issues.guix.gnu.org/54786>, allowing the 'jami'
and 'jami-provisioning' system tests to pass again.
In version 0.9.0, Shepherd constructors are now run concurrently, via
cooperative scheduling (Guile Fibers). The Jami service previously relied on
blocking sleeps while polling for D-Bus services to become ready after forking
a process; this wouldn't work anymore since while blocking the service process
wouldn't be given the chance to finish starting. The new reliance on Fibers
in Shepherd's fork+exec-command in the helper 'send-dbus' procedure also meant
that it wouldn't work outside of Shepherd anymore. Finally, the
'start-service' Shepherd procedure used in the test suite would cause the Jami
daemon to be spawned multiple times (a bug introduced in Shepherd 0.9.0).
To fix/simplify these problems, this change does the following:
1. Use the Guile AC/D-Bus library for D-Bus communication, which simplify
things, such as avoiding the need to fork 'dbus-send' processes.
2. The non-blocking 'sleep' version of Fiber is used for the 'with-retries'
waiting syntax.
3. A 'dbus' package variant is used to adjust the session bus configuration,
tailoring it for the use case at hand.
4. Avoid start-service in the tests, preferring 'jami-service-available?' for
now.
* gnu/build/jami-service.scm (parse-dbus-reply, strip-quotes)
(deserialize-item, serialize-boolean, dbus-dict->alist)
(dbus-array->list, parse-account-ids, parse-account-details)
(parse-contacts): Delete procedures.
(%send-dbus-binary, %send-dbus-bus, %send-dbus-user, %send-dbus-group)
(%send-dbus-debug): Delete parameters.
(jami-service-running?): New procedure.
(send-dbus/configuration-manager): Rename to...
(call-configuration-manager-method): ... this. Turn METHOD into a positional
argument. Turn ARGUMENTS into an optional argument. Invoke
`call-dbus-method' instead of `send-dbus', adjusting callers accordingly.
(get-account-ids, id->account-details, id->account-details)
(id->volatile-account-details, username->id, add-account remove-account)
(username->contacts, remove-contact, add-contact, set-account-details)
(set-all-moderators, username->all-moderators?, username->moderators)
(set-moderator): Adjust accordingly.
(with-retries, send-dbus, dbus-available-services)
(dbus-service-available?): Move to ...
* gnu/build/dbus-service.scm: ... this new module.
(send-dbus): Rewrite to use the Guile AC/D-Bus library.
(%dbus-query-timeout, sleep*): New variables.
(%current-dbus-connection): New parameter.
(initialize-dbus-connection!, argument->signature-type)
(call-dbus-method): New procedures.
(dbus-available-services): Adjust accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register new module.
* gnu/packages/glib.scm (dbus-for-jami): New variable.
* gnu/services/telephony.scm: (jami-configuration)[dbus]: Default to
dbus-for-jami.
(jami-dbus-session-activation): Write a D-Bus daemon configuration file at
'/var/run/jami/session-local.conf'.
(jami-shepherd-services): Add the closure of guile-ac-d-bus and guile-fibers
as extensions. Adjust imported modules. Remove no longer used parameters.
<jami-dbus-session>: Use a PID file, avoiding the need for the manual
synchronization.
<jami>: Set DBUS_SESSION_BUS_ADDRESS environment variable. Poll using
'jami-service-available?' instead of 'dbus-service-available?'.
* gnu/tests/telephony.scm (run-jami-test): Add needed Guile extensions. Set
DBUS_SESSION_BUS_ADDRESS environment variable. Adjust all tests to use
'jami-service-available?' to determine if the service is started rather than
the now problematic Shepherd's 'start-service'.
* gnu/packages/patches/openbox-python3.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/openbox.scm (openbox)[source]: Apply it.
[arguments]: New field.
[propagated-inputs]: Replace python2-pyxdg with python-pyxdg.
[native-inputs]: Replace python-2 with python-wrapper.
Add autoconf, automake, gettext-minimal and libtool.
* gnu/packages/patches/mia-fix-boost-headers.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/image-processing.scm (mia): Update to 2.4.7.
[source]: Apply patch.
[configure-flags]: Use the more conventional OFF option value (instead of 0).
[inputs]: Use new style. Replace python2-lxml by python-lxml. Replace vtk by
vtk-7.
[native-inputs]: Use new style. Replace python-2 with python-wrapper.
* gnu/packages/patches/itk-snap-alt-glibc-compat.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/image-processing.scm (itk-snap): Apply it.
[phases]: Delete trailing #t.
[inputs]: Use new style. Replace vtk-6 with vtk-7.