diff --git a/CHANGELOG.md b/CHANGELOG.md index f203972..2cb2c92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Revision history for jailbreak-cabal +## 1.4.1 + +* Support building with `Cabal >= 3.14`. Adjustment for API changes that should not + change behavior. See [#25](https://github.com/NixOS/jailbreak-cabal/pull/25). + ## 1.4 * jailbreak-cabal will now also relax version constraints on `build-tool-depends`. diff --git a/Main.hs b/Main.hs index e31a953..0b28ec7 100644 --- a/Main.hs +++ b/Main.hs @@ -10,12 +10,28 @@ import Distribution.PackageDescription.Parsec import Distribution.PackageDescription.PrettyPrint import Distribution.Types.ExeDependency import Distribution.Types.LegacyExeDependency +#if MIN_VERSION_Cabal_syntax(3,14,0) +import Distribution.Utils.Path +#endif import Distribution.Verbosity import Distribution.Version import System.Environment main :: IO () -main = getArgs >>= mapM_ (\cabalFile -> readGenericPackageDescription silent cabalFile >>= writeGenericPackageDescription cabalFile . stripVersionRestrictions) +main = getArgs >>= mapM_ jailbreakFile + +jailbreakFile :: FilePath -> IO () +jailbreakFile cabalFile = + readGenericPackageDescription silent +#if MIN_VERSION_Cabal(3,14,0) + -- Do not give a CWD directory, so the working dir of the process is used (like before). + -- Note: Passing a CWD directory is inadvisable since writeGenericPackageDescription + -- does not support it, so we'd get differing behavior. + Nothing (makeSymbolicPath cabalFile) +#else + cabalFile +#endif + >>= writeGenericPackageDescription cabalFile . stripVersionRestrictions -- We don't relax version restrictions inside conditional statements. -- See https://github.com/peti/jailbreak-cabal/commit/99eac40deb481b185fd93fd307625369ff5e1ec0 diff --git a/jailbreak-cabal.cabal b/jailbreak-cabal.cabal index 9cbbc0e..6a2a01c 100644 --- a/jailbreak-cabal.cabal +++ b/jailbreak-cabal.cabal @@ -1,5 +1,5 @@ name: jailbreak-cabal -version: 1.4 +version: 1.4.1 synopsis: Strip version restrictions from Cabal files description: Strip version restrictions from build dependencies in Cabal files. category: Distribution