diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ddae1c3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/dxvk-1.3.2.tar.gz diff --git a/sources b/sources new file mode 100644 index 0000000..b5d4247 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (dxvk-1.3.2.tar.gz) = 2fcbaeaeded72ac439cc9e653b94ca547b17b7f53000cfb721a8f14f290fa467db9ccb2d13bc30775c1a28081da1638a948921bf82f6425f4c7ab0e55007df48 diff --git a/wine-dxvk.spec b/wine-dxvk.spec new file mode 100644 index 0000000..874a595 --- /dev/null +++ b/wine-dxvk.spec @@ -0,0 +1,143 @@ +%global debug_package %{nil} + +%ifarch x86_64 +%global platform_identificator x86_64-redhat-linux-gnu +%global target_x86_type 64 +%else +%global platform_identificator i686-redhat-linux-gnu +%global target_x86_type 32 +%endif + +Name: wine-dxvk +Version: 1.3.2 +Release: 1%{?dist} +Summary: Vulkan-based D3D11 and D3D10 implementation for Linux / Wine + +License: zlib +URL: https://github.com/doitsujin/dxvk +Source0: %{url}/archive/v%{version}/dxvk-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: glslang +BuildRequires: meson +BuildRequires: wine-devel + +%ifarch x86_64 +BuildRequires: mingw64-filesystem +BuildRequires: mingw64-binutils +BuildRequires: mingw64-headers +BuildRequires: mingw64-cpp +BuildRequires: mingw64-gcc +BuildRequires: mingw64-gcc-c++ +BuildRequires: mingw64-winpthreads-static +%else +BuildRequires: mingw32-filesystem +BuildRequires: mingw32-binutils +BuildRequires: mingw32-headers +BuildRequires: mingw32-cpp +BuildRequires: mingw32-gcc +BuildRequires: mingw32-gcc-c++ +BuildRequires: mingw32-winpthreads-static +%endif + +Requires: wine >= 4.13 +Requires: wine-dxvk-dxgi%{?_isa} = %{version}-%{release} +Requires: vulkan-loader%{?_isa} + +# We want x86_64 users to alwyas have also 32 bit lib, it's the same what wine does +%ifarch x86_64 +Requires: wine-dxvk(x86-32) = %{version}-%{release} +%endif + +Requires(posttrans): %{_sbindir}/alternatives +Requires(preun): %{_sbindir}/alternatives + +ExclusiveArch: %{ix86} x86_64 + +%description +%{summary} + +%package dxgi +Summary: DXVK DXGI implementation + +%description dxgi +%{summary} + +%prep +%setup -q -n dxvk-%{version} + +%build +/usr/bin/meson --buildtype=plain --wrap-mode=nodownload --auto-features=enabled . %{platform_identificator} \ +--cross-file build-wine%{target_x86_type}.txt --buildtype release --prefix /builddir/build/BUILD/dxvk-%{version}/build +%meson_build + +# Copy compiled .so files aside before cleaning up the build directory +cp /builddir/build/BUILD/dxvk-%{version}/%{platform_identificator}/src/dxgi/dxgi.dll.so /builddir/build/BUILD/dxvk-%{version}/dxgi.dll.so +cp /builddir/build/BUILD/dxvk-%{version}/%{platform_identificator}/src/d3d11/d3d11.dll.so /builddir/build/BUILD/dxvk-%{version}/d3d11.dll.so +cp /builddir/build/BUILD/dxvk-%{version}/%{platform_identificator}/src/d3d10/d3d10.dll.so /builddir/build/BUILD/dxvk-%{version}/d3d10.dll.so +cp /builddir/build/BUILD/dxvk-%{version}/%{platform_identificator}/src/d3d10/d3d10_1.dll.so /builddir/build/BUILD/dxvk-%{version}/d3d10_1.dll.so +cp /builddir/build/BUILD/dxvk-%{version}/%{platform_identificator}/src/d3d10/d3d10core.dll.so /builddir/build/BUILD/dxvk-%{version}/d3d10core.dll.so + +/usr/bin/meson --wipe --buildtype=plain --wrap-mode=nodownload --auto-features=enabled . %{platform_identificator} \ +--cross-file build-win%{target_x86_type}.txt --buildtype release --prefix /builddir/build/BUILD/dxvk-%{version}/build +%meson_build + +%install +%meson_install +mkdir -p %{buildroot}%{_libdir}/wine/ +install -p -m 755 /builddir/build/BUILD/dxvk-%{version}/dxgi.dll.so %{buildroot}%{_libdir}/wine/ +install -p -m 755 /builddir/build/BUILD/dxvk-%{version}/d3d11.dll.so %{buildroot}%{_libdir}/wine/ +install -p -m 755 /builddir/build/BUILD/dxvk-%{version}/d3d10.dll.so %{buildroot}%{_libdir}/wine/ +install -p -m 755 /builddir/build/BUILD/dxvk-%{version}/d3d10_1.dll.so %{buildroot}%{_libdir}/wine/ +install -p -m 755 /builddir/build/BUILD/dxvk-%{version}/d3d10core.dll.so %{buildroot}%{_libdir}/wine/ + +install -p -m 755 %buildroot/builddir/build/BUILD/dxvk-%{version}/build/bin/d3d10.dll %{buildroot}%{_libdir}/wine/ +install -p -m 755 %buildroot/builddir/build/BUILD/dxvk-%{version}/build/bin/d3d10core.dll %{buildroot}%{_libdir}/wine/ +install -p -m 755 %buildroot/builddir/build/BUILD/dxvk-%{version}/build/bin/d3d10_1.dll %{buildroot}%{_libdir}/wine/ +install -p -m 755 %buildroot/builddir/build/BUILD/dxvk-%{version}/build/bin/d3d11.dll %{buildroot}%{_libdir}/wine/ +rm -rf %buildroot/builddir/build/BUILD/dxvk-%{version}/build + +mv %{buildroot}%{_libdir}/wine/dxgi.dll.so %{buildroot}%{_libdir}/wine/dxvk-dxgi.dll.so +mv %{buildroot}%{_libdir}/wine/d3d10.dll %{buildroot}%{_libdir}/wine/dxvk-d3d10.dll +mv %{buildroot}%{_libdir}/wine/d3d10core.dll %{buildroot}%{_libdir}/wine/dxvk-d3d10core.dll +mv %{buildroot}%{_libdir}/wine/d3d10_1.dll %{buildroot}%{_libdir}/wine/dxvk-d3d10_1.dll +mv %{buildroot}%{_libdir}/wine/d3d11.dll %{buildroot}%{_libdir}/wine/dxvk-d3d11.dll + +%posttrans +%{_sbindir}/alternatives --install %{_libdir}/wine/dxgi.dll.so 'wine-dxgi%{?_isa}' %{_libdir}/wine/dxvk-dxgi.dll.so 20 +%{_sbindir}/alternatives --install %{_libdir}/wine/d3d10.dll 'wine-d3d10%{?_isa}' %{_libdir}/wine/dxvk-d3d10.dll 20 \ +--slave %{_libdir}/wine/d3d10_1.dll 'wine-d3d10_1%{?_isa}' %{_libdir}/wine/dxvk-d3d10_1.dll \ +--slave %{_libdir}/wine/d3d10core.dll 'wine-d3d10core%{?_isa}' %{_libdir}/wine/dxvk-d3d10core.dll +%{_sbindir}/alternatives --install %{_libdir}/wine/d3d11.dll 'wine-d3d11%{?_isa}' %{_libdir}/wine/dxvk-d3d11.dll 20 + +%postun +%{_sbindir}/alternatives --remove 'wine-dxgi%{?_isa}' %{_libdir}/wine/dxvk-dxgi.dll.so +%{_sbindir}/alternatives --remove 'wine-d3d10%{?_isa}' %{_libdir}/wine/dxvk-d3d10.dll +%{_sbindir}/alternatives --remove 'wine-d3d11%{?_isa}' %{_libdir}/wine/dxvk-d3d11.dll + +%files +%license LICENSE +%doc README.md +%{_libdir}/wine/dxvk-d3d10.dll +%{_libdir}/wine/dxvk-d3d10_1.dll +%{_libdir}/wine/dxvk-d3d10core.dll +%{_libdir}/wine/dxvk-d3d11.dll +%{_libdir}/wine/d3d10.dll.so +%{_libdir}/wine/d3d10_1.dll.so +%{_libdir}/wine/d3d10core.dll.so +%{_libdir}/wine/d3d11.dll.so + +%files dxgi +%license LICENSE +%{_libdir}/wine/dxvk-dxgi.dll.so + + +%changelog +* Sun Aug 11 2019 Frantisek Zatloukal - 1.3.2-1 +- Release 1.3.2 +- Use alternatives for .dll files and dxgi.dll.so + +* Thu Jul 25 2019 Frantisek Zatloukal - 1.3.1-1 +- Initial packaging +