Re: Profiling of man-db database generation with zlib vs zstd

2022-03-26 Thread Maxim Cournoyer
Hello, Maxim Cournoyer writes: > Hi Ludovic! > > Ludovic Courtès writes: > >> Hi, >> >> Maxim Cournoyer skribis: >> >>> scheme@(guix man-db)> ,profile (define a (mandb-entries >>> "/gnu/store/jgc63dxvpd8zq0p8al71x07a02qj8i1b-man-pages-5.13/share/man")) >>> % cumulative self >>> time s

Re: Hardened toolchain

2022-03-26 Thread Development of GNU Guix and the GNU System distribution.
Mar 26, 2022, 19:33 by kias...@tutanota.com: > Hi Simon, > > Mar 25, 2022, 22:54 by zimon.touto...@gmail.com: > >> Hi, >> >> On Fri, 25 Mar 2022 at 20:39, kias...@tutanota.com wrote: >> >>> the middle of guix build -f hardened.scm >>> building /gnu/store/1nlrgg5ryl486haw0kdqnbp4wa17lhwh-gc

Re: XDG_CONFIG_DIR and dotfiles handling in Guix Home

2022-03-26 Thread Ludovic Courtès
Hi Andrew, Andrew Tropin skribis: > Another downside of home-files-service-type is that for historical > reasons it requires to use a path without leading dot and adds it > automatically during activation, which makes it impossible to create a > directory or file without leading dot with it, for

Re: The Shepherd on Fibers

2022-03-26 Thread Ludovic Courtès
Hi Maxim! Maxim Cournoyer skribis: >> The goal is to make shepherd (the daemon) use Fibers¹ for concurrency. > > Very exciting work! I can't wait to have my 5 min boot reduced (mostly > busy-waiting on the child-hurd VM to start) ;-). Same here! The childhurd service will need some help as it

Re: Hardened toolchain

2022-03-26 Thread Development of GNU Guix and the GNU System distribution.
Hi Simon, Mar 25, 2022, 22:54 by zimon.touto...@gmail.com: > Hi, > > On Fri, 25 Mar 2022 at 20:39, kias...@tutanota.com wrote: > >> the middle of guix build -f hardened.scm >> building /gnu/store/1nlrgg5ryl486haw0kdqnbp4wa17lhwh-gcc-10.3.0.drv... >> Backtrace: >> In ice-9/eval.scm: >>   

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]: > Thoughts? To avoid accidentally using threads, perhaps Shepherd could do (set! call-with-new-thread (lambda () (error "multi-threading is not supported in Shepherd"))) ? Greetings, Maxime. signature.asc Description: This is a

A lexical use-modules?

2022-03-26 Thread Maxime Devos
Hi, [ CC'ing guix-devel@ because this functionality could be useful in Guix package definitions ] Currently, use-modules cannot be meaningfully used inside procedures, unless '(current-module)' is always the module in which the procedure is defined. I wondered if some kind of 'lexical use-module

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
pelzflorian (Florian Pelz) schreef op za 26-03-2022 om 17:52 [+0100]: > Oh yes, I had not tried that.  Thank you Maxime.  Still with unchanged > original shepherd package, I get exactly the same > shepherd-avahi-daemon.go.drv.gz build failure iff I set (shepherd > new-shepherd).  Therefore I ask ho

Re: The Shepherd on Fibers

2022-03-26 Thread pelzflorian (Florian Pelz)
On Sat, Mar 26, 2022 at 07:27:00PM +0800, Zhu Zihao wrote: > > IIUC, After fork and execute the program, shepherd will wait for the pid > file to appear. This is a block operation. > > Shepherd on Fiber make this operation non-blocking (because the pid file > is created by Linux kernel, Shepherd

Re: The Shepherd on Fibers

2022-03-26 Thread pelzflorian (Florian Pelz)
On Sat, Mar 26, 2022 at 12:59:20PM +0100, Maxime Devos wrote: > Grafting is not necessary. See (guix)Shepherd Services: > > >;; Use own Shepherd package. >(essential-services > (modify-services (operating-system-default-essential-services > this-

Re: Packaging rust-analyzer is not necessary.

2022-03-26 Thread John Soo
Hi Paul And Maxime, > Even if you didn't succeed at updating _all_ dependencies, if you > have patches for some of them, please send them. It will help people > in the future with updating rust-analyzer or other rust packages. I had a patchset (here: https://issues.guix.gnu.org/46162) adding rus

Re: Packaging rust-analyzer is not necessary.

2022-03-26 Thread Maxime Devos
Paul Alesius schreef op vr 25-03-2022 om 09:05 [+0100]: > I've tried to produce a patch for the latest version, and it has > probably hundreds of dependencies that need to be updated. Even if you didn't succeed at updating _all_ dependencies, if you have patches for some of them, please send them.

PipeWire as a PulseAudio replacement (was Re: The Shepherd on Fibers)

2022-03-26 Thread Josselin Poiret
Hello Brendan, Brendan Tildesley writes: > I would like to replace pulseaudio with pipewire as the default in > %desktop-services, the only hurdle is how to launch the user daemons in all > the > different desktop configurations one might use. Other distros use systemd's > socket activation to m

Packaging rust-analyzer is not necessary.

2022-03-26 Thread Paul Alesius
Rust analyzer is a language server for the Rust programming language. I've tried to produce a patch for the latest version, and it has probably hundreds of dependencies that need to be updated. In addition to that, rust-analyzer is under heavy development and there is a release every month. Many

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]: Thoughts? From service.scm: > + (define (sleep* n) > +;; In general we want to use (@ (fibers) sleep) to yield to the > scheduler. > +;; However, this code might be non-suspendable--e.g., if the user calls > +;; the 'start'

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]: > Thoughts? What if 'exec-command' in 'fork+exec-command' fails? Is it still the case that the exception bubbles up, eventually causing the socket file to be deleted? Greetings, Maxime. signature.asc Description: This is a digitally si

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]: > [...] > Thoughts? To help translators, I would use positional arguments in + (l10n "Accepted connection on ~a from ~:[~a~;~*local process~].") Greetings, Maxime. signature.asc Description: This is a digitally signed message part

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]: > Fibers is used in a single-threaded fashion, which is the main > constraint for shepherd since it forks. That also means that fibers > cannot be preempted, so it’s fully cooperative scheduling. When hz!=0, guile-fibers uses with-interru

Re: The Shepherd on Fibers

2022-03-26 Thread Maxime Devos
pelzflorian (Florian Pelz) schreef op za 26-03-2022 om 12:06 [+0100]: > * Lastly I grafted > > (define-public shepherd >   (package >     (name "shepherd") >     (replacement new-shepherd) >     … Grafting is not necessary. See (guix)Shepherd Services: ;; Use own Shepherd package.

Re: The Shepherd on Fibers

2022-03-26 Thread Zhu Zihao
IIUC, After fork and execute the program, shepherd will wait for the pid file to appear. This is a block operation. Shepherd on Fiber make this operation non-blocking (because the pid file is created by Linux kernel, Shepherd just need to wait for it), every service activation runs on its own fib

Re: The Shepherd on Fibers

2022-03-26 Thread pelzflorian (Florian Pelz)
On Sat, Mar 26, 2022 at 07:09:12PM +0800, Zhu Zihao wrote: > > So shepherd service authors still cannot write blocking code but need > > to yield? > > IMO, service should not block service, if they have something important > to do before running a program, why not fork first and do it in the > chi

Re: The Shepherd on Fibers

2022-03-26 Thread Zhu Zihao
Zhu Zihao writes: > [[PGP Signed Part:Undecided]] >> So shepherd service authors still cannot write blocking code but need >> to yield? > > IMO, service should not block service, if they have something important > to do before running a program, why not fork first and do it in the > child-proces

Re: The Shepherd on Fibers

2022-03-26 Thread Zhu Zihao
> So shepherd service authors still cannot write blocking code but need > to yield? IMO, service should not block service, if they have something important to do before running a program, why not fork first and do it in the child-process (maybe wrap the actual startup program in Guile script)? --

Re: The Shepherd on Fibers

2022-03-26 Thread pelzflorian (Florian Pelz)
Hi Ludo! That you add fibers to Shepherd is great news. On Wed, Mar 23, 2022 at 11:36:30PM +0100, Ludovic Courtès wrote: > Fibers is used in a single-threaded fashion, which is the main > constraint for shepherd since it forks. That also means that fibers > cannot be preempted, so it’s fully coo