Table of Contents

Information

Dependencies

sudo dnf install 'rpm-build'

Prepare Build Environment

Acquire SRPM

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

Release:        1%{?dist}.g9

Add Patches

# sarnex/wine-d3d9-patches
Patch600:       staging-helper.patch
Patch601:       wine-d3d9.patch

BuildRequires

mesa-libd3d-devel

# 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)

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)

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

# 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

 --with-d3d9-nine \

Preview

%{?wine_staging: --with-xattr} \
 --with-d3d9-nine \
 --disable-tests

make %{?_smp_mflags} TARGETFLAGS=""

d3d9-nine.dll Library

%{_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

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'
2)
around line 70, likely a source include for wine-cjk.patch
3)
it should be in the %prep section, but at the very end, which happens to be above %build