diff --git a/Makefile b/Makefile index 67943ae4bcc89ed22b3f0c3a1e086682fe2289c7..9f577abae889eec7fee7e777cbd01a7ba9f6d177 100644 --- a/Makefile +++ b/Makefile @@ -96,7 +96,7 @@ has-guix-p: # /etc/ssl/certs. guix-share-tarball-arg = $${TARBALLS:+"--share=$$TARBALLS"} portable-release-tarball: has-guix-p - guix environment --container --network \ + guix shell --container --network \ --preserve=TARBALLS $(guix-share-tarball-arg) \ --expose=/usr/bin/env \ --expose=$$SSL_CERT_DIR=/etc/ssl/certs \ diff --git a/build.py b/build.py index 25a4939b782a577449e84638e00635231caef9ed..d2d7f0ffc0e5751b624dc8dc1f4226f32e49ff48 100755 --- a/build.py +++ b/build.py @@ -306,11 +306,8 @@ def run_dependencies(args): print("The win32 version does not install dependencies with this script.\nPlease continue with the --install instruction.") sys.exit(1) elif args.distribution == 'guix': - print("Building the environment defined in 'guix/manifest.scm'...") - execute_script(['mkdir -p ~/.config/guix/profiles', - ('guix time-machine --channels=guix/channels.scm -- ' - 'package --manifest=guix/manifest.scm ' - '--profile=$HOME/.config/guix/profiles/jami')]) + print("Building the profile defined in 'guix/manifest.scm'...") + execute_script(['guix shell --manifest=guix/manifest.scm -- true']) else: print("Not yet implemented for current distribution (%s). Please continue with the --install instruction. Note: You may need to install some dependencies manually." % @@ -421,11 +418,14 @@ def run_install(args): share_tarballs_args = [] if 'TARBALLS' in os.environ: share_tarballs_args = ['--preserve=TARBALLS', - f'--share={os.environ["TARBALLS"]}'] + f'--share={os.environ["TARBALLS"]}'] + else: + print('info: consider setting the TARBALLS environment variable ' + 'to a stable writable location to avoid loosing ' + 'cached tarballs') # Note: we must expose /gnu/store because /etc/ssl/certs # contains certs that are symlinks to store items. - command = ['guix', 'time-machine', '-C', 'guix/channels.scm', '--', - 'environment', '--manifest=guix/manifest.scm', + command = ['guix', 'shell', '--manifest=guix/manifest.scm', '--expose=/gnu/store', '--expose=/etc/ssl/certs', '--expose=/usr/bin/env', '--container', '--network'] + share_tarballs_args \ @@ -727,13 +727,12 @@ def main(): print('FIXME: Qt fails loading QML modules due to ' 'https://issues.guix.gnu.org/47655') # Relaunch this script, this time in a pure Guix environment. - guix_args = ['time-machine', '--channels=guix/channels.scm', - '--', 'environment', '--pure', + guix_args = ['shell', '--pure', # to allow pulseaudio to connect to an existing server "-E", "XAUTHORITY", "-E", "XDG_RUNTIME_DIR", '--manifest=guix/manifest.scm', '--'] args = sys.argv + ['--distribution=guix'] - print('Running in a guix environment spawned with: guix {}' + print('Running in a guix shell spawned with: guix {}' .format(str.join(' ', guix_args + args))) os.execlp('guix', 'guix', *(guix_args + args)) else: diff --git a/guix/channels.scm b/guix/channels.scm deleted file mode 100644 index b31ce8dbc293237b5b6ef9e868a6e16d0082bd9e..0000000000000000000000000000000000000000 --- a/guix/channels.scm +++ /dev/null @@ -1,8 +0,0 @@ -(list (channel - (inherit %default-guix-channel) - ;; Use the staging branch for now, as it includes more debug - ;; symbols and fixes a propagation conflict between - ;; gdk-pixbuf+svg and gdk-pixbuf. - (branch "staging") - (commit - "42231bc15df441d6426dec57283aca9ae7a03fcf"))) diff --git a/guix/manifest.scm b/guix/manifest.scm index cf000c3bbda6105e2ee4298b9bbdd7d0181edd6d..cc6e44c31ee716ec8b6e32287deca899d99c12f4 100644 --- a/guix/manifest.scm +++ b/guix/manifest.scm @@ -19,7 +19,7 @@ ;;; ;;; It can also be invoked directly to spawn a development environment, like so: ;;; -;;; $ guix environment --pure --manifest=guix/manifest.scm +;;; $ guix shell --pure --manifest=guix/manifest.scm (specifications->manifest (list