Hi Stephen,
> 1) If I use the Guile `GUILE_SITE_DIR` Autoconf macro to provide locations > of Guile's site, compiled code, and dynamic library extension directories, > installation of the package fails because it tries to install these into > Guile's own directory in the Guix store, which I believe is prohibited, > because Guix wants to maintain atomic, immutable, reproducible and > verifiable installations of each package. This is correct. > But what's more, not only does it > do that, but it is using the *wrong* Guile ... it resolves to the > /var/guix/profiles/system/profile Guile instead of the Guile installed into > the active profile for the current user. I don’t understand this. At what point does it use that Guile? When building a package that has “guile” as one of the inputs it is *that* variant of Guile that is used. Within the build environment Guix doesn’t use any profiles. > 2) If I don't use `GUILE_SITE_DIR`, I can arrange for the Autotools > installation to install files into > a structure such as: > > <module-store-dir>/lib/guile/<guile-version>/site-ccache > <module-store-dir>/lib/guile/<guile-version>/extensions > <module-store-dir>/share/guile/site/<guile-version>/my-module.scm > > This nicely results in symlinks pointing into the module store directory > being populated into the following directories: > > <install-profile>/lib/guile/<guile-version>/site-ccache > <install-profile>/lib/guile/<guile-version>/extensions > <install-profile>/share/guile/site/<guile-version> > > I think this is close to what should be the correct result, but it doesn't > quite work because `extensiondir` in %guile-build-info` points into the > store directory for Guile, so the compiled C dynamic libraries cannot be > located. As long as the configure script provides an option to override the location Guix will be happy. -- Ricardo
