diff --git a/.gitignore b/.gitignore index 5ef8248..6451b75 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/wine-mono-4.9.2.tar.gz +/wine-mono-*-src.tar.xz diff --git a/sources b/sources index 7c39bca..f923618 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (wine-mono-4.9.2.tar.gz) = 147dece0bd89f43601eb299bbd9ce10976e653089596c9e5473c75f34a07e3ab605a84f749a256903ad4dfbd0e04cacbdaf0a9a0d00be8ab15828d70bcfa85e7 +SHA512 (wine-mono-10.4.1-src.tar.xz) = e2d227f003932a6dd3115492ee91ccf0682181e317d66d498edfa27302ee164bf1f308a66c1323fc246b9a759500454922312eb0529baf9e7584a78ede5ca60a diff --git a/wine-mono-7.3.0-iconv.patch b/wine-mono-7.3.0-iconv.patch new file mode 100644 index 0000000..3f351ec --- /dev/null +++ b/wine-mono-7.3.0-iconv.patch @@ -0,0 +1,16 @@ +--- a/mono/mono/eglib/giconv.c 2022-05-31 13:21:00.000000000 -0500 ++++ b/mono/mono/eglib/giconv.c 2022-06-06 09:50:36.251364772 -0500 +@@ -196,12 +196,8 @@ + } else { + outleftptr = NULL; + } +-// AIX needs this for C++ and GNU iconv +-#if defined(__NetBSD__) || defined(_AIX) ++ + return iconv (cd->cd, (const gchar **)inbytes, inleftptr, outbytes, outleftptr); +-#else +- return iconv (cd->cd, inbytes, inleftptr, outbytes, outleftptr); +-#endif + } + #endif + diff --git a/wine-mono-build-static.patch b/wine-mono-build-static.patch deleted file mode 100644 index 2af01d0..0000000 --- a/wine-mono-build-static.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- wine-mono-4.9.0/Makefile.orig 2015-04-20 10:34:32.150114394 -0500 -+++ wine-mono-4.9.0/Makefile 2015-04-20 10:33:13.699274928 -0500 -@@ -106,6 +106,7 @@ - $$(BUILDDIR)/mono-$(1)/Makefile: $$(SRCDIR)/mono/configure $$(BUILDDIR)/.dir - mkdir -p $$(@D) - cd $$(BUILDDIR)/mono-$(1); CPPFLAGS="-gdwarf-2 -gstrict-dwarf" $$(SRCDIR_ABS)/mono/configure --prefix="$$(BUILDDIR_ABS)/build-cross-$(1)-install" --build=$$(shell $$(SRCDIR)/mono/config.guess) --target=$$(MINGW_$(1)) --host=$$(MINGW_$(1)) --with-tls=none --disable-mcs-build --enable-win32-dllmain=yes --with-libgc-threads=win32 PKG_CONFIG=false mono_cv_clang=no -+ sed -e 's+compiler_flags="-specs=/usr/lib/rpm/redhat/redhat-hardened-ld"+compiler_flags="-static"+' -i $$(BUILDDIR)/mono-$(1)/libtool - sed -e 's/-lgcc_s//' -i $$(BUILDDIR)/mono-$(1)/libtool - - $$(BUILDDIR)/mono-$(1)/.built: $$(BUILDDIR)/mono-$(1)/Makefile $$(MONO_MONO_SRCS) -@@ -260,6 +261,7 @@ - $(BUILDDIR)/mono-unix/Makefile: $(SRCDIR)/mono/configure $(BUILDDIR)/.dir - mkdir -p $(@D) - cd $(@D) && $(SRCDIR_ABS)/mono/configure --prefix="$(BUILDDIR_ABS)/mono-unix-install" --with-mcs-docs=no --disable-system-aot -+ sed -e 's+compiler_flags="-specs=/usr/lib/rpm/redhat/redhat-hardened-ld"+compiler_flags="-static"+' -i $(@D)/libtool - - $(BUILDDIR)/mono-unix/mono/lib/libSystem.Native.so: $(BUILDDIR)/mono-unix/Makefile $(MONO_LIBNATIVE_SRCS) - mkdir -p $(@D) - diff --git a/wine-mono.spec b/wine-mono.spec index 5164354..d9bddbc 100644 --- a/wine-mono.spec +++ b/wine-mono.spec @@ -1,21 +1,23 @@ +%undefine _auto_set_build_flags %undefine _hardened_build %{?mingw_package_header} Name: wine-mono -Version: 4.9.2 -Release: 1%{?dist} +Version: 10.4.1 +Release: 3%{?dist} Summary: Mono library required for Wine -License: GPLv2 and LGPLv2 and MIT and BSD and MS-PL and MPLv1.1 +License: GPL-2.0-or-later AND LGPL-2.1-only AND MIT AND BSD-4-Clause-UC AND MS-PL AND MPL-1.1 URL: http://wiki.winehq.org/Mono -Source0: http://dl.winehq.org/wine/wine-mono/%{version}/wine-mono-%{version}.tar.gz -# to statically link in winpthreads -Patch0: wine-mono-build-static.patch +# https://github.com/madewokherd/wine-mono +Source0: https://dl.winehq.org/wine/wine-mono/%{version}/wine-mono-%{version}-src.tar.xz +Patch0: wine-mono-7.3.0-iconv.patch # see git://github.com/madewokherd/wine-mono BuildArch: noarch -ExcludeArch: %{power64} s390x s390 +# wine-mono is not ported to any other architecture and can only be built on a x86 host +ExcludeArch: aarch64 %{power64} s390x s390 # 64 BuildRequires: mingw64-filesystem >= 95 @@ -37,66 +39,204 @@ BuildRequires: mingw32-winpthreads-static BuildRequires: autoconf automake BuildRequires: bc BuildRequires: cmake +BuildRequires: dos2unix BuildRequires: gcc-c++ BuildRequires: libtool +BuildRequires: make BuildRequires: pkgconfig BuildRequires: gettext +BuildRequires: libgdiplus BuildRequires: wine-core BuildRequires: /usr/bin/python -BuildRequires: /usr/bin/pathfix.py +BuildRequires: python3-setuptools +BuildRequires: python3-devel + +# https://bugs.winehq.org/show_bug.cgi?id=48937 +# fixed in wine 5.7 +BuildRequires: dos2unix Requires: wine-filesystem -# Bundles FAudio, libtheorafile, libmojoshader, SDL2, SDL2_image +# Bundles FAudio, SDL3 %description Windows Mono library required for Wine. %global mingw_build_win32 0 +%global mingw_build_win64 0 %{?mingw_debug_package} %prep -%setup -q -%patch0 -p1 -b.static +%autosetup -p1 # Fix all Python shebangs -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" . +%py3_shebang_fix . sed -i 's/GENMDESC_PRG=python/GENMDESC_PRG=python3/' mono/mono/mini/Makefile.am.in +# remove shipped compiler +rm -rf llvm-mingw-*-ucrt-ubuntu-*-x86_64/ +sed -i 's/$CPPFLAGS_FOR_BTLS $btls_cflags/$CPPFLAGS_FOR_BTLS -fPIC $btls_cflags/' mono/configure.ac + +# workaround coreutils 9.2 behavior change to "cp -n" option (RHBZ#2208129) +# https://github.com/madewokherd/wine-mono/issues/164 +sed -i 's~cp -n $(IMAGEDIR)/lib/mono/4.8-api/\*.dll $(IMAGEDIR)/lib/mono/4.5/~cp -n $(IMAGEDIR)/lib/mono/4.8-api/\*.dll $(IMAGEDIR)/lib/mono/4.5/ || true~' mono.make + %build -make %{_smp_mflags} image +export BTLS_CFLAGS="-fPIC" +export CPPFLAGS_FOR_BTLS="-fPIC" +# Disable LLVM compiler as we do not ship a full, updated MinGW environment. Use GCC instead. +echo "AUTO_LLVM_MINGW=0" > user-config.make +# Disable WpfGfx as it requires LLVM to compile +echo "ENABLE_DOTNET_CORE_WPFGFX=0" >> user-config.make +# Enable DWARF debug symbols +echo "PREFER_DWARF_SYMBOLS=1" >> user-config.make +%make_build image %install mkdir -p %{buildroot}%{_datadir}/wine/mono/wine-mono-%{version}/ cp -rp image/* \ %{buildroot}%{_datadir}/wine/mono/wine-mono-%{version}/ -# prep licenses -cp mono/LICENSE mono-LICENSE -cp mono/COPYING.LIB mono-COPYING.LIB -cp mono/mcs/COPYING mono-mcs-COPYING - -pushd mono/mcs - -for l in `ls LICENSE*`; do -echo $l -cp $l ../../mono-mcs-$l -done - -popd - -cp mono-basic/README mono-basic-README -cp mono-basic/LICENSE mono-basic-LICENSE - %files -%license COPYING mono-LICENSE mono-COPYING.LIB mono-basic-LICENSE mono-mcs* -%doc README mono-basic-README +%license mono/LICENSE +%doc README.md %{_datadir}/wine/mono/wine-mono-%{version}/ %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 10.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 10.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jan 14 2026 Michael Cronenworth - 10.4.1-1 +- version upgrade + +* Sun Nov 02 2025 Michael Cronenworth - 10.3.0-1 +- version upgrade + +* Fri Aug 29 2025 Michael Cronenworth - 10.2.0-1 +- version upgrade + +* Fri Jul 25 2025 Fedora Release Engineering - 10.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 30 2025 Björn Esser - 10.1.0-1 +- version upgrade +- Fix FTBFS by forcing DWARF debuginfo +- Fix removal of pre-build toolchain + +* Sun Apr 06 2025 Michael Cronenworth - 10.0.0-1 +- version upgrade + +* Sun Jan 19 2025 Fedora Release Engineering - 9.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Jan 06 2025 Michael Cronenworth - 9.4.0-2 +- Fix using system DLLs (RHBZ#2183853) + +* Wed Dec 04 2024 Zephyr Lykos - 9.4.0-1 +- new version + +* Sat Sep 21 2024 Zephyr Lykos - 9.3.0-1 +- new version + +* Tue Aug 13 2024 Michael Cronenworth - 9.2.0-1 +- version upgrade + +* Sat Jul 20 2024 Fedora Release Engineering - 9.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Mar 28 2024 Michael Cronenworth - 9.0.0-1 +- version upgrade + +* Sat Jan 27 2024 Fedora Release Engineering - 8.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Dec 9 2023 Florian Weimer - 8.1.0-2 +- Fix C compatibility issue in the configure script + +* Mon Oct 30 2023 Michael Cronenworth - 8.1.0-1 +- version upgrade + +* Sat Jul 22 2023 Fedora Release Engineering - 8.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 19 2023 Michael Cronenworth - 8.0.0-1 +- version upgrade + +* Sat Jan 21 2023 Fedora Release Engineering - 7.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Oct 31 2022 Michael Cronenworth - 7.4.0-1 +- version upgrade + +* Sat Jul 23 2022 Fedora Release Engineering - 7.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 06 2022 Michael Cronenworth - 7.3.0-1 +- version upgrade + +* Fri Mar 25 2022 Sandro Mani - 7.1.1-2 +- Rebuild with mingw-gcc-12 + +* Sat Jan 29 2022 Björn Esser - 7.1.1-1 +- version upgrade + +* Sat Jan 22 2022 Fedora Release Engineering - 7.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 20 2021 Michael Cronenworth - 7.0.0-1 +- version upgrade + +* Mon Oct 04 2021 Michael Cronenworth - 6.4.0-1 +- version upgrade + +* Mon Aug 30 2021 Michael Cronenworth - 6.3.0-1 +- version upgrade + +* Fri Jul 23 2021 Fedora Release Engineering - 6.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jun 07 2021 Michael Cronenworth - 6.2.0-1 +- version upgrade + +* Sun Apr 11 2021 Michael Cronenworth - 6.1.1-1 +- version upgrade + +* Sat Feb 13 2021 Michael Cronenworth - 6.0.0-1 +- version upgrade + +* Wed Jan 27 2021 Fedora Release Engineering - 5.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Oct 10 2020 Michael Cronenworth - 5.1.1-1 +- version upgrade + +* Wed Jul 29 2020 Fedora Release Engineering - 5.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 24 2020 Michael Cronenworth - 5.1.0-1 +- version upgrade + +* Sun Apr 26 2020 Michael Cronenworth - 5.0.0-1 +- version upgrade + +* Fri Jan 31 2020 Fedora Release Engineering - 4.9.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Nov 16 2019 Michael Cronenworth - 4.9.4-1 +- version upgrade + +* Sun Sep 29 2019 Michael Cronenworth - 4.9.3-1 +- version upgrade + * Mon Aug 19 2019 Michael Cronenworth - 4.9.2-1 - version upgrade +* Sat Jul 27 2019 Fedora Release Engineering - 4.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Jun 23 2019 Michael Cronenworth - 4.9.0-1 - version upgrade