hsinstall 3.1 → 3.2
raw patch · 5 files changed
+32/−5 lines, 5 filesdep ~CabalPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: Cabal
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- hsinstall.cabal +2/−2
- src/app/HSInstall/DeploymentInfo.hs +9/−3
- stack.yaml +2/−0
- stack.yaml.lock +14/−0
CHANGELOG.md view
@@ -1,3 +1,8 @@+3.2 (2026-09-06)++ * Revered rollback to older Cabal API, was breaking Stackage compatibility++ 3.1 (2026-09-05) * Redesigned how runtime resources are handled, fixing resource access during
hsinstall.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: hsinstall-version: 3.1+version: 3.2 synopsis: Install Haskell software description: This is a tool for deploying software projects into directory structures suitable for installation on a system. It builds upon the `stack@@ -101,7 +101,7 @@ hs-source-dirs: src/app build-depends:- Cabal >=3.10.3 && <4+ Cabal >=3.14.0.0 && <4 , exceptions >=0.10.7 && <1 , formatting >=7.2.0 && <8 , heredoc >=0.2.0.0 && <0.3
src/app/HSInstall/DeploymentInfo.hs view
@@ -29,6 +29,7 @@ import Distribution.Simple.PackageDescription (readGenericPackageDescription) import Distribution.Types.PackageName (unPackageName) import Distribution.Types.Version (Version)+import Distribution.Utils.Path (makeSymbolicPath) import Distribution.Verbosity (normal) import System.Directory (getDirectoryContents) import System.FilePath ((</>), (<.>))@@ -58,9 +59,13 @@ -- This tool is designed to only be run in the top-level directory of a Haskell--- package that's being packaged for deployment, so we expect "." to be our cwd+-- package that's being packaged for deployment.+cwd :: FilePath+cwd = "."++ locateCabalFile :: IO (Maybe FilePath)-locateCabalFile = find (isSuffixOf ".cabal") <$> getDirectoryContents "."+locateCabalFile = find (isSuffixOf ".cabal") <$> getDirectoryContents cwd constructDeploymentInfo :: BuildTool -> BuildMode -> IO DeploymentInfo@@ -68,9 +73,10 @@ mbCabalFile <- runMaybeT $ MaybeT locateCabalFile <|> MaybeT (makeCabal buildTool >> locateCabalFile)+ let path = Just $ makeSymbolicPath cwd maybe (throwM NoCabalFiles) (fmap (constructDeploymentInfo' buildMode . package . packageDescription)- . readGenericPackageDescription normal) mbCabalFile+ . readGenericPackageDescription normal path . makeSymbolicPath) mbCabalFile constructDeploymentInfo' :: BuildMode -> PackageId -> DeploymentInfo
stack.yaml view
@@ -4,5 +4,7 @@ - '.' extra-deps:+- Cabal-3.14.0.0+- Cabal-syntax-3.14.0.0 - hslogger-colorfmt-1.0.0 - optparse-applicative-dex-1.0.1
stack.yaml.lock view
@@ -5,6 +5,20 @@ packages: - completed:+ hackage: Cabal-3.14.0.0@sha256:13d39b2bc652fb4bbd89ccbfabddfa4163dcbe8c6165ec9d18d4f8102fbad320,14137+ pantry-tree:+ sha256: 3d14ae8e5c8f2b56f40594b3f9693cd1ebbcbcb34404f3d402e7ab851b53ea32+ size: 12219+ original:+ hackage: Cabal-3.14.0.0+- completed:+ hackage: Cabal-syntax-3.14.0.0@sha256:6cd7666c675c29981392d031a9ad402f578234b6195a304c886b84510b0c21cd,7380+ pantry-tree:+ sha256: 2aed3c4195554d93ed1e25c4bacdf8eb7f3e006622bbd17a2e27d4bd0de0cd32+ size: 10977+ original:+ hackage: Cabal-syntax-3.14.0.0+- completed: hackage: hslogger-colorfmt-1.0.0@sha256:ec9180c579c73f4aca8c0c9c7fcd4a99f91c9939ab060c78f910d525023a2e40,1312 pantry-tree: sha256: 851f5cda0546bfc4d3463f70e7420adf0c260266a435e7f6191e659e3e4f65e5