packages feed

ghc-boot 9.6.6 → 9.8.1

raw patch · 2 files changed

+32/−17 lines, 2 filesdep ~basedep ~bytestringdep ~deepseqPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, bytestring, deepseq, ghc-boot-th

API changes (from Hackage documentation)

- GHC.Serialized: fromSerialized :: forall a. Typeable a => ([Word8] -> a) -> Serialized -> Maybe a
+ GHC.Serialized: fromSerialized :: Typeable a => ([Word8] -> a) -> Serialized -> Maybe a
- GHC.Serialized: toSerialized :: forall a. Typeable a => (a -> [Word8]) -> a -> Serialized
+ GHC.Serialized: toSerialized :: Typeable a => (a -> [Word8]) -> a -> Serialized
- GHC.Unit.Database: [DbOpenReadOnly] :: DbOpenMode 'DbReadOnly t
+ GHC.Unit.Database: [DbOpenReadOnly] :: forall t. DbOpenMode 'DbReadOnly t
- GHC.Unit.Database: [DbOpenReadWrite] :: t -> DbOpenMode 'DbReadWrite t
+ GHC.Unit.Database: [DbOpenReadWrite] :: forall t. t -> DbOpenMode 'DbReadWrite t
- GHC.Unit.Database: isDbOpenReadMode :: DbOpenMode mode t -> Bool
+ GHC.Unit.Database: isDbOpenReadMode :: forall (mode :: DbMode) t. DbOpenMode mode t -> Bool
- GHC.Unit.Database: readPackageDbForGhcPkg :: Binary pkgs => FilePath -> DbOpenMode mode t -> IO (pkgs, DbOpenMode mode PackageDbLock)
+ GHC.Unit.Database: readPackageDbForGhcPkg :: forall pkgs (mode :: DbMode) t. Binary pkgs => FilePath -> DbOpenMode mode t -> IO (pkgs, DbOpenMode mode PackageDbLock)

Files

GHC/BaseDir.hs view
@@ -12,7 +12,11 @@ -- installation location at build time. ghc-pkg also can expand those variables -- and so needs the top dir location to do that too. -module GHC.BaseDir where+module GHC.BaseDir+  ( expandTopDir+  , expandPathVar+  , getBaseDir+  ) where  import Prelude -- See Note [Why do we import Prelude here?] @@ -20,11 +24,9 @@ import Data.Maybe (listToMaybe) import System.FilePath --- Windows-#if defined(mingw32_HOST_OS)-import System.Environment (getExecutablePath)--- POSIX-#elif defined(darwin_HOST_OS) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(openbsd_HOST_OS) || defined(netbsd_HOST_OS)+#if MIN_VERSION_base(4,17,0) && !defined(openbsd_HOST_OS)+import System.Environment (executablePath)+#else import System.Environment (getExecutablePath) #endif @@ -43,17 +45,29 @@ expandPathVar var value (x:xs) = x : expandPathVar var value xs expandPathVar _ _ [] = [] +#if !MIN_VERSION_base(4,17,0) || defined(openbsd_HOST_OS)+-- Polyfill for base-4.17 executablePath and OpenBSD which doesn't+-- have executablePath. The best it can do is use argv[0] which is+-- good enough for most uses of getBaseDir.+executablePath :: Maybe (IO (Maybe FilePath))+executablePath = Just (Just <$> getExecutablePath)+#elif !MIN_VERSION_base(4,18,0) && defined(js_HOST_ARCH)+-- executablePath is missing from base < 4.18.0 on js_HOST_ARCH+executablePath :: Maybe (IO (Maybe FilePath))+executablePath = Nothing+#endif+ -- | Calculate the location of the base dir getBaseDir :: IO (Maybe String) #if defined(mingw32_HOST_OS)-getBaseDir = Just . (\p -> p </> "lib") . rootDir <$> getExecutablePath+getBaseDir = maybe (pure Nothing) ((((</> "lib") . rootDir) <$>) <$>) executablePath   where     -- locate the "base dir" when given the path     -- to the real ghc executable (as opposed to symlink)     -- that is running this function.     rootDir :: FilePath -> FilePath     rootDir = takeDirectory . takeDirectory . normalise-#elif defined(darwin_HOST_OS) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(openbsd_HOST_OS) || defined(netbsd_HOST_OS)+#else -- on unix, this is a bit more confusing. -- The layout right now is something like --@@ -65,14 +79,15 @@ -- As such, we first need to find the absolute location to the -- binary. ----- getExecutablePath will return (3). One takeDirectory will+-- executablePath will return (3). One takeDirectory will -- give use /lib/ghc-X.Y.Z/bin, and another will give us (4). -- -- This of course only works due to the current layout. If -- the layout is changed, such that we have ghc-X.Y.Z/{bin,lib} -- this would need to be changed accordingly. ---getBaseDir = Just . (\p -> p </> "lib") . takeDirectory . takeDirectory <$> getExecutablePath-#else-getBaseDir = return Nothing+getBaseDir = maybe (pure Nothing) ((((</> "lib") . rootDir) <$>) <$>) executablePath+  where+    rootDir :: FilePath -> FilePath+    rootDir = takeDirectory . takeDirectory #endif
ghc-boot.cabal view
@@ -5,7 +5,7 @@ -- ghc-boot.cabal.  name:           ghc-boot-version:        9.6.6+version:        9.8.1 license:        BSD-3-Clause license-file:   LICENSE category:       GHC@@ -70,14 +70,14 @@             GHC.Version             GHC.Platform.Host -    build-depends: base       >= 4.7 && < 4.19,+    build-depends: base       >= 4.7 && < 4.20,                    binary     == 0.8.*,-                   bytestring >= 0.10 && < 0.12,+                   bytestring >= 0.10 && < 0.13,                    containers >= 0.5 && < 0.7,                    directory  >= 1.2 && < 1.4,                    filepath   >= 1.3 && < 1.5,-                   deepseq    >= 1.4 && < 1.5,-                   ghc-boot-th == 9.6.6+                   deepseq    >= 1.4 && < 1.6,+                   ghc-boot-th == 9.8.1     if !os(windows)         build-depends:                    unix       >= 2.7 && < 2.9