guix-commits
[Top][All Lists]
Advanced

[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 <ludo@gnu.org>
AuthorDate: Sat Dec 17 22:12:10 2022 +0100

    website: gnu-guix-1.4.0-released: Augment.
    
    * website/drafts/gnu-guix-1.4.0-released.md: 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/gnu-guix-1.4.0-released.md          | 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/gnu-guix-1.4.0-released.md 
b/website/drafts/gnu-guix-1.4.0-released.md
index e4b1d78..6d01eaa 100644
--- a/website/drafts/gnu-guix-1.4.0-released.md
+++ b/website/drafts/gnu-guix-1.4.0-released.md
@@ -59,7 +59,9 @@ improves performance through caching.  It also simplifies 
developer
 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
 
manual](https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html).
 
 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
 system](https://guix.gnu.org/manual/en/html_node/Invoking-guix-challenge.html),
 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](https://issues.guix.gnu.org/57978) 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
+deploy`**](https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-deploy.html).
 
 # Supporting long-term reproducibility
 
-TODO:
-  - 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
+archive](https://guix.gnu.org/en/blog/2019/connecting-reproducible-deployment-to-a-long-term-source-code-archive/).
+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 
Heritage.](/static/blog/img/disarchive-swh-diagram.png)
+
+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
+definitions](https://guix.gnu.org/manual/en/html_node/Defining-Packages.html)
+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](https://ngyro.com/software/disarchive.html), 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](https://ci.guix.gnu.org/jobset/disarchive) job to build a
+_Disarchive database_, which is available at
+[disarchive.gnu.org](https://disarchive.guix.gnu.org).  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](https://ngyro.com/pog-reports/latest/)”
+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
+Guix-HPC](https://hpc.guix.info/blog/2022/02/guix-hpc-activity-report-2021/).
+
+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`
 
command](https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-pack.html)
@@ -284,6 +324,46 @@ 
command**](https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-refresh.
 to automatically update package definitions has a new `generic-git`
 updater.
 
+# 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
+    
Manifests”](https://guix.gnu.org/manual/devel/en/html_node/Writing-Manifests.html)
+  - [“Replicating
+    
Guix”](https://guix.gnu.org/manual/devel/en/html_node/Replicating-Guix.html)
+  - [“Using TeX and
+    
LaTeX”](https://guix.gnu.org/manual/devel/en/html_node/Using-TeX-and-LaTeX.html)
+  - [“System Troubleshooting
+    
Tips”](https://guix.gnu.org/manual/devel/en/html_node/System-Troubleshooting-Tips.html)
+  - [“Foreign
+    
Architectures”](https://guix.gnu.org/manual/devel/en/html_node/Foreign-Architectures.html)
+  - [“Using Guix
+    
Interactively”](https://guix.gnu.org/manual/devel/en/html_node/Using-Guix-Interactively.html)
+
+The [Cookbook](https://guix.gnu.org/cookbook/en/html_node/) likewise
+keeps receiving how-to entries, check it out!
+
+The Guix reference manual is **fully translated** into
+[French](https://guix.gnu.org/manual/fr/html_node/) and
+[German](https://guix.gnu.org/manual/de/html_node/); 70% is available in
+[Spanish](https://guix.gnu.org/manual/es/html_node/), and there are
+[preliminary
+translations](https://translate.fedoraproject.org/projects/guix/documentation-manual/)
+in [Russian](https://guix.gnu.org/manual/ru/html_node/),
+[Chinese](https://guix.gnu.org/manual/zh-cn/html_node/), 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
+languages](https://translate.fedoraproject.org/projects/guix/guix/).
+Check out the manual on [how to
+help](https://guix.gnu.org/manual/devel/en/html_node/Translating-Guix.html)
+or this [guided tour by translator in chief Julien
+Lepiller](https://10years.guix.gnu.org/video/let-s-translate-guix-together-/)!
+
+
 # Stronger distribution
 
 The distribution itself has seen lots of changes.  First, the **Guix
@@ -297,30 +377,60 @@ per-application dynamic linker
 
cache](https://guix.gnu.org/en/blog/2021/taming-the-stat-storm-with-a-loader-cache/)
 that drastically reduces the number of `stat` and `open` calls due to
 shared library lookup (we’re glad it
-[inspired](https://github.com/fzakaria/shrinkwrap)
-[others](https://fzakaria.com/2022/09/12/making-runpath-redundant-for-nix.html)).
+[inspired](https://fzakaria.com/2022/09/12/making-runpath-redundant-for-nix.html)
+[others](https://stoppels.ch/2022/08/04/stop-searching-for-shared-libraries.html)).
 
-Guix System is now using [**the GNU Shepherd
-0.9**](https://www.gnu.org/software/shepherd), which addresses
+Guix System is now using [**version 0.9 of the
+GNU Shepherd**](https://www.gnu.org/software/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`
-sub-command**](https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html)
+services, the [new `guix system edit`
+sub-command](https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html)
 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**](https://guix.gnu.org/manual/en/html_node/Services.html) to
+choose from, including
+[Jami](https://guix.gnu.org/manual/en/html_node/Telephony-Services.html),
+[Samba](https://guix.gnu.org/manual/devel/en/html_node/Samba-Services.html),
+[fail2ban](https://guix.gnu.org/manual/devel/en/html_node/Miscellaneous-Services.html#Fail2Ban-service),
+and
+[Gitile](https://guix.gnu.org/manual/devel/en/html_node/Version-Control-Services.html#Gitile-Service),
+to name a few.
+
+A new interface is available to [**declare swap
+space**](https://guix.gnu.org/manual/devel/en/html_node/Swap-Space.html)
+in operating system configurations.  This interface is more expressive
+and more flexible than what was available before.
+
+Similarly, the interface to declare [**static networking
+configuration**](https://guix.gnu.org/manual/devel/en/html_node/Networking-Setup.html)
+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](https://repology.org/).  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 7.4.3.2, and
+Emacs 28.2 (with just-in-time compilation support!).
 
 On top of that, the Web site features a [**new package
 browser**](https://packages.guix.gnu.org)—at last!  Among other things,
 the package browse provides stable package URLs like
 `https://packages.guix.gnu.org/packages/PACKAGE`.
 
+The [`NEWS`
+file](https://git.savannah.gnu.org/cgit/guix.git/tree/NEWS?h=version-1.4.0)
+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 
b/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 
differ
diff --git a/website/static/blog/img/gnome-42.png 
b/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]