[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: website: gnu-guix-1.4.0-released: Augment.

From: Ludovic Courtès
Subject: branch master updated: website: gnu-guix-1.4.0-released: Augment.
Date: Sat, 17 Dec 2022 16:16:53 -0500

This is an automated email from the git hooks/post-receive script.

civodul pushed a commit to branch master
in repository guix-artwork.

The following commit(s) were added to refs/heads/master by this push:
     new c741f94  website: gnu-guix-1.4.0-released: Augment.
c741f94 is described below

commit c741f94f5a7c0bae11650ff7d41e1729d5ac1e8c
Author: Ludovic Courtès <>
AuthorDate: Sat Dec 17 22:12:10 2022 +0100

    website: gnu-guix-1.4.0-released: Augment.
    * website/drafts/ Write about SWH,
    Disarchive, documentation, packages, and services.
    * website/static/blog/img/disarchive-swh-diagram.png,
    website/static/blog/img/gnome-42.png: New files.
 website/drafts/          | 152 ++++++++++++++++++---
 website/static/blog/img/disarchive-swh-diagram.png | Bin 0 -> 123894 bytes
 website/static/blog/img/gnome-42.png               | Bin 0 -> 482308 bytes
 3 files changed, 131 insertions(+), 21 deletions(-)

diff --git a/website/drafts/ 
index e4b1d78..6d01eaa 100644
--- a/website/drafts/
+++ b/website/drafts/
@@ -59,7 +59,9 @@ improves performance through caching.  It also simplifies 
 workflows by automatically recognizing `guix.scm` and `manifest.scm`
 files present in a directory: drop one of these in your project and
 other developers can get started hacking just by running `guix shell`,
-without arguments.  [Read more about `guix shell` in the
+without arguments.  Speaking of which: `--export-manifest` will get you
+started by “converting” command-line arguments into a manifest.  [Read
+more about `guix shell` in the
 Another `guix shell` innovation is optional **emulation of the
@@ -126,20 +128,58 @@ for Molecular Medicine in Berlin, Germany), which has two 
benefits: it
 lets us [challenge substitutes produced by each
 and it provides redundancy should one of these two build farms go down.
-Guix is now configured by default to **fetch substitutes from any of
-these two build farms**.  In addition, a
+Guix is now configured by default to fetch substitutes from any of these
+two build farms.  In addition, a
 [bug]( was fixed, ensuring that Guix
 gracefully switches to another substitute provider when one goes down.
-  - TODO: guix deploy --execute
+Those who’ve come to enjoy declarative deployment of entire fleets of
+machines will probably like the new [**`--execute` option of `guix
 # Supporting long-term reproducibility
-  - SWH fallback for channels
-  - Disarchive
-# Better support for bundles and images
+A salient feature of Guix is its support for reproducible software
+deployment.  There are several aspects to that, one of which is being
+able to retrieve source code [from the Software Heritage
+While Guix was already able to fetch the source code of packages from
+Software Heritage as a fallback, with version 1.4.0 **the source code of
+Guix channels is automatically fetched from Software Heritage** if its
+original URL has become unreachable.
+![Diagram showing Disarchive and Software 
+In addition, Guix is now **able to retrieve and restore source code
+tarballs** such as `tar.gz` files.  Software Heritage archives the
+_contents_ of tarballs, but not tarball themselves.  This created an
+impedance mismatch for Guix, where the majority of [package
+refer to tarballs and expect to be able to verify the content hash _of
+the tarball itself_.  To bridge this gap, Timothy Sample developed
+[Disarchive](, a tool that
+can (1) _extract_ tarball metadata, and (2) _reconstruct_ a tarball from
+its previously-extracted metadata and the actual files.
+The Guix project has set up a [continuous
+integration]( job to build a
+_Disarchive database_, which is available at
+[](  The database
+includes metadata for all the tarballs packages refer to.  When a source
+code tarball disappears, Guix now transparently retrieves tarball
+metadata from Disarchive database, fetches file contents from Software
+Heritage, and reconstructs the original tarball.  As of the
+“[Preservation of Guix Report](”
+published in January 2022, almost 75% of the `.tar.gz` files packages
+refer to are now fully archived with Disarchive and Software Heritage.
+You can read more in the [annual report of
+This is a significant step forward to provide, for the first time, a
+tool that can redeploy past software environments while maintaining the
+connection between source code and binaries.
+# Application bundles and system images
 The [`guix pack`
@@ -284,6 +324,46 @@ 
 to automatically update package definitions has a new `generic-git`
+# Documentation
+As with past releases, we have worked on documentation to make Guix more
+approachable.  “How-to” kind of sections have been written or improved,
+such as:
+  - [“Writing
+  - [“Replicating
+  - [“Using TeX and
+  - [“System Troubleshooting
+  - [“Foreign
+  - [“Using Guix
+The [Cookbook]( likewise
+keeps receiving how-to entries, check it out!
+The Guix reference manual is **fully translated** into
+[French]( and
+[German](; 70% is available in
+[Spanish](, and there are
+in [Russian](,
+[Chinese](, and other
+languages.  Guix itself is fully translated in French, with almost
+complete translations in Brazilian Portuguese, German, Slovak, and
+Spanish, and partial translations in [almost twenty other
+Check out the manual on [how to
+or this [guided tour by translator in chief Julien
 # Stronger distribution
 The distribution itself has seen lots of changes.  First, the **Guix
@@ -297,30 +377,60 @@ per-application dynamic linker
 that drastically reduces the number of `stat` and `open` calls due to
 shared library lookup (we’re glad it
-Guix System is now using [**the GNU Shepherd
-0.9**](, which addresses
+Guix System is now using [**version 0.9 of the
+GNU Shepherd**](, which addresses
 shortcomings, improves logging, and adds features such as systemd-style
 service activation and inetd-style service startup.  Speaking of
-services, the [**new `guix system edit`
+services, the [new `guix system edit`
 provides an additional way for users to inspect services, completing
 `guix system search` and `guix system extension-graph`.
-TODO: New services.
-Among the many noteworthy package upgrades and addition, **GNOME 42** is
-now available.  KDE is not there yet but tens of KDE packages have been
-added so we’re getting closer; Qt 6 is also available.
-TODO: More about new packages.
+There are 15 [**new system
+services**]( to
+choose from, including
+to name a few.
+A new interface is available to [**declare swap
+in operating system configurations.  This interface is more expressive
+and more flexible than what was available before.
+Similarly, the interface to declare [**static networking
+has been overhauled.  On GNU/Linux, it lets you do roughly the same as
+the `ip` command, only in a declarative fashion and with static checks
+to prevent you from deploying obviously broken configurations.
+![Screenshot of GNOME 42.](/static/blog/img/gnome-42.png)
+More than **5,300 packages were added** for a total of almost 22,000
+packages, making Guix one of the top-ten biggest distros [according to
+Repology](  Among the many noteworthy package
+upgrades and addition, **GNOME 42** is now available.  KDE is not there
+yet but tens of KDE packages have been added so we’re getting closer;
+Qt 6 is also available.  The distribution also comes with GCC 12.2.0,
+GNU libc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice, and
+Emacs 28.2 (with just-in-time compilation support!).
 On top of that, the Web site features a [**new package
 browser**](—at last!  Among other things,
 the package browse provides stable package URLs like
+The [`NEWS`
+lists additional noteworthy changes and bug fixes you may be
+interested in.
 # Try it!
 There are several ways to get started using Guix:
diff --git a/website/static/blog/img/disarchive-swh-diagram.png 
new file mode 100644
index 0000000..b53e2e0
Binary files /dev/null and b/website/static/blog/img/disarchive-swh-diagram.png 
diff --git a/website/static/blog/img/gnome-42.png 
new file mode 100644
index 0000000..1f855d6
Binary files /dev/null and b/website/static/blog/img/gnome-42.png differ

reply via email to

[Prev in Thread] Current Thread [Next in Thread]