Re: Improving importers best investment for growing gnu/packages/

2022-03-29 Thread Maxime Devos
Brendan Tildesley schreef op di 29-03-2022 om 10:50 [+1100]: > For example grepping build files it can be determined if pkg-config is used > and add it to inputs. an index of .pc files can automatically detect and add > the inputs a package is most likely looking for Not sure what the cargo equiva

Re: The Shepherd on Fibers

2022-03-29 Thread Maxime Devos
Philip McGrath schreef op ma 28-03-2022 om 20:14 [-0400]: > Maybe it would be enough for this case for Fibers to provide variants of > `dynamic-wind` and/or `call-with-continuation-barrier` that cooperate > with the Fibers implementation. I don't know if that would be possible > of not—in additi

Re: Hardened toolchain

2022-03-29 Thread Ludovic Courtès
Hi, Maxim Cournoyer skribis: > Maxime Devos writes: > >> zimoun schreef op ma 21-03-2022 om 14:34 [+0100]: >>> > * gcc can be compiled with `--enable-default-ssp --enable-default- >>> > pie` >>> > to enforce ssp and pic >>> >>> You wrote [1]: >>> >>> --8<---cut here---

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

2022-03-29 Thread Ludovic Courtès
Howdy, Maxim Cournoyer skribis: > OK, I've now compiled guix/man-db.scm with -O3, generated a profile with > ~5300 manuals (guix shell --no-grafts --pure man-db perl@5.14 man-pages > libx11:doc gnutls-dane:doc my-tcl) on core-updates with my local changes > to compress man pages with zstd and pr

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

2022-03-29 Thread Ludovic Courtès
Hi! Maxim Cournoyer skribis: > You'll need to generate the tar.zst and tar.gz yourself, but the script > that was used is: > > ;; decompress-zstd.scm > (use-modules (ice-9 binary-ports) > (ice-9 match) > (statprof) > (zstd)) > > (define MiB (expt 2 20)) > (

Re: Improving importers best investment for growing gnu/packages/

2022-03-29 Thread Brendan Tildesley
On 29/3/22 19:01, Maxime Devos wrote: Brendan Tildesley schreef op di 29-03-2022 om 10:50 [+1100]: For example grepping build files it can be determined if pkg-config is used and add it to inputs. an index of .pc files can automatically detect and add the inputs a package is most likely looking

Re: The Shepherd on Fibers

2022-03-29 Thread Zhu Zihao
Philip McGrath writes: > Would it be feasible for shepherd *not* to fork? Or only to fork in a way that > cooperates with fibers? IMO the problem is not fork, you can't do anything useful to create subprocess without fork on *NIX systems. fork is allowed to execute in multi-thread environment.

Re: The Shepherd on Fibers

2022-03-29 Thread Maxime Devos
Zhu Zihao schreef op di 29-03-2022 om 18:13 [+0800]: > IMO the problem is not fork, you can't do anything useful to create > subprocess without fork on *NIX systems. > > fork is allowed to execute in multi-thread environment. It just don't > care about other threads, it's safe and recommended if y

Re: The Shepherd on Fibers

2022-03-29 Thread Philip McGrath
Hi, On 3/29/22 05:36, Maxime Devos wrote: Philip McGrath schreef op ma 28-03-2022 om 20:14 [-0400]: Maybe it would be enough for this case for Fibers to provide variants of `dynamic-wind` and/or `call-with-continuation-barrier` that cooperate with the Fibers implementation. I don't know if th

Re: The Shepherd on Fibers

2022-03-29 Thread Ludovic Courtès
Hi! "pelzflorian (Florian Pelz)" skribis: > 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 cooperative

Re: The Shepherd on Fibers

2022-03-29 Thread Ludovic Courtès
Maxime Devos skribis: > 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

Re: The Shepherd on Fibers

2022-03-29 Thread Ludovic Courtès
Maxime Devos skribis: > To help translators, I would use positional arguments in > > + (l10n "Accepted connection on ~a from ~:[~a~;~*local process~].") Hmm so how would you write this?

Re: The Shepherd on Fibers

2022-03-29 Thread Ludovic Courtès
Maxime Devos skribis: > 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? Which socket file? (In practice ‘exec-command’ would only fail if the program cannot be found.) Ludo’.

Re: The Shepherd on Fibers

2022-03-29 Thread Maxime Devos
Ludovic Courtès schreef op di 29-03-2022 om 14:50 [+0200]: > Which socket file? The socket created by 'open-server-socket', used by 'herd stop' and the like. Greetings, Maxime. signature.asc Description: This is a digitally signed message part

Re: The Shepherd on Fibers

2022-03-29 Thread Maxime Devos
Ludovic Courtès schreef op di 29-03-2022 om 14:50 [+0200]: > Maxime Devos skribis: > > > 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? > > Which socket file? > > (In practice ‘e

Re: The Shepherd on Fibers

2022-03-29 Thread Ludovic Courtès
Maxime Devos skribis: > 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 t

Re: The Shepherd on Fibers

2022-03-29 Thread Ludovic Courtès
Hi! Ludovic Courtès skribis: > I have pushed a ‘wip-fibers’ branch of the Shepherd: > > https://git.savannah.gnu.org/cgit/shepherd.git/log/?h=wip-fibers > > The goal is to make shepherd (the daemon) use Fibers¹ for concurrency. The latest news are: 1. Support for inetd-style services¹, whe

Re: A lexical use-modules?

2022-03-29 Thread Ludovic Courtès
Hi, Maxime Devos skribis: > I wondered if some kind of 'lexical use-modules' was possible, with > sufficient macroology and module reflection, and it looks like it is: I agree it would be useful. Just yesterday wrote this (my goal here was to allow dynamic module loading based on some conditio

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

2022-03-29 Thread Josselin Poiret
Hello Brendan, Brendan Tildesley writes: > Which environment variables are you talking about? I'm running pipewire on > Guix System > > and it seems to work fine. > >> Best, Right, I think I conflated too many different things, basically my use-case was making screensharing work on wlroots-base

gcc-4.7 and gcc-4.8 compilation failure in x64

2022-03-29 Thread Ekaitz Zarraga
Hi, I'm digging on old compiler versions for bootstrapping purposes and I realized that gcc 4.7 and 4.8 packages don't compile on x64. We have been able to reproduce the failure of gcc 4.7 but we didn't test the 4.8 error that far. In gcc-4.7 the error is the following: ./md-unwind-support.h:

Re: A lexical use-modules?

2022-03-29 Thread Maxime Devos
Maxime Devos schreef op za 26-03-2022 om 20:21 [+0100]: > (define-syntax use-module/lexical >   ;; todo: integrate into (use-modules ...)? >   (lambda (s) >     (syntax-case s () >   ((_ foo) >    (let* ((module-name (syntax->datum #'foo)) >   (interface (resolve-interface modul

Re: The Shepherd on Fibers

2022-03-29 Thread Attila Lendvai
> > Which socket file? > > > > (In practice ‘exec-command’ would only fail if the program cannot be > > found.) > > Attila Lendvai has encountered the socket file to be deleted before, > this seemed to have been the cause and I have seen a few bug reports > (about tor?) that might have had the same

Re: The Shepherd on Fibers

2022-03-29 Thread Maxime Devos
Ludovic Courtès schreef op di 29-03-2022 om 14:48 [+0200]: > Maxime Devos skribis: > > > To help translators, I would use positional arguments in > > > > + (l10n "Accepted connection on ~a from ~:[~a~;~*local process~].") > > Hmm so how would you write this? Here's an example on how to impleme

LibreSSL?

2022-03-29 Thread Leo Famulari
I noticed that some Guix packages depend on LibreSSL, but it seems that we are not successfully keeping this package up to date with upstream security releases: https://www.libressl.org/releases.html Will anyone step up to maintain this package? Or should we remove it from Guix?

Re: gcc-4.7 and gcc-4.8 compilation failure in x64

2022-03-29 Thread Reza Housseini
Hi Ekaitz Not that I am in any position to answer the question, but could you share a little bit more context? Did the error occur when you were compiling gcc-4.7 or do programs compiled with this compiler have this issue? What path led you to gcc-4.7? Can you share your compilation setting

Re: gcc-4.7 and gcc-4.8 compilation failure in x64

2022-03-29 Thread Ekaitz Zarraga
> Hi Ekaitz > > Not that I am in any position to answer the question, but could you > > share a little bit more context? > > Did the error occur when you were compiling gcc-4.7 or do programs > > compiled with this compiler have this issue? > > What path led you to gcc-4.7? Can you share your com

Re: gcc-4.7 and gcc-4.8 compilation failure in x64

2022-03-29 Thread Ekaitz Zarraga
> And you try to compile that using `guix build -m manifest.scm` the > compilation fails. The same happens when choosing 4.8. More specifically I mean the output of that command is: ./md-unwind-support.h:60:47: error: dereferencing pointer to incomplete type ... error: in phase 'build': uncau

Re: Improving importers best investment for growing gnu/packages/

2022-03-29 Thread Liliana Marie Prikler
Am Dienstag, dem 29.03.2022 um 10:50 +1100 schrieb Brendan Tildesley: > On 25/3/22 18:05, Paul Alesius wrote: > > 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

Re: Semantics of circular imports

2022-03-29 Thread Maxim Cournoyer
Hello, Zhu Zihao writes: > Philip McGrath writes: > >> Oh, wow. I definitely had not realized that, *even inside a declarative >> module*, a reference to a variable with no statically visible definition >> would semantically be a dynamic lookup in a mutable environment at >> runtime (rather