Re: SageMath packaging work

2024-07-09 Thread Ada Stevenson

Hi Vinicus,

On 01/06/2024 6:43 am, Vinicius Monego wrote:

Em qua, 2024-05-22 às 09:19 +, Ada Stevenson escreveu:

Hi Guix, science team!

I was reaching for SageMath today and couldn't find it in the package
repository. I notice there's a sagemath.scm file, but no actual
SageMath
package proper. Is there any work being done on packaging it at the
moment? Are there any particular blockers preventing its packaging
(excessive dependencies, difficult build etc.)?

Having SageMath in Guix would be really handy for me, so I'm happy to
give packaging it a go if the only reason is that there's not enough
interest (I will just have to wait until after exams, so in about 3-4
weeks).

Hope you are all doing well!

Warmly,
Ada



Hi Ada,

SageMath has a lot of dependencies which you can see on
https://doc.sagemath.org/html/en/reference/spkg/

These are my current notes (I'm not sure how to organize them online):


Thank you! This is a great resource. Sorry for not responding earlier, I 
was in the midst of exams. I just want to check if this is still up to 
date, as far as you know. I want to start helping out with this effort.




Standard packages:

+ Available in the python-team branch (not yet merged):

- fqdn (python-team)
- isoduration (python-team)
- jupyter-events (python-team)
- jupyter-server-terminals (python-team)
- notebook-shim (python-team)
- overrides (python-team)
- referencing (python-team)
- rfc3986-validator (python-team)
- uri-template (python-team)

+ Series 1 (submitted as issue 70924):

- async-lru (review)
- calver (review)
- memory-allocator (review)
- pplpy (review)
- primecount (review)
- primecountpy (review)
- pyproject-api (review)
- types-python-dateutils (review)

+ Series 2 (currently working on, not yet submitted):


How are you going with this series? Is there anything I can help with?



- gfan (NEXT)
- gnumake-tokenpool (v0.0.7+ needs Python 3.11+)
- jupyter-lsp (needs updated jupyter-core)
- palp http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html (NEXT)
- pytz-deprecation-shim (OK but temporary usage only)
- sympow
- tachyon: http://jedi.ks.uiuc.edu/~johns/raytracer/files/
   
+ Remaining standard packages:




I'll give these a go.


- combinatorial-designs
- comm
- conway-polynomials
- elliptic-curves
- graphs
- jmol
- jsonschema-specifications
- jupyter-jsmol
- jupyterlab
- jupyterlab-mathjax2
- pari-galdata
- pari-seadata-small
- polytopes-db
- pplpy-doc
- sage-conf
- sage-docbuild
- sage-setup
- sagenb-export
- sagetex
- sphinx-inline-tabs
- threejs

Optional packages:


Wow, that is a lot!



- admcycles
- benzene
- buckygen
- coxeter3
- csdp
- cunningham-tables
- cylp
- d3js
- database-cremona-ellcurve
- database-cubic-hecke
- database-jones-numfield
- database-knotinfo
- database-kohel
- database-mutation-class
- database-stein-watkins
- database-stein-watkins-mini
- database-symbolic-data
- dsdp
- e-antic
- frobby
- gap-jupyter
- gap-packages
- github-cli
- glucose [looks easy]
- jupymake
- kenzo
- latte-int
- libsemigroups [looks easy]
- lidia
- mathics
- mathics-scanner
- matroid-database
- mcqd
- meataxe
- msolve
- nibabel [looks easy]
- normaliz [looks easy]
- notedown
- onetbb
- ore-algebra
- p-group-cohomology
- pandoc-attributes
- papilo
- pari-elldata
- pari-galpol
- pari-nftables
- pari-seadata
- perl-cpan-polymake-prereq
- perl-mongodb
- phitigra
- plantri [looks easy]
- polymake [looks easy]
- polytopes-db-4d
- pycryptosat [looks easy]
- pynormaliz [looks easy]
- pyppeteer
- pyscipopt
- pysingular
- pyx [looks easy]
- qepcad
- rst2ipynb
- rubiks
- saclib
- sage-flatsurf
- sage-numerical-backends-coin
- sage-numerical-backends-cplex
- sage-numerical-backends-gurobi
- sage-sws2rst
- scip
- scip-sdp
- singular-jupyter
- sirocco
- slabbe
- snappy
- soplex
- tides
- topcom

As you can see, it's a lot of packages and dependencies, and these are
only the missing ones. Some of them are outdated, abandoned, or too
recent. Some of the already packaged dependencies may be too old or
need patches. We need at least the standard packages. Finally, we have
to glue them all in the sagemath package. So it's a lot of work and
nontrivial.

If you'd like to help, you can choose to package one of those "looks
easy" (but optional) packages, if you're new to Guix. Or try to help
with the more complex, yet more important, standard packages. You can
see the source link to every dependency in that sagemath packages link.
Issue 56729 is a good starting point.


Thanks! I'll start with issue 56729, and hopefully bring it up to speed.



The blockers are all of those you listed: excessive dependencies,
difficult building and lack of interest.

Vinicius


Warmly,
Ada



Re: No mutter on master

2024-07-04 Thread Ada Stevenson

Hi Andreas,

On 03/07/2024 8:21 pm, Andreas Enge wrote:

Hello,

currently I cannot reconfigure my laptop with the Xfce desktop environment
due to mutter not building:
Ok: 166
Expected Fail:  5
Fail:   1
Unexpected Pass:0
Skipped:0
Timeout:0
(this was on a local build).

Given the amount of output, I find it difficult to see which test failed.

I am on commit 972c06dc79641864b05590b2cd905cc8b810062b from yesterday.
As far as I can see, the corresponding derivation has not been built by QA
(following is my breadcrump trail of links followed from the data service):
https://data.guix.gnu.org/revision/972c06dc79641864b05590b2cd905cc8b810062b

https://data.guix.gnu.org/revision/972c06dc79641864b05590b2cd905cc8b810062b/packages

https://data.guix.gnu.org/revision/972c06dc79641864b05590b2cd905cc8b810062b/packages?locale=en_US.UTF-8_query=mutter=version=synopsis_name=_results=100

https://data.guix.gnu.org/revision/972c06dc79641864b05590b2cd905cc8b810062b/package/mutter/44.9?locale=en_US.UTF-8

https://data.guix.gnu.org/gnu/store/gn3qgnzix2lnq4cg95samsy07zp0a8qr-mutter-44.9.drv

Going back in time, the last successful build I could find was for commit
ab41f5ec1cf559708165e1cd28e15538e6a197d6 of June 30. The next entry in the
dataservice has status "unknown".

After that, I do not see a commit that strikes me as suspicious as far as
mutter is concerned.

But there are quite a few patches applied to master recently of which I am
not sure whether they have gone through QA and the process described here:

https://guix.gnu.org/en/manual/devel/en/html_node/Managing-Patches-and-Branches.html
Going through QA should normally make sure that dependent packages still
build and that substitutes are directly available (while for some recently
updated packages there are no substitutes); I would like to invite all
committers to follow this procedure.

Andreas




Mutter is one of those packages that fails on CI for no reason 
occasionally. The test suite is flaky. Sometimes it passes, and we get a 
substitute, and sometimes it doesn't and we don't. We probably need to 
find the flaky test and disable it so this doesn't keep happening. 
Patches can pass straight through QA only to fail on CI. I had to build 
it locally the other day because of this substitute outage.


Warmly,
Ada



ci.guix.gnu.org homepage is down

2024-06-26 Thread Ada Stevenson

Hi Guix,

I just wanted to send an email out to let people know that the homepage 
of CI, ci.guix.gnu.org, is down. It returns a 504 Gateway Timeout error.


I was looking to see what was causing the build failure of 
linux-libre@6.9.6, which is when I found I couldn't access it still. I 
had tried two days ago to access it too, and it had the same error then.


Hopefully the sysadmins can look into this! Thank you for all the work 
you put into making sure things work behind the scenes :-)


Warmly,
Ada



Re: Disabling authentication checks for tests in local Guix checkouts

2024-06-18 Thread Ada Stevenson

Hi Ludo'

On 17/06/2024 1:05 pm, Ludovic Courtès wrote:

Hi Ada,

Ada Stevenson  skribis:


I'm currently trying to help test the changes to GRUB submitted in
issue #71348[1]. Unfortunately, `make check`, whilst building the
local Guix channel, authenticates every commit. That means commits not
signed by people in `guix-authorizations` will stop the channel from
building and prevents running any of the tests.


Bummer.  :-(


I have tried to fix the issue by writing a patch:


This patch looks like the right thing to do.

I’m not sure how to integrate it though: in the general case, we
probably want to keep authentication enabled by default, but how to
allow users to easily disable it when using a personal checkout?


Initially this seems like it works, as it starts to index all of the
commits in the local checkout, which didn't occur beforehand, instead
immediately giving a `Git error: cannot locate remote-tracking branch
'origin/keyring'` (I've run `git fetch -a`, and my Savannah remote is
called `origin`).


Guix caches clones under ~/.cache/guix/checkout.  It may be that there’s
a clone of your local repo there, but that the clone itself lack a copy
of the ‘keyring’ branch?  (You can run ‘git fetch -a’ in there.)


I tried invoking the tests from within a `./pre-inst-env guix repl` and 
managed to get both of the tests to run using my patch! They both passed 
too. I think you're right, there must have been some sort of caching error.


Anyway, I'm new to contributing using Debbugs. Is there a way to tag an 
issue as 'reviewed' or something like that? Or do I just send an email 
saying I tested the patch and everything looks good? Let me know :-)




Thanks for testing!


You're welcome! Thanks for writing the patch.



Ludo’.


Warmly,
Ada




Re: Google Summer of Code Inquiry

2024-06-12 Thread Ada Stevenson

Hi all,

On 10/04/2024 6:33 am, Efraim Flashner wrote:

On Tue, Apr 09, 2024 at 05:25:35PM +0200, Ludovic Courtès wrote:

Hi Sebastian,

Sebastian Dümcke  skribis:


just wanted to chime in. Since last week I have some working code to
generate AppImages with guix pack. I was planning on tidying this up
for submission over the next weeks.
There is still work to do regarding documentation, adding options
specific to the AppImage format, building the AppImageKit runtime from
source and a lot of testing.


This is great news!  Looking forward to incorporating those changes.


However, I believe that the remaining effort is around 8-10 hours. I
am happy to hand the code over to you to finish up and co-mentor
(though this patch would be my first contribution to guix) if you
think this is appropriate.


It does sound like it jeopardizes this specific project.  In a way,
that’s a good problem to have as a project, but it does mean that
Zachary would need to look for another project (which could still be
related to ‘guix pack’).

Thoughts?


There's always the option of trying to create flatpaks using Guix.


I'd love this feature! It would probably more useful than making 
AppImages too.


Warmly,
Ada



Disabling authentication checks for tests in local Guix checkouts

2024-06-10 Thread Ada Stevenson

Hi Guix,

I'm currently trying to help test the changes to GRUB submitted in issue 
#71348[1]. Unfortunately, `make check`, whilst building the local Guix 
channel, authenticates every commit. That means commits not signed by 
people in `guix-authorizations` will stop the channel from building and 
prevents running any of the tests.


I have tried to fix the issue by writing a patch:
-
diff --git a/etc/system-tests.scm b/etc/system-tests.scm
index 221a63bb7f..6655850396 100644
--- a/etc/system-tests.scm
+++ b/etc/system-tests.scm
@@ -49,7 +49,7 @@ (define (tests-for-current-guix source commit)
   ;; of tests to run in the usual way:
   ;;
   ;;   make check-system TESTS=installed-os
-  (let ((guix (channel-source->package source #:commit commit)))
+  (let ((guix (channel-source->package source #:commit commit 
#:authenticate? #f)))

 (map (lambda (test)
(system-test
 (inherit test)
diff --git a/gnu/packages/package-management.scm 
b/gnu/packages/package-management.scm

index 54521ab3c4..46d66604c7 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -563,7 +563,7 @@ (define-public guix
 the Nix package manager.")
   (license license:gpl3+

-(define* (channel-source->package source #:key commit)
+(define* (channel-source->package source #:key commit (authenticate? #t))
   "Return a package for the given channel SOURCE, a lowerable object."
   (package
 (inherit guix)
@@ -571,7 +571,8 @@ (define* (channel-source->package source #:key commit)
 (if commit (string-take commit 7) "")))
 (build-system channel-build-system)
 (arguments `(#:source ,source
- #:commit ,commit))
+ #:commit ,commit
+ #:authenticate? ,authenticate?))
 (inputs '())
 (native-inputs '())
 (propagated-inputs '(
-

Initially this seems like it works, as it starts to index all of the 
commits in the local checkout, which didn't occur beforehand, instead 
immediately giving a `Git error: cannot locate remote-tracking branch 
'origin/keyring'` (I've run `git fetch -a`, and my Savannah remote is 
called `origin`).


I'm not sure where this second building of the channel is occurring; the 
channel-build-system is being passed the `authenticate? #f` flag, so I'm 
at a loss.


I'd really appreciate any input or help!

Warmly,
Ada

[1] https://issues.guix.gnu.org/issue/71348



SageMath packaging work

2024-05-22 Thread Ada Stevenson

Hi Guix, science team!

I was reaching for SageMath today and couldn't find it in the package 
repository. I notice there's a sagemath.scm file, but no actual SageMath 
package proper. Is there any work being done on packaging it at the 
moment? Are there any particular blockers preventing its packaging 
(excessive dependencies, difficult build etc.)?


Having SageMath in Guix would be really handy for me, so I'm happy to 
give packaging it a go if the only reason is that there's not enough 
interest (I will just have to wait until after exams, so in about 3-4 
weeks).


Hope you are all doing well!

Warmly,
Ada



Re: Guix bios installation: Grub error: unknown filesystem

2024-04-22 Thread Ada Stevenson

Hi Attila,

On 4/22/24 9:04 PM, Attila Lendvai wrote:

This should allow grub to recognise your filesystem during the
installation process. I think using a later version of grub would fix
this, but that hasn't happened yet. I think there's a patch to upgrade
it in `core-updates` somewhere, but I'm not sure.



grub seems to be still v2.06 there:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/bootloaders.scm?h=core-updates#n103



Maybe it would be a good idea to upgrade it then. This incompatibility 
has probably deterred many potential Guixers- it almost deterred me. 
Having this hacky workaround is just not good UX.


I'm not sure what upgrading GRUB would involve; maybe someone else on 
the mailing list has an idea on where to start? :)


Warmly,
Ada



Re: Guix bios installation: Grub error: unknown filesystem

2024-04-21 Thread Ada Stevenson

Hi Franz,

On 4/19/24 2:24 PM, Franz Geffke wrote:

I'm having trouble installing guix in qemu, using a "fresh" guix ISO.

```
building 
/gnu/store/byjlc85abyjc3fjj9z982677skmda7ib-module-import-compiled.drv...
building 
/gnu/store/psw8xn9qpsjjnrqmjrfv0v3jj9fphq5m-module-import-compiled.drv...
building 
/gnu/store/a1zcrrcdwhb4wb2g4r0ph8mqclq7f5xn-install-bootloader.scm.drv...
guix system: error: 
'/gnu/store/li1ic17hz460vp1sg0cx2dwgw8q7i8pj-grub-2.06/sbin/grub-install 
--no-floppy --target=i386-pc --boot-directory /mnt/boot /dev/sda' exited with 
status 1; output follows:

   Installing for i386-pc platform.
   /gnu/store/li1ic17hz460vp1sg0cx2dwgw8q7i8pj-grub-2.06/sbin/grub-install: 
error: unknown filesystem.
```

Here's what I've tried so far:
1. The ISO from 2022 
https://ftpmirror.gnu.org/gnu/guix/guix-system-install-1.4.0.x86_64-linux.iso: 
Success
2. Generated a new ISO today: Failure

These are the channels, on the booted ISO:

```
guix describe
   guix 65e8472
 repository URL: https://git.savannah.gnu.org/git/guix.git
 branch: master
 commit: 65e8472a4b6fc6f66871ba0dad518b7d4c63595e
```

Steps I used to install (1) and (2):

```
parted -s /dev/sda -- mklabel msdos mkpart primary ext4 1MiB 100%
parted /dev/sda set 1 boot on
mkfs.ext4 -L my-root /dev/sda1
mount LABEL=my-root /mnt
cp /etc/configuration/lightweight-desktop.scm /mnt/etc/config.scm
# adjust disk, bootloader
herd start cow-store /mnt
guix system init /mnt/etc/config.scm /mnt
```

Findings:

I didn't really dig too deeply yet; Only noticed that this command produces a 
different result, depending on whether the install succeeds, or not `grub-probe 
--target=fs --device /dev/sda`

- Success: `ext2`
- Failure: `grub-probe: error: unknown filesystem.`

I also tried using GPT instead of MBR, but it makes no difference.



I've encountered this problem too, and managed to solve it. I'm 85% sure 
you're experiencing the same problem as me, and I've been meaning to 
document it somewhere - its a super obtuse error and it is a showstopper 
when it comes to installing guix.


Basically, there is a compatibility issue regarding the ext4 filesystem 
features that GRUB 2.06 supports and the features that 
`e2fsprogs@1.47.0` enables by default when creating your ext4 
filesystem. When these features are enabled, it changes the structure of 
the filesystem enough that GRUB can't recognise it properly and it fails.


To fix this, you will need to make sure you create your ext4 filesystem 
with the following features:
`mkfs.ext4 /dev/you-partition-here -O 
has_journal,ext_attr,resize_inode,dir_index,filetype,needs_recovery,extent,flex_bg,sparse_super,large_file,huge_file,uninit_bg,dir_nlink,extra_isize`


These are the features that worked for me. I had to do a lot of trial 
and error, and I used `tune2fs -l` to see what features weren't 
supported. The ones I can remember are the metadata_csum features, and 
some other ones (they showed up as FEATURE_X when running `tune2fs` on 
my Guix installation image, so I used a Gparted Live CD to get rid of 
the features that weren't recognised by tune2fs).


This should allow grub to recognise your filesystem during the 
installation process. I think using a later version of grub would fix 
this, but that hasn't happened yet. I think there's a patch to upgrade 
it in `core-updates` somewhere, but I'm not sure.


Anyway, hope this helps!

Warmly,
Ada



Re: Error handling when 'guix substitute' dies

2024-04-02 Thread Ada Stevenson

Hi Lars,

On Tue, Apr 2 2024 at 10:42:18 AM +0200, Lars Bilke  
wrote:

Dear Ludo,

I ran the command in a loop on 4 machines for around 2 hours doing 1 
request per machine per second but no errors occured...

I did a similar thing. No errors at all.
However, I was reconfiguring my system at uni yesterday after the 
gnome-team merge and it was happening a lot! I wonder if it's something 
to do with the server? I don't know enough about networking to really 
theorise, haha.


On 29 Mar 2024, at 16:10, Ludovic Courtès wrote:


 Hello,

 Ada Stevenson mailto:adansk...@gmail.com>> 
skribis:


 diff --git a/guix/scripts/substitute.scm 
b/guix/scripts/substitute.scm

 index 37cd08e289..3af0bf0019 100755
 --- a/guix/scripts/substitute.scm
 +++ b/guix/scripts/substitute.scm
 @@ -494,7 +494,9 @@ (define* (download-nar narinfo destination
 (define (try-fetch choices)
   (match choices
 (((uri compression file-size) rest ...)
 -   (guard (c ((and (pair? rest) (http-get-error? c))
 +   (guard (c ((and (pair? rest)
 +   (or (http-get-error? c)
 +   (network-error? c)))
 (warning (G_ "download from '~a' failed, 
trying next URL~%")

  (uri->string uri))
 (try-fetch rest)))

 I’ll go ahead with this change if there are no objections.

 Looks good to me! Thanks for looking into this :)


 OK, I’ll push it shortly, but…

 Lars Bilke mailto:lars.bi...@ufz.de>> skribis:

 thanks Ada for bringing this issue up again. I get the same error 
on

 `guix pull` almost always when I am on my enterprise
 network. Re-running `guix pull` a second time also almost always 
then
 runs fine. I checked with our IT: nothing suspicious on the 
network,

 i.e. no firewall blocking.

 I never experienced the error on my home network.


 … your reports make me think there’s a bug lurking somewhere 
that

 perhaps only manifests under some precise networking or timing
 conditions.

 Could the two of you run the following command in a loop to see 
whether

 it’s easy to reproduce that GnuTLS error?

   guile -c '(use-modules (guix http-client) (ice-9 binary-ports))
 (get-bytevector-all (http-fetch 
"<https://ci.guix.gnu.org/nix-cache-info>"))'


 If you can reproduce it, could you capture the strace output of the
 process?  You would run the command above prefixed by:

   strace -o log.strace -s 300 …

 Thanks in advance!

 Ludo’.



Thanks,
Ada



Re: Error handling when 'guix substitute' dies

2024-03-25 Thread Ada Stevenson

Hi Ludo',

On 3/24/24 11:15 AM, Ludovic Courtès wrote:

Hi Ada,

Ada Stevenson  skribis:


Sometimes, usually when I'm on an enterprise network like my
university's of library's wifi, the `guix substitute` process dies
with a "TLS error in procedure 'write_to_session_record_port': Error
in the push function" error message. My connection is rock-solid
otherwise, and sometimes it doesn't happen at all.

What version of guix-daemon are you using?  Was it installed through
‘guix pull’ or via another distro?

I’ve seen this before but I haven’t experienced it in a long time, so I
wonder if I’m just lucky or if there are other factors at play.

I'm running the up-to-date daemon, 1.4.0-18.4c94b9e, on Guix System.



I'm not sure if this is a fault in the actual Guix code, or there's
some Guile library somewhere that has this bug. Anyway, I think it
would be a useful feature to have a way to automatically restart the
`guix substitute` process or otherwise recover from this error. Some
sort of `--restart=no.restarts.permitted` flag. Whenever I'm updating
my system I tend to leave and do something else, and when this happens
I come back and nothing's actually been done, and the error is
transient so I don't gain anything from seeing this message.

‘guix substitute’ is a ‘guix-daemon’ helper, which automatically
(re)starts it when needed.

Now, what we could do is have ‘guix substitute’ gracefully handle those
errors and keep going.  I believe this one-liner should do it:


diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 37cd08e289..3af0bf0019 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -494,7 +494,9 @@ (define* (download-nar narinfo destination
(define (try-fetch choices)
  (match choices
(((uri compression file-size) rest ...)
-   (guard (c ((and (pair? rest) (http-get-error? c))
+   (guard (c ((and (pair? rest)
+   (or (http-get-error? c)
+   (network-error? c)))
(warning (G_ "download from '~a' failed, trying next URL~%")
 (uri->string uri))
(try-fetch rest)))

I’ll go ahead with this change if there are no objections.

Looks good to me! Thanks for looking into this :)


Thanks,
Ludo’.


Thanks,

Ada




Error handling when 'guix substitute' dies

2024-03-17 Thread Ada Stevenson

Hi Guix,

I have this gripe with usability regarding using substitutes.

Sometimes, usually when I'm on an enterprise network like my 
university's of library's wifi, the `guix substitute` process dies with 
a "TLS error in procedure 'write_to_session_record_port': Error in the 
push function" error message. My connection is rock-solid otherwise, and 
sometimes it doesn't happen at all.


I'm not sure if this is a fault in the actual Guix code, or there's some 
Guile library somewhere that has this bug. Anyway, I think it would be a 
useful feature to have a way to automatically restart the `guix 
substitute` process or otherwise recover from this error. Some sort of 
`--restart=no.restarts.permitted` flag. Whenever I'm updating my system 
I tend to leave and do something else, and when this happens I come back 
and nothing's actually been done, and the error is transient so I don't 
gain anything from seeing this message.


I workaround could potentially be wrapping `guix upgrade` and the like 
in a script that keeps on restarting the commands until they exit with 
0. This seems a little clunky and fragile, especially if there's an 
actually fatal error, eg. my config is not valid.


What do you guys think? Would this be something that people would be 
interested in? Or would it be better to try and find out why there's 
these transient errors (a way more time-consuming effort, I fear). Does 
anyone else have this issue?


Warmly,

Ada




Re: GNU and GSoC

2024-02-22 Thread Ada Stevenson

Hi,

Having Guix be part of GSoC would be fantastic! I'd love to have the 
opportunity to be mentored.


It would be exciting for Guix to receive some more attention, as well as 
showing people how fun it is to hack on :)


Thanks,

Ada

On 2/23/24 7:38 AM, Pjotr Prins wrote:

The GNU project is a GSoC org again. Last year Sarthak did a great job
working on parameterization of Guix. It works, and you can try the
code. See

=> https://guix.gnu.org/blog/2023/parameterized-packages-for-gnu-guix/
=> https://blog.lispy.tech/

For this year GNU can propose projects again. We should suggest Guix,
Mes and Hurd projects in the coming two weeks. Ping Gábor, Sarthak,
Arun, Efraim or me if you are interested in co-mentoring an effort.

Note that GSoC is competitive for orgs, mentors and students. It
requires effort, but anyone who participates can attest it is
rewarding. I have been doing this for more than 10 years. It is a
great programme.

Pj.






Re: status of (future of) Guix QA

2023-12-25 Thread Ada Stevenson

Hi,

On 12/22/23 8:11 PM, Andy Tai wrote:

Curious of the status of the future of Guix QA as package definition
contributors rely on it for updating packages (sending patches to get
accepted/committed) in guix...


I'm curious too. Did anything come of the discussion a few weeks ago?

Ada (adanksa)




Re: RFI: Guix XMPP service. paid service?

2023-12-14 Thread Ada Stevenson

Hi,

On 12/14/23 7:36 AM, Ricardo Wurmus wrote:

jbra...@dismail.de writes:


I would like to pay $5 a month to have an xmpp account 
coolawesomeusern...@guix.gnu.org

Are there other interested parties?  It might be a possible way to generate $$ 
to continue developing guix.

I’d rather not commercialize stuff like this, especially not for project
communication.  I wouldn’t want our servers to cache image,
video, and audio uploads by “coolawesomeusername” that aren’t related to
discussing Guix.  Nor would I want to give the impression that
“coolawesomeusername”’s activities are in any way endorsed by
guix.gnu.org.  We don’t ache for $5 a month, and giving away autonomy
over the name and what it is associated with is worth far more than a
trickle of $5.

In my personal opinion (as an experienced curmudgeon) I think that
setting things up for commercialization is to invite unspeakable dread
and rot.


Agreed. Accounts with an official domain like 'guix.gnu.org' should be 
left for very special cases, such as admin accounts or special server 
infrastructure. Upkeeping a XMPP server that caches this data would be a 
little more expensive than usual, but if you use Guix often and want to 
support the project you should very well just donate. (As a digression, 
I do believe that we should promote the link to donate to the project a 
little bit more, perhaps in the IRC and XMPP banners?)


Anyway, hosting a server should be pretty cost efficient. A few 
terabytes would go a long way, and you wouldn't need that much compute 
speed either. An XMPP server would be the least of our worries 
expenditure-wise (we still have to decide whats happening with qa.guix 
and data.guix (!))


Thanks,

Ada (adanska)




Re: RFI: Guix XMPP service.

2023-12-10 Thread Ada Stevenson

Hi,

On 12/10/23 4:04 PM, MSavoritias wrote:


On 12/10/23 17:56, Vivien Kraus wrote:

Le dimanche 10 décembre 2023 à 17:45 +0200, MSavoritias a écrit :

There is also a trust issue. For acceptance, we need bridging. For
bridging, we need policing. And for policing, we need people with
time.


I am of the opinion that bridging would be a bad idea. The differences 
between IRC and XMPP are significant enough that bringing would probably 
be more disruptive than conducive to acceptance. A better approach would 
to simply have a separate IRC and XMPP channel. If people end up 
preferring XMPP, more people will simply elect to use it. In any project 
eventually the main communication channels tend to split up into smaller 
groups once they get to a certain size anyway for a number of reasons. 
This doesn't stop these other spaces from being 'accepted', and if we 
have the XMPP channel become official, I think this is acceptance enough.




That's a good question yeah. Whether we want bridging that is.
Personally I am leaning that we don't.

Because bridging can ruin the experience of people that use XMPP. But
I
can see it either way.

Maybe we could do something a little smarter, like having sneek deliver
messages in both IRC and XMPP.

Vivien


There are mirroring ways yeah. That would be a better solution.

Because there is biboumi but it basically just creates an IRC room in 
XMPP.



Also sneek should filter stuff probably. Because xmpp allows pictures 
and long messages and such.


So it shouldn't mirror everything as is. I don't know how possible it 
is though. Maybe some custom setup of something.



That said I do have my doubts whether this is more trouble than its 
worth personally.


Given that IRC and XMPP are two very different protocols that are 
probably gonna attract a different community.


Agreed. Specifically, mobile XMPP clients work far, far better than 
their IRC counterparts out of the box. I think we'd see a lot of people 
come to the XMPP server due to it's great mobile accessibility.


In short, I think we should host our own XMPP server (maybe a VPS for 
uptime purposes? With media uploads and message logs, storage would be 
much more of a factor to consider compared to IRC) under the 
guix.gnu.org domain name and list it on the website. I think once we get 
to that stage, investigating how to keep track of message logs (perhaps 
mirroring logs to logs.guix.gnu.org, perhaps under a separate page to 
the IRC logs) will be vital in moderation efforts. Bridging would cause 
more problems and potentially solve a problem that we shouldn't want to 
solve (having one unified space).






MSavoritias



Ada (adanska)




Re: Add xmpp room to the list of group chats.

2023-12-07 Thread Ada Stevenson

Hi,

On 12/7/23 11:25 AM, MSavoritias wrote:

On 12/7/23 09:42, Ada Stevenson wrote:


Hi,

On 12/2/23 8:20 AM, MSavoritias wrote:
Hey, I thought this mailing list is the most fitting for the request 
feel free to point out if its better somewhere else.



Is the community open to have group chats listed in other networks 
than IRC assuming they are free software?


Having chat groups in different networks is going to greatly improve 
the accessibility of the project towards new contributors which I 
think we recently wanted to start working on as one of our areas of 
focus.


The group chat I am talking about is in xmpp/jabber and it is here 
-> g...@chat.disroot.org


It has already the CoC of the guix project and xmpp is free software 
from server to client.



Also disclaimer: I am not talking about starting to bridge them. 
That is an entirely separate thing with different tradeoffs and 
maintenance.


Just listing the group chat is easy though :)


Msavoritias


This sounds like a good idea to me! XMPP just works a lot nicer with 
stuff like attachments and message logging without needing peripheral 
tooling like znc to get around things like message 
logging/persistance. Whether we go with disroot.org to host the chat, 
or whether GNU can host something for us in the future I'm not sure, 
but I'm keen to see more usage of XMPP.


I think the channel should be listed once we have a strong consensus 
that we want to use XMPP as a main communication channel. Perhaps 
this is suitable for a RFI?


Why main communication channel? I mean sure we can have a discussion 
regarding that, but I think that brings far more questions than just 
listing the xmpp channel as an alternative.


Plus we don't even know how desirable it would be for it to be the 
main channel? (Although a lot of people have started to appear in the 
channel which is nice ^^)
Sorry, I got a bit overzealous, haha! You're right, I don't think its 
useful to be talking about changing the 'main' channel as it were. IRC 
is mature and is working well at the moment, and is integrated with a 
lot of people's workflows already (ERC for emacs, for example).


The model I was looking at was similar to ->

General-purpose programming language and toolchain for maintaining 
robust, optimal, and reusable software. - ziglang/zig


github.com

Community <#>

General-purpose programming language and toolchain for maintaining 
robust, optimal, and reusable software. - Community · ziglang/zig Wiki


 https://github.com/ziglang/zig/wiki/Community 
<https://github.com/ziglang/zig/wiki/Community>


I see. In my opinion I'm not the biggest fan of having all of these 
disjoint spaces for a community the size of Guix (that is, relatively 
small). There are a lot of merits at this stage to keeping communication 
centralised so everyone can be seen and heard. Of course, as the project 
matures and more people come to use it, it is natural that more channels 
on different platforms will pop up; this works when there are many 
people working on a project and traffic gets too heavy and needs from a 
platform diversify.


As it stands now, I think having IRC, XMPP and the mailing list as 
communication platforms serve to cover the needs of most people, whilst 
still keeping things central.




However, I understand the desire to keep everything as central as 
possible, especially when it comes to communication. IRC works well 
enough in most cases, and by far has the most active users. This 
doesn't mean things can improve, though, and the niceties provided by 
a more modern protocol such as XMPP could be worth it, potentially. 
Anyway, there isn't much harm in maintaining our own XMPP channel for 
those who wish to use it.


What is being proposed here? hosting our own xmpp server or promoting 
this as an "official" channel? whatever that means.


I am proposing hosting our own server as well as putting the XMPP 
channel on the Guix homepage, promoting it as a means to get in touch 
with the community in the same way IRC and the mailing list are.


The current disadvantage with hosting on disroot.org is the 30 day 
message and file storage limitation[1]. One of the great things about 
the IRC chat is the online, searchable log[2] that goes all the way back 
to 2013. The benefits of having conversations saved like this speaks for 
itself. If there is a way to replicate this with XMPP and bypass this 30 
day limitation this would make XMPP far more viable as a communication 
channel.





MSavoritias


Thanks,

Ada (adanksa)

[1] https://disroot.org/en/services/xmpp

[2] https://logs.guix.gnu.org


What do you think?

Thanks,

Ada (adanska)





Re: Add xmpp room to the list of group chats.

2023-12-06 Thread Ada Stevenson

Hi,

On 12/2/23 8:20 AM, MSavoritias wrote:
Hey, I thought this mailing list is the most fitting for the request 
feel free to point out if its better somewhere else.



Is the community open to have group chats listed in other networks 
than IRC assuming they are free software?


Having chat groups in different networks is going to greatly improve 
the accessibility of the project towards new contributors which I 
think we recently wanted to start working on as one of our areas of 
focus.


The group chat I am talking about is in xmpp/jabber and it is here -> 
g...@chat.disroot.org


It has already the CoC of the guix project and xmpp is free software 
from server to client.



Also disclaimer: I am not talking about starting to bridge them. That 
is an entirely separate thing with different tradeoffs and maintenance.


Just listing the group chat is easy though :)


Msavoritias


This sounds like a good idea to me! XMPP just works a lot nicer with 
stuff like attachments and message logging without needing peripheral 
tooling like znc to get around things like message logging/persistance. 
Whether we go with disroot.org to host the chat, or whether GNU can host 
something for us in the future I'm not sure, but I'm keen to see more 
usage of XMPP.


I think the channel should be listed once we have a strong consensus 
that we want to use XMPP as a main communication channel. Perhaps this 
is suitable for a RFI?


However, I understand the desire to keep everything as central as 
possible, especially when it comes to communication. IRC works well 
enough in most cases, and by far has the most active users. This doesn't 
mean things can improve, though, and the niceties provided by a more 
modern protocol such as XMPP could be worth it, potentially. Anyway, 
there isn't much harm in maintaining our own XMPP channel for those who 
wish to use it.


What do you think?

Thanks,

Ada (adanska)




Re: Questions about packages because of license and other

2023-12-06 Thread Ada Stevenson

Hi,

On 12/6/23 8:36 PM, Christian Miller wrote:

Hi,

1. PrismLauncher[0]: The software itself is licensed as GPL3 but it is
used to download and launch a proprietary videogame called
"Minecraft".  Since it is itself GPL3 licensed but used for a
proprietary videogame, would it be allowed for upstream or not?


This is already included in the Guix-Gaming[1] channel.



2: PCSX2[1]: Software itself is licensed as GPL3 but is used to
emulate a PlayStation 2 (game console), which is highly proprietary
hardware.  It is also wishlisted on libreplanet[2].  It requires the
original proprietary BIOS (not distributed by the software) to run.
Since it is a game console, it also requires proprietary video games
(not distributed by the software).
For these gaming related packages that require non-free software, 
perhaps it might be a good idea to contribute to Guix-Gaming[1] instead, 
rather than upstream.


3. impatient-mode[3]: This is an Emacs mode to write HTML and see it
in realtime rendered in the web browser.  It has no license file.  In
the file "impatient-mode.el" it says "This is free and unencumbered
software released into the public domain.".  Is this suitable for an
upstream package?  It looks to me not correctly licensed but I am also
not an expert in this and therefore unsure.

Public domain would be suitable for inclusion, though.


PrismLauncher works but does not show images from the instance.

PCSX2 works but does not show icons.

Imaptient-mode is done.

Since it is better to push as much as possible upstream, would they
met the requirements or not?

[0] https://github.com/PrismLauncher/PrismLauncher
[1] https://github.com/PCSX2/pcsx2
[2] https://libreplanet.org/wiki/Group:Guix/Wishlist#Emulation
[3] https://github.com/skeeto/impatient-mode

[1] https://gitlab.com/guix-gaming-channels/games

Thanks,

Ada (adanksa)




Re: Making linux-libre@6.5 the default kernel

2023-10-09 Thread Ada Stevenson

Hi!


Hi Leo! :)


The reason is that I haven't had enough
time to make these changes lately, and for a while I have been the only
person updating the kernel in Guix.
That makes a lot of sense. I had no idea - the reason I came to the 
mailing list was to figure out what everyone's doing, and that's proved 
very fruitful. Thank you for all of your work :)


So, to make things clear, the delay in making 6.5 the default kernel is 
in part because you lack sufficient support in the case that things go 
wrong or some urgent change needs to be pushed? That makes sense, and 
I'm sorry it is this way. :/



I'd like for more people to join the effort, and there's some info about
that subject here:

https://lists.gnu.org/archive/html/guix-devel/2023-10/msg00079.html
I don't think I'll be of much help - I'm pretty unfamiliar with kernel 
configuration, and I currently have a few Guix packages that I'm working 
on that are taking up most of my Guix time.


However, I wish you the best, and I do hope that you're able to muster 
some extra hands from the community. During the university holidays I'll 
see if I'm able to lend some help - even if it isn't full-time!


Thanks!

Ada (adanska)

On 10/8/23 6:17 PM, Leo Famulari wrote:

On Tue, Oct 03, 2023 at 11:05:40AM +, Ada Stevenson wrote:

Hi Guix!

Hi!


I understand why that may be; the commit is quite new, and pushing new
kernel versions on everyone is a pretty big thing. I just want to know what
the timeline on this sort of thing is - when can we expect the new 6.5
kernel to become the default?

Thanks for asking about this. The reason is that I haven't had enough
time to make these changes lately, and for a while I have been the only
person updating the kernel in Guix.

I'd like for more people to join the effort, and there's some info about
that subject here:

https://lists.gnu.org/archive/html/guix-devel/2023-10/msg00079.html


OpenPGP_0x99A5BEE5B59C15DB.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Making linux-libre@6.5 the default kernel

2023-10-04 Thread Ada Stevenson

Hi Guix!

I saw that linux-libre@6.5 was merged upstream today - however, it 
hasn't been made the default yet.


I understand why that may be; the commit is quite new, and pushing new 
kernel versions on everyone is a pretty big thing. I just want to know 
what the timeline on this sort of thing is - when can we expect the new 
6.5 kernel to become the default?


There is some pressure to do so - 6.4 is EOL, and I'm sure you've heard 
the news regarding the Linux maintainers and the pressures supporting 
older kernel versions. I think it's good idea to expedite the transition 
to the new stable kernel slightly.


Thanks!

Ada (adanksa) :)



OpenPGP_0x99A5BEE5B59C15DB.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature