Re: [gentoo-dev] [PATCH 2/5] zig-build.eclass: new eclass

2024-10-24 Thread Maciej Barć

+   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

2024-08-09 Thread Maciej Barć

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

2024-07-27 Thread Maciej Barć

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

2024-06-28 Thread Maciej Barć

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

2024-06-14 Thread Maciej Barć
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

2024-06-05 Thread Maciej Barć

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

2024-06-04 Thread Maciej Barć

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

2024-05-01 Thread Maciej Barć

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

2024-05-01 Thread Maciej Barć

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

2024-05-01 Thread Maciej Barć

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

2024-05-01 Thread Maciej Barć

 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

2024-05-01 Thread Maciej Barć

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

2024-05-01 Thread Maciej Barć
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

2024-05-01 Thread Maciej Barć
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)

2024-04-25 Thread Maciej Barć

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

2024-04-25 Thread Maciej Barć

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)

2024-04-20 Thread Maciej Barć

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

2024-03-15 Thread Maciej Barć
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

2024-03-11 Thread Maciej Barć

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?

2024-02-13 Thread Maciej Barć

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

2024-02-08 Thread Maciej Barć

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

2024-02-03 Thread Maciej Barć

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

2024-02-03 Thread Maciej Barć

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

2024-02-03 Thread Maciej Barć
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

2024-02-03 Thread Maciej Barć
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

2024-02-03 Thread Maciej Barć
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

2024-02-03 Thread Maciej Barć
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

2024-02-03 Thread Maciej Barć
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

2024-02-03 Thread Maciej Barć
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

2024-02-03 Thread Maciej Barć
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

2024-01-18 Thread Maciej Barć

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

2023-11-04 Thread Maciej Barć
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

2023-11-04 Thread Maciej Barć
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

2023-11-04 Thread Maciej Barć
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

2023-10-05 Thread Maciej Barć
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

2023-10-05 Thread Maciej Barć
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

2023-10-05 Thread Maciej Barć
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

2023-10-05 Thread Maciej Barć
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

2023-09-05 Thread Maciej Barć
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

2023-09-05 Thread Maciej Barć
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

2023-09-05 Thread Maciej Barć
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

2023-08-22 Thread Maciej Barć
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

2023-07-30 Thread Maciej Barć
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

2023-07-30 Thread Maciej Barć
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

2023-07-30 Thread Maciej Barć
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

2023-07-30 Thread Maciej Barć
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

2023-07-16 Thread Maciej Barć

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

2023-07-16 Thread Maciej Barć

+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

2023-07-16 Thread Maciej Barć
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

2023-07-16 Thread Maciej Barć
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

2023-07-16 Thread Maciej Barć
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

2023-07-16 Thread Maciej Barć
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)

2023-07-13 Thread Maciej Barć
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

2023-06-07 Thread Maciej Barć
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

2023-05-04 Thread Maciej Barć

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

2023-05-04 Thread Maciej Barć
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

2023-04-25 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-04-04 Thread Maciej Barć
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

2023-03-24 Thread Maciej Barć

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

2023-02-19 Thread Maciej Barć
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

2023-02-16 Thread Maciej Barć

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

2023-02-16 Thread Maciej Barć

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

2023-02-11 Thread Maciej Barć

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

2023-02-11 Thread Maciej Barć

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

2023-01-06 Thread Maciej Barć

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)

2023-01-04 Thread Maciej Barć
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)

2023-01-03 Thread Maciej Barć
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)

2023-01-03 Thread Maciej Barć

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)

2023-01-02 Thread Maciej Barć
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

2023-01-02 Thread Maciej Barć
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

2022-12-29 Thread Maciej Barć

# 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

2022-12-29 Thread Maciej Barć

# 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)

2022-11-24 Thread Maciej Barć

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)

2022-11-23 Thread Maciej Barć

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

2022-11-09 Thread Maciej Barć

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

2022-09-28 Thread Maciej Barć

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

2022-09-22 Thread Maciej Barć

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

2022-08-26 Thread Maciej Barć

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)

2022-08-18 Thread Maciej Barć

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, ...

2022-06-05 Thread Maciej Barć

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

2022-06-03 Thread Maciej Barć

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

2022-06-03 Thread Maciej Barć

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

2022-03-09 Thread Maciej Barć

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

2022-02-10 Thread Maciej Barć
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

2022-01-22 Thread Maciej Barć

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

2021-12-10 Thread Maciej Barć
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

2021-12-09 Thread Maciej Barć
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

2021-12-09 Thread Maciej Barć

> 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

2021-12-09 Thread Maciej Barć
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

2021-12-09 Thread Maciej Barć

> 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

2021-12-08 Thread Maciej Barć
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