packages feed

Cabal 3.6.2.0 → 3.6.3.0

raw patch · 3 files changed

+35/−11 lines, 3 filesnew-uploaderPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Cabal.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name:          Cabal-version:       3.6.2.0+version:       3.6.3.0 copyright:     2003-2021, Cabal Development Team (see AUTHORS file) license:       BSD3 license-file:  LICENSE@@ -46,7 +46,7 @@     filepath   >= 1.3.0.1  && < 1.5,     pretty     >= 1.1.1    && < 1.2,     process    >= 1.1.0.2  && < 1.7,-    time       >= 1.4.0.1  && < 1.12+    time       >= 1.4.0.1  && < 1.13    if flag(bundled-binary-generic)     build-depends: binary >= 0.5.1.1 && < 0.7@@ -68,7 +68,7 @@   if !impl(ghc >= 8.0)     -- at least one of lib:Cabal's dependency (i.e. `parsec`)     -- already depends on `fail` and `semigroups` transitively-    build-depends: fail == 4.9.*, semigroups >= 0.18.3 && < 0.20+    build-depends: fail == 4.9.*, semigroups >= 0.18.3 && < 0.21    if !impl(ghc >= 7.10)     build-depends: void >= 0.7.3 && < 0.8@@ -269,7 +269,7 @@     -- See also https://github.com/ekmett/transformers-compat/issues/35     transformers (>= 0.3      && < 0.4) || (>=0.4.1.0 && <0.6),     mtl           >= 2.1      && < 2.3,-    text          >= 1.2.3.0  && < 1.3,+    text         (>= 1.2.3.0  && < 1.3) || (>= 2.0 && < 2.1),     parsec        >= 3.1.13.0 && < 3.2   exposed-modules:     Distribution.Compat.Parsing
ChangeLog.md view
@@ -1,3 +1,6 @@+# 3.6.3.0 March 2022+  * See https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.6.3.0.md+ # 3.6.2.0 [Emily Pillmore](mailgo:emilypi@cohomolo.gy) October 2021   * See https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.6.2.0.md 
src/Distribution/Compat/Process.hs view
@@ -18,23 +18,44 @@ import           System.Process (waitForProcess) #endif +#if defined(mingw32_HOST_OS) && MIN_VERSION_process(1,6,9)+import           System.IO.Unsafe (unsafePerformIO)+import           System.Win32.Info.Version (dwMajorVersion, dwMinorVersion, getVersionEx)+#endif+ ------------------------------------------------------------------------------- -- enableProcessJobs ------------------------------------------------------------------------------- +#if defined(mingw32_HOST_OS) && MIN_VERSION_process(1,6,9)+-- This exception, needed to support Windows 7, could be removed when+-- the lowest GHC version cabal supports is a GHC that doesn’t support+-- Windows 7 any more.+{-# NOINLINE isWindows8OrLater #-}+isWindows8OrLater :: Bool+isWindows8OrLater = unsafePerformIO $ do+  v <- getVersionEx+  pure $ (dwMajorVersion v, dwMinorVersion v) >= (6, 2)+#endif+ -- | Enable process jobs to ensure accurate determination of process completion -- in the presence of @exec(3)@ on Windows. -- -- Unfortunately the process job support is badly broken in @process@ releases -- prior to 1.6.9, so we disable it in these versions, despite the fact that--- this means we may see sporatic build failures without jobs.+-- this means we may see sporadic build failures without jobs.+--+-- On Windows 7 or before the jobs are disabled due to the fact that+-- processes on these systems can only have one job. This prevents+-- spawned process from assigning jobs to its own children. Suppose+-- processs A spawns process B. The B process has a job assigned (call+-- it J1) and when it tries to spawn a new process C the C+-- automatically inherits the job. But at it also tries to assign a+-- new job J2 to C since it doesn’t have access J1. This fails on+-- Windows 7 or before. enableProcessJobs :: CreateProcess -> CreateProcess-#ifdef MIN_VERSION_process-#if MIN_VERSION_process(1,6,9)-enableProcessJobs cp = cp {Process.use_process_jobs = True}-#else-enableProcessJobs cp = cp-#endif+#if defined(mingw32_HOST_OS) && MIN_VERSION_process(1,6,9)+enableProcessJobs cp = cp {Process.use_process_jobs = isWindows8OrLater} #else enableProcessJobs cp = cp #endif