====== Information ====== * Wine * Wine Staging * sarnex/wine-d3d9-patches ((https://github.com/sarnex/wine-d3d9-patches)) * https://copr.fedorainfracloud.org/coprs/espionage724/wine-patches-gallium-nine * Heavily based off of [[https://copr.fedorainfracloud.org/coprs/dyskette/wine-gallium-nine/|dyskette/wine-gallium-nine]] ====== Dependencies ====== **** sudo dnf install 'rpm-build' ====== Prepare Build Environment ====== ===== Acquire SRPM ===== * Acquire SRPM from https://koji.fedoraproject.org/koji/packageinfo?packageID=4106 ===== Extract SRPM ===== **** rm -Rf ~/'rpmbuild' && rpm -ivh ~/'Downloads/wine'*'.src.rpm' && rm -fv ~/'Downloads/wine'*'.src.rpm' && sync ====== Spec Config ====== **** gio open ~/'rpmbuild/SPECS/wine.spec' ===== Release ===== * Default release is ''1%{?dist}'' * Increase ''1'' for future package builds * Add ''.g9'' to the end to make ''1%{?dist}.g9'' * If ''Version'' changes, start back at release ''1'' * Check https://copr.fedorainfracloud.org/coprs/espionage724/wine-patches-gallium-nine/packages/ Release: 1%{?dist}.g9 ===== Add Patches ===== * Add under ''Patch511'' ((around line 70, likely a source include for ''wine-cjk.patch'')) * Check all filenames to be sure they're still correct # sarnex/wine-d3d9-patches Patch600: staging-helper.patch Patch601: wine-d3d9.patch ===== BuildRequires ===== ==== mesa-libd3d-devel ==== * This happens around line ''163'' * Add after ''# Silverlight DRM-stuff needs XATTR enabled.'' block # Gallium Nine BuildRequires: mesa-libd3d-devel === Preview === BuildRequires: libva-devel %endif # 0%{?wine_staging} # Gallium Nine BuildRequires: mesa-libd3d-devel %if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 BuildRequires: openal-soft-devel ==== mesa-libd3d(x86-32) ==== * This happens around line ''294'' * Add after ''libva(x86-32)'' require Requires: mesa-libd3d(x86-32) === Preview === Requires: vulkan(x86-32) %if 0%{?wine_staging} Requires: libva(x86-32) %endif Requires: mesa-libd3d(x86-32) %endif ==== mesa-libd3d(x86-64) ==== * This happens around line ''319'' * Add after ''libva(x86-64)'' require Requires: mesa-libd3d(x86-64) === Preview === Requires: vulkan(x86-64) %if 0%{?wine_staging} Requires: libva(x86-64) %endif Requires: mesa-libd3d(x86-64) %endif ===== Include Patches ===== * This happens around line ''704'' * Add above ''%build'' ((it should be in the ''%prep'' section, but at the very end, which happens to be above ''%build'')) # sarnex/wine-d3d9-patches %patch600 -p1 %patch601 -p1 autoreconf -f ==== Preview ==== # fix parallelized build sed -i -e 's!^loader server: libs/port libs/wine tools.*!& include!' Makefile.in %endif # 0%{?wine_staging} # sarnex/wine-d3d9-patches %patch600 -p1 %patch601 -p1 autoreconf -f %build ===== with-d3d9-nine Configure ===== * This happens around line ''735'' * Add to ''%configure'' section above ''--disable-tests'' --with-d3d9-nine \ ==== Preview ==== %{?wine_staging: --with-xattr} \ --with-d3d9-nine \ --disable-tests make %{?_smp_mflags} TARGETFLAGS="" ===== d3d9-nine.dll Library ===== * This happens around line ''1450'' * Add above ''%{_libdir}/wine/d3d10.dll.so'' %{_libdir}/wine/d3d9-nine.dll.so ==== Preview ==== %{_libdir}/wine/d2d1.dll.so %{_libdir}/wine/d3d9-nine.dll.so %{_libdir}/wine/d3d10.dll.so %{_libdir}/wine/d3d10_1.dll.so ====== Build SRPM ====== * https://copr.fedorainfracloud.org/coprs/espionage724/wine-patches-gallium-nine/add_build_upload rpmbuild -bs ~/'rpmbuild/SPECS/wine.spec' && sync ~/rpmbuild/SRPMS ====== Compile Locally ====== sudo dnf builddep ~/'rpmbuild/SRPMS/wine'*'.src.rpm' && sync rpmbuild -ba ~/'rpmbuild/SPECS/wine.spec' && sync ====== Cleanup ====== sudo dnf remove 'rpm-build' rm -Rf ~/'rpmbuild' ~/'Downloads/wine'*'.src.rpm'