diff --git a/0001-epol-compat-test.patch b/0001-epol-compat-test.patch new file mode 100644 index 0000000000000000000000000000000000000000..3c21b468826d19c205388bf71915898e6b39fd0d --- /dev/null +++ b/0001-epol-compat-test.patch @@ -0,0 +1,21 @@ +--- a/src/Data/List/Extra.hs 2001-09-09 09:46:40.000000000 +0800 ++++ b/src/Data/List/Extra.hs 2026-09-18 20:19:11.375982185 +0800 +@@ -36,6 +36,8 @@ + concatUnzip, concatUnzip3, + zipFrom, zipWithFrom, zipWithLongest, + replace, merge, mergeBy, ++ -- * EPOL compatibility test (do not keep in production) ++ epolCompatTest, + ) where + + import Partial +@@ -924,3 +926,9 @@ + go [] (_:_) = LT + go (_:_) [] = GT + go (_:xs) (_:ys) = go xs ys ++ ++ ++-- | Sentinel used to force a Haskell ABI/hash change for EPOL compatibility CI. ++-- Downstream packages should still compile; only extra's unit id changes. ++epolCompatTest :: Int ++epolCompatTest = 1 diff --git a/ghc-extra.spec b/ghc-extra.spec index 97662a76a616c094ca8bc82a3f71fc53f87d05c5..affc8c084bc8cc8799648a186cb2bd75817267c3 100644 --- a/ghc-extra.spec +++ b/ghc-extra.spec @@ -3,15 +3,21 @@ %global pkgver %{pkg_name}-%{version} %{?haskell_setup} +# Test-only: drop libHSextra ELF Provides so rpm-check reports "removed PROVIDES". +# Ability then puts reverse runtime deps into official_rebuild. Remove after the test. +%global __provides_exclude %{?__provides_exclude}%{?__provides_exclude:|}^libHSextra.* + Name: ghc-%{pkg_name} Version: 1.7.16 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Extra Haskell functions License: BSD-3-Clause Url: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# Test-only: keep a tiny source delta; official rebuild is triggered by dropping libHSextra Provides. +Patch0: 0001-epol-compat-test.patch BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros @@ -48,8 +54,7 @@ with "Data.List.Extra" if they need the extra functionality. %package devel Summary: Haskell %{pkg_name} library development files -Provides: %{name}-static = %{version}-%{release} -Provides: %{name}-static = %{version}-%{release} +# Test-only: drop ghc-extra-static Provides so ability sees removed PROVIDES vs 1.7.16-1. %if %{defined ghc_version} Requires: ghc-compiler = %{ghc_version} %endif @@ -84,6 +89,7 @@ This package provides the Haskell %{pkg_name} profiling library. %prep %setup -q -n %{pkgver} dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal +%patch0 -p1 %build @@ -114,6 +120,10 @@ dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal %changelog +* Fri Sep 18 2026 bbrucezhang - 1.7.16-2 +- [Type] enhancement +- [DESC] Test-only EPOL official-rebuild delta: drop libHSextra and ghc-extra-static Provides + * Sun Sep 21 2025 ocs-bot - 1.7.16-1 - [Type] other - [DESC] update to Version 1.7.16