Re: [gentoo-dev] [PATCH 2/5] zig-build.eclass: new eclass
+ if tc-is-cross-compiler; then + ZBS_ARGS_BASE+=( + # TODO add to upstream some way to add different search prefixes + # for binaries, include paths and libraries, like existing --prefix-exe-dir etc. + # Right now std.Build.findProgram will try to search here first, before PATH, + # but std.Build.run and std.Build.runAllowFail use passed arguments as is and + # uses std.process.Child under the hood, which itself can use PATH. + # + # Passing "--search-prefix" when not cross-compiling gives these Could we move this TODO comment above the function `zig-build_start_base_args`? 1. it will improve readability by giving a TODO block up-front, 2. putting this inside a 3-step indent is a bit too much. -- Have a great day! ~ Maciej Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] Handling installed tests
Hi Sam, We have a "source" flag so maybe we could either use that or have "test-source" BUT we also have FEATURES="installsources" ...so (if I understand that feature correctly) we can just run test from /usr/src/debug/${CATEGORY}/${PF} But IMO I'd rather clone the project and run test from the clone. Of source the drawback of installsources & git cloning is that emerge does not run any modifications on the tests nor applies patches to them nor buildsystem/testrunner used. W dniu 9.08.2024 o 17:43, Sam James pisze: Hi, I'm currently working on packaging dtrace which doesn't (at least currently, may not ever) support running tests as non-root, but does support handling installing them for later manual use. This raises a question: how should we control installing such tests? How should the user request that? USE=test isn't suitable because: a) I generally expect it not to mutate the image; b) ago, rightly, based on this has a tinderbox check which looks for added/removed files when tests are enabled. I'd like to pick some name which is suitable for us to use elsewhere and it's not really a package-specific issue. Thoughts? Please assume the tests are large enough to justify conditional install and have additional dependencies. (This is arguably related to https://bugs.gentoo.org/867799 and so on wrt dev-lang/python always installing tests.) thanks, sam -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] Last rites: dev-lang/scala, dev-lang/mozart, dev-lang/mozart-stdlib, app-emacs/scala-mode
app-emacs/scala-mode I would be against removing this pkg except that it is true that it depends on a Scala interpreter on runtime, very weird design choice. So yes, all those pkgs have to go at once. W dniu 27.07.2024 o 10:30, Volkmar W. Pogatzki pisze: # Volkmar W. Pogatzki (2024-0r73-27) # Stable version stuck on EAPI=6. # Lacks maintainer capacity for dev-lang/scala. # Removal on 2024-08-26. Bugs #932012, #932737, #933607. dev-lang/scala dev-lang/mozart dev-lang/mozart-stdlib app-emacs/scala-mode -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] Packages up for grabs
dev-vcs/pre-commit I will take this. app-emacs/meson-mode GNU-Emacs proj. will take this. W dniu 28.06.2024 o 13:12, Michał Górny pisze: Hi, Due to their maintainers retiring from Gentoo, the following packages are now in need of a new maintainer: acct-group/gopherd acct-group/lightdm acct-group/rtkit acct-group/suricata acct-group/syncthing acct-user/gopherd acct-user/lightdm acct-user/rtkit acct-user/stdiscosrv acct-user/strelaysrv acct-user/suricata acct-user/syncthing app-admin/ansible-lint app-admin/ansible-molecule app-admin/redfishtool app-admin/sysstat app-backup/borgbackup app-backup/borgmatic app-containers/apptainer app-crypt/chntpw app-crypt/libu2f-host app-crypt/libu2f-server app-crypt/rainbowcrack app-crypt/yubikey-manager app-editors/hexcurse app-emacs/meson-mode app-emulation/fuse app-emulation/fuse-utils app-emulation/libspectrum app-emulation/protontricks app-forensics/honggfuzz app-forensics/radamsa app-forensics/zzuf app-i18n/man-pages-ru app-misc/crunch app-misc/empty app-misc/gramps app-misc/mc app-misc/ola app-text/bibletime app-text/htmltidy app-text/pinfo app-text/sword app-text/xchm app-text/xiphos dev-cpp/benchmark dev-cpp/clhpp dev-cpp/prometheus-cpp dev-db/sqlcipher dev-debug/ltrace dev-games/irrlicht-mt dev-games/irrlicht-mt-headers dev-libs/chmlib dev-libs/isa-l dev-libs/isa-l_crypto dev-libs/libjcat dev-libs/libptytty dev-libs/libxmlb dev-libs/opencl-icd-loader dev-libs/sentry-native dev-libs/xmlrpc-c dev-python/ansible-pygments dev-python/cerberus dev-python/fido2 dev-python/griffe dev-python/jack-client dev-python/makefun dev-python/mapbox_earcut dev-python/markdown-exec dev-python/mido dev-python/mkdocs-ansible dev-python/mkdocs-autorefs dev-python/mkdocs-gen-files dev-python/mkdocs-htmlproofer-plugin dev-python/mkdocs-macros-plugin dev-python/mkdocs-monorepo-plugin dev-python/mkdocstrings dev-python/mkdocstrings-python dev-python/pslab dev-python/pygments-ansi-color dev-python/pyopencl dev-python/pyotherside dev-python/pytest-golden dev-python/pytest-markdown dev-python/pytest-plus dev-python/python-rtmidi dev-python/pywinrm dev-python/spdx-tools dev-python/stomp-py dev-python/uritools dev-python/yattag dev-util/opencl-headers dev-util/shc dev-util/yamllint dev-vcs/git-flow dev-vcs/git-machete dev-vcs/pre-commit games-engines/love games-puzzle/color-lines games-strategy/seven-kingdoms mail-mta/msmtp mail-mta/proton-mail-bridge media-gfx/fbgrab media-gfx/pngcrush media-gfx/vkBasalt media-libs/elles_icc_profiles media-radio/kochmorse media-sound/linux-show-player net-analyzer/suricata net-dialup/accel-ppp net-libs/biblesync net-libs/libhtp net-misc/geomyidae net-misc/oidc-agent net-news/canto-curses net-news/canto-daemon net-p2p/syncthing net-proxy/lyrebird net-proxy/rejik net-proxy/squidguard net-vpn/pptpd sci-electronics/NanoVNA-QT sci-geosciences/osm-gps-map sci-mathematics/spin sec-keys/openpgp-keys-oisf sec-keys/openpgp-keys-yubico sys-apps/flashrom sys-apps/fwupd sys-apps/fwupd-efi sys-apps/gptfdisk sys-apps/lm-sensors sys-apps/proot sys-apps/the_silver_searcher sys-apps/uswid sys-auth/libyubikey sys-auth/rtkit sys-auth/solo1 sys-auth/ykpers sys-auth/yubico-piv-tool sys-auth/yubikey-personalization-gui sys-block/whdd sys-fs/ddrescue sys-fs/mhddfs sys-libs/blocksruntime sys-libs/libblockdev sys-libs/libsmbios sys-power/acpid sys-process/incron virtual/secret-service x11-misc/cbatticon x11-misc/fracplanet x11-misc/hsetroot x11-misc/lightdm x11-misc/lightdm-gtk-greeter x11-misc/read-edid x11-misc/xdotool x11-misc/xiccd x11-misc/xnots x11-misc/xystray x11-plugins/pidgin-gnome-keyring x11-plugins/vicious x11-terms/rxvt-unicode x11-themes/gtk-engines-murrine x11-themes/murrine-themes x11-wm/awesome -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] Last-rite dev-scheme/termite
EAPI=6, now shipped in official gambit and so it fails to merge from file collision. Bug: #832334 Removal on 2024-07-14. One can verify thet termite is now shipped in Gambit by simply attempting to import it in the gsi REPL: (import termite) -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] last-rite dev-scheme/scheme48
Old and experimental Scheme compiler. Bugs: 870472 and 906863 See also: https://bugs.gentoo.org/933643 Removal on 2024-07-05. dev-scheme/scheme48 -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] Last-rite app-emacs/libegit2
Deprecated git integration backend of "app-emacs/magit". No longer supported by upstream. Fails to compile (bug 928920). Removal on 2024-07-04. app-emacs/libegit2 -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
I agree, but such documentation doesn't belong in an ebuild repository, but should be in a dedicated location like the Devmanual or the wiki. From our workflow and policy standpoint - yes; but to conform how it is mostly done in git forges like github/gitlab/codeberg etc this is also documented in LICENSE or COPYRIGHT file. (Offotopic: though I use a dedicated dir called "Copyright" to put all legal info there for my own priovate repos.) W dniu 1.05.2024 o 17:52, Ulrich Mueller pisze: On Wed, 01 May 2024, Maciej Barć wrote: Also no license link. Afaik all contribs are under GPL-2. That's not entirely correct. The files in the licenses/ directory aren't, and patches in packages' files/ dirs generally follow the license of their upstream project. See, so it would help to have a doc that talks about the irregularities. I agree, but such documentation doesn't belong in an ebuild repository, but should be in a dedicated location like the Devmanual or the wiki. Ulrich -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
Maybe the solution here is that developers who merge patches from contributors should test the PR before merging. Of source, of course they should! (thats how the bug was discovered in the case I recalled). It's all about communicating to the contributor the most important things that we expect in the PR --- if not, then whats the point of having the PR template? W dniu 1.05.2024 o 17:15, Eli Schwartz pisze: On 5/1/24 11:02 AM, Maciej Barć wrote: Well, not really, there were many cases where pkg was broken on sandbox! The latest example would be nim (before I updated it myself) where contributor submitted broken pkg without telling anybody. It was a WIP PR but nowhere they specified that it did not merge under sandbox. I want to encourage contributors to outright say when they know/think something might be wrong with package. And adding another checkbox is going to stop people from submitting WIP draft PRs without marking them as drafts? Maybe the solution here is that developers who merge patches from contributors should test the PR before merging. At least if you don't have a preexisting relationship with the contributor such that you have trust in the contributor to publish high quality ebuilds that pass basic smoketests. I mean, you probably want to do that anyway because if someone shows up with their first ever PR and the change looks okay but has a broken checksum it is awfully hard to tell without actually running it. I certainly hope that if PRs are merged without being tested locally by the developer doing the merge, that it's for proxied packages contributed by the proxied maintainer, not packages where the Developer that maintains the package is merging untested patches just because someone suggested a change. And if proxied maintainers make a habit of breaking their packages by submitting WIP drafts maybe they aren't such great proxied maintainers and there's a larger infrastructural problem going on. -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
Asking people to check 8 checkboxes is a bit much. yea... I would pick 2. and 4. from that and put them in 1 point. So it could be: > [ ] I have tested that the package(s) merge inside both the user AND net sandbox without violations on a Gentoo-based system. also, if manual intervention (beyond "emerge PKG") is required to complete the install/update of the package(s) (and such functinality is or can not be done in pkg_configure/pkg_postinst/pkg_postrm) I have explained the steps needed to be taken in the PR and/or package ebuild(s). (Eli,) The "[...] Gentoo Wiki" part was when we have one page for all knowledge about maintaining some grouped components, like for example new compiler porting or .NET pkg maintenance. W dniu 1.05.2024 o 16:59, Michał Górny pisze: On Wed, 2024-05-01 at 16:27 +0200, Maciej Barć wrote: Maybe we could consider also adding something along the lines (4 additional positions): 1. I have emerged the package(s) on a Gentoo-based system (be it "native" or virtualized by means of hardware-based virtualization or system layer virtualization). 2. I have tested that the package(s) merge inside both the user and net sandbox without violations on a Gentoo-based system. 3. I can assure that the packages would be able to be merged on the currently default Gentoo profile (with or without modifications to USE flags). 4. If manual intervention (beyond "emerge PKG") is required ro complete the install/update of the package(s) I have explained the steps needed to be taken in the PR and/or package ebuild(s) and/or Gentoo Wiki. Asking people to check 8 checkboxes is a bit much. -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
The files in the licenses/ directory aren't, and patches in packages' files/ dirs generally follow the license of their upstream project. See, so it would help to have a doc that talks about the irregularities. W dniu 1.05.2024 o 17:01, Ulrich Mueller pisze: On Wed, 01 May 2024, Maciej Barć wrote: Also no license link. Afaik all contribs are under GPL-2. That's not entirely correct. The files in the licenses/ directory aren't, and patches in packages' files/ dirs generally follow the license of their upstream project. Ulrich -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
It's not obvious to me these are necessary since the entire concept behind submitting an ebuild update is to, well, install and use it. My base assumption is that users submitting such an update have done so because it solved a problem for them. This covers 1, 2, and 3, unless the user has done some fairly heavily nonstandard things or submits effectively untested spam which admittedly might happen -- but the checkboxes don't seem the easiest way to solve this. Well, not really, there were many cases where pkg was broken on sandbox! The latest example would be nim (before I updated it myself) where contributor submitted broken pkg without telling anybody. It was a WIP PR but nowhere they specified that it did not merge under sandbox. I want to encourage contributors to outright say when they know/think something might be wrong with package. W dniu 1.05.2024 o 16:47, Eli Schwartz pisze: On 5/1/24 10:27 AM, Maciej Barć wrote: Maybe we could consider also adding something along the lines (4 additional positions): 1. I have emerged the package(s) on a Gentoo-based system (be it "native" or virtualized by means of hardware-based virtualization or system layer virtualization). 2. I have tested that the package(s) merge inside both the user and net sandbox without violations on a Gentoo-based system. 3. I can assure that the packages would be able to be merged on the currently default Gentoo profile (with or without modifications to USE flags). 4. If manual intervention (beyond "emerge PKG") is required ro complete the install/update of the package(s) I have explained the steps needed to be taken in the PR and/or package ebuild(s) and/or Gentoo Wiki. It's not obvious to me these are necessary since the entire concept behind submitting an ebuild update is to, well, install and use it. My base assumption is that users submitting such an update have done so because it solved a problem for them. This covers 1, 2, and 3, unless the user has done some fairly heavily nonstandard things or submits effectively untested spam which admittedly might happen -- but the checkboxes don't seem the easiest way to solve this. 4 seems semantically wrong since it's not the job of a PR to describe what users should do to manually intervene to install a package, but IMHO this is already covered by 3. The only interesting case I can actually think of is where updating a package requires some sort of e.g. database migration to run after updating and before the next use -- this is the minority of packages and should be handled by a postinst message, but could also be reviewed on a case by case basis... It is *not* the job of a packager to ensure that the gentoo wiki excellently describes how to use the software, as that's a different skillset. I wouldn't want to discourage users from contributing code because they aren't skilled documentarians. The existing pull request template suggestion proposes to add checkboxes for 3 types of requirements that aren't necessarily obvious to users who had a problem, fixed it, and want to share the fix -- they are all about complying with Gentoo policy. Your 4 suggestions are all about requirements for fixing a problem and successfully fixing it even as a local ebuild. We don't need to remind people that the PR has to actually fix the problem. -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
Ionen, I think that regular contributors could skip this altogether. For example the person I'm mentoring I am sure would follow all requirements listed by mgorny and me (see my reply). On a side-note, I have nothing against having .github in the tree. Just saying given I know not everyone is happy with that. I think we should push more into "conforming" to standard of online software forges. Reminder that we STILL do not have any form of a README file. Not even one that would say "Hey look at https://gentoo.org/";. Also no license link. Afaik all contribs are under GPL-2. W dniu 1.05.2024 o 16:28, Ionen Wolkens pisze: On Wed, May 01, 2024 at 03:32:21PM +0200, Michał Górny wrote: The idea is to increase awareness of the AI policy, as well as other rules, and to inform users before they submit a PR. Bit mixed feelings about this given checkboxes feel like unnecessary churn for routine contributors and is semi-redundant with the Signed-off-by. I think it's great for first-time/occasional contributors though. Having a AI-specific checkbox does feel kind of overkill when it won't concern the majority of contributors, albeit given how how hard the whole thing is pushed lately and that we have no real way to verify beside the user being made aware of it and certifying it... On a side-note, I have nothing against having .github in the tree. Just saying given I know not everyone is happy with that. -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] .github: Add pull request template
Maybe we could consider also adding something along the lines (4 additional positions): 1. I have emerged the package(s) on a Gentoo-based system (be it "native" or virtualized by means of hardware-based virtualization or system layer virtualization). 2. I have tested that the package(s) merge inside both the user and net sandbox without violations on a Gentoo-based system. 3. I can assure that the packages would be able to be merged on the currently default Gentoo profile (with or without modifications to USE flags). 4. If manual intervention (beyond "emerge PKG") is required ro complete the install/update of the package(s) I have explained the steps needed to be taken in the PR and/or package ebuild(s) and/or Gentoo Wiki. W dniu 1.05.2024 o 15:32, Michał Górny pisze: Signed-off-by: Michał Górny --- .github/pull_request_template.md | 12 1 file changed, 12 insertions(+) create mode 100644 .github/pull_request_template.md The idea is to increase awareness of the AI policy, as well as other rules, and to inform users before they submit a PR. Screenshots @ https://github.com/gentoo/gentoo/pull/36503 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index ..9e6fe061db11 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,12 @@ + + +--- + +Please check all the boxes that apply: + +- [ ] I can submit this contribution in agreement with the [Copyright Policy](https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin). +- [ ] This contribution has not been created with the assistance of Natural Language Processing artificial intelligence tools, in accordance with [AI policy](https://wiki.gentoo.org/wiki/Project:Council/AI_policy). +- [ ] I have certified the above via adding a `Signed-off-by` line to *every* commit in the pull request. +- [ ] I have run `pkgcheck scan --commits --net` to check for issues with my commits. + +Please note that all boxes must be checked for the pull request to be merged. -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] last-rite app-emacs/windows and reverse dependencies (Re: Last-rite app-emacs/windows)
Mask "app-emacs/windows" and reverse dependencies. Very old package failing to compile with modern GNU Emacs. Additionally all 3 packages do not have any definitive repository nor VCS. Open bugs: #930655 Removal on 2024-05-25. app-emacs/basic-toolkit app-emacs/buffer-extension app-emacs/windows W dniu 25.04.2024 o 18:21, Maciej Barć pisze: Very old package failing to compile with modern GNU Emacs. Open bugs: #930655 Removal on 2024-05-25. app-emacs/windows -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] Last-rite app-emacs/windows
Very old package failing to compile with modern GNU Emacs. Open bugs: #930655 Removal on 2024-05-25. app-emacs/windows -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] Last-rite abandoned dev-dotnet packages (using the mono.eclass)
No reverse dependencies, old packages for mono, uses abandoned mono.eclass. Dotnet Project is not willing to take up those packages. Open bugs: #679440 Removal on 2024-05-20 dev-dotnet/monocalendar dev-dotnet/ndesk-dbus dev-dotnet/ndesk-dbus-glib -- Have a great day! ~ Maciej XGQT Barć https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] mirror storage growth rate
Wouldn’t initiatives like rust-dev[0] help with that? I know that Debian is also packaging Rust this way[1]. I think this was tried long time ago in rust-overlay and failed at the end because the dependency graph was incredibly big. In fact you can see it on the wiki, this is larger than _the bigger_ Haskell packages. I guess the simplest explanation is that software is growing larger, This is not only the case of Rust, but Go, JAVA and .NET and maybe some other projects. Self-bootstrap anyone? :) Can this growth be explained? Is it expected to continue at this rate? Graph is just showing the overall growth, if we associate distfiles to packages we will get the answers. W dniu 15.03.2024 o 16:40, Hoël Bézier pisze: I guess the simplest explanation is that software is growing larger, and in the end we should be expecting to adding new packages faster than removing dead ones. Add to that the grotesque inefficiency of modern programming languages such as Go and Rust. Wouldn’t initiatives like rust-dev[0] help with that? I know that Debian is also packaging Rust this way[1]. [0]: https://wiki.gentoo.org/wiki/Project:Rust/rust-dev [1]: https://wiki.debian.org/Rust Hoël -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] Packages up for grabs: games-util/heroic-bin
The following packages are now looking for a new maintainer: - games-util/heroic-bin - 0 open bugs, binary package, needs manual testing -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] Introducing .mailmap?
Thanks for this Sam. I would like to see this added to the main Gentoo repo but also urge maintainers of other active Gentoo repos to add it to theirs, portage(!), kde & lisp overlay, soko, etc. For a quick reference here is the Exherbo's .mailmap file: https://gitlab.exherbo.org/exherbo/arbor/-/blob/master/.mailmap?ref_type=heads W dniu 13.02.2024 o 09:39, Sam James pisze: Hi, We should consider adding a .mailmap to gentoo.git. There's a few reasons: * We should accurately map pre-developer-status contributions. For example, it'd be nice if s...@cmpct.info was mapped correctly into s...@gentoo.org when doing git blame. We know s...@cmpct.info and s...@gentoo.org are the same person, it feels coherent to tell git that via the mechanism intended for it. * It's useful for when people retire as well. Not that I plan on going anywhere any time soon (sorry!), but this is both a useful way for people to better "retain credit" *and* for e.g. 'git blame' to work better if they then come back as a contributor but not a developer, which happens on occasion, or if they occasionally contribute with a different email address (we have this for some devs who contribute under a "work context" too). * It allows people to have git respecting changing their name for various reasons (e.g. we've had contributors start using their real name and vice-versa over the years). I was considering this anyway but xgqt pinged me about it after I mentioned it on a recent bug (https://bugs.gentoo.org/836936#c12) as well which made me think there's perhaps some merit in it. thanks, sam -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH 1/7] eclass/dotnet-pkg-base.eclass: quotes and style tweaks for edge cases
Thanks Sam, this is what I added: Subject: [PATCH 1/7] eclass/dotnet-pkg-base.eclass: quotes and style tweaks format special variables in edge cases section of the dotnet-pkg-base eclass Signed-off-by: Maciej Barć Subject: [PATCH 2/7] eclass/dotnet-pkg-base.eclass: deprecate wrong-style names some functions were written in wrong style by ommission, deprecate the wrong names (leave them in the elcass for compability) and add functions with proper names Signed-off-by: Maciej Barć Subject: [PATCH 3/7] eclass/dotnet-pkg-base.eclass: dotnet-pkg-base_test - remove directory magic remove broken directory magic from the "dotnet-pkg-base_test" function, now the eclass consumers can pass the directory as the last argument and let the dotnet executable handle arguments instead of putting the weight on the eclass, also update the "dotnet-pkg-base_restore_tools" function documentation Signed-off-by: Maciej Barć Subject: [PATCH 4/7] eclass/dotnet-pkg*: add dotnet-pkg_remove-bad add new eclass feature that allows to remove projects from .NET solution files, the functions modified: dotnet-pkg-base_sln-remove, dotnet-pkg_remove-bad, dotnet-pkg_src_prepare Signed-off-by: Maciej Barć Subject: [PATCH 5/7] eclass/dotnet-pkg.eclass: add dotnet-pkg_force-compat add new eclass function "dotnet-pkg_force-compat" that appends special variables to dotnet command executions to force compability with a spefified .NET SDK version Signed-off-by: Maciej Barć Subject: [PATCH 6/7] eclass/dotnet-pkg-base.eclass: set DOTNET_ROOT export proper DOTNET_ROOT for wanted DOTNET_PKG_COMPAT Signed-off-by: Maciej Barć Subject: [PATCH 7/7] eclass/dotnet-pkg.eclass: prepare for safely using Nuget prevent NuGet executable (part of "dotnet-sdk") from fetching remote NuGet package sources, add two new features to the nuget ecalss: find and remove all nuget.config files, add and use "nuget_writeconfig" function that creates a "nuget.config" file which forces the use of NuGet packages specified in the ebuild file Signed-off-by: Maciej Barć W dniu 8.02.2024 o 08:02, Sam James pisze: Maciej Barć writes: Signed-off-by: Maciej Barć --- The series lgtm but please add some commit messages to them explaining the motivation / why we're doing it now if applicable. No need to re-send to ML once that's done. Thanks! eclass/dotnet-pkg-base.eclass | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 1a9d31120..e7484a6c5 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -63,18 +63,24 @@ DOTNET_PKG_BDEPS="" # Have this guard to be sure that *DEPS are not added to # the "dev-dotnet/dotnet-runtime-nugets" package dependencies. -if [[ ${CATEGORY}/${PN} != dev-dotnet/dotnet-runtime-nugets ]] ; then +if [[ "${CATEGORY}/${PN}" != dev-dotnet/dotnet-runtime-nugets ]] ; then if [[ -z ${DOTNET_PKG_COMPAT} ]] ; then die "${ECLASS}: DOTNET_PKG_COMPAT not set" fi - DOTNET_PKG_RDEPS+=" virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} " - DOTNET_PKG_BDEPS+=" ${DOTNET_PKG_RDEPS} " + DOTNET_PKG_RDEPS+=" + virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} + " + DOTNET_PKG_BDEPS+=" + ${DOTNET_PKG_RDEPS} + " # Special package "dev-dotnet/csharp-gentoodotnetinfo" used for information # gathering, example for usage see the "dotnet-pkg-base_info" function. - if [[ ${CATEGORY}/${PN} != dev-dotnet/csharp-gentoodotnetinfo ]] ; then - DOTNET_PKG_BDEPS+=" dev-dotnet/csharp-gentoodotnetinfo " + if [[ "${CATEGORY}/${PN}" != dev-dotnet/csharp-gentoodotnetinfo ]] ; then + DOTNET_PKG_BDEPS+=" + dev-dotnet/csharp-gentoodotnetinfo + " fi IUSE+=" debug " -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH 2/7] eclass/dotnet-pkg-base.eclass: deprecate wring-style names
True, also commit title is misspelled, wring-style -> wrong-style. W dniu 3.02.2024 o 17:53, Ulrich Mueller pisze: On Sat, 03 Feb 2024, Maciej Barć wrote: +# @FUNCTION: dotnet-pkg-base_restore_tools +# @USAGE: [config-file] [args] ... +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_restore_tools" instead. Should be a hyphen here (...restore-tools), I guess? -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH 7/7] eclass/dotnet-pkg.eclass: prepare for safely using Nuget
Is there any special reason for using "$(pwd)" instead of . here? In case of error you will get absolute paths: find $(pwd)/idontexist -delete vs find ./idontexist -delete W dniu 3.02.2024 o 17:57, Ulrich Mueller pisze: On Sat, 03 Feb 2024, Maciej Barć wrote: + find "$(pwd)" -maxdepth 1 -iname "nuget.config" -delete || Is there any special reason for using "$(pwd)" instead of . here? + case "${1}" in Quotes not needed. + if [[ -d "${1}" ]] ; then Quotes not needed. -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] [PATCH 7/7] eclass/dotnet-pkg.eclass: prepare for safely using Nuget
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg.eclass | 8 +-- eclass/nuget.eclass | 47 +++- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index 3647eb399..337864f1f 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.eclass @@ -225,12 +225,16 @@ dotnet-pkg_remove-bad() { # Default "src_prepare" for the "dotnet-pkg" eclass. # Prepare the package sources. # -# Run "dotnet-pkg-base_remove-global-json" -# and "dotnet-pkg-base_remove-bad" for each found solution file. +# Run "dotnet-pkg-base_remove-global-json", "dotnet-pkg-base_remove-bad" +# for each found solution file and prepare for using Nuget. dotnet-pkg_src_prepare() { dotnet-pkg-base_remove-global-json dotnet-pkg-base_foreach-solution "$(pwd)" dotnet-pkg_remove-bad + find "$(pwd)" -maxdepth 1 -iname "nuget.config" -delete || + die "${FUNCNAME[0]}: failed to remove unwanted \"NuGet.config\" config files" + nuget_writeconfig "$(pwd)/" + default } diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass index 669e21300..ac8629848 100644 --- a/eclass/nuget.eclass +++ b/eclass/nuget.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: nuget.eclass @@ -226,6 +226,51 @@ nuget_unpack-non-nuget-archives() { done } +# @FUNCTION: nuget_writeconfig +# @USAGE: +# @DESCRIPTION: +# Create a "NuGet.config" config file that can be used to overwrite any other +# Nuget configuration file in order to prevent Nuget executable from accessing +# the network or undesired NuPkg package sources. +# +# If given path ends with a slash, a file name "NuGet.config" is assumed, +# otherwise contents are written to specified file path exactly. +# +# Created configuration file clears all other NuPkg sources and inserts +# "NUGET_PACKAGES" as the only one source. +# +# This function is used inside "dotnet-pkg_src_prepare" +# from the "dotnet-pkg" eclass. +# +# This function is used inside "dotnet-pkg_src_prepare" +# from the "dotnet-pkg" eclass. +nuget_writeconfig() { + debug-print-function "${FUNCNAME[0]}" "${@}" + + case "${1}" in + "" ) die "${FUNCNAME[0]}: no directory/file path specified" ;; + */ ) mkdir -p "${1}" || die ;; + esac + + local nuget_config_path + + if [[ -d "${1}" ]] ; then + nuget_config_path="${1}/NuGet.config" + else + nuget_config_path="${1}" + fi + + cat <<-EOF > "${nuget_config_path}" || die + + + + + + + + EOF +} + # @FUNCTION: nuget_donuget # @USAGE: ... # @DESCRIPTION: -- 2.43.0
[gentoo-dev] [PATCH 6/7] eclass/dotnet-pkg-base.eclass: set DOTNET_ROOT
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 35 +-- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index e4b275f81..5f3bde340 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dotnet-pkg-base.eclass @@ -228,28 +228,27 @@ dotnet-pkg-base_get-runtime() { # # Used by "dotnet-pkg_pkg_setup" from the "dotnet-pkg" eclass. dotnet-pkg-base_setup() { - local dotnet_compat_impl - local dotnet_compat_impl_path - for dotnet_compat_impl in dotnet{,-bin}-${DOTNET_PKG_COMPAT} ; do - dotnet_compat_impl_path="$(type -P "${dotnet_compat_impl}")" + local -a impl_dirs=( + "${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT}" + "${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT}" + ) + local impl_exe + + local impl_dir + for impl_dir in "${impl_dirs[@]}" ; do + impl_exe="${impl_dir}/dotnet" + + if [[ -d "${impl_dir}" ]] && [[ -x "${impl_exe}" ]] ; then + DOTNET_PKG_EXECUTABLE="${impl_exe}" + DOTNET_ROOT="${impl_dir}" - if [[ -n ${dotnet_compat_impl_path} ]] ; then - DOTNET_PKG_EXECUTABLE="${dotnet_compat_impl}" break fi done - # Link "DOTNET_PKG_EXECUTABLE" to "dotnet" only for the package build. - local dotnet_spoof_path="${T}/dotnet_spoof/${DOTNET_PKG_COMPAT}" - mkdir -p "${dotnet_spoof_path}" || die - ln -s "${dotnet_compat_impl_path}" "${dotnet_spoof_path}/dotnet" || die - export PATH="${dotnet_spoof_path}:${PATH}" - - einfo "Using dotnet SDK \"${DOTNET_PKG_EXECUTABLE}\" from \"${dotnet_compat_impl_path}\"." - - # The picked "DOTNET_PKG_EXECUTABLE" should set "DOTNET_ROOT" internally - # and not rely upon this environment variable. - unset DOTNET_ROOT + einfo "Setting .NET SDK \"DOTNET_ROOT\" to \"${DOTNET_ROOT}\"" + export DOTNET_ROOT + export PATH="${DOTNET_ROOT}:${PATH}" DOTNET_PKG_RUNTIME="$(dotnet-pkg-base_get-runtime)" DOTNET_PKG_CONFIGURATION="$(dotnet-pkg-base_get-configuration)" -- 2.43.0
[gentoo-dev] [PATCH 5/7] eclass/dotnet-pkg.eclass: add dotnet-pkg_force-compat
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg.eclass | 23 +++ 1 file changed, 23 insertions(+) diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index 94f5c5a28..3647eb399 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.eclass @@ -156,6 +156,29 @@ DOTNET_PKG_BUILD_EXTRA_ARGS=() # For more info see the "DOTNET_PROJECT" variable and "dotnet-pkg_src_test". DOTNET_PKG_TEST_EXTRA_ARGS=() +# @FUNCTION: dotnet-pkg_force-compat +# @DESCRIPTION: +# This function appends special options to all "DOTNET_PKG_*_EXTRA_ARGS" +# variables in an attempt to force compatibility to the picked +# "DOTNET_PKG_COMPAT" .NET SDK version. +# +# Call this function post-inherit. +dotnet-pkg_force-compat() { + if [[ -z "${DOTNET_PKG_COMPAT}" ]] ; then + die "DOTNET_PKG_COMPAT is not set" + fi + + local -a force_extra_args=( + -p:RollForward=Major + -p:TargetFramework="net${DOTNET_PKG_COMPAT}" + -p:TargetFrameworks="net${DOTNET_PKG_COMPAT}" + ) + + DOTNET_PKG_RESTORE_EXTRA_ARGS+=( "${force_extra_args[@]}" ) + DOTNET_PKG_BUILD_EXTRA_ARGS+=( "${force_extra_args[@]}" ) + DOTNET_PKG_TEST_EXTRA_ARGS+=( "${force_extra_args[@]}" ) +} + # @FUNCTION: dotnet-pkg_pkg_setup # @DESCRIPTION: # Default "pkg_setup" for the "dotnet-pkg" eclass. -- 2.43.0
[gentoo-dev] [PATCH 4/7] eclass/dotnet-pkg*: add dotnet-pkg_remove-bad
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 15 + eclass/dotnet-pkg.eclass | 42 +-- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 94cb8c0e0..e4b275f81 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -310,6 +310,21 @@ dotnet-pkg-base_info() { fi } +# @FUNCTION: dotnet-pkg-base_sln-remove +# @USAGE: +# @DESCRIPTION: +# Remove a project from a given solution file. +# +# Used by "dotnet-pkg_remove-bad" from the "dotnet-pkg" eclass. +dotnet-pkg-base_sln-remove() { + debug-print-function "${FUNCNAME[0]}" "${@}" + + [[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified" + [[ -z ${2} ]] && die "${FUNCNAME[0]}: no project file specified" + + edotnet sln "${1}" remove "${2}" +} + # @FUNCTION: dotnet-pkg-base_foreach-solution # @USAGE: ... # @DESCRIPTION: diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index 9d78f463b..94f5c5a28 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dotnet-pkg.eclass @@ -48,6 +48,24 @@ inherit dotnet-pkg-base RDEPEND+=" ${DOTNET_PKG_RDEPS} " BDEPEND+=" ${DOTNET_PKG_BDEPS} " +# @ECLASS_VARIABLE: DOTNET_PKG_BAD_PROJECTS +# @DESCRIPTION: +# List of projects to remove from all found solution (".sln") files. +# The projects are removed in the "dotnet-pkg_src_prepare" function. +# +# This variable should be set after inheriting "dotnet-pkg.eclass". +# +# Default value is an empty array. +# +# Example: +# @CODE +# DOTNET_PKG_BAD_PROJECTS=( "${S}/BrokenTests" ) +# DOTNET_PKG_PROJECTS=( "${S}/DotnetProject" ) +# @CODE +# +# For more info see: "dotnet-pkg_remove-bad" function. +DOTNET_PKG_BAD_PROJECTS=() + # @ECLASS_VARIABLE: DOTNET_PKG_PROJECTS # @DEFAULT_UNSET # @DESCRIPTION: @@ -161,14 +179,34 @@ dotnet-pkg_src_unpack() { nuget_unpack-non-nuget-archives } +# @FUNCTION: dotnet-pkg_remove-bad +# @USAGE: +# @DESCRIPTION: +# Remove all projects specified by "DOTNET_PKG_BAD_PROJECTS" from a given +# solution file. +# +# Used by "dotnet-pkg_src_prepare". +dotnet-pkg_remove-bad() { + debug-print-function "${FUNCNAME[0]}" "${@}" + + [[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified" + + local bad_project + for bad_project in "${DOTNET_PKG_BAD_PROJECTS[@]}" ; do + nonfatal dotnet-pkg-base_sln-remove "${1}" "${bad_project}" + done +} + # @FUNCTION: dotnet-pkg_src_prepare # @DESCRIPTION: # Default "src_prepare" for the "dotnet-pkg" eclass. # Prepare the package sources. # -# Run "dotnet-pkg-base_remove-global-json". +# Run "dotnet-pkg-base_remove-global-json" +# and "dotnet-pkg-base_remove-bad" for each found solution file. dotnet-pkg_src_prepare() { dotnet-pkg-base_remove-global-json + dotnet-pkg-base_foreach-solution "$(pwd)" dotnet-pkg_remove-bad default } -- 2.43.0
[gentoo-dev] [PATCH 3/7] eclass/dotnet-pkg-base.eclass: dotnet-pkg-base_test - remove directory magic
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 24 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index b31e8e70f..94cb8c0e0 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -402,8 +402,8 @@ dotnet-pkg-base_restore_tools() { # Build is performed in current directory unless a different directory is # passed via "args". # -# Additionally any number of "args" maybe be given, they are appended to -# the "dotnet" command invocation. +# Any number of "args" maybe be given, they are appended to the "dotnet" +# command invocation. # # Used by "dotnet-pkg_src_compile" from the "dotnet-pkg" eclass. dotnet-pkg-base_build() { @@ -434,27 +434,19 @@ dotnet-pkg-base_build() { } # @FUNCTION: dotnet-pkg-base_test -# @USAGE: [directory] [args] ... +# @USAGE: [args] ... # @DESCRIPTION: # Test the package using "dotnet test" in a specified directory. +# Test is performed in current directory unless a different directory is +# passed via "args". # -# Optional "directory" argument defaults to the current directory path. -# -# Additionally any number of "args" maybe be given, they are appended to -# the "dotnet" command invocation. +# Any number of "args" maybe be given, they are appended to the "dotnet" +# command invocation. # # Used by "dotnet-pkg_src_test" from the "dotnet-pkg" eclass. dotnet-pkg-base_test() { debug-print-function "${FUNCNAME[0]}" "${@}" - local directory - if [[ -n "${1}" ]] ; then - directory="${1}" - shift - else - directory="$(pwd)" - fi - local -a test_args=( --configuration "${DOTNET_PKG_CONFIGURATION}" --no-restore @@ -462,7 +454,7 @@ dotnet-pkg-base_test() { "${@}" ) - edotnet test "${test_args[@]}" "${directory}" + edotnet test "${test_args[@]}" } # @FUNCTION: dotnet-pkg-base_install -- 2.43.0
[gentoo-dev] [PATCH 2/7] eclass/dotnet-pkg-base.eclass: deprecate wring-style names
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 38 --- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index e7484a6c5..b31e8e70f 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -360,7 +360,7 @@ dotnet-pkg-base_restore() { edotnet restore "${restore_args[@]}" } -# @FUNCTION: dotnet-pkg-base_restore_tools +# @FUNCTION: dotnet-pkg-base_restore-tools # @USAGE: [config-file] [args] ... # @DESCRIPTION: # Restore dotnet tools for a project in the current directory. @@ -370,7 +370,7 @@ dotnet-pkg-base_restore() { # # Additionally any number of "args" maybe be given, they are appended to # the "dotnet" command invocation. -dotnet-pkg-base_restore_tools() { +dotnet-pkg-base_restore-tools() { debug-print-function "${FUNCNAME[0]}" "${@}" local -a tool_restore_args=( @@ -387,6 +387,14 @@ dotnet-pkg-base_restore_tools() { edotnet tool restore "${tool_restore_args[@]}" } +# @FUNCTION: dotnet-pkg-base_restore_tools +# @USAGE: [config-file] [args] ... +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_restore_tools" instead. +dotnet-pkg-base_restore_tools() { + dotnet-pkg-base_restore-tools "${@}" +} + # @FUNCTION: dotnet-pkg-base_build # @USAGE: [args] ... # @DESCRIPTION: @@ -488,7 +496,7 @@ dotnet-pkg-base_launcherinto() { _DOTNET_PKG_LAUNCHERDEST="${1}" } -# @FUNCTION: dotnet-pkg-base_append_launchervar +# @FUNCTION: dotnet-pkg-base_append-launchervar # @USAGE: # @DESCRIPTION: # Appends a given variable setting to the "_DOTNET_PKG_LAUNCHERVARS". @@ -504,7 +512,7 @@ dotnet-pkg-base_launcherinto() { # @CODE # # For more info see the "_DOTNET_PKG_LAUNCHERVARS" variable. -dotnet-pkg-base_append_launchervar() { +dotnet-pkg-base_append-launchervar() { debug-print-function "${FUNCNAME[0]}" "${@}" [[ -z ${1} ]] && die "${FUNCNAME[0]}: no variable setting specified" @@ -512,6 +520,14 @@ dotnet-pkg-base_append_launchervar() { _DOTNET_PKG_LAUNCHERVARS+=( "${1}" ) } +# @FUNCTION: dotnet-pkg-base_append_launchervar +# @USAGE: +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_append-launchervar" instead. +dotnet-pkg-base_append_launchervar() { + dotnet-pkg-base_append-launchervar "${@}" +} + # @FUNCTION: dotnet-pkg-base_dolauncher # @USAGE: [filename] # @DESCRIPTION: @@ -579,7 +595,7 @@ dotnet-pkg-base_dolauncher() { doexe "${executable_target}" } -# @FUNCTION: dotnet-pkg-base_dolauncher_portable +# @FUNCTION: dotnet-pkg-base_dolauncher-portable # @USAGE: # @DESCRIPTION: # Make a wrapper script to launch a .NET DLL file built from a .NET package. @@ -590,12 +606,12 @@ dotnet-pkg-base_dolauncher() { # # Example: # @CODE -# dotnet-pkg-base_dolauncher_portable \ +# dotnet-pkg-base_dolauncher-portable \ # /usr/share/${P}/GentooDotnetInfo.dll gentoo-dotnet-info # @CODE # # The path is prepended by "EPREFIX". -dotnet-pkg-base_dolauncher_portable() { +dotnet-pkg-base_dolauncher-portable() { debug-print-function "${FUNCNAME[0]}" "${@}" local dll_path="${1}" @@ -621,4 +637,12 @@ dotnet-pkg-base_dolauncher_portable() { doexe "${executable_target}" } +# @FUNCTION: dotnet-pkg-base_dolauncher_portable +# @USAGE: +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_dolauncher-portable" instead. +dotnet-pkg-base_dolauncher_portable() { + dotnet-pkg-base_dolauncher-portable "${@}" +} + fi -- 2.43.0
[gentoo-dev] [PATCH 1/7] eclass/dotnet-pkg-base.eclass: quotes and style tweaks for edge cases
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 1a9d31120..e7484a6c5 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -63,18 +63,24 @@ DOTNET_PKG_BDEPS="" # Have this guard to be sure that *DEPS are not added to # the "dev-dotnet/dotnet-runtime-nugets" package dependencies. -if [[ ${CATEGORY}/${PN} != dev-dotnet/dotnet-runtime-nugets ]] ; then +if [[ "${CATEGORY}/${PN}" != dev-dotnet/dotnet-runtime-nugets ]] ; then if [[ -z ${DOTNET_PKG_COMPAT} ]] ; then die "${ECLASS}: DOTNET_PKG_COMPAT not set" fi - DOTNET_PKG_RDEPS+=" virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} " - DOTNET_PKG_BDEPS+=" ${DOTNET_PKG_RDEPS} " + DOTNET_PKG_RDEPS+=" + virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} + " + DOTNET_PKG_BDEPS+=" + ${DOTNET_PKG_RDEPS} + " # Special package "dev-dotnet/csharp-gentoodotnetinfo" used for information # gathering, example for usage see the "dotnet-pkg-base_info" function. - if [[ ${CATEGORY}/${PN} != dev-dotnet/csharp-gentoodotnetinfo ]] ; then - DOTNET_PKG_BDEPS+=" dev-dotnet/csharp-gentoodotnetinfo " + if [[ "${CATEGORY}/${PN}" != dev-dotnet/csharp-gentoodotnetinfo ]] ; then + DOTNET_PKG_BDEPS+=" + dev-dotnet/csharp-gentoodotnetinfo + " fi IUSE+=" debug " -- 2.43.0
[gentoo-dev] Re: [gentoo-dev-announce] Last rites: dev-build/bazel, sci-libs/keras, sci-libs/tensorflow, sci-libs/tensorflow-estimator, sci-visualization/tensorboard
A lot of Bazel bugs were just left to rot, even though they are invalid. There are work from users to get Bazel to a reasonable state, see: https://bugs.gentoo.org/918703 (plus comment #1) # Unmasking this requires a sign-off from QA and treecleaners, since # these packages require a ton of mental bandwidth to keep up to date I would urge to reconsider leaving Bazel out of this; I do not think that one is lost for now. Since I sometimes use Bazel myself, I will work on adding a bazel-bin + virtual. I will NOT however use/support Bazel for Gentoo packages nor eclasses. On 18.01.2024 13:53, David Seifert wrote: # David Seifert (2024-01-18) # Unmaintained set of packages. Overall, TensorFlow is ill-suited for # distro packaging, since it's entangled with tons of googleware and # continually breaks on minor dependency updates coupled with a # byzantine build system. These 5 packages together have a total of # 54 bugs reported against them, with zero activity from the maintainer. # # Unmasking this requires a sign-off from QA and treecleaners, since # these packages require a ton of mental bandwidth to keep up to date # and Google's general unwillingness to take community input quickly # leads to maintainer burnout. # Use sci-libs/pytorch as a modern alternative with better packaging. # Removal on 2024-02-17. Bug #922374 dev-build/bazel sci-libs/keras sci-libs/tensorflow sci-libs/tensorflow-estimator sci-visualization/tensorboard -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature.asc Description: OpenPGP digital signature
[gentoo-dev] [PATCH 3/3] eclass/dotnet-pkg-base.eclass: remove DOTNET_DATA and NUGET_DATA
they do not influence .NET build Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 4 1 file changed, 4 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 9b070d9c2..1a9d31120 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -245,10 +245,6 @@ dotnet-pkg-base_setup() { # and not rely upon this environment variable. unset DOTNET_ROOT - # Unset .NET and NuGet directories. - unset DOTNET_DATA - unset NUGET_DATA - DOTNET_PKG_RUNTIME="$(dotnet-pkg-base_get-runtime)" DOTNET_PKG_CONFIGURATION="$(dotnet-pkg-base_get-configuration)" DOTNET_PKG_OUTPUT="$(dotnet-pkg-base_get-output "${P}")" -- 2.41.0
[gentoo-dev] [PATCH 2/3] eclass/dotnet-pkg-base.eclass: mark OUTPUT_VARIABLEs
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 6 ++ 1 file changed, 6 insertions(+) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 35beacfeb..9b070d9c2 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -44,6 +44,7 @@ inherit edo multiprocessing nuget # should be picked by the maintainer. # @ECLASS_VARIABLE: DOTNET_PKG_RDEPS +# @OUTPUT_VARIABLE # @DESCRIPTION: # Populated with important dependencies on .NET ecosystem packages for running # .NET packages. @@ -52,6 +53,7 @@ inherit edo multiprocessing nuget DOTNET_PKG_RDEPS="" # @ECLASS_VARIABLE: DOTNET_PKG_BDEPS +# @OUTPUT_VARIABLE # @DESCRIPTION: # Populated with important dependencies on .NET ecosystem packages for building # .NET packages. @@ -98,6 +100,7 @@ export UseSharedCompilation=false # @ECLASS_VARIABLE: DOTNET_PKG_RUNTIME # @DEFAULT_UNSET +# @OUTPUT_VARIABLE # @DESCRIPTION: # Sets the runtime used to build a package. # @@ -105,6 +108,7 @@ export UseSharedCompilation=false # @ECLASS_VARIABLE: DOTNET_PKG_EXECUTABLE # @DEFAULT_UNSET +# @OUTPUT_VARIABLE # @DESCRIPTION: # Sets path of a "dotnet" executable. # @@ -112,6 +116,7 @@ export UseSharedCompilation=false # @ECLASS_VARIABLE: DOTNET_PKG_CONFIGURATION # @DEFAULT_UNSET +# @OUTPUT_VARIABLE # @DESCRIPTION: # Configuration value passed to "dotnet" in the compile phase. # Is either Debug or Release, depending on the "debug" USE flag. @@ -120,6 +125,7 @@ export UseSharedCompilation=false # @ECLASS_VARIABLE: DOTNET_PKG_OUTPUT # @DEFAULT_UNSET +# @OUTPUT_VARIABLE # @DESCRIPTION: # Path of the output directory, where the package artifacts are placed during # the building of packages with "dotnet-pkg-base_build" function. -- 2.41.0
[gentoo-dev] [PATCH 1/3] eclass/dotnet-pkg-base.eclass: remove DOTNET_PKG_EXECUTABLE_PATH
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 5b2d6e2dd..35beacfeb 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -222,20 +222,18 @@ dotnet-pkg-base_setup() { dotnet_compat_impl_path="$(type -P "${dotnet_compat_impl}")" if [[ -n ${dotnet_compat_impl_path} ]] ; then - DOTNET_PKG_EXECUTABLE=${dotnet_compat_impl} - DOTNET_PKG_EXECUTABLE_PATH="${dotnet_compat_impl_path}" - + DOTNET_PKG_EXECUTABLE="${dotnet_compat_impl}" break fi done # Link "DOTNET_PKG_EXECUTABLE" to "dotnet" only for the package build. - local dotnet_spoof_path="${T}"/dotnet_spoof/${DOTNET_PKG_COMPAT} + local dotnet_spoof_path="${T}/dotnet_spoof/${DOTNET_PKG_COMPAT}" mkdir -p "${dotnet_spoof_path}" || die - ln -s "${DOTNET_PKG_EXECUTABLE_PATH}" "${dotnet_spoof_path}"/dotnet || die + ln -s "${dotnet_compat_impl_path}" "${dotnet_spoof_path}/dotnet" || die export PATH="${dotnet_spoof_path}:${PATH}" - einfo "Using dotnet SDK \"${DOTNET_PKG_EXECUTABLE}\" from \"${DOTNET_PKG_EXECUTABLE_PATH}\"." + einfo "Using dotnet SDK \"${DOTNET_PKG_EXECUTABLE}\" from \"${dotnet_compat_impl_path}\"." # The picked "DOTNET_PKG_EXECUTABLE" should set "DOTNET_ROOT" internally # and not rely upon this environment variable. -- 2.41.0
[gentoo-dev] [PATCH 4/4] eclass/nuget.eclass: partition dotnet-pkg_src_unpack
This enables easier usage of "nuget_link-nuget-archives" in some special cases. Signed-off-by: Maciej Barć --- eclass/dotnet-pkg.eclass | 14 ++--- eclass/nuget.eclass | 45 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index 201daf1ec..b4f0c053d 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.eclass @@ -136,18 +136,8 @@ dotnet-pkg_pkg_setup() { # copied into the "NUGET_PACKAGES" directory. dotnet-pkg_src_unpack() { nuget_link-system-nugets - - local archive - for archive in ${A} ; do - case "${archive}" in - *.nupkg ) - nuget_link "${DISTDIR}/${archive}" - ;; - * ) - unpack "${archive}" - ;; - esac - done + nuget_link-nuget-archives + nuget_unpack-non-nuget-archives } # @FUNCTION: dotnet-pkg_src_prepare diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass index 445dcdccd..669e21300 100644 --- a/eclass/nuget.eclass +++ b/eclass/nuget.eclass @@ -181,6 +181,51 @@ nuget_link-system-nugets() { done } +# @FUNCTION: nuget_link-nuget-archives +# @DESCRIPTION: +# Link NuGet packages from package source files to the "NUGET_PACKAGES" +# directory. +# +# This is a complementary function to "nuget_unpack-non-nuget-archives". +# +# This function is used inside "dotnet-pkg_src_unpack" +# from the "dotnet-pkg" eclass. +nuget_link-nuget-archives() { + local archive + for archive in ${A} ; do + case "${archive}" in + *.nupkg ) + nuget_link "${DISTDIR}/${archive}" + ;; + * ) + : + ;; + esac + done +} + +# @FUNCTION: nuget_unpack-non-nuget-archives +# @DESCRIPTION: +# Unpack all from package source files that are not NuGet packages. +# +# This is a complementary function to "nuget_link-nuget-archives". +# +# This function is used inside "dotnet-pkg_src_unpack" +# from the "dotnet-pkg" eclass. +nuget_unpack-non-nuget-archives() { + local archive + for archive in ${A} ; do + case "${archive}" in + *.nupkg ) + : + ;; + * ) + unpack "${archive}" + ;; + esac + done +} + # @FUNCTION: nuget_donuget # @USAGE: ... # @DESCRIPTION: -- 2.41.0
[gentoo-dev] [PATCH 3/4] eclass/nuget.eclass: add special NUGET_API case for Gentoo devs' hosting
Signed-off-by: Maciej Barć --- eclass/nuget.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass index 8ac81497f..445dcdccd 100644 --- a/eclass/nuget.eclass +++ b/eclass/nuget.eclass @@ -112,6 +112,9 @@ _nuget_set_nuget_uris() { for nuget_api in "${NUGET_APIS[@]}" ; do case ${nuget_api%/} in + *dev.gentoo.org/~* ) + url="${nuget_api}/${name}.${version}.nupkg" + ;; */v2 ) url="${nuget_api}/package/${name}/${version} -> ${name}.${version}.nupkg" -- 2.41.0
[gentoo-dev] [PATCH 1/4] eclass/dotnet-pkg*: remove unnecessary auto-append of project dir
Also reorder dotnet-pkg-base_foreach-solution argument positions. Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 56 ++- eclass/dotnet-pkg.eclass | 6 ++-- 2 files changed, 27 insertions(+), 35 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index c7f2e031d..e2659a829 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -305,35 +305,37 @@ dotnet-pkg-base_info() { } # @FUNCTION: dotnet-pkg-base_foreach-solution -# @USAGE: [directory] +# @USAGE: ... # @DESCRIPTION: # Execute a function for each solution file (.sln) in a specified directory. # This function may yield no real results because solutions are discovered # automatically. # -# Optional "directory" argument defaults to the current directory path. -# -# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass. +# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_test" from +# the "dotnet-pkg" eclass. dotnet-pkg-base_foreach-solution() { debug-print-function "${FUNCNAME[0]}" "${@}" + local directory="${1}" + shift + local dotnet_solution local dotnet_solution_name while read -r dotnet_solution ; do dotnet_solution_name="$(basename "${dotnet_solution}")" - ebegin "Running \"${1}\" for solution: \"${dotnet_solution_name}\"" - "${1}" "${dotnet_solution}" + ebegin "Running \"${@}\" for solution: \"${dotnet_solution_name}\"" + "${@}" "${dotnet_solution}" eend $? "${FUNCNAME[0]}: failed for solution: \"${dotnet_solution}\"" || die - done < <(find "${2:-.}" -maxdepth 1 -type f -name "*.sln") + done < <(find "${directory}" -maxdepth 1 -type f -name "*.sln") } # @FUNCTION: dotnet-pkg-base_restore -# @USAGE: [directory] [args] ... +# @USAGE: [args] ... # @DESCRIPTION: -# Restore the package using "dotnet restore" in a specified directory. -# -# Optional "directory" argument defaults to the current directory path. +# Restore the package using "dotnet restore". +# Restore is performed in current directory unless a different directory is +# passed via "args". # # Additionally any number of "args" maybe be given, they are appended to # the "dotnet" command invocation. @@ -342,14 +344,6 @@ dotnet-pkg-base_foreach-solution() { dotnet-pkg-base_restore() { debug-print-function "${FUNCNAME[0]}" "${@}" - local directory - if [[ "${1}" ]] ; then - directory="${1}" - shift - else - directory="$(pwd)" - fi - local -a restore_args=( --runtime "${DOTNET_PKG_RUNTIME}" --source "${NUGET_PACKAGES}" @@ -357,7 +351,7 @@ dotnet-pkg-base_restore() { "${@}" ) - edotnet restore "${restore_args[@]}" "${directory}" + edotnet restore "${restore_args[@]}" } # @FUNCTION: dotnet-pkg-base_restore_tools @@ -388,11 +382,11 @@ dotnet-pkg-base_restore_tools() { } # @FUNCTION: dotnet-pkg-base_build -# @USAGE: [directory] [args] ... +# @USAGE: [args] ... # @DESCRIPTION: # Build the package using "dotnet build" in a specified directory. -# -# Optional "directory" argument defaults to the current directory path. +# Build is performed in current directory unless a different directory is +# passed via "args". # # Additionally any number of "args" maybe be given, they are appended to # the "dotnet" command invocation. @@ -401,14 +395,6 @@ dotnet-pkg-base_restore_tools() { dotnet-pkg-base_build() { debug-print-function "${FUNCNAME[0]}" "${@}" - local directory - if [[ "${1}" ]] ; then - directory="${1}" - shift - else - directory="$(pwd)" - fi - local -a build_args=( --configuration "${DOTNET_PKG_CONFIGURATION}" --no-restore @@ -416,7 +402,6 @@ dotnet-pkg-base_build() { --output "${DOTNET_PKG_OUTPUT}" --runtime "${DOTNET_PKG_RUNTIME}" -maxCpuCount:$(makeopts_jobs) - "${@}" ) if ! use debug ; then @@ -426,7 +411,12 @@ dotnet-pkg-base_build() { ) fi - edotnet build "${build_args[@]}" "${directory}" +
[gentoo-dev] [PATCH 2/4] eclass/dotnet-pkg-base.eclass: clarify test, quotes in dolauncher
Signed-off-by: Maciej Barć --- eclass/dotnet-pkg-base.eclass | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index e2659a829..5b2d6e2dd 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -371,7 +371,7 @@ dotnet-pkg-base_restore_tools() { --add-source "${NUGET_PACKAGES}" ) - if [[ "${1}" ]] ; then + if [[ -n "${1}" ]] ; then tool_restore_args+=( --configfile "${1}" ) shift fi @@ -434,7 +434,7 @@ dotnet-pkg-base_test() { debug-print-function "${FUNCNAME[0]}" "${@}" local directory - if [[ "${1}" ]] ; then + if [[ -n "${1}" ]] ; then directory="${1}" shift else @@ -529,7 +529,7 @@ dotnet-pkg-base_dolauncher() { local executable_path executable_name - if [[ "${1}" ]] ; then + if [[ -n "${1}" ]] ; then local executable_path="${1}" shift else @@ -553,9 +553,9 @@ dotnet-pkg-base_dolauncher() { # compatible with dotnet version ${DOTNET_PKG_COMPAT}. for __dotnet_root in \\ - ${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT} \\ - ${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT} ; do - [ -d \${__dotnet_root} ] && break + "${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT}" \\ + "${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT}" ; do + [ -d "\${__dotnet_root}" ] && break done DOTNET_ROOT="\${__dotnet_root}" -- 2.41.0
[gentoo-dev] [PATCH 6/6] dev-dotnet/dotnet-sdk-bin: add 6.0.404-r1 and 7.0.203
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/32109 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-sdk-bin/Manifest| 6 ++ .../dotnet-sdk-bin-6.0.404-r1.ebuild | 70 ++ .../dotnet-sdk-bin-7.0.203.ebuild | 71 +++ 3 files changed, 147 insertions(+) create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.203.ebuild diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 0db1365533..ef1bf1bc89 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -10,3 +10,9 @@ DIST dotnet-sdk-7.0.200-linux-musl-arm.tar.gz 192955116 BLAKE2B 5b5549e158ebc705 DIST dotnet-sdk-7.0.200-linux-musl-arm64.tar.gz 192893152 BLAKE2B ea793eebc9d414f5f8dd0c4a1b2c0330bf762db8fb1626aaa97d84b8fffe2a6b8d85f8cf735467dd49d6f588cd17254dad7ced926410f7e26488da08e0bb593a SHA512 63c568b1e0014e2039def200fde47d932e5366ba794fcd89f0efbcfd845e8b8b1c0ede6406a518f366356f5b566df2d0a1b53e6fdc9b58a26a59bdaa89e0ce32 DIST dotnet-sdk-7.0.200-linux-musl-x64.tar.gz 197209986 BLAKE2B 4219149ed4f682ecb3d2c00cb2ed24f5352153ca0a5063bf07e7d42ddce95a5d3b4924e257bc166e1a1ca779dd9fb1d8e52d7a17a37ae73a596f3b5f4ed98c5b SHA512 e907c96e7f1c7a3497f8726176b1fad9e93050b7b5f30900a634d253c4c5c822c8d729b22b36fa00d5bb2be0834f6c683d47db8c22077fbb191e38ae67e12119 DIST dotnet-sdk-7.0.200-linux-x64.tar.gz 197802070 BLAKE2B 100af2f1e3fda195542f383a449473b1e52a7c5c1ff40b3ee666305a883885e1440996be7e588d8ccad44702917cf8d5e87900a59d80b8a43f9ba76a8e602927 SHA512 bb88cc5099bcb090608f5e02e7fcdc4f6a82114881378efd469afb210e00909d8dcc4d07d188851ef2782ba755321096de175d83ca67af3c4dcb8d3c1d217756 +DIST dotnet-sdk-7.0.203-linux-arm.tar.gz 193128471 BLAKE2B 38f4c3d001770890b0de6f816a42e41ca7f05463f1924069fcbc15c344f2d713d68d5c8bbcbaba3adb1679b987cc543ef7c75a5f0afa0ba5def54cd1e3023a5d SHA512 9617060ed134d70a561ec8439748a09d54e67dab46c5f362dc749b37fee9324de50a2f8990b5b3745a1b6caa54578580afe7ca8791f276e8e72aeb21ff4abf27 +DIST dotnet-sdk-7.0.203-linux-arm64.tar.gz 193040248 BLAKE2B 38eb2d586de235bfa30b297099fe2287ce47afca648275d1a6b80e5237588107448f5310ab9e16e93eed91b4a2cb93727ec82451ab643d737a0467dce445bc46 SHA512 f5e1b5a63b51af664b852435fc5631ff3fbeafbfac9f34c025da016218b0e6fb9a24e816035a44f4b4a16f28bc696821b1aa6f181966754318bc45cde7f439bf +DIST dotnet-sdk-7.0.203-linux-musl-arm.tar.gz 193086103 BLAKE2B fbd943578a9ad1eeeb01a4d31c662b7bbf61409041f5595dd4d52e036fd76c55ea28d0d4f8b1b6ef213f2a7afbf8d724d7b1bd27925a0a7d3d34d9632e8a17bb SHA512 b391d6d8ae2411450ac3d4b3ba7a8a402b95403d9c9a9f227dd504492fac7311405181f4aeda05390149e5c2363bf0a86d526d7ff89feac165c97e9d8ef39327 +DIST dotnet-sdk-7.0.203-linux-musl-arm64.tar.gz 193132851 BLAKE2B 6375b410b5e0c3163c4de0306aa618f72104574195b6076854a5222ba9720cc9fe7eb1ddff37f88a78758311dca58a3c093b503233aa4df60d93494b79435ada SHA512 ad94a557cb7a319e641ba09f3ee63dce74cae3ae668011c009b7a004b1b28001942ae4c7a82fe80ba2467f5ac44731bff81a1edd422c0aaaf95d7206b715dcbf +DIST dotnet-sdk-7.0.203-linux-musl-x64.tar.gz 197345038 BLAKE2B 7c9a016c0ac9a78b0337fc58670788e11950cd5db9d22ef9845ab40ff6969138f76d878dca9972183f73c35fef0940e690a57fa7e44bf7236e9cd73010e30267 SHA512 0d7bbf8f8e517aa4530d2bc590978394f0fd568a866b6369ab349aaf43412f820391ee3bb99d3f5b7f149bc7dfc1baff7658d928caa931e37c69e149d3667741 +DIST dotnet-sdk-7.0.203-linux-x64.tar.gz 197819323 BLAKE2B f95c9d34f7feba5c0e1407c9c4012361f1bb282748d7644a9e823d3b39d62a42ab3de3e8ce2a310b40ea180069bddea3eef07973043ba2f20020365f9adfd52c SHA512 ed1ae7cd88591ec52e1515c4a25d9a832eca29e8a0889549fea35a320e6e356e3806a17289f71fc0b04c36b006ae74446c53771d976c170fcbe5977ac7db1cb6 diff --git a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild new file mode 100644 index 00..fe7a496af2 --- /dev/null +++ b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION=".NET is a free, cross-platform, open-source developer platform" +HOMEPAGE="https://dotnet.microsoft.com/"; +SRC_URI=" +amd64? ( + elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz ) + elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz ) +) +arm? ( + elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz ) + elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz ) +) +arm64? ( + elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz ) + elibc_musl? ( https://dotnetcli.azureedge.ne
[gentoo-dev] [PATCH 5/6] dev-dotnet/dotnet-runtime-nugets: new package
Dependency of dotnet-sdk{,-bin} Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/32109 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-runtime-nugets/Manifest | 77 +++ .../dotnet-runtime-nugets-3.1.32.ebuild | 56 ++ .../dotnet-runtime-nugets-6.0.12.ebuild | 59 ++ .../dotnet-runtime-nugets-6.0.16.ebuild | 59 ++ .../dotnet-runtime-nugets-7.0.5.ebuild| 59 ++ dev-dotnet/dotnet-runtime-nugets/metadata.xml | 9 +++ 6 files changed, 319 insertions(+) create mode 100644 dev-dotnet/dotnet-runtime-nugets/Manifest create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-3.1.32.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.12.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.16.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-7.0.5.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/metadata.xml diff --git a/dev-dotnet/dotnet-runtime-nugets/Manifest b/dev-dotnet/dotnet-runtime-nugets/Manifest new file mode 100644 index 00..5e6f411891 --- /dev/null +++ b/dev-dotnet/dotnet-runtime-nugets/Manifest @@ -0,0 +1,77 @@ +DIST microsoft.aspnetcore.app.ref.3.1.10.nupkg 2535203 BLAKE2B de332022234864a337f7430966fa98dad3cde28f3a5bc049365636855b51054e4a3d452474a61c4df647c9f6eb33db80c155d442c5df41770d93e25b2dabe852 SHA512 ca88eb03020d22daa23a9d5761ce7401a9112c49c94ce2d28021dd58c102234f4d07edb98b678bfe06957067c2ff5f7ce9bb0619afc07ddf39b5ca45b2e52749 +DIST microsoft.aspnetcore.app.ref.6.0.12.nupkg 3341830 BLAKE2B 460b1f8a5bb4a49b494f8582c8f06792b48d1e5f24d990456c4510189881cb995d9cf0de0f4a464105a3dce0a59e9efd7c6a73aaad95d83518cbd595df8b7014 SHA512 9d795bf58747b8deb8ae12a2e10c27f3f5c40b3202dcb38a45d18476df737bacb942bb019ad45cc997602a797dc4b6af6e5aecd43d0d9b9114ab8c654bf97fe1 +DIST microsoft.aspnetcore.app.ref.6.0.16.nupkg 3341587 BLAKE2B 4a3588d50412a0659b9776482e494055a5b476dfd8748c8455777e068e6f86a58349c069f8f3288c088dd52b7d1f219fce520f40d5ee952eb3249bef3be89c46 SHA512 7b994bf1cf10a2b9c24f333046adbd78a14a5a969d1c235cb23ac93af51d1fe6a01304b61983b00bea9eb4c772bf6c9439f95d40d1db0f09c10d141bbe068cf2 +DIST microsoft.aspnetcore.app.ref.7.0.5.nupkg 306 BLAKE2B 6cc7ea23b65e6416f8394af50fca31803c760a4ecef080c64fc2fb0d938161a45707497d66147b2ce4398ca3b0e1796d33e84b852d4e5c1b8db3218b04932218 SHA512 1f7952a5ea05cd8c68b215a8025c11ee97639e4f523943b7d32256390184ab9cac81598965da76ec5a3fc1af1c3077b440b7f198bf483badb409312d00cd0e80 +DIST microsoft.aspnetcore.app.runtime.linux-arm.3.1.32.nupkg 9422779 BLAKE2B 1fc5426e790842ad03ee9dadd62447c59cbb6cc462acfda2d3688e75c68581f478a69a2f5b3b2648b17e8a637f89f7fc45b0ef09423d8a3ae8bc8dfa4870b5ce SHA512 e78723244e58607f2eec74a0103825a730405397611ca4621cd07f47f109980698e4e595218c6239e181821f670dd12d5ffc36c9fdecb2fe72c2b95778642d62 +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.12.nupkg 10095058 BLAKE2B abd9ac8ed867b2e2e827e8c80dd0d8303262daf9076e80892caac268cc54656982a0b3ad67877e8a7c845ec3f6638f3122a25340609d5a34580de03be23c0f9c SHA512 da79851f855740ae1a54b1a8efecfc7e47ba77af73ba347d4ffb29c5a73f69450f655b24c0f608c3e2acec59c532953cd40f9e5d04951a1fdcb6169947825eb7 +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.16.nupkg 10095817 BLAKE2B 939b1f0008af535aede118ee5e4559e3fcafdc39c392f41f80ed0200420495137d3d6049fd305c1baed4c605c1ead4a7adb9a629f4c242b8dd3363517c9bb23b SHA512 40dfef2423b5a8cd8ec6ba97bc2e6e6e121664809499540f9f77b4766f49655990056b546d8ff1027dcec84007a4c8144cf7a50de0722be65d61aeec09fe1bb5 +DIST microsoft.aspnetcore.app.runtime.linux-arm.7.0.5.nupkg 10806144 BLAKE2B c2305cde423b51359ca4ecaec6925ff4afd378b992d775ee89598543da4ae530d5ce533e22cddebded18509653e886b97d33269e8d2bb79ad81ba2e79f895212 SHA512 2ba63d7eea0758fc109f947e687e6265089c4c7a6f3dc44cee269139cd5171e027125afacf5bc9d21c63292b9419d776b513149547efeb6acbb6c31f37ededc3 +DIST microsoft.aspnetcore.app.runtime.linux-arm64.3.1.32.nupkg 8938556 BLAKE2B 16dca004bfe9741ab542e3ac1155a587750ebf6d128ac981e60f190ce2375891dd50fb5c186f50aadd9b67690477e5de41215661fc2d8b215f1bb4664de11770 SHA512 0a0cdcdc1da005ac18615d60d45544560d24f61a2dc062f748f678a6d19e82cd10ea53a822b2c1ee3f956fdf694c1995b37350b39209795cc8693bc9fa0d0eaf +DIST microsoft.aspnetcore.app.runtime.linux-arm64.6.0.12.nupkg 9864158 BLAKE2B 1000452879b7efdd7d47927f61122c42873a3c320652a592e754b8cfdbd13b608c5fa63e3634b7384da26560ee016ff005923da81978e1b23373e40f951c8bfc SHA512 4ffba811d15677c4ef034b85129ec5cf3f3207b57ef32c17c1a0bcf0b290effbb85fedd3d3958a333ef4b876df0d8206bcf1d1a1c5b0bc356cba22b6ad29976f +DIST microsoft.aspnetcore.app.runtime.linux-arm64.6.0.16.nupkg 9864411 BLAKE2B b3d9ab200b3186b2295e6e0c653cb326789c890cfb076c3f3ea281e8df771e82051a37043473db4139c94784563069a8d2017ba94411464e9510fa324b41d88b SHA512
[gentoo-dev] [PATCH 4/6] app-eselect/eselect-dotnet: new package; add version 0.1.0
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/32109 Signed-off-by: Maciej Barć --- app-eselect/eselect-dotnet/Manifest | 1 + .../eselect-dotnet-0.1.0.ebuild | 25 +++ app-eselect/eselect-dotnet/metadata.xml | 9 +++ 3 files changed, 35 insertions(+) create mode 100644 app-eselect/eselect-dotnet/Manifest create mode 100644 app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild create mode 100644 app-eselect/eselect-dotnet/metadata.xml diff --git a/app-eselect/eselect-dotnet/Manifest b/app-eselect/eselect-dotnet/Manifest new file mode 100644 index 00..9cf36cadf1 --- /dev/null +++ b/app-eselect/eselect-dotnet/Manifest @@ -0,0 +1 @@ +DIST eselect-dotnet-0.1.0.tar.bz2 7788 BLAKE2B 141e5a2fc765454682de60a6a337d6634766b4dd76f218606e2f4eb18960fdcf8940b954deda2fb6b0903f72b161513936c1d767210883316c32200704188945 SHA512 879281019d1e4a8a5ee3d3e6b6de3446ba573d253a5b3b0c59aa9faffcd6eb4382066e1752e18cb4e48c3e14340a278b2189c2674b1baa258ceb3980d13a diff --git a/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild b/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild new file mode 100644 index 00..3923b1a5a3 --- /dev/null +++ b/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Eselect module for management of multiple dotnet versions" +HOMEPAGE="https://gitlab.gentoo.org/dotnet/eselect-dotnet/"; + +if [[ ${PV} == ** ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gentoo.org/dotnet/${PN}.git"; +else + SRC_URI="https://gitlab.gentoo.org/dotnet/${PN}/-/archive/${PV}/${P}.tar.bz2"; + KEYWORDS="~amd64 ~arm ~arm64" +fi + +LICENSE="GPL-2+" +SLOT="0" + +RDEPEND="app-admin/eselect" + +src_install() { + insinto /usr/share/eselect/modules + doins dotnet.eselect +} diff --git a/app-eselect/eselect-dotnet/metadata.xml b/app-eselect/eselect-dotnet/metadata.xml new file mode 100644 index 00..08bae967b8 --- /dev/null +++ b/app-eselect/eselect-dotnet/metadata.xml @@ -0,0 +1,9 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + +dot...@gentoo.org +Gentoo Dotnet Project + + -- 2.41.0
[gentoo-dev] [PATCH] eclass/elisp-common.eclass: add elisp-org-export-to
Signed-off-by: Maciej Barć --- eclass/elisp-common.eclass | 33 + 1 file changed, 33 insertions(+) diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index 1958b4a07e..eba106baee 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -348,6 +348,39 @@ elisp-make-autoload-file() { eend $? "elisp-make-autoload-file: batch-update-autoloads failed" || die } +# @FUNCTION: elisp-org-export-to +# @USAGE: +# @DESCRIPTION: +# Use Emacs Org "export-to" functions to convert a given Org file to a picked +# format. +# +# Example: +# @CODE +# elisp-org-export-to texinfo README.org +# mv README.texi ${PN}.texi || die +# @CODE + +elisp-org-export-to() { + local export_format="${1}" + local org_file_path="${2}" + + local export_group + case ${export_format} in + info) export_group=texinfo ;; # Straight to ".info". + markdown) export_group=md ;; + pdf) export_group=latex ;; + *) export_group=${export_format} ;; + esac + + # export_format = texinfo=> org-texinfo-export-to-texinfo + # export_format = pdf=> org-latex-export-to-pdf + + local export_function=org-${export_group}-export-to-${export_format} + + ${EMACS} ${EMACSFLAGS} "${org_file_path}" -f "${export_function}" \ + || die "Org export to ${export_format} failed" +} + # @FUNCTION: elisp-test-buttercup # @USAGE: [test-subdirectory] [test-runner-opts] ... # @DESCRIPTION: -- 2.41.0
[gentoo-dev] [PATCH 7/7] dev-dotnet/dotnet-sdk-bin: drop old
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-sdk-bin/Manifest| 8 +-- .../dotnet-sdk-bin-6.0.402-r3.ebuild | 65 -- .../dotnet-sdk-bin-6.0.404.ebuild | 67 --- .../dotnet-sdk-bin-7.0.200.ebuild | 67 --- 4 files changed, 1 insertion(+), 206 deletions(-) delete mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild delete mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404.ebuild delete mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.200.ebuild diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 34d9d1689..8469c78ba 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -1,15 +1,9 @@ -DIST dotnet-sdk-6.0.402-linux-arm.tar.gz 181622588 BLAKE2B 1010a7cd9f598e0487af127f9e1dac86681479cd6d95e39eb5f1fbf555fd3923be7e2a56bf0bc878259c17e7eb66b711da9587fcfc8ac3ab5f5b17abff1c6da7 -DIST dotnet-sdk-6.0.402-linux-arm64.tar.gz 179368834 BLAKE2B 102b1f2ce6d3162ad423b1e24c7f4730b2846aee5d6eb19a2fbbc52271f18cda1d98121c39fd9e2dd375c2837ab5a6714f8acc81245ab720f13c5b4c6e4e9dc3 -DIST dotnet-sdk-6.0.402-linux-musl-arm.tar.gz 181678689 BLAKE2B 66d059106c0daab97497585935f85febcc1099474dc8f72e25e7ec2ad91b0f118a4978a0875508d11f1d5b47b75ce29e0a6782fa84c4ab654f8f6a4c31b2 -DIST dotnet-sdk-6.0.402-linux-musl-arm64.tar.gz 179488323 BLAKE2B 459bfc25c250e36ed351eb76037aac29f999ae111889662079d13555707e2006c719ec88516ffed013e6d88fc836d41148b81d194afaa3049ae2696b8c606d63 -DIST dotnet-sdk-6.0.402-linux-musl-x64.tar.gz 185028850 BLAKE2B 92f24b251d8d36d7cf154c44ff5096b069cd4df1fd3a1a3aea9d4aedb8934ab81ae2c33ae891cd892d942ecceb0ed677ee4c8eb242ad43a7c7f9a4ac2303a79a -DIST dotnet-sdk-6.0.402-linux-x64.tar.gz 185619780 BLAKE2B 1880ec1f94bd8c79db550fae5c0bd684e7e96e5ee99d5bf41c20a0d9678facb6aaca0065d246015feaa265b0e99d95afaff4f1468fabd04594a9834224afc118 DIST dotnet-sdk-6.0.404-linux-arm.tar.gz 181563995 BLAKE2B ff359d26264f0298d6210a2b7ae8cd0f1b577bf9937aaff09805f361e54349bdab5338182b674c81c8cb330c90f7a17a601ccce899e63f2e837a90bfd02c3726 DIST dotnet-sdk-6.0.404-linux-arm64.tar.gz 180324700 BLAKE2B 33780337294f427da0b8d44d8a3819c4276c0b01ffefe5a846cc5524039a5af203a231fe5893c63dce5b1557cd1288c4cb3e1d93505320a49eeccd4fd22cefe7 DIST dotnet-sdk-6.0.404-linux-musl-arm.tar.gz 182613890 BLAKE2B f0475535f703a80c23a881ef578eeac87923586b27bcc7ed018b75aa88dccc84dcbd9e20543b1e502e0e800b947afd8e6bbc3a44b4101ad786674d0ad2fb196a DIST dotnet-sdk-6.0.404-linux-musl-arm64.tar.gz 180323728 BLAKE2B ff32a89653f265df2fda39dc0bb2ff6853e6fced029fb1a16096436a7876ad061e55a1d45fd29f395e4d6585f67cde2e5d95b0c0c2bbaec2b073cfd2785c87e5 DIST dotnet-sdk-6.0.404-linux-musl-x64.tar.gz 185037621 BLAKE2B 0ff97d56c4d061cb5f227c745afb34cf462c286f4c0347224885360cec861dfd59f90a6ef85571c49aa79b12d558111b07a29ac48451739f721e5b13d45f94c1 -DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f +DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f SHA512 7a0f4b308d3fe98df9b426b0f8f8fb7bd7247244af3570e867a3969349c62c7ea4c6da81a1a2280788e300784167a2933db523f461985aef0681e0cf14bf8f0d DIST dotnet-sdk-7.0.200-linux-arm.tar.gz 192996891 BLAKE2B 43c271a53d2eeebfbbeb7702e0c7a203960b57246f4b1f557d78391abdf10d0cca87c7ee364a37151f8e9e91df53e427df077a7cc25e1ccce5ac5d37fc73bc3a DIST dotnet-sdk-7.0.200-linux-arm64.tar.gz 193106712 BLAKE2B 5db6eab8bf56a85a15e6107bd4bca0dd4669d9eb2b3db287b8aa7621e38e07ce213c8e2446add010623b78b7092c0658d17bf4c90a059440778519e5aa117a9e DIST dotnet-sdk-7.0.200-linux-musl-arm.tar.gz 192955116 BLAKE2B 5b5549e158ebc7059b123d601566efddaacd04aa6ee531699b3c70327b2f2005ed11cbb7dea7b9a8a9c5f792fcc7461ea34b0a33a81828b4085327f219224d19 diff --git a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild deleted file mode 100644 index f2f49466a..0 --- a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION=".NET is a free, cross-platform, open-source developer platform" -HOMEPAGE="https://dotnet.microsoft.com/"; -SRC_URI=" -amd64? ( - elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz ) - elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz ) -) -arm? ( - elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-s
[gentoo-dev] [PATCH 6/7] dev-dotnet/dotnet-sdk-bin: update packaging mechanism
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-sdk-bin/Manifest| 36 ++ .../dotnet-sdk-bin-6.0.402-r3.ebuild | 65 ++ .../dotnet-sdk-bin-6.0.404-r1.ebuild | 65 ++ .../dotnet-sdk-bin-7.0.200-r1.ebuild | 66 +++ .../dotnet-sdk-bin-7.0.203.ebuild | 66 +++ dev-dotnet/dotnet-sdk-bin/metadata.xml| 6 +- 6 files changed, 287 insertions(+), 17 deletions(-) create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.200-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.203.ebuild diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 0db136553..34d9d1689 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -1,12 +1,24 @@ -DIST dotnet-sdk-6.0.404-linux-arm.tar.gz 181563995 BLAKE2B ff359d26264f0298d6210a2b7ae8cd0f1b577bf9937aaff09805f361e54349bdab5338182b674c81c8cb330c90f7a17a601ccce899e63f2e837a90bfd02c3726 SHA512 1b9b5e0c45f90a4c752bf6990e5dda4110403a62392dc78abf9145c69b1d329b2630945a88cb4d7756322b188b7f4a9334bfc376067edff5dcfabfd85098d7d8 -DIST dotnet-sdk-6.0.404-linux-arm64.tar.gz 180324700 BLAKE2B 33780337294f427da0b8d44d8a3819c4276c0b01ffefe5a846cc5524039a5af203a231fe5893c63dce5b1557cd1288c4cb3e1d93505320a49eeccd4fd22cefe7 SHA512 7c58595aa57b655ff5a268ae4fc680ff3fb15a84dcc0ce84ae7eb25ba27bf66f0c5273c985f15034583f5b05437a5354db68c4064953030dc4caebb11339ac76 -DIST dotnet-sdk-6.0.404-linux-musl-arm.tar.gz 182613890 BLAKE2B f0475535f703a80c23a881ef578eeac87923586b27bcc7ed018b75aa88dccc84dcbd9e20543b1e502e0e800b947afd8e6bbc3a44b4101ad786674d0ad2fb196a SHA512 d7818ea567db81832cfeed5057c42255d2f19750a741a2cbc57e2d7134267a27e9937f86846b30f393c6f0ad2dbf0f4c73a902ed78b0de56138f077f62f34686 -DIST dotnet-sdk-6.0.404-linux-musl-arm64.tar.gz 180323728 BLAKE2B ff32a89653f265df2fda39dc0bb2ff6853e6fced029fb1a16096436a7876ad061e55a1d45fd29f395e4d6585f67cde2e5d95b0c0c2bbaec2b073cfd2785c87e5 SHA512 999220f7247881d44c7f5a429b25c04d31044a1b91af5ede3f899df142af2d9f056a4ac6058c9e56f14b014a479f3a7455bd499f42f8e0f9b4fcacfeabc023b5 -DIST dotnet-sdk-6.0.404-linux-musl-x64.tar.gz 185037621 BLAKE2B 0ff97d56c4d061cb5f227c745afb34cf462c286f4c0347224885360cec861dfd59f90a6ef85571c49aa79b12d558111b07a29ac48451739f721e5b13d45f94c1 SHA512 5313d8cbb41e27f462a141914f852e3d3e729886ce063be82778e1444df2d44dadcd2829f60ae97ae300d19798fab9d3b3932a7d9b9d00e948a80ccebbf5e106 -DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f SHA512 7a0f4b308d3fe98df9b426b0f8f8fb7bd7247244af3570e867a3969349c62c7ea4c6da81a1a2280788e300784167a2933db523f461985aef0681e0cf14bf8f0d -DIST dotnet-sdk-7.0.200-linux-arm.tar.gz 192996891 BLAKE2B 43c271a53d2eeebfbbeb7702e0c7a203960b57246f4b1f557d78391abdf10d0cca87c7ee364a37151f8e9e91df53e427df077a7cc25e1ccce5ac5d37fc73bc3a SHA512 7b1072c8080a0f38946d207945417dbeea4cbb688c2ea2dba1cb31330da15652da0823d8571c063a08830fe2157dbacb635eb2a8c7f20033cd1b8a35a9cfde36 -DIST dotnet-sdk-7.0.200-linux-arm64.tar.gz 193106712 BLAKE2B 5db6eab8bf56a85a15e6107bd4bca0dd4669d9eb2b3db287b8aa7621e38e07ce213c8e2446add010623b78b7092c0658d17bf4c90a059440778519e5aa117a9e SHA512 2990b7d2b23adb2b2621786ba774450e8cf73bf872173ab57026d7658599accdb5a4cefb5292945e264408f833503210621ed787c8d77eb467d3b204da8073a8 -DIST dotnet-sdk-7.0.200-linux-musl-arm.tar.gz 192955116 BLAKE2B 5b5549e158ebc7059b123d601566efddaacd04aa6ee531699b3c70327b2f2005ed11cbb7dea7b9a8a9c5f792fcc7461ea34b0a33a81828b4085327f219224d19 SHA512 1e4f9160cb93ca9704015e787491bf78c5850c2a0aa7f5794b35f607f6f342903c9d8aa182593133d6609d5b9aded9bed769855213e0464311f357a65df0a640 -DIST dotnet-sdk-7.0.200-linux-musl-arm64.tar.gz 192893152 BLAKE2B ea793eebc9d414f5f8dd0c4a1b2c0330bf762db8fb1626aaa97d84b8fffe2a6b8d85f8cf735467dd49d6f588cd17254dad7ced926410f7e26488da08e0bb593a SHA512 63c568b1e0014e2039def200fde47d932e5366ba794fcd89f0efbcfd845e8b8b1c0ede6406a518f366356f5b566df2d0a1b53e6fdc9b58a26a59bdaa89e0ce32 -DIST dotnet-sdk-7.0.200-linux-musl-x64.tar.gz 197209986 BLAKE2B 4219149ed4f682ecb3d2c00cb2ed24f5352153ca0a5063bf07e7d42ddce95a5d3b4924e257bc166e1a1ca779dd9fb1d8e52d7a17a37ae73a596f3b5f4ed98c5b SHA512 e907c96e7f1c7a3497f8726176b1fad9e93050b7b5f30900a634d253c4c5c822c8d729b22b36fa00d5bb2be0834f6c683d47db8c22077fbb191e38ae67e12119 -DIST dotnet-sdk-7.0.200-linux-x64.tar.gz 197802070 BLAKE2B 100af2f1e3fda195542f383a449473b1e52a7c5c1ff40b3ee666305a883885e1440996be7e588d8ccad44702917cf8d5e87900a59d80b8a43f9ba76a8e602927 SHA512
[gentoo-dev] [PATCH 5/7] app-eselect/eselect-dotnet: new package
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- app-eselect/eselect-dotnet/Manifest | 1 + .../eselect-dotnet-0.1.0.ebuild | 25 +++ app-eselect/eselect-dotnet/metadata.xml | 9 +++ 3 files changed, 35 insertions(+) create mode 100644 app-eselect/eselect-dotnet/Manifest create mode 100644 app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild create mode 100644 app-eselect/eselect-dotnet/metadata.xml diff --git a/app-eselect/eselect-dotnet/Manifest b/app-eselect/eselect-dotnet/Manifest new file mode 100644 index 0..9cf36cadf --- /dev/null +++ b/app-eselect/eselect-dotnet/Manifest @@ -0,0 +1 @@ +DIST eselect-dotnet-0.1.0.tar.bz2 7788 BLAKE2B 141e5a2fc765454682de60a6a337d6634766b4dd76f218606e2f4eb18960fdcf8940b954deda2fb6b0903f72b161513936c1d767210883316c32200704188945 SHA512 879281019d1e4a8a5ee3d3e6b6de3446ba573d253a5b3b0c59aa9faffcd6eb4382066e1752e18cb4e48c3e14340a278b2189c2674b1baa258ceb3980d13a diff --git a/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild b/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild new file mode 100644 index 0..3923b1a5a --- /dev/null +++ b/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Eselect module for management of multiple dotnet versions" +HOMEPAGE="https://gitlab.gentoo.org/dotnet/eselect-dotnet/"; + +if [[ ${PV} == ** ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gentoo.org/dotnet/${PN}.git"; +else + SRC_URI="https://gitlab.gentoo.org/dotnet/${PN}/-/archive/${PV}/${P}.tar.bz2"; + KEYWORDS="~amd64 ~arm ~arm64" +fi + +LICENSE="GPL-2+" +SLOT="0" + +RDEPEND="app-admin/eselect" + +src_install() { + insinto /usr/share/eselect/modules + doins dotnet.eselect +} diff --git a/app-eselect/eselect-dotnet/metadata.xml b/app-eselect/eselect-dotnet/metadata.xml new file mode 100644 index 0..08bae967b --- /dev/null +++ b/app-eselect/eselect-dotnet/metadata.xml @@ -0,0 +1,9 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + +dot...@gentoo.org +Gentoo Dotnet Project + + -- 2.41.0
[gentoo-dev] [PATCH 4/7] dev-dotnet/dotnet-runtime-nugets: new package
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-runtime-nugets/Manifest | 117 ++ .../dotnet-runtime-nugets-3.1.32.ebuild | 45 +++ .../dotnet-runtime-nugets-6.0.12.ebuild | 48 +++ .../dotnet-runtime-nugets-6.0.14.ebuild | 48 +++ .../dotnet-runtime-nugets-6.0.16.ebuild | 48 +++ .../dotnet-runtime-nugets-7.0.3.ebuild| 48 +++ .../dotnet-runtime-nugets-7.0.5.ebuild| 48 +++ dev-dotnet/dotnet-runtime-nugets/metadata.xml | 9 ++ 8 files changed, 411 insertions(+) create mode 100644 dev-dotnet/dotnet-runtime-nugets/Manifest create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-3.1.32.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.12.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.14.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.16.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-7.0.3.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-7.0.5.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/metadata.xml diff --git a/dev-dotnet/dotnet-runtime-nugets/Manifest b/dev-dotnet/dotnet-runtime-nugets/Manifest new file mode 100644 index 0..8b2278ec5 --- /dev/null +++ b/dev-dotnet/dotnet-runtime-nugets/Manifest @@ -0,0 +1,117 @@ +DIST microsoft.aspnetcore.app.ref.3.1.10.nupkg 2535203 BLAKE2B de332022234864a337f7430966fa98dad3cde28f3a5bc049365636855b51054e4a3d452474a61c4df647c9f6eb33db80c155d442c5df41770d93e25b2dabe852 +DIST microsoft.aspnetcore.app.ref.6.0.12.nupkg 3341830 BLAKE2B 460b1f8a5bb4a49b494f8582c8f06792b48d1e5f24d990456c4510189881cb995d9cf0de0f4a464105a3dce0a59e9efd7c6a73aaad95d83518cbd595df8b7014 +DIST microsoft.aspnetcore.app.ref.6.0.14.nupkg 3340852 BLAKE2B 8481d2ec13e937c24335fbb7480941fd2679d3dfa2f5f2245bce48c9be04050c5dde9f2ec9e54625f1306d68223a5b953ae6d779335990cba244217ec0a44659 +DIST microsoft.aspnetcore.app.ref.6.0.16.nupkg 3341587 BLAKE2B 4a3588d50412a0659b9776482e494055a5b476dfd8748c8455777e068e6f86a58349c069f8f3288c088dd52b7d1f219fce520f40d5ee952eb3249bef3be89c46 SHA512 7b994bf1cf10a2b9c24f333046adbd78a14a5a969d1c235cb23ac93af51d1fe6a01304b61983b00bea9eb4c772bf6c9439f95d40d1db0f09c10d141bbe068cf2 +DIST microsoft.aspnetcore.app.ref.7.0.3.nupkg 3557271 BLAKE2B aec4693047178e484c75775975e5eb7501a8f72c6adbab90206c7fb357f5e28fe1ed1955db323180e8067302851c21b722b05d4edc1a81a14ed8124f5b712d1b +DIST microsoft.aspnetcore.app.ref.7.0.5.nupkg 306 BLAKE2B 6cc7ea23b65e6416f8394af50fca31803c760a4ecef080c64fc2fb0d938161a45707497d66147b2ce4398ca3b0e1796d33e84b852d4e5c1b8db3218b04932218 SHA512 1f7952a5ea05cd8c68b215a8025c11ee97639e4f523943b7d32256390184ab9cac81598965da76ec5a3fc1af1c3077b440b7f198bf483badb409312d00cd0e80 +DIST microsoft.aspnetcore.app.runtime.linux-arm.3.1.32.nupkg 9422779 BLAKE2B 1fc5426e790842ad03ee9dadd62447c59cbb6cc462acfda2d3688e75c68581f478a69a2f5b3b2648b17e8a637f89f7fc45b0ef09423d8a3ae8bc8dfa4870b5ce +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.12.nupkg 10095058 BLAKE2B abd9ac8ed867b2e2e827e8c80dd0d8303262daf9076e80892caac268cc54656982a0b3ad67877e8a7c845ec3f6638f3122a25340609d5a34580de03be23c0f9c +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.14.nupkg 10095297 BLAKE2B 4af3698eeda253c2eb5e90aae464ef496c8ccffcae201b2f8dc3e9695cb4ee2cd00a270f6e48871c8378ebb4182b7ca25eda957df036611194e572453b898690 +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.16.nupkg 10095817 BLAKE2B 939b1f0008af535aede118ee5e4559e3fcafdc39c392f41f80ed0200420495137d3d6049fd305c1baed4c605c1ead4a7adb9a629f4c242b8dd3363517c9bb23b SHA512 40dfef2423b5a8cd8ec6ba97bc2e6e6e121664809499540f9f77b4766f49655990056b546d8ff1027dcec84007a4c8144cf7a50de0722be65d61aeec09fe1bb5 +DIST microsoft.aspnetcore.app.runtime.linux-arm.7.0.3.nupkg 10803489 BLAKE2B 2f5c1cccd718ad00d851ae7482402fd059145ac963ba611a884e757219bade0184c37db6badf5d3aa9a76df75b9d194568203d9105e673e08a0db22d9d2f62b7 SHA512 af20c42549dcf7f25a2046aa6ef071d0231c554e0b5c5a357207fc708384d46a1d57e6f2e054a4eddeb2f04fe64d7ef3c9974fc50878d6e3ae018b0f735cd141 +DIST microsoft.aspnetcore.app.runtime.linux-arm.7.0.5.nupkg 10806144 BLAKE2B c2305cde423b51359ca4ecaec6925ff4afd378b992d775ee89598543da4ae530d5ce533e22cddebded18509653e886b97d33269e8d2bb79ad81ba2e79f895212 SHA512 2ba63d7eea0758fc109f947e687e6265089c4c7a6f3dc44cee269139cd5171e027125afacf5bc9d21c63292b9419d776b513149547efeb6acbb6c31f37ededc3 +DIST microsoft.aspnetcore.app.runtime.linux-arm64.3.1.32.nupkg 8938556 BLAKE2B 16dca004bfe9741ab542e3ac1155a587750ebf6d128ac981e60f190ce2375891dd50fb5c186f50aadd9b67690477e5de41215661fc2d8b215f1bb4664de11770 +DIST microsoft.aspnetcore.app.runtime.linux-arm64.6.0.12.nupkg 9864158 BLAKE2B
Re: [gentoo-dev] [PATCH 1/7] eclass/nuget.eclass: introduce new eclass
Offtopic: That calls for a YAS snippet ;D W dniu 16.07.2023 o 15:40, Ulrich Mueller pisze: On Sun, 16 Jul 2023, Maciej Barć wrote: +case "${EAPI}" in + 7 | 8 ) + : + ;; + * ) + die "${ECLASS}: EAPI ${EAPI} unsupported." + ;; +esac The QA team has invested quite some work to unify that case block between different eclasses. So, please stay with the standard style: case ${EAPI} in 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C
Re: [gentoo-dev] [PATCH 6/7] dev-dotnet/dotnet-sdk-bin: update packaging mechanism
+RESTRICT+=" splitdebug " + Why? Add a comment. Added by previous maint. +PDEPEND=" + ~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT} + ~dev-dotnet/dotnet-runtime-nugets-3.1.32 +" + What's this about? Wanted to comment right away, but needed to wait for mialing list to digest my patches. Ok, so essentially when building .NET packages dotnet-sdk will **always** pull in a set of predefined nugets that need to be in the ${NUGET_PACKAGES} dir. If they are not there, then the build fails. Because otherwise we would have to have a very ugly if-else in the eclass we pull them regardless if user will build dev-dotnet packages. The elcass later copies those nugets from /opt/dotnet-nugest to NUGEt_PACKAGES dir. This set is different for each dotnet-sdk version and has to be checked while packaging new dotnet-sdk versions by restoring a package without other dependencies for each supported .NET version: that is: 3.1, 6.0 and 7.0. W dniu 16.07.2023 o 14:58, Sam James pisze: Maciej Barć writes: Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-sdk-bin/Manifest| 36 ++ .../dotnet-sdk-bin-6.0.402-r3.ebuild | 65 ++ .../dotnet-sdk-bin-6.0.404-r1.ebuild | 65 ++ .../dotnet-sdk-bin-7.0.200-r1.ebuild | 66 +++ .../dotnet-sdk-bin-7.0.203.ebuild | 66 +++ dev-dotnet/dotnet-sdk-bin/metadata.xml| 6 +- 6 files changed, 287 insertions(+), 17 deletions(-) create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.200-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.203.ebuild diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 0db1365533..34d9d16893 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -1,12 +1,24 @@ -DIST dotnet-sdk-6.0.404-linux-arm.tar.gz 181563995 BLAKE2B ff359d26264f0298d6210a2b7ae8cd0f1b577bf9937aaff09805f361e54349bdab5338182b674c81c8cb330c90f7a17a601ccce899e63f2e837a90bfd02c3726 SHA512 1b9b5e0c45f90a4c752bf6990e5dda4110403a62392dc78abf9145c69b1d329b2630945a88cb4d7756322b188b7f4a9334bfc376067edff5dcfabfd85098d7d8 -DIST dotnet-sdk-6.0.404-linux-arm64.tar.gz 180324700 BLAKE2B 33780337294f427da0b8d44d8a3819c4276c0b01ffefe5a846cc5524039a5af203a231fe5893c63dce5b1557cd1288c4cb3e1d93505320a49eeccd4fd22cefe7 SHA512 7c58595aa57b655ff5a268ae4fc680ff3fb15a84dcc0ce84ae7eb25ba27bf66f0c5273c985f15034583f5b05437a5354db68c4064953030dc4caebb11339ac76 -DIST dotnet-sdk-6.0.404-linux-musl-arm.tar.gz 182613890 BLAKE2B f0475535f703a80c23a881ef578eeac87923586b27bcc7ed018b75aa88dccc84dcbd9e20543b1e502e0e800b947afd8e6bbc3a44b4101ad786674d0ad2fb196a SHA512 d7818ea567db81832cfeed5057c42255d2f19750a741a2cbc57e2d7134267a27e9937f86846b30f393c6f0ad2dbf0f4c73a902ed78b0de56138f077f62f34686 -DIST dotnet-sdk-6.0.404-linux-musl-arm64.tar.gz 180323728 BLAKE2B ff32a89653f265df2fda39dc0bb2ff6853e6fced029fb1a16096436a7876ad061e55a1d45fd29f395e4d6585f67cde2e5d95b0c0c2bbaec2b073cfd2785c87e5 SHA512 999220f7247881d44c7f5a429b25c04d31044a1b91af5ede3f899df142af2d9f056a4ac6058c9e56f14b014a479f3a7455bd499f42f8e0f9b4fcacfeabc023b5 -DIST dotnet-sdk-6.0.404-linux-musl-x64.tar.gz 185037621 BLAKE2B 0ff97d56c4d061cb5f227c745afb34cf462c286f4c0347224885360cec861dfd59f90a6ef85571c49aa79b12d558111b07a29ac48451739f721e5b13d45f94c1 SHA512 5313d8cbb41e27f462a141914f852e3d3e729886ce063be82778e1444df2d44dadcd2829f60ae97ae300d19798fab9d3b3932a7d9b9d00e948a80ccebbf5e106 -DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f SHA512 7a0f4b308d3fe98df9b426b0f8f8fb7bd7247244af3570e867a3969349c62c7ea4c6da81a1a2280788e300784167a2933db523f461985aef0681e0cf14bf8f0d -DIST dotnet-sdk-7.0.200-linux-arm.tar.gz 192996891 BLAKE2B 43c271a53d2eeebfbbeb7702e0c7a203960b57246f4b1f557d78391abdf10d0cca87c7ee364a37151f8e9e91df53e427df077a7cc25e1ccce5ac5d37fc73bc3a SHA512 7b1072c8080a0f38946d207945417dbeea4cbb688c2ea2dba1cb31330da15652da0823d8571c063a08830fe2157dbacb635eb2a8c7f20033cd1b8a35a9cfde36 -DIST dotnet-sdk-7.0.200-linux-arm64.tar.gz 193106712 BLAKE2B 5db6eab8bf56a85a15e6107bd4bca0dd4669d9eb2b3db287b8aa7621e38e07ce213c8e2446add010623b78b7092c0658d17bf4c90a059440778519e5aa117a9e SHA512 2990b7d2b23adb2b2621786ba774450e8cf73bf872173ab57026d7658599accdb5a4cefb5292945e264408f833503210621ed787c8d77eb467d3b204da8073a8 -DIST dotnet-sdk-7.0.200-linux-musl-arm
[gentoo-dev] [PATCH 7/7] dev-dotnet/dotnet-sdk-bin: drop old
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-sdk-bin/Manifest| 8 +-- .../dotnet-sdk-bin-6.0.402-r3.ebuild | 65 -- .../dotnet-sdk-bin-6.0.404.ebuild | 67 --- .../dotnet-sdk-bin-7.0.200.ebuild | 67 --- 4 files changed, 1 insertion(+), 206 deletions(-) delete mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild delete mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404.ebuild delete mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.200.ebuild diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 34d9d16893..8469c78ba4 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -1,15 +1,9 @@ -DIST dotnet-sdk-6.0.402-linux-arm.tar.gz 181622588 BLAKE2B 1010a7cd9f598e0487af127f9e1dac86681479cd6d95e39eb5f1fbf555fd3923be7e2a56bf0bc878259c17e7eb66b711da9587fcfc8ac3ab5f5b17abff1c6da7 -DIST dotnet-sdk-6.0.402-linux-arm64.tar.gz 179368834 BLAKE2B 102b1f2ce6d3162ad423b1e24c7f4730b2846aee5d6eb19a2fbbc52271f18cda1d98121c39fd9e2dd375c2837ab5a6714f8acc81245ab720f13c5b4c6e4e9dc3 -DIST dotnet-sdk-6.0.402-linux-musl-arm.tar.gz 181678689 BLAKE2B 66d059106c0daab97497585935f85febcc1099474dc8f72e25e7ec2ad91b0f118a4978a0875508d11f1d5b47b75ce29e0a6782fa84c4ab654f8f6a4c31b2 -DIST dotnet-sdk-6.0.402-linux-musl-arm64.tar.gz 179488323 BLAKE2B 459bfc25c250e36ed351eb76037aac29f999ae111889662079d13555707e2006c719ec88516ffed013e6d88fc836d41148b81d194afaa3049ae2696b8c606d63 -DIST dotnet-sdk-6.0.402-linux-musl-x64.tar.gz 185028850 BLAKE2B 92f24b251d8d36d7cf154c44ff5096b069cd4df1fd3a1a3aea9d4aedb8934ab81ae2c33ae891cd892d942ecceb0ed677ee4c8eb242ad43a7c7f9a4ac2303a79a -DIST dotnet-sdk-6.0.402-linux-x64.tar.gz 185619780 BLAKE2B 1880ec1f94bd8c79db550fae5c0bd684e7e96e5ee99d5bf41c20a0d9678facb6aaca0065d246015feaa265b0e99d95afaff4f1468fabd04594a9834224afc118 DIST dotnet-sdk-6.0.404-linux-arm.tar.gz 181563995 BLAKE2B ff359d26264f0298d6210a2b7ae8cd0f1b577bf9937aaff09805f361e54349bdab5338182b674c81c8cb330c90f7a17a601ccce899e63f2e837a90bfd02c3726 DIST dotnet-sdk-6.0.404-linux-arm64.tar.gz 180324700 BLAKE2B 33780337294f427da0b8d44d8a3819c4276c0b01ffefe5a846cc5524039a5af203a231fe5893c63dce5b1557cd1288c4cb3e1d93505320a49eeccd4fd22cefe7 DIST dotnet-sdk-6.0.404-linux-musl-arm.tar.gz 182613890 BLAKE2B f0475535f703a80c23a881ef578eeac87923586b27bcc7ed018b75aa88dccc84dcbd9e20543b1e502e0e800b947afd8e6bbc3a44b4101ad786674d0ad2fb196a DIST dotnet-sdk-6.0.404-linux-musl-arm64.tar.gz 180323728 BLAKE2B ff32a89653f265df2fda39dc0bb2ff6853e6fced029fb1a16096436a7876ad061e55a1d45fd29f395e4d6585f67cde2e5d95b0c0c2bbaec2b073cfd2785c87e5 DIST dotnet-sdk-6.0.404-linux-musl-x64.tar.gz 185037621 BLAKE2B 0ff97d56c4d061cb5f227c745afb34cf462c286f4c0347224885360cec861dfd59f90a6ef85571c49aa79b12d558111b07a29ac48451739f721e5b13d45f94c1 -DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f +DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f SHA512 7a0f4b308d3fe98df9b426b0f8f8fb7bd7247244af3570e867a3969349c62c7ea4c6da81a1a2280788e300784167a2933db523f461985aef0681e0cf14bf8f0d DIST dotnet-sdk-7.0.200-linux-arm.tar.gz 192996891 BLAKE2B 43c271a53d2eeebfbbeb7702e0c7a203960b57246f4b1f557d78391abdf10d0cca87c7ee364a37151f8e9e91df53e427df077a7cc25e1ccce5ac5d37fc73bc3a DIST dotnet-sdk-7.0.200-linux-arm64.tar.gz 193106712 BLAKE2B 5db6eab8bf56a85a15e6107bd4bca0dd4669d9eb2b3db287b8aa7621e38e07ce213c8e2446add010623b78b7092c0658d17bf4c90a059440778519e5aa117a9e DIST dotnet-sdk-7.0.200-linux-musl-arm.tar.gz 192955116 BLAKE2B 5b5549e158ebc7059b123d601566efddaacd04aa6ee531699b3c70327b2f2005ed11cbb7dea7b9a8a9c5f792fcc7461ea34b0a33a81828b4085327f219224d19 diff --git a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild deleted file mode 100644 index f2f49466ae..00 --- a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION=".NET is a free, cross-platform, open-source developer platform" -HOMEPAGE="https://dotnet.microsoft.com/"; -SRC_URI=" -amd64? ( - elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz ) - elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz ) -) -arm? ( - elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${P
[gentoo-dev] [PATCH 6/7] dev-dotnet/dotnet-sdk-bin: update packaging mechanism
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-sdk-bin/Manifest| 36 ++ .../dotnet-sdk-bin-6.0.402-r3.ebuild | 65 ++ .../dotnet-sdk-bin-6.0.404-r1.ebuild | 65 ++ .../dotnet-sdk-bin-7.0.200-r1.ebuild | 66 +++ .../dotnet-sdk-bin-7.0.203.ebuild | 66 +++ dev-dotnet/dotnet-sdk-bin/metadata.xml| 6 +- 6 files changed, 287 insertions(+), 17 deletions(-) create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.402-r3.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-6.0.404-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.200-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-7.0.203.ebuild diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 0db1365533..34d9d16893 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -1,12 +1,24 @@ -DIST dotnet-sdk-6.0.404-linux-arm.tar.gz 181563995 BLAKE2B ff359d26264f0298d6210a2b7ae8cd0f1b577bf9937aaff09805f361e54349bdab5338182b674c81c8cb330c90f7a17a601ccce899e63f2e837a90bfd02c3726 SHA512 1b9b5e0c45f90a4c752bf6990e5dda4110403a62392dc78abf9145c69b1d329b2630945a88cb4d7756322b188b7f4a9334bfc376067edff5dcfabfd85098d7d8 -DIST dotnet-sdk-6.0.404-linux-arm64.tar.gz 180324700 BLAKE2B 33780337294f427da0b8d44d8a3819c4276c0b01ffefe5a846cc5524039a5af203a231fe5893c63dce5b1557cd1288c4cb3e1d93505320a49eeccd4fd22cefe7 SHA512 7c58595aa57b655ff5a268ae4fc680ff3fb15a84dcc0ce84ae7eb25ba27bf66f0c5273c985f15034583f5b05437a5354db68c4064953030dc4caebb11339ac76 -DIST dotnet-sdk-6.0.404-linux-musl-arm.tar.gz 182613890 BLAKE2B f0475535f703a80c23a881ef578eeac87923586b27bcc7ed018b75aa88dccc84dcbd9e20543b1e502e0e800b947afd8e6bbc3a44b4101ad786674d0ad2fb196a SHA512 d7818ea567db81832cfeed5057c42255d2f19750a741a2cbc57e2d7134267a27e9937f86846b30f393c6f0ad2dbf0f4c73a902ed78b0de56138f077f62f34686 -DIST dotnet-sdk-6.0.404-linux-musl-arm64.tar.gz 180323728 BLAKE2B ff32a89653f265df2fda39dc0bb2ff6853e6fced029fb1a16096436a7876ad061e55a1d45fd29f395e4d6585f67cde2e5d95b0c0c2bbaec2b073cfd2785c87e5 SHA512 999220f7247881d44c7f5a429b25c04d31044a1b91af5ede3f899df142af2d9f056a4ac6058c9e56f14b014a479f3a7455bd499f42f8e0f9b4fcacfeabc023b5 -DIST dotnet-sdk-6.0.404-linux-musl-x64.tar.gz 185037621 BLAKE2B 0ff97d56c4d061cb5f227c745afb34cf462c286f4c0347224885360cec861dfd59f90a6ef85571c49aa79b12d558111b07a29ac48451739f721e5b13d45f94c1 SHA512 5313d8cbb41e27f462a141914f852e3d3e729886ce063be82778e1444df2d44dadcd2829f60ae97ae300d19798fab9d3b3932a7d9b9d00e948a80ccebbf5e106 -DIST dotnet-sdk-6.0.404-linux-x64.tar.gz 185546757 BLAKE2B ce8447f82b93880c6491e06fd35d556b880f59403fd7c6161d228271de6bffc6c74810e5ec5d834e35a715b9bc6173cb028aeb443bd28717a2d8838b543eec9f SHA512 7a0f4b308d3fe98df9b426b0f8f8fb7bd7247244af3570e867a3969349c62c7ea4c6da81a1a2280788e300784167a2933db523f461985aef0681e0cf14bf8f0d -DIST dotnet-sdk-7.0.200-linux-arm.tar.gz 192996891 BLAKE2B 43c271a53d2eeebfbbeb7702e0c7a203960b57246f4b1f557d78391abdf10d0cca87c7ee364a37151f8e9e91df53e427df077a7cc25e1ccce5ac5d37fc73bc3a SHA512 7b1072c8080a0f38946d207945417dbeea4cbb688c2ea2dba1cb31330da15652da0823d8571c063a08830fe2157dbacb635eb2a8c7f20033cd1b8a35a9cfde36 -DIST dotnet-sdk-7.0.200-linux-arm64.tar.gz 193106712 BLAKE2B 5db6eab8bf56a85a15e6107bd4bca0dd4669d9eb2b3db287b8aa7621e38e07ce213c8e2446add010623b78b7092c0658d17bf4c90a059440778519e5aa117a9e SHA512 2990b7d2b23adb2b2621786ba774450e8cf73bf872173ab57026d7658599accdb5a4cefb5292945e264408f833503210621ed787c8d77eb467d3b204da8073a8 -DIST dotnet-sdk-7.0.200-linux-musl-arm.tar.gz 192955116 BLAKE2B 5b5549e158ebc7059b123d601566efddaacd04aa6ee531699b3c70327b2f2005ed11cbb7dea7b9a8a9c5f792fcc7461ea34b0a33a81828b4085327f219224d19 SHA512 1e4f9160cb93ca9704015e787491bf78c5850c2a0aa7f5794b35f607f6f342903c9d8aa182593133d6609d5b9aded9bed769855213e0464311f357a65df0a640 -DIST dotnet-sdk-7.0.200-linux-musl-arm64.tar.gz 192893152 BLAKE2B ea793eebc9d414f5f8dd0c4a1b2c0330bf762db8fb1626aaa97d84b8fffe2a6b8d85f8cf735467dd49d6f588cd17254dad7ced926410f7e26488da08e0bb593a SHA512 63c568b1e0014e2039def200fde47d932e5366ba794fcd89f0efbcfd845e8b8b1c0ede6406a518f366356f5b566df2d0a1b53e6fdc9b58a26a59bdaa89e0ce32 -DIST dotnet-sdk-7.0.200-linux-musl-x64.tar.gz 197209986 BLAKE2B 4219149ed4f682ecb3d2c00cb2ed24f5352153ca0a5063bf07e7d42ddce95a5d3b4924e257bc166e1a1ca779dd9fb1d8e52d7a17a37ae73a596f3b5f4ed98c5b SHA512 e907c96e7f1c7a3497f8726176b1fad9e93050b7b5f30900a634d253c4c5c822c8d729b22b36fa00d5bb2be0834f6c683d47db8c22077fbb191e38ae67e12119 -DIST dotnet-sdk-7.0.200-linux-x64.tar.gz 197802070 BLAKE2B 100af2f1e3fda195542f383a449473b1e52a7c5c1ff40b3ee666305a883885e1440996be7e588d8ccad44702917cf8d5e87900a59d80b8a43f9ba76a8e602927 SHA512
[gentoo-dev] [PATCH 5/7] app-eselect/eselect-dotnet: new package
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- app-eselect/eselect-dotnet/Manifest | 1 + .../eselect-dotnet-0.1.0.ebuild | 25 +++ app-eselect/eselect-dotnet/metadata.xml | 9 +++ 3 files changed, 35 insertions(+) create mode 100644 app-eselect/eselect-dotnet/Manifest create mode 100644 app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild create mode 100644 app-eselect/eselect-dotnet/metadata.xml diff --git a/app-eselect/eselect-dotnet/Manifest b/app-eselect/eselect-dotnet/Manifest new file mode 100644 index 00..9cf36cadf1 --- /dev/null +++ b/app-eselect/eselect-dotnet/Manifest @@ -0,0 +1 @@ +DIST eselect-dotnet-0.1.0.tar.bz2 7788 BLAKE2B 141e5a2fc765454682de60a6a337d6634766b4dd76f218606e2f4eb18960fdcf8940b954deda2fb6b0903f72b161513936c1d767210883316c32200704188945 SHA512 879281019d1e4a8a5ee3d3e6b6de3446ba573d253a5b3b0c59aa9faffcd6eb4382066e1752e18cb4e48c3e14340a278b2189c2674b1baa258ceb3980d13a diff --git a/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild b/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild new file mode 100644 index 00..3923b1a5a3 --- /dev/null +++ b/app-eselect/eselect-dotnet/eselect-dotnet-0.1.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Eselect module for management of multiple dotnet versions" +HOMEPAGE="https://gitlab.gentoo.org/dotnet/eselect-dotnet/"; + +if [[ ${PV} == ** ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gentoo.org/dotnet/${PN}.git"; +else + SRC_URI="https://gitlab.gentoo.org/dotnet/${PN}/-/archive/${PV}/${P}.tar.bz2"; + KEYWORDS="~amd64 ~arm ~arm64" +fi + +LICENSE="GPL-2+" +SLOT="0" + +RDEPEND="app-admin/eselect" + +src_install() { + insinto /usr/share/eselect/modules + doins dotnet.eselect +} diff --git a/app-eselect/eselect-dotnet/metadata.xml b/app-eselect/eselect-dotnet/metadata.xml new file mode 100644 index 00..08bae967b8 --- /dev/null +++ b/app-eselect/eselect-dotnet/metadata.xml @@ -0,0 +1,9 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + +dot...@gentoo.org +Gentoo Dotnet Project + + -- 2.41.0
[gentoo-dev] [PATCH 4/7] dev-dotnet/dotnet-runtime-nugets: new package
Bug: https://bugs.gentoo.org/900597 Bug: https://github.com/gentoo/gentoo/pull/29309 Signed-off-by: Maciej Barć --- dev-dotnet/dotnet-runtime-nugets/Manifest | 117 ++ .../dotnet-runtime-nugets-3.1.32.ebuild | 45 +++ .../dotnet-runtime-nugets-6.0.12.ebuild | 48 +++ .../dotnet-runtime-nugets-6.0.14.ebuild | 48 +++ .../dotnet-runtime-nugets-6.0.16.ebuild | 48 +++ .../dotnet-runtime-nugets-7.0.3.ebuild| 48 +++ .../dotnet-runtime-nugets-7.0.5.ebuild| 48 +++ dev-dotnet/dotnet-runtime-nugets/metadata.xml | 9 ++ 8 files changed, 411 insertions(+) create mode 100644 dev-dotnet/dotnet-runtime-nugets/Manifest create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-3.1.32.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.12.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.14.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-6.0.16.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-7.0.3.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/dotnet-runtime-nugets-7.0.5.ebuild create mode 100644 dev-dotnet/dotnet-runtime-nugets/metadata.xml diff --git a/dev-dotnet/dotnet-runtime-nugets/Manifest b/dev-dotnet/dotnet-runtime-nugets/Manifest new file mode 100644 index 00..8b2278ec5b --- /dev/null +++ b/dev-dotnet/dotnet-runtime-nugets/Manifest @@ -0,0 +1,117 @@ +DIST microsoft.aspnetcore.app.ref.3.1.10.nupkg 2535203 BLAKE2B de332022234864a337f7430966fa98dad3cde28f3a5bc049365636855b51054e4a3d452474a61c4df647c9f6eb33db80c155d442c5df41770d93e25b2dabe852 +DIST microsoft.aspnetcore.app.ref.6.0.12.nupkg 3341830 BLAKE2B 460b1f8a5bb4a49b494f8582c8f06792b48d1e5f24d990456c4510189881cb995d9cf0de0f4a464105a3dce0a59e9efd7c6a73aaad95d83518cbd595df8b7014 +DIST microsoft.aspnetcore.app.ref.6.0.14.nupkg 3340852 BLAKE2B 8481d2ec13e937c24335fbb7480941fd2679d3dfa2f5f2245bce48c9be04050c5dde9f2ec9e54625f1306d68223a5b953ae6d779335990cba244217ec0a44659 +DIST microsoft.aspnetcore.app.ref.6.0.16.nupkg 3341587 BLAKE2B 4a3588d50412a0659b9776482e494055a5b476dfd8748c8455777e068e6f86a58349c069f8f3288c088dd52b7d1f219fce520f40d5ee952eb3249bef3be89c46 SHA512 7b994bf1cf10a2b9c24f333046adbd78a14a5a969d1c235cb23ac93af51d1fe6a01304b61983b00bea9eb4c772bf6c9439f95d40d1db0f09c10d141bbe068cf2 +DIST microsoft.aspnetcore.app.ref.7.0.3.nupkg 3557271 BLAKE2B aec4693047178e484c75775975e5eb7501a8f72c6adbab90206c7fb357f5e28fe1ed1955db323180e8067302851c21b722b05d4edc1a81a14ed8124f5b712d1b +DIST microsoft.aspnetcore.app.ref.7.0.5.nupkg 306 BLAKE2B 6cc7ea23b65e6416f8394af50fca31803c760a4ecef080c64fc2fb0d938161a45707497d66147b2ce4398ca3b0e1796d33e84b852d4e5c1b8db3218b04932218 SHA512 1f7952a5ea05cd8c68b215a8025c11ee97639e4f523943b7d32256390184ab9cac81598965da76ec5a3fc1af1c3077b440b7f198bf483badb409312d00cd0e80 +DIST microsoft.aspnetcore.app.runtime.linux-arm.3.1.32.nupkg 9422779 BLAKE2B 1fc5426e790842ad03ee9dadd62447c59cbb6cc462acfda2d3688e75c68581f478a69a2f5b3b2648b17e8a637f89f7fc45b0ef09423d8a3ae8bc8dfa4870b5ce +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.12.nupkg 10095058 BLAKE2B abd9ac8ed867b2e2e827e8c80dd0d8303262daf9076e80892caac268cc54656982a0b3ad67877e8a7c845ec3f6638f3122a25340609d5a34580de03be23c0f9c +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.14.nupkg 10095297 BLAKE2B 4af3698eeda253c2eb5e90aae464ef496c8ccffcae201b2f8dc3e9695cb4ee2cd00a270f6e48871c8378ebb4182b7ca25eda957df036611194e572453b898690 +DIST microsoft.aspnetcore.app.runtime.linux-arm.6.0.16.nupkg 10095817 BLAKE2B 939b1f0008af535aede118ee5e4559e3fcafdc39c392f41f80ed0200420495137d3d6049fd305c1baed4c605c1ead4a7adb9a629f4c242b8dd3363517c9bb23b SHA512 40dfef2423b5a8cd8ec6ba97bc2e6e6e121664809499540f9f77b4766f49655990056b546d8ff1027dcec84007a4c8144cf7a50de0722be65d61aeec09fe1bb5 +DIST microsoft.aspnetcore.app.runtime.linux-arm.7.0.3.nupkg 10803489 BLAKE2B 2f5c1cccd718ad00d851ae7482402fd059145ac963ba611a884e757219bade0184c37db6badf5d3aa9a76df75b9d194568203d9105e673e08a0db22d9d2f62b7 SHA512 af20c42549dcf7f25a2046aa6ef071d0231c554e0b5c5a357207fc708384d46a1d57e6f2e054a4eddeb2f04fe64d7ef3c9974fc50878d6e3ae018b0f735cd141 +DIST microsoft.aspnetcore.app.runtime.linux-arm.7.0.5.nupkg 10806144 BLAKE2B c2305cde423b51359ca4ecaec6925ff4afd378b992d775ee89598543da4ae530d5ce533e22cddebded18509653e886b97d33269e8d2bb79ad81ba2e79f895212 SHA512 2ba63d7eea0758fc109f947e687e6265089c4c7a6f3dc44cee269139cd5171e027125afacf5bc9d21c63292b9419d776b513149547efeb6acbb6c31f37ededc3 +DIST microsoft.aspnetcore.app.runtime.linux-arm64.3.1.32.nupkg 8938556 BLAKE2B 16dca004bfe9741ab542e3ac1155a587750ebf6d128ac981e60f190ce2375891dd50fb5c186f50aadd9b67690477e5de41215661fc2d8b215f1bb4664de11770 +DIST microsoft.aspnetcore.app.runtime.linux-arm64.6.0.12.nupkg 9864158 BLAKE2B
[gentoo-dev] New .NET ecosystem fixes are coming to Gentoo soon (TM)
This month I want to submit 1st bunch of patches for review that modernize how we build Dotnet pkgs in Gentoo. I will hopefully send them this weekend. From-source build of dotnet-sdk is not critical and also needs work, so that this part will not be included in this "merge". For those interested, see: - https://bugs.gentoo.org/900597 - https://gitlab.gentoo.org/dotnet/gentoo-dotnet-2023 -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] www-client/chromium needs a new maintainer
I think Google does all this intentionally to piss off people trying to use the "free-er" version of Chrome... let's face it, "their" aim is to create a one-fits-all spyware named Google Chrome. Google does not want you to touch their mess. Google does not want you to even think about going a extra mile to not have telemetry in software you use every day. Having said all this, it really is a miracle to me that the Gentoo Chromium team had put up with this for so insanely long and I have the most respect for you guys! W dniu 7.06.2023 o 19:45, Mike Gilbert pisze: On Wed, Jun 7, 2023 at 9:09 AM Jeff Gazso wrote: I'm in the process of getting Gentoo dev status. I'm willing to consider maintaining www-client/chromium. I have a high core count rack server that should be able to handle the build process quite well. Can you give me a list of common pain points? If that is a long conversation feel free to email me directly. I'll start by giving a brief overview of the Chromium release process upstream: - 3 release channels: stable, beta, dev/unstable - Major development occurs on the master branch. - Once a month, a new major version is forked from master, and this becomes the "dev channel" release series. - Over the next several weeks in the dev channel the major version is tested and fixed, with releases roughly once per week. - Eventually, the branch is promoted to the "beta channel". - A similar process occurs in the beta channel, with weekly releases until the major version is finally promoted to the "stable channel". - The stable channel sees around 1 to 2 releases per month, usually with security fixes included. Downstream, we have historically tried to keep up with all 3 channels. Keeping the dev channel working is the biggest challenge. The other channels usually just involve build testing and the occasional backport of fixes. Common problems: - Across the 3 channels, you are looking at roughly 12 releases per month. That's a lot of churn. - The dev channel never compiles the first time you try it. There are always problems to fix. - Upstream only really supports using their bundled toolchain (an LLVM git snapshot on Ubuntu). On Gentoo, we try to make it work with the stable release of GCC and LLVM/clang. - Upstream likes to use modern C++ features, and they write C++ code that tends to break or is unsupported on stable releases of GCC and LLVM. - Upstream bundles many libraries. The Gentoo ebuild has some logic to unbundle a number of these, but maintaining it is a pain. - Using the bundled libraries sometimes is problematic, especially on non-x86-64 targets which upstream doesn't support well. - Upstream cross-compiles their ARM binaries, whereas we compile natively on Gentoo. This sometimes causes conflicts. I'm probably missing some things, but I think that should give you some idea of what you're in for. :-) -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Last rites: www-client/chromium-bin
James you either got into my localnet or you are reading my mind. That's what I swapped chromium-bin for. This is because I need to test some stuff on Chromium based-browser(s) specifically. W dniu 4.05.2023 o 23:06, James Le Cuirot pisze: On May 4, 2023 6:38:32 PM UTC, Mike Gilbert wrote: # Out of date by several versions. Many unresolved security # vulnerabilities. Lack of manpower/interest in keeping it up to date. # Removal on 2023-06-03. www-client/chromium-bin On Thu, 2023-05-04 at 18:59 +0000, Maciej Barć wrote: R.i.p. to a lot od desktop users on non-state-of-the-art HW. But chromium source build was unusable for long time with big UI bugs. Those affected can try www-client/vivaldi instead. If you're unaware, it's based on Chromium. It's also a binary package, I keep it well-maintained, and if you ask me, it's just better all round. :) -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Last rites: www-client/chromium-bin
R.i.p. to a lot od desktop users on non-state-of-the-art HW. But chromium source build was unusable for long time with big UI bugs. On May 4, 2023 6:38:32 PM UTC, Mike Gilbert wrote: ># Out of date by several versions. Many unresolved security ># vulnerabilities. Lack of manpower/interest in keeping it up to date. ># Removal on 2023-06-03. >www-client/chromium-bin >
Re: [gentoo-dev] Portage and languages with built-in cache support
You would also have to have correct permissions on cache dirs (root:portage or portage:portage) this also means that the cache dir will have to be set during build explicitly. Do both Nim and Go support setting it? W dniu 25.04.2023 o 10:07, Anna (cybertailor) Vyalkova pisze: Hello, Portage can use ccache and sccache to speed up builds, but some languages (like Go and Nim) support caches out-of-the-box. It's not fair that we can't use them. I'd like to start discussion on this topic. What should be the preferred method of handling build caches? I think adding more stuff to Portage is a bad idea, and caches should be handled by corresponding "${lang}-utils" eclasses. It can be as simple as checking some variable, passing necessary flags and placing a couple of 'addwrite' calls for sandbox. Of course, such feature needs to be strictly opt-in. -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH 9/9] app-emacs/a: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/a/a-1.0.0.ebuild | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app-emacs/a/a-1.0.0.ebuild b/app-emacs/a/a-1.0.0.ebuild index 7a5f15b83..fcf2484bd 100644 --- a/app-emacs/a/a-1.0.0.ebuild +++ b/app-emacs/a/a-1.0.0.ebuild @@ -14,14 +14,8 @@ S="${WORKDIR}"/a.el-${PV} LICENSE="GPL-3+" KEYWORDS="~amd64 ~x86" SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( app-emacs/ert-runner )" DOCS=( CHANGELOG.md README.md ) SITEFILE="50${PN}-gentoo.el" -src_test() { - ert-runner -L . -L test --reporter ert+duration --script test || die -} +elisp-enable-tests ert-runner test -- 2.39.2
[gentoo-dev] [PATCH 8/9] app-emacs/typescript-mode: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/typescript-mode/typescript-mode-0.4.ebuild | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app-emacs/typescript-mode/typescript-mode-0.4.ebuild b/app-emacs/typescript-mode/typescript-mode-0.4.ebuild index 901e8cfee..9adf1b44f 100644 --- a/app-emacs/typescript-mode/typescript-mode-0.4.ebuild +++ b/app-emacs/typescript-mode/typescript-mode-0.4.ebuild @@ -16,15 +16,12 @@ KEYWORDS="~amd64 ~x86" SITEFILE="50${PN}-gentoo.el" +elisp-enable-tests ert "${S}" -l typescript-mode-tests.el + src_compile() { elisp-compile ${PN}.el } -src_test() { - ${EMACS} ${EMACSFLAGS} -L . -l typescript-mode-tests.el \ --f ert-run-tests-batch-and-exit || die -} - src_install() { elisp-install ${PN} ${PN}.el{,c} elisp-site-file-install "${FILESDIR}/${SITEFILE}" -- 2.39.2
[gentoo-dev] [PATCH 7/9] app-emacs/doom-modeline: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/doom-modeline/doom-modeline-3.3.2.ebuild | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/app-emacs/doom-modeline/doom-modeline-3.3.2.ebuild b/app-emacs/doom-modeline/doom-modeline-3.3.2.ebuild index 3c29bcf81..674028756 100644 --- a/app-emacs/doom-modeline/doom-modeline-3.3.2.ebuild +++ b/app-emacs/doom-modeline/doom-modeline-3.3.2.ebuild @@ -25,15 +25,9 @@ RDEPEND=" " BDEPEND="${RDEPEND}" +elisp-enable-tests ert test + src_compile() { elisp_src_compile elisp-make-autoload-file } - -src_test() { - ${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} \ - -L . -L test\ - -l test/${PN}-core-test.el \ - -l test/${PN}-env-test.el \ - -f ert-run-tests-batch-and-exit || die "tests failed" -} -- 2.39.2
[gentoo-dev] [PATCH 6/9] app-emacs/bnf-mode: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild | 13 ++--- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild b/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild index 32d732fa6..e3760e5fa 100644 --- a/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild +++ b/app-emacs/bnf-mode/bnf-mode-0.4.5.ebuild @@ -13,20 +13,11 @@ SRC_URI="https://github.com/sergeyklay/${PN}/archive/${PV}.tar.gz LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" -BDEPEND=" - test? ( - app-emacs/buttercup - app-emacs/undercover - ) -" +BDEPEND="test? ( app-emacs/undercover )" DOCS=( NEWS README.org ) ELISP_TEXINFO="bnf-mode.texi" SITEFILE="50${PN}-gentoo.el" -src_test() { - buttercup -L . -L test --traceback full || die -} +elisp-enable-tests buttercup test -- 2.39.2
[gentoo-dev] [PATCH 5/9] app-emacs/php-mode: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/php-mode/php-mode-1.24.3.ebuild | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app-emacs/php-mode/php-mode-1.24.3.ebuild b/app-emacs/php-mode/php-mode-1.24.3.ebuild index 3b027aa01..66ad92fae 100644 --- a/app-emacs/php-mode/php-mode-1.24.3.ebuild +++ b/app-emacs/php-mode/php-mode-1.24.3.ebuild @@ -18,8 +18,10 @@ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos" DOCS=( ../AUTHORS.md ../CHANGELOG.md ../CONTRIBUTING.md ../README{,.ja}.md ../docs ) SITEFILE="50${PN}-gentoo.el" +elisp-enable-tests ert "${S}" -L ../tests -l ../tests/php-mode-test.el + src_test() { touch ../tests/project/1/.git || die - ${EMACS} ${EMACSFLAGS} -L . -L ../tests -l ../tests/php-mode-test.el \ - -f ert-run-tests-batch-and-exit || die "tests run failed" + + elisp_src_test } -- 2.39.2
[gentoo-dev] [PATCH 4/9] app-emacs/lsp-mode: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/lsp-mode/lsp-mode-8.0.0_p20220620.ebuild | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/app-emacs/lsp-mode/lsp-mode-8.0.0_p20220620.ebuild b/app-emacs/lsp-mode/lsp-mode-8.0.0_p20220620.ebuild index 2855d703f..8b7c6ad12 100644 --- a/app-emacs/lsp-mode/lsp-mode-8.0.0_p20220620.ebuild +++ b/app-emacs/lsp-mode/lsp-mode-8.0.0_p20220620.ebuild @@ -16,8 +16,6 @@ S="${WORKDIR}"/${PN}-${COMMIT} LICENSE="GPL-3+" KEYWORDS="amd64" SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" RDEPEND=" >=app-emacs/dash-2.18.0 @@ -33,7 +31,6 @@ BDEPEND=" app-emacs/deferred app-emacs/ecukes app-emacs/el-mock - app-emacs/ert-runner app-emacs/espuds app-emacs/flycheck app-emacs/undercover @@ -46,15 +43,13 @@ ELISP_REMOVE="test/lsp-clangd-test.el test/lsp-common-test.el test/lsp-integration-test.el" # Remove failing tests SITEFILE="50${PN}-gentoo.el" +elisp-enable-tests ert-runner "${S}" -t "!no-win" -t "!org" + src_compile() { elisp_src_compile elisp-compile clients/*.el } -src_test() { - ert-runner -L clients --reporter ert+duration -t "!no-win" -t "!org" || die -} - src_install() { elisp_src_install elisp-install ${PN}/clients clients/* -- 2.39.2
[gentoo-dev] [PATCH 3/9] app-emacs/fsharp-mode: use elisp-enable-tests
Signed-off-by: Maciej Barć --- app-emacs/fsharp-mode/fsharp-mode-2.0.ebuild | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app-emacs/fsharp-mode/fsharp-mode-2.0.ebuild b/app-emacs/fsharp-mode/fsharp-mode-2.0.ebuild index 045c0e44c..dab6caca9 100644 --- a/app-emacs/fsharp-mode/fsharp-mode-2.0.ebuild +++ b/app-emacs/fsharp-mode/fsharp-mode-2.0.ebuild @@ -14,15 +14,9 @@ S="${WORKDIR}"/emacs-${P} LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND="test? ( app-emacs/buttercup )" DOCS=( CHANGELOG.md README.org ) ELISP_REMOVE="eglot-fsharp.el test/integration-tests.el" SITEFILE="50${PN}-gentoo.el" -src_test() { - buttercup -L . -L test --traceback full || die -} +elisp-enable-tests buttercup test -- 2.39.2
[gentoo-dev] [PATCH 2/9] eclass/elisp.eclass: add elisp_src_test
Signed-off-by: Maciej Barć --- eclass/elisp.eclass | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass index 192f27384..1ac1a2dbf 100644 --- a/eclass/elisp.eclass +++ b/eclass/elisp.eclass @@ -9,6 +9,7 @@ # Jeremy Maitin-Shepard # Christian Faulhammer # Ulrich Müller +# Maciej Barć # @SUPPORTED_EAPIS: 7 8 # @PROVIDES: elisp-common # @BLURB: Eclass for Emacs Lisp packages @@ -142,6 +143,19 @@ elisp_src_compile() { fi } +# @FUNCTION: elisp_src_test +# @DESCRIPTION: +# Call "elisp-test" to test the package if "elisp-enable-tests" was called +# beforehand, otherwise execute the default test function - "src_test". + +elisp_src_test() { + if [[ ${_ELISP_TEST_FUNCTION} ]]; then + elisp-test + else + default_src_test + fi +} + # @FUNCTION: elisp_src_install # @DESCRIPTION: # Call elisp-install to install all Emacs Lisp (*.el and *.elc) files. @@ -187,5 +201,5 @@ elisp_pkg_postrm() { elisp-site-regen } -EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \ +EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,test,install} \ pkg_{setup,postinst,postrm} -- 2.39.2
[gentoo-dev] [PATCH 1/9] eclass/elisp-common.eclass: add elisp-enable-tests and elisp-test
Signed-off-by: Maciej Barć --- eclass/elisp-common.eclass | 200 + 1 file changed, 200 insertions(+) diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index 004db173f..0462f022d 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -10,6 +10,7 @@ # Mamoru Komachi # Christian Faulhammer # Ulrich Müller +# Maciej Barć # @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Emacs-related installation utilities # @DESCRIPTION: @@ -337,6 +338,205 @@ elisp-make-autoload-file() { eend $? "elisp-make-autoload-file: batch-update-autoloads failed" || die } +# @FUNCTION: elisp-test-buttercup +# @USAGE: [test-subdirectory] [test-runner-opts] ... +# @DESCRIPTION: +# Run ELisp package tests using the "buttercup" test runner. +# +# The option "test-subdirectory" may be given any number of times, it should +# be given as though it was passed to Emacs or the test tool, not as a string. +# +# The options "test-subdirectory" and "test-runner-opts" are optional, +# but if "test-runner-opts" needs to be provided also "test-subdirectory" has +# to be specified. + +elisp-test-buttercup() { + debug-print-function ${FUNCNAME} "$@" + + local test_dir="${1:-$(pwd)}" + shift + + local -a myopts=( + ${BYTECOMPFLAGS} + -L "${test_dir}" + --traceback full + "$@" + ) + ebegin "Running buttercup tests" + buttercup "${myopts[@]}" "${test_dir}" + eend $? "${FUNCNAME}: tests failed" || die +} + +# @FUNCTION: elisp-test-ert-runner +# @USAGE: [test-subdirectory] [test-runner-opts] ... +# @DESCRIPTION: +# Run ELisp package tests using the "ert-runner" test runner. +# +# The option "test-subdirectory" may be given any number of times, it should +# be given as though it was passed to Emacs or the test tool, not as a string. +# +# The options "test-subdirectory" and "test-runner-opts" are optional, +# but if "test-runner-opts" needs to be provided also "test-subdirectory" has +# to be specified. + +elisp-test-ert-runner() { + debug-print-function ${FUNCNAME} "$@" + + local test_dir="${1:-$(pwd)}" + shift + + local -a myopts=( + ${BYTECOMPFLAGS} + --reporter ert+duration + --script + -L "${test_dir}" + "$@" + ) + ebegin "Running ert-runner tests" + ert-runner "${myopts[@]}" "${test_dir}" + eend $? "${FUNCNAME}: tests failed" || die +} + +# @FUNCTION: elisp-test-ert +# @USAGE: [test-subdirectory] [test-runner-opts] ... +# @DESCRIPTION: +# Run ELisp package tests using "ert", the Emacs's built-in test runner. +# +# The option "test-subdirectory" may be given any number of times, it should +# be given as though it was passed to Emacs or the test tool, not as a string. +# +# The options "test-subdirectory" and "test-runner-opts" are optional, +# but if "test-runner-opts" needs to be provided also "test-subdirectory" has +# to be specified. + +elisp-test-ert() { + debug-print-function ${FUNCNAME} "$@" + + local test_dir="${1:-$(pwd)}" + shift + + local -a extra_load=() + local extra_load_file + for extra_load_file in "${test_dir}"/?*-test.el; do + if [[ -f "${extra_load_file}" ]]; then + extra_load+=( -l "${extra_load_file}" ) + fi + done + + local -a myopts=( + ${EMACSFLAGS} + ${BYTECOMPFLAGS} + -L "${test_dir}" + "${extra_load[@]}" + "$@" + -f ert-run-tests-batch-and-exit + ) + ebegin "Running ert tests" + ${EMACS} "${myopts[@]}" + eend $? "${FUNCNAME}: tests failed" || die +} + +# @FUNCTION: elisp-enable-tests +# @USAGE: [--optional] [test-runner-options] ... +# @DESCRIPTION: +# Set up IUSE, RESTRICT, BDEPEND and test runner function for running tests +# with the specified test runner. +# +# The test-runner argument must be one of: +# +# - buttercup: for "buttercup" provided via "app-emacs/buttercup" +# +# - ert-runner: for "ert-runner" provided via "app-emacs/ert-runner" +# +# - ert: for built-in GNU Emacs test utility +# +# If the "--optional" flag is passed (before specifying the test runner), +# then it is assumed that the ELisp package is a part of some project that +# optionally enables GNU Emacs support. +# This will correctly set up
Re: [gentoo-dev] [PATCH] .editorconfig: add
Finally, +1 from me. I think I had proposed either ".dir-locals.el" or ".editorconfig" for ::guru which was rejected because "users should configure this themselves". Reviewing the given configuration I think the only one variable that can be moved to top ("[*]" section) is "charset = utf-8". Rest could break files from FILESDIR, especially for .NET packages. Additionally, I think the format should be "strongly" defines so I would also add the "tab_width = 4". Btw if we could prevent tab+space mixing (from start of the line) with editorconfig that would be great. Currently I have to manually adjust sh-mode's indentation and I can not just mark whole buffer and press TAB to adjust indents. W dniu 24.03.2023 o 03:14, Sam James pisze: This allows conveniently editing ebuilds and eclasses in editors which don't have a specific ebuild mode like Emacs and Vim do. For example, kde-apps/kate with kde-frameworks/ktexteditor[editorconfig] can automatically read this file and adjust settings appropriately. It's possible that going forward we may want to have pkgdev support custom keys in this file for e.g. copyright year mangling too. Signed-off-by: Sam James --- .editorconfig | 8 1 file changed, 8 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index ..94d5c584f580 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*.{ebuild,eclass}] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = tab +trim_trailing_whitespace = true -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (dotnet, emacs, math, ml, nim, scheme, sci) https://wiki.gentoo.org/wiki/User:Xgqt 9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] New pre-GLEP: TEST_SUITE_PRESENT variable
What if developer configured an ebuild in a way that it downloads the test suite/files/data with USE=test? IMO it should be added to the GLEP that then TEST_SUITE_PRESENT should be true (exists). W dniu 19.02.2023 o 18:32, Michał Górny pisze: Signed-off-by: Michał Górny --- glep-.ebuild | 132 +++ 1 file changed, 132 insertions(+) create mode 100644 glep-.ebuild diff --git a/glep-.ebuild b/glep-.ebuild new file mode 100644 index 000..9ee18ca --- /dev/null +++ b/glep-.ebuild @@ -0,0 +1,132 @@ +--- +GLEP: +Title: TEST_SUITE_PRESENT variable +Author: Michał Górny +Type: Standards Track +Status: Draft +Version: 1 +Created: 2023-02-19 +Last-Modified: 2023-02-19 +Post-History: 2023-02-19 +Content-Type: text/x-rst +--- + + +Abstract + + +A new ``TEST_SUITE_PRESENT`` variable is introduced to indicate whether +the package features a test suite. It can be set either by the ebuild, +the eclass or the default ``src_test`` implementation, and afterwards +included in the package manager logs. This can aid in analyzing +the results of automated package testing. + + +Motivation +== + +The deployment of new Python targets in Gentoo currently involves +testing of a large number of Gentoo packages against the said target. +This is currently done manually for the most part. It can be +particularly time consuming if multiple individuals repeatedly test +the same package only to determine that it remains incompatible with +the new interpreter. + +The Python team wanted to explore the use of automation to aid this +testing. Unfortunately, this faces a major problem: for the vast +of majority of packages, the incompatibilities with new Python versions +do not exhibit during the installation and can only be detected through +running the test suite. The results of automated testing are therefore +only meaningful if the package features a test phase. + +For packages using ``distutils-r1`` eclass, the presence of test suite +can usually be easily determined through grepping for +``distutils_enable_tests`` call or an explicit ``python_test()`` +function. Even then, it seems sensible to work towards a more generic +approach to tell whether a package had a test suite or not, +and therefore whether a particular successful automated testing result +means that the package actually passed tests or only confirmed that +the Python files were copied successfully. + +An explicit indication whether a test suite was present can be presented +by the package manager as part of logs, along with the result of running +the test phase. Afterwards, these logs can be used to determine which +packages were actually tested. + + +Specification += + +A new ``TEST_SUITE_PRESENT`` variable is introduced that can be set +by a ``src_test()`` implementation to indicate whether the package +featured a test suite. It can take three values: + +- ``yes`` indicating that a test suite was run +- ``indeterminate`` indicating that it was not possible to clearly + determine whether the test suite was present or not (this could be + a case e.g. when a generic test command is run and it does not + indicate whether any tests were found) +- ``no`` indicating that no test suite was run + +This variable *should* be set by eclasses defining the ``src_test()`` +phase. If the package in question is using ``src_test()`` defined +by an eclass that does not declare it explicitly, the PM must assume +``indeterminate``. + +The variable *may* be set by an ebuild defining the ``src_test()`` +phase. If the ebuild does not define it explicitly, the PM must assume +``yes``. + +The default ``src_test()`` implementation as defined by the PMS sets +the value to ``indeterminate`` if it runs a ``check`` or ``test`` +target, and to ``no`` if neither of the targets is found. + + +Rationale += + +The use of ternary flag makes it possible to clearly represent all three +possible outcomes while navigating the defaults defined in the GLEP. +The flag is set in ``src_test()``, so that runtime conditions (such +as the results obtained from the actual test runner) can be used to +determine the actual value. + +The defaults were defined based on the following assumptions: + +1. The presence of ``check`` target is common in autotools projects but + it does not guarantee that the target actually does anything, let + alone run a proper test suite. However, the lack of any test target + clearly indicates that no tests were run. + +2. Eclass ``src_test`` implementations can be very generic and succeed + without actually performing any testing. It is therefore reasonable + to default to ``indeterminate`` result when they are used, + and recommend them to explicitly override the variable. + +3. Explicit ``src_test`` declared in ebuild can generally be assumed + to actually run tests, with the exception of declaring the function + to prevent ``default_src_test`
[gentoo-dev] [RFC] Gentoo Dotnet Project - 2nd resurrection
Hello! I have re-created the Gentoo Dotnet Project, it will maintain the dev-dotnet (SDK) packages and some packages depending on the dotnet SDK. New project aim is strictly the new dotnet-sdk, I am not interested in maintaining legacy dotnet eclasses and mono. Wiki page: https://wiki.gentoo.org/wiki/Project:Dotnet -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (emacs, math, ml, scheme, sci) OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [RFC] Gentoo Nim Project
Hello! I have created the Gentoo Nim Project, it will maintain the dev-lang/nim package in ::gentoo and hopefully dev-nim pkg category in the future. Wiki page: https://wiki.gentoo.org/wiki/Project:Nim -- Have a great day! ~ Maciej XGQT Barć x...@gentoo.org Gentoo Linux developer (emacs, math, ml, scheme, sci) OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Re: Packages up for grabs: sys-apps/bat, app-misc/physlock, dev-lang/crystal, dev-util/shards
dev-lang/crystal dev-util/shards Added myself as maint to both of those (and bumped them). On 2/11/23 22:48, Maciej Barć wrote: These packages are only used in ::guru, so they could be moved there. I think regular mask-remove process should apply. I am interested in crystal and might pick it up. Co-maints welcome! :^) On 2/11/23 20:01, Anna (cybertailor) Vyalkova wrote: dev-lang/crystal dev-util/shards These packages are only used in ::guru, so they could be moved there. -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Re: Packages up for grabs: sys-apps/bat, app-misc/physlock, dev-lang/crystal, dev-util/shards
These packages are only used in ::guru, so they could be moved there. I think regular mask-remove process should apply. I am interested in crystal and might pick it up. Co-maints welcome! :^) On 2/11/23 20:01, Anna (cybertailor) Vyalkova wrote: dev-lang/crystal dev-util/shards These packages are only used in ::guru, so they could be moved there. -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] RFC: new gradle.eclass
Hallelujah! Finally support for Gradle! Thank you so much for taking time to implement it! On 1/6/23 18:20, Florian Schmaus wrote: Happy new year everyone! I'd like to as for a review of an initial eclass for gradle. This is my first eclass, so I am sure there is plenty to find. ;) The related github PR is https://github.com/gentoo/gentoo/pull/28986 - Flow -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH] eclass/dune.eclass: introduce edune and dune-compile (v3)
edune is a thin wrapper for dune, which will help to run special, uncommon dune commands; dune-compile is a function to selectively pick which packages will be compiled "for-release" (as dune call it); dune-compile without any arguments replaces the current dune_src_compile Signed-off-by: Maciej Barć --- eclass/dune.eclass | 114 - 1 file changed, 103 insertions(+), 11 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 4bc73eda8..655a41be8 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dune.eclass @@ -29,7 +29,7 @@ _DUNE_ECLASS=1 # Set before inheriting the eclass. : ${DUNE_PKG_NAME:=${PN}} -inherit multiprocessing +inherit edo multiprocessing # Do not complain about CFLAGS etc since ml projects do not use them. QA_FLAGS_IGNORED='.*' @@ -44,16 +44,108 @@ BDEPEND=" dev-ml/dune " +# @FUNCTION: edune +# @USAGE: ... +# @DESCRIPTION: +# A thin wrapper for the `dune` command. +# Runs `dune` with given arguments and dies on failure. +# +# Example use: +# @CODE +# edune clean +# @CODE +edune() { + debug-print-function ${FUNCNAME} "${@}" + + edo dune "${@}" +} + +# @FUNCTION: dune-release +# @USAGE: [--target target] [package] ... +# @DESCRIPTION: +# Run a selected subcommand for either all of dune packages in current +# directory or only the selected packages. In case of all packages the package +# detection is done via dune itself. +# The `--target` option specifies a target for the selected subcommand, +# it is primarily used for `dune build`, for more info see `man dune-build`. +# +# Example use: +# @CODE +# dune-release build --target @install menhir menhirLib menhirSdk +# @CODE +dune-release() { + debug-print-function ${FUNCNAME} "${@}" + + local subcommand + local target + + # Get the subcommand. + if [[ -z "${1}" ]] ; then + die "dune-release: missing subcommand" + else + subcommand="${1}" + shift + fi + + # Detect if the target is specified. + case "${1}" in + --target ) + target="${2}" + shift + shift + ;; + esac + + local -a myduneopts=( + --display=short + --profile release + -j $(makeopts_jobs) + ) + + # Resolve the package flag. + if [[ -n "${1}" ]] ; then + myduneopts+=( --for-release-of-packages="$(IFS="," ; echo "${*}")" ) + fi + + edune ${subcommand} ${target} "${myduneopts[@]}" +} + +# @FUNCTION: dune-compile +# @USAGE: [package] ... +# @DESCRIPTION: +# Builds either all of or selected dune packages in current directory. +# +# Example use: +# @CODE +# dune-compile menhir menhirLib menhirSdk +# @CODE +dune-compile() { + debug-print-function ${FUNCNAME} "${@}" + + dune-release build --target @install "${@}" +} + +# @FUNCTION: dune-test +# @USAGE: [package] ... +# @DESCRIPTION: +# Tests either all of or selected dune packages in current directory. +# +# Example use: +# @CODE +# dune-test menhir menhirLib menhirSdk +# @CODE +dune-test() { + debug-print-function ${FUNCNAME} "${@}" + + dune-release runtest "${@}" +} + dune_src_compile() { - ebegin "Building" - dune build @install -j $(makeopts_jobs) --profile release - eend $? || die + dune-compile } dune_src_test() { - ebegin "Testing" - dune runtest -j $(makeopts_jobs) --profile release - eend $? || die + dune-test } # @FUNCTION: dune-install @@ -67,6 +159,8 @@ dune_src_test() { # dune-install menhir menhirLib menhirSdk # @CODE dune-install() { + debug-print-function ${FUNCNAME} "${@}" + local -a pkgs=( "${@}" ) [[ ${#pkgs[@]} -eq 0 ]] && pkgs=( "${DUNE_PKG_NAME}" ) @@ -79,9 +173,7 @@ dune-install() { local pkg for pkg in "${pkgs[@]}" ; do - ebegin "Installing ${pkg}" - dune install ${myduneopts[@]} ${pkg} - eend $? || die + edune install ${myduneopts[@]} ${pkg} # Move docs to the appropriate place. if [[ -d "${ED}/usr/doc/${pkg}" ]] ; then -- 2.38.2
Re: [gentoo-dev] [PATCH] eclass/dune.eclass: introduce edune and dune-compile (v2)
It appears there is additional output between the ebegin / eend. You may want to consider dropping ebegin and eend. In general, the pattern ebegin, edo, eend should probably be avoided. I would like to keep the "Building ... [ OK ]" (made by ebegin) output as it was before the change. I think other ML team members could state their opinions, so please do say how we want to log the build/test/install. On 1/3/23 07:55, Florian Schmaus wrote: On 03/01/2023 00.19, Maciej Barć wrote: edune is a thin wrapper for dune, which will help to run special, uncommon dune commands; dune-compile is a function to selectively pick which packages will be compiled "for-release" (as dune call it); dune-compile without any arguments replaces the current dune_src_compile Signed-off-by: Maciej Barć --- eclass/dune.eclass | 49 +- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 4bc73eda8..384908a40 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dune.eclass @@ -29,7 +29,7 @@ _DUNE_ECLASS=1 # Set before inheriting the eclass. : ${DUNE_PKG_NAME:=${PN}} -inherit multiprocessing +inherit edo multiprocessing # Do not complain about CFLAGS etc since ml projects do not use them. QA_FLAGS_IGNORED='.*' @@ -44,15 +44,54 @@ BDEPEND=" dev-ml/dune " +# @FUNCTION: edune +# @USAGE: ... +# @DESCRIPTION: +# A thin wrapper for the `dune` command. +# Runs `dune` with given arguments and dies on failure. +# +# Example use: +# @CODE +# edune clean +# @CODE +edune() { + debug-print-function ${FUNCNAME} "${@}" + + edo dune "${@}" +} + +# @FUNCTION: dune-compile +# @USAGE: [package] ... +# @DESCRIPTION: +# Compiles either all of packages sources in current directory or selected +# packages. In case of all packages the package detection is done via dune +# itself. +# +# Example use: +# @CODE +# dune-compile menhir menhirLib menhirSdk +# @CODE +dune-compile() { + local -a myduneopts=( + -j $(makeopts_jobs) + --profile release + ) + if [[ -n "${1}" ]] ; then + myduneopts+=( --for-release-of-packages="$(IFS="," ; echo "${*}")" ) + fi + + edune build @install "${myduneopts[@]}" +} + dune_src_compile() { ebegin "Building" - dune build @install -j $(makeopts_jobs) --profile release + dune-compile eend $? || die } dune_src_test() { ebegin "Testing" - dune runtest -j $(makeopts_jobs) --profile release + edune runtest -j $(makeopts_jobs) --profile release eend $? || die } @@ -80,7 +119,7 @@ dune-install() { local pkg for pkg in "${pkgs[@]}" ; do ebegin "Installing ${pkg}" - dune install ${myduneopts[@]} ${pkg} + edune install ${myduneopts[@]} ${pkg} eend $? || die # Move docs to the appropriate place. It appears there is additional output between the ebegin / eend. You may want to consider dropping ebegin and eend. In general, the pattern ebegin, edo, eend should probably be avoided. - Flow -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] eclass/dune.eclass: introduce edune and dune-compile (v2)
How do you pronounce it? ;-) Michał, I am not a phonetic expert but I guess it would be "e-dune", like "e" in "e-mail" or "i-djun" in broken Polish. :-D On 1/3/23 07:32, Michał Górny wrote: On Tue, 2023-01-03 at 00:19 +0100, Maciej Barć wrote: edune is a thin wrapper for dune, which will help to run special, uncommon dune commands; dune-compile is a function to selectively pick which packages will be compiled "for-release" (as dune call it); dune-compile without any arguments replaces the current dune_src_compile Signed-off-by: Maciej Barć --- eclass/dune.eclass | 49 +- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 4bc73eda8..384908a40 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dune.eclass @@ -29,7 +29,7 @@ _DUNE_ECLASS=1 # Set before inheriting the eclass. : ${DUNE_PKG_NAME:=${PN}} -inherit multiprocessing +inherit edo multiprocessing # Do not complain about CFLAGS etc since ml projects do not use them. QA_FLAGS_IGNORED='.*' @@ -44,15 +44,54 @@ BDEPEND=" dev-ml/dune " +# @FUNCTION: edune +# @USAGE: ... +# @DESCRIPTION: +# A thin wrapper for the `dune` command. +# Runs `dune` with given arguments and dies on failure. +# +# Example use: +# @CODE +# edune clean +# @CODE +edune() { + debug-print-function ${FUNCNAME} "${@}" + + edo dune "${@}" How do you pronounce it? ;-) +} + +# @FUNCTION: dune-compile +# @USAGE: [package] ... +# @DESCRIPTION: +# Compiles either all of packages sources in current directory or selected +# packages. In case of all packages the package detection is done via dune +# itself. +# +# Example use: +# @CODE +# dune-compile menhir menhirLib menhirSdk +# @CODE +dune-compile() { + local -a myduneopts=( + -j $(makeopts_jobs) + --profile release + ) + if [[ -n "${1}" ]] ; then + myduneopts+=( --for-release-of-packages="$(IFS="," ; echo "${*}")" ) + fi + + edune build @install "${myduneopts[@]}" +} + dune_src_compile() { ebegin "Building" - dune build @install -j $(makeopts_jobs) --profile release + dune-compile eend $? || die } dune_src_test() { ebegin "Testing" - dune runtest -j $(makeopts_jobs) --profile release + edune runtest -j $(makeopts_jobs) --profile release eend $? || die } @@ -80,7 +119,7 @@ dune-install() { local pkg for pkg in "${pkgs[@]}" ; do ebegin "Installing ${pkg}" - dune install ${myduneopts[@]} ${pkg} + edune install ${myduneopts[@]} ${pkg} eend $? || die # Move docs to the appropriate place. -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH] eclass/dune.eclass: introduce edune and dune-compile (v2)
edune is a thin wrapper for dune, which will help to run special, uncommon dune commands; dune-compile is a function to selectively pick which packages will be compiled "for-release" (as dune call it); dune-compile without any arguments replaces the current dune_src_compile Signed-off-by: Maciej Barć --- eclass/dune.eclass | 49 +- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 4bc73eda8..384908a40 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dune.eclass @@ -29,7 +29,7 @@ _DUNE_ECLASS=1 # Set before inheriting the eclass. : ${DUNE_PKG_NAME:=${PN}} -inherit multiprocessing +inherit edo multiprocessing # Do not complain about CFLAGS etc since ml projects do not use them. QA_FLAGS_IGNORED='.*' @@ -44,15 +44,54 @@ BDEPEND=" dev-ml/dune " +# @FUNCTION: edune +# @USAGE: ... +# @DESCRIPTION: +# A thin wrapper for the `dune` command. +# Runs `dune` with given arguments and dies on failure. +# +# Example use: +# @CODE +# edune clean +# @CODE +edune() { + debug-print-function ${FUNCNAME} "${@}" + + edo dune "${@}" +} + +# @FUNCTION: dune-compile +# @USAGE: [package] ... +# @DESCRIPTION: +# Compiles either all of packages sources in current directory or selected +# packages. In case of all packages the package detection is done via dune +# itself. +# +# Example use: +# @CODE +# dune-compile menhir menhirLib menhirSdk +# @CODE +dune-compile() { + local -a myduneopts=( + -j $(makeopts_jobs) + --profile release + ) + if [[ -n "${1}" ]] ; then + myduneopts+=( --for-release-of-packages="$(IFS="," ; echo "${*}")" ) + fi + + edune build @install "${myduneopts[@]}" +} + dune_src_compile() { ebegin "Building" - dune build @install -j $(makeopts_jobs) --profile release + dune-compile eend $? || die } dune_src_test() { ebegin "Testing" - dune runtest -j $(makeopts_jobs) --profile release + edune runtest -j $(makeopts_jobs) --profile release eend $? || die } @@ -80,7 +119,7 @@ dune-install() { local pkg for pkg in "${pkgs[@]}" ; do ebegin "Installing ${pkg}" - dune install ${myduneopts[@]} ${pkg} + edune install ${myduneopts[@]} ${pkg} eend $? || die # Move docs to the appropriate place. -- 2.38.2
[gentoo-dev] [PATCH] eclass/dune.eclass: introduce edune and dune-compile
edune is a thin wrapper for dune, which will help to run special, uncommon dune commands; dune-compile is a function to selectively pick which packages will be compiled "for-release" (as dune call it); dune-compile without any arguments replaces the current dune_src_compile Signed-off-by: Maciej Barć --- eclass/dune.eclass | 47 ++ 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 4bc73eda8..6c760accd 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dune.eclass @@ -44,15 +44,54 @@ BDEPEND=" dev-ml/dune " +# @FUNCTION: edune +# @USAGE: ... +# @DESCRIPTION: +# A thin wrapper for the `dune` command. +# Runs `dune` with given arguments and dies on failure. +# +# Example use: +# @CODE +# edune clean +# @CODE +edune() { + debug-print-function ${FUNCNAME} "${@}" + + dune "${@}" || die "dune call failed, given arguments: ${@}" +} + +# @FUNCTION: dune-compile +# @USAGE: [package] ... +# @DESCRIPTION: +# Compiles either all of packages sources in current directory or selected +# packages. In case of all packages the package detection is done via dune +# itself. +# +# Example use: +# @CODE +# dune-compile menhir menhirLib menhirSdk +# @CODE +dune-compile() { + local -a myduneopts=( + -j $(makeopts_jobs) + --profile release + ) + if [[ -n "${1}" ]] ; then + myduneopts+=( --for-release-of-packages="$(IFS="," ; echo "${*}")" ) + fi + + edune build @install "${myduneopts[@]}" +} + dune_src_compile() { ebegin "Building" - dune build @install -j $(makeopts_jobs) --profile release + dune-compile eend $? || die } dune_src_test() { ebegin "Testing" - dune runtest -j $(makeopts_jobs) --profile release + edune runtest -j $(makeopts_jobs) --profile release eend $? || die } @@ -80,7 +119,7 @@ dune-install() { local pkg for pkg in "${pkgs[@]}" ; do ebegin "Installing ${pkg}" - dune install ${myduneopts[@]} ${pkg} + edune install ${myduneopts[@]} ${pkg} eend $? || die # Move docs to the appropriate place. -- 2.38.2
[gentoo-dev] Last rites: scsh and scsh-lib
# Maciej Barć (2022-12-29) # Real upstream dead, uses old R5RS standard, many open bugs. # Removal on 2022-01-29. app-shells/scsh dev-scheme/scsh-lib -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] Last rites: scsh and scsh-lib
# Maciej Barć (2022-12-29) # Real upstream dead, uses old R5RS standard, many open bugs. # Removal on 2022-01-29. app-shells/scsh dev-scheme/scsh-lib -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] [RFC] sys-meta/* to own and control /bin/{cpio,sh,tar,...} symlinks (alternatives-ish)
Let's go for a compromise, and combine your naming suggestions into "alt-symlinks". Perfect, the worst of both worlds! :^D On 11/24/22 17:29, Michał Górny wrote: On Wed, 2022-11-23 at 08:38 +0100, Michał Górny wrote: Hello, everyone. TL;DR: I'd like to add sys-meta/{cpio,sh,tar} to install and control (via USE flags) /bin/{cpio,sh,tar} symlinks. Draft PR: https://github.com/gentoo/gentoo/pull/28390 Let's go for a compromise, and combine your naming suggestions into "alt-symlinks". /me hides. -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] [RFC] sys-meta/* to own and control /bin/{cpio,sh,tar,...} symlinks (alternatives-ish)
app -> what if it's library alternatives? Maybe split to "app-" and "lib-" then? Also, what about "-alt"? So "app-alt" and "lib-alt". On 11/24/22 03:05, Ionen Wolkens wrote: On Thu, Nov 24, 2022 at 01:32:04AM +, Alexey Sokolov wrote: However, I tend to agree that the category should be named app-meta rather than sys-meta, because chances are that non-system packages will also make use of it. Ulrich Since these packages manage symlinks, make it app-symlink? Mentioned this in another post, but this is limiting what would make sense to be in there further. app -> what if it's library alternatives? symlink -> what if we need to use wrappers or some other solution? Not that we ever really match categories perfectly either way, but may as well stay generic rather than mismatch or create multiple sub-types. Some random ideas I had were 'alternatives', 'meta', 'select' 'select-meta', not that I thought much about it. 'meta' would essentially be like an entirely generic 'virtual' but just without PMS restrictions. While the ones with alternatives or select are more descriptive of what it's for without saying anything about how we're doing it or for what type of package. -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] [RFC] SPDX-2.0 license mapping in the repository
Hi Michał! I like the idea a lot, with this the automatic Ebuild generator tools like for example Racket-Collector2 and Cargo-Ebuild could use the config file or could base their license id matching system on such config. On 11/9/22 17:36, Michał Górny wrote: Hi, everyone. TL;DR: I'd like to propose adding metadata/spdx-license.conf using the following format: = where is a SPDX-2.0 license identifier, optionally followed by "+", optionally followed by "WITH" and an exception identifier, and is the corresponding ebuild-style LICENSE field value. This has been proposed in bug 706472 [1], as an effort to aid converting from the more commonly used SPDX-2.0 identifiers (used e.g. by Cargo) to Gentoo licenses. Right now an inline mapping for them is used e.g. by cargo-ebuild [2]. Besides maintaining a basic mapping of licenses, there are two main challenges to be overcome here: 1. SPDX-2.0 using "WITH" operator to combine licenses with exceptions, whereas Gentoo uses combined files for that, e.g. "Apache-2.0 WITH LLVM- exception" corresponds to Gentoo "Apache-2.0-with-LLVM-exceptions"). 2. SPDX-2.0 using "+" operator to indicate "or later" for most of the licenses (except for GNU licenses, that have explicit "*-or-later" variant, whereas Gentoo only features "or later" variants of specific licenses. I think the best approach here is to include both "+" and "WITH ..." explicitly in the key, and to allow the RHS to specify an arbitrary Gentoo license expression. Therefore, e.g. the file would specify: Apache-1.1 = Apache-1.1 Apache-2.0 = Apache-2.0 Apache-2.0 WITH LLVM-exception = Apache-2.0-with-LLVM-exceptions Apache-1.1+ = || ( Apache-1.1 Apache-2.0 ) Then, SPDX (sub)expressions would be mapped the following way: a. plain "Apache-x.y" would be mapped to "Apache-x.y" b. "Apache-2.0 WITH LLVM-exception" would be mapped to the appropriate license c. "Apache-2.0 WITH ..." any other exception would remain unmatched d. "Apache-1.1+" would map to the OR-expression for all matching licenses e. "Apache-2.0+" would not be listed explicitly, the tool could fall back to "Apache-2.0" then (assuming we don't have any later version) WDYT? [1] https://bugs.gentoo.org/706472 [2] https://github.com/gentoo/cargo-ebuild/blob/master/src/license.rs#L3 -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] rg(1) supports ebuild as a file type filter
Hi! Very cool, thanks for sharing! On 9/28/22 20:01, Zoltan Puskas wrote: Hey, Admittedly shameless plug and only a minor thing, but since I've seen mgorny's great addition to file(1) mentioned on the list, I've also wanted to share that sometime in early 2020 I've got a PR merged into RipGrep which adds a filter for searching ebuild files only. E.g. you can do: rg -t ebuild Maybe some maintainers will find it useful when searching for examples in ebuilds. Cheers, Zoltan -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Packages up for grabs: dev-lang/typescript, gnome-extra/gnome-shell-extension-pop-shell
Hi! I will take the TypeScript package. I am not interested in pop-shell packages though. Hopefully those packages will find a miantainer too. On 9/22/22 07:02, Georgy Yakovlev wrote: Hi, Following package up for grabs: gnome-extra/gnome-shell-extension-pop-shell dev-lang/typescript I no longer uses pop-shell and it's > 1y outdated. typescript is a build dependency and pop-shell is it's only revdep. However, there are plenty of typescript users and package is popular. Yes, it's npm package, but it's unique because it has no external deps. Easy to maintain too, no bugs open, only dependency is nodejs[npm] May use eapi8 bump. As for pop-shell, bump will require packaging 2 extra deps: pop-launcher pop-shortcuts Both are rust, the latter uses justfile instead of makefile. It also uses rustls with ring crate, which is not portable and had no commits since april 2022. So my recommendation is to drop pop-shell or move to guru. And keep typescript in repo, it's popular. Thanks for reading! -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Up for grabs: misc packages due to proxied maintainer's retirement
The Gentoo ML Project team will take dev-ml/react. On 8/26/22 14:03, Sam James wrote: Hello, Packages up for grabs as a result of proxied maintainer's retirement: app-misc/terminal-colors app-text/asciidoc app-text/jo dev-libs/yaz dev-ml/react media-gfx/img2pdf www-apps/gitea Best, sam -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] [PATCH] elisp-common.eclass: fix for Emacs 29 (explicitly require autoload)
We could do it based on the Emacs version though if the eclass has machinery for checking that (new to poking at this area). There are elisp-emacs-version & elisp-check-emacs-version functions. On 8/18/22 23:25, Sam James wrote: On 18 Aug 2022, at 21:01, Michael Orlitzky wrote: On Thu, 2022-08-18 at 20:18 +0100, Sam James wrote: Emacs 29's NEWS says: "The autoload.el library is now obsolete." ... ${EMACS} ${EMACSFLAGS} \ + --eval "(require 'autoload)" \ --eval "(setq make-backup-files nil)" \ --eval "(setq generated-autoload-file (expand-file-name \"${f}\"))" \ -f batch-update-autoloads "${@-.}" The batch-update-autoloads docstring says that it "calls 'update- directory-autoloads' on the command line arguments." The function update-directory-autoloads is, in turn, obsoleted in favor of loaddefs- generate from loaddefs-gen.el (which replaces autoload.el). Can we bypass the obsolete autoload.el entirely here, instead calling loaddefs-generate directly? It looks like it might be new as of Emacs 29, so we'd need to handle older versions somehow. We could do it based on the Emacs version though if the eclass has machinery for checking that (new to poking at this area). -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] Re: Packages up for grabs: e.g. www-servers/nginx, www-apps/nikola, app-admin/rsyslog, ...
dev-libs/libestr dev-libs/libfastjson I will probably take dev-libs/libestr & dev-libs/libfastjson which are (mainly) deps of app-admin/rsyslog. app-admin/rsyslog I could take app-admin/rsyslog but I fee like this might a bit too much for me, so for now only first two deps. On 6/5/22 10:28, Joonas Niilola wrote: Full list: acct-group/collectd acct-group/fritzbox_smarthome_exporter acct-group/mysqld_exporter acct-group/nginx acct-group/sabnzbd acct-user/collectd acct-user/fritzbox_smarthome_exporter acct-user/mysqld_exporter acct-user/nginx acct-user/sabnzbd app-admin/cli53 app-admin/rsyslog app-arch/rar app-backup/tarsnap app-metrics/collectd app-metrics/fritzbox_smarthome_exporter app-metrics/mysqld_exporter app-portage/elicense app-portage/golop app-text/vgrep dev-libs/libee dev-libs/libestr dev-libs/libfastjson dev-libs/liblognorm dev-libs/librdkafka dev-libs/librelp dev-python/PyRSS2Gen dev-python/sabyenc dev-python/ws4py net-irc/znc-clientbuffer net-irc/znc-igloo-push net-irc/znc-playback net-libs/liboping net-libs/zeromq net-misc/httpstat net-nntp/sabnzbd sys-apps/hponcfg sys-block/f3 sys-block/hpacucli sys-block/hpssacli sys-block/storcli sys-fs/ncdu sys-libs/libfaketime sys-process/incron www-apps/nextcloud-notify_push www-apps/nikola www-servers/nginx The usual stuff. Outdated packages, open pull requests, bugs, security bugs. Lots of pkgcheck issues too, so fix those if interested in taking over some of these while at it. -- juippis -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] Re: Introduce a pandoc virtual
But you'll have to match KEYWORDS for both options first. Afaik KEYWORDS of virtuals are a union of KEYWORDS of it's dependencies. pandoc has "~amd64 ~x86", pandoc-bin has "~amd64" now, with possibility of "~arm64" (only those 2 arches are precompiled by upstream). From Devmanual: the developer can immediately set the KEYWORDS of a virtual to the union of KEYWORDS of its providers. On 6/3/22 18:28, Joonas Niilola wrote: On 3.6.2022 17.45, Maciej Barć wrote: Hello! I'd like to introduce "pandoc" virtual package depending on pandoc-bin or pandoc. Pandoc is a very helpful tool for converting between document formats, most commonly used to build a project documentation, but it depends on many Haskell libraries, and I believe not many users will want to install full pandoc to build given project's documentation. Using the following command: "grep -R 'app-text/pandoc' --exclude-dir=.git --exclude-dir=metadata --exclude-dir=profiles | cut -d':' -f 1 | cut -d'/' -f 1-2 | sort | uniq" we can diagnose that following pkgs could benefit from it: app-emacs/auto-complete app-emacs/markdown-mode app-emulation/xen-tools app-text/nuspell dev-haskell/hakyll dev-haskell/pandoc-citeproc dev-lang/lfe dev-libs/pmdk dev-python/ipython dev-python/nbconvert dev-python/pandas media-sound/bluez-alsa media-sound/pms net-misc/mptcpd sci-mathematics/rkward sci-mathematics/rstudio sys-apps/earlyoom sys-apps/exa sys-apps/ripgrep-all www-apps/gitit www-apps/hugo x11-wm/xpra Attached a initial patch. Thoughts? First time I hear about pandoc-bin. Great idea indeed now that the package exists! But you'll have to match KEYWORDS for both options first. -- juippis -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] Introduce a pandoc virtual
Hello! I'd like to introduce "pandoc" virtual package depending on pandoc-bin or pandoc. Pandoc is a very helpful tool for converting between document formats, most commonly used to build a project documentation, but it depends on many Haskell libraries, and I believe not many users will want to install full pandoc to build given project's documentation. Using the following command: "grep -R 'app-text/pandoc' --exclude-dir=.git --exclude-dir=metadata --exclude-dir=profiles | cut -d':' -f 1 | cut -d'/' -f 1-2 | sort | uniq" we can diagnose that following pkgs could benefit from it: app-emacs/auto-complete app-emacs/markdown-mode app-emulation/xen-tools app-text/nuspell dev-haskell/hakyll dev-haskell/pandoc-citeproc dev-lang/lfe dev-libs/pmdk dev-python/ipython dev-python/nbconvert dev-python/pandas media-sound/bluez-alsa media-sound/pms net-misc/mptcpd sci-mathematics/rkward sci-mathematics/rstudio sys-apps/earlyoom sys-apps/exa sys-apps/ripgrep-all www-apps/gitit www-apps/hugo x11-wm/xpra Attached a initial patch. Thoughts? -- Have a great day! ~ Maciej XGQT Barć diff --git a/virtual/pandoc/metadata.xml b/virtual/pandoc/metadata.xml new file mode 100644 index 000..2cb6a382723 --- /dev/null +++ b/virtual/pandoc/metadata.xml @@ -0,0 +1,14 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + +x...@gentoo.org +Maciej Barć + + +hask...@gentoo.org +Gentoo Haskell + + + diff --git a/virtual/pandoc/pandoc-0.ebuild b/virtual/pandoc/pandoc-0.ebuild new file mode 100644 index 000..0cb4c6f84c6 --- /dev/null +++ b/virtual/pandoc/pandoc-0.ebuild @@ -0,0 +1,13 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for pandoc" + +LICENSE="" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND="" +RDEPEND="|| ( app-text/pandoc-bin[pandoc-symlink] app-text/pandoc )" OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
Re: [gentoo-dev] Deprecating repoman
Are there any useful checks or behaviors of repoman that are missing from pkgcheck and pkgcommit? Fixing ebuild copyright date is the first one that comes to mind. On 3/9/22 10:00 PM, Matt Turner wrote: I'd like to deprecate and ultimately remove repoman. I believe that dev-util/pkgcheck and pkgcommit (from app-portage/mgorny-dev-scripts) are far superior replacements, and it makes sense to have people using the same tool and seeing the same warnings as in the CI. Are there any useful checks or behaviors of repoman that are missing from pkgcheck and pkgcommit? Thanks, Matt -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH] eclass/dune.eclass: inherit multiprocessing
in order to run up to makeopts_jobs number of jobs in dune_src_compile and dune_src_test Signed-off-by: Maciej Barć --- eclass/dune.eclass | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 9b5c469dcad..522dc2a8b52 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: dune.eclass @@ -26,6 +26,8 @@ case ${EAPI:-0} in *) die "${ECLASS}: EAPI ${EAPI} not supported" ;; esac +inherit multiprocessing + # Do not complain about CFLAGS etc since ml projects do not use them. QA_FLAGS_IGNORED='.*' @@ -44,13 +46,13 @@ esac dune_src_compile() { ebegin "Building" - dune build @install --display short --profile release + dune build @install -j $(makeopts_jobs) --profile release eend $? || die } dune_src_test() { ebegin "Testing" - dune runtest --display short --profile release + dune runtest -j $(makeopts_jobs) --profile release eend $? || die } -- 2.34.1
[gentoo-dev] Packages up for grabs: dev-libs/granite
Hi! I'm listed as the maintainer for the following packages where I'm no longer interested: dev-libs/granite Elementary OS library that extends GTK+ I think granite would be a good fit to the Gentoo Gnome Project, but nothing in the main three depends on it at the moment. Anyone who's interested in picking those please feel free to add yourself to the metadata. I'll remove myself soon. -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH v4] eclass/dune.eclass: fix dune-install function
Support EAPI 8 and drop support for EAPI 5. Set DUNE_PKG_NAME to PN by default. Move "Move docs to the appropriate place" block to dune-install to make dune-install now handle a list of subpackages correctly. Use ebegin and eend for dune calls instead of "|| die". Thanks to ULM for bash fixes. Signed-off-by: Maciej Barć --- eclass/dune.eclass | 56 +- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 02a8a870e..69aad3692 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -8,7 +8,7 @@ # ML # @AUTHOR: # Rafael Kitover -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Provides functions for installing Dune packages. # @DESCRIPTION: # Provides dependencies on dDne and OCaml and default src_compile, src_test and @@ -19,9 +19,10 @@ # @DESCRIPTION: # Sets the actual Dune package name, if different from Gentoo package name. # Set before inheriting the eclass. +: ${DUNE_PKG_NAME:-${PN}} case ${EAPI:-0} in - 5|6|7) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI} not supported" ;; esac @@ -32,7 +33,7 @@ EXPORT_FUNCTIONS src_compile src_test src_install RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:=" case ${EAPI:-0} in - 5|6) + 6) DEPEND="${RDEPEND} dev-ml/dune" ;; *) @@ -42,11 +43,15 @@ case ${EAPI:-0} in esac dune_src_compile() { - dune build @install --profile release || die + ebegin "Building" + dune build @install --profile release + eend $? || die } dune_src_test() { - dune runtest || die + ebegin "Testing" + dune runtest + eend $? || die } # @FUNCTION: dune-install @@ -54,26 +59,35 @@ dune_src_test() { # @DESCRIPTION: # Installs the dune packages given as arguments. For each "${pkg}" element in # that list, "${pkg}.install" must be readable from "${PWD}/_build/default" +# +# Example use: +# @CODE +# dune-install menhir menhirLib menhirSdk +# @CODE dune-install() { + local -a pkgs=( "${@}" ) + [[ ${#pkgs[@]} -eq 0 ]] && pkgs=( "${DUNE_PKG_NAME}" ) + + local -a myduneopts=( + --prefix="${ED%/}/usr" + --libdir="${D%/}$(ocamlc -where)" + --mandir="${ED%/}/usr/share/man" + ) local pkg - for pkg ; do - dune install \ - --prefix="${ED%/}/usr" \ - --libdir="${D%/}$(ocamlc -where)" \ - --mandir="${ED%/}/usr/share/man" \ - "${pkg}" || die + for pkg in "${pkgs[@]}" ; do + ebegin "Installing ${pkg}" + dune install ${myduneopts[@]} ${pkg} + eend $? || die + + # Move docs to the appropriate place. + if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then + mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die + mv "${ED%/}/usr/doc/${pkg}" "${ED%/}/usr/share/doc/${PF}/" || die + rm -rf "${ED%/}/usr/doc" || die + fi done } dune_src_install() { - local pkg="${1:-${DUNE_PKG_NAME:-${PN}}}" - - dune-install "${pkg}" - - # Move docs to the appropriate place. - if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then - mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die - mv "${ED%/}/usr/doc/${pkg}/"* "${ED%/}/usr/share/doc/${PF}/" || die - rm -rf "${ED%/}/usr/doc" || die - fi + dune-install ${1:-${DUNE_PKG_NAME}} } -- 2.32.0
[gentoo-dev] [PATCH v3] eclass/dune.eclass: fix dune-install function
Support EAPI 8 and drop support for EAPI 5. Set DUNE_PKG_NAME to PN by default. Move "Move docs to the appropriate place" block to dune-install to make dune-install now handle a list of subpackages correctly. Signed-off-by: Maciej Barć --- eclass/dune.eclass | 50 -- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 02a8a870e..8cf8ededa 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -8,7 +8,7 @@ # ML # @AUTHOR: # Rafael Kitover -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Provides functions for installing Dune packages. # @DESCRIPTION: # Provides dependencies on dDne and OCaml and default src_compile, src_test and @@ -19,9 +19,10 @@ # @DESCRIPTION: # Sets the actual Dune package name, if different from Gentoo package name. # Set before inheriting the eclass. +: ${DUNE_PKG_NAME:-${PN}} case ${EAPI:-0} in - 5|6|7) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI} not supported" ;; esac @@ -32,7 +33,7 @@ EXPORT_FUNCTIONS src_compile src_test src_install RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:=" case ${EAPI:-0} in - 5|6) + 6) DEPEND="${RDEPEND} dev-ml/dune" ;; *) @@ -54,26 +55,37 @@ dune_src_test() { # @DESCRIPTION: # Installs the dune packages given as arguments. For each "${pkg}" element in # that list, "${pkg}.install" must be readable from "${PWD}/_build/default" +# +# Example use: +# @CODE +# dune-install menhir menhirLib menhirSdk +# @CODE dune-install() { + local pkgs + if [[ -n "${@}" ]] ; then + pkgs="${@}" + else + pkgs=${DUNE_PKG_NAME} + fi + + local myduneopts=( + --prefix="${ED%/}/usr" + --libdir="${D%/}$(ocamlc -where)" + --mandir="${ED%/}/usr/share/man" + ) local pkg - for pkg ; do - dune install \ - --prefix="${ED%/}/usr" \ - --libdir="${D%/}$(ocamlc -where)" \ - --mandir="${ED%/}/usr/share/man" \ - "${pkg}" || die + for pkg in ${pkgs[@]} ; do + dune install ${myduneopts[@]} ${pkg} || die + + # Move docs to the appropriate place. + if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then + mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die + mv "${ED%/}/usr/doc/${pkg}" "${ED%/}/usr/share/doc/${PF}/" || die + rm -rf "${ED%/}/usr/doc" || die + fi done } dune_src_install() { - local pkg="${1:-${DUNE_PKG_NAME:-${PN}}}" - - dune-install "${pkg}" - - # Move docs to the appropriate place. - if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then - mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die - mv "${ED%/}/usr/doc/${pkg}/"* "${ED%/}/usr/share/doc/${PF}/" || die - rm -rf "${ED%/}/usr/doc" || die - fi + dune-install ${1:-${DUNE_PKG_NAME}} } -- 2.32.0
Re: [gentoo-dev] [PATCH v2] eclass/dune.eclass: fixes
> May be worth splitting the commit into a few different changes > so the summary can be more informative than "fixes" > (try git add -p). Actually the more accurate summary would be "fix dune-install function". I wouldn't split it imo. On 12/9/21 23:29, Sam James wrote: On 9 Dec 2021, at 22:10, Maciej Barć wrote: bump to EAPI 8 Say "support EAPI 8" instead. May be worth splitting the commit into a few different changes so the summary can be more informative than "fixes" (try git add -p). lgtm otherwise, thanks for doing this! drop support for EAPI 5 set DUNE_PKG_NAME to PN by default move "Move docs to the appropriate place" block to dune-install to make dune-install now handle a list of subpackages correctly Signed-off-by: Maciej Barć --- eclass/dune.eclass | 50 -- 1 file changed, 31 insertions(+), 19 deletions(-) [snip] Best, sam -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH v2] eclass/dune.eclass: fixes
bump to EAPI 8 drop support for EAPI 5 set DUNE_PKG_NAME to PN by default move "Move docs to the appropriate place" block to dune-install to make dune-install now handle a list of subpackages correctly Signed-off-by: Maciej Barć --- eclass/dune.eclass | 50 -- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 02a8a870e..8cf8ededa 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -8,7 +8,7 @@ # ML # @AUTHOR: # Rafael Kitover -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Provides functions for installing Dune packages. # @DESCRIPTION: # Provides dependencies on dDne and OCaml and default src_compile, src_test and @@ -19,9 +19,10 @@ # @DESCRIPTION: # Sets the actual Dune package name, if different from Gentoo package name. # Set before inheriting the eclass. +: ${DUNE_PKG_NAME:-${PN}} case ${EAPI:-0} in - 5|6|7) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI} not supported" ;; esac @@ -32,7 +33,7 @@ EXPORT_FUNCTIONS src_compile src_test src_install RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:=" case ${EAPI:-0} in - 5|6) + 6) DEPEND="${RDEPEND} dev-ml/dune" ;; *) @@ -54,26 +55,37 @@ dune_src_test() { # @DESCRIPTION: # Installs the dune packages given as arguments. For each "${pkg}" element in # that list, "${pkg}.install" must be readable from "${PWD}/_build/default" +# +# Example use: +# @CODE +# dune-install menhir menhirLib menhirSdk +# @CODE dune-install() { + local pkgs + if [[ -n "${@}" ]] ; then + pkgs="${@}" + else + pkgs=${DUNE_PKG_NAME} + fi + + local myduneopts=( + --prefix="${ED%/}/usr" + --libdir="${D%/}$(ocamlc -where)" + --mandir="${ED%/}/usr/share/man" + ) local pkg - for pkg ; do - dune install \ - --prefix="${ED%/}/usr" \ - --libdir="${D%/}$(ocamlc -where)" \ - --mandir="${ED%/}/usr/share/man" \ - "${pkg}" || die + for pkg in ${pkgs[@]} ; do + dune install ${myduneopts[@]} ${pkg} || die + + # Move docs to the appropriate place. + if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then + mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die + mv "${ED%/}/usr/doc/${pkg}" "${ED%/}/usr/share/doc/${PF}/" || die + rm -rf "${ED%/}/usr/doc" || die + fi done } dune_src_install() { - local pkg="${1:-${DUNE_PKG_NAME:-${PN}}}" - - dune-install "${pkg}" - - # Move docs to the appropriate place. - if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then - mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die - mv "${ED%/}/usr/doc/${pkg}/"* "${ED%/}/usr/share/doc/${PF}/" || die - rm -rf "${ED%/}/usr/doc" || die - fi + dune-install ${1:-${DUNE_PKG_NAME}} } -- 2.32.0
Re: [gentoo-dev] [PATCH] eclass/dune.eclass: fixes
> IIUC, the space separated list of arguments is assigned to pkgs, with > a fallback to ${DUNE_PKG_NAME}. The 'for pkg in "${pkgs}"' loop isn't > actually a loop because ${pkgs} is inside double quotes, so it will be > executed only once with pkg being equal to pkgs. Yes, you are right, I was wrong to test it with (modified) dev-ml/menhir lib which I believe does not need to call dune-install with multiple subpkgs now. > Do you even need the fallback in dune_install() if you have it here too? Yes, to keep old compatibility. On 12/9/21 08:38, Ulrich Mueller wrote: On Thu, 09 Dec 2021, Maciej Barć wrote: dune-install() { + local pkgs + if [[ -n "${@}" ]] ; then + pkgs="${@}" + else + pkgs=${DUNE_PKG_NAME} + fi + + local myduneopts=( + --prefix="${ED%/}/usr" + --libdir="${D%/}$(ocamlc -where)" + --mandir="${ED%/}/usr/share/man" + ) local pkg - for pkg ; do - dune install \ - --prefix="${ED%/}/usr" \ - --libdir="${D%/}$(ocamlc -where)" \ - --mandir="${ED%/}/usr/share/man" \ - "${pkg}" || die + for pkg in "${pkgs}" ; do + dune install ${myduneopts[@]} ${pkg} || die done } Have you tested this? IIUC, the space separated list of arguments is assigned to pkgs, with a fallback to ${DUNE_PKG_NAME}. The 'for pkg in "${pkgs}"' loop isn't actually a loop because ${pkgs} is inside double quotes, so it will be executed only once with pkg being equal to pkgs. The previous logic (simple 'for pkg' which will loop over $@) was correct but of course without the fallback. +dune_src_install() { + dune-install ${1:-${DUNE_PKG_NAME}} +} Do you even need the fallback in dune_install() if you have it here too? Ulrich -- Have a great day! ~ Maciej XGQT Barć OpenPGP_0x14D74A1F43A6AC3C.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [PATCH] eclass/dune.eclass: fixes
bump to EAPI 8 drop support for EAPI 5 set DUNE_PKG_NAME to PN by default move "Move docs to the appropriate place" block to dune-install to make dune-install now handle a list of subpackages correctly Signed-off-by: Maciej Barć --- eclass/dune.eclass | 37 ++--- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/eclass/dune.eclass b/eclass/dune.eclass index 02a8a870e..a5de47aca 100644 --- a/eclass/dune.eclass +++ b/eclass/dune.eclass @@ -8,7 +8,7 @@ # ML # @AUTHOR: # Rafael Kitover -# @SUPPORTED_EAPIS: 5 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Provides functions for installing Dune packages. # @DESCRIPTION: # Provides dependencies on dDne and OCaml and default src_compile, src_test and @@ -19,9 +19,10 @@ # @DESCRIPTION: # Sets the actual Dune package name, if different from Gentoo package name. # Set before inheriting the eclass. +: ${DUNE_PKG_NAME:-${PN}} case ${EAPI:-0} in - 5|6|7) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI} not supported" ;; esac @@ -32,7 +33,7 @@ EXPORT_FUNCTIONS src_compile src_test src_install RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:=" case ${EAPI:-0} in - 5|6) + 6) DEPEND="${RDEPEND} dev-ml/dune" ;; *) @@ -55,20 +56,22 @@ dune_src_test() { # Installs the dune packages given as arguments. For each "${pkg}" element in # that list, "${pkg}.install" must be readable from "${PWD}/_build/default" dune-install() { + local pkgs + if [[ -n "${@}" ]] ; then + pkgs="${@}" + else + pkgs=${DUNE_PKG_NAME} + fi + + local myduneopts=( + --prefix="${ED%/}/usr" + --libdir="${D%/}$(ocamlc -where)" + --mandir="${ED%/}/usr/share/man" + ) local pkg - for pkg ; do - dune install \ - --prefix="${ED%/}/usr" \ - --libdir="${D%/}$(ocamlc -where)" \ - --mandir="${ED%/}/usr/share/man" \ - "${pkg}" || die + for pkg in "${pkgs}" ; do + dune install ${myduneopts[@]} ${pkg} || die done -} - -dune_src_install() { - local pkg="${1:-${DUNE_PKG_NAME:-${PN}}}" - - dune-install "${pkg}" # Move docs to the appropriate place. if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then @@ -77,3 +80,7 @@ dune_src_install() { rm -rf "${ED%/}/usr/doc" || die fi } + +dune_src_install() { + dune-install ${1:-${DUNE_PKG_NAME}} +} -- 2.32.0