bug#73188: PEG parser does not support full PEG grammar

2024-12-23 Thread bokr

• Late kudos to Ekaitz for this great PEG contribution, especially RISCV,
  which will IMO play a key part in the future of human secure control over 
machines :)
• Is there a trustable git repo I could clone to follow future developments 
of this work?
• IWBN to have an example doc for how to define a DSL and its interpreter a 
la brainf*ck,
  but compiled suitable for running in qemu bullet-proof container. Scroll 
to end of this email
  for what I was surprised worked, though it may have compromised my 
system, I'm not sure: CAVEAT! :)


On +2024-12-22 22:22:09 +0100, Ludovic Courtès wrote:
> Hi Ekaitz,
> 
> Apologies for applying the wrong version of the patch series!
> 
> I pushed the 3 patches you just sent:
> 
>   6750f6cc8 * PEG: string-peg: Add HTML5 grammar test.
>   38ad26497 * PEG: string-peg: Better support for escaping.
>   c86a48a92 * PEG: string-peg: Fix [^...] interpretation.
> 
> I added commit logs that follow the project’s conventions (same as
> Guix).
> 
> In the future, when a patch fixes a bug, please include a test case that
> reproduces the bug being fixed; possibly add information in the commit
> log about the commit that introduced the bug/regression.  This is useful
> to get a good understanding of the situation.  (I understand in this
> case the problem was mostly me applying an earlier version.)
> 
> And bonus points if you provide commit logs.  :-)
> 
> Thank you!
> 
> Ludo’.
> 
> 
> 

-=-=-=-

Here is what worked way back when ludo published

(a release announcement email that IMO is a paragon of release announcements)

I'm not suggesting running this as I did, since I am not sure about security 
bugs,
then and since, but I did it back when Ludo realeased it. CAVEAT! YOU HAVE BEEN 
WARNED!
(Tips on published vulns appreciated)

But runvm (below) seemed to work amazingly under (debian-based) pureos wayland.

$ cd ~/wb/gxqemu/
$ file *
guix-system-vm-image-1.4.0.x86_64-linux.qcow2: QEMU QCOW2 Image (v3), 
32255246336 bytes
runvm: Bourne-Again shell script, ASCII 
text executable

$ ls -ltrad *
-rwxr-xr-x 1 bokr bokr211 Feb  7  2024 runvm
-rw-r--r-- 1 bokr bokr 8862695424 Oct 14 02:17 
guix-system-vm-image-1.4.0.x86_64-linux.qcow2

$ du -h guix-system-vm-image-1.4.0.x86_64-linux.qcow2 
8.3Gguix-system-vm-image-1.4.0.x86_64-linux.qcow2

$ cat -nA runvm 
 1  #!/usr/bin/bash$
 2  $
 3  qemu-system-x86_64 \$
 4 -nic user,model=virtio-net-pci \$
 5 -enable-kvm -m 2048 \$
 6 -device virtio-blk,drive=myhd \$
 7 -drive 
if=none,file=guix-system-vm-image-1.4.0.x86_64-linux.qcow2,id=myhd$
$

$ # I'm not doing the following, since I am not sure about security bugs, but I 
did it
$ # when Ludo realeased it (with a realease announcement email that IMO is a 
paragon of
$ # relase announcements):

$ # 

$ # ./runvm &
$ # in a system with Wayland as the display compositor, this runs the image in 
the foreground AND
$ # continues running the term CLI '(bash)' in the background, amazingly 
compositing both anything
$ # running via X-wayland headless Xorg, like maybe firefox-esr, and the qcow 
image, so you can
$ # mouse around and switch between the two.
$ 
$ # NOTICE: Not responsible for consequences of trying this: YOU HAVE BEEN 
WARNED :)
$

$ uname -a
Linux BRL14v1 5.10.0-33-amd64 #1 SMP Debian 5.10.226-1 (2024-10-03) x86_64 
GNU/Linux

$ pwd
/home/bokr/wb/gxqemu

$ cd ~/wb/guix/guix
$ git log|head
commit e92b20a41a026b8af7dd2031eb61267b061617b5
Author: Tomas Volf <~@wolfsden.cz>
Date:   Fri Dec 13 17:27:46 2024 +0100

services: mingetty: Support waiting on shepherd services.

For auto-login on systems with elogind, dbus-system needs to be started.  
This
commit adds ability to express that ordering.

* gnu/services/base.scm (): Add shepherd-requirement
$ 
-=-=-=-

I am interested in using Ekaitz's Peg work and predecessor guile work of Andy 
Wingo and Ludo
to produce secure minimal-code guile extensions displaying popups showing e.g. 
progress
graphics based on direct wayland event protocols, to be able to show status of 
"hung"
looping or deadlocked threads, subject ot user privilege authentication.

IIRC the display ran at 60hz before starting the cow2 image and dropped to 30hz 
when showing
both display outputs at the same time. If I get time, I'll try to take a video 
with my phone
to show it, but don't hold your breath ;-)

It would be interesting to try a minimal wayland for mes too :)

Obviously these are wip-thoughts ;-)

Thanks for reading :)
Happy Holidays
--
With kind regards,
Bengt Richter





bug#75055: [PATCH 0/3] Minor doc cleanups

2024-12-23 Thread Morgan Smith
I have 3 tiny little cleanups to contribute

Morgan Smith (3):
  Remove all remaining references to GDS
  * HACKING: Update mailing list URL
  * doc/README: Remove reference to a tutorial that no longer exists

 .gitignore  |   2 -
 HACKING |   2 +-
 doc/README  |   3 -
 doc/ref/Makefile.am |   3 -
 doc/ref/gds.dia | Bin 1645 -> 0 bytes
 doc/ref/gds.eps | 449 
 doc/ref/gds.pdf | Bin 2936 -> 0 bytes
 doc/ref/gds.txt |  17 --
 8 files changed, 1 insertion(+), 475 deletions(-)
 delete mode 100644 doc/ref/gds.dia
 delete mode 100644 doc/ref/gds.eps
 delete mode 100644 doc/ref/gds.pdf
 delete mode 100644 doc/ref/gds.txt

-- 
2.46.0






bug#75055: [PATCH 1/3] Remove all remaining references to GDS

2024-12-23 Thread Morgan Smith
This finished what this previous commit was meant to do:
767dbb1af30500cc0ad44d6bd0e0e179a1191ec6

* .gitignore: Remove "gds-test.debug" and "gds-test.transcript".
* doc/ref/Makefile.am (PICTURES): Remove "gds.eps", "gds.pdf", and "gds.txt".
* doc/ref/gds.dia:
* doc/ref/gds.eps:
* doc/ref/gds.pdf:
* doc/ref/gds.txt: Delete files
---
 .gitignore  |   2 -
 doc/ref/Makefile.am |   3 -
 doc/ref/gds.dia | Bin 1645 -> 0 bytes
 doc/ref/gds.eps | 449 
 doc/ref/gds.pdf | Bin 2936 -> 0 bytes
 doc/ref/gds.txt |  17 --
 6 files changed, 471 deletions(-)
 delete mode 100644 doc/ref/gds.dia
 delete mode 100644 doc/ref/gds.eps
 delete mode 100644 doc/ref/gds.pdf
 delete mode 100644 doc/ref/gds.txt

diff --git a/.gitignore b/.gitignore
index 7706a0879..ad46b8c94 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,8 +54,6 @@ gdb-pre-inst-guile
 cscope.out
 cscope.files
 *.log
-gds-test.debug
-gds-test.transcript
 INSTALL
 *.aux
 *.cp
diff --git a/doc/ref/Makefile.am b/doc/ref/Makefile.am
index 2f4b8ca88..e4d521918 100644
--- a/doc/ref/Makefile.am
+++ b/doc/ref/Makefile.am
@@ -104,9 +104,6 @@ PICTURES = hierarchy.eps \
   hierarchy.pdf \
   hierarchy.png \
   hierarchy.txt \
-  gds.eps \
-  gds.pdf \
-  gds.txt \
   scheme.eps \
   scheme.pdf \
   scheme.txt \
diff --git a/doc/ref/gds.dia b/doc/ref/gds.dia
deleted file mode 100644
index 
b134d0438c82f1cbdfb77cb68e854ee5a074fce7..
GIT binary patch
literal 0
HcmV?d1

literal 1645
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
uhk(TUqhi2Y8wkZ?alv0J#)HatOSIC@1;

bug#75055: [PATCH 3/3] * doc/README: Remove reference to a tutorial that no longer exists

2024-12-23 Thread Morgan Smith
The tutorial was killed in commit f75c5849cdc6c863616facbb22b28d08da3fc09f
---
 doc/README | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/doc/README b/doc/README
index 75c1f7fd6..be21197c2 100644
--- a/doc/README
+++ b/doc/README
@@ -2,9 +2,6 @@ This directory contains documentation on the Guile core.
 -*-text-*-
 
 The documentation consists of the following manuals.
 
-- The Guile Tutorial (guile-tut.texi) contains a tutorial introduction
-  to using Guile.
-
 - The Guile Reference Manual (guile.texi) contains (or is intended to
   contain) reference documentation on all aspects of Guile.
 
-- 
2.46.0






bug#75055: [PATCH 2/3] * HACKING: Update mailing list URL

2024-12-23 Thread Morgan Smith
---
 HACKING | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/HACKING b/HACKING
index bb10de0c1..375e55d9e 100644
--- a/HACKING
+++ b/HACKING
@@ -21,7 +21,7 @@ What to Hack 
=
 You can hack whatever you want, thank GNU.
 
 It's a good idea to join the guile-de...@gnu.org mailing list.  See
-http://www.gnu.org/software/guile/mail/mail.html for more info.
+https://lists.gnu.org/mailman/listinfo/guile-devel for more info.
 
 
 Hacking It Yourself ==
-- 
2.46.0






bug#73188: PEG parser does not support full PEG grammar

2024-12-23 Thread Ekaitz Zarraga

Hi,


On 2024-12-23 23:04, b...@bokr.com wrote:

 • Late kudos to Ekaitz for this great PEG contribution, especially RISCV,
   which will IMO play a key part in the future of human secure control 
over machines 🙂


I think I didn't understand your message very well, but just as a 
clarification: the PEG work and RISC-V work are completely independent, 
one doesn't have anything to do with the other, and the RISC-V work is 
not merged in Guile yet.


The RISC-V work for the Guile JIT (guile already works in riscv without 
it) is in here:

https://gitlab.com/wingo/lightening/-/merge_requests/14

Hope this clarifies things.