git.iko.soy/typeable/cabal2nix
on master help sign in
Language/Nix/Identifier.hs: hide Identifier's constructor
commit05809a433851b3b17be7626ab5a871ef66602c3a authorPeter Simons <simons@cryp.to> dateThu 20 Aug 2015, 15:35 (11 years ago) parentc0131db
3 files changed+12−13
src/Cabal2Nix/Generate.hs+4−4 src/Cabal2Nix/Normalize.hs+5−5 src/Language/Nix/Identifier.hs+3−4
src/Cabal2Nix/Generate.hs+4−4
@@ -80,7 +80,7 @@ cabal2nix' PackageDescription {..} = normalize $ postProcess $
8080
8181convertBuildInfo :: Cabal.BuildInfo -> Nix.BuildInfo
8282convertBuildInfo Cabal.BuildInfo {..} = mempty
83− & haskell .~ Set.fromList [ Identifier y | (Dependency (PackageName y) _) <- targetBuildDepends ]
84− & system .~ Set.fromList [ Identifier y | x <- extraLibs, y <- libNixName x, not (null y) ]
85− & pkgconfig .~ Set.fromList [ Identifier y | Dependency (PackageName x) _ <- pkgconfigDepends, y <- libNixName x, not (null y) ]
86− & tool .~ Set.fromList [ Identifier y | Dependency (PackageName x) _ <- buildTools, y <- buildToolNixName x, not (null y) ]
83+ & haskell .~ Set.fromList [ set ident y undefined | (Dependency (PackageName y) _) <- targetBuildDepends ]
84+ & system .~ Set.fromList [ set ident y undefined | x <- extraLibs, y <- libNixName x, not (null y) ]
85+ & pkgconfig .~ Set.fromList [ set ident y undefined | Dependency (PackageName x) _ <- pkgconfigDepends, y <- libNixName x, not (null y) ]
86+ & tool .~ Set.fromList [ set ident y undefined | Dependency (PackageName x) _ <- buildTools, y <- buildToolNixName x, not (null y) ]
src/Cabal2Nix/Normalize.hs+5−5
@@ -7,7 +7,7 @@ import Data.Function
77import Data.List
88import Data.Set ( Set )
99import qualified Data.Set as Set
10−import Language.Nix.Identifier ( Identifier(..) )
10+import Language.Nix.Identifier ( Identifier, ident )
1111import Distribution.Nixpkgs.Haskell
1212import Distribution.Nixpkgs.Meta
1313import Distribution.Nixpkgs.Util.Regex ( regsubmatch )
@@ -25,9 +25,9 @@ normalize drv = drv
2525
2626normalizeBuildInfo :: PackageName -> BuildInfo -> BuildInfo
2727normalizeBuildInfo (PackageName pname) bi = bi
28− & haskell . contains (Identifier pname) .~ False
29− & tool . contains (Identifier pname) .~ False
30− & tool %~ normalizeNixBuildTools . Set.filter (\(Identifier n) -> n `notElem` coreBuildTools)
28+ & haskell . contains (set ident pname undefined) .~ False
29+ & tool . contains (set ident pname undefined) .~ False
30+ & tool %~ normalizeNixBuildTools . Set.filter (\n -> n^.ident `notElem` coreBuildTools)
3131
3232 {-
3333 {
@@ -68,7 +68,7 @@ normalizeNixBuildTools :: Set Identifier -> Set Identifier
6868normalizeNixBuildTools = Set.fromList . concatMap buildToolNixName' . Set.toList
6969 where
7070 buildToolNixName' :: Identifier -> [Identifier]
71− buildToolNixName' (Identifier n) = [ Identifier n' | n' <- buildToolNixName n ]
71+ buildToolNixName' n = [ set ident n' undefined | n' <- buildToolNixName (n^.ident) ]
7272
7373-- |Strip any kind of path prefix from maintainer names, filter duplicates, and
7474-- sort the resulting list alphabetically.
src/Language/Nix/Identifier.hs+3−4
@@ -1,7 +1,7 @@
11{-# LANGUAGE DeriveGeneric #-}
22{-# LANGUAGE GeneralizedNewtypeDeriving #-}
33
4−module Language.Nix.Identifier ( Identifier(..), ident, quote, needsQuoting ) where
4+module Language.Nix.Identifier ( Identifier, ident, quote, needsQuoting ) where
55
66import Control.DeepSeq.Generics
77import Control.Lens
@@ -23,8 +23,7 @@ import GHC.Generics ( Generic )
2323-- >>> let i = Identifier "foo.bar" in (i, pPrint i)
2424-- (Identifier "foo.bar","foo.bar")
2525--
26−-- The 'Ord' instance for identifiers is respects character case in less-than
27−-- comparisons, etc.
26+-- The 'Ord' instance for identifiers is aware of character case:
2827--
2928-- >>> Identifier "abc" == Identifier "ABC"
3029-- False
@@ -74,7 +73,7 @@ needsQuoting str = not (str =~ grammar)
7473ident :: Lens' Identifier String
7574ident f (Identifier str) = Identifier `fmap` f str
7675
77−-- | Help function that quotes a given identifier string (if necessary).
76+-- | Helper function to quote a given identifier string if necessary.
7877--
7978-- >>> putStrLn (quote "abc")
8079-- abc