diff --git a/0001-Reenable-mdoc.exe-build.patch b/0001-Reenable-mdoc.exe-build.patch index c757eb2..345c3f3 100644 --- a/0001-Reenable-mdoc.exe-build.patch +++ b/0001-Reenable-mdoc.exe-build.patch @@ -6,14 +6,14 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Signed-off-by: Robert-Andr Mauchin +Signed-off-by: Robert-André Mauchin --- mcs/docs/Makefile | 4 ---- mcs/tools/mdoc/Makefile | 18 ++++++------------ 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/mcs/docs/Makefile b/mcs/docs/Makefile -index b66d70230..519a98443 100644 +index 92e8f2adbe5..88bddb66268 100644 --- a/mcs/docs/Makefile +++ b/mcs/docs/Makefile @@ -38,10 +38,6 @@ DISABLE_MCS_DOCS = yes @@ -24,11 +24,11 @@ index b66d70230..519a98443 100644 -DISABLE_MCS_DOCS = yes -endif - - test-local run-test-local run-test-ondotnet-local doc-update: + csproj-local test-local run-test-local run-test-ondotnet-local doc-update: clean-local: diff --git a/mcs/tools/mdoc/Makefile b/mcs/tools/mdoc/Makefile -index e3c5a321d..008203616 100644 +index e3c5a321d1a..00820361636 100644 --- a/mcs/tools/mdoc/Makefile +++ b/mcs/tools/mdoc/Makefile @@ -44,12 +44,6 @@ $(PROGRAM): $(PROGRAM_DEPS) @@ -84,3 +84,6 @@ index e3c5a321d..008203616 100644 check-doc-tools-update: check-monodocer-since-update \ check-monodocer-importecmadoc-update \ +-- +2.24.1 + diff --git a/mono-6.12.0-correct-alloc-free-for-zlib.patch b/mono-6.12.0-correct-alloc-free-for-zlib.patch deleted file mode 100644 index d9c3b25..0000000 --- a/mono-6.12.0-correct-alloc-free-for-zlib.patch +++ /dev/null @@ -1,35 +0,0 @@ -From ed68c250b8589663601aa7dd88177697d0b37ec9 Mon Sep 17 00:00:00 2001 -From: jo-oe <38652639+jo-oe@users.noreply.github.com> -Date: Tue, 9 Apr 2024 16:57:39 +0200 -Subject: [PATCH] Correct the selection of alloc/free functions for zlib. - -Avoids segfault when working with zlib-ng. -See: -https://github.com/zlib-ng/zlib-ng/issues/1708 ---- - support/zlib-helper.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/support/zlib-helper.c b/support/zlib-helper.c -index 76d8951ad8a8a..a5fbc0138822d 100644 ---- a/support/zlib-helper.c -+++ b/support/zlib-helper.c -@@ -76,6 +76,8 @@ CreateZStream (gint compress, guchar gzip, read_write_func func, void *gchandle) - return NULL; - - z = z_new0 (z_stream); -+ z->zalloc = z_alloc; -+ z->zfree = z_free; - if (compress) { - retval = deflateInit2 (z, Z_DEFAULT_COMPRESSION, Z_DEFLATED, gzip ? 31 : -15, 8, Z_DEFAULT_STRATEGY); - } else { -@@ -86,8 +88,6 @@ CreateZStream (gint compress, guchar gzip, read_write_func func, void *gchandle) - free (z); - return NULL; - } -- z->zalloc = z_alloc; -- z->zfree = z_free; - result = z_new0 (ZStream); - result->stream = z; - result->func = func; - diff --git a/mono-6.12.0-fix-process-start.patch b/mono-6.12.0-fix-process-start.patch new file mode 100644 index 0000000..4b9e02c --- /dev/null +++ b/mono-6.12.0-fix-process-start.patch @@ -0,0 +1,42 @@ +From 325577feffad1f87b07d92710c0d37c79c5f50a1 Mon Sep 17 00:00:00 2001 +From: Ryan Lucia +Date: Thu, 4 Feb 2021 08:55:48 -0500 +Subject: [PATCH] Fix early return in Process.Start + +--- + mono/metadata/w32process-unix.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/mono/metadata/w32process-unix.c b/mono/metadata/w32process-unix.c +index 663cc6ff5111..d030101aede6 100644 +--- a/mono/metadata/w32process-unix.c ++++ b/mono/metadata/w32process-unix.c +@@ -2032,6 +2032,9 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoW32ProcessStar + + static char *handler; + static gunichar2 *handler_utf16; ++#ifndef HOST_DARWIN ++ gboolean finished = FALSE; ++#endif + + if (handler_utf16 == (gunichar2 *)-1) { + ret = FALSE; +@@ -2057,6 +2060,7 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoW32ProcessStar + if (handler == NULL){ + handler_utf16 = (gunichar2 *) -1; + ret = FALSE; ++ finished = TRUE; + } else { + /* kfmclient needs exec argument */ + char *old = handler; +@@ -2067,9 +2071,8 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoW32ProcessStar + } + } + MONO_EXIT_GC_SAFE; +- if (ret == FALSE){ ++ if (finished) + goto done; +- } + #endif + handler_utf16 = g_utf8_to_utf16 (handler, -1, NULL, NULL, NULL); + g_free (handler); diff --git a/mono-6.14.0-arm64-fix-pointer-int.patch b/mono-6.14.0-arm64-fix-pointer-int.patch deleted file mode 100644 index e38547c..0000000 --- a/mono-6.14.0-arm64-fix-pointer-int.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2224c6915a98f870cc9a3a9f9e3698e7b20e3d27 Mon Sep 17 00:00:00 2001 -From: Esme Povirk -Date: Sat, 12 Apr 2025 20:31:54 +0000 -Subject: [PATCH] arm64: Fix a pointer-to-int cast size mismatch. - ---- - mono/utils/mono-sigcontext.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/mono/utils/mono-sigcontext.h b/mono/utils/mono-sigcontext.h -index 2153c1cad57..6426f44b7c7 100644 ---- a/mono/utils/mono-sigcontext.h -+++ b/mono/utils/mono-sigcontext.h -@@ -492,6 +492,12 @@ typedef struct ucontext { - #define UCONTEXT_REG_SP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.sp) - #define UCONTEXT_REG_R0(ctx) (((ucontext_t*)(ctx))->uc_mcontext.regs [ARMREG_R0]) - #define UCONTEXT_GREGS(ctx) (&(((ucontext_t*)(ctx))->uc_mcontext.regs)) -+ #define UCONTEXT_REG_SET_PC(ctx, val) do { \ -+ UCONTEXT_REG_PC (ctx) = (gsize)(val); \ -+ } while (0) -+ #define UCONTEXT_REG_SET_SP(ctx, val) do { \ -+ UCONTEXT_REG_SP (ctx) = (val); \ -+ } while (0) - #endif - - #ifndef UCONTEXT_REG_SET_PC diff --git a/mono-6.6.0-fix-multi-arch-issue.patch b/mono-6.6.0-fix-multi-arch-issue.patch deleted file mode 100644 index a395d88..0000000 --- a/mono-6.6.0-fix-multi-arch-issue.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/mono/eglib/eglib-config.h.in 2020-10-12 14:57:46.354634946 +0200 -+++ b/mono/eglib/eglib-config.h.in 2020-10-12 15:00:10.106637683 +0200 -@@ -26,7 +26,11 @@ - typedef @GSIZE@ gsize; - typedef @GSSIZE@ gssize; - --#define G_GSIZE_FORMAT @GSIZE_FORMAT@ -+#ifdef __i386__ -+#define G_GSIZE_FORMAT "u" -+#else -+#define G_GSIZE_FORMAT "lu" -+#endif - - #if defined (HOST_WATCHOS) - #undef G_BREAKPOINT diff --git a/mono-6.6.0-python3.patch b/mono-6.6.0-python3.patch new file mode 100644 index 0000000..2f67982 --- /dev/null +++ b/mono-6.6.0-python3.patch @@ -0,0 +1,53 @@ +--- a/scripts/mono-heapviz ++++ b/scripts/mono-heapviz +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + + # Generate a heap visualization for SGen from the heap dump written by + # mono if the MONO_GC_DEBUG is set to something like +diff -up mono-5.18.1.0/mono/mini/genmdesc.py.py3 mono-5.18.1.0/mono/mini/genmdesc.py +--- mono-5.18.1.0/mono/mini/genmdesc.py.py3 2019-03-28 06:56:35.765851125 -0400 ++++ mono-5.18.1.0/mono/mini/genmdesc.py 2019-03-28 06:56:44.805851125 -0400 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + + # + # This tool is used to generate the cpu-.h files used by the JIT. The input is the +diff -up mono-5.18.1.0/mono/mini/Makefile.am.in.py3 mono-5.18.1.0/mono/mini/Makefile.am.in +--- mono-5.18.1.0/mono/mini/Makefile.am.in.py3 2019-03-28 07:01:10.975851125 -0400 ++++ mono-5.18.1.0/mono/mini/Makefile.am.in 2019-03-28 07:01:35.395851125 -0400 +@@ -780,7 +780,7 @@ MemoryIntrinsics.dll: MemoryIntrinsics.i + + GENMDESC_OPTS= + +-GENMDESC_PRG=python $(srcdir)/genmdesc.py $(target_define) $(srcdir) ++GENMDESC_PRG=python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) + + cpu-wasm.h: mini-ops.h cpu-wasm.md $(srcdir)/genmdesc.py + $(GENMDESC_PRG) cpu-wasm.h wasm_desc $(srcdir)/cpu-wasm.md +diff -up mono-5.18.1.0/mono/mini/Makefile.am.py3 mono-5.18.1.0/mono/mini/Makefile.am +--- mono-5.18.1.0/mono/mini/Makefile.am.py3 2019-03-28 07:06:02.235851125 -0400 ++++ mono-5.18.1.0/mono/mini/Makefile.am 2019-03-28 07:06:06.385851125 -0400 +@@ -780,7 +780,7 @@ MemoryIntrinsics.dll: MemoryIntrinsics.i + + GENMDESC_OPTS= + +-GENMDESC_PRG=python $(srcdir)/genmdesc.py $(target_define) $(srcdir) ++GENMDESC_PRG=python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) + + cpu-wasm.h: mini-ops.h cpu-wasm.md $(srcdir)/genmdesc.py + $(GENMDESC_PRG) cpu-wasm.h wasm_desc $(srcdir)/cpu-wasm.md +diff -up mono-5.18.1.0/mono/mini/Makefile.in.py3 mono-5.18.1.0/mono/mini/Makefile.in +--- mono-5.18.1.0/mono/mini/Makefile.in.py3 2019-03-28 07:06:12.805851125 -0400 ++++ mono-5.18.1.0/mono/mini/Makefile.in 2019-03-28 07:06:21.575851125 -0400 +@@ -1287,7 +1287,7 @@ libmonoincludedir = $(includedir)/mono-$ + libmonoinclude_HEADERS = jit.h + CSFLAGS = -unsafe -nowarn:0219,0169,0414,0649,0618 + GENMDESC_OPTS = +-GENMDESC_PRG = python $(srcdir)/genmdesc.py $(target_define) $(srcdir) ++GENMDESC_PRG = python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) + LLVM_AOT_RUNTIME_OPTS = $(if $(LLVM),--llvm,) + @AMD64_FALSE@LLVM_AOT_COMPILER_OPTS = + @AMD64_TRUE@LLVM_AOT_COMPILER_OPTS = $(if $(LLVM),llvmllc=-mattr=+sse3,) diff --git a/mono-configure-c99.patch b/mono-configure-c99.patch deleted file mode 100644 index 0f78563..0000000 --- a/mono-configure-c99.patch +++ /dev/null @@ -1,76 +0,0 @@ -The thread start routine must return void *, and int and void * -are distinct types. Compilers increasingly issue errors instead -of warnings for such type errors, and this causes the configure -probe to fail unconditionally, even if the system supports -__thread variables. - -Submitted upstream: - -diff --git a/configure.ac b/configure.ac -index bbbd1622d9728859..5a3a5770c8a3cdb6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2833,14 +2833,16 @@ if test x$host_win32 = xno; then - __thread int i; - static int res1, res2; - -- void thread_main (void *arg) -+ void *thread_main (void *parg) - { -+ int arg = *(int *)parg; - i = arg; - sleep (1); - if (arg == 1) - res1 = (i == arg); - else - res2 = (i == arg); -+ return NULL; - } - - int main () { -@@ -2848,8 +2850,10 @@ if test x$host_win32 = xno; then - - i = 5; - -- pthread_create (&t1, NULL, thread_main, 1); -- pthread_create (&t2, NULL, thread_main, 2); -+ int one = 1; -+ pthread_create (&t1, NULL, thread_main, &one); -+ int two = 2; -+ pthread_create (&t2, NULL, thread_main, &two); - - pthread_join (t1, NULL); - pthread_join (t2, NULL); ---- a/configure 2023-06-14 17:18:48.000000000 +0200 -+++ b/configure 2023-12-09 10:41:58.001084368 +0100 -@@ -24906,14 +24894,16 @@ - __thread int i; - static int res1, res2; - -- void thread_main (void *arg) -+ void *thread_main (void *parg) - { -+ int arg = *(int *)parg; - i = arg; - sleep (1); - if (arg == 1) - res1 = (i == arg); - else - res2 = (i == arg); -+ return NULL; - } - - int main () { -@@ -24921,8 +24911,10 @@ - - i = 5; - -- pthread_create (&t1, NULL, thread_main, 1); -- pthread_create (&t2, NULL, thread_main, 2); -+ int one = 1; -+ pthread_create (&t1, NULL, thread_main, &one); -+ int two = 2; -+ pthread_create (&t2, NULL, thread_main, &two); - - pthread_join (t1, NULL); - pthread_join (t2, NULL); diff --git a/mono-find-provides b/mono-find-provides index c410489..554bffe 100755 --- a/mono-find-provides +++ b/mono-find-provides @@ -10,19 +10,19 @@ # Args: builddir buildroot libdir IFS=$'\n' -filelist=($(grep -Ev "$3/doc/|$3/share/doc/")) +filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/')) monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) # If monodis is in the package being installed, use that one # This is to support building mono -build_bindir="$2$3/bin" -build_libdir="$2$3/$4" +build_bindir="$2/usr/bin" +build_libdir="$2$3" if [ -x $build_bindir/monodis ]; then monodis="$build_bindir/monodis" export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} -elif [ -x $3/bin/monodis ]; then - monodis="$3/bin/monodis" +elif [ -x /usr/bin/monodis ]; then + monodis="/usr/bin/monodis" else exit 0; fi diff --git a/mono-find-requires b/mono-find-requires index c87b5f6..6f96761 100755 --- a/mono-find-requires +++ b/mono-find-requires @@ -10,19 +10,19 @@ # Args: builddir buildroot libdir IFS=$'\n' -filelist=($(grep -Ev "$3/doc/|$3/share/doc/")) +filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/')) monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) # If monodis is in the package being installed, use that one # This is to support building mono -build_bindir="$2$3/bin" -build_libdir="$2$3/$4" +build_bindir="$2/usr/bin" +build_libdir="$2$3" if [ -x $build_bindir/monodis ]; then monodis="$build_bindir/monodis" export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} -elif [ -x $3/bin/monodis ]; then - monodis="$3/bin/monodis" +elif [ -x /usr/bin/monodis ]; then + monodis="/usr/bin/monodis" else exit 0; fi diff --git a/mono.attr b/mono.attr index e21f93b..98dc8d9 100644 --- a/mono.attr +++ b/mono.attr @@ -1,3 +1,3 @@ -%__mono_provides %{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_prefix} %{_lib} -%__mono_requires %{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_prefix} %{_lib} +%__mono_provides %{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir} +%__mono_requires %{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_libdir} %__mono_magic Mono/.Net assembly diff --git a/mono.spec b/mono.spec index 3bb7074..dfcdb06 100644 --- a/mono.spec +++ b/mono.spec @@ -1,9 +1,8 @@ -%bcond_with bootstrap - %ifarch s390x # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif +%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -16,19 +15,20 @@ %global _monogacdir %{_monodir}/gac %endif -%if 0%{?rhel}%{?el6}%{?el7} || %{with bootstrap} +%if 0%{?rhel}%{?el6}%{?el7} || 0%{?bootstrap} # to resolve: "ERROR: No build ID note found" %undefine _missing_build_ids_terminate_build %endif +%global xamarinrelease 123 Name: mono -Version: 6.14.1 +Version: 6.8.0 Release: 2%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT URL: http://www.mono-project.com -Source0: https://dl.winehq.org/mono/sources/mono/%{name}-%{version}.tar.xz +Source0: http://download.mono-project.com/sources/mono/mono-%{version}.%{xamarinrelease}.tar.xz # This key was generated by Tom "spot" Callaway on Dec 1, 2009 # by running the following command: # sn -k mono.snk @@ -48,6 +48,7 @@ Patch5: mono-6.6.0-roslyn-binaries.patch Patch6: mono-5.18.0-use-mcs.patch Patch7: mono-5.18.0-reference-assemblies-fix.patch Patch8: mono-5.18.0-sharpziplib-parent-path-traversal.patch +Patch9: mono-6.6.0-python3.patch # Fix NRE bug in api-doc-tools: https://github.com/mono/api-doc-tools/pull/464 Patch10: 0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch # Replace new Csharp features with old to allow mdoc to build @@ -55,13 +56,10 @@ Patch10: 0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch Patch11: 0001-Replace-new-Csharp-features-with-old-ones.patch # Reenable mdoc build. To be upstreamed after Patch 10 and 11 Patch12: 0001-Reenable-mdoc.exe-build.patch -# fix issue with conflicts between i686 and x86_64 package (#1853724) -Patch13: mono-6.6.0-fix-multi-arch-issue.patch -Patch14: mono-configure-c99.patch -Patch15: mono-6.12.0-correct-alloc-free-for-zlib.patch -Patch16: mono-6.14.0-arm64-fix-pointer-int.patch +# fix issue with process start (#1839410) +Patch14: mono-6.12.0-fix-process-start.patch + -BuildRequires: make BuildRequires: bison BuildRequires: python%{python3_pkgversion} BuildRequires: cmake @@ -76,12 +74,14 @@ BuildRequires: perl-Getopt-Long # Yes, mono actually depends on itself, because # we deleted the bootstrapping binaries. If you -# need to bootstrap mono, set _with_bootstrap at the top -# which results in not deleting the binaries in %%prep. +# need to bootstrap mono, comment out this BuildRequires +# and don't delete the binaries in %%prep. -%if %{without bootstrap} -BuildRequires: mono-core >= 6.12 -BuildRequires: mono-devel >= 6.12 +%if 0%{bootstrap} +# for bootstrap, use bundled monolite and reference assemblies instead of local mono +%else +BuildRequires: mono-core >= 6.8 +BuildRequires: mono-devel >= 6.8 %endif # JIT only available on these: @@ -100,7 +100,7 @@ metadata access libraries. %package core Summary: The Mono CIL runtime, suitable for running .NET code Requires: libgdiplus -#dependency required for install +#dependency requiered for install Provides: mono(System.Collections.Immutable) = 1.2.0.0 Provides: mono(System.Diagnostics.StackTrace) = 4.0.2.0 Provides: mono(System.IO) = 4.0.10.0 @@ -184,7 +184,7 @@ assemblies: Microsoft.Vsa, System.Configuration.Install, System.Management, System.Messaging. %package reactive -License: MIT AND Apache-2.0 +License: MIT License (or similar) ; Apache License 2.0 Summary: Reactive Extensions for Mono core libraries Requires: mono-core = %{version}-%{release} @@ -193,7 +193,7 @@ Reactive Extensions for Mono, this packages don't depend on desktop-specific features. %package reactive-winforms -License: MIT AND Apache-2.0 +License: MIT License (or similar) ; Apache License 2.0 Summary: Reactive Extensions for Mono desktop-specific libraries Requires: mono-core = %{version}-%{release} Requires: mono-reactive = %{version}-%{release} @@ -258,7 +258,7 @@ data providers. %package data-sqlite Summary: sqlite database connectivity for Mono Requires: mono-core = %{version}-%{release} -Requires: sqlite-libs%{?_isa} +Requires: sqlite %description data-sqlite This package contains the ADO.NET Data provider for the sqlite @@ -332,39 +332,40 @@ not install anything from outside the mono source (XSP, mono-basic, etc.). %{nil} %prep -%setup -q -n %{name}-%{version} +%setup -q -n %{name}-%{version}.%{xamarinrelease} -%patch -P 0 -p1 +%patch0 -p1 %ifarch ppc ppc64 ppc64le s390x -%patch -P 1 -p1 +%patch1 -p1 %endif -%patch -P 2 -p1 -%patch -P 3 -p1 -%patch -P 4 -p1 -%patch -P 5 -p1 -%patch -P 6 -p1 -%patch -P 7 -p1 -%patch -P 8 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 pushd external/api-doc-tools -%patch -P 10 -p1 -%patch -P 11 -p1 +%patch10 -p1 +%patch11 -p1 popd -%patch -P 12 -p1 -%patch -P 13 -p1 -%patch -P 14 -p1 -%patch -P 15 -p1 -%patch -P 16 -p1 +%patch12 -p1 +%patch14 -p1 # don't build mono-helix-client which requires the helix-binaries to build sed -i 's|mono-helix-client||g' mcs/tools/Makefile +# use v4.7.1 instead of v4.6 +sed -i 's|TARGET_NET_REFERENCE = v4.6|TARGET_NET_REFERENCE = $(BOOTSTRAP_BIN_PROFILE)|g' mcs/tools/upload-to-sentry/Makefile + # use v4.7.1 instead of v4.7 sed -i 's|BOOTSTRAP_BIN_PROFILE = v4.7|BOOTSTRAP_BIN_PROFILE = v4.7.1|g' mcs/build/profiles/build.make # Remove hardcoded lib directory for libMonoPosixHelper.so from the config sed -i 's|$mono_libdir/||g' data/config.in -%if %{with bootstrap} +%if 0%{bootstrap} # for bootstrap, keep some binaries find . -name "*.dll" -not -path "./mcs/class/lib/monolite-linux/*" -not -path "./external/binary-reference-assemblies/v4.7.1/*" -print -delete find . -name "*.exe" -not -path "./mcs/class/lib/monolite-linux/*" -print -delete @@ -374,17 +375,10 @@ rm -rf mcs/class/lib/monolite-linux/* find . -name "*.dll" -print -delete find . -name "*.exe" -print -delete # use the binaries from the currently installed mono -cd external/binary-reference-assemblies && mv v4.7.1 v4.7.1.tobuild && ln -s %{_monodir}/4.7.1-api v4.7.1 && cd - +cd external/binary-reference-assemblies && mv v4.7.1 v4.7.1.tobuild && ln -s /usr/lib/mono/4.7.1-api v4.7.1 && cd - %endif %build -# TODO: Please submit an issue to upstream (rhbz#2380917) -export CMAKE_POLICY_VERSION_MINIMUM=3.5 -# This package fails to build with LTO on ppc64le. Root cause analysis has not been -# done. For now disable LTO -%ifarch ppc64le -%define _lto_cflags %{nil} -%endif %ifarch s390x # either mono C code relies on undefined behaviour or gcc is even more broken than earlier RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-O2 /-O1 /g') @@ -424,7 +418,7 @@ cp external/binary-reference-assemblies/v4.7.1/*.dll %{buildroot}%{_monodir}/4.7 rm -f %{buildroot}%{_libdir}/*.la # remove Windows-only stuff rm -rf %{buildroot}%{_monodir}/*/Mono.Security.Win32* -#rm -f %{buildroot}%{_libdir}/libMonoSupportW.* +rm -f %{buildroot}%{_libdir}/libMonoSupportW.* # remove .a files for libraries that are really only for us rm %{buildroot}%{_libdir}/*.a # remove libgc cruft @@ -475,37 +469,33 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc # remove msbuild / microsoft binary files -rm -rf %{buildroot}%{_monodir}/msbuild +rm -rf %{buildroot}/usr/lib/mono/msbuild # we have btls debug files -rm -rf %{buildroot}/usr/lib/debug%{_libdir}/libmono-btls-shared.so-*.debug +rm -rf %{buildroot}/usr/lib/debug/usr/lib64/libmono-btls-shared.so-*.debug # drop other debug files as well -rm -rf %{buildroot}/usr/lib/debug%{_libdir}/libmono-native.so*.debug -rm -rf %{buildroot}/usr/lib/debug%{_bindir}/mono-hang-watchdog-*.debug +rm -rf %{buildroot}/usr/lib/debug/usr/lib64/libmono-native.so*.debug +rm -rf %{buildroot}/usr/lib/debug/usr/bin/mono-hang-watchdog-*.debug # create a symbolic link so that Fedora packages targetting Framework 4.5 will still build -cd %{buildroot}%{_monodir} && ln -s 4.7.1-api 4.5-api && cd - +cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.5-api && cd - # as requested in bug 1704861; we have had that link in F29 with Mono 4.8 as well. -cd %{buildroot}%{_monodir} && ln -s 4.7.1-api 4.0-api && cd - +cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.0-api && cd - # for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64 %if 0%{?el7}%{?el8} == 0 # rpm helper scripts -mkdir -p %{buildroot}%{_fileattrsdir} -install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_rpmconfigdir} -install -p -m644 %{SOURCE4} %{buildroot}%{_fileattrsdir} +mkdir -p %{buildroot}%{_prefix}/lib/rpm/fileattrs/ +install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_prefix}/lib/rpm/ +install -p -m644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/fileattrs/ %endif -# remove these files, we are using the files installed in /usr/lib/rpm/ -rm %{buildroot}%{_bindir}/mono-find-requires -rm %{buildroot}%{_bindir}/mono-find-provides - %find_lang mcs %post core %{?ldconfig} -%{_bindir}/cert-sync --quiet /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem +cert-sync /etc/pki/tls/certs/ca-bundle.crt %ldconfig_postun @@ -557,7 +547,6 @@ rm %{buildroot}%{_bindir}/mono-find-provides %{_mandir}/man1/lc.1.gz %{_mandir}/man1/mprof-report.1.gz %{_libdir}/libMonoPosixHelper.so* -%{_libdir}/libMonoSupportW.so* %{_libdir}/libmono-native.so* %dir %{_monodir} %dir %{_monodir}/4.5 @@ -674,6 +663,8 @@ rm %{buildroot}%{_bindir}/mono-find-provides %mono_bin mkbundle %mono_bin makecert %mono_bin mono-cil-strip +%{_bindir}/mono-find-provides +%{_bindir}/mono-find-requires %{_bindir}/monodis %{_bindir}/monolinker %mono_bin mono-shlib-cop @@ -759,15 +750,14 @@ rm %{buildroot}%{_bindir}/mono-find-provides %{_libdir}/pkgconfig/wcf.pc %{_libdir}/pkgconfig/xbuild12.pc %{_includedir}/mono-2.0/mono/jit/jit.h -%{_includedir}/mono-2.0/mono/jit/mono-private-unstable.h %{_includedir}/mono-2.0/mono/metadata/*.h %{_includedir}/mono-2.0/mono/utils/*.h %{_includedir}/mono-2.0/mono/cil/opcode.def # for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64 %if 0%{?el7}%{?el8} == 0 -%{_rpmconfigdir}/mono-find-* -%{_fileattrsdir}/mono.attr +%{_prefix}/lib/rpm/mono-find-* +%{_prefix}/lib/rpm/fileattrs/mono.attr %endif %{_bindir}/aprofutil @@ -946,106 +936,20 @@ rm %{buildroot}%{_bindir}/mono-find-provides %files complete %changelog -* Tue Nov 11 2025 Cristian Le - 6.14.1-2 -- Allow to build with CMake 4.0 (rhbz#2380917) - -* Sat Nov 08 2025 Timotheus Pokorra - 6.14.1-1 -- Upgrade to Mono 6.14.1 - -* Thu Jul 24 2025 Fedora Release Engineering - 6.12.0-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jul 23 2025 Frantisek Krenzelok - 6.12.0-20 -- Change the certificate bundle used to popule Mono certificate store -- https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile - -* Fri Jan 17 2025 Fedora Release Engineering - 6.12.0-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 18 2024 Fedora Release Engineering - 6.12.0-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Apr 12 2024 Jonas Özbay - 6.12.0-17 -- Correct the selection of alloc/free functions for zlib. (as in PR #21759 upstream) - -* Thu Jan 25 2024 Fedora Release Engineering - 6.12.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 6.12.0-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Dec 9 2023 Florian Weimer - 6.12.0-14 -- Fix C compatibility issue in the configure script - -* Sat Aug 12 2023 Timotheus Pokorra - 6.12.0-13 -- Upgrade to Mono 6.12.0.199 - -* Thu Jul 20 2023 Fedora Release Engineering - 6.12.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 6.12.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Dec 27 2022 msuchy - 6.12.0-10 -- Migrate to SPDX license - -* Thu Jul 21 2022 Fedora Release Engineering - 6.12.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jun 16 2022 Timotheus Pokorra - 6.12.0-8 -- Upgrade to Mono 6.12.0.182 - -* Fri Feb 11 2022 Timotheus Pokorra - 6.12.0-7 -- Fixing license for mono-reactive packages, fixing bug 2025856 - -* Thu Jan 20 2022 Fedora Release Engineering - 6.12.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jul 22 2021 Fedora Release Engineering - 6.12.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Feb 27 2021 Timotheus Pokorra - 6.12.0-4 -- Upgrade to Mono 6.12.0.122 - -* Mon Feb 22 2021 Timotheus Pokorra - 6.12.0-3 +* Mon Feb 22 2021 Timotheus Pokorra - 6.8.0-2 - backport patch: fix early return in Process.Start (#1839410) -* Tue Jan 26 2021 Fedora Release Engineering - 6.12.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild +* Sat Jul 18 2020 Timotheus Pokorra - 6.8.0-1 +- Non-Bootstrap build for Mono 6.8 for Epel 7 -* Tue Dec 22 2020 Timotheus Pokorra - 6.12.0-1 -- Upgrade to Mono 6.12.0.107 +* Sat Jul 18 2020 Timotheus Pokorra - 6.8.0-0 +- Bootstrap build for Mono 6.8 for Epel 7 -* Tue Oct 27 2020 Timotheus Pokorra - 6.12.0-0 -- Upgrade to Mono 6.12.0.90 +* Thu Jul 16 2020 Timotheus Pokorra - 6.6.0-7 +- Non-Bootstrap build for Epel 7 -* Mon Oct 12 2020 Timotheus Pokorra - 6.10.0-1 -- fix issue with conflicts between i686 and x86_64 package (#1853724) - -* Mon Sep 28 2020 Timotheus Pokorra - 6.10.0-0 -- Upgrade to Mono 6.10.0.104 - -* Fri Aug 21 2020 François Cami - 6.8.0-6 -- Ship libMonoSupportW.so - -* Tue Aug 11 2020 Jeff Law - 6.8.0-5 -- Disable LTO on ppc64le - -* Sat Aug 01 2020 Fedora Release Engineering - 6.8.0-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 6.8.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Jun 27 2020 Jeff Smith - 6.8.0-2 -- Remove wrapper scripts for unbuilt csi.exe and vbc.exe - -* Fri Jun 19 2020 Timotheus Pokorra - 6.8.0-1 -- build without bootstrap - -* Fri Jun 19 2020 Timotheus Pokorra - 6.8.0-0 -- upgrade to Mono 6.8.0.123, with a bootstrap build +* Wed Jul 15 2020 Timotheus Pokorra - 6.6.0-6 +- Bootstrap build for Epel 7 * Mon Feb 03 2020 Robert-André Mauchin - 6.6.0-5 - Reenable mdoc build (#1797360) diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file diff --git a/sources b/sources index 808f713..64edd14 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mono-6.14.1.tar.xz) = c16a2ecbfce93db20a7a6d11b6406c8764f5694355c1ce82081399cd7ab6d8b22e7f8fb21f7af78967b34ef54dcb682917b8cf22d61f1b72be996d1a42e9f1b9 +SHA512 (mono-6.8.0.123.tar.xz) = f702d1ee3a7e8b1a028de02fe6f3ab78e1c5171a547c37db7e934c33533984f2847636476407ad46daeb150640136d6bb28c12c9482c1806997df2dfd7a839f1