diff --git a/0002-Don-t-add-rpaths-to-libraries.patch b/0001-Don-t-add-rpaths-to-libraries.patch similarity index 72% rename from 0002-Don-t-add-rpaths-to-libraries.patch rename to 0001-Don-t-add-rpaths-to-libraries.patch index d1362a5..92f75dd 100644 --- a/0002-Don-t-add-rpaths-to-libraries.patch +++ b/0001-Don-t-add-rpaths-to-libraries.patch @@ -1,17 +1,17 @@ -From 56fafd588484ceb9b8e998b5e569d7df27deae3b Mon Sep 17 00:00:00 2001 +From 799bf9088c131fc71626a48e9987e4d44a2f0194 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jun 2014 10:00:15 +0100 -Subject: [PATCH 2/5] Don't add rpaths to libraries. +Subject: [PATCH 1/3] Don't add rpaths to libraries. --- configure.ac | 2 -- 1 file changed, 2 deletions(-) diff --git a/configure.ac b/configure.ac -index aba3569f7c..6c50ba6c71 100644 +index b81da53c42..892a2a894f 100644 --- a/configure.ac +++ b/configure.ac -@@ -1106,8 +1106,6 @@ AS_IF([test x"$enable_shared" != "xno"], +@@ -1107,8 +1107,6 @@ AS_IF([test x"$enable_shared" != "xno"], [[*-*-openbsd7.[3-9]|*-*-openbsd[89].*]], [mkdll_flags="${mkdll_flags} -Wl,--no-execute-only"]) oc_ldflags="$oc_ldflags -Wl,-E" @@ -21,5 +21,5 @@ index aba3569f7c..6c50ba6c71 100644 supports_shared_libraries=true], [mkdll='shared-libs-not-available']) -- -2.41.0 +2.43.0 diff --git a/0001-Fix-variance-composition-12623.patch b/0001-Fix-variance-composition-12623.patch deleted file mode 100644 index 34db2ab..0000000 --- a/0001-Fix-variance-composition-12623.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 4c03e721b4c53240a9091790acb401b27e72dce0 Mon Sep 17 00:00:00 2001 -From: Florian Angeletti -Date: Wed, 4 Oct 2023 10:05:44 +0200 -Subject: [PATCH 1/5] Fix variance composition (#12623) - -Possible positive occurrence under possible negative occurrence were -forgotten, making the typechecker accepts the absurd statement - - type -'a n - type +'a p - type +'a ko = 'a p n - -(cherry picked from commit 1a9c45317b2c6c9ca9b4cb95fe4891f9f1a2820e) ---- - Changes | 8 +++ - boot/ocamlc | Bin 3051798 -> 3051796 bytes - boot/ocamllex | Bin 391863 -> 391861 bytes - testsuite/tests/typing-misc/variance.ml | 87 ++++++++++++++++++++++++ - typing/types.ml | 2 +- - 5 files changed, 96 insertions(+), 1 deletion(-) - -diff --git a/Changes b/Changes -index 20b7b8ee22..dccdc9baba 100644 ---- a/Changes -+++ b/Changes -@@ -1,3 +1,11 @@ -+OCaml 5.1.1 -+----------- -+ -+### Bug fixes: -+ -+- #12623, fix the computation of variance composition -+ (Florian Angeletti, report by Vesa Karvonen, review by Gabriel Scherer) -+ - OCaml 5.1.0 (14 September 2023) - ------------------------------- - -diff --git a/boot/ocamlc b/boot/ocamlc -index f3b2cba8df84a5f1326c7fe7bdf12b85159f65b3..4db4d848dbc3c2411a9e6160e9d932dd7ba35a34 100755 -GIT binary patch -delta 244 -zcmZ9=y)pw)7zW@yD_A75h=~7x4sq6QNTHKLLz5Y;l1i^m@y)Byq%e*dP4>M3jS*A| -zH=r=XOm0DACarO5#nU`Dd{Ng71+*IApk>g1RMp&zydf97QqRy1Wtle;50Y`&VqB`Jh%WZf=l2sxB{+% -zYvB4LHS4)A&pSWz{Q8@xo}b$HKl;!&)oPSPN%{2bA~uz{vSZ>slkC18)N0Mv{`SAV -Z)LrdtIGaw{*=p;q`M6Wx_O}_8{s6iiTe|=N - -delta 266 -zcmbQTXcyx&AZ}=3Y+-6)ZeeL*ZDDI+Z{cX+Y~gC*ZsBR+ZQ*O--y(2h;q(<<0zA`W -z77B1oUvN>3W%_}I0zB=17775dAP@@yu`m#e0I?_#ivh7X5K92DBoIphu{03N0I@6( -z%K@=G5Gw$&A`mM9u`&>=0I@0%s{yh4_CE_XmId(MW?;znW?%|9%D}jD=l1oVG`yJf -z%}n(S^$fIAQp*fYb&U*+jCBnxbq!1pxH>vaSm0oQF5a&8RRf4MfmjQOwSib?yV_UX -OtFsy3PyaJPPXYiZJ96a! - -diff --git a/boot/ocamllex b/boot/ocamllex -index cfdfbe8b4541516ef49c895ea691ea534706de67..b2b5404e69f35a1eb7d0a74fe687a4f4508a7149 100755 -GIT binary patch -delta 98 -zcmdn~RebAL@rD-07N!>F7M3lnT~@qO3=Hgl7#JKo7#Or4Zl7+&>cymMYN}_bXQ-W$ -qT4tbYWME{hYhbBsXmY^S(Q(282Yoc*?EF7M3lnT~@p@3=Hgl7#JKo85p!5ZJ%z%>cymQW~yhXXP}*u -rT4rdfYh++#tZQJYYhZf7)zM+X0tW+h@$G!JtbKbK4W`fi#VP>+{6`&d - -diff --git a/testsuite/tests/typing-misc/variance.ml b/testsuite/tests/typing-misc/variance.ml -index d0f754f716..419e348f48 100644 ---- a/testsuite/tests/typing-misc/variance.ml -+++ b/testsuite/tests/typing-misc/variance.ml -@@ -36,3 +36,90 @@ type !'a t = (module s with type t = 'a);; - module type s = sig type t end - type 'a t = (module s with type t = 'a) - |}] -+ -+(* Composition *) -+type -'a n -+type +'a p -+type !'a i -+ -+type +'a error_np = 'a n p;; -+[%%expect{| -+type -'a n -+type +'a p -+type !'a i -+Line 5, characters 0-26: -+5 | type +'a error_np = 'a n p;; -+ ^^^^^^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be covariant, -+ but it is contravariant. -+|}] -+ -+ -+type +'a error_pn = 'a p n;; -+[%%expect{| -+Line 1, characters 0-26: -+1 | type +'a error_pn = 'a p n;; -+ ^^^^^^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be covariant, -+ but it is contravariant. -+|}] -+ -+type -'a error_pp = 'a p p;; -+[%%expect{| -+Line 1, characters 0-26: -+1 | type -'a error_pp = 'a p p;; -+ ^^^^^^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be contravariant, -+ but it is covariant. -+|}] -+ -+type -'a error_nn = 'a n n;; -+[%%expect{| -+Line 1, characters 0-26: -+1 | type -'a error_nn = 'a n n;; -+ ^^^^^^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be contravariant, -+ but it is covariant. -+|}] -+ -+type !'a inj_in = 'a i n -+[%%expect{| -+Line 1, characters 0-24: -+1 | type !'a inj_in = 'a i n -+ ^^^^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be injective invariant, -+ but it is invariant. -+|}] -+ -+type !'a inj_in = 'a n i -+[%%expect{| -+Line 1, characters 0-24: -+1 | type !'a inj_in = 'a n i -+ ^^^^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be injective invariant, -+ but it is invariant. -+|}] -+ -+module Make_covariant(M: sig type 'a t end): sig -+ type 'a i = 'a -+ type +'a t = 'a i M.t -+end = struct -+ type 'a i = 'a -+ type +'a t = 'a i M.t -+end -+ -+module Positive_ref = Make_covariant(struct type 'a t = 'a ref end) -+[%%expect {| -+Line 6, characters 2-23: -+6 | type +'a t = 'a i M.t -+ ^^^^^^^^^^^^^^^^^^^^^ -+Error: In this definition, expected parameter variances are not satisfied. -+ The 1st type parameter was expected to be covariant, -+ but it is invariant. -+|}] -diff --git a/typing/types.ml b/typing/types.ml -index 45a4f896d6..c1dbdb6895 100644 ---- a/typing/types.ml -+++ b/typing/types.ml -@@ -186,7 +186,7 @@ module Variance = struct - let mp = - mem May_pos v1 && mem May_pos v2 || mem May_neg v1 && mem May_neg v2 - and mn = -- mem May_pos v1 && mem May_neg v2 || mem May_pos v1 && mem May_neg v2 -+ mem May_pos v1 && mem May_neg v2 || mem May_neg v1 && mem May_pos v2 - and mw = mem May_weak v1 && v2 <> null || v1 <> null && mem May_weak v2 - and inj = mem Inj v1 && mem Inj v2 - and pos = mem Pos v1 && mem Pos v2 || mem Neg v1 && mem Neg v2 --- -2.41.0 - diff --git a/0003-configure-Allow-user-defined-C-compiler-flags.patch b/0002-configure-Allow-user-defined-C-compiler-flags.patch similarity index 80% rename from 0003-configure-Allow-user-defined-C-compiler-flags.patch rename to 0002-configure-Allow-user-defined-C-compiler-flags.patch index 8c64262..d2d6a4b 100644 --- a/0003-configure-Allow-user-defined-C-compiler-flags.patch +++ b/0002-configure-Allow-user-defined-C-compiler-flags.patch @@ -1,17 +1,17 @@ -From e8170e71efb93f10c27935acc95093eb3f53ab6c Mon Sep 17 00:00:00 2001 +From f2b875e8201efed22267136096b1e5df97f99f84 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:44:18 +0100 -Subject: [PATCH 3/5] configure: Allow user defined C compiler flags. +Subject: [PATCH 2/3] configure: Allow user defined C compiler flags. --- configure.ac | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 6c50ba6c71..db6ea8a8d1 100644 +index 892a2a894f..e8f6cbc863 100644 --- a/configure.ac +++ b/configure.ac -@@ -759,6 +759,10 @@ AS_CASE([$host], +@@ -760,6 +760,10 @@ AS_CASE([$host], internal_cflags="$cc_warnings"], [common_cflags="-O"])]) @@ -22,7 +22,7 @@ index 6c50ba6c71..db6ea8a8d1 100644 # Enable SSE2 on x86 mingw to avoid using 80-bit registers. AS_CASE([$host], [i686-*-mingw32*], -@@ -2325,7 +2329,7 @@ AC_CONFIG_COMMANDS_PRE([ +@@ -2327,7 +2331,7 @@ AC_CONFIG_COMMANDS_PRE([ [mkexedebugflag="${mkexe_ldflags_prefix}${mkexedebugflag}"]) mkdll_ldflags="" AS_IF([test -n "${LDFLAGS}"], @@ -31,7 +31,7 @@ index 6c50ba6c71..db6ea8a8d1 100644 mkdll_ldflags="${mkdll_ldflags} ${mkexe_ldflags_prefix}${flag}" done mkdll_ldflags_exp="$mkdll_ldflags"]) -@@ -2351,7 +2355,7 @@ ${mkdll_ldflags}" +@@ -2353,7 +2357,7 @@ ${mkdll_ldflags}" ],[ mkdll_ldflags='$(OC_DLL_LDFLAGS) $(LDFLAGS)' mkdll_ldflags_exp="${oc_dll_ldflags}" @@ -41,5 +41,5 @@ index 6c50ba6c71..db6ea8a8d1 100644 mkexe_ldflags="\$(OC_LDFLAGS) \$(LDFLAGS)" mkexe_ldflags_exp="${oc_ldflags} ${LDFLAGS}" -- -2.41.0 +2.43.0 diff --git a/0005-Update-framepointers-tests-to-avoid-false-positive-w.patch b/0003-Update-framepointers-tests-to-avoid-false-positive-w.patch similarity index 99% rename from 0005-Update-framepointers-tests-to-avoid-false-positive-w.patch rename to 0003-Update-framepointers-tests-to-avoid-false-positive-w.patch index a160acb..80e51e0 100644 --- a/0005-Update-framepointers-tests-to-avoid-false-positive-w.patch +++ b/0003-Update-framepointers-tests-to-avoid-false-positive-w.patch @@ -1,7 +1,7 @@ -From e1ee698f482664237bfb693966987cd167c22b68 Mon Sep 17 00:00:00 2001 +From ba44a9c29771aacf44222a2ff63e7bd6034dd92c Mon Sep 17 00:00:00 2001 From: Fabrice Buoro Date: Fri, 10 Mar 2023 09:36:22 -0700 -Subject: [PATCH 5/5] Update framepointers tests to avoid false positive with +Subject: [PATCH 3/3] Update framepointers tests to avoid false positive with inlined C functions --- @@ -692,5 +692,5 @@ index e96b5ea13a..0000000000 -${program} 2>&1 \ - | ${test_source_directory}/filter-locations.sh ${program} >${output} -- -2.41.0 +2.43.0 diff --git a/0004-Fix-x86_64-delivery-of-effect-related-exceptions.patch b/0004-Fix-x86_64-delivery-of-effect-related-exceptions.patch deleted file mode 100644 index 2a90a81..0000000 --- a/0004-Fix-x86_64-delivery-of-effect-related-exceptions.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8d0e4af8141f6ba925c1de426a9600a96816c86b Mon Sep 17 00:00:00 2001 -From: Miod Vallat -Date: Mon, 4 Sep 2023 13:50:30 -0600 -Subject: [PATCH 4/5] Fix x86_64 delivery of effect-related exceptions - ---- - runtime/amd64.S | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/runtime/amd64.S b/runtime/amd64.S -index 8dc9f81ec6..72d96f502d 100644 ---- a/runtime/amd64.S -+++ b/runtime/amd64.S -@@ -902,6 +902,7 @@ LBL(112): - movq Caml_state(current_stack), %rsi - SWITCH_OCAML_STACKS - /* No parent stack. Raise Effect.Unhandled. */ -+ ENTER_FUNCTION - movq %rax, C_ARG_1 - LEA_VAR(caml_raise_unhandled_effect, %rax) - jmp LBL(caml_c_call) -@@ -946,7 +947,8 @@ CFI_STARTPROC - UPDATE_BASE_POINTER(%rcx) - SWITCH_OCAML_STACKS - jmp *(%rbx) --2: LEA_VAR(caml_raise_continuation_already_resumed, %rax) -+2: ENTER_FUNCTION -+ LEA_VAR(caml_raise_continuation_already_resumed, %rax) - jmp LBL(caml_c_call) - CFI_ENDPROC - ENDFUNCTION(G(caml_resume)) --- -2.41.0 - diff --git a/ocaml.spec b/ocaml.spec index 7984dc4..92dcff1 100644 --- a/ocaml.spec +++ b/ocaml.spec @@ -42,8 +42,8 @@ ExcludeArch: %{ix86} %global rcver %{nil} Name: ocaml -Version: 5.1.0 -Release: 5%{?dist} +Version: 5.1.1 +Release: 1%{?dist} Summary: OCaml compiler and programming environment @@ -64,22 +64,18 @@ Source2: ocaml_files.py # # https://pagure.io/fedora-ocaml # -# Current branch: fedora-40-5.1.0 +# Current branch: fedora-40-5.1.1 # # ALTERNATIVELY add a patch to the end of the list (leaving the # existing patches unchanged) adding a comment to note that it should # be incorporated into the git repo at a later time. -# Patches added after 5.1.0 was released. -Patch: 0001-Fix-variance-composition-12623.patch - # Fedora-specific patches -Patch: 0002-Don-t-add-rpaths-to-libraries.patch -Patch: 0003-configure-Allow-user-defined-C-compiler-flags.patch -# https://github.com/ocaml/ocaml/pull/12530 -Patch: 0004-Fix-x86_64-delivery-of-effect-related-exceptions.patch +Patch: 0001-Don-t-add-rpaths-to-libraries.patch +Patch: 0002-configure-Allow-user-defined-C-compiler-flags.patch + # https://github.com/ocaml/ocaml/pull/11594 -Patch: 0005-Update-framepointers-tests-to-avoid-false-positive-w.patch +Patch: 0003-Update-framepointers-tests-to-avoid-false-positive-w.patch BuildRequires: make BuildRequires: git @@ -470,6 +466,9 @@ hardlink -t $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs %changelog +* Mon Dec 11 2023 Richard W.M. Jones - 5.1.1-1 +- New upstream version 5.1.1 (RHBZ#2239227) + * Tue Nov 14 2023 Yaakov Selkowitz - 5.1.0-5 - Drop unused BR parallel diff --git a/sources b/sources index 1da2f82..f4deb78 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ocaml-5.1.0.tar.gz) = 814ea71de656eadc59a658ad3b6c4d786815c348ab883b1cdb22d5d0f99d11768f5646f03725f6b44c3b8f4ffeb71e89dadaea157711a7afbe86f23846fc5b52 +SHA512 (ocaml-5.1.1.tar.gz) = e4aa78afc9a59f604881f14093f4298ebcb005daeb8132a076fe6d24fdf8b59132cbfa2cfe677f1db1891351d3d637c621f24077e531cac6753c264fc7f5fbea