git.iko.soy/typeable/cabal2nix
on master help sign in
Fix build with Cabal 1.22.x.
commitdea071a27bab8e7cd551a7eeb4d8c1e78cf718bb authorPeter Simons <simons@cryp.to> dateTue 3 Feb 2015, 19:39 (12 years ago) parent49c2c92
5 files changed+22−8
generate-cabal-file.hs+3−3 release.nix+3−1 src/Cabal2Nix/Generate.hs+7−1 src/Distribution/Nixpkgs/Haskell.hs+3−1 src/hackage2nix.hs+6−2
generate-cabal-file.hs+3−3
@@ -124,6 +124,6 @@ mkDoctest libraryModules =
124124 \import Test.DocTest\n\
125125 \main :: IO ()\n\
126126 \main = do\n\
127− \ doctest " ++ show paths ++ "\n\
128− \ doctest [\"-isrc\", \"src/cabal2nix.hs\"]\n\
129− \ doctest [\"-isrc\", \"src/hackage2nix.hs\"]\n"
127+ \ doctest $ [\"-isrc\", \"-optP-include\", \"-optPdist/build/autogen/cabal_macros.h\"] ++ " ++ show paths ++ "\n\
128+ \ doctest [\"-isrc\", \"-optP-include\", \"-optPdist/build/autogen/cabal_macros.h\", \"src/cabal2nix.hs\"]\n\
129+ \ doctest [\"-isrc\", \"-optP-include\", \"-optPdist/build/autogen/cabal_macros.h\", \"src/hackage2nix.hs\"]\n"
release.nix+3−1
@@ -16,7 +16,9 @@ in
1616 haskellPackages = pkgs.lib.getAttrFromPath ["haskell-ng" "packages" ghcVer] pkgs;
1717 nativeCabal = pkgs.stdenv.lib.versionOlder "7.8" haskellPackages.ghc.version;
1818 Cabal = if nativeCabal then null else haskellPackages.Cabal_1_20_0_3;
19− hackageDb = haskellPackages.hackageDb.override { Cabal = Cabal; };
19+ hackage-db = haskellPackages.hackage-db.override { Cabal = Cabal; };
20+ nativePrettyClass = pkgs.stdenv.lib.versionOlder "7.10" haskellPackages.ghc.version;
21+ prettyclass = if nativePrettyClass then null else haskellPackages.pretty-class;
2022 in
2123 haskellPackages.mkDerivation {
2224 pname = "cabal2nix";
src/Cabal2Nix/Generate.hs+7−1
@@ -1,3 +1,5 @@
1+{-# LANGUAGE CPP #-}
2+
13module Cabal2Nix.Generate ( cabal2nix, cabal2nix' ) where
24
35import Cabal2Nix.Flags
@@ -21,7 +23,11 @@ cabal2nix flags' cabal = drv { cabalFlags = flags }
2123 flags
2224 (const True)
2325 (Platform X86_64 Linux) -- shouldn't be hardcoded
24− (CompilerId GHC (Version [7,8,4] [])) -- dito
26+#if MIN_VERSION_Cabal(1,22,0)
27+ (unknownCompilerInfo (CompilerId GHC (Version [7,8,4] [])) NoAbiTag)
28+#else
29+ (CompilerId GHC (Version [7,8,4] []))
30+#endif
2531 []
2632 cabal
2733
src/Distribution/Nixpkgs/Haskell.hs+3−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE RecordWildCards, DeriveGeneric, StandaloneDeriving #-}
1+{-# LANGUAGE RecordWildCards, DeriveGeneric, StandaloneDeriving, CPP #-}
22{-# OPTIONS_GHC -fno-warn-orphans #-} -- for FlagName below
33
44module Distribution.Nixpkgs.Haskell
@@ -68,7 +68,9 @@ instance Package Derivation where
6868
6969instance NFData Derivation where rnf = genericRnf
7070
71+#if !MIN_VERSION_Cabal(1,22,0)
7172deriving instance Generic FlagName
73+#endif
7274instance NFData FlagName where rnf = genericRnf
7375
7476renderDerivation :: Derivation -> Doc
src/hackage2nix.hs+6−2
@@ -1,4 +1,4 @@
1−{-# LANGUAGE PatternGuards #-}
1+{-# LANGUAGE PatternGuards, CPP #-}
22
33module Main ( main ) where
44
@@ -232,7 +232,11 @@ cabal2nix resolver cabal = (missingDeps, flags, drv)
232232 (configureCabalFlags (package (packageDescription cabal)))
233233 resolver'
234234 (Platform X86_64 Linux) -- shouldn't be hardcoded
235− (CompilerId GHC (Version [7,8,4] [])) -- ditto
235+#if MIN_VERSION_Cabal(1,22,0)
236+ (unknownCompilerInfo (CompilerId GHC (Version [7,8,4] [])) NoAbiTag)
237+#else
238+ (CompilerId GHC (Version [7,8,4] []))
239+#endif
236240 [] -- no additional constraints
237241
238242 -- A variant of the cabal file that has all test suites enabled to ensure