On Fri, Jul 25, 2025 at 8:51 AM Zbigniew Jędrzejewski-Szmek <zbys...@in.waw.pl> wrote: > > On Fri, Jul 25, 2025 at 08:44:58AM +0000, Zbigniew Jędrzejewski-Szmek wrote: > > On Thu, Jul 24, 2025 at 11:25:26PM +0100, Aoife Moloney via devel-announce > > wrote: > > > Hare is a systems programming language designed to be simple, stable, > > > and robust. Hare uses a static type system, manual memory management, > > > and a minimal runtime. It is well-suited to writing operating systems, > > > system tools, compilers, networking software, and other low-level, > > > high performance tasks. > > > > It's cool to see new languages and tools being developed. > > > > The Change page text contains a few surprising statements though: > > > > > Leaving `binutils` and GCC aside, bootstrapping a Hare tool chain > > > only takes a few minutes. > > I guess this doesn't really apply to Fedora users, because everyti > > will packaged. Or are people expected to bootstrap something > > regularly? > > > > > Unlike other language tool chains, Hare modules are meant to be the > > > responsibility of system package managers like DNF. Packaging Hare > > > modules and applications should result in little friction. > > Can you expand a bit on this? Is the workflow for updates of software > > written in Hare going to be somehow different than e.g. for C > > applications? What does "responsibility of system package managers" > > mean? > > One more question, after reading the proposed Packaging Guidelines changes: > do hare apps, linked statically or not, properly embed package notes?
The (work in progress) guidelines I put together default to dynamic linking that relies on a C compiler (GCC by default in my package configuration). For dynamic linking, the build driver honors LDFLAGS from the environment, so a package following the guidelines should properly embed package notes: > $ readelf --display-section=.note.package /usr/bin/hare | awk '/Packaging > Metadata:/ {print $3}' | jq > { > "type": "rpm", > "name": "hare", > "version": "0.25.2-1.fc43", > "architecture": "x86_64", > "osCpe": "cpe:/o:fedoraproject:fedora:42" > } This program doesn't technically follow the guidelines, since it comes from the hare package itself. It shows at least that the single-pass bootstrap captures the desired notes. > $ readelf --display-section=.note.package /usr/libexec/hare/hare-update | awk > '/Packaging Metadata:/ {print $3}' | jq > { > "type": "rpm", > "name": "hare-update", > "version": "0.25.2.0-1.fc43", > "architecture": "x86_64", > "osCpe": "cpe:/o:fedoraproject:fedora:42" > } This one follows the guidelines that actually contain a complete RPM spec to rebuild it. It might be possible to package a Hare program that is statically linked and properly embeds all expected ELF sections, but I haven't tested this case. > Zbyszek > -- > _______________________________________________ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue