hi Zihao! I think the substitution is OK. But if you want to package for Guix, you need to go Guix way. Guix package has made a similar approach, for example, you may check "guix edit artanis" to see how it substitutes the dir for Artanis. Best regards. On Mon, Feb 28, 2022 at 12:27 AM Zhu Zihao wrote: > > Currently, the guile-3.0.pc.in in 'meta' use the variable substitution > directly. > > prefix=@prefix@ > exec_prefix=@exec_prefix@ > bindir=@bindir@ > libdir=@libdir@ > includedir=@includedir@ > datarootdir=@datarootdir@ > datadir=@datadir@ > pkgdatadir=@datadir@/guile > pkgincludedir=@includedir@/guile > > sitedir=@sitedir@ > extensiondir=@libdir@/guile/@GUILE_EFFECTIVE_VERSION@/extensions > siteccachedir=@libdir@/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache > libguileinterface=@LIBGUILE_INTERFACE@ > > sitedir, siteccachedir and extensiondir will be subsituted to the full > path of the install path of Guile. > > But sometimes I want to install guile module in different > prefix(e.g. NixOS, Guix, flatpak). I have to adjust these variable > manually. > > My idea is change the definition of sitedir, siteccachedir, extensiondir > use the variable substition of pkg-config instead of autotools. > > For example > > sitedir=${datadir}/guile/site/@GUILE_EFFECTIVE_VERSION@ > siteccachedir=${libdir}/guile/@GUILE_EFFECTIVE_VERSION@/extensions > > .... > > So I can use > > pkg-config guile-3.0 --define-variable=libdir=$MY_PREFIX > --variable=siteccachedir > > to get the correct install directory. > > Thoughts? > -- > Retrieve my PGP public key: > > gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F > > Zihao >