git.iko.soy/typeable/cabal2nix
on master help sign in
Distribution/NixOS/Derivation: configured export lists
a92a7fbPeter Simons
src/Cabal2Nix/Package.hs+1−3
@@ -1,4 +1,4 @@
1−module Cabal2Nix.Package where
1+module Cabal2Nix.Package ( cabal2nix ) where
2
2
3import Data.Maybe
3import Data.Maybe
4import Distribution.Compiler
4import Distribution.Compiler
@@ -8,8 +8,6 @@ import Distribution.PackageDescription.Configuration
8import Distribution.System
8import Distribution.System
9import Distribution.Version
9import Distribution.Version
10import Distribution.NixOS.Derivation.Cabal
10import Distribution.NixOS.Derivation.Cabal
11−import Distribution.NixOS.Derivation.Meta
12−import Distribution.NixOS.Derivation.License
13import Cabal2Nix.Name
11import Cabal2Nix.Name
14import Cabal2Nix.CorePackages
12import Cabal2Nix.CorePackages
15import Data.List
13import Data.List
src/Distribution/NixOS/Derivation/Cabal.hs+7−2
@@ -1,8 +1,13 @@
1−module Distribution.NixOS.Derivation.Cabal where
1+module Distribution.NixOS.Derivation.Cabal
2+ ( Derivation(..)
3+ , parseDerivation
4+ , module Distribution.NixOS.Derivation.Meta
5+ , Version(..), PackageName(..)
6+ )
7+ where
2
8
3import Distribution.NixOS.Derivation.PrettyPrinting
9import Distribution.NixOS.Derivation.PrettyPrinting
4import Distribution.NixOS.Derivation.Meta
10import Distribution.NixOS.Derivation.Meta
5−import Distribution.NixOS.Derivation.License
6import Distribution.Package
11import Distribution.Package
7import Distribution.Text
12import Distribution.Text
8import Data.Version
13import Data.Version
src/Distribution/NixOS/Derivation/License.hs+7−9
@@ -1,13 +1,11 @@
1−module Distribution.NixOS.Derivation.License where
1+module Distribution.NixOS.Derivation.License
2−
2+ ( License(..)
3−-- import qualified Distribution.Package as Cabal
3+ , fromCabalLicense
4−-- import qualified Distribution.PackageDescription as Cabal
4+ )
5−import qualified Distribution.License as Cabal
5+ where
6−-- import Distribution.Package
7−import Data.Version
8−-- import Distribution.PackageDescription
9−-- import Distribution.PackageDescription.Configuration
10
6
7+import qualified Distribution.License as Cabal ( License(..) )
8+import Data.Version ( Version(..) )
11import Distribution.Text
9import Distribution.Text
12import Text.PrettyPrint
10import Text.PrettyPrint
13
11
src/Distribution/NixOS/Derivation/Meta.hs+5−2
@@ -1,9 +1,12 @@
1−module Distribution.NixOS.Derivation.Meta where
1+module Distribution.NixOS.Derivation.Meta
2+ ( Meta(..)
3+ , module Distribution.NixOS.Derivation.License
4+ )
5+ where
2
6
3import Distribution.NixOS.Derivation.PrettyPrinting
7import Distribution.NixOS.Derivation.PrettyPrinting
4import Distribution.NixOS.Derivation.License
8import Distribution.NixOS.Derivation.License
5import Distribution.Text
9import Distribution.Text
6−-- import Data.Version
7import Text.PrettyPrint
10import Text.PrettyPrint
8
11
9data Meta = Meta
12data Meta = Meta
src/Distribution/NixOS/Derivation/PrettyPrinting.hs+9−1
@@ -1,4 +1,12 @@
1−module Distribution.NixOS.Derivation.PrettyPrinting where
1+module Distribution.NixOS.Derivation.PrettyPrinting
2+ ( onlyIf
3+ , listattr
4+ , boolattr
5+ , attr
6+ , string
7+ , funargs
8+ )
9+ where
2
10
3import Text.PrettyPrint
11import Text.PrettyPrint
4
12
src/Hackage4Nix.hs+6−1
@@ -14,7 +14,7 @@ import Control.Monad.State
14import Control.Exception ( bracket )
14import Control.Exception ( bracket )
15import Text.Regex.Posix
15import Text.Regex.Posix
16import Data.Version
16import Data.Version
17−-- import Text.ParserCombinators.ReadP ( readP_to_S, readS_to_P )
17+import Text.ParserCombinators.ReadP ( readP_to_S )
18import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
18import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
19import Distribution.PackageDescription ( GenericPackageDescription() )
19import Distribution.PackageDescription ( GenericPackageDescription() )
20import Distribution.Text
20import Distribution.Text
@@ -81,6 +81,11 @@ regenerateDerivation :: Derivation -> String -> Bool
81regenerateDerivation deriv buf = not (display (pname deriv) `elem` patchedPackages) &&
81regenerateDerivation deriv buf = not (display (pname deriv) `elem` patchedPackages) &&
82 not (buf =~ "preConfigure|configureFlags|postInstall|patchPhase")
82 not (buf =~ "preConfigure|configureFlags|postInstall|patchPhase")
83
83
84+readVersion :: String -> Version
85+readVersion str =
86+ case [ v | (v,[]) <- readP_to_S parseVersion str ] of
87+ [ v' ] -> v'
88+ _ -> error ("invalid version specifier " ++ show str)
84
89
85parseNixFile :: FilePath -> String -> Hackage4Nix (Maybe Pkg)
90parseNixFile :: FilePath -> String -> Hackage4Nix (Maybe Pkg)
86parseNixFile path buf
91parseNixFile path buf