packages feed

cabal2nix 2.4.1 → 2.5

raw patch · 4 files changed

+27/−23 lines, 4 filesdep ~hackage-dbPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hackage-db

API changes (from Hackage documentation)

+ Distribution.Nixpkgs.Haskell.FromCabal: finalizeGenericPackageDescription :: HaskellResolver -> Platform -> CompilerInfo -> FlagAssignment -> [Constraint] -> GenericPackageDescription -> (PackageDescription, [Dependency])

Files

cabal2nix.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           cabal2nix-version:        2.4.1+version:        2.5 synopsis:       Convert Cabal files into Nix build instructions. description:    Convert Cabal files into Nix build instructions. Users of Nix can install the latest version by running:                 .
src/Distribution/Nixpkgs/Haskell/FromCabal.hs view
@@ -3,9 +3,8 @@  module Distribution.Nixpkgs.Haskell.FromCabal   ( HaskellResolver, NixpkgsResolver-  , fromGenericPackageDescription , fromPackageDescription-  )-  where+  , fromGenericPackageDescription , finalizeGenericPackageDescription , fromPackageDescription+  ) where  import Control.Lens import Data.Maybe@@ -35,30 +34,34 @@ type HaskellResolver = Dependency -> Bool type NixpkgsResolver = Identifier -> Maybe Binding -fromGenericPackageDescription :: HaskellResolver -> NixpkgsResolver -> Platform -> CompilerInfo ->  FlagAssignment -> [Constraint] -> GenericPackageDescription -> Derivation+fromGenericPackageDescription :: HaskellResolver -> NixpkgsResolver -> Platform -> CompilerInfo -> FlagAssignment -> [Constraint] -> GenericPackageDescription -> Derivation fromGenericPackageDescription haskellResolver nixpkgsResolver arch compiler flags constraints genDesc =   fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags descr     where-      -- We have to call the Cabal finalizer several times with different resolver-      -- functions, and this convenience function makes our code shorter.-      finalize :: HaskellResolver -> Either [Dependency] (PackageDescription,FlagAssignment)-      finalize resolver = finalizePD flags requestedComponents resolver arch compiler constraints genDesc+      (descr, missingDeps) = finalizeGenericPackageDescription haskellResolver arch compiler flags constraints genDesc -      requestedComponents :: ComponentRequestedSpec-      requestedComponents = defaultComponentRequestedSpec-                            { testsRequested      = True-                            , benchmarksRequested = True-                            }+finalizeGenericPackageDescription :: HaskellResolver -> Platform -> CompilerInfo ->  FlagAssignment -> [Constraint] -> GenericPackageDescription -> (PackageDescription, [Dependency])+finalizeGenericPackageDescription haskellResolver arch compiler flags constraints genDesc =+  let+    -- We have to call the Cabal finalizer several times with different resolver+    -- functions, and this convenience function makes our code shorter.+    finalize :: HaskellResolver -> Either [Dependency] (PackageDescription,FlagAssignment)+    finalize resolver = finalizePD flags requestedComponents resolver arch compiler constraints genDesc -      descr :: PackageDescription; missingDeps :: [Dependency]-      (descr,missingDeps) = case finalize jailbrokenResolver of-                              Left m -> case finalize (const True) of-                                          Left _      -> error ("Cabal cannot finalize " ++ display (packageId genDesc))-                                          Right (d,_) -> (d,m)-                              Right (d,_)  -> (d,[])+    requestedComponents :: ComponentRequestedSpec+    requestedComponents = defaultComponentRequestedSpec+                          { testsRequested      = True+                          , benchmarksRequested = True+                          } -      jailbrokenResolver :: HaskellResolver-      jailbrokenResolver (Dependency pkg _) = haskellResolver (Dependency pkg anyVersion)+    jailbrokenResolver :: HaskellResolver+    jailbrokenResolver (Dependency pkg _) = haskellResolver (Dependency pkg anyVersion)++  in case finalize jailbrokenResolver of+    Left m -> case finalize (const True) of+                Left _      -> error ("Cabal cannot finalize " ++ display (packageId genDesc))+                Right (d,_) -> (d,m)+    Right (d,_)  -> (d,[])  fromPackageDescription :: HaskellResolver -> NixpkgsResolver -> [Dependency] -> FlagAssignment -> PackageDescription -> Derivation fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags (PackageDescription {..}) = normalize $ postProcess $ nullDerivation
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs view
@@ -84,6 +84,7 @@ libNixName "jpeg"                               = return "libjpeg" libNixName "jvm"                                = return "jdk" libNixName "lapack"                             = return "liblapack"+libNixName "lber"                               = return "openldap" libNixName "ldap"                               = return "openldap" libNixName "libavutil"                          = return "ffmpeg" libNixName "libgsasl"                           = return "gsasl"
src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs view
@@ -87,7 +87,7 @@   , ("jsaddle", set (dependencies . haskell . contains (bind "self.ghcjs-base")) False)   , ("js-jquery", set doCheck False)            -- attempts to access the network   , ("libconfig", over (libraryDepends . system) (replace "config = null" (pkg "libconfig")))-  , ("liquid-fixpoint", set (executableDepends . system . contains (pkg "ocaml")) True . set (testDepends . system . contains (pkg "z3")) True)+  , ("liquid-fixpoint", set (executableDepends . system . contains (pkg "ocaml")) True . set (testDepends . system . contains (pkg "z3")) True . set (testDepends . system . contains (pkg "nettools")) True)   , ("liquidhaskell", set (testDepends . system . contains (pkg "z3")) True)   , ("lzma-clib", over (metaSection . platforms) (Set.filter (\(Platform _  os) -> os == Windows)) . set (libraryDepends . haskell . contains (bind "self.only-buildable-on-windows")) False)   , ("MFlow < 4.6", set (libraryDepends . tool . contains (bind "self.cpphs")) True)