Name: librashader %define lname librashader0 %define profile optimized Summary: RetroArch shaders for all License: MPL-2.0 Version: 0.2.0~beta.2 Release: 0 URL: https://github.com/SnowflakePowered/%{name} Source0: librashader-%{version}.tar.xz Source1: vendor.tar.xz Source2: cargo_config BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(shaderc) BuildRequires: ninja-build BuildRequires: patchelf BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cargo BuildRequires: rust Requires: vulkan %description RetroArch shader runtime Summary: RetroArch shader runtime Provides: librashader %prep %setup -qa1 mkdir .cargo # cargo automatically uses this dir cp %{SOURCE2} .cargo/config # and automatically uses this config %build RUSTC_BOOTSTRAP=1 cargo run -p librashader-build-script -- --profile %{profile} %install mkdir -p %{buildroot}/%{_libdir} mkdir -p %{buildroot}/%{_includedir}/librashader patchelf --set-soname librashader.so.1 target/%{profile}/librashader.so install -m 0755 target/%{profile}/librashader.so %{buildroot}%{_libdir}/librashader.so cp target/%{profile}/librashader.h %{buildroot}%{_includedir}/librashader/librashader.h cp include/librashader_ld.h %{buildroot}%{_includedir}/librashader/librashader_ld.h %files %{_libdir}/librashader.so %if !0%{?suse_version} %{_libdir}/librashader.so.1 %endif %{_includedir}/librashader/