git.iko.soy/typeable/cabal2nix
on master help sign in
Distribution/NixOS/Derivation: configured export lists
commita92a7fb5bf5bcde1b873c5509ca9038a7502dd26 authorPeter Simons <simons@cryp.to> dateSun 14 Aug 2011, 23:25 (15 years ago) parent8d51e97
6 files changed+35−18
src/Cabal2Nix/Package.hs+1−3 src/Distribution/NixOS/Derivation/Cabal.hs+7−2 src/Distribution/NixOS/Derivation/License.hs+7−9 src/Distribution/NixOS/Derivation/Meta.hs+5−2 src/Distribution/NixOS/Derivation/PrettyPrinting.hs+9−1 src/Hackage4Nix.hs+6−1
src/Cabal2Nix/Package.hs+1−3
@@ -1,4 +1,4 @@
1−module Cabal2Nix.Package where
1+module Cabal2Nix.Package ( cabal2nix ) where
22
33import Data.Maybe
44import Distribution.Compiler
@@ -8,8 +8,6 @@ import Distribution.PackageDescription.Configuration
88import Distribution.System
99import Distribution.Version
1010import Distribution.NixOS.Derivation.Cabal
11−import Distribution.NixOS.Derivation.Meta
12−import Distribution.NixOS.Derivation.License
1311import Cabal2Nix.Name
1412import Cabal2Nix.CorePackages
1513import 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
28
39import Distribution.NixOS.Derivation.PrettyPrinting
410import Distribution.NixOS.Derivation.Meta
5−import Distribution.NixOS.Derivation.License
611import Distribution.Package
712import Distribution.Text
813import Data.Version
src/Distribution/NixOS/Derivation/License.hs+7−9
@@ -1,13 +1,11 @@
1−module Distribution.NixOS.Derivation.License where
2−
3−-- import qualified Distribution.Package as Cabal
4−-- import qualified Distribution.PackageDescription as Cabal
5−import qualified Distribution.License as Cabal
6−-- import Distribution.Package
7−import Data.Version
8−-- import Distribution.PackageDescription
9−-- import Distribution.PackageDescription.Configuration
1+module Distribution.NixOS.Derivation.License
2+ ( License(..)
3+ , fromCabalLicense
4+ )
5+ where
106
7+import qualified Distribution.License as Cabal ( License(..) )
8+import Data.Version ( Version(..) )
119import Distribution.Text
1210import Text.PrettyPrint
1311
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
26
37import Distribution.NixOS.Derivation.PrettyPrinting
48import Distribution.NixOS.Derivation.License
59import Distribution.Text
6−-- import Data.Version
710import Text.PrettyPrint
811
912data 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
210
311import Text.PrettyPrint
412
src/Hackage4Nix.hs+6−1
@@ -14,7 +14,7 @@ import Control.Monad.State
1414import Control.Exception ( bracket )
1515import Text.Regex.Posix
1616import Data.Version
17−-- import Text.ParserCombinators.ReadP ( readP_to_S, readS_to_P )
17+import Text.ParserCombinators.ReadP ( readP_to_S )
1818import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
1919import Distribution.PackageDescription ( GenericPackageDescription() )
2020import Distribution.Text
@@ -81,6 +81,11 @@ regenerateDerivation :: Derivation -> String -> Bool
8181regenerateDerivation deriv buf = not (display (pname deriv) `elem` patchedPackages) &&
8282 not (buf =~ "preConfigure|configureFlags|postInstall|patchPhase")
8383
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)
8489
8590parseNixFile :: FilePath -> String -> Hackage4Nix (Maybe Pkg)
8691parseNixFile path buf