Summary: | dev-lang/rakudo lacks an ebuild for the zef module installer | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jeff Gazso <jeff.gazso> |
Component: | New packages | Assignee: | Patrick Lauer <patrick> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | jeff.gazso, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 604346, 834943 | ||
Attachments: |
rakudo.eclass
dev-raku/zef-0.13.7.ebuild dev-raku/Digest-MD5-0.05_p20170425.ebuild rakudo.eclass rakudo.eclass rakudo.eclass dev-raku/zef-0.13.7.ebuild |
Description
Jeff Gazso
2021-11-28 20:03:59 UTC
dev-lang/rakudo should install tools/install-dist.raku. install-dist.raku should be used to install every raku module including zef. install-dist.raku should be used in rakudo.eclass. zef cannot cleanly handle installing raku modules as gentoo packages, but install-dist.raku can. zef is great if you want to install raku modules as a non-root user into ${HOME}/.raku To dev-lang/rakudo-xxx.ebuild, I needed to add the following lines to src_install so that installing and removing zef doesn't remove directories created by rakudo. newbin tools/install-dist.p6 raku-install-dist raku="$D/usr/bin/raku" func="CompUnit::RepositoryRegistry.repository-for-name" site=$($raku -e "say $func('site')") site=${site#inst#} keepdir "$site/bin" keepdir "$site/dist" keepdir "$site/precomp" keepdir "$site/resources" keepdir "$site/short" keepdir "$site/sources" vendor=$($raku -e "say $func('vendor')") vendor=${vendor#inst#} keepdir "$vendor/bin" keepdir "$vendor/dist" keepdir "$vendor/precomp" keepdir "$vendor/resources" keepdir "$vendor/short" keepdir "$vendor/sources" Created attachment 766797 [details]
rakudo.eclass
This is the secret sauce.
Created attachment 766798 [details]
dev-raku/zef-0.13.7.ebuild
Behold.
Created attachment 766799 [details]
dev-raku/Digest-MD5-0.05_p20170425.ebuild
This is a minimal example of a raku module.
Created attachment 766800 [details]
rakudo.eclass
My secret sauce.
Created attachment 766801 [details]
rakudo.eclass
Created attachment 766804 [details]
rakudo.eclass
Created attachment 766805 [details]
dev-raku/zef-0.13.7.ebuild
Perhaps, I should install raku-install-dist as /usr/share/perl6/core/tools/install-dist.p6 I added rakudo.eclass, my own version of dev-lang/rakudo, dev-raku/zef, and dev-raku/Digest-MD5 to my overlay. Check them out, and add them to gentoo overlay. rakudo.eclass requires my version of dev-lang/rakudo. Be careful. My crocket-overlay now contains dev-raku/zef for development, dev-raku/App-Prove6 for tests, and dev-raku/Inline-Perl5 for interoperation with perl 5. rakudo.eclass has been nearly perfected. Gentoo linux should just take rakudo.eclass, dev-lang/rakudo, and dev-raku/* from my overlay. (In reply to crocket from comment #15) > My crocket-overlay now contains dev-raku/zef for development, > dev-raku/App-Prove6 for tests, and dev-raku/Inline-Perl5 for interoperation > with perl 5. > > rakudo.eclass has been nearly perfected. > > Gentoo linux should just take rakudo.eclass, dev-lang/rakudo, and dev-raku/* > from my overlay. To submit them, attach a git am-able patch (from git format-patch) and also submit the eclass to the gentoo-dev ML via git send-email. (In reply to Sam James from comment #16) > To submit them, attach a git am-able patch (from git format-patch) and also > submit the eclass to the gentoo-dev ML via git send-email. Is this the only way to submit a patch? Is there any documentation on submitting changes to gentoo ebuilds? (In reply to crocket from comment #17) > (In reply to Sam James from comment #16) > > To submit them, attach a git am-able patch (from git format-patch) and also > > submit the eclass to the gentoo-dev ML via git send-email. > > Is this the only way to submit a patch? Is there any documentation on > submitting changes to gentoo ebuilds? In general: - make a change locally - git commit it (ideally use 'pkgdev commit') - when you're done, either push it to a branch somewhere, and open a pull request, OR run 'git format-patch' and attach the patches which it makes in your directory to a bug. So, for eclasses, we have to send new eclasses to the gentoo-dev mailing list. You can do this by using the 'git send-email' command. For general contributions, you can attach those git format-patch patches to bugs, but sometimes it works better to make a PR on github, it depends on the maintainer. https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers/User_Guide#How_to_submit_package_updates tries to explain it but I can give more info If there are no consumers in ::gentoo, consider contributing to GURU: https://wiki.gentoo.org/wiki/Project:GURU (In reply to Anna Vyalkova from comment #19) > If there are no consumers in ::gentoo, consider contributing to GURU: > https://wiki.gentoo.org/wiki/Project:GURU What do you mean, "if there are no consumers?" I don't like mailing lists. I also don't feel comfortable about depending on microsoft infrastructure. I think gentoo project should create its own self-hosted gitea/gitlab instance. (In reply to crocket from comment #21) > I don't like mailing lists. I also don't feel comfortable about depending on > microsoft infrastructure. > > I think gentoo project should create its own self-hosted gitea/gitlab > instance. You don't have to use microsoft infrastructure. I was just giving github PRs as an option. As for self-hosted gitlab, it's being worked on. But we do eclass review via mailing list. You can do the rest via Bugzilla if you wish. (In reply to Jeff Gazso from comment #20) > (In reply to Anna Vyalkova from comment #19) > > If there are no consumers in ::gentoo, consider contributing to GURU: > > https://wiki.gentoo.org/wiki/Project:GURU > > What do you mean, "if there are no consumers?" If no packages in gentoo.git need it, you can do it in guru. I wish mailing list was replaced with gitlab discussion or gentoo forum. At least, the forum interface is easier to use. I can't configure my webmail client properly. |