Skip to content
Menu
Open World News Open World News
  • Privacy Policy
Open World News Open World News

Category: News

GNU Guix: A build daemon in Guile

Posted on October 30, 2023 by Michael G

When using Guix, you might be aware of the
daemon.
It runs in the background but it’s a key component in Guix. Whenever
you’ve been using Guix to operate on the store,
whether that’s building something or downloading some substitutes,
it’s the daemon managing that operation.

The daemon also is a key part of the history of Guix. The Guix
project started mixing Guile with ideas from the Nix project, and the
guix-daemon is a fork of the nix-daemon with some tweaks made over
the years. Rather than being implemented in Guile though, the daemon
is implemented in C++ with some helpers written in Guile. Given the
focus on Guile in Guix, this is unusual, and I believe it’s made
working on the daemon less desirable, especially since rewriting it in
Guile has been discussed for many years now. It has been the topic of
a Google Summer of Code internship by Caleb Ristvedt back in 2017,
which helped clarify implementation details and led to some
preliminary code.

What would a build daemon in Guile bring?

Guix already has code written in Guile for doing some of what the
daemon does internally, so being able to use this Guile code inside
and outside the daemon would simplify Guix and allow removing the C++
code.

There isn’t Guile code yet for everything the daemon does though, so
getting to this point will make new exciting features easier to
implement. That could be things like making it easier to use Guix in
environments where running the daemon in the usual way is inconvenient
or infeasible. It may also help with portability, so help with
running Guix on the Hurd and new architectures.

As someone who’s more experienced writing Guile than C++, I’m also
hoping it’ll generally make hacking on the daemon more accessible.
This in turn might lead to new features. For example, I think having
a build daemon written in Guile will simplify implementing a way to
jump in to a build and inspect the environment.

With that in mind, I’m excited to announce that support from
NLNet
, will allow me to
focus for the next year on getting a Guile implementation of the build
daemon written and adopted.

A technical plan

Building on the recent discussion
of this topic on the guix-devel@gnu.org mailing list, here’s some
technical thoughts on how I’m approaching this.

While I think there’s a substantial amount of work to do, progress
towards a Guile guix-daemon has already been made. Given that things
in Guix have probably changed since this work has happened, I plan to
carefully review that existing work (most of which can be found on the
guile-daemon branch

The priority for the Guile daemon is backwards compatibility, so the
plan is to allow switching between the C++ implementation and Guile
implementation which any issues. This’ll require not making changes
to the database schema, and generally doing things in a way which the
current C++ daemon will understand.

Like the Guix Build Coordinator,
I’m planning to make the daemon a single process using
Fibers for concurrency. This is in
contrast to the forking model using by the C++ daemon. Even though
it’s not a priority to address feature issues with the current daemon,
this approach might help to reduce database contention issues
experienced with the current daemon, and allow for less locking, like
not having the big GC lock for example.

I’m planning on publishing more blog posts as the project progress, so
keep an eye on the Guix blog for future updates.

Acknowledgments

Thanks to Simon Tournier and Ludovic Courtès for providing feedback on
an earlier draft of this post.

About GNU Guix

GNU Guix is a transactional package manager
and an advanced distribution of the GNU system that respects user
freedom
.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system
distribution for i686, x86_64, ARMv7, AArch64 and POWER9 machines.

In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package
management, per-user profiles, and garbage collection. When used as a
standalone GNU/Linux distribution, Guix offers a declarative,
stateless approach to operating system configuration management. Guix
is highly customizable and hackable through
Guile programming interfaces and
extensions to the Scheme language.

Sculpt OS release 23.10 available

Posted on October 30, 2023 by Michael G
Modern PCs provide plenty of metering and power-management options. Version 23.10 of the Genode-based Sculpt operating system makes these features available via an interactive user interface. One can watch the temperature of each CPU core, monitor the individual CPU frequencies, switch between power profiles, and reveal details about power draw. Go to the download page to get started with Sculpt OS. It’s used as the day-to-day operating system by Genode developers, so it’s quite capable.

(Android) Blue Reflection Sun – 26 – w/ dodgy translation

Posted on October 29, 2023 by Michael G
(Android) Blue Reflection Sun – 26 – w/ dodgy translation

Transat Jacques Vabre Normandie Le Havre 2023 : ́ I Le baptême

Posted on October 29, 2023 by Michael G
« Aujourd’hui c’est le baptême de notre Class40 Google Chrome ! On va célébrer ça avant de partir en mer »

Derniers instants à terre pour Kieran et Basile qui s’apprêtent à prendre le départ demain. On a hâte de voir le duo du projet du Virtuel au Réel sur la ligne !

Pour sa 16ème édition, la Transat Jacques Vabre Normandie Le Havre met de nouveau le cap sur la Martinique ! La baie de Fort-de-France accueillera l’arrivée de la transatlantique en duo la plus longue et la plus exigeante, avec la promesse d’un joli spectacle.

© Transat Jacques Vabre 2023

Open CDK Irlande 2023

Posted on October 29, 2023 by Michael G
Compétition Internationale technique et combat en Irlande le week-end du 14-15 ocotbre 2023

A quick look back at the MSX PC platform, including Microsoft’s role, on its 40th birthday

Posted on October 29, 2023 by Michael G
We have written articles in the past year about some of Microsoft’s different product launches, like how its first real hardware device was an add-in card for the Apple II, or its not-so-smartwatch platform, SPOT. However, many people may not be aware that Microsoft had a small involvement in a movement to create a standardized PC platform that evolved into a huge video game platform in Japan. The platform is called MSX, and on October 21, 1983, just over 40 years ago, the first such PC that used the platform went on sale in Japan, the Mitsubishi ML-8000. The launch price for the PC was 59,800 yen or close to $400. One of my oldest computer memories is using an MSX with a friend at his parents’ house. I must’ve been 7 years old or something like that. The MSX was weirdly popular in The Netherlands due to Philips building quite a few of them.

Raccourci texte clavier Google

Posted on October 28, 2023 by Michael G
Salut tout le monde ,

Petite astuce clavier Google pour faire des raccourcis

Como foram os bastidores da última entrevista de Cássia Eller

Posted on October 28, 2023 by Michael G
Como foram os bastidores da última entrevista de Cássia Eller

Πρεμιέρα για την Κατερίνα Ζαρίφη και την εκπομπή «Οδός Ζαρίφη 2» – 23.10.23 | OPEN TV

Posted on October 28, 2023 by Michael G
Πρεμιέρα για την Κατερίνα Ζαρίφη και την εκπομπή «Οδός Ζαρίφη 2» – 23.10.23 | OPEN TV

Promet Source: Government Sites Tap AI for Enhanced UX and Engagement

Posted on October 28, 2023 by Michael G
As artificial intelligence (AI) is steadily seeping into nearly every aspect of modern life, government website stakeholders are sorting through what’s new and next to explore possibilities, embrace advantages, and avoid pitfalls. 
  • Previous
  • 1
  • …
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • …
  • 821
  • Next

Recent Posts

  • Mentorship program to nurture pre-seed tech founders
  • Qwen3-Coder
  • Open Source is Back
  • An easy way to develop Home Assistant integrations
  • SmartEsq has launched an AI-powered MFN Election tool

Categories

  • Android
  • Linux
  • News
  • Open Source

Recent Posts

  • Mentorship program to nurture pre-seed tech founders
  • Qwen3-Coder
  • Open Source is Back
  • An easy way to develop Home Assistant integrations
  • SmartEsq has launched an AI-powered MFN Election tool

Categories

  • Android
  • Linux
  • News
  • Open Source
©2025 Open World News | Powered by Superb Themes
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT