[arch-commits] Commit in stack/trunk (PKGBUILD ghc9.patch)
Felix Yan
felixonmars at archlinux.org
Wed Jun 30 10:56:26 UTC 2021
Date: Wednesday, June 30, 2021 @ 10:56:26
Author: felixonmars
Revision: 967964
upgpkg: stack 2.7.1-2: rebuild with ghc 9.0.1
Added:
stack/trunk/ghc9.patch
Modified:
stack/trunk/PKGBUILD
------------+
PKGBUILD | 9 +-
ghc9.patch | 233 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 239 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-06-30 10:50:30 UTC (rev 967963)
+++ PKGBUILD 2021-06-30 10:56:26 UTC (rev 967964)
@@ -3,7 +3,7 @@
pkgname=stack
pkgver=2.7.1
-pkgrel=1
+pkgrel=2
pkgdesc="The Haskell Tool Stack"
url="https://github.com/commercialhaskell/stack"
license=("BSD")
@@ -33,11 +33,14 @@
conflicts=('haskell-stack')
replaces=('haskell-stack')
install="stack.install"
-source=("git+https://github.com/commercialhaskell/stack.git#tag=v$pkgver")
-sha512sums=('SKIP')
+source=("git+https://github.com/commercialhaskell/stack.git#tag=v$pkgver"
+ ghc9.patch)
+sha512sums=('SKIP'
+ '55ad4c484e6858206d7728077ef94c5f299727b4433b51c027931f1e09371c04c454a785091bcb1a28bf7d8af5652e0fc326dd1141e4b60d6bd185834bfd89bd')
prepare() {
cd $pkgname
+ patch -p1 -i ../ghc9.patch
uusi -d semigroups -d persistent-template $pkgname.cabal
}
Added: ghc9.patch
===================================================================
--- ghc9.patch (rev 0)
+++ ghc9.patch 2021-06-30 10:56:26 UTC (rev 967964)
@@ -0,0 +1,233 @@
+From fcd320129b19b2d216ea4cfa63a2731fb00e9067 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon at leapyear.io>
+Date: Fri, 4 Jun 2021 16:40:56 -0700
+Subject: [PATCH 2/6] Fix Flag => PackageFlag
+
+---
+ src/Stack/BuildPlan.hs | 2 +-
+ src/Stack/Package.hs | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/Stack/BuildPlan.hs b/src/Stack/BuildPlan.hs
+index 36f82236e..c5c80efc6 100644
+--- a/src/Stack/BuildPlan.hs
++++ b/src/Stack/BuildPlan.hs
+@@ -224,7 +224,7 @@ selectPackageBuildPlan platform compiler pool gpd =
+ flagCombinations :: NonEmpty [(FlagName, Bool)]
+ flagCombinations = mapM getOptions (genPackageFlags gpd)
+ where
+- getOptions :: C.Flag -> NonEmpty (FlagName, Bool)
++ getOptions :: C.PackageFlag -> NonEmpty (FlagName, Bool)
+ getOptions f
+ | flagManual f = (fname, flagDefault f) :| []
+ | flagDefault f = (fname, True) :| [(fname, False)]
+diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
+index 4db50d2a4..d9bca7af5 100644
+--- a/src/Stack/Package.hs
++++ b/src/Stack/Package.hs
+@@ -128,7 +128,7 @@ resolvePackage packageConfig gpkg =
+ (resolvePackageDescription packageConfig gpkg)
+
+ packageFromPackageDescription :: PackageConfig
+- -> [D.Flag]
++ -> [PackageFlag]
+ -> PackageDescriptionPair
+ -> Package
+ packageFromPackageDescription packageConfig pkgFlags (PackageDescriptionPair pkgNoMod pkg) =
+@@ -935,9 +935,9 @@ resolvePackageDescription packageConfig (GenericPackageDescription desc defaultF
+ -- | Make a map from a list of flag specifications.
+ --
+ -- What is @flagManual@ for?
+-flagMap :: [Flag] -> Map FlagName Bool
++flagMap :: [PackageFlag] -> Map FlagName Bool
+ flagMap = M.fromList . map pair
+- where pair :: Flag -> (FlagName, Bool)
++ where pair :: PackageFlag -> (FlagName, Bool)
+ pair = flagName &&& flagDefault
+
+ data ResolveConditions = ResolveConditions
+@@ -986,7 +986,7 @@ resolveConditions rc addDeps (CondNode lib deps cs) = basic <> children
+ case v of
+ OS os -> os == rcOS rc
+ Arch arch -> arch == rcArch rc
+- Flag flag ->
++ PackageFlag flag ->
+ fromMaybe False $ M.lookup flag (rcFlags rc)
+ -- NOTE: ^^^^^ This should never happen, as all flags
+ -- which are used must be declared. Defaulting to
+
+From 675763a51ef98f5e95e3241dd6b184a646b1af36 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon at leapyear.io>
+Date: Fri, 4 Jun 2021 16:55:30 -0700
+Subject: [PATCH 3/6] Fix CabalSpecVersion
+
+---
+ src/Stack/Package.hs | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
+index d9bca7af5..fca039140 100644
+--- a/src/Stack/Package.hs
++++ b/src/Stack/Package.hs
+@@ -32,6 +32,7 @@ import Data.List (find, isPrefixOf, unzip)
+ import qualified Data.Map.Strict as M
+ import qualified Data.Set as S
+ import qualified Data.Text as T
++import Distribution.CabalSpecVersion (CabalSpecVersion, cabalSpecMinimumLibraryVersion)
+ import Distribution.Compiler
+ import Distribution.ModuleName (ModuleName)
+ import qualified Distribution.ModuleName as Cabal
+@@ -190,7 +191,7 @@ packageFromPackageDescription packageConfig pkgFlags (PackageDescriptionPair pkg
+ (library pkg)
+ , packageBuildType = buildType pkg
+ , packageSetupDeps = msetupDeps
+- , packageCabalSpec = either orLaterVersion id $ specVersionRaw pkg
++ , packageCabalSpec = orLaterVersion $ mkVersion $ cabalSpecMinimumLibraryVersion $ specVersion pkg
+ }
+ where
+ extraLibNames = S.union subLibNames foreignLibNames
+@@ -696,7 +697,7 @@ packageDescModulesAndFiles pkg = do
+
+ -- | Resolve globbing of files (e.g. data files) to absolute paths.
+ resolveGlobFiles
+- :: Version -- ^ cabal file version
++ :: CabalSpecVersion -- ^ cabal file version
+ -> [String]
+ -> RIO Ctx (Set (Path Abs File))
+ resolveGlobFiles cabalFileVersion =
+
+From 95f2147a669c4c685a8b43f30c4602897efb0a3a Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon at leapyear.io>
+Date: Fri, 4 Jun 2021 16:55:40 -0700
+Subject: [PATCH 4/6] Fix GenericPackageDescription
+
+---
+ src/Stack/Build.hs | 2 +-
+ src/Stack/Package.hs | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Stack/Build.hs b/src/Stack/Build.hs
+index 23b9a9719..856903bed 100644
+--- a/src/Stack/Build.hs
++++ b/src/Stack/Build.hs
+@@ -358,7 +358,7 @@ checkComponentsBuildable lps =
+ checkSubLibraryDependencies :: HasLogFunc env => [ProjectPackage] -> RIO env ()
+ checkSubLibraryDependencies proj = do
+ forM_ proj $ \p -> do
+- C.GenericPackageDescription _ _ lib subLibs foreignLibs exes tests benches <- liftIO $ cpGPD . ppCommon $ p
++ C.GenericPackageDescription _ _ _ lib subLibs foreignLibs exes tests benches <- liftIO $ cpGPD . ppCommon $ p
+
+ let dependencies = concatMap getDeps subLibs <>
+ concatMap getDeps foreignLibs <>
+diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
+index fca039140..39aad4d2f 100644
+--- a/src/Stack/Package.hs
++++ b/src/Stack/Package.hs
+@@ -863,7 +863,7 @@ data PackageDescriptionPair = PackageDescriptionPair
+ resolvePackageDescription :: PackageConfig
+ -> GenericPackageDescription
+ -> PackageDescriptionPair
+-resolvePackageDescription packageConfig (GenericPackageDescription desc defaultFlags mlib subLibs foreignLibs' exes tests benches) =
++resolvePackageDescription packageConfig (GenericPackageDescription desc _ defaultFlags mlib subLibs foreignLibs' exes tests benches) =
+ PackageDescriptionPair
+ { pdpOrigBuildable = go False
+ , pdpModifiedBuildable = go True
+
+From 0c87cd3529b7958dd16bd829ba933aa76f8b6ca5 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon at leapyear.io>
+Date: Fri, 4 Jun 2021 17:01:01 -0700
+Subject: [PATCH 5/6] Fix generatePackageVersionMacros
+
+---
+ src/Stack/Build/Execute.hs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Stack/Build/Execute.hs b/src/Stack/Build/Execute.hs
+index a409313f0..606a8a722 100644
+--- a/src/Stack/Build/Execute.hs
++++ b/src/Stack/Build/Execute.hs
+@@ -1207,7 +1207,7 @@ withSingleContext ActionContext {..} ee at ExecuteEnv {..} task at Task {..} allDeps m
+ let macroDeps = mapMaybe snd matchedDeps
+ cppMacrosFile = setupDir </> relFileSetupMacrosH
+ cppArgs = ["-optP-include", "-optP" ++ toFilePath cppMacrosFile]
+- writeBinaryFileAtomic cppMacrosFile (encodeUtf8Builder (T.pack (C.generatePackageVersionMacros macroDeps)))
++ writeBinaryFileAtomic cppMacrosFile (encodeUtf8Builder (T.pack (C.generatePackageVersionMacros (packageVersion package) macroDeps)))
+ return (packageDBArgs ++ depsArgs ++ cppArgs)
+
+ -- This branch is usually taken for builds, and
+
+From 5d7cabfef49814426c30c0ee4f08cbd3242d49fa Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon at leapyear.io>
+Date: Fri, 4 Jun 2021 17:04:16 -0700
+Subject: [PATCH 6/6] Fix ModuleReexport
+
+---
+ src/Stack/Script.hs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Stack/Script.hs b/src/Stack/Script.hs
+index a0196fac0..0d469357c 100644
+--- a/src/Stack/Script.hs
++++ b/src/Stack/Script.hs
+@@ -18,6 +18,7 @@ import Distribution.Compiler (CompilerFlavor (..))
+ import Distribution.ModuleName (ModuleName)
+ import qualified Distribution.PackageDescription as PD
+ import qualified Distribution.Types.CondTree as C
++import qualified Distribution.Types.ModuleReexport as ModuleReexport
+ import Distribution.Types.PackageName (mkPackageName)
+ import Distribution.Types.VersionRange (withinRange)
+ import Distribution.System (Platform (..))
+@@ -266,7 +267,7 @@ allExposedModules gpd = do
+ mlibrary = snd . C.simplifyCondTree checkCond <$> PD.condLibrary gpd
+ pure $ case mlibrary of
+ Just lib -> PD.exposedModules lib ++
+- map PD.moduleReexportName (PD.reexportedModules lib)
++ map ModuleReexport.moduleReexportName (PD.reexportedModules lib)
+ Nothing -> mempty
+
+ -- | The Stackage project introduced the concept of hidden packages,
+diff --git a/src/Stack/Build/Execute.hs b/src/Stack/Build/Execute.hs
+index a409313f..e220ab86 100644
+--- a/src/Stack/Build/Execute.hs
++++ b/src/Stack/Build/Execute.hs
+@@ -997,7 +997,7 @@ withLockedDistDir announce root inner = do
+ announce $ "still blocking for directory lock on " <>
+ fromString (toFilePath lockFP) <>
+ "; maybe another Stack process is running?"
+- withCompanion complainer $
++ withCompanion (\x -> complainer x) $
+ \stopComplaining ->
+ withRunInIO $ \run ->
+ withFileLock (toFilePath lockFP) Exclusive $ \_ ->
+diff --git a/src/Stack/Storage/Project.hs b/src/Stack/Storage/Project.hs
+index e57a5641..af51f5c1 100644
+--- a/src/Stack/Storage/Project.hs
++++ b/src/Stack/Storage/Project.hs
+@@ -93,8 +93,9 @@ withProjectStorage ::
+ (HasBuildConfig env, HasLogFunc env)
+ => ReaderT SqlBackend (RIO env) a
+ -> RIO env a
+-withProjectStorage inner =
+- flip SQLite.withStorage_ inner =<< view (buildConfigL . to bcProjectStorage . to unProjectStorage)
++withProjectStorage inner = do
++ storage <- view (buildConfigL . to bcProjectStorage . to unProjectStorage)
++ SQLite.withStorage_ storage inner
+
+ -- | Key used to retrieve configuration or flag cache
+ type ConfigCacheKey = Unique ConfigCacheParent
+diff --git a/src/Stack/Storage/User.hs b/src/Stack/Storage/User.hs
+index c8b739da..376b7d66 100644
+--- a/src/Stack/Storage/User.hs
++++ b/src/Stack/Storage/User.hs
+@@ -134,8 +134,9 @@ withUserStorage ::
+ (HasConfig env, HasLogFunc env)
+ => ReaderT SqlBackend (RIO env) a
+ -> RIO env a
+-withUserStorage inner =
+- flip SQLite.withStorage_ inner =<< view (configL . to configUserStorage . to unUserStorage)
++withUserStorage inner = do
++ storage <- view (configL . to configUserStorage . to unUserStorage)
++ SQLite.withStorage_ storage inner
+
+ -- | Key used to retrieve the precompiled cache
+ type PrecompiledCacheKey = Unique PrecompiledCacheParent
More information about the arch-commits
mailing list