From 904463c1b770a677912110787151e4a24dadfb32 Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Mon, 19 May 2025 04:41:01 -0700 Subject: [PATCH] add: Terra WINE (#4857) (#4896) * add: Terra WINE stack * chore: Rename some stuff and conflicts * chore: Rename Git * Update winetricks-git.spec * Update winetricks.spec * Update and rename wine-devel.spec to wine-dev.spec * fix: Weird ix86 stuff * fix: I messed with Winetricks last can you tell * fix: Requires * fix: Files * fix?: aarch64 fixes * fix: Better dir fix * fix: Even better * fix: What * fix: ? * AaaaaAAAAA * Update wine-stable.spec * Update wine-dev.spec * Update winetricks-git.spec * Hopefully actually fix that jank --------- (cherry picked from commit 3c1be11bfd91710378646e9f5bcefe1e77f54b4d) Signed-off-by: Gilver Co-authored-by: Gilver --- anda/apps/winetricks/git/anda.hcl | 10 + anda/apps/winetricks/git/update.rhai | 7 + anda/apps/winetricks/git/winetricks-git.spec | 75 ++++ anda/apps/winetricks/stable/anda.hcl | 9 + anda/apps/winetricks/stable/update.rhai | 1 + anda/apps/winetricks/stable/winetricks.spec | 68 +++ anda/system/wine/dev/anda.hcl | 11 + anda/system/wine/dev/update.rhai | 12 + anda/system/wine/dev/wine-dev.spec | 420 +++++++++++++++++++ anda/system/wine/dev/wine.keyring | 52 +++ anda/system/wine/stable/anda.hcl | 11 + anda/system/wine/stable/update.rhai | 6 + anda/system/wine/stable/wine-stable.spec | 413 ++++++++++++++++++ anda/system/wine/stable/wine.keyring | 52 +++ anda/system/wine/staging/anda.hcl | 11 + anda/system/wine/staging/update.rhai | 12 + anda/system/wine/staging/wine-staging.spec | 417 ++++++++++++++++++ anda/system/wine/staging/wine.keyring | 52 +++ 18 files changed, 1639 insertions(+) create mode 100644 anda/apps/winetricks/git/anda.hcl create mode 100644 anda/apps/winetricks/git/update.rhai create mode 100644 anda/apps/winetricks/git/winetricks-git.spec create mode 100644 anda/apps/winetricks/stable/anda.hcl create mode 100644 anda/apps/winetricks/stable/update.rhai create mode 100644 anda/apps/winetricks/stable/winetricks.spec create mode 100644 anda/system/wine/dev/anda.hcl create mode 100644 anda/system/wine/dev/update.rhai create mode 100644 anda/system/wine/dev/wine-dev.spec create mode 100644 anda/system/wine/dev/wine.keyring create mode 100644 anda/system/wine/stable/anda.hcl create mode 100644 anda/system/wine/stable/update.rhai create mode 100644 anda/system/wine/stable/wine-stable.spec create mode 100644 anda/system/wine/stable/wine.keyring create mode 100644 anda/system/wine/staging/anda.hcl create mode 100644 anda/system/wine/staging/update.rhai create mode 100644 anda/system/wine/staging/wine-staging.spec create mode 100644 anda/system/wine/staging/wine.keyring diff --git a/anda/apps/winetricks/git/anda.hcl b/anda/apps/winetricks/git/anda.hcl new file mode 100644 index 0000000000..dfa0346fa5 --- /dev/null +++ b/anda/apps/winetricks/git/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "winetricks-git.spec" + } + labels { + subrepo = "extras" + nightly = 1 + } +} diff --git a/anda/apps/winetricks/git/update.rhai b/anda/apps/winetricks/git/update.rhai new file mode 100644 index 0000000000..72c0a1c662 --- /dev/null +++ b/anda/apps/winetricks/git/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("Winetricks/winetricks")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("Winetricks/winetricks"); + rpm.global("ver", v); +} diff --git a/anda/apps/winetricks/git/winetricks-git.spec b/anda/apps/winetricks/git/winetricks-git.spec new file mode 100644 index 0000000000..881a9d4fa8 --- /dev/null +++ b/anda/apps/winetricks/git/winetricks-git.spec @@ -0,0 +1,75 @@ +# Fedora sometimes sources the snapshots under stable versions and just bumps release +# For user clarity I have separated these into different packages +%global commit 00427b67de70bfefd282d0abc7edd1daa442e73e +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global ver 20250102 +%global commit_date 20250504 + +Name: winetricks-git +Version: %{ver}^%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: Work around common problems in Wine; Winetricks Git builds +License: LGPL-2.1-or-later +URL: https://github.com/Winetricks/winetricks +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{commit}.tar.gz +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: make +Requires: cabextract +Requires: gzip +Requires: unzip +Requires: wget +Requires: which +Requires: hicolor-icon-theme +Requires: (kdialog or zenity) +Requires: (wine-stable or wine-staging or wine-dev or wine-common) +Conflicts: winetricks +Conflicts: terra-winetricks +BuildArch: noarch +# need arch-specific wine, not available everywhere: +# - adopted from wine.spec +ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 +ExcludeArch: ppc64 ppc64le + +%description +Winetricks is an easy way to work around common problems in Wine. + +It has a menu of supported games/apps for which it can do all the +workarounds automatically. It also lets you install missing DLLs +or tweak various Wine settings individually. + +This version of Winetricks is built from the latest Git. + +It is also compatible with Terra WINE builds. + +%prep +%setup -qn winetricks-%{commit} + +sed -i -e s:steam:: -e s:flash:: tests/* + +%build +# Empty build section because RPM + +%install +%make_install +# some tarballs do not install appdata +install -Dm0644 -t %{buildroot}%{_datadir}/metainfo src/io.github.winetricks.Winetricks.metainfo.xml + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/winetricks.desktop + + +%files +%license COPYING +%license debian/copyright +%doc README.md +%{_bindir}/winetricks +%{_mandir}/man1/winetricks.1* +%{_datadir}/applications/winetricks.desktop +%{_datadir}/bash-completion/completions/winetricks +%{_datadir}/icons/hicolor/scalable/apps/winetricks.svg +%{_datadir}/metainfo/io.github.winetricks.Winetricks.metainfo.xml + + +%changelog +%autochangelog diff --git a/anda/apps/winetricks/stable/anda.hcl b/anda/apps/winetricks/stable/anda.hcl new file mode 100644 index 0000000000..a57839ea14 --- /dev/null +++ b/anda/apps/winetricks/stable/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "winetricks.spec" + } + labels { + subrepo = "extras" + } +} diff --git a/anda/apps/winetricks/stable/update.rhai b/anda/apps/winetricks/stable/update.rhai new file mode 100644 index 0000000000..bf79b1bee5 --- /dev/null +++ b/anda/apps/winetricks/stable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Winetricks/winetricks")); diff --git a/anda/apps/winetricks/stable/winetricks.spec b/anda/apps/winetricks/stable/winetricks.spec new file mode 100644 index 0000000000..29132eb2d7 --- /dev/null +++ b/anda/apps/winetricks/stable/winetricks.spec @@ -0,0 +1,68 @@ +# Fedora sometimes sources the snapshots under stable versions and just bumps release +# For user clarity I have separated these into different packages + +Name: terra-winetricks +Version: 20250102 +Release: 1%{?dist} +Summary: Winetricks built to be compatible with Terra WINE builds +License: LGPL-2.1-or-later +URL: https://github.com/Winetricks/winetricks +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: make +Requires: cabextract +Requires: gzip +Requires: unzip +Requires: wget +Requires: which +Requires: hicolor-icon-theme +Requires: (kdialog or zenity) +Requires: (wine-stable or wine-staging or wine-dev) +Conflicts: winetricks +Conflicts: winetricks-git +BuildArch: noarch +# need arch-specific wine, not available everywhere: +# - adopted from wine.spec +ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 +ExcludeArch: ppc64 ppc64le + +%description +Winetricks is an easy way to work around common problems in Wine. + +It has a menu of supported games/apps for which it can do all the +workarounds automatically. It also lets you install missing DLLs +or tweak various Wine settings individually. + + +%prep +%setup -q -n winetricks-%{version} + +sed -i -e s:steam:: -e s:flash:: tests/* + +%build +# Empty build section because RPM + +%install +%make_install +# some tarballs do not install appdata +install -Dm0644 -t %{buildroot}%{_datadir}/metainfo src/io.github.winetricks.Winetricks.metainfo.xml + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/winetricks.desktop + + +%files +%license COPYING +%license debian/copyright +%doc README.md +%{_bindir}/winetricks +%{_mandir}/man1/winetricks.1* +%{_datadir}/applications/winetricks.desktop +%{_datadir}/bash-completion/completions/winetricks +%{_datadir}/icons/hicolor/scalable/apps/winetricks.svg +%{_datadir}/metainfo/io.github.winetricks.Winetricks.metainfo.xml + + +%changelog +%autochangelog diff --git a/anda/system/wine/dev/anda.hcl b/anda/system/wine/dev/anda.hcl new file mode 100644 index 0000000000..ae57da621e --- /dev/null +++ b/anda/system/wine/dev/anda.hcl @@ -0,0 +1,11 @@ +project pkg { + arches = ["x86_64", "aarch64", "i386"] + rpm { + spec = "wine-dev.spec" + extra_repos = ["https://repos.fyralabs.com/terrarawhide-mesa"] + } + labels { + mock = 1 + subrepo = "extras" + } +} diff --git a/anda/system/wine/dev/update.rhai b/anda/system/wine/dev/update.rhai new file mode 100644 index 0000000000..65224dc820 --- /dev/null +++ b/anda/system/wine/dev/update.rhai @@ -0,0 +1,12 @@ +let v = (gitlab_tag("gitlab.winehq.org", "5")); +v.crop(1); +rpm.global("ver", v); // Sometimes the development branch includes RC candidates +if rpm.changed () { + rpm.release(); + // Only find versions ending in .x (point releases) + let matches = (find_all("[\\d.]+[.]x", get("https://dl.winehq.org/wine/source/"))); + matches.dedup(); + let s = sh(`echo ${matches} | sed 's/,//g' | sed 's/\[//g' | sed 's/\]//g' | sed 's/"//g' | tr ' ' '\n' | sort -nr | tr '\n' ' '`, #{"stdout": "piped"}).ctx.stdout; + s.truncate(4); + rpm.global("srcmajor", s); +} diff --git a/anda/system/wine/dev/wine-dev.spec b/anda/system/wine/dev/wine-dev.spec new file mode 100644 index 0000000000..270a0ed1f7 --- /dev/null +++ b/anda/system/wine/dev/wine-dev.spec @@ -0,0 +1,420 @@ +# Terra WINE Development branch +# Based on WineHQ's WINE builds with changes for our repos and update system + + +%define _lto_cflags %{nil} +%global flavor %nil +%global compat_package terra-wine-dev +# Cannot use the _datadir macro here or it will cause mass macro recursion +%global _prefix /usr/share/wine-dev +%global srcmajor 10.x +# Make this as a variable instead in case of WINE RCs +%global ver 10.7 + +# This is unfortunate but a lot of Fedora's/SUSE's hardening flags break WINE +%undefine _hardened_build + +# Upstream WineHQ names this -devel, I have renamed it dev to signify it is the dev branch +# Also less confusing because it has a devel package +Name: wine-dev +Version: %(echo %{ver} | sed 's/-/~/g') +Release: 1 +Epoch: 1 +Summary: WINE Is Not An Emulator - runs MS Windows programs +License: LGPL-2.0-or-later +Group: Emulators +URL: https://www.winehq.org + +%define lib_major 1 +%define lib_name lib%{name}1 +%define lib_name_devel lib%{name}-devel + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%define wine %{name}64 +%define mark64 ()(64bit) +%else +%define wine %{name} +%define mark64 %{nil} +%endif +%endif + +%if 0%{?fedora} >= 40 +%define wine %{name} +%ifarch x86_64 +%define mark64 ()(64bit) +%else +%define mark64 %{nil} +%endif +%endif + +Source0: https://dl.winehq.org/wine/source/%{srcmajor}/wine-%{ver}.tar.xz +Source1: https://dl.winehq.org/wine/source/%{srcmajor}/wine-%{version}.tar.xz.sign + +# Alexandres key +Source99: wine.keyring + +BuildRequires: alsa-lib-devel +BuildRequires: audiofile-devel +BuildRequires: autoconf +BuildRequires: bison +BuildRequires: coreutils +BuildRequires: cups-devel +BuildRequires: dbus-devel +BuildRequires: desktop-file-utils +BuildRequires: flex +BuildRequires: fontconfig-devel +BuildRequires: fontforge +BuildRequires: fontpackages-devel +BuildRequires: freeglut-devel +BuildRequires: freetype-devel +BuildRequires: gawk +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: giflib-devel +BuildRequires: gnupg2 +BuildRequires: gnutls-devel +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel +BuildRequires: icoutils +BuildRequires: ImageMagick-devel +BuildRequires: krb5-devel +BuildRequires: lcms2-devel +BuildRequires: libattr-devel +BuildRequires: libavcodec-free-devel +BuildRequires: libavformat-free-devel +BuildRequires: libavutil-free-devel +BuildRequires: libgphoto2-devel +BuildRequires: libieee1284-devel +BuildRequires: libnetapi-devel +BuildRequires: libpcap-devel +BuildRequires: librsvg2 +BuildRequires: librsvg2-devel +BuildRequires: libstdc++-devel +BuildRequires: libudev-devel +BuildRequires: libusb1-devel +BuildRequires: libv4l-devel +BuildRequires: libX11-devel +BuildRequires: libXcomposite-devel +BuildRequires: libXcursor-devel +BuildRequires: libXext-devel +BuildRequires: libXi-devel +BuildRequires: libXinerama-devel +BuildRequires: libxkbcommon-devel +BuildRequires: libXmu-devel +BuildRequires: libXrandr-devel +BuildRequires: libXrender-devel +BuildRequires: libXxf86dga-devel +BuildRequires: libXxf86vm-devel +BuildRequires: lzma +BuildRequires: mesa-compat-libOSMesa-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: ncurses-devel +BuildRequires: ocl-icd-devel +BuildRequires: opencl-headers +BuildRequires: pcsc-lite-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: samba-devel +BuildRequires: sane-backends-devel +BuildRequires: SDL2-devel +BuildRequires: unixODBC-devel +BuildRequires: unzip +BuildRequires: util-linux +BuildRequires: vulkan-devel +BuildRequires: xz + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%package -n %{wine} +%endif +%endif + +Summary: WINE Is Not An Emulator - runs MS Windows programs +Group: Emulators +%ifarch x86_64 +Conflicts: %{name} +%else +Conflicts: %{name}64 +%endif +%if 0%{?fedora} < 40 +Requires: %{name}-common = %{epoch}:%{version}-%{release} +%endif +Provides: %{lib_name} = %{epoch}:%{version}-%{release} +Provides: %{name}-bin = %{epoch}:%{version}-%{release} +Obsoletes: %{lib_name} <= %{epoch}:%{version}-%{release} + +%ifarch %{ix86} +%package -n %{name}-common +Summary: WINE Is Not An Emulator - runs MS Windows programs (32-bit common files) +Group: Emulators +Requires: %{name}-bin = %{epoch}:%{version}-%{release} + +%description -n %{name}-common +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This package contains the files needed to support 32-bit Windows +programs, and is used by both %{name} and %{name}64. +%endif + +%define dlopenreq() %(F=/usr/%{_lib}/lib%{1}.so;[ -e $F ] && (file $F|grep -q ASCII && grep -o 'lib[^ ]*' $F|sed -e "s/\$/%{mark64}/"||objdump -p $F | grep SONAME | awk '{ print $2 "%{mark64}" }') || echo "wine-missing-buildrequires-on-%{1}") +Requires: %dlopenreq asound +Requires: %dlopenreq attr +Requires: %dlopenreq cups +Requires: %dlopenreq dbus-1 +Requires: %dlopenreq fontconfig +Requires: %dlopenreq freetype +Requires: %dlopenreq gnutls +Requires: %dlopenreq krb5 +Requires: %dlopenreq ncurses +Requires: %dlopenreq odbc +Requires: %dlopenreq OSMesa +Requires: %dlopenreq sane +Requires: %dlopenreq SDL2 +Requires: %dlopenreq v4l1 +Requires: %dlopenreq vulkan +Requires: %dlopenreq Xcomposite +Requires: %dlopenreq Xcursor +Requires: %dlopenreq Xi +Requires: %dlopenreq Xinerama +Requires: %dlopenreq Xrandr +Requires: %dlopenreq Xrender +Requires: %dlopenreq Xxf86vm +%if 0%{?fedora} +Suggests: sane-frontends +%endif +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils + +%define desc Wine is a program which allows running Microsoft Windows programs \ +(including DOS, Windows 3.x and Win32 executables) on Unix. It \ +consists of a program loader which loads and executes a Microsoft \ +Windows binary, and a library (called Winelib) that implements Windows \ +API calls using their Unix or X11 equivalents. The library may also \ +be used for porting Win32 code into native Unix executables. + +%description +%desc + +%ifarch x86_64 +%description -n %{wine} +%desc +%endif + +%package -n %{wine}-devel +Summary: Static libraries and headers for %{name} (64-bit) +Group: Development/C +Requires: %{wine} = %{epoch}:%{version}-%{release} +%ifarch x86_64 +Conflicts: %{name}-devel +%else +Conflicts: %{name}64-devel +%endif +Provides: %{lib_name_devel} = %{epoch}:%{version}-%{release} +Obsoletes: %{lib_name_devel} <= %{epoch}:%{version}-%{release} +%description -n %{wine}-devel +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This package contains the libraries and header files needed to +develop programs which make use of Wine. + +%package -n %compat_package +Summary: WINE Is Not An Emulator - runs MS Windows programs +Group: Emulators +Requires: %{wine} = %{epoch}:%{version}-%{release} +%if 0%{?fedora} < 40 +Conflicts: wine wine64 wine-core wine-common wine-desktop wine-devel +%else +Conflicts: wine wine64 wine-core wine-common wine-desktop +%endif + +%description -n %compat_package +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This compatibility package allows to use %{wine} system-wide as +the default Wine version. + +%prep +# Pull key from key server, if this fails import local copy and then refresh it to make sure it is up to date +gpg --keyserver hkp://keys.gnupg.net --recv-keys CEFAC8EAAF17519D || { gpg --with-fingerprint --import %{SOURCE99} && gpg --refresh-keys; } +gpg --update-trustdb +gpg --verify --with-fingerprint %{SOURCE1} %{SOURCE0} +%setup -n wine-%{version} -q -T -b0 + +%build +# MinGW GCC does not support these options +%define debug_package %{nil} +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-package-notes//')" +%ifarch x86_64 +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//') -O2" +%else +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//')" +%endif +%configure \ + --with-gstreamer \ + --disable-tests \ +%if 0%{?fedora} >= 40 + --enable-archs=i386,x86_64 \ +%else +%ifarch x86_64 + --enable-win64 \ +%endif +%endif + --with-x +make -j4 + +%install +%makeinstall 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 +%if 0%{?fedora} < 40 +%ifarch x86_64 +for _file in wine wine-preloader; do \ + ln -s "%{_prefix}/bin/$_file" "%{buildroot}/usr/bin/$_file"; \ +done +%endif +%endif + +# Compat symlinks for desktop file +mkdir -p "%{buildroot}/usr/share/applications" +for _file in $(ls "%{buildroot}%{_datadir}/applications"); do \ + ln -s "%{_datadir}/applications/$_file" "%{buildroot}/usr/share/applications/$_file"; \ +done + +# Compat manpages +%if 0%{?fedora} || 0%{?scientificlinux} || 0%{?centos} >= 700 || 0%{?rhel} >= 700 +for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \ + if [ -d "%{buildroot}%{_mandir}/$_dir" ]; then \ + mkdir -p "$(dirname "%{buildroot}/usr/share/man/$_dir")"; \ + cp -pr "%{buildroot}%{_mandir}/$_dir" "%{buildroot}/usr/share/man/$_dir"; \ + else \ + mkdir -p "%{buildroot}/usr/share/man/$_dir"; \ + fi; \ +done +%else +for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \ + mkdir -p "%{buildroot}/usr/share/man/$_dir"; \ +done +%endif + +%ifarch x86_64 +#install -p -m 0644 loader/wine.man "%{buildroot}/usr/share/man/man1/wine.1" +#install -p -m 0644 loader/wine.de.UTF-8.man "%{buildroot}/usr/share/man/de.UTF-8/man1/wine.1" +#install -p -m 0644 loader/wine.fr.UTF-8.man "%{buildroot}/usr/share/man/fr.UTF-8/man1/wine.1" +#install -p -m 0644 loader/wine.pl.UTF-8.man "%{buildroot}/usr/share/man/pl.UTF-8/man1/wine.1" +%endif + +%files -n %{wine} +%doc ANNOUNCE.md AUTHORS README.md +%license LICENSE + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%{_bindir}/wine64 +%{_bindir}/wine64-preloader +%endif +%endif +%{_bindir}/function_grep.pl +%{_bindir}/msiexec +%{_bindir}/msidb +%{_bindir}/notepad +%{_bindir}/regedit +%{_bindir}/regsvr32 +%{_bindir}/widl +%{_bindir}/wineboot +%{_bindir}/winebuild +%{_bindir}/winecfg +%{_bindir}/wineconsole* +%{_bindir}/winecpp +%{_bindir}/winedbg +%{_bindir}/winedump +%{_bindir}/winefile +%{_bindir}/wineg++ +%{_bindir}/winegcc +%{_bindir}/winemaker +%{_bindir}/winemine +%{_bindir}/winepath +%{_bindir}/wineserver +%{_bindir}/wmc +%{_bindir}/wrc +%lang(de) %{_mandir}/de.UTF-8/man?/winemaker.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wineserver.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/winemaker.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wineserver.?* +%{_mandir}/man?/widl.1* +%{_mandir}/man?/winebuild.1* +%{_mandir}/man?/winecpp.1* +%{_mandir}/man?/winedbg.1* +%{_mandir}/man?/winedump.1* +%{_mandir}/man?/wineg++.1* +%{_mandir}/man?/winegcc.1* +%{_mandir}/man?/winemaker.1* +%{_mandir}/man?/wmc.1* +%{_mandir}/man?/wrc.1* +%{_mandir}/man?/msiexec.?* +%{_mandir}/man?/notepad.?* +%{_mandir}/man?/regedit.?* +%{_mandir}/man?/regsvr32.?* +%{_mandir}/man?/wineboot.?* +%{_mandir}/man?/winecfg.?* +%{_mandir}/man?/wineconsole.?* +%{_mandir}/man?/winefile.?* +%{_mandir}/man?/winemine.?* +%{_mandir}/man?/winepath.?* +%{_mandir}/man?/wineserver.?* +%dir %{_datadir}/wine +%{_datadir}/wine/wine.inf +%{_datadir}/wine/nls/*.nls +%{_datadir}/applications/*.desktop +%dir %{_datadir}/wine/fonts +%{_datadir}/wine/fonts/* + +%if 0%{?fedora} < 40 +%ifarch %{ix86} +%files -n %{name}-common +%{_bindir}/wine +%{_bindir}/wine-preloader +%{_mandir}/man?/wine.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wine.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wine.?* +%lang(pl) %{_mandir}/pl.UTF-8/man?/wine.?* +%endif +%else +%{_bindir}/wine +#%{_bindir}/wine-preloader +%{_mandir}/man?/wine.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wine.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wine.?* +%lang(pl) %{_mandir}/pl.UTF-8/man?/wine.?* +%endif + +%if 0%{?fedora} < 40 +%ifarch %ix86 x86_64 +%{_libdir}/wine/%{_arch}-unix/*.* +%{_libdir}/wine/%{_arch}-windows/*.* +%endif +%else +%{_libdir}/wine/%{_arch}-unix/* +%{_libdir}/wine/i386-windows/*.* +%{_libdir}/wine/x86_64-windows/*.* +%endif + +%files -n %{wine}-devel +%{_includedir}/* + +%files -n %compat_package +/usr/bin/* +/usr/share/applications/*.desktop +/usr/share/man/man?/* +%lang(de) /usr/share/man/de.UTF-8/man?/* +%lang(fr) /usr/share/man/fr.UTF-8/man?/* +%lang(pl) /usr/share/man/pl.UTF-8/man?/* diff --git a/anda/system/wine/dev/wine.keyring b/anda/system/wine/dev/wine.keyring new file mode 100644 index 0000000000..1b658e615b --- /dev/null +++ b/anda/system/wine/dev/wine.keyring @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=6vF7 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/anda/system/wine/stable/anda.hcl b/anda/system/wine/stable/anda.hcl new file mode 100644 index 0000000000..49b50d5736 --- /dev/null +++ b/anda/system/wine/stable/anda.hcl @@ -0,0 +1,11 @@ +project pkg { + arches = ["x86_64", "aarch64", "i386"] + rpm { + spec = "wine-stable.spec" + extra_repos = ["https://repos.fyralabs.com/terrarawhide-mesa"] + } + labels { + mock = 1 + subrepo = "extras" + } +} diff --git a/anda/system/wine/stable/update.rhai b/anda/system/wine/stable/update.rhai new file mode 100644 index 0000000000..7dd828c5de --- /dev/null +++ b/anda/system/wine/stable/update.rhai @@ -0,0 +1,6 @@ +let matches = (find_all("[\\d.]+[.]0", get("https://dl.winehq.org/wine/source/"))); // Only find versions ending in .0. Stable WINE always ends in .0 +matches.dedup(); +// Sort for the largest match, the sed and tr commands remove everything preventing sort from working correctly +let v = sh(`echo ${matches} | sed 's/,//g' | sed 's/\[//g' | sed 's/\]//g' | sed 's/"//g' | tr ' ' '\n' | sort -nr | tr '\n' ' '`, #{"stdout": "piped"}).ctx.stdout; +v.truncate(4); +rpm.version(v); diff --git a/anda/system/wine/stable/wine-stable.spec b/anda/system/wine/stable/wine-stable.spec new file mode 100644 index 0000000000..339da1adf3 --- /dev/null +++ b/anda/system/wine/stable/wine-stable.spec @@ -0,0 +1,413 @@ +# Terra WINE Stable branch +# Based on WineHQ's WINE builds with changes for our repos and update system + +%define _lto_cflags %{nil} + +%global flavor %nil +%define compat_package terra-wine-stable +%define _prefix /usr/share/wine-stable + +# This is unfortunate but a lot of Fedora's/SUSE's hardening flags break WINE +%undefine _hardened_build + +Name: wine-stable +Version: 10.0 +Release: 1 +Epoch: 1 +Summary: WINE Is Not An Emulator - runs MS Windows programs +License: LGPL-2.0-or-later +Group: Emulators +URL: https://www.winehq.org/ + +%define lib_major 1 +%define lib_name lib%{name}1 +%define lib_name_devel lib%{name}-devel + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%define wine %{name}64 +%define mark64 ()(64bit) +%else +%define wine %{name} +%define mark64 %{nil} +%endif +%endif + +%if 0%{?fedora} >= 40 +%define wine %{name} +%ifarch x86_64 +%define mark64 ()(64bit) +%else +%define mark64 %{nil} +%endif +%endif + +Source0: https://dl.winehq.org/wine/source/%{version}/wine-%{version}.tar.xz +Source1: https://dl.winehq.org/wine/source/%{version}/wine-%{version}.tar.xz.sign + +# Alexandres key +Source99: wine.keyring + +BuildRequires: alsa-lib-devel +BuildRequires: audiofile-devel +BuildRequires: autoconf +BuildRequires: bison +BuildRequires: coreutils +BuildRequires: cups-devel +BuildRequires: dbus-devel +BuildRequires: desktop-file-utils +BuildRequires: flex +BuildRequires: fontconfig-devel +BuildRequires: fontforge +BuildRequires: fontpackages-devel +BuildRequires: freeglut-devel +BuildRequires: freetype-devel +BuildRequires: gawk +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: giflib-devel +BuildRequires: gnupg2 +BuildRequires: gnutls-devel +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel +BuildRequires: icoutils +BuildRequires: ImageMagick-devel +BuildRequires: krb5-devel +BuildRequires: lcms2-devel +BuildRequires: libattr-devel +BuildRequires: libavcodec-free-devel +BuildRequires: libavformat-free-devel +BuildRequires: libavutil-free-devel +BuildRequires: libgphoto2-devel +BuildRequires: libieee1284-devel +BuildRequires: libnetapi-devel +BuildRequires: libpcap-devel +BuildRequires: librsvg2 +BuildRequires: librsvg2-devel +BuildRequires: libstdc++-devel +BuildRequires: libudev-devel +BuildRequires: libusb1-devel +BuildRequires: libv4l-devel +BuildRequires: libX11-devel +BuildRequires: libXcomposite-devel +BuildRequires: libXcursor-devel +BuildRequires: libXext-devel +BuildRequires: libXi-devel +BuildRequires: libXinerama-devel +BuildRequires: libxkbcommon-devel +BuildRequires: libXmu-devel +BuildRequires: libXrandr-devel +BuildRequires: libXrender-devel +BuildRequires: libXxf86dga-devel +BuildRequires: libXxf86vm-devel +BuildRequires: lzma +BuildRequires: mesa-compat-libOSMesa-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: ncurses-devel +BuildRequires: ocl-icd-devel +BuildRequires: opencl-headers +BuildRequires: pcsc-lite-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: samba-devel +BuildRequires: sane-backends-devel +BuildRequires: SDL2-devel +BuildRequires: unixODBC-devel +BuildRequires: unzip +BuildRequires: util-linux +BuildRequires: vulkan-devel +BuildRequires: xz + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%package -n %{wine} +%endif +%endif + +Summary: WINE Is Not An Emulator - runs MS Windows programs +Group: Emulators +%ifarch x86_64 +Conflicts: %{name} +%else +Conflicts: %{name}64 +%endif +%if 0%{?fedora} < 40 +Requires: %{name}-common = %{epoch}:%{version}-%{release} +%endif +Provides: %{lib_name} = %{epoch}:%{version}-%{release} +Provides: %{name}-bin = %{epoch}:%{version}-%{release} +Obsoletes: %{lib_name} <= %{epoch}:%{version}-%{release} + +%ifarch %{ix86} +%package -n %{name}-common +Summary: WINE Is Not An Emulator - runs MS Windows programs (32-bit common files) +Group: Emulators +Requires: %{name}-bin = %{epoch}:%{version}-%{release} + +%description -n %{name}-common +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This package contains the files needed to support 32-bit Windows +programs, and is used by both %{name} and %{name}64. +%endif + +%define dlopenreq() %(F=/usr/%{_lib}/lib%{1}.so;[ -e $F ] && (file $F|grep -q ASCII && grep -o 'lib[^ ]*' $F|sed -e "s/\$/%{mark64}/"||objdump -p $F | grep SONAME | awk '{ print $2 "%{mark64}" }') || echo "wine-missing-buildrequires-on-%{1}") +Requires: %dlopenreq asound +Requires: %dlopenreq attr +Requires: %dlopenreq cups +Requires: %dlopenreq dbus-1 +Requires: %dlopenreq fontconfig +Requires: %dlopenreq freetype +Requires: %dlopenreq gnutls +Requires: %dlopenreq krb5 +Requires: %dlopenreq ncurses +Requires: %dlopenreq odbc +Requires: %dlopenreq OSMesa +Requires: %dlopenreq sane +Requires: %dlopenreq SDL2 +Requires: %dlopenreq v4l1 +Requires: %dlopenreq vulkan +Requires: %dlopenreq Xcomposite +Requires: %dlopenreq Xcursor +Requires: %dlopenreq Xi +Requires: %dlopenreq Xinerama +Requires: %dlopenreq Xrandr +Requires: %dlopenreq Xrender +Requires: %dlopenreq Xxf86vm +Suggests: sane-frontends + +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils + +%define desc Wine is a program which allows running Microsoft Windows programs \ +(including DOS, Windows 3.x and Win32 executables) on Unix. It \ +consists of a program loader which loads and executes a Microsoft \ +Windows binary, and a library (called Winelib) that implements Windows \ +API calls using their Unix or X11 equivalents. The library may also \ +be used for porting Win32 code into native Unix executables. + +%description +%desc + +%ifarch x86_64 +%description -n %{wine} +%desc +%endif + +%package -n %{wine}-devel +Summary: Static libraries and headers for %{name} (64-bit) +Group: Development/C +Requires: %{wine} = %{epoch}:%{version}-%{release} +%ifarch x86_64 +Conflicts: %{name}-devel +%else +Conflicts: %{name}64-devel +%endif +Provides: %{lib_name_devel} = %{epoch}:%{version}-%{release} +Obsoletes: %{lib_name_devel} <= %{epoch}:%{version}-%{release} +%description -n %{wine}-devel +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This package contains the libraries and header files needed to +develop programs which make use of Wine. + +%package -n %compat_package +Summary: WINE Is Not An Emulator - runs MS Windows programs +Group: Emulators +Requires: %{wine} = %{epoch}:%{version}-%{release} +%if 0%{?fedora} < 40 +Conflicts: wine wine64 wine-core wine-common wine-desktop wine-devel +%else +Conflicts: wine wine64 wine-core wine-common wine-desktop +%endif + +%description -n %compat_package +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This compatibility package allows to use %{wine} system-wide as +the default Wine version. + +%prep +# Pull key from key server, if this fails import local copy and then refresh it to make sure it is up to date +gpg --keyserver hkp://keys.gnupg.net --recv-keys CEFAC8EAAF17519D || { gpg --with-fingerprint --import %{SOURCE99} && gpg --refresh-keys; } +gpg --update-trustdb +gpg --verify --with-fingerprint %{SOURCE1} %{SOURCE0} +%setup -n wine-%{version} -q -T -b0 + +%build +# MinGW GCC does not support these options +%define debug_package %{nil} +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-package-notes//')" +%ifarch x86_64 +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//') -O2" +%else +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//')" +%endif +%configure \ + --with-gstreamer \ + --disable-tests \ +%if 0%{?fedora} >= 40 + --enable-archs=i386,x86_64 \ +%else +%ifarch x86_64 + --enable-win64 \ +%endif +%endif + --with-x +make -j4 + +%install +%makeinstall 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 +%if 0%{?fedora} < 40 +%ifarch x86_64 +for _file in wine wine-preloader; do \ + ln -s "%{_prefix}/bin/$_file" "%{buildroot}/usr/bin/$_file"; \ +done +%endif +%endif + +# Compat symlinks for desktop file +mkdir -p "%{buildroot}/usr/share/applications" +for _file in $(ls "%{buildroot}/%{_datadir}/applications"); do \ + ln -s "%{_datadir}/applications/$_file" "%{buildroot}/usr/share/applications/$_file"; \ +done + +# Compat manpages +%if 0%{?fedora} || 0%{?scientificlinux} || 0%{?centos} >= 700 || 0%{?rhel} >= 700 +for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \ + if [ -d "%{buildroot}/%{_mandir}/$_dir" ]; then \ + mkdir -p "$(dirname "%{buildroot}/usr/share/man/$_dir")"; \ + cp -pr "%{buildroot}/%{_mandir}/$_dir" "%{buildroot}/usr/share/man/$_dir"; \ + else \ + mkdir -p "%{buildroot}/usr/share/man/$_dir"; \ + fi; \ +done +%else +for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \ + mkdir -p "%{buildroot}/usr/share/man/$_dir"; \ +done +%endif + +%ifarch x86_64 +install -p -m 0644 loader/wine.man "%{buildroot}/usr/share/man/man1/wine.1" +install -p -m 0644 loader/wine.de.UTF-8.man "%{buildroot}/usr/share/man/de.UTF-8/man1/wine.1" +install -p -m 0644 loader/wine.fr.UTF-8.man "%{buildroot}/usr/share/man/fr.UTF-8/man1/wine.1" +install -p -m 0644 loader/wine.pl.UTF-8.man "%{buildroot}/usr/share/man/pl.UTF-8/man1/wine.1" +%endif + +%files -n %{wine} +%doc ANNOUNCE.md AUTHORS README.md +%license LICENSE + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%{_bindir}/wine64 +%{_bindir}/wine64-preloader +%endif +%endif +%{_bindir}/function_grep.pl +%{_bindir}/msiexec +%{_bindir}/msidb +%{_bindir}/notepad +%{_bindir}/regedit +%{_bindir}/regsvr32 +%{_bindir}/widl +%{_bindir}/wineboot +%{_bindir}/winebuild +%{_bindir}/winecfg +%{_bindir}/wineconsole* +%{_bindir}/winecpp +%{_bindir}/winedbg +%{_bindir}/winedump +%{_bindir}/winefile +%{_bindir}/wineg++ +%{_bindir}/winegcc +%{_bindir}/winemaker +%{_bindir}/winemine +%{_bindir}/winepath +%{_bindir}/wineserver +%{_bindir}/wmc +%{_bindir}/wrc +%lang(de) %{_mandir}/de.UTF-8/man?/winemaker.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wineserver.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/winemaker.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wineserver.?* +%{_mandir}/man?/widl.1* +%{_mandir}/man?/winebuild.1* +%{_mandir}/man?/winecpp.1* +%{_mandir}/man?/winedbg.1* +%{_mandir}/man?/winedump.1* +%{_mandir}/man?/wineg++.1* +%{_mandir}/man?/winegcc.1* +%{_mandir}/man?/winemaker.1* +%{_mandir}/man?/wmc.1* +%{_mandir}/man?/wrc.1* +%{_mandir}/man?/msiexec.?* +%{_mandir}/man?/notepad.?* +%{_mandir}/man?/regedit.?* +%{_mandir}/man?/regsvr32.?* +%{_mandir}/man?/wineboot.?* +%{_mandir}/man?/winecfg.?* +%{_mandir}/man?/wineconsole.?* +%{_mandir}/man?/winefile.?* +%{_mandir}/man?/winemine.?* +%{_mandir}/man?/winepath.?* +%{_mandir}/man?/wineserver.?* +%dir %{_datadir}/wine +%{_datadir}/wine/wine.inf +%{_datadir}/wine/nls/*.nls +%{_datadir}/applications/*.desktop +%dir %{_datadir}/wine/fonts +%{_datadir}/wine/fonts/* + +%if 0%{?fedora} < 40 +%ifarch %{ix86} +%files -n %{name}-common +%{_bindir}/wine +%{_bindir}/wine-preloader +%{_mandir}/man?/wine.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wine.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wine.?* +%lang(pl) %{_mandir}/pl.UTF-8/man?/wine.?* +%endif +%else +%{_bindir}/wine +%{_bindir}/wine-preloader +%{_mandir}/man?/wine.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wine.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wine.?* +%lang(pl) %{_mandir}/pl.UTF-8/man?/wine.?* +%endif + +%if 0%{?fedora} < 40 +%ifarch %ix86 x86_64 +%{_libdir}/wine/%{_arch}-unix/*.* +%{_libdir}/wine/%{_arch}-windows/*.* +%endif +%else +%{_libdir}/wine/%{_arch}-unix/* +%{_libdir}/wine/i386-windows/*.* +%{_libdir}/wine/x86_64-windows/*.* +%endif + +%files -n %{wine}-devel +%{_includedir}/* + +%files -n %compat_package +/usr/bin/* +/usr/share/applications/*.desktop +/usr/share/man/man?/* +%lang(de) /usr/share/man/de.UTF-8/man?/* +%lang(fr) /usr/share/man/fr.UTF-8/man?/* +%lang(pl) /usr/share/man/pl.UTF-8/man?/* diff --git a/anda/system/wine/stable/wine.keyring b/anda/system/wine/stable/wine.keyring new file mode 100644 index 0000000000..1b658e615b --- /dev/null +++ b/anda/system/wine/stable/wine.keyring @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=6vF7 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/anda/system/wine/staging/anda.hcl b/anda/system/wine/staging/anda.hcl new file mode 100644 index 0000000000..4e0642affd --- /dev/null +++ b/anda/system/wine/staging/anda.hcl @@ -0,0 +1,11 @@ +project pkg { + arches = ["x86_64", "aarch64", "i386"] + rpm { + spec = "wine-staging.spec" + extra_repos = ["https://repos.fyralabs.com/terrarawhide-mesa"] + } + labels { + mock = 1 + subrepo = "extras" + } +} diff --git a/anda/system/wine/staging/update.rhai b/anda/system/wine/staging/update.rhai new file mode 100644 index 0000000000..a636df05bd --- /dev/null +++ b/anda/system/wine/staging/update.rhai @@ -0,0 +1,12 @@ +let v = (gitlab_tag("gitlab.winehq.org", "231")); +v.crop(1); +rpm.version(v); +if rpm.changed () { + rpm.release(); + // Only find versions ending in .x (point releases) + let matches = (find_all("[\\d.]+[.]x", get("https://dl.winehq.org/wine/source/"))); + matches.dedup(); + let s = sh(`echo ${matches} | sed 's/,//g' | sed 's/\[//g' | sed 's/\]//g' | sed 's/"//g' | tr ' ' '\n' | sort -nr | tr '\n' ' '`, #{"stdout": "piped"}).ctx.stdout; + s.truncate(4); + rpm.global("srcmajor", s); +} diff --git a/anda/system/wine/staging/wine-staging.spec b/anda/system/wine/staging/wine-staging.spec new file mode 100644 index 0000000000..dffd43394e --- /dev/null +++ b/anda/system/wine/staging/wine-staging.spec @@ -0,0 +1,417 @@ +# Terra WINE Staging branch +# Based on WineHQ's WINE builds with changes for our repos and update system + +# Gonna be real man, WINE is a mess +%global _default_patch_fuzz 2 +# This is unfortunate but a lot of Fedora's/SUSE's hardening flags break WINE +%define _lto_cflags %{nil} + +%global flavor %nil +# I love MinGW +%global build_type_safety_c 0 + +%define compat_package terra-wine-staging +%define _prefix /usr/share/wine-staging +%undefine _hardened_build + +%global srcmajor 10.x + + +Name: wine-staging +Version: 10.7 +Release: 1 +Epoch: 1 +Summary: WINE Is Not An Emulator - runs MS Windows programs +License: LGPL-2.0-or-later +Group: Emulators +URL: https://www.winehq.org + +%define lib_major 1 +%define lib_name lib%{name}1 +%define lib_name_devel lib%{name}-devel + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%define wine %{name}64 +%define mark64 ()(64bit) +%else +%define wine %{name} +%define mark64 %{nil} +%endif +%endif + +%if 0%{?fedora} >= 40 +%define wine %{name} +%ifarch x86_64 +%define mark64 ()(64bit) +%else +%define mark64 %{nil} +%endif +%endif + +Source0: https://dl.winehq.org/wine/source/%{srcmajor}/wine-%{version}.tar.xz +Source1: https://dl.winehq.org/wine/source/%{srcmajor}/wine-%{version}.tar.xz.sign + +# The official GitLab repo containing the patches does not appear to be downloadable so we have to download them from the mirror. What +Source100: https://github.com/wine-staging/wine-staging/archive/v%{version}.tar.gz#/wine-staging-%{version}.tar.xz + +# Alexandres key +Source99: wine.keyring + +BuildRequires: alsa-lib-devel +BuildRequires: audiofile-devel +BuildRequires: autoconf +BuildRequires: bison +BuildRequires: coreutils +BuildRequires: cups-devel +BuildRequires: dbus-devel +BuildRequires: desktop-file-utils +BuildRequires: flex +BuildRequires: fontconfig-devel +BuildRequires: fontforge +BuildRequires: fontpackages-devel +BuildRequires: freeglut-devel +BuildRequires: freetype-devel +BuildRequires: gawk +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: giflib-devel +BuildRequires: gnupg2 +BuildRequires: gnutls-devel +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel +BuildRequires: gtk3-devel +BuildRequires: icoutils +BuildRequires: ImageMagick-devel +BuildRequires: krb5-devel +BuildRequires: libattr-devel +BuildRequires: libavcodec-free-devel +BuildRequires: libavformat-free-devel +BuildRequires: libavutil-free-devel +BuildRequires: libgcrypt-devel +BuildRequires: libgphoto2-devel +BuildRequires: libieee1284-devel +BuildRequires: libnetapi-devel +BuildRequires: libpcap-devel +BuildRequires: librsvg2 +BuildRequires: librsvg2-devel +BuildRequires: libstdc++-devel +BuildRequires: libudev-devel +BuildRequires: libusb1-devel +BuildRequires: libv4l-devel +BuildRequires: libva-devel +BuildRequires: libX11-devel +BuildRequires: libXcomposite-devel +BuildRequires: libXcursor-devel +BuildRequires: libXext-devel +BuildRequires: libXi-devel +BuildRequires: libXinerama-devel +BuildRequires: libxkbcommon-devel +BuildRequires: libXmu-devel +BuildRequires: libXrandr-devel +BuildRequires: libXrender-devel +BuildRequires: libXxf86dga-devel +BuildRequires: libXxf86vm-devel +BuildRequires: lzma +BuildRequires: mesa-compat-libOSMesa-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: ncurses-devel +BuildRequires: ocl-icd-devel +BuildRequires: opencl-headers +BuildRequires: pcsc-lite-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: samba-devel +BuildRequires: sane-backends-devel +BuildRequires: SDL2-devel +BuildRequires: unixODBC-devel +BuildRequires: unzip +BuildRequires: util-linux +BuildRequires: vulkan-devel +BuildRequires: xz + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%package -n %{wine} +%endif +%endif + +Summary: WINE Is Not An Emulator - runs MS Windows programs +Group: Emulators +%ifarch x86_64 +Conflicts: %{name} +%else +Conflicts: %{name}64 +%endif +%if 0%{?fedora} < 40 +Requires: %{name}-common = %{epoch}:%{version}-%{release} +%endif +Provides: %{lib_name} = %{epoch}:%{version}-%{release} +Obsoletes: %{lib_name} <= %{epoch}:%{version}-%{release} +Provides: %{name}-bin = %{epoch}:%{version}-%{release} + +%ifarch %{ix86} +%package -n %{name}-common +Summary: WINE Is Not An Emulator - runs MS Windows programs (32-bit common files) +Group: Emulators +Requires: %{name}-bin = %{epoch}:%{version}-%{release} + +%description -n %{name}-common +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This package contains the files needed to support 32-bit Windows +programs, and is used by both %{name} and %{name}64. +%endif + +%define dlopenreq() %(F=/usr/%{_lib}/lib%{1}.so;[ -e $F ] && (file $F|grep -q ASCII && grep -o 'lib[^ ]*' $F|sed -e "s/\$/%{mark64}/"||objdump -p $F | grep SONAME | awk '{ print $2 "%{mark64}" }') || echo "wine-missing-buildrequires-on-%{1}") +Requires: %dlopenreq asound +Requires: %dlopenreq attr +Requires: %dlopenreq cups +Requires: %dlopenreq dbus-1 +Requires: %dlopenreq fontconfig +Requires: %dlopenreq freetype +Requires: %dlopenreq gnutls +Requires: %dlopenreq krb5 +Requires: %dlopenreq ncurses +Requires: %dlopenreq odbc +Requires: %dlopenreq OSMesa +Requires: %dlopenreq sane +Requires: %dlopenreq SDL2 +Requires: %dlopenreq v4l1 +Requires: %dlopenreq vulkan +Requires: %dlopenreq Xcomposite +Requires: %dlopenreq Xcursor +Requires: %dlopenreq Xi +Requires: %dlopenreq Xinerama +Requires: %dlopenreq Xrandr +Requires: %dlopenreq Xrender +Requires: %dlopenreq Xxf86vm +%if 0%{?fedora} +Suggests: sane-frontends +%endif +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils + +%define desc Wine is a program which allows running Microsoft Windows programs \ +(including DOS, Windows 3.x and Win32 executables) on Unix. It \ +consists of a program loader which loads and executes a Microsoft \ +Windows binary, and a library (called Winelib) that implements Windows \ +API calls using their Unix or X11 equivalents. The library may also \ +be used for porting Win32 code into native Unix executables. + +%description +%desc + +%ifarch x86_64 +%description -n %{wine} +%desc +%endif + +%package -n %{wine}-devel +Summary: Static libraries and headers for %{name} (64-bit) +Group: Development/C +Requires: %{wine} = %{epoch}:%{version}-%{release} +%ifarch x86_64 +Conflicts: %{name}-devel +%else +Conflicts: %{name}64-devel +%endif +Provides: %{lib_name_devel} = %{epoch}:%{version}-%{release} +Obsoletes: %{lib_name_devel} <= %{epoch}:%{version}-%{release} +%description -n %{wine}-devel +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This package contains the libraries and header files needed to +develop programs which make use of Wine. + +%package -n %compat_package +Summary: WINE Is Not An Emulator - runs MS Windows programs +Group: Emulators +Requires: %{wine} = %{epoch}:%{version}-%{release} +Conflicts: wine wine64 wine-core wine-common wine-desktop wine-devel + +%description -n %compat_package +Wine is a program which allows running Microsoft Windows programs +(including DOS, Windows 3.x and Win32 executables) on Unix. + +This compatibility package allows to use %{wine} system-wide as +the default Wine version. + +%prep +# Pull key from key server, if this fails import local copy and then refresh it to make sure it is up to date +gpg --keyserver hkp://keys.gnupg.net --recv-keys CEFAC8EAAF17519D || { gpg --with-fingerprint --import %{SOURCE99} && gpg --refresh-keys; } +gpg --update-trustdb +gpg --verify --with-fingerprint %{SOURCE1} %{SOURCE0} +%setup -n wine-%{version} -q -T -b0 + +# apply wine staging patch set on top of the wine release. +tar xf %{SOURCE100} +./wine-staging-%{version}/staging/patchinstall.py --all -W shell32-IconCache -W server-Stored_ACLs + +%build +# MinGW GCC does not support these options +%define debug_package %{nil} +export LDFLAGS="$(echo "%{build_ldflags}" | sed -e 's/-Wl,-z,relro//' -e 's/-Wl,--build-id=sha1//' -e 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-package-notes//')" +%ifarch x86_64 +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//') -O2" +%else +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//')" +%endif +autoreconf -i -f +%configure \ + --with-gstreamer \ + --disable-tests \ + --with-xattr \ + --enable-archs=i386,x86_64 \ + --with-x + +make -j4 + +%install +%makeinstall 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 + +# Compat symlinks for desktop file +mkdir -p "%{buildroot}/usr/share/applications" +for _file in $(ls "%{buildroot}/%{_datadir}/applications"); do \ + ln -s "%{_datadir}/applications/$_file" "%{buildroot}/usr/share/applications/$_file"; \ +done + +# Compat manpages +%if 0%{?fedora} || 0%{?scientificlinux} || 0%{?centos} >= 700 || 0%{?rhel} >= 700 +for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \ + if [ -d "%{buildroot}/%{_mandir}/$_dir" ]; then \ + mkdir -p "$(dirname "%{buildroot}/usr/share/man/$_dir")"; \ + cp -pr "%{buildroot}/%{_mandir}/$_dir" "%{buildroot}/usr/share/man/$_dir"; \ + else \ + mkdir -p "%{buildroot}/usr/share/man/$_dir"; \ + fi; \ +done +%else +for _dir in man1 de.UTF-8/man1 fr.UTF-8/man1 pl.UTF-8/man1; do \ + mkdir -p "%{buildroot}/usr/share/man/$_dir"; \ +done +%endif + +%ifarch x86_64 +#install -p -m 0644 loader/wine.man "%{buildroot}/usr/share/man/man1/wine.1" +#install -p -m 0644 loader/wine.de.UTF-8.man "%{buildroot}/usr/share/man/de.UTF-8/man1/wine.1" +#install -p -m 0644 loader/wine.fr.UTF-8.man "%{buildroot}/usr/share/man/fr.UTF-8/man1/wine.1" +#install -p -m 0644 loader/wine.pl.UTF-8.man "%{buildroot}/usr/share/man/pl.UTF-8/man1/wine.1" +%endif + +%files -n %{wine} +%doc ANNOUNCE.md AUTHORS README.md +%license LICENSE + +%if 0%{?fedora} < 40 +%ifarch x86_64 +%{_bindir}/wine64 +%{_bindir}/wine64-preloader +%endif +%endif +%{_bindir}/function_grep.pl +%{_bindir}/msidb +%{_bindir}/msiexec +%{_bindir}/notepad +%{_bindir}/regedit +%{_bindir}/regsvr32 +%{_bindir}/widl +%{_bindir}/wineboot +%{_bindir}/winebuild +%{_bindir}/winecfg +%{_bindir}/wineconsole* +%{_bindir}/winecpp +%{_bindir}/winedbg +%{_bindir}/winedump +%{_bindir}/winefile +%{_bindir}/wineg++ +%{_bindir}/winegcc +%{_bindir}/winemaker +%{_bindir}/winemine +%{_bindir}/winepath +%{_bindir}/wineserver +%{_bindir}/wmc +%{_bindir}/wrc +%lang(de) %{_mandir}/de.UTF-8/man?/winemaker.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wineserver.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/winemaker.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wineserver.?* +%{_mandir}/man?/widl.1* +%{_mandir}/man?/winebuild.1* +%{_mandir}/man?/winecpp.1* +%{_mandir}/man?/winedbg.1* +%{_mandir}/man?/winedump.1* +%{_mandir}/man?/wineg++.1* +%{_mandir}/man?/winegcc.1* +%{_mandir}/man?/winemaker.1* +%{_mandir}/man?/wmc.1* +%{_mandir}/man?/wrc.1* +%{_mandir}/man?/msiexec.?* +%{_mandir}/man?/notepad.?* +%{_mandir}/man?/regedit.?* +%{_mandir}/man?/regsvr32.?* +%{_mandir}/man?/wineboot.?* +%{_mandir}/man?/winecfg.?* +%{_mandir}/man?/wineconsole.?* +%{_mandir}/man?/winefile.?* +%{_mandir}/man?/winemine.?* +%{_mandir}/man?/winepath.?* +%{_mandir}/man?/wineserver.?* +%dir %{_datadir}/wine +%{_datadir}/wine/wine.inf +%{_datadir}/wine/nls/*.nls +%{_datadir}/applications/*.desktop +%dir %{_datadir}/wine/fonts +%{_datadir}/wine/fonts/* +# %{_datadir}/wine/color/* + +%if 0%{?fedora} < 40 +%ifarch %{ix86} +%files -n %{name}-common +%{_bindir}/wine +%{_bindir}/wine-preloader +%{_mandir}/man?/wine.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wine.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wine.?* +%lang(pl) %{_mandir}/pl.UTF-8/man?/wine.?* +%endif +%else +%{_bindir}/wine +#%{_bindir}/wine-preloader +%{_mandir}/man?/wine.?* +%lang(de) %{_mandir}/de.UTF-8/man?/wine.?* +%lang(fr) %{_mandir}/fr.UTF-8/man?/wine.?* +%lang(pl) %{_mandir}/pl.UTF-8/man?/wine.?* +%endif + +%if 0%{?fedora} < 40 +%ifarch %ix86 x86_64 +%{_libdir}/wine/%{_arch}-unix/*.* +%{_libdir}/wine/%{_arch}-windows/*.* +%endif +%else +%{_libdir}/wine/%{_arch}-unix/* +%{_libdir}/wine/i386-windows/*.* +%{_libdir}/wine/x86_64-windows/*.* +%endif + +%files -n %{wine}-devel +%{_includedir}/* + +%files -n %compat_package +/usr/bin/* +/usr/share/applications/*.desktop +/usr/share/man/man?/* +%lang(de) /usr/share/man/de.UTF-8/man?/* +%lang(fr) /usr/share/man/fr.UTF-8/man?/* +%lang(pl) /usr/share/man/pl.UTF-8/man?/* diff --git a/anda/system/wine/staging/wine.keyring b/anda/system/wine/staging/wine.keyring new file mode 100644 index 0000000000..1b658e615b --- /dev/null +++ b/anda/system/wine/staging/wine.keyring @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=6vF7 +-----END PGP PUBLIC KEY BLOCK-----