Compare commits

..

33 commits

Author SHA1 Message Date
Timotheus Pokorra
bc1e95a215 backport patch: fix early return in Process.Start (#1839410) 2021-02-22 22:41:37 +01:00
Timotheus Pokorra
f4e0612e80 Non-Bootstrap build for Mono 6.8 for Epel 7 2020-07-18 07:43:18 +02:00
Timotheus Pokorra
f68033e29a Bootstrap build for Mono 6.8 for Epel 7 2020-07-18 06:42:24 +02:00
Timotheus Pokorra
687d812f9d Non-Bootstrap build for Epel 7 2020-07-16 22:14:26 +02:00
Timotheus Pokorra
ae80523694 build bootstrap build for Epel7, of Mono 6.6.0.166 2020-07-15 22:36:32 +02:00
Timotheus Pokorra
8c1b08f206 Merge branch 'epel8' into epel7 2020-07-15 22:24:21 +02:00
Timotheus Pokorra
a1fed137f0 Non-bootstrap build for Epel 8 2020-04-25 21:59:06 +02:00
Timotheus Pokorra
7c5626eced another fix for rpm helper scripts on epel 8 2020-04-25 21:18:09 +02:00
Timotheus Pokorra
81faf17ab9 another fix for rpm helper scripts on epel 8 2020-04-25 20:26:02 +02:00
Timotheus Pokorra
5c5f8f6452 another bootstrap build for Epel 8, but this time without the mono-find-provides and mono-find-requires scripts since they are still provided by rpm-build in Epel8 2020-04-25 14:54:08 +02:00
Timotheus Pokorra
0dbbc71ff1 Non-Bootstrap build for Epel 8 2020-04-25 13:37:20 +02:00
Timotheus Pokorra
061cc2d881 Merge branch 'epel8-playground' into epel8 2020-04-24 21:55:26 +02:00
Timotheus Pokorra
ef19a92457 bootstrap build for epel8 2020-02-29 22:21:38 +01:00
Igor Gnatenko
68dc37bf2e "Adding package.cfg file" 2019-09-19 11:30:50 +02:00
Timotheus Pokorra
a6860cf4c4 forgot to add the sqlite patch to the previous commit 2017-07-31 07:02:10 +02:00
Timotheus Pokorra
0667bdfecd add a patch for an sqlite bug related to dates
see https://bugzilla.xamarin.com/show_bug.cgi?id=46929
and the history of https://github.com/mono/mono/commits/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConvert.cs
2017-07-31 06:53:07 +02:00
Timotheus Pokorra
0a4454e434 fix version number in changelog
there was a mix up of numbers
2017-06-26 22:07:56 +02:00
Timotheus Pokorra
a290de38b8 disable bootstrap 2017-06-26 19:35:35 +02:00
Timotheus Pokorra
e15ac18b4d enable bootstrap. add aarch64 to ExclusiveArch 2017-06-26 18:22:10 +02:00
Timotheus Pokorra
1613b4ddc1 Update to 4.6.2.16 Cycle 8 - Service Release 2 2017-06-22 15:27:32 +02:00
Timotheus Pokorra
dbd8bcab66 fix to obsolete mono-data-postgresql 2016-09-19 03:43:15 +02:00
Timotheus Pokorra
ac4f14f5da disable bootstrap and obsolete mono-data-postgresql 2016-09-17 06:58:27 +02:00
Timotheus Pokorra
d8eb4628e4 new build in side tag epel7-mono4 2016-09-07 18:05:46 +02:00
Timotheus Pokorra
2801d3a1d5 enable bootstrap. add ppc64le to ExclusiveArch 2016-08-26 07:37:07 +02:00
Timotheus Pokorra
58ad6c9991 do not deliver cecil.pc because Mono.Cecil should not be made public to other packages, they should use package mono-cecil 2016-08-26 07:04:04 +02:00
Timotheus Pokorra
61c2a650f8 fix invalid dates in changelog to avoid warnings 2016-08-26 06:50:09 +02:00
Timotheus Pokorra
94228ed869 Fix winforms problem with TrayIcon (#1284609) 2016-08-26 06:43:33 +02:00
Timotheus Pokorra
12cac0dc0b first attempt to upgrade to Mono 4.2.4.4 2016-06-10 15:07:39 +02:00
Timotheus Pokorra
3075a20411 apply patch for security issue CVE-2009-0689 (#1293640)
Converting specially crafted string to float causes crash and possible code execution
2016-01-04 14:54:03 +01:00
leigh123linux
cc503e32f3 move obsoletes to core package 2014-07-08 23:03:20 +01:00
leigh123linux
ff73409726 add some obsoletes (bz 1114673) 2014-06-30 22:47:14 +01:00
leigh123linux
ee2a4ad033 rebuild against mono-core 2014-05-16 14:33:10 +01:00
leigh123linux
ccacbcdda9 bootstrap build for epel7 2014-05-12 18:54:33 +01:00
13 changed files with 181 additions and 329 deletions

View file

@ -6,14 +6,14 @@ MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Robert-Andr<C3><A9> Mauchin <zebob.m@gmail.com>
Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
---
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

View file

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

View file

@ -0,0 +1,42 @@
From 325577feffad1f87b07d92710c0d37c79c5f50a1 Mon Sep 17 00:00:00 2001
From: Ryan Lucia <rylucia@microsoft.com>
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);

View file

@ -1,26 +0,0 @@
From 2224c6915a98f870cc9a3a9f9e3698e7b20e3d27 Mon Sep 17 00:00:00 2001
From: Esme Povirk <esme@codeweavers.com>
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

View file

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

53
mono-6.6.0-python3.patch Normal file
View file

@ -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-<ARCH>.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,)

View file

@ -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: <https://github.com/mono/mono/pull/21730>
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);

View file

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

View file

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

View file

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

224
mono.spec
View file

@ -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 <tcallawa@redhat.com> 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 <git@lecris.dev> - 6.14.1-2
- Allow to build with CMake 4.0 (rhbz#2380917)
* Sat Nov 08 2025 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.14.1-1
- Upgrade to Mono 6.14.1
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 23 2025 Frantisek Krenzelok <fkrenzel@redhat.com> - 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 <releng@fedoraproject.org> - 6.12.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Apr 12 2024 Jonas Özbay <jo.spam@gmx.net> - 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 <releng@fedoraproject.org> - 6.12.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Dec 9 2023 Florian Weimer <fweimer@redhat.com> - 6.12.0-14
- Fix C compatibility issue in the configure script
* Sat Aug 12 2023 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-13
- Upgrade to Mono 6.12.0.199
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Dec 27 2022 msuchy <msuchy@redhat.com> - 6.12.0-10
- Migrate to SPDX license
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jun 16 2022 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-8
- Upgrade to Mono 6.12.0.182
* Fri Feb 11 2022 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-7
- Fixing license for mono-reactive packages, fixing bug 2025856
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Feb 27 2021 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-4
- Upgrade to Mono 6.12.0.122
* Mon Feb 22 2021 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-3
* Mon Feb 22 2021 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.8.0-2
- backport patch: fix early return in Process.Start (#1839410)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Jul 18 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.8.0-1
- Non-Bootstrap build for Mono 6.8 for Epel 7
* Tue Dec 22 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-1
- Upgrade to Mono 6.12.0.107
* Sat Jul 18 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.8.0-0
- Bootstrap build for Mono 6.8 for Epel 7
* Tue Oct 27 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.12.0-0
- Upgrade to Mono 6.12.0.90
* Thu Jul 16 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.6.0-7
- Non-Bootstrap build for Epel 7
* Mon Oct 12 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.10.0-1
- fix issue with conflicts between i686 and x86_64 package (#1853724)
* Mon Sep 28 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.10.0-0
- Upgrade to Mono 6.10.0.104
* Fri Aug 21 2020 François Cami <fcami@redhat.com> - 6.8.0-6
- Ship libMonoSupportW.so
* Tue Aug 11 2020 Jeff Law <law@redhat.com> - 6.8.0-5
- Disable LTO on ppc64le
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.8.0-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jun 27 2020 Jeff Smith <whydoubt@gmail.com> - 6.8.0-2
- Remove wrapper scripts for unbuilt csi.exe and vbc.exe
* Fri Jun 19 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.8.0-1
- build without bootstrap
* Fri Jun 19 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.8.0-0
- upgrade to Mono 6.8.0.123, with a bootstrap build
* Wed Jul 15 2020 Timotheus Pokorra <timotheus.pokorra@solidcharity.com> - 6.6.0-6
- Bootstrap build for Epel 7
* Mon Feb 03 2020 Robert-André Mauchin <zebob.m@gmail.com> - 6.6.0-5
- Reenable mdoc build (#1797360)

2
package.cfg Normal file
View file

@ -0,0 +1,2 @@
[koji]
targets = epel8 epel8-playground

View file

@ -1 +1 @@
SHA512 (mono-6.14.1.tar.xz) = c16a2ecbfce93db20a7a6d11b6406c8764f5694355c1ce82081399cd7ab6d8b22e7f8fb21f7af78967b34ef54dcb682917b8cf22d61f1b72be996d1a42e9f1b9
SHA512 (mono-6.8.0.123.tar.xz) = f702d1ee3a7e8b1a028de02fe6f3ab78e1c5171a547c37db7e934c33533984f2847636476407ad46daeb150640136d6bb28c12c9482c1806997df2dfd7a839f1