Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Known licenses in Nix expressions are represented using the
attributes defined in nixpkgs' lib/licenses.nix
, and
unknown licenses are represented as a literal string.
Documentation
The representation for licenses used in Nix derivations. Known
licenses are Nix expressions — such as lib.licenses.bsd3
—,
so their exact name is not generally known, because the path
to lib
depends on the context defined in the expression.
In Cabal expressions, for example, the BSD3 license would have to be
referred to as self.lib.licenses.bsd3
. Other expressions,
however, use different paths to the licenses
record. Because of that
situation, the library cannot provide an abstract data type that
encompasses all known licenses.
Instead, the License
type just distinguishes references to known
and unknown licenses. The difference between the two is in the way
they are pretty-printed:
>>>
putStrLn (prettyShow (Known "lib.license.gpl2"))
lib.license.gpl2>>>
putStrLn (prettyShow (Unknown (Just "GPL")))
"GPL">>>
putStrLn (prettyShow (Unknown Nothing))
"unknown"
Note that the Pretty
instance definition provides pretty-printing,
but no parsing as of now!
Instances
Eq License Source # | |
Ord License Source # | |
Defined in Distribution.Nixpkgs.License | |
Show License Source # | |
Generic License Source # | |
NFData License Source # | |
Defined in Distribution.Nixpkgs.License | |
Pretty License Source # | |
Defined in Distribution.Nixpkgs.License pPrintPrec :: PrettyLevel -> Rational -> License -> Doc # pPrintList :: PrettyLevel -> [License] -> Doc # | |
type Rep License Source # | |
Defined in Distribution.Nixpkgs.License type Rep License = D1 ('MetaData "License" "Distribution.Nixpkgs.License" "distribution-nixpkgs-1.6.1-FvL0pwZ5JzHEfMjhZAIQVW" 'False) (C1 ('MetaCons "Known" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "Unknown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) |