Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-string-interpolate for
openSUSE:Factory checked in at 2026-11-06 19:50:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-string-interpolate (Old)
and /work/SRC/openSUSE:Factory/.ghc-string-interpolate.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-string-interpolate"
Fri Nov 6 19:50:08 2026 rev:6 rq:1395567 version:1.0.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-string-interpolate/ghc-string-interpolate.changes
2026-07-14 13:51:09.073500685 +0200
+++
/work/SRC/openSUSE:Factory/.ghc-string-interpolate.new.3759290/ghc-string-interpolate.changes
2026-11-06 19:57:13.403289340 +0100
@@ -1,0 +2,8 @@
+Sun Aug 16 20:35:07 UTC 2026 - Peter Simons <[email protected]>
+
+- Update string-interpolate to version 1.0.0.0.
+ ## v1.0.0.0 (2026-08-16)
+
+ + Switch to using `ghc-hs-meta` when parsing interpolations, for faster
compile times
+
+-------------------------------------------------------------------
Old:
----
string-interpolate-0.3.4.0.tar.gz
string-interpolate.cabal
New:
----
string-interpolate-1.0.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-string-interpolate.spec ++++++
--- /var/tmp/diff_new_pack.3n5vF2/_old 2026-11-06 19:57:14.571338235 +0100
+++ /var/tmp/diff_new_pack.3n5vF2/_new 2026-11-06 19:57:14.573338319 +0100
@@ -20,22 +20,19 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.4.0
+Version: 1.0.0.0
Release: 0
Summary: Haskell string/text/bytestring interpolation that just works
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/7.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
-BuildRequires: ghc-haskell-src-exts-devel
-BuildRequires: ghc-haskell-src-exts-prof
-BuildRequires: ghc-haskell-src-meta-devel
-BuildRequires: ghc-haskell-src-meta-prof
+BuildRequires: ghc-ghc-hs-meta-devel
+BuildRequires: ghc-ghc-hs-meta-prof
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-split-devel
BuildRequires: ghc-split-prof
@@ -101,7 +98,6 @@
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ string-interpolate-0.3.4.0.tar.gz -> string-interpolate-1.0.0.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/string-interpolate-0.3.4.0/CHANGELOG.md
new/string-interpolate-1.0.0.0/CHANGELOG.md
--- old/string-interpolate-0.3.4.0/CHANGELOG.md 2001-09-09 03:46:40.000000000
+0200
+++ new/string-interpolate-1.0.0.0/CHANGELOG.md 2001-09-09 03:46:40.000000000
+0200
@@ -2,6 +2,10 @@
## Unreleased
+## v1.0.0.0 (2026-08-16)
+
++ Switch to using `ghc-hs-meta` when parsing interpolations, for faster
compile times
+
## v0.3.4.0 (2024-07-09)
+ Fixed a performance bug causing exponential compilation times when using
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/string-interpolate-0.3.4.0/src/lib/Data/String/Interpolate.hs
new/string-interpolate-1.0.0.0/src/lib/Data/String/Interpolate.hs
--- old/string-interpolate-0.3.4.0/src/lib/Data/String/Interpolate.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/string-interpolate-1.0.0.0/src/lib/Data/String/Interpolate.hs
2001-09-09 03:46:40.000000000 +0200
@@ -62,10 +62,7 @@
import Data.Foldable ( traverse_ )
import Data.List ( intercalate )
-import qualified Language.Haskell.Exts.Extension as Ext
-import Language.Haskell.Exts.Parser
- ( ParseMode(..), ParseResult(..), defaultParseMode, parseExpWithMode )
-import Language.Haskell.Meta ( ToExp(..) )
+import Language.Haskell.Meta.Parse ( parseExpWithExts )
import Language.Haskell.TH
import Language.Haskell.TH.Quote ( QuasiQuoter(..) )
@@ -275,12 +272,12 @@
reifyExpression :: String -> Q Exp
reifyExpression s = do
-- We want to explicitly use whatever extensions are enabled in current
module
- exts <- (fmap . fmap) (Ext.parseExtension . show) extsEnabled
- parseMode <- pure (defaultParseMode { extensions = exts })
- case parseExpWithMode parseMode s of
- ParseFailed _ err -> fail $
+ exts <- extsEnabled
+ case parseExpWithExts exts s of
+ Left (_, _, err) -> fail $
"Data.String.Interpolate.i: got error: '" ++ err ++ "' while parsing
expression: " ++ s
- ParseOk e -> pure (toExp e)
+ Right e ->
+ pure e
reportIndentWarning :: IndentWarning -> Q ()
reportIndentWarning (IndentWarning line base) = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/string-interpolate-0.3.4.0/string-interpolate.cabal
new/string-interpolate-1.0.0.0/string-interpolate.cabal
--- old/string-interpolate-0.3.4.0/string-interpolate.cabal 2001-09-09
03:46:40.000000000 +0200
+++ new/string-interpolate-1.0.0.0/string-interpolate.cabal 2001-09-09
03:46:40.000000000 +0200
@@ -1,7 +1,7 @@
cabal-version: 1.18
name: string-interpolate
-version: 0.3.4.0
+version: 1.0.0.0
synopsis: Haskell string/text/bytestring interpolation that just works
description: Unicode-aware string interpolation that handles all textual
types.
.
@@ -74,9 +74,8 @@
, bytestring <0.13
, text <2.2
, split <0.3
- , haskell-src-exts <1.24
- , haskell-src-meta <0.9
- , template-haskell <2.22
+ , ghc-hs-meta <0.2
+ , template-haskell <2.25
, text-conversions <0.4
, utf8-string <1.1
default-language: Haskell2010
@@ -91,13 +90,13 @@
build-depends:
base ==4.*
, string-interpolate
- , QuickCheck <2.16
+ , QuickCheck <2.19
, bytestring <0.13
, text <2.2
- , template-haskell <2.22
+ , template-haskell <2.25
, hspec ==2.*
, hspec-core ==2.*
- , quickcheck-instances <0.4
+ , quickcheck-instances <0.5
, quickcheck-text <0.2
, quickcheck-unicode <1.1
, unordered-containers <0.3
@@ -112,7 +111,7 @@
build-depends:
base ==4.*
, string-interpolate
- , QuickCheck <2.16
+ , QuickCheck <2.19
, bytestring <0.13
, text <2.2
, deepseq <1.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/string-interpolate-0.3.4.0/test/spec.hs
new/string-interpolate-1.0.0.0/test/spec.hs
--- old/string-interpolate-0.3.4.0/test/spec.hs 2001-09-09 03:46:40.000000000
+0200
+++ new/string-interpolate-1.0.0.0/test/spec.hs 2001-09-09 03:46:40.000000000
+0200
@@ -3,14 +3,14 @@
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE QuasiQuotes #-}
-{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
-{-# LANGUAGE LambdaCase #-}
import qualified Data.ByteString as B
import qualified Data.ByteString.Builder as LB
@@ -18,7 +18,7 @@
import Data.Char ( chr, isSpace )
import Data.Foldable ( foldMap )
import qualified Data.HashMap.Strict as HM
-import Data.List ( sort, intersperse )
+import Data.List ( intersperse, sort )
import Data.Semigroup
import qualified Data.Text as T
import qualified Data.Text.Lazy as LT
@@ -30,18 +30,18 @@
import Control.Monad.IO.Class ( liftIO )
import "hspec" Test.Hspec
-import "hspec" Test.Hspec.QuickCheck
import "hspec-core" Test.Hspec.Core.Runner
+import "hspec" Test.Hspec.QuickCheck
import "QuickCheck" Test.QuickCheck
import "quickcheck-instances" Test.QuickCheck.Instances.ByteString ()
import "QuickCheck" Test.QuickCheck.Monadic
import "quickcheck-unicode" Test.QuickCheck.Unicode
-import Data.String.Interpolate ( i, iii, __i, __i'E, __i'L, iii'E, iii'L )
+import Data.String.Interpolate ( __i, __i'E, __i'L, i, iii, iii'E,
iii'L )
import Data.String.Interpolate.Conversion hiding
- ( build, finalize, interpolate, ofString, chompSpaces )
-import Data.String.Interpolate.Types ( InterpSegment(..) )
-import Data.String.Interpolate.Parse ( parseInterpSegments )
+ ( build, chompSpaces, finalize, interpolate, ofString )
+import Data.String.Interpolate.Parse ( parseInterpSegments )
+import Data.String.Interpolate.Types ( InterpSegment(..) )
main :: IO ()
main = hspecWith testConfig $ parallel $ do
@@ -535,10 +535,10 @@
, Tabs <$> arbitrary
]
- shrink (Verbatim t) = Verbatim <$> shrink t
+ shrink (Verbatim t) = Verbatim <$> shrink t
shrink (Expression t) = []
- shrink (Spaces n) = [Spaces (n `div` 2), Spaces (n-1)]
- shrink (Tabs n) = [Tabs (n `div` 2), Tabs (n-1)]
+ shrink (Spaces n) = [Spaces (n `div` 2), Spaces (n-1)]
+ shrink (Tabs n) = [Tabs (n `div` 2), Tabs (n-1)]
charFrequencies :: T.Text -> HM.HashMap Char Int
charFrequencies = T.foldl' (flip $ HM.alter increment) HM.empty . T.filter
(not . isSpace)