diff --git a/.gitignore b/.gitignore index 6451b75..5ef8248 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/wine-mono-*-src.tar.xz +/wine-mono-4.9.2.tar.gz diff --git a/sources b/sources index f923618..7c39bca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (wine-mono-10.4.1-src.tar.xz) = e2d227f003932a6dd3115492ee91ccf0682181e317d66d498edfa27302ee164bf1f308a66c1323fc246b9a759500454922312eb0529baf9e7584a78ede5ca60a +SHA512 (wine-mono-4.9.2.tar.gz) = 147dece0bd89f43601eb299bbd9ce10976e653089596c9e5473c75f34a07e3ab605a84f749a256903ad4dfbd0e04cacbdaf0a9a0d00be8ab15828d70bcfa85e7 diff --git a/wine-mono-7.3.0-iconv.patch b/wine-mono-7.3.0-iconv.patch deleted file mode 100644 index 3f351ec..0000000 --- a/wine-mono-7.3.0-iconv.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- 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 new file mode 100644 index 0000000..2af01d0 --- /dev/null +++ b/wine-mono-build-static.patch @@ -0,0 +1,19 @@ +--- 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 d9bddbc..5164354 100644 --- a/wine-mono.spec +++ b/wine-mono.spec @@ -1,23 +1,21 @@ -%undefine _auto_set_build_flags %undefine _hardened_build %{?mingw_package_header} Name: wine-mono -Version: 10.4.1 -Release: 3%{?dist} +Version: 4.9.2 +Release: 1%{?dist} Summary: Mono library required for Wine -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 +License: GPLv2 and LGPLv2 and MIT and BSD and MS-PL and MPLv1.1 URL: http://wiki.winehq.org/Mono -# 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 +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 # see git://github.com/madewokherd/wine-mono BuildArch: noarch -# wine-mono is not ported to any other architecture and can only be built on a x86 host -ExcludeArch: aarch64 %{power64} s390x s390 +ExcludeArch: %{power64} s390x s390 # 64 BuildRequires: mingw64-filesystem >= 95 @@ -39,204 +37,66 @@ 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: python3-setuptools -BuildRequires: python3-devel - -# https://bugs.winehq.org/show_bug.cgi?id=48937 -# fixed in wine 5.7 -BuildRequires: dos2unix +BuildRequires: /usr/bin/pathfix.py Requires: wine-filesystem -# Bundles FAudio, SDL3 +# Bundles FAudio, libtheorafile, libmojoshader, SDL2, SDL2_image %description Windows Mono library required for Wine. %global mingw_build_win32 0 -%global mingw_build_win64 0 %{?mingw_debug_package} %prep -%autosetup -p1 +%setup -q +%patch0 -p1 -b.static # Fix all Python shebangs -%py3_shebang_fix . +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" . 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 -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 +make %{_smp_mflags} 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 mono/LICENSE -%doc README.md +%license COPYING mono-LICENSE mono-COPYING.LIB mono-basic-LICENSE mono-mcs* +%doc README mono-basic-README %{_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