Compare commits

..

No commits in common. "rawhide" and "f32" have entirely different histories.

6 changed files with 80 additions and 141 deletions

2
.gitignore vendored
View file

@ -1 +1 @@
/wine-mono-*-src.tar.xz
/wine-mono-6.0.0-src.tar.xz

View file

@ -1 +1 @@
SHA512 (wine-mono-10.4.1-src.tar.xz) = e2d227f003932a6dd3115492ee91ccf0682181e317d66d498edfa27302ee164bf1f308a66c1323fc246b9a759500454922312eb0529baf9e7584a78ede5ca60a
SHA512 (wine-mono-6.0.0-src.tar.xz) = 4dcc48ca12b035bcaa4b1d5b0fd8bfb35c380ca943a402d8d41131aa0615c695820a1d2b3b90b7a91c0e0f2f28d8a3a62d8275d4d3fa5a1d9ceb27eae1719499

View file

@ -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

View file

@ -0,0 +1,31 @@
--- wine-mono-5.0.0/mono.make.orig 2020-06-01 11:47:42.000000000 -0500
+++ wine-mono-5.0.0/mono.make 2020-06-24 14:47:01.905533172 -0500
@@ -15,7 +15,8 @@
# libmono dll's
$$(BUILDDIR)/mono-$(1)/Makefile: $$(SRCDIR)/mono/configure $$(SRCDIR)/mono.make $$(BUILDDIR)/.dir $$(MINGW_DEPS)
mkdir -p $$(@D)
- cd $$(BUILDDIR)/mono-$(1); $$(MINGW_ENV) 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 --disable-boehm
+ cd $$(BUILDDIR)/mono-$(1); $$(MINGW_ENV) CPPFLAGS_FOR_BTLS="-fPIC" CPPFLAGS="-gdwarf-2 -gstrict-dwarf -fPIC" $$(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 --disable-boehm
+ 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) $$(MINGW_DEPS)
@@ -51,7 +52,7 @@
$(RM_F) $$(@D)/CMakeCache.txt
mkdir -p $$(@D)
# wincrypt.h interferes with boringssl definitions, so we prevent its inclusion
- cd $$(@D); $$(MINGW_ENV) cmake -DCMAKE_TOOLCHAIN_FILE="$$(SRCDIR_ABS)/toolchain-$(1).cmake" -DCMAKE_C_COMPILER=$$(MINGW_$(1))-gcc -DCMAKE_C_FLAGS='-D__WINCRYPT_H__ -D_WIN32_WINNT=0x0600 -static-libgcc' -DCMAKE_CXX_COMPILER=$$(MINGW_$(1))-g++ -DOPENSSL_NO_ASM=1 -DBTLS_ROOT="$$(SRCDIR_ABS)/mono/external/boringssl" -DBUILD_SHARED_LIBS=1 $$(SRCDIR_ABS)/mono/mono/btls
+ cd $$(@D); $$(MINGW_ENV) CPPFLAGS_FOR_BTLS="-fPIC" cmake -DCMAKE_TOOLCHAIN_FILE="$$(SRCDIR_ABS)/toolchain-$(1).cmake" -DCMAKE_C_COMPILER=$$(MINGW_$(1))-gcc -DCMAKE_C_FLAGS='-fPIC -D__WINCRYPT_H__ -D_WIN32_WINNT=0x0600 -static-libgcc' -DCMAKE_CXX_COMPILER=$$(MINGW_$(1))-g++ -DOPENSSL_NO_ASM=1 -DBTLS_ROOT="$$(SRCDIR_ABS)/mono/external/boringssl" -DBUILD_SHARED_LIBS=1 $$(SRCDIR_ABS)/mono/mono/btls
$$(BUILDDIR)/btls-$(1)/.built: $$(BUILDDIR)/btls-$(1)/Makefile $$(MONO_BTLS_SRCS) $$(MINGW_DEPS)
+WINEPREFIX=/dev/null $$(MINGW_ENV) $$(MAKE) -C $$(BUILDDIR)/btls-$(1)
@@ -105,7 +106,8 @@
# mono native/classlib build
$(BUILDDIR)/mono-unix/Makefile: $(SRCDIR)/mono/configure $(SRCDIR)/mono.make $(BUILDDIR)/.dir
mkdir -p $(@D)
- cd $(@D) && $(SRCDIR_ABS)/mono/configure --prefix="$(BUILDDIR_ABS)/mono-unix-install" --with-mcs-docs=no --disable-system-aot --without-compiler-server
+ cd $(@D) && CPPFLAGS_FOR_BTLS="-fPIC" BTLS_CFLAGS="-fPIC" $(SRCDIR_ABS)/mono/configure --prefix="$(BUILDDIR_ABS)/mono-unix-install" --with-mcs-docs=no --disable-system-aot --without-compiler-server
+ 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)

11
wine-mono-crlf.patch Normal file
View file

@ -0,0 +1,11 @@
--- a/tools/build-msi-tables.sh 2020-04-10 11:06:24.000000000 -0500
+++ b/tools/build-msi-tables.sh 2020-04-27 10:03:20.835241179 -0500
@@ -7,7 +7,7 @@
mkdir -p ${TABLEDIR}
cp ${TABLESRCDIR}/*.idt ${TABLEDIR}
-IMAGECABWINPATH=`${WINE} winepath -w "${CABFILENAME}"`
+IMAGECABWINPATH=`${WINE} winepath -w "${CABFILENAME}" | dos2unix`
cd "${IMAGEDIR}"

View file

@ -1,25 +1,29 @@
%undefine _auto_set_build_flags
%undefine _hardened_build
%{?mingw_package_header}
Name: wine-mono
Version: 10.4.1
Release: 3%{?dist}
Version: 6.0.0
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
# to statically link in winpthreads
Patch0: wine-mono-build-static.patch
# https://bugs.winehq.org/show_bug.cgi?id=48937
# fixed in wine 5.7
Patch1: wine-mono-crlf.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: make
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-headers
BuildRequires: mingw64-cpp
@ -42,14 +46,12 @@ 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
BuildRequires: /usr/bin/pathfix.py
# https://bugs.winehq.org/show_bug.cgi?id=48937
# fixed in wine 5.7
@ -57,30 +59,27 @@ BuildRequires: dos2unix
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
%patch1 -p1 -b.crlf
# 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/
rm -rf llvm-mingw-20200325-ubuntu-18.04/*
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"
@ -88,122 +87,36 @@ export CPPFLAGS_FOR_BTLS="-fPIC"
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 <releng@fedoraproject.org> - 10.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 10.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jan 14 2026 Michael Cronenworth <mike@cchtml.com> - 10.4.1-1
- version upgrade
* Sun Nov 02 2025 Michael Cronenworth <mike@cchtml.com> - 10.3.0-1
- version upgrade
* Fri Aug 29 2025 Michael Cronenworth <mike@cchtml.com> - 10.2.0-1
- version upgrade
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 10.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 30 2025 Björn Esser <besser82@fedoraproject.org> - 10.1.0-1
- version upgrade
- Fix FTBFS by forcing DWARF debuginfo
- Fix removal of pre-build toolchain
* Sun Apr 06 2025 Michael Cronenworth <mike@cchtml.com> - 10.0.0-1
- version upgrade
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jan 06 2025 Michael Cronenworth <mike@cchtml.com> - 9.4.0-2
- Fix using system DLLs (RHBZ#2183853)
* Wed Dec 04 2024 Zephyr Lykos <fedora@mochaa.ws> - 9.4.0-1
- new version
* Sat Sep 21 2024 Zephyr Lykos <fedora@mochaa.ws> - 9.3.0-1
- new version
* Tue Aug 13 2024 Michael Cronenworth <mike@cchtml.com> - 9.2.0-1
- version upgrade
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Mar 28 2024 Michael Cronenworth <mike@cchtml.com> - 9.0.0-1
- version upgrade
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Dec 9 2023 Florian Weimer <fweimer@redhat.com> - 8.1.0-2
- Fix C compatibility issue in the configure script
* Mon Oct 30 2023 Michael Cronenworth <mike@cchtml.com> - 8.1.0-1
- version upgrade
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jun 19 2023 Michael Cronenworth <mike@cchtml.com> - 8.0.0-1
- version upgrade
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 7.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Oct 31 2022 Michael Cronenworth <mike@cchtml.com> - 7.4.0-1
- version upgrade
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 06 2022 Michael Cronenworth <mike@cchtml.com> - 7.3.0-1
- version upgrade
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 7.1.1-2
- Rebuild with mingw-gcc-12
* Sat Jan 29 2022 Björn Esser <besser82@fedoraproject.org> - 7.1.1-1
- version upgrade
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 20 2021 Michael Cronenworth <mike@cchtml.com> - 7.0.0-1
- version upgrade
* Mon Oct 04 2021 Michael Cronenworth <mike@cchtml.com> - 6.4.0-1
- version upgrade
* Mon Aug 30 2021 Michael Cronenworth <mike@cchtml.com> - 6.3.0-1
- version upgrade
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jun 07 2021 Michael Cronenworth <mike@cchtml.com> - 6.2.0-1
- version upgrade
* Sun Apr 11 2021 Michael Cronenworth <mike@cchtml.com> - 6.1.1-1
- version upgrade
* Sat Feb 13 2021 Michael Cronenworth <mike@cchtml.com> - 6.0.0-1
- version upgrade