Last active
June 7, 2022 13:36
-
-
Save paulcarroty/a307c0c184671ca96f4aa9e9d0fa95b5 to your computer and use it in GitHub Desktop.
wine.spec
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Using hacked https://github.com/clearlinux-pkgs/wine RPM spec | |
# and non-interactive build mode https://github.com/Frogging-Family/wine-tkg-git | |
Name : wine | |
Version : 6.22 | |
Release : 80 | |
URL : https://github.com/Frogging-Family/wine-tkg-git | |
# Source0 : https://github.com/Frogging-Family/wine-tkg-git/archive/refs/heads/master.tar.gz | |
Source0 : https://dl.winehq.org/wine/source/6.x/wine-%{version}.tar.xz | |
Source1: https://github.com/wine-staging/wine-staging/archive/v%{version}.tar.gz#/wine-staging-%{version}.tar.gz | |
Summary : Windows translator layer for Linux | |
Group : Development/Tools | |
License : LGPL-2.1 MIT | |
Requires: wine-bin = %{version}-%{release} | |
Requires: wine-data = %{version}-%{release} | |
Requires: wine-lib = %{version}-%{release} | |
Requires: wine-license = %{version}-%{release} | |
Requires: wine-man = %{version}-%{release} | |
Requires: SDL2-lib | |
Requires: SDL2-lib32 | |
Requires: Vulkan-Loader-lib | |
Requires: Vulkan-Loader-lib32 | |
Requires: cups-lib | |
Requires: dbus-lib | |
Requires: dbus-lib32 | |
Requires: elfutils-lib32 | |
Requires: expat-lib32 | |
Requires: fontconfig-lib | |
Requires: fontconfig-lib32 | |
Requires: freetype-lib | |
Requires: freetype-lib32 | |
Requires: glu-lib | |
Requires: glu-lib32 | |
Requires: gnutls-lib | |
Requires: gnutls-lib32 | |
Requires: libX11-lib | |
Requires: libX11-lib32 | |
Requires: libXcursor-lib | |
Requires: libXcursor-lib32 | |
Requires: libdrm-lib32 | |
Requires: libjpeg-turbo-lib | |
Requires: libjpeg-turbo-lib32 | |
Requires: libpng-lib | |
Requires: libpng-lib32 | |
Requires: libxslt-lib | |
Requires: libxslt-lib32 | |
Requires: mesa-lib | |
Requires: mesa-lib32 | |
Requires: mpg123-lib32 | |
Requires: ncurses-lib | |
Requires: ncurses-lib32 | |
Requires: samba-lib | |
Requires: tiff-lib | |
Requires: tiff-lib32 | |
Requires: unixODBC-lib | |
Requires: v4l-utils-lib | |
Requires: v4l-utils-lib32 | |
Requires: wine-lib32 | |
BuildRequires : llvm | |
BuildRequires : rustc | |
BuildRequires : SDL2-dev32 | |
BuildRequires : acl-dev acl-dev32 | |
BuildRequires : alsa-lib-dev | |
BuildRequires : attr-dev | |
BuildRequires : bison | |
BuildRequires : cups-dev | |
BuildRequires : cyrus-sasl-dev | |
BuildRequires : dbus-dev32 dbus-dev | |
BuildRequires : flex | |
BuildRequires : fontconfig-dev32 | |
BuildRequires : freetype-dev32 | |
BuildRequires : gcc-dev32 | |
BuildRequires : gcc-libgcc32 | |
BuildRequires : gcc-libstdc++32 | |
BuildRequires : glibc-dev32 | |
BuildRequires : glibc-libc32 | |
BuildRequires : gstreamer-dev | |
BuildRequires : krb5-dev | |
BuildRequires : lcms2-dev32 lcms2-dev | |
BuildRequires : libX11-dev32 | |
BuildRequires : libXcomposite-dev32 libXcomposite-dev | |
BuildRequires : libXcursor-dev32 libXcursor-dev | |
BuildRequires : libXext-dev32 | |
BuildRequires : libXfixes-dev32 | |
BuildRequires : libXi-dev32 libXi-dev | |
BuildRequires : libXinerama-dev32 libXinerama-dev | |
BuildRequires : libXrandr-dev32 | |
BuildRequires : libXrender-dev32 | |
BuildRequires : libgphoto2-dev | |
BuildRequires : libjpeg-turbo-dev32 | |
BuildRequires : libpng-dev32 | |
BuildRequires : libxml2-dev32 | |
BuildRequires : mingw-binutils | |
BuildRequires : mingw-crt | |
BuildRequires : mingw-crt-dev | |
BuildRequires : mingw-gcc | |
BuildRequires : mpg123-dev | |
BuildRequires : ncurses-dev32 | |
BuildRequires : ocl-icd-dev | |
BuildRequires : openal-soft-dev | |
BuildRequires : openal-soft-dev32 | |
BuildRequires : opencl-headers-dev | |
BuildRequires : pkgconfig(32gl) | |
BuildRequires : pkgconfig(32glu) | |
BuildRequires : pkgconfig(32gnutls) | |
BuildRequires : pkgconfig(32ice) | |
BuildRequires : pkgconfig(32libpulse) | |
BuildRequires : pkgconfig(32libxslt) | |
BuildRequires : pkgconfig(32vulkan) | |
BuildRequires : pkgconfig(32x11) | |
BuildRequires : pkgconfig(32xext) | |
BuildRequires : pkgconfig(gstreamer-1.0) | |
BuildRequires : pkgconfig(libcdio) | |
BuildRequires : pkgconfig(ncurses) | |
BuildRequires : pkgconfig(ncursesw) | |
BuildRequires : pulseaudio-dev32 | |
BuildRequires : sane-backends-dev | |
BuildRequires : systemd-dev32 systemd-dev | |
BuildRequires : tiff-dev | |
BuildRequires : unixODBC-dev | |
BuildRequires : valgrind | |
BuildRequires : valgrind-dev | |
BuildRequires : vkd3d-dev | |
BuildRequires : vkd3d-dev32 | |
BuildRequires : gst-plugins-base-dev | |
BuildRequires : gst-plugins-base-dev | |
BuildRequires : xorgproto-dev xorgproto-dev32 | |
BuildRequires : freetype-dev freetype-dev32 | |
BuildRequires : fontconfig-dev fontconfig-dev32 | |
BuildRequires : mesa-dev mesa-dev32 | |
BuildRequires : tiff-dev tiff-dev32 | |
BuildRequires : libpcap-dev | |
BuildRequires : krb5-dev32 krb5-dev | |
BuildRequires : v4l-utils-dev v4l-utils-dev32 | |
BuildRequires : ibus-dev | |
BuildRequires : libXres-dev libXres-dev32 | |
BuildRequires : libXxf86dga-dev libXxf86dga-dev32 | |
BuildRequires : libusb-dev libusb-dev32 | |
BuildRequires : freeglut-dev | |
BuildRequires : attr-dev attr-dev32 | |
BuildRequires : librsvg-dev | |
BuildRequires : libXmu-dev libXmu-dev32 | |
BuildRequires : glslang-dev | |
BuildRequires : openssl-dev openssl-dev32 git | |
BuildRequires : wayland-dev wayland-protocols-dev | |
BuildRequires : gtk3-dev attr-dev libva-dev libva-dev32 | |
%description | |
Wine is a program which allows running Microsoft Windows programs | |
(including DOS, Windows 3.x, Win32, and Win64 executables) on Unix. | |
%prep | |
#%%setup -q -n wine-tkg-git-master | |
%setup -q -n wine-%{version} -a1 | |
wine-staging-%{version}/patches/patchinstall.sh DESTDIR="`pwd`" --all | |
# cd %%{_builddir}/wine-tkg-git-master/wine-tkg-git | |
# sed -i 's/_NOCOMPILE="false"/_NOCOMPILE="true"/' wine-tkg-profiles/advanced-customization.cfg | |
# fix bcrypt undefined error | |
# sed -i 's|_hotfixes+=("$_where"/wine-tkg-patches/hotfixes/rdr2/0001-proton-bcrypt_rdr2_fixes2)|echo "skip 0001-bcrypt_rdr2_fixes2"|' wine-tkg-patches/hotfixes/hotfixer | |
# sed -i 's|_hotfixes+=("$_where"/wine-tkg-patches/hotfixes/rdr2/0001-proton-bcrypt_rdr2_fixes)|echo "skip 0001-bcrypt_rdr2_fixes"|' wine-tkg-patches/hotfixes/hotfixer | |
# sed -i 's|_hotfixes+=("$_where"/wine-tkg-patches/hotfixes/rdr2/0002-bcrypt-Add-support-for-calculating-secret-ecc-keys)|echo "skip 0002-bcrypt"|' wine-tkg-patches/hotfixes/hotfixer | |
# sed -i 's|_hotfixes+=("$_where"/wine-tkg-patches/hotfixes/rdr2/0003-bcrypt-Add-support-for-OAEP-padded-asymmetric-key-de)|echo "skip 003-bcrypt"|' wine-tkg-patches/hotfixes/hotfixer | |
# sed -i 's|_hotfix_mainlinereverts+=(341cb1a933aec7b2858414f571ea98ba29caa72a)|echo "skip bcrypt mainlinereverts"|' wine-tkg-patches/hotfixes/hotfixer | |
# sed -i 's|_hotfixes+=("$_where"/wine-tkg-patches/hotfixes/rdr2/ef6e33f)|echo "skip bcrypt ef6e33f"|' wine-tkg-patches/hotfixes/hotfixer | |
# yes|./non-makepkg-build.sh | |
%build | |
pushd .. | |
# cp -a wine-tkg-git-master/wine-tkg-git/src/wine-mirror-git build64 | |
cp -a wine-%{version} build64 | |
popd | |
pushd ../build64 | |
export CFLAGS="`echo "$CFLAGS -O3" | sed 's/-ffat-lto-objects -flto//'`" | |
export CFLAGS="`echo "$CFLAGS" | sed s/-m32/-m64/`" | |
export CXXFLAGS="$CFLAGS" | |
%reconfigure --enable-win64 --without-gssapi | |
make %{?_smp_mflags} | |
popd | |
## build_prepend end | |
export http_proxy=http://127.0.0.1:9/ | |
export https_proxy=http://127.0.0.1:9/ | |
export no_proxy=localhost,127.0.0.1,0.0.0.0 | |
export LANG=C.UTF-8 | |
export SOURCE_DATE_EPOCH=1635298850 | |
export GCC_IGNORE_WERROR=1 | |
export CFLAGS="-O2 -g -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=32 -Wformat -Wformat-security -Wno-error -Wl,-z,max-page-size=0x1000 -march=westmere -mtune=haswell" | |
export CXXFLAGS=$CFLAGS | |
export FFLAGS="-O2 -g -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=32 -Wno-error -Wl,-z,max-page-size=0x1000 -march=westmere -mtune=haswell" | |
export FCFLAGS=$FFLAGS | |
unset LDFLAGS | |
export CFLAGS="$CFLAGS -Ofast -falign-functions=32 -fno-lto -fno-semantic-interposition -mno-vzeroupper -mprefer-vector-width=256 " | |
export FCFLAGS="$FFLAGS -Ofast -falign-functions=32 -fno-lto -fno-semantic-interposition -mno-vzeroupper -mprefer-vector-width=256 " | |
export FFLAGS="$FFLAGS -Ofast -falign-functions=32 -fno-lto -fno-semantic-interposition -mno-vzeroupper -mprefer-vector-width=256 " | |
export CXXFLAGS="$CXXFLAGS -Ofast -falign-functions=32 -fno-lto -fno-semantic-interposition -mno-vzeroupper -mprefer-vector-width=256 " | |
# pushd wine-tkg-git/src/wine-mirror-git | |
%reconfigure --disable-static --with-wine64=%{_builddir}/build64 \ | |
--libdir=/usr/lib32 \ | |
--disable-win16 | |
make %{?_smp_mflags} | |
#popd | |
%install | |
rm -rf %{buildroot} | |
mkdir -p %{buildroot}/usr/share/package-licenses/wine | |
cp %{_builddir}/wine-%{version}/COPYING.LIB %{buildroot}/usr/share/package-licenses/wine/a64734e065eb3fcf8b3eea74e695bf274048be81 | |
cp %{_builddir}/wine-%{version}/LICENSE %{buildroot}/usr/share/package-licenses/wine/abc50ed5f6b410141a576e7d925ca7d87f0c7afc | |
cp %{_builddir}/wine-%{version}/LICENSE.OLD %{buildroot}/usr/share/package-licenses/wine/02915a3f045528cc246cf0b22399bca9b3a75099 | |
# pushd wine-tkg-git/src/wine-mirror-git | |
%make_install | |
# popd | |
## install_append content | |
pushd ../build64 | |
%make_install | |
popd | |
rm -rf %{buildroot}/usr/share/man | |
# install static dev libs | |
# pushd wine-tkg-git/src/wine-mirror-git | |
# pushd wine-staging-%%{version} | |
find dlls -name 'lib*.a' -exec install {} %{buildroot}/usr/lib32/wine/ \; | |
#popd | |
find %{_builddir}/build64/dlls -name 'lib*.a' -exec install {} %{buildroot}/usr/lib64/wine/ \; | |
## install_append end | |
%files | |
%defattr(-,root,root,-) | |
/usr/bin | |
/usr/lib32 | |
/usr/lib64 | |
/usr/share/wine | |
/usr/share/package-licenses/wine |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%define _lto_cflags %{nil} | |
%define realver 7.10 | |
%define stagingver 7.10 | |
%define packagever 7.10 | |
%global flavor @BUILD_FLAVOR@%nil | |
# defaults .. | |
%define pkg wine-staging | |
%define compat_package winehq-staging | |
%define _prefix /opt/wine-staging | |
%define ver %packagever | |
%define lib_major 1 | |
%define lib_name lib%{pkg}1 | |
%define lib_name_devel lib%{pkg}-devel | |
%undefine _hardened_build | |
Name: %pkg | |
Version: %ver | |
Release: 0 | |
Epoch: 1 | |
Summary: WINE Is Not An Emulator - runs MS Windows programs | |
License: LGPLv2+ | |
Group: Emulators | |
URL: https://www.winehq.org/ | |
%ifarch x86_64 | |
%define wine %{name}64 | |
%define mark64 ()(64bit) | |
%else | |
%define wine %{name} | |
%define mark64 %{nil} | |
%endif | |
Source0: https://dl.winehq.org/wine/source/7.x/wine-%{realver}.tar.xz | |
Source1: https://dl.winehq.org/wine/source/7.x/wine-%{realver}.tar.xz.sign | |
Source100: https://github.com/wine-staging/wine-staging/archive/v%{realver}.tar.gz#/wine-staging-%{stagingver}.tar.xz | |
BuildRequires : SDL2-dev SDL2-dev32 | |
BuildRequires : acl-dev acl-dev32 | |
BuildRequires : alsa-lib-dev | |
BuildRequires : attr-dev | |
BuildRequires : bison | |
BuildRequires : cups-dev | |
BuildRequires : cyrus-sasl-dev | |
BuildRequires : dbus-dev32 dbus-dev | |
BuildRequires : flex | |
BuildRequires : fontconfig-dev32 | |
BuildRequires : freetype-dev32 | |
BuildRequires : gcc-dev32 | |
BuildRequires : gcc-libgcc32 | |
BuildRequires : gcc-libstdc++32 | |
BuildRequires : glibc-dev32 | |
BuildRequires : glibc-libc32 | |
BuildRequires : gstreamer-dev | |
BuildRequires : krb5-dev | |
BuildRequires : lcms2-dev32 lcms2-dev | |
BuildRequires : libX11-dev32 | |
BuildRequires : libXcomposite-dev32 libXcomposite-dev | |
BuildRequires : libXcursor-dev32 libXcursor-dev | |
BuildRequires : libXext-dev32 | |
BuildRequires : libXfixes-dev32 | |
BuildRequires : libXi-dev32 libXi-dev | |
BuildRequires : libXinerama-dev32 libXinerama-dev | |
BuildRequires : libXrandr-dev libXrandr-dev32 | |
BuildRequires : libXrender-dev libXrender-dev32 | |
BuildRequires : libgphoto2-dev | |
BuildRequires : libjpeg-turbo-dev32 | |
BuildRequires : libpng-dev32 | |
BuildRequires : libxml2-dev32 | |
BuildRequires : mingw-binutils | |
BuildRequires : mingw-crt | |
BuildRequires : mingw-crt-dev | |
BuildRequires : mingw-gcc | |
BuildRequires : mpg123-dev | |
BuildRequires : ncurses-dev32 | |
BuildRequires : ocl-icd-dev | |
BuildRequires : openal-soft-dev | |
BuildRequires : openal-soft-dev32 | |
BuildRequires : opencl-headers-dev | |
BuildRequires : pkgconfig(32gl) | |
BuildRequires : pkgconfig(32glu) | |
BuildRequires : pkgconfig(32gnutls) | |
BuildRequires : pkgconfig(32ice) | |
BuildRequires : pkgconfig(32libpulse) | |
BuildRequires : pkgconfig(32libxslt) | |
BuildRequires : pkgconfig(32vulkan) | |
BuildRequires : pkgconfig(32x11) | |
BuildRequires : pkgconfig(32xext) | |
BuildRequires : pkgconfig(gstreamer-1.0) | |
BuildRequires : pkgconfig(libcdio) | |
BuildRequires : pkgconfig(ncurses) | |
BuildRequires : pkgconfig(ncursesw) | |
BuildRequires : pulseaudio-dev32 | |
BuildRequires : sane-backends-dev | |
BuildRequires : systemd-dev32 systemd-dev | |
BuildRequires : tiff-dev | |
BuildRequires : unixODBC-dev | |
BuildRequires : valgrind | |
BuildRequires : valgrind-dev | |
BuildRequires : vkd3d-dev | |
BuildRequires : vkd3d-dev32 | |
BuildRequires : gst-plugins-base-dev | |
BuildRequires : gst-plugins-base-dev | |
BuildRequires : xorgproto-dev xorgproto-dev32 | |
BuildRequires : freetype-dev freetype-dev32 | |
BuildRequires : fontconfig-dev fontconfig-dev32 | |
BuildRequires : mesa-dev mesa-dev32 | |
BuildRequires : tiff-dev tiff-dev32 | |
BuildRequires : libpcap-dev | |
BuildRequires : krb5-dev32 krb5-dev | |
BuildRequires : v4l-utils-dev v4l-utils-dev32 | |
BuildRequires : ibus-dev | |
BuildRequires : libXres-dev libXres-dev32 | |
BuildRequires : libXxf86dga-dev libXxf86dga-dev32 | |
BuildRequires : libusb-dev libusb-dev32 | |
BuildRequires : freeglut-dev | |
BuildRequires : attr-dev attr-dev32 | |
BuildRequires : librsvg-dev | |
BuildRequires : libXmu-dev libXmu-dev32 | |
BuildRequires : glslang-dev | |
BuildRequires : openssl-dev openssl-dev32 git | |
BuildRequires : wayland-dev wayland-protocols-dev | |
BuildRequires : gtk3-dev attr-dev libva-dev libva-dev32 | |
BuildRequires : nasm yasm | |
%description | |
wine | |
%prep | |
# unpack tarball SOURCE0 | |
%setup -n wine-%realver -q -T -b0 | |
# apply wine staging patch set on top of the wine release. | |
tar xf %{SOURCE100} | |
bash ./wine-staging-%{stagingver}/patches/patchinstall.sh --all | |
%build | |
%define debug_package %{nil} | |
#export CFLAGS="$(echo "%{optflags}" | sed -e 's/-O2//' -e 's/-Wp,-D_FORTIFY_SOURCE=2//' -e 's/-fcf-protection//' -e 's/-fstack-protector-strong//' -e 's/-fstack-clash-protection//' -e 's/-ffat-lto-objects//') -O2" | |
#export CFLAGS="$(echo "%{optflags}" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//' -e 's/-fcf-protection//' -e 's/-fstack-protector-strong//' -e 's/-fstack-clash-protection//' -e 's/-ffat-lto-objects//')" | |
export CFLAGS="`echo "$CFLAGS -O3" | sed 's/-ffat-lto-objects/-fno-lto/'`" | |
export CFLAGS="`echo "$CFLAGS" | sed 's/-Wp,-D_FORTIFY_SOURCE=2//'`" | |
export CFLAGS="`echo "$CFLAGS" | sed 's/-fstack-protector//'`" | |
autoreconf -i -f | |
%configure \ | |
--with-gstreamer \ | |
--disable-tests \ | |
--with-xattr \ | |
--enable-win64 \ | |
--with-x | |
make -j1 | |
%install | |
%make_install LDCONFIG=/bin/true | |
# Compat symlinks for bindir | |
mkdir -p "%{buildroot}/usr/bin" | |
for _file in $(ls "%{buildroot}/%{_bindir}"); do \ | |
ln -s "%{_bindir}/$_file" "%{buildroot}/usr/bin/$_file"; \ | |
done | |
%ifarch x86_64 | |
for _file in wine wine-preloader; do \ | |
ln -s "%{_prefix}/bin/$_file" "%{buildroot}/usr/bin/$_file"; \ | |
done | |
%endif | |
%files | |
%defattr(-,root,root,-) | |
/usr/bin | |
/usr/share/wine | |
/usr/share/package-licenses | |
/usr/share/applications | |
/usr/lib64/wine | |
/usr/lib32/wine |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment