Hello! The Guile 2.2 series is becoming a reality, so time has come to provide packages built with/for Guile 2.2 (aka. 2.1, aka. ‘guile-next’).
Commit 947a5d47a50252cb0b87b78a8f83f274dec593e2 adds a ‘package-for-guile-2.2’ procedure similar in spirit to ‘package-with-python2’. It provides a simple way to define 2.2-using package variants, equivalent to: guix build something --with-input=guile=guile-next You can install 2.0 and 2.2 variants of Guile packages side by side: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix package -p foo -i guile-minikanren guile2.2-minikanren guile guile-next The following packages will be installed: guile-minikanren 20150424.e844d85 /gnu/store/xib2gmbs0pgy572c8k7a658kph76yjra-guile-minikanren-20150424.e844d85 guile2.2-minikanren 20150424.e844d85 /gnu/store/8y3cqkrqhg9v3f0cvzcrhv7fcq7rz2yz-guile2.2-minikanren-20150424.e844d85 guile 2.0.11 /gnu/store/95x5fxvcggyaa8ymjjgv5q0dnzkrign9-guile-2.0.11 guile-next 2.1.3 /gnu/store/kqq37w4xnl1q21g6vz93qq1rdb2y7ayc-guile-next-2.1.3 4 packages in profile The following environment variable definitions may be needed: export PATH="foo/bin${PATH:+:}$PATH" export GUILE_LOAD_PATH="foo/share/guile/site/2.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH" export GUILE_LOAD_COMPILED_PATH="foo/lib/guile/2.0/ccache:foo/share/guile/site/2.0${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_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/ccache:foo/share/guile/site/2.2${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH" --8<---------------cut here---------------end--------------->8--- The main difficulty is that upstream build systems and some of our recipes hard-code “/2.0” in the name of the module installation directories. I’ve fixed that in a few packages in the commits preceding the one above. I’m afraid there’s no simple automated way to fix that, other than telling upstream developers to do the right thing. Anyway, have fun! Ludo’.