[bug#33957] gnu: Add missing search-path definitions to guile libraries.

Message ID 93acd190-1337-29fd-2f10-1eba69ffe214@riseup.net
State Accepted
Headers show
Series [bug#33957] gnu: Add missing search-path definitions to guile libraries. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

swedebugia Jan. 2, 2019, 10:59 p.m. UTC
I added missing search-path definitions for guile 2.2.

Comments

Julien Lepiller Jan. 3, 2019, 7:43 a.m. UTC | #1
Le 3 janvier 2019 01:59:00 GMT+03:00, swedebugia <swedebugia@riseup.net> a écrit :
>I added missing search-path definitions for guile 2.2.

Hi,

I don't think this is needed. As long as you install guile and its libraries in the same profile, guix will tell you what to do with the search-path.

I'm afraid it'll break on packages that use a different guile as they are defined from the guile2.2 definition.

What are you trying to fix exactly?
swedebugia Jan. 3, 2019, 4:29 p.m. UTC | #2
On 2019-01-03 08:43, Julien Lepiller wrote:
> Le 3 janvier 2019 01:59:00 GMT+03:00, swedebugia <swedebugia@riseup.net> a écrit :
>> I added missing search-path definitions for guile 2.2.
> 
> Hi,
> 
> I don't think this is needed. As long as you install guile and its libraries in the same profile, guix will tell you what to do with the search-path.
> 
> I'm afraid it'll break on packages that use a different guile as they are defined from the guile2.2 definition.

I don't agree. We simply update the paths when we update guile.

> 
> What are you trying to fix exactly?
> 

In parabola. When I have guile from parabola installed and install 
guile-x and guile-y libraries from guix it does not inform about 
search-paths.
Neither does the output of guix package --search-paths.

Maybe we should write a section in the manual about why we choose to not 
include these search-paths if that is the outcome.

Thoughts?
Ludovic Courtès Jan. 12, 2019, 1:46 p.m. UTC | #3
Hello,

swedebugia <swedebugia@riseup.net> skribis:

> On 2019-01-03 08:43, Julien Lepiller wrote:
>> Le 3 janvier 2019 01:59:00 GMT+03:00, swedebugia <swedebugia@riseup.net> a écrit :
>>> I added missing search-path definitions for guile 2.2.
>>
>> Hi,
>>
>> I don't think this is needed. As long as you install guile and its libraries in the same profile, guix will tell you what to do with the search-path.

Indeed.  I’m closing the issue.

>> What are you trying to fix exactly?
>>
>
> In parabola. When I have guile from parabola installed and install
> guile-x and guile-y libraries from guix it does not inform about
> search-paths.
> Neither does the output of guix package --search-paths.

Could you paste a concrete example?  Here’s what I see:

--8<---------------cut here---------------start------------->8---
$ guix package -p foo -i guile guile-json
La jenaj pakoj estos instalataj:
    guile	2.2.4	/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4
   guile-json	1.2.0	/gnu/store/xz8q1jn7j9rz3fbr9rg326lml931936s-guile-json-1.2.0

substitute: updating substitutes from 'https://berlin.guixsd.org'... 100.0%
substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
La jena derivo estos konstruata:
   /gnu/store/54pckxgg3nvlg53vqlcbrffdrar2rpgk-profile.drv
The following profile hooks will be built:
   /gnu/store/vgahfx593xs72ki6nz9p3nlr4csjddyk-manual-database.drv
   /gnu/store/0iqqr44bbny1n5qjnpwhr43h03lgfpvq-ca-certificate-bundle.drv
   /gnu/store/8w1nqglsni60xa5k18dx76iqn7c59pkw-info-dir.drv
   /gnu/store/fczh2vzzi3v3rzla6h3gnhp3hcvdbfdq-fonts-dir.drv
building CA certificate bundle...
building fonts directory...
building directory of Info manuals...
building database for manual pages...
building /gnu/store/54pckxgg3nvlg53vqlcbrffdrar2rpgk-profile.drv...
pakoj 2 en profilo
La jenaj medi-variablaj difinoj povos esti necesaj:
   export PATH="foo/bin${PATH:+:}$PATH"
   export GUILE_LOAD_PATH="foo/share/guile/site/2.2${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
   export GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.2/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
$ guix package -p foo --search-paths
export PATH="foo/bin"
export GUILE_LOAD_PATH="foo/share/guile/site/2.2"
export GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.2/site-ccache"
--8<---------------cut here---------------end--------------->8---

As you can see we do get GUILE_LOAD_PATH here.

Thanks,
Ludo’.

Patch

From 8517768ad2315db41766be8dc755f50891e113bd Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
Date: Wed, 2 Jan 2019 23:55:41 +0100
Subject: [PATCH] gnu: Add missing search-path definitions to guile libraries.

* gnu/packages/guile.scm (guile-reader, guile-ncurses, guile-hall, guile-ics,
guile-lib, guile-json, guile-minikanren, guile-miniadapton, guile-irregex,
guile-gdbm-ffi, guile-sqlite3, haunt, guile-config, guile-redis, guile-wisp,
guile-sly, g-wrap, guile-dbi, guile-dsv, guile-xosd, guile-daemon,
guile-commonmark, guile-bytestructures, guile-aspell, guile-8sync,
guile-fibers, guile-git, guile-syntax-highlight, guile-sjson, guile-colorized,
guile-pfds, guile-aa-tree, guile-simple-zmq, jupyter-guile-kernel,
guile-sparql, guile-debbugs, guile-email, guile-debbugs-next, guile-newt,
guile-mastodon): Add search-path definitions.
---
 gnu/packages/guile.scm | 273 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 273 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 07b568ee7..03afcddba 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -629,6 +629,13 @@  more.")
     (native-inputs `(("pkgconfig" ,pkg-config)
                      ("gperf" ,gperf-3.0)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Framework for building readers for GNU Guile")
     (description
      "Guile-Reader is a simple framework for building readers for GNU Guile.
@@ -684,6 +691,13 @@  many readers as needed).")
                        (format #f "\"~a/lib/guile/2.2/libguile-ncurses\""
                                out)))
                     #t)))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://www.gnu.org/software/guile-ncurses/")
     (synopsis "Guile bindings to ncurses")
     (description
@@ -815,6 +829,13 @@  format is also supported.")
     (inputs `(("guile" ,guile-2.2)))
     (propagated-inputs
      `(("guile-config" ,guile-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Guile project tooling")
     (description
      "Hall is a command-line application and a set of Guile libraries that
@@ -848,6 +869,13 @@  provides tight coupling to Guix.")
        ("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2) ("which" ,which)))
     (propagated-inputs `(("guile-lib" ,guile-lib)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/artyom-poptsov/guile-ics")
     (synopsis "Guile parser library for the iCalendar format")
     (description
@@ -885,6 +913,13 @@  $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
              #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://www.nongnu.org/guile-lib/")
     (synopsis "Collection of useful Guile Scheme modules")
     (description
@@ -920,6 +955,13 @@  for Guile\".")
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("guile" ,guile-2.2)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "JSON module for Guile")
     (description
      "Guile-JSON supports parsing and building JSON documents according to the
@@ -957,6 +999,13 @@  specification.  These are the main features:
     (build-system guile-build-system)
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/ijp/minikanren")
     (synopsis "MiniKanren declarative logic system, packaged for Guile")
     (description
@@ -995,6 +1044,13 @@  See http://minikanren.org/ for more on miniKanren generally.")
       (build-system guile-build-system)
       (native-inputs
        `(("guile" ,guile-2.2)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (home-page "https://github.com/fisherdj/miniAdapton")
       (synopsis "Minimal implementation of incremental computation in Guile
 Scheme")
@@ -1039,6 +1095,13 @@  understand, extend, and port to host languages other than Scheme.")
        #:source-directory "src"))
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "http://synthcode.com/scheme/irregex")
     (synopsis "S-expression based regular expressions")
     (description
@@ -1095,6 +1158,13 @@  inspired by the SCSH regular expression system.")
      `(("guile" ,guile-2.2)))
     (inputs
      `(("gdbm" ,gdbm)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/ijp/guile-gdbm")
     (synopsis "Guile bindings to the GDBM library via Guile's FFI")
     (description
@@ -1130,6 +1200,13 @@  Guile's foreign function interface.")
     (inputs
      `(("guile" ,guile-2.2)
        ("sqlite" ,sqlite)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Access SQLite databases from Guile")
     (description
      "This package provides Guile bindings to the SQLite database system.")
@@ -1195,6 +1272,13 @@  Guile's foreign function interface.")
     (propagated-inputs
      `(("guile-reader" ,guile-reader)
        ("guile-commonmark" ,guile-commonmark)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Functional static site generator")
     (description "Haunt is a static site generator written in Guile
 Scheme.  Haunt features a functional build system and an extensible
@@ -1227,6 +1311,13 @@  interface for reading articles in any format.")
        ("pkg-config" ,pkg-config)
        ("texinfo" ,texinfo)))
     (inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis
      "Guile application configuration parsing library.")
     (description
@@ -1258,6 +1349,13 @@  above command-line parameters.")
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)
        ("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Redis client library for Guile")
     (description "Guile-redis provides a Scheme interface to the Redis
 key-value cache and store.")
@@ -1336,6 +1434,13 @@  key-value cache and store.")
     (native-inputs
      `(("python" ,python)
        ("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Whitespace to lisp syntax for Guile")
     (description "Wisp is a syntax for Guile which provides a Python-like
 whitespace-significant language.  It may be easier on the eyes for some
@@ -1388,6 +1493,13 @@  users and in some situations.")
        ("gsl" ,gsl)
        ("freeimage" ,freeimage)
        ("mesa" ,mesa)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "2D/3D game engine for GNU Guile")
     (description "Sly is a 2D/3D game engine written in Guile Scheme.  Sly
 features a functional reactive programming interface and live coding
@@ -1425,6 +1537,13 @@  capabilities.")
                  (("guilemoduledir =.*guile/site" all)
                   (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
                #t))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Generate C bindings for Guile")
     (description "G-Wrap is a tool and Guile library for generating function
 wrappers for inter-language calls.  It currently only supports generating Guile
@@ -1468,6 +1587,13 @@  provides access to that interface and its types from the Scheme level.")
      `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3))) ; only shared library, no scheme files
     (propagated-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Guile database abstraction layer")
     (home-page "http://home.gna.org/guile-dbi/guile-dbi.html")
     (description
@@ -1550,6 +1676,13 @@  $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
                          "guilesitedir = \
 $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
                       #t)))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/artyom-poptsov/guile-dsv")
     (synopsis "DSV module for Guile")
     (description
@@ -1579,6 +1712,13 @@  Unix-style DSV format and RFC 4180 format.")
        ("libxext" ,libxext)
        ("libxinerama" ,libxinerama)
        ("xosd" ,xosd)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/alezost/guile-xosd")
     (synopsis "XOSD bindings for Guile")
     (description
@@ -1604,6 +1744,13 @@  library}.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/alezost/guile-daemon")
     (synopsis "Evaluate code in a running Guile process")
     (description
@@ -1629,6 +1776,13 @@  you send to a FIFO file.")
      `(("guile" ,guile-2.2)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "CommonMark parser for Guile")
     (description
      "guile-commonmark is a library for parsing CommonMark, a fully specified
@@ -1661,6 +1815,13 @@  is no support for parsing block and inline level HTML.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/TaylanUB/scheme-bytestructures")
     (synopsis "Structured access to bytevector contents for Guile")
     (description
@@ -1707,6 +1868,13 @@  $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2)
               ("aspell" ,aspell)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/spk121/guile-aspell")
     (synopsis "Spell-checking from Guile")
     (description
@@ -1807,6 +1975,13 @@  and then run @command{scm example.scm}.")
                       ;; quiet warnings
                       (setenv "GUILE_AUTO_COMPILE" "0")
                       #t)))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://gnu.org/s/8sync/")
     (synopsis "Asynchronous actor model library for Guile")
     (description
@@ -1847,6 +2022,13 @@  Note that 8sync is only available for Guile 2.2.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Lightweight concurrency facility for Guile")
     (description
      "Fibers is a Guile library that implements a a lightweight concurrency
@@ -1886,6 +2068,13 @@  is not available for Guile 2.0.")
        ("libgit2" ,libgit2)))
     (propagated-inputs
      `(("guile-bytestructures" ,guile-bytestructures)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Guile bindings for libgit2")
     (description
      "This package provides Guile bindings to libgit2, a library to
@@ -1913,6 +2102,13 @@  manipulate repositories of the Git version control system.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "General-purpose syntax highlighter for GNU Guile")
     (description "Guile-syntax-highlight is a general-purpose syntax
 highlighting library for GNU Guile.  It can parse code written in various
@@ -1939,6 +2135,13 @@  HTML (via SXML) or any other format for rendering.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://gitlab.com/dustyweb/guile-sjson")
     (synopsis "S-expression based json reader/writer for Guile")
     (description "guile-sjson is a json reader/writer for Guile.
@@ -1960,6 +2163,13 @@  It has a nice, simple s-expression based syntax.")
     (build-system guile-build-system)
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://github.com/NalaGinrut/guile-colorized")
     (synopsis "Colorized REPL for Guile")
     (description
@@ -2018,6 +2228,13 @@  It has a nice, simple s-expression based syntax.")
                       #t)))))
     (native-inputs
      `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (synopsis "Purely functional data structures for Guile")
     (description
      "This package provides purely functional data structures written in R6RS
@@ -2051,6 +2268,13 @@  Vicare Scheme and IronScheme.  Right now it contains:
                 "0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
     (build-system guile-build-system)
     (native-inputs `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     ;; https://savannah.nongnu.org/projects/guile-aa-tree
     (home-page "https://qlfiles.net/guile-aa-tree/")
     (synopsis "AA tree data structure for Guile")
@@ -2093,6 +2317,13 @@  convenient nested tree operations.")
        `(("guile" ,guile-2.2)))
       (inputs
        `(("zeromq" ,zeromq)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (home-page "https://github.com/jerry40/guile-simple-zmq")
       (synopsis "Guile wrapper over ZeroMQ library")
       (description
@@ -2182,6 +2413,13 @@  messaging library.")
          ("guile" ,guile-2.2)
          ("guile-json" ,guile-json)
          ("guile-simple-zmq" ,guile-simple-zmq)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (synopsis "Guile kernel for the Jupyter Notebook")
       (description
        "This package provides a Guile 2.x kernel for the Jupyter Notebook.  It
@@ -2206,6 +2444,13 @@  allows users to interact with the Guile REPL through Jupyter.")
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("guile" ,guile-2.2)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
    (home-page "https://github.com/roelj/guile-sparql")
    (synopsis "SPARQL module for Guile")
    (description "This package provides the functionality to query a SPARQL
@@ -2233,6 +2478,13 @@  using S-expressions.")
     (native-inputs
      `(("guile" ,guile-2.2)
        ("pkg-config" ,pkg-config)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://savannah.gnu.org/projects/guile-debbugs/")
     (synopsis "Guile interface to the Debbugs bug tracking service")
     (description
@@ -2263,6 +2515,13 @@  tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
          ("automake" ,automake)))
       (inputs
        `(("guile" ,guile-2.2)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (home-page "https://git.systemreboot.net/guile-email")
       (synopsis "Guile email parser")
       (description "This package provides an email parser written in pure
@@ -2321,6 +2580,13 @@  Guile.")
        `(("autoconf" ,autoconf)
          ("automake" ,automake)
          ("pkg-config" ,pkg-config)))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GUILE_LOAD_PATH")
+              (files '("share/guile/site/2.2")))
+             (search-path-specification
+              (variable "GUILE_LOAD_COMPILED_PATH")
+              (files '("lib/guile/2.2/site-ccache")))))
       (synopsis "Guile bindings to Newt")
       (description
        "This package provides bindings for Newt, a programming library for
@@ -2351,6 +2617,13 @@  Scheme by using Guile’s foreign function interface.")
      `(("guile" ,guile-2.2)
        ("gnutls" ,gnutls)
        ("guile-json" ,guile-json)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUILE_LOAD_PATH")
+            (files '("share/guile/site/2.2")))
+           (search-path-specification
+            (variable "GUILE_LOAD_COMPILED_PATH")
+            (files '("lib/guile/2.2/site-ccache")))))
     (home-page "https://framagit.org/prouby/guile-mastodon")
     (synopsis "Guile Mastodon REST API module")
     (description "This package provides Guile modules to access the
-- 
2.19.2