[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.
+
+
+
+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.
+
+
+
+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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: website: gnu-guix-1.4.0-released: Augment.,
Ludovic Courtès <=