Package Request: PowerShell

Even on Linux PowerShell is incredibly useful. I know powershell-bin exists but it would be nice to see this optimized in the official CachyOS repo. GitHub - PowerShell/PowerShell: PowerShell for every system!

I don’t think Cachy does anything performance-oriented with .NET programs.

it’s buggy on linux, despite what microsoft says

you can get it from the AUR and build it yourself with optimized flags, but you shouldn’t do performance critical stuff in shells…

I am morbidly curious what the desired use-case for this is.

I see dotnet in the extra repo. I am fairly new here but my assumption is that optimized flags are applied? I stand corrected if wrong.

Of course, I could have just as easily gone to the AUR and done the same for many of the tools that CachyOS has ended up adding to its own repos. Respectfully, “buggy on Linux” is pretty vague. PowerShell on linux delivers on about 99 % of what it promises. If there are genuine deal-breakers that make it unusable, I’d be happy to hear them and look into them. I’d also advise against using any shell or scripting language for truly performance-critical tasks. That said, I haven’t come across anyone doing real production-critical work who would complain about extra performance.

In this case I have a fairly large enterprise application deployment that runs PowerShell scripts hosted in linux containers for extensibility. I would like to see if a Cachy host with Cachy containers .etc can improve performance.

You shouldn’t do performance critical stuff in shells in general. If you didn’t run into bugs, great.

There are a few hurdles with getting a PKGBUILD to build an optimized binary for you architecture. Take a look at this at optimizations makepkg - ArchWiki

You can define optimizations in makepkg.conf, for c and rust, if the PKGBUILD doesn’t override those flags, I think this is how cachy builds the packages for the repos, they have a different makepkg.conf for each architecture.

From makepkg.conf(5) — Arch manual pages

The system-wide configuration file is found in /etc/makepkg.conf. Specific additions (e.g. build flags for additional languages) can be placed in /etc/makepkg.conf.d/*.conf.

Maybe there is a way to input personalized build flags for dotnet, you might need to modify the pgkbuild then add the flags in makepkg.conf.d. I don’t think the cachy team modifies PKGBUILDS for packages that they get from the AUR, there are some modified ones for cachy, but they are not in the AUR.

I don’t know anything about dotnet but looking at the https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=powershell
Doesn’t look like it does anything to build an optimized version, just a generic x64 build.

If you can figure this out, submit it to the AUR or to the cachy github, if you are willing to maintain it. Maybe in the future cachy can have optimized dotnet programs… if it’s even possible with dotnet.

Or you can just build it for yourself manually without makepkg, but I couldn’t find anything about instruction set optimizations with dotnet…

extra repo is an arch linux repo, not cachy