Re: How to move forward about Rust? antioxidant, cargo2guix, etc.

2025-03-16 Thread Hilton Chain
On Sun, 16 Mar 2025 16:07:59 +0800,
Efraim Flashner wrote:
>
> [1  ]
> +CC Steve, new(ish) rust-team member
>
> On Sun, Mar 16, 2025 at 02:04:02PM +0800, Hilton Chain wrote:
> > I have made the following changes (currently locally):
> > - New procedure ‘cargo-inputs’.
> >
> >   (cargo-inputs NAME) returns a copy of (@ (gnu packages rust-crates)
> >   NAME-cargo-inputs), with #f removed and symbols resolved to (@ (gnu 
> > packages
> >   rust-sources) SYMBOL).  Both modules can be configured via keyword 
> > arguments.
> >
> >   This eliminates the need to modify *-cargo-inputs manually.
>
> Is it possible to add the other more involved cargo inputs like
> rust-ring to this list or would that add too much of a burden?

For example, currently in my rust-crates.scm, ‘atuin-cargo-inputs’ has a
‘rust-ring-0.17.14’ element, which is defined as a symbol ‘'rust-ring-0.17’,
then (cargo-inputs 'atuin) will resolve this symbol to ‘rust-ring-0.17’ variable
defined in rust-sources.scm.  We won't need to add ‘rust-ring-0.17’ to atuin's
inputs then.

> > - Importer: Insert *-cargo-inputs alphabetically too.
>
> Yay!
>
> > I'll try to keep cargo-build-system compatible with current packages.
> >
> > Draft migration path:
> > 1. Import dependencies to (gnu packages rust-crates) and copy needed
> >   dependencies to (gnu packages rust-sources).
> > 2. Remove #:cargo-inputs of applications, refine their definitions and 
> > relocate
> >   them to categorized modules.
> > 3. Remove all crates-* modules.
>
> It seems to me that 2 and 3 can happen later as necessary, that 1 is the
> most important part.  Especially since I think we'd do well to have the
> mixed build-system packages not be cargo-build-system but their other
> build-system instead.

I agree, so I'll make the changes compatible with current packages.



Re: How to move forward about Rust? antioxidant, cargo2guix, etc.

2025-03-16 Thread Hilton Chain
On Sun, 16 Mar 2025 16:30:08 +0800,
Hilton Chain wrote:
>
> On Sun, 16 Mar 2025 16:07:59 +0800,
> Efraim Flashner wrote:
> >
> > [1  ]
> > +CC Steve, new(ish) rust-team member
> >
> > On Sun, Mar 16, 2025 at 02:04:02PM +0800, Hilton Chain wrote:
> > > I have made the following changes (currently locally):
> > > - New procedure ‘cargo-inputs’.
> > >
> > >   (cargo-inputs NAME) returns a copy of (@ (gnu packages rust-crates)
> > >   NAME-cargo-inputs), with #f removed and symbols resolved to (@ (gnu 
> > > packages
> > >   rust-sources) SYMBOL).  Both modules can be configured via keyword 
> > > arguments.
> > >
> > >   This eliminates the need to modify *-cargo-inputs manually.
> >
> > Is it possible to add the other more involved cargo inputs like
> > rust-ring to this list or would that add too much of a burden?
>
> For example, currently in my rust-crates.scm, ‘atuin-cargo-inputs’ has a
> ‘rust-ring-0.17.14’ element, which is defined as a symbol ‘'rust-ring-0.17’,
> then (cargo-inputs 'atuin) will resolve this symbol to ‘rust-ring-0.17’ 
> variable
> defined in rust-sources.scm.  We won't need to add ‘rust-ring-0.17’ to atuin's
> inputs then.
>
> > > - Importer: Insert *-cargo-inputs alphabetically too.
> >
> > Yay!
> >
> > > I'll try to keep cargo-build-system compatible with current packages.
> > >
> > > Draft migration path:
> > > 1. Import dependencies to (gnu packages rust-crates) and copy needed
> > >   dependencies to (gnu packages rust-sources).
> > > 2. Remove #:cargo-inputs of applications, refine their definitions and 
> > > relocate
> > >   them to categorized modules.
> > > 3. Remove all crates-* modules.
> >
> > It seems to me that 2 and 3 can happen later as necessary, that 1 is the
> > most important part.  Especially since I think we'd do well to have the
> > mixed build-system packages not be cargo-build-system but their other
> > build-system instead.
>
> I agree, so I'll make the changes compatible with current packages.

(Resent to have proper To: and Cc:, not sure why my MUA is not good at replying
to Efraim's mail)



Re: New procedure to modify operating-system records

2025-03-16 Thread Rutherther


Hi, in case someone stumbled upon this thread in the future
(probably me, who will again not save this to a known location
and will come searching on the list archives :) ),

OP changed their usernam on codeberg, so
new url is here: 
https://codeberg.org/pastor/omega/src/branch/main/pastor/utils/gpu-specification.scm



Re: emacs-next periodic updates

2025-03-16 Thread Gabriel Santos
Greetings,

Just sending another message to report on status:

I managed to update emacs-next-minimal to
db0bed7a68cd2308eba61247a6a77f73533ffef6

The only package that didn't build properly was
emacs-next-pgtk-xwidgets:

>checking for webkit2gtk-4.1 >= 2.12 webkit2gtk-4.1 < 2.41.92... no
>checkinbg for webkit2gtk-4.0 >= 2.12 webkit2gtk-4.0 < 2.41.92... no
>configure: error: xwidgets requested but WebKitGTK+ or WebKit framework not 
>found.

Seems like I'd have to update or write another version of
webkitgtk-with-libsoup2.

If you want to check it out, I think I could send the patch to
this thread.

--
Gabriel Santos



Re: New procedure to modify operating-system records

2025-03-16 Thread Rutherther


Sergio Pastor Pérez  writes:

> Hello Rutherther! Thanks for showing interest.
>
> Rutherther  writes:
>> Hi, in case someone stumbled upon this thread in the future
>> (probably me, who will again not save this to a known location
>> and will come searching on the list archives :) ),
>>
>> OP changed their usernam on codeberg, so
>> new url is here: 
>> https://codeberg.org/pastor/omega/src/branch/main/pastor/utils/gpu-specification.scm
>
> You no longer need to use my channel, this has been upstreamed to
> Nonguix in this commit[1].

That's great to hear that it was upstreamed to a more popular channel!
Thanks for the work.

> If anyone would like to help with this work, please take a look at the
> latest revision of fixing `map-derivation'[2]. We are currently looking
> for testers that have some meaningful use cases of this procedure.

Btw have you looked into how to meaningfully use this procedure in
use-cases like guix system/home build/reconfigure, guix build...

Because as far as I can tell, this map-derivation cannot really be
used along with them and some sort of custom script would be necessary,
or am I missing something? - If so, that would mean the previous solution
was way easier to be used, since you just returned operating-system as
normally, but with rewrites applied.

Regards,
Rutherther



Re: emacs-next periodic updates

2025-03-16 Thread Gabriel Santos
>webkitgtk-for-gtk3 provides webkit2gtk-4.1, but the version is 2.46.6.  You 
>may not need to use webkitgtk-with-libsoup2 as the base to prepare another 
>version.

Thanks, I'll check out webkitgtk-for-gkt23 to see what I can do.

--
Gabriel Santos



New Ukrainian PO file for 'shepherd' (version 1.0.3rc1)

2025-03-16 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'shepherd' has been submitted
by the Ukrainian team of translators.  The file is available at:

https://translationproject.org/latest/shepherd/uk.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

https://translationproject.org/latest/shepherd/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

https://translationproject.org/domain/shepherd.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





Re: emacs-next periodic updates

2025-03-16 Thread Ricardo Wurmus

Gabriel Santos  writes:


I managed to update emacs-next-minimal to
db0bed7a68cd2308eba61247a6a77f73533ffef6

The only package that didn't build properly was
emacs-next-pgtk-xwidgets:

checking for webkit2gtk-4.1 >= 2.12 webkit2gtk-4.1 < 
2.41.92... no
checkinbg for webkit2gtk-4.0 >= 2.12 webkit2gtk-4.0 < 
2.41.92... no
configure: error: xwidgets requested but WebKitGTK+ or WebKit 
framework not found.


Seems like I'd have to update or write another version of
webkitgtk-with-libsoup2.


webkitgtk-for-gtk3 provides webkit2gtk-4.1, but the version is 
2.46.6.  You may not need to use webkitgtk-with-libsoup2 as the 
base to prepare another version.


--
Ricardo



Re: Trying out Codeberg

2025-03-16 Thread Maxim Cournoyer
Hello,

Adrien 'neox' Bourmault  writes:

[...]

> If I can help by sharing Libre en Communs' experience, I'll be very
> happy to do so. I'll start here by explaining a bit what I have in
> mind.
>
> Libre en Communs needed a forge software to be able to provide means
> for people (both very technical such as sysadmins and less technical
> such as designers or writers) for collaboration. We chose Forgejo
> because of its stance for software freedom and because it was the best
> solution available at that time as compromise between usability and
> performance/resources.
>
> However, Forgejo is not perfect at all. We lack moderation tools to
> fight against e.g abusers, there are sometimes very serious bugs (this
> works better lately), and the default CI recipes/code depends on
> docker.io images and nodeJS and npm. Also, the javascript generated by
> Forgejo is minified, without a clear license header, making LibreJS
> blocking it by default (and preventing people from being able to trust
> it right away).
>
> About the CI, we decided to forbid using the default recipes advertized
> in Forgejo docs, because we can't verify that everything is free on
> code.forgejo.org, and we don't want our infrastructure to depend on npm
> for the same reasons.
>
> Currently, it's possible to use Forgejo CI on our instance with runners
> configured with docker (with a dedicated self-hosted docker image, like
> a project on our instance does) but also with ssh on a dedicated host,
> that can be a chroot. I did not have enough time to test with a `guix
> vm` but that seems doable without too much pain.
>
> Please let me know if you want explanation on how we do anything, or if
> I can help further.

Thank you for sharing your experience with Forgejo; this is valuable
input.  The lack of moderation tools sounds problematic.  Are there ways
around this lack of tooling, or is it just not possible to moderate?

-- 
Thanks,
Maxim



Re: How to move forward about Rust? antioxidant, cargo2guix, etc.

2025-03-16 Thread Development of GNU Guix and the GNU System distribution.
Nicolas Graves  writes:

> 4) The full Guix way
>
> Most likely : we don't have the manpower in the short term for
> going the full guix way, because, and I second Murilo's point here, we
> dive in dependency hell quickly with more required efforts than
> reasonable (having implemented it myself, despite being quite proud of
> it). 
>
> BUT: Maybe antioxidant is still doable. IIRC the hardest was not setting
> #:features correctly (I hope IRC). This is because the information about
> features required for parent packages is located in parent / dependent
> packages, not in child packages.
>
> Cargo chooses to rebuild everything ; but there is at least another
> solution for that : parse all the dependents of a package to record the
> different features/versions a package would need to be generated
> with. This means when importing, also sinking into crates.io huge
> database, but we could construct an inverse cache or something.
> And an importer could then generate more than one version of a package,
> but several variants, if several variants are indeed required to build
> all its transitive parents.
>

Are you saying that if two dependents of a package A depend on the same
package B, but with different features we need to build B with the
union of those features?

Is it possible to build B twice or will it conflict with itself when
building A?

> To be even more precise we could search only in blessed.rs or lib.rs.
> But we need to pull that from Rust, with dependents too (and not in Guix
> like Antioxidant did).
>
> This could lead to a channel like we've seen for Emacs packages or CRAN,
> generating regularly from complete upstream info, and we could
> incorporate piece by piece packages that build in this channel into
> Guix. With limitations: the deduplication of packages (having 4-5
> versions of the same package) will probably still be necessary.
>
> Otherwise there's just a lot of work by hand, we probably would like to
> avoid.
>


signature.asc
Description: PGP signature


Re: How to move forward about Rust? antioxidant, cargo2guix, etc.

2025-03-16 Thread Development of GNU Guix and the GNU System distribution.


> Are you saying that if two dependents of a package A depend on the same
> package B, but with different features we need to build B with the
> union of those features?
>
Exactly, except in some cases where features are incompatible with each other, 
but that's (very) rare.  What's annoying is that we don't know the good scope 
of features, it's often more than "default" but we still want to minimize it to 
avoid weird dependency loops. 

>
> Is it possible to build B twice or will it conflict with itself when
> building A?
>
Not sure I remember correctly, IIRC you need a single B. 



Re: Automatic tagging of unanswered issues in mumi

2025-03-16 Thread Cayetano Santos

>ven. 14 mars 2025 at 14:02, Arun Isaac  wrote:

> Hi Cayetano,
>
>> I’m just wondering if the help page up to date with most recent hints.
>>
>> https://issues.guix.gnu.org/help
>
> The help page is technically up-to-date since I haven't changed that
> interface. However, the help page could be improved significantly by
> adding examples of real-world everyday queries people might use. I'll do
> that soon. You can help it happen sooner if you reply to this thread
> with some concrete examples. :-) I don't need a patch, just text I can
> work with. It's always helpful to have these examples written by users
> so they are representative of what users actually want to do.

I had in mind both, "tag:unanswered" and "tag:team-whatever", which
don’t appear in the help page (I understand here that not any tag is
accepted by mumi).

C.


signature.asc
Description: PGP signature


New Romanian PO file for 'shepherd' (version 1.0.3rc1)

2025-03-16 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'shepherd' has been submitted
by the Romanian team of translators.  The file is available at:

https://translationproject.org/latest/shepherd/ro.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

https://translationproject.org/latest/shepherd/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

https://translationproject.org/domain/shepherd.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





New Slovak PO file for 'shepherd' (version 1.0.3rc1)

2025-03-16 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'shepherd' has been submitted
by the Slovak team of translators.  The file is available at:

https://translationproject.org/latest/shepherd/sk.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

https://translationproject.org/latest/shepherd/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

https://translationproject.org/domain/shepherd.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





New template for 'shepherd' made available

2025-03-16 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.  (If you have
any questions, send them to .)

A new POT file for textual domain 'shepherd' has been made available
to the language teams for translation.  It is archived as:

https://translationproject.org/POT-files/shepherd-1.0.3rc1.pot

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

Below is the URL which has been provided to the translators of your
package.  Please inform the translation coordinator, at the address
at the bottom, if this information is not current:

https://alpha.gnu.org/gnu/shepherd/shepherd-1.0.3rc1.tar.gz

We can arrange things so that translated PO files are automatically e-mailed
to you when they arrive.  Ask at the address below if you want this.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.





New Swedish PO file for 'shepherd' (version 1.0.3rc1)

2025-03-16 Thread Translation Project Robot
Hello, gentle maintainer.

This is a message from the Translation Project robot.

A revised PO file for textual domain 'shepherd' has been submitted
by the Swedish team of translators.  The file is available at:

https://translationproject.org/latest/shepherd/sv.po

(We can arrange things so that in the future such files are automatically
e-mailed to you when they arrive.  Ask at the address below if you want this.)

All other PO files for your package are available in:

https://translationproject.org/latest/shepherd/

Please consider including all of these in your next release, whether
official or a pretest.

Whenever you have a new distribution with a new version number ready,
containing a newer POT file, please send the URL of that distribution
tarball to the address below.  The tarball may be just a pretest or a
snapshot, it does not even have to compile.  It is just used by the
translators when they need some extra translation context.

The following HTML page has been updated:

https://translationproject.org/domain/shepherd.html

If any question arises, please contact the translation coordinator.

Thank you for all your work,

The Translation Project robot, in the
name of your translation coordinator.