shaderc/shaderc.spec

183 lines
5.8 KiB
RPMSpec
Raw Normal View History

# Force out of source build
%undefine __cmake_in_source_build
# Release 2020.4
2021-05-24 14:47:19 +00:00
%global commit bdd134d1b7eca01925c1919d2ea05fd3cd6843c7
2018-10-02 16:08:23 +00:00
%global shortcommit %(c=%{commit}; echo ${c:0:7})
2021-05-24 14:47:19 +00:00
%global snapshotdate 20210524
2018-10-02 16:08:23 +00:00
# Glslang revision from packaged version
2021-05-24 14:47:19 +00:00
%global glslang_version 18eef33bd7a4bf5ad8c69f99cb72022608cf6e73
2018-10-02 16:08:23 +00:00
Name: shaderc
2021-05-24 14:47:19 +00:00
Version: 2021.0
Release: 2%{?dist}
2018-10-02 16:08:23 +00:00
Summary: A collection of tools, libraries, and tests for Vulkan shader compilation
License: ASL 2.0
URL: https://github.com/google/shaderc
Source0: %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
# Patch to unbundle 3rd party code
2018-10-03 16:10:23 +00:00
Patch1: 0001-Drop-third-party-code-in-CMakeLists.txt.patch
2020-08-10 14:25:15 +00:00
Patch2: glslang_linker_flags.patch
2018-10-02 16:08:23 +00:00
BuildRequires: cmake3
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: python3-devel
BuildRequires: glslang-devel
BuildRequires: spirv-headers-devel
BuildRequires: spirv-tools
BuildRequires: spirv-tools-devel
%description
A collection of tools, libraries and tests for shader compilation.
2018-10-02 16:08:23 +00:00
Shaderc aims to to provide:
- a command line compiler with GCC- and Clang-like usage, for better
2018-10-02 16:08:23 +00:00
integration with build systems
- an API where functionality can be added without breaking existing clients
- an API supporting standard concurrency patterns across multiple
2018-10-02 16:08:23 +00:00
operating systems
- increased functionality such as file #include support
%package -n glslc
Summary: A command line compiler for GLSL/HLSL to SPIR-V
%description -n glslc
A command line compiler for GLSL/HLSL to SPIR-V.
%package -n libshaderc
Summary: A library for compiling shader strings into SPIR-V
%description -n libshaderc
A library for compiling shader strings into SPIR-V.
%package -n libshaderc-devel
Summary: Development files for libshaderc
Requires: libshaderc%{?_isa} = %{version}-%{release}
%description -n libshaderc-devel
A library for compiling shader strings into SPIR-V.
Development files for libshaderc.
%package -n libshaderc-static
Summary: A library for compiling shader strings into SPIR-V (static libraries)
%description -n libshaderc-static
A library for compiling shader strings into SPIR-V.
Static libraries for libshaderc.
%prep
%autosetup -p1 -n %{name}-%{commit}
rm -rf third_party
# Stolen from Gentoo
# Create build-version.inc since we want to use our packaged
2018-10-02 16:08:23 +00:00
# SPIRV-Tools and glslang
echo \"shaderc $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\? [[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}$' CHANGES)\" \
2018-10-02 16:08:23 +00:00
> glslc/src/build-version.inc
echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\? [[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}$' /usr/share/doc/spirv-tools/CHANGES)\" \
2018-10-02 16:08:23 +00:00
>> glslc/src/build-version.inc
echo \"glslang %{glslang_version}\" >> glslc/src/build-version.inc
# Point to correct include
sed -i 's|SPIRV/GlslangToSpv.h|glslang/SPIRV/GlslangToSpv.h|' libshaderc_util/src/compiler.cc
2018-10-02 16:08:23 +00:00
%build
# We disable the tests because they don't work with our unbundling of 3rd party.
# See https://github.com/google/shaderc/issues/470
%cmake3 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_SKIP_RPATH=True \
-DSHADERC_SKIP_TESTS=True \
-DPYTHON_EXE=%{__python3} \
-GNinja
%cmake3_build
2018-10-02 16:08:23 +00:00
%install
%cmake3_install
2018-10-02 16:08:23 +00:00
%check
%ctest3
2018-10-02 16:08:23 +00:00
%files -n glslc
%doc glslc/README.asciidoc
%license LICENSE
%{_bindir}/glslc
%files -n libshaderc
%doc AUTHORS CHANGES CONTRIBUTORS README.md
%license LICENSE
%{_libdir}/libshaderc_shared.so.1*
%files -n libshaderc-devel
%{_includedir}/%{name}/
%{_libdir}/libshaderc_shared.so
%{_libdir}/pkgconfig/shaderc.pc
2018-10-02 16:08:23 +00:00
%files -n libshaderc-static
%license LICENSE
%{_libdir}/libshaderc.a
%{_libdir}/libshaderc_combined.a
%{_libdir}/pkgconfig/shaderc_static.pc
%{_libdir}/pkgconfig/shaderc_combined.pc
2018-10-02 16:08:23 +00:00
%changelog
* Sun May 30 11:26:42 CEST 2021 Robert-André Mauchin <zebob.m@gmail.com> - 2021.0-2
- Update to 2021.0
- Fix changelog
- Close: rhbz#1952332
2021-03-05 12:53:55 +00:00
* Fri Mar 5 13:43:44 CET 2021 Robert-André Mauchin <zebob.m@gmail.com> - 2020.5-1
- Update to 2020.5
- Close: rhbz#1931006
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2020.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Dec 26 15:21:39 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2020.4-1
- Update to 2020.4
- Close: rhbz#1906260
* Sat Dec 05 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2020.3-1
- Update to 2020.3
- Close: rhbz#1875183
2020-08-10 14:25:15 +00:00
* Sat Aug 08 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2020.2-1
- Update to 2020.2
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2020.1-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2020.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jun 17 20:15:27 CEST 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2020.1-1
- Update to 2020.1
* Sun Feb 02 20:53:01 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2019.1-1
- Update to 2019.1
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2019.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2019.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jun 10 00:18:18 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 2019.0-1
- Release 2019.0
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2018.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2018-10-03 16:10:23 +00:00
* Wed Oct 03 2018 Robert-André Mauchin <zebob.m@gmail.com> - 2018.0-1
- Release 2018.0
2018-10-02 16:08:23 +00:00
* Mon Sep 24 2018 Robert-André Mauchin <zebob.m@gmail.com> - 2017.2-1
- Initial build