* gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/java.scm (openjdk15)[source]: Add it.
* gnu/packages/patches/hwloc-1-test-btrfs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/mpi.scm (hwloc-1): Use it and update to 1.11.13.
Co-authored-by: Ludovic Courtès <ludovic.courtes@inria.fr>
* gnu/packages/patches/efivar-211.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (efivar)[source]<origin>: Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This fixes a regression that was introduced in
27720d0fe1.
* gnu/packages/patches/ganeti-pyyaml-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/virtualization.scm (ganeti)[source](patches): Add it.
* gnu/packages/llvm.scm (%llvm-monorepo-hashes, %llvm-patches, llvm-monorepo):
New variables.
(clang-runtime-from-llvm): Make HASH optional; use monorepo when not present.
(clang-from-llvm): Likewise.
(llvm-14, clang-runtime-14, clang-14, clang-toolchain-14, lld-14): New variables.
(llvm-13): Inherit from LLVM-14.
(lld-13): Inherit from LLD-14.
(lld): Turn into alias for LLD-14.
* gnu/packages/patches/clang-14.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/zig.scm (zig): Change from LLD to LLD-13.
* gnu/packages/crates-io.scm (rust-ndarray-0.14): New variable.
* gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/python-xyz.scm (python-robotframework): Update to 5.0.
[patches]: Remove python-robotframework-ug2html.patch. Add
python-robotframework-atest.patch and update
python-robotframework-source-date-epoch.patch.
[phases]: Use gexps.
{delete-problematic-tests}: New phase.
{check}: Also run `atest', the acceptance test suite.
[native-inputs]: Use new style. Add python-lxml, python-pyyaml,
python-xmlschema, scrot and xvfb-run.
* gnu/packages/patches/python-robotframework-atest.patch: New file.
* gnu/packages/patches/python-robotframework-source-date-epoch.patch: Update patch.
* gnu/packages/patches/python-robotframework-ug2html.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/patches/openboardview-use-system-imgui.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/electronics.scm (openboardview)[source]: Delete "imgui"
subdirectory from snippet and apply patch.
[inputs]{imgui}: New input.
* gnu/packages/patches/python-mypy-12332.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/python-check.scm (python-mypy)[source]<origin>: Use patch
"python-mypy-12332.patch" to avoid overflow issues resulting in test failures.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/databases.scm (mariadb)[arguments]: Add custom phase for
powerpc-linux to apply patch.
[native-inputs]: When building for powerpc-linux add patch and a patch
file.
* gnu/packages/patches/mariadb-link-libatomic.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/patches/transfig-gcc10-fno-common.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/xfig.scm (transfig)[source]<origin>: Use patch
"transfig-gcc10-fno-common.patch" to avoid "multiple definition" errors with
GCC 10+ and "-f-no-common".
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/python-robotframework-ug2html.patch: New patch.
* gnu/local.mk: Register it.
* gnu/packages/python-xyz.scm (python-robotframework): Apply patch.
[modules]: New argument.
[phases]{build-and-install-doc}: Modify to build the full HTML documentation,
including the user guide.
[native-inputs]: Add python-pygments.
* gnu/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/python-xyz.scm (python-robotframework-sshlibrary): Apply it.
This works around <https://issues.guix.gnu.org/54198>, whereby
cross-compilation from (say) x86_64-linux to i586-pc-gnu would produce a
broken Guile that crashes at startup.
* gnu/packages/patches/guile-cross-compilation.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/guile.scm (guile-3.0-latest)[source]: Use it.
This revisits <https://issues.guix.gnu.org/40837> with a fix that doesn't
require to have PULSE_CLIENTCONFIG point to an absolute store location, which
will allow us to revert to have PULSE_CLIENTCONFIG point to a fixed location
under /etc. This would alleviate the need to reboot to have changes to the
PulseAudio configuration effected.
* gnu/packages/patches/webkitgtk-share-store.patch: Delete file.
* gnu/packages/patches/webkitgtk-bubblewrap-paths.patch: Add file.
* gnu/packages/patches/webkitgtk-canonicalize-paths.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Update patches list.
* gnu/packages/webkit.scm (webkitgtk)[patches]: Adjust accordingly.
* gnu/packages/databases.scm (postgresql-13)[arguments]: Add phase when
buidling for riscv64-linux to apply a patch.
[native-inputs]: When building for riscv64-linux add patch and patch
file.
* gnu/packages/patches/postgresql-riscv-spinlocks.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/python-crypto.scm (python-pyopenssl): Update to 22.0.0.
[arguments]: Respect TESTS? in check phase and rewrite in gexp style.
(python2-pyopenssl): Update to 21.0.0.
[source](patches): New field.
* gnu/packages/patches/python2-pyopenssl-openssl-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Upstream has removed the Autotools build system and now
only supports Meson, so the build system has been changed
to 'meson-build-system'.
The patch 'power-builddir.patch' has to be replaced to
adjust to the switch to Meson. This has been done by adding
an origin snippet.
The origin snippet has been simplified, and for consistency,
it has been made a gexp.
Some dependencies were Autotools-only and could be removed.
* gnu/packages/gnome.scm (upower): Update to 0.99.15.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/nhc98-c-update.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/haskell.scm (nhc98)[source]: Use it.
[arguments]: Remove #:implicit-inputs?.
[native-inputs]: Remove.
* gnu/packages/patches/python-pytorch-1.9.0-system-libraries.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/machine-learning.scm (python-pytorch-for-r-torch): New variable.
* gnu/packages/electronics.scm (openboardview): New variable.
* gnu/packages/patches/openboardview-use-system-utf8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/audio.scm (webrtc-audio-processing)[arguments]: Adjust
custom arguments list to also fix building on all powerpc architectures.
[native-inputs]: Add patch, local-file on riscv64-linux and powerpc
architectures.
* gnu/packages/patches/webrtc-audio-processing-big-endian.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This patch is required by gnunet-scheme. It has been submitted upstream at
<https://github.com/wingo/fibers/pull/50>, but there has not been any response
so far.
* gnu/packages/patches/guile-fibers-wait-for-io-readiness.patch: New file.
* gnu/packages/guile-xyz.scm (guile-fibers-1.1)[source]{patches}: Add it.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/dunst-1.7.3-fix-crash.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/dunst.scm (dunst)[source]<#:patches>: Add it.
* gnu/installer.scm (installer-program): Let the installer customize
the dump archive.
* gnu/installer/dump.scm (prepare-dump, make-dump): Split make-dump in
prepare-dump, which copies the files necessary for the dump, and
make-dump which creates the archive.
* gnu/installer/record.scm (installer): Add report-page field. Change
documented return value of exit-error.
* gnu/installer/newt.scm (exit-error): Change arguments to be a string
containing the error. Let the user choose between exiting and
initiating a dump.
(report-page): Add new variable.
* gnu/installer/newt/page.scm (run-dump-page): New variable.
* gnu/installer/newt/dump.scm: Delete it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Suggested-by: Josselin Poiret <dev@jpoiret.xyz>
* gnu/installer/dump.scm: New file.
* gnu/installer/newt/dump.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add them.
* gnu/installer/record.scm (<installer>)[dump-page]: New field.
* gnu/installer/steps.scm (%current-result): New variable.
(run-installer-steps): Update it.
* gnu/installer.scm (installer-program): Add tar and gip to the installer
path. Add guile-webutils and gnutls to the Guile extensions. Generate and send
the crash dump report.
* gnu/installer/newt.scm (exit-error): Add a report argument. Display the
report id.
(dump-page): New procedure.
(newt-installer): Update it.
Fixes <https://issues.guix.gnu.org/53694>.
* gnu/packages/patches/librecad-support-for-boost-1.76.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/engineering.scm (librecad)[source]: Use it.
* gnu/packages/guile.scm (guile-3.0-for-lokke): New variable.
* gnu/packages/guile-xyz.scm (lokke): New variable.
* gnu/packages/patches/guile-3.0.7-psyntax-nil.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch:
New file.
* gnu/packages/ruby.scm (ruby-mustache)[source]<#:origin>: Add it.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/audacity-ffmpeg-fallback.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/audio.scm (audacity)[patches]: Use it here.
[inputs]: Add back ffmpeg.
* gnu/packages/patches/cpulimit-with-glib-2.32.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (cpulimit)[source]: Use it.
* gnu/packages/patches/jami-libclient-audio-managers.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami)[source]: Move all patches to...
(%jami-sources): here and add the newly added patch.
* gnu/packages/patches/polkit-CVE-2021-4034.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/polkit.scm (polkit-mozjs)[replacement]: New field.
* gnu/packages/polkit.scm (polkit-mozjs/fixed): New variable.
* gnu/packages/patches/gnome-builder-update-libportal.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/gnome.scm (gnome-builder)[patches]: Use it here.
[inputs, native-inputs]: Add python.
* gnu/packages/patches/pulseview-glib-2.68.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/electronics.scm (pulseview): Register it. Also disable the
tests which are failing and remove a trailing #t.
See the upstream advisory for more information on the security fixes
contained in these updates:
https://w1.fi/security/2022-1/sae-eap-pwd-side-channel-attack-update-2.txt
* gnu/packages/admin.scm (wpa-supplicant-minimal): Update to 2.10.
[source]: Remove obsolete patches.
* gnu/packages/patches/wpa-supplicant-CVE-2021-27803.patch,
gnu/packages/patches/wpa-supplicant-CVE-2021-30004.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
* gnu/packages/patches/gnome-control-center-libexecdir.patch: Add patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gnome.scm (gnome-control-center): Update to 41.2.
[source]: Apply patch.
[phases]{no-polkit-magic}: New phase.
[native-inputs]: Use new style. Add python.
[propagated-inputs]: Use new style. Replace gdk-pixbuf by librsvg.
Fixes: <https://issues.guix.gnu.org/issue/52784>.
* gnu/packages/wm.scm (xmonad-next): New variable. Compared to xmonad: Update
to 0.17.0.
[inputs]: Add GHC-DATA-DEFAULT-CLASS, remove GHC-EXTENSIBLE-EXCEPTIONS,
GHC-DATA-DEFAULT, GHC-SEMIGROUPS, and GHC-UTF8-STRING.
[native-inputs]: Add GHC-QUICKCHECK and GHC-QUICKCHECK-CLASSES.
(ghc-xmonad-contrib-next): New variable. Compared to ghc-xmonad-contrib:
Update to 0.17.0.
[propagated-inputs]: Remove GHC-OLD-TIME, GHC-EXTENSIBLE-EXCEPTIONS,
GHC-SEMIGROUPS.
[native-inputs]: Add GHC-QUICKCHECK and GHC-HSPEC.
(xmonad): Inherit from xmonad-next.
(ghc-xmonad-contrib): Inherit from ghc-xmonad-contrib-next.
* gnu/packages/patches/xmonad-next-dynamic-linking.patch: New patch. Update of
xmonad-dynamic-linking.patch to apply to xmonad-next.
* gnu/local.mk: Add it.
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
This is for the release branch.
Should we also use a graft for the master branch? It would be even
better if we could add a binutils-next package that users could install,
in my opinion.
* gnu/packages/patches/binutils-CVE-2021-45078.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (binutils)[source]: Use it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/patches/gtk-introspection-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gtk.scm (gtk): Update to 4.4.1.
[origin]: Apply new patch.
[phases]{pre-check}: Set TZDIR.
[native-inputs]: Add graphene, python-pygobject and tzdata.
* gnu/packages/python-xyz.scm (python-piexif): New variable.
* gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch: New file.
* gnu/packages/python-xyz.scm (dist_patch_DATA): Add it.
* gnu/packages/patches/jami-fix-crash-on-quit.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami): Apply it.
Fixes <https://issues.guix.gnu.org/53247>.
* gnu/packages/patches/calibre-fix-zeroconf.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ebook.scm (calibre)[source]: Use it.
* gnu/packages/patches/pjproject-correct-the-cflags-field.patch: Delete file.
* gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register them.
* gnu/packages/jami.scm (%jami-version): Update version string.
(%jami-sources): Adjust snippet.
(jami-apply-custom-patches): Use G-Exp.
(pjproject-jami): Use Savoir-faire Linux's fork and update to 2.11-0.e1f389d.
[phases]: Adjust and update accordingly.
(%ffmpeg-default-configure-flags): Capitalize and reword comments.
(ffmpeg-jami)[native-inputs]: Delete field.
[tests?]: Add comment and move into the SUBSTITUTE-KEYWORD-ARGUMENTS use.
[phases]: Use G-Exp and update the list of patches.
(libring): Deprecate and rename to...
(libjami): ... this. Move the arguments field before the inputs.
[tests?]: Add explanatory comment.
[configure-flags]: Add '--disable-agent', with explanatory comment.
[phases]{change-directory}: Rename to...
{change-directory/maybe}: ... this, to attempt but not enforce a directory
change so as to also support using a Git checkout as source.
{add-lib-dir}: Remove phase.
[inputs]: Use new style.
[native-inputs]: Add cppunit.
(libringclient): Deprecate and rename to...
{jami-libclient}: ... this.
[configure-flags]: Enable LIBWRAP.
[phases]{change-directory/maybe}: Renamed from change-directory, for reasons
described above.
[inputs]: Adjust accordingly.
(jami-gnome): Move the input fields below the arguments field.
[phases]{change-directory/maybe}: Renamed from change-directory, for reasons
described above.
[inputs]: Rename libringclient to jami-libclient and use new style.
[native-inputs]: Use new style.
[propagated-inputs]: Delete field.
(jami-qt): Deprecate and rename to...
(jami): ... this.
[phases]{change-directory/maybe}: Renamed from change-directory, for reasons
described above.
[native-inputs]: Add python.
[inputs]: Adjust accordingly.
[propagated-inputs]: Delete field.
* gnu/packages/patches/pjproject-install-libpjsua2.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/telephony.scm (pjproject): Apply it.
* gnu/packages/patches/nautilus-add-libportal-gtk3.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (nautilus)[source]: Use it.
* gnu/packages/patches/epiphany-update-libportal-usage.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (epiphany)[source]: Use it.
After the update to libportal-0.5 in 294476022f
eog fails with:
../eog-40.3/src/eog-util.c:48:10: fatal error: libportal/portal-gtk3.h: No such file or directory
This was already fixed upstream and this commits extracts the patch.
* gnu/packages/patches/eog-update-libportal-usage.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gnome.scm(eog)[origin]: Add new patch.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
* gnu/packages/bioinformatics.scm (htslib-for-stringtie): New variable.
* gnu/packages/patches/htslib-for-stringtie.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/maths.scm (dealii): Update to 9.3.2.
[source]: Add dealii-fix-compiliation-with-boost-1.78.patch and
dealii-fix-sundials.patch.
[inputs]: Use simplified format.
[native-inputs]: Use simplified format.
* gnu/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch:
New file.
* gnu/packages/patches/dealii-fix-sundials.patch: New file.
* gnu/local.mk: Add new patch files.
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
xpra would fail to start, because shared objects were
not installed. It’s not clear why it stopped working,
but it seems it was not the upgrade I reverted in commit
ab6d56d01d to fix#52869. Sorry for the
confusion :(
* gnu/packages/patches/xpra-4.2-install_libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/xorg.scm (xpra)[source]: Add new patch.
[arguments]: Ensure 'build phase runs and passes #:configure-flags
to setup.py.
* gnu/packages/bittorrent.scm (tremc)[source]: Add patch.
* gnu/packages/patches/tremc-fix-decodestring.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Reported by gnoo in #guix
* gnu/packages/hardware.scm (openrgb): New variable.
* gnu/packages/patches/openrgb-unbundle-hueplusplus.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Leo Famulari <leo@famulari.name>
* gnu/packages/hardware.scm (hueplusplus): New variable.
* gnu/packages/patches/hueplusplus-mbedtls.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/direct-connect.scm (linuxdcpp)[source]: Add patch and
snippet to fix build.
* gnu/packages/patches/linuxdcpp-openssl-1.1.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Widelands fails to build with boost 1.77 due to a missing include in one
of Wideland's header files that was previously indirectly included by
boost 1.76.
* gnu/packages/patches/widelands-add-missing-map-include.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/games.scm (widelands)[source]: Add patch.
Signed-off-by: Leo Famulari <leo@famulari.name>
Apply a patch backported from Ragel's "ragel-6" branch that allows it to
reliably generate usable code on aarch64-linux where the C/C++ "char" type is
unsigned by default, fixing the build of Knot on this platform.
* gnu/packages/patches/ragel-char-signedness.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ragel.scm (ragel)[arguments]: Add custom phase for AArch64 that
applies the patch.
[native-inputs]: Add "patch" and patch file on AArch64.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This code duplicates the (gnu system image) and (gnu build image) code. Using
VM for image generation is not needed, not portable and really slow. Remove
all the VM image generation code to make sure that only the image API is used.
* gnu/build/vm.scm: Remove it. Move the qemu-command procedure to ...
* gnu/build/marionette.scm: ... here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it.
* tests/modules.scm: Ditto.
* gnu/tests/install.scm: Ditto.
* gnu/system/vm.scm: Adapt it and remove expression->derivation-in-linux-vm,
qemu-img, system-qemu-image/shared-store and system-docker-image procedures.
* doc/guix.texi (G-Expressions): Adapt it.
* gnu/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch:
Add it.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-wlr): Add
dependencies on bash-minimal, grim and slurp, and hardcode the paths
in source.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/build-tools.scm (bear): Update to 3.0.17.
[source]: Remove patch, and…
[arguments]: …replace it with a new 'disable-TEST_BEFORE_INSTALL phase.
Don't explicitly return #t from other phases.
* gnu/packages/patches/bear-disable-preinstall-tests.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
If the python package matching trytond is not installed alongside to trytond,
PYTHONPATH is not set (or pointing to a wrong version) and trytond (and the
trytond tools) would not find the trytond modules.
This change introduces a new native-search-path GUIX_TRYTOND_MODULES_PATH.
Trytond gets patched to honor this environment variable.
Thanks to Maxim Cournoyer, whose code for guix-pythonpath-search-path
was the template for guix-trytonpath-search-path.
* gnu/packages/patches/trytond-add-guix_trytond_path.patch: New file.
* gnu/local.mk: (dist_patch_DATA): Add it.
* gnu/packages/tryton.scm (trytond): Use it.
[native-search-paths]: New element.
(guix-trytonpath-search-path): New function.
For adding modules, trytond uses entry-points, anyhow relying on the
modules being named "trytond.modules.xxx" and being placed in the same
filesystem path as "trytond.modules".
The package "trytond.modules" is not a namespace module, anyhow trytond
modules must be sub-modules of "trytond.modules". This works well if all
packages are installed into the same filesystem path "…/trytond/modules":
The Python importer will find all sub_modules at this place.
Anyhow, in Guix, modules don't share the same filesystem path and the
Python importer will not find them.
Solution is to add all trytond module's locations to
"trytond.modules._path__". This will make "trytond.module" behave much
like a namespace module and the importer pick up the module.
* gnu/packages/patches/trytond-add-egg-modules-to-path.patch: New file.
* gnu/packages/tryton.scm (trytond): Use it.
* gnu/local.mk (dist_patch_DATA): Add it