Package Details: librashader 0.5.1-1

Git Clone URL: https://aur.archlinux.org/librashader.git (read-only, click to copy)
Package Base: librashader
Description: A preprocessor, compiler, and runtime for RetroArch 'slang' shaders, rewritten in pure Rust.
Upstream URL: https://github.com/SnowflakePowered/librashader
Licenses: MPL-2.0, GPL-3.0-only
Conflicts: librashader
Provides: librashader
Submitter: Snowstorm64
Maintainer: Snowstorm64
Last Packager: Snowstorm64
Votes: 5
Popularity: 0.82
First Submitted: 2024-02-23 18:11 (UTC)
Last Updated: 2024-11-04 20:12 (UTC)

Latest Comments

Snowstorm64 commented on 2024-09-08 12:18 (UTC) (edited on 2024-09-08 16:06 (UTC) by Snowstorm64)

The upgrade to version 0.4.0 is now put on hold until, probably, the next release of ares-emu (v141?), due to recent API changes that breaks a lot of shaders.

OpenGL: Failed to create filter chain for: /usr/share/ares/Shaders/presets/crt-royale-ntsc-composite.slangp

OpenGlFilterError(GlCompileError): There was an error in the OpenGL filter chain.

UPDATE: it turns out to be a librashader bug, that is fixed with v0.4.1.

Snowstorm64 commented on 2024-04-08 11:44 (UTC)

With this new revision I have changed the variables' name, so it shouldn't be an issue anymore.

Snowstorm64 commented on 2024-04-05 18:33 (UTC)

It's a weird issue indeed. Either the dashes are messing with aurutils, or the variable "profile" is already used...after all it's a common name, maybe I should haven't picked specifically that. What happens if you rename the variable to something other than "profile"?

kusoneko commented on 2024-04-05 17:37 (UTC)

I use aurutils as my AUR helper, specifically using this command to install/update non-VCS AUR packages: aur sync --no-view --upgrades --chroot --clean [pkgname] where [pkgname] is optional and explicitly adds a new package to be built. When this fails, I look at the error message and go to $XDG_CACHE_HOME/aurutils/sync/$pkgname modify the PKGBUILD to fix the issue, then run aur build --chroot --syncdeps from that directory.

As for how I managed to build it, as I said I essentially did cd $XDG_CACHE_HOME/aurutils/sync/librashader and then modified the PKGBUILD like so:

diff --git a/PKGBUILD b/PKGBUILD
index 9498bff..5b636a8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -18,17 +18,17 @@ fix_pkgname="${pkgname}-${pkgname}"

 build() {
   cd "${fix_pkgname}-v${pkgver}"
-  RUSTC_BOOTSTRAP=1 cargo run -p librashader-build-script -- --profile ${profile}
+  RUSTC_BOOTSTRAP=1 cargo run -p librashader-build-script -- --profile optimized
 }

and then built it with aur build --chroot --syncdeps and it worked. As I stated in the previous message, the issue seems to be that ${profile} is not being replaced by the profile variable's value in at least the build() function (having built ares-emu afterwards successfully, I can conclude it did replace it properly in the few locations it appears in the package() function, which is a weird issue to have... I've tested also replacing it with "${profile}", $profile and other similar attempts to get it to properly replace the variable with the value just in case that was the issue, but it appears not to work either with a similar error about profile being an empty value unless it's directly replaced in the build() function. I don't exactly understand why that variable fails but the ${fix_pkgname} and ${pkgver} variables work just fine.

Snowstorm64 commented on 2024-04-05 08:11 (UTC)

Hi kusoneko, thanks for the report. How did you build it? If applicable, can you tell me which AUR helper you have used?

kusoneko commented on 2024-04-04 21:16 (UTC)

This doesn't build on my end currently, with the following error:

   Compiling librashader-build-script v0.1.0 (/build/librashader/src/librashader-librashader-v0.2.7/librashader-build-script)
    Finished dev [unoptimized + debuginfo] target(s) in 12.18s
     Running `target/debug/librashader-build-script --profile`
error: a value is required for '--profile <PROFILE>' but none was supplied

For more information, try '--help'.
==> ERROR: A failure occurred in build().
    Aborting...

It seems to work if I directly go in the PKGBUILD and replace in the build() function the ${profile} with optimized to avoid the variable substitution failing. I can't say why it fails in build but seems to work in package, but anyways, just thought I'd mention it