on master help sign in
Added recursive binding support
commit9714010698addd57353501d95369454899e3cff4 authoriko <ilyakooo0@gmail.com> dateWed 14 Apr 2021, 17:28 (6 years ago) parentf462ff4
179 files changed+3901−54
package.yaml+3 src/Tix/Typechecker.hs+216−54 test/golden/importless/0.14.1.txt+16 test/golden/importless/0.17.1.txt+16 test/golden/importless/0.18.0.txt+25 test/golden/importless/0.20.0.txt+16 test/golden/importless/0.9.txt+31 test/golden/importless/1.4.txt+15 test/golden/importless/1.8.txt+58 test/golden/importless/16.1.2.txt+42 test/golden/importless/2.10.txt+26 test/golden/importless/2.11.txt+26 test/golden/importless/2.12.txt+25 test/golden/importless/2.13.txt+25 test/golden/importless/2.22.txt+24 test/golden/importless/2.26.txt+26 test/golden/importless/2.64.txt+26 test/golden/importless/20160331.txt+30 test/golden/importless/3.0.x.txt+21 test/golden/importless/3.08.0.txt+21 test/golden/importless/3.txt+27 test/golden/importless/4.13a.txt+18 test/golden/importless/4.3.2.txt+36 test/golden/importless/7.6.6.txt+55 test/golden/importless/alexandria.txt+11 test/golden/importless/alternatives-plugin.txt+24 test/golden/importless/array-utils.txt+11 test/golden/importless/asdf-package-system.txt+11 test/golden/importless/asdf-system-connections.txt+11 test/golden/importless/automake-1.11.x.txt+29 test/golden/importless/automake-1.15.x.txt+30 test/golden/importless/automake-1.16.x.txt+29 test/golden/importless/bash-tools-test.txt+9 test/golden/importless/beta.txt+36 test/golden/importless/binary.txt+28 test/golden/importless/bitwig-studio2.txt+12 test/golden/importless/bitwig-studio3.txt+19 test/golden/importless/bloodspilot-client.txt+30 test/golden/importless/bootstrap.txt+29 test/golden/importless/camlp4.txt+22 test/golden/importless/chipz.txt+11 test/golden/importless/cl-aa.txt+11 test/golden/importless/cl-anonfun.txt+11 test/golden/importless/cl-css.txt+11 test/golden/importless/cl-html-parse.txt+11 test/golden/importless/cl-jpeg.txt+11 test/golden/importless/cl-l10n-cldr.txt+11 test/golden/importless/cl-markup.txt+11 test/golden/importless/cl-paths.txt+11 test/golden/importless/cl-unification.txt+11 test/golden/importless/cl-utilities.txt+11 test/golden/importless/clack-socket.txt+11 test/golden/importless/clean-packaging.txt+8 test/golden/importless/clingo.txt+21 test/golden/importless/closer-mop.txt+11 test/golden/importless/cohttp.txt+25 test/golden/importless/command-line-arguments.txt+11 test/golden/importless/compiler.txt+30 test/golden/importless/control.txt+33 test/golden/importless/convert.txt+27 test/golden/importless/cpp-test.txt+14 test/golden/importless/css-lite.txt+11 test/golden/importless/declare.txt+64 test/golden/importless/dev.txt+17 test/golden/importless/dhall-packages.txt+16 test/golden/importless/dictd-db.txt+55 test/golden/importless/dictd-wiktionary.txt+25 test/golden/importless/dictd-wordnet.txt+18 test/golden/importless/dissect.txt+11 test/golden/importless/dmraid.txt+17 test/golden/importless/dust.txt+32 test/golden/importless/eggs.txt+24 test/golden/importless/emulate-app.txt+29 test/golden/importless/engines.txt+19 test/golden/importless/env-locations.txt+19 test/golden/importless/fare-utils.txt+11 test/golden/importless/filters.txt+47 test/golden/importless/fixed-points.txt+18 test/golden/importless/fox-1.6.txt+41 test/golden/importless/fs.txt+17 test/golden/importless/fuseki-binary.txt+27 test/golden/importless/global-vars.txt+11 test/golden/importless/graphql.txt+18 test/golden/importless/graphviz-2.0.txt+34 test/golden/importless/gsl-1_16.txt+25 test/golden/importless/hello-world-container.txt+29 test/golden/importless/http.txt+23 test/golden/importless/impure-deps.txt+51 test/golden/importless/introspect-environment.txt+11 test/golden/importless/iterate.txt+12 test/golden/importless/java-test.txt+21 test/golden/importless/jgrpp.txt+8 test/golden/importless/kmrcl.txt+11 test/golden/importless/lack-component.txt+11 test/golden/importless/ladspah.txt+19 test/golden/importless/libdispatch.txt+12 test/golden/importless/library.txt+28 test/golden/importless/lift.txt+11 test/golden/importless/log.txt+3 test/golden/importless/lxmenu-data.txt+17 test/golden/importless/map-set.txt+11 test/golden/importless/marshal.txt+11 test/golden/importless/md5.txt+11 test/golden/importless/mem.txt+17 test/golden/importless/metabang-bind.txt+11 test/golden/importless/misc-extensions.txt+11 test/golden/importless/mk-string-metrics.txt+11 test/golden/importless/mt19937.txt+11 test/golden/importless/multi.txt+15 test/golden/importless/multipath-tools.txt+26 test/golden/importless/named-readtables.txt+12 test/golden/importless/net_dot_didierverna_dot_asdf-flv.txt+11 test/golden/importless/nixops-autoluks.txt+19 test/golden/importless/opn2bankeditor.txt+14 test/golden/importless/pack.txt+21 test/golden/importless/pam.txt+10 test/golden/importless/parse-declarations-1_dot_0.txt+11 test/golden/importless/parse-number.txt+12 test/golden/importless/parser.txt+26 test/golden/importless/parted.txt+48 test/golden/importless/platforms.txt+203 test/golden/importless/ppx.txt+24 test/golden/importless/primary.txt+13 test/golden/importless/protobuf-test.txt+24 test/golden/importless/prove-asdf.txt+11 test/golden/importless/ptester.txt+11 test/golden/importless/pure.txt+20 test/golden/importless/pyblock.txt+24 test/golden/importless/pykickstart.txt+22 test/golden/importless/pyparted.txt+32 test/golden/importless/remoteshell.txt+5 test/golden/importless/rfc2388.txt+11 test/golden/importless/rt.txt+11 test/golden/importless/s-sysdeps.txt+11 test/golden/importless/s-xml.txt+12 test/golden/importless/sage-env.txt+58 test/golden/importless/salza2.txt+11 test/golden/importless/scripts.txt+21 test/golden/importless/share.txt+23 test/golden/importless/shebang-test.txt+16 test/golden/importless/shiboken.txt+37 test/golden/importless/skeinjar.txt+17 test/golden/importless/skeinrepo.txt+19 test/golden/importless/sockets.txt+18 test/golden/importless/source.txt+5 test/golden/importless/src-for-default.txt+6 test/golden/importless/srcs.txt+3 test/golden/importless/status.txt+32 test/golden/importless/string-case.txt+11 test/golden/importless/stub.txt+16 test/golden/importless/swank.txt+11 test/golden/importless/tlaps.txt+30 test/golden/importless/tool.txt+30 test/golden/importless/tools.txt+56 test/golden/importless/tor-arm.txt+29 test/golden/importless/tptp.txt+24 test/golden/importless/trivial-backtrace.txt+11 test/golden/importless/trivial-cltl2.txt+11 test/golden/importless/trivial-features.txt+11 test/golden/importless/trivial-gray-streams.txt+11 test/golden/importless/trivial-indent.txt+11 test/golden/importless/trivial-macroexpand-all.txt+11 test/golden/importless/trivial-mimes.txt+11 test/golden/importless/trivial-types.txt+11 test/golden/importless/trivial-utf-8.txt+12 test/golden/importless/uffi.txt+11 test/golden/importless/uiop.txt+11 test/golden/importless/ungoogled.txt+20 test/golden/importless/unit-test.txt+11 test/golden/importless/unix-opts.txt+11 test/golden/importless/unix.txt+28 test/golden/importless/viewer.txt+32 test/golden/importless/vom.txt+11 test/golden/importless/vscodeWithConfiguration.txt+13 test/golden/importless/vulkan.txt+36 test/golden/importless/xsubseq.txt+11 test/golden/importless/yacc.txt+11 test/golden/importless/yarn.txt+8 test/golden/importless/zpb-ttf.txt+11
package.yaml+3
@@ -39,6 +39,8 @@ dependencies:
3939 - range-set-list
4040 - generic-data
4141 - generic-lens
42+ - free
43+ - algebraic-graphs
4244
4345library:
4446 source-dirs: src
@@ -100,3 +102,4 @@ default-extensions:
100102 - FlexibleInstances
101103 - DeriveAnyClass
102104 - ConstraintKinds
105+ - DeriveTraversable
src/Tix/Typechecker.hs+216−54
@@ -9,8 +9,12 @@ module Tix.Typechecker
99 )
1010where
1111
12+import qualified Algebra.Graph.AdjacencyMap.Algorithm as AM
13+import qualified Algebra.Graph.Class as G
14+import qualified Algebra.Graph.NonEmpty.AdjacencyMap as AM
1215import Control.Lens hiding (Empty, List, cons, equality, set, set')
1316import Control.Monad
17+import qualified Control.Monad.Free as F
1418import Control.Monad.Freer
1519import Control.Monad.Freer.Fresh
1620import Control.Monad.Freer.Internal (handleRelayS)
@@ -25,6 +29,7 @@ import Data.Foldable
2529import Data.Functor.Contravariant
2630import Data.Group hiding ((~~))
2731import Data.List.NonEmpty (NonEmpty (..))
32+import qualified Data.List.NonEmpty as NE
2833import qualified Data.Map.MultiKey.Strict as MKM
2934import Data.Map.Shifted.Strict (ShiftedMap (..))
3035import qualified Data.Map.Shifted.Strict as SM
@@ -35,7 +40,7 @@ import Data.MonoTraversable
3540import Data.Monoid
3641import qualified Data.RangeSet.Map as RS
3742import Data.Sequence (Seq (..))
38−import Data.Sequences
43+import Data.Sequences hiding (catMaybes)
3944import Data.Set (Set)
4045import qualified Data.Set as S
4146import Data.Text (Text)
@@ -48,6 +53,7 @@ import Nix.Atoms
4853import Nix.Expr
4954import Nix.Pretty
5055import Tix.Types
56+import Prelude as P
5157
5258getType :: NExprLoc -> (Scheme, [(SrcSpan, Errors)], [InferError], [UnifyingError], [PredicateError], A.Object)
5359getType r =
@@ -210,6 +216,7 @@ unifySchemes :: Predicate TypeVariable -> [(Scheme, Scheme)] -> UnifyM Substitut
210216unifySchemes _ [] = pure mempty
211217unifySchemes f ((x, y) : rest) = do
212218 s <- unifyScheme f x y
219+ -- TODO: This should probably be (s <>)
213220 sub s <$> unifySchemes f (sub s rest)
214221
215222unifyScheme :: Predicate TypeVariable -> Scheme -> Scheme -> UnifyM Substitution
@@ -266,7 +273,7 @@ data PredicateError
266273 deriving stock (Eq, Show)
267274
268275data InferError
269− = ConflictingBindingDefinitions NormalizedBinding' NormalizedBinding'
276+ = ConflictingBindingDefinitions (NormalizedBinding' NExprLoc) (NormalizedBinding' NExprLoc)
270277 deriving stock (Show)
271278
272279type UnifyM x = forall r. Members '[Writer UnifyingError] r => Eff r x
@@ -438,6 +445,10 @@ infer (Fix (Compose (Ann src x))) = runReader src $ case x of
438445 defT ~~ resT
439446 return resT
440447 NSet NNonRecursive xs -> NAttrSet <$> inferBinding xs
448+ NSet NRecursive xs -> NAttrSet <$> inferRecBinding xs
449+ NLet bindings body -> do
450+ bindingsT <- inferRecBinding bindings
451+ withBindings bindingsT $ infer body
441452 NHasAttr attrSet path -> do
442453 setT <- infer attrSet
443454 -- this should infer optional type
@@ -460,9 +471,6 @@ infer (Fix (Compose (Ann src x))) = runReader src $ case x of
460471 return (setT, maybe M.empty (`M.singleton` scheme setT) binding <> setBindings)
461472 bodyT <- withBindings varMap $ infer body
462473 return $ paramT :-> bodyT
463− NLet bindings body -> do
464− bindingsT <- inferBinding bindings
465− withBindings bindingsT $ infer body
466474 NIf cond t f -> do
467475 condT <- infer cond
468476 condT ~~ NAtomic Bool
@@ -519,12 +527,11 @@ infer (Fix (Compose (Ann src x))) = runReader src $ case x of
519527 lhst ~~ NAtomic Bool
520528 return $ NAtomic Bool
521529
522−data NormalizedBinding' = NBType !NExprLoc | NBAttrSet !NormalizedBinding
523− deriving stock (Show)
530+type NormalizedBinding' = F.Free (Map VarName)
524531
525−type NormalizedBinding = Map VarName NormalizedBinding'
532+type NormalizedBinding x = Map VarName (NormalizedBinding' x)
526533
527−normalizeBindings :: Member (Writer InferError) eff => [Binding NExprLoc] -> Eff eff NormalizedBinding
534+normalizeBindings :: Member (Writer InferError) eff => [Binding NExprLoc] -> Eff eff (NormalizedBinding NExprLoc)
528535normalizeBindings bindings = case bindings' of
529536 [] -> return M.empty
530537 (x : xs) ->
@@ -532,18 +539,18 @@ normalizeBindings bindings = case bindings' of
532539 -- This is really sub-optimal
533540 foldl (\u -> M.unionWith (\i j -> i >>= \i' -> j >>= mergeBindings i') u . fmap pure) (fmap pure x) xs
534541 where
535− mergeBindings (NBAttrSet lhs) (NBAttrSet rhs) =
536− fmap NBAttrSet . sequence $
542+ mergeBindings (F.Free lhs) (F.Free rhs) =
543+ fmap F.Free . sequence $
537544 -- This is really sub-optimal
538545 M.unionWith (\x y -> x >>= \x' -> y >>= mergeBindings x') (pure <$> lhs) (pure <$> rhs)
539546 mergeBindings x y = do
540547 tell $ ConflictingBindingDefinitions x y
541548 return x
542− fromName :: NonEmpty VarName -> NExprLoc -> NormalizedBinding
543− fromName (n :| ns) x = M.singleton n $ foldr (\u t -> NBAttrSet $ M.singleton u t) (NBType x) ns
549+ fromName :: NonEmpty VarName -> x -> NormalizedBinding x
550+ fromName (n :| ns) x = M.singleton n $ foldr (\u t -> F.Free $ M.singleton u t) (F.Pure x) ns
544551 bindings' =
545552 bindings >>= \case
546− (NamedVar path r src) ->
553+ (NamedVar path r _src) ->
547554 case getPath path of
548555 Nothing -> [] -- TODO: This should be an error (?)
549556 Just name -> pure $ fromName name r
@@ -554,53 +561,188 @@ normalizeBindings bindings = case bindings' of
554561 Just set -> \v -> Fix $ Compose $ Ann (SrcSpan src src) $ NSelect set (pure $ StaticKey v) Nothing
555562 in (\v -> fromName (pure v) (f v)) <$> names
556563
557−inferNormalizedBindings' :: NormalizedBinding' -> InferM' Scheme
558−inferNormalizedBindings' (NBType expr) = inferGeneral expr
559−inferNormalizedBindings' (NBAttrSet m) = scheme . NAttrSet <$> inferNormalizedBindings' `traverse` m
560−
561−inferNormalizedBindings :: NormalizedBinding -> InferM' (Map VarName Scheme)
564+inferNormalizedBindings :: NormalizedBinding NExprLoc -> InferM' (Map VarName Scheme)
562565inferNormalizedBindings = traverse inferNormalizedBindings'
566+ where
567+ inferNormalizedBindings' :: NormalizedBinding' NExprLoc -> InferM' Scheme
568+ inferNormalizedBindings' (F.Pure expr) = inferGeneral expr
569+ inferNormalizedBindings' (F.Free m) = scheme . NAttrSet <$> inferNormalizedBindings' `traverse` m
570+
571+inferNormalizedBindingsRecursive :: NormalizedBinding NExprLoc -> InferM' (Map VarName Scheme)
572+inferNormalizedBindingsRecursive n = do
573+ let components = case AM.topSort . AM.scc $ bindingGraph n of
574+ Left x -> [foldMap AM.vertexSet x]
575+ Right x -> AM.vertexSet <$> P.reverse x
576+ fmap toScheme <$> inferComponents n components
577+ where
578+ toScheme :: NormalizedBinding' Scheme -> Scheme
579+ toScheme (F.Pure t) = t
580+ toScheme (F.Free m) = scheme $ NAttrSet $ fmap toScheme m
581+
582+inferComponents :: NormalizedBinding NExprLoc -> [Set (NonEmpty VarName)] -> InferM' (NormalizedBinding Scheme)
583+inferComponents _ [] = pure M.empty
584+inferComponents n ((S.toList -> paths) : otherComponents) = do
585+ let bindings = catMaybes $ paths <&> \path -> (path,) <$> lookupExpr path n
586+ (types, p, preds, s) <-
587+ traceSubtree (showExpr . bindingsToNExpr $ bindings)
588+ . inferGeneral' (NAttrSet . fmap toScheme)
589+ $ do
590+ tvsExprs <- for bindings (\(a, b) -> (a,b,) . NTypeVariable <$> freshSrc)
591+ let tvsExprs' =
592+ foldl' (M.unionWith mergeBindings) M.empty $
593+ fmap (\(a, b, c) -> normalize a (b, c)) tvsExprs
594+ tvs = toScheme . fmap snd <$> tvsExprs'
595+
596+ -- (type, tv)
597+ tvsTypes <-
598+ withBindings tvs $
599+ tvsExprs' & traverse . traverse . _1 %%~ infer
600+ for_ tvsTypes $ traverse (uncurry (~~))
601+ return $ fmap fst <$> tvsTypes
602+ -- TODO: There should probably be some smarter predicate filtering
603+ schemes <- types & traverse . traverse %%~ (\t -> solveAndClose p $ sub s $ preds :=> t)
604+ fmap (M.unionWith mergeBindings schemes) . withBindings (toScheme' <$> schemes) $
605+ inferComponents n otherComponents
606+ where
607+ bindingToNExpr :: NonEmpty VarName -> NExprLoc -> Binding NExpr
608+ bindingToNExpr name expr = NamedVar (StaticKey <$> name) (stripAnnotation expr) nullPos
609+
610+ bindingsToNExpr :: [(NonEmpty VarName, NExprLoc)] -> NExpr
611+ bindingsToNExpr bs = Fix $ NSet NNonRecursive $ fmap (uncurry bindingToNExpr) bs
612+
613+ normalize :: NonEmpty VarName -> x -> NormalizedBinding x
614+ normalize (NESingle x) t = M.singleton x (F.Pure t)
615+ normalize (x :|| xs) t = M.singleton x (F.Free $ normalize xs t)
616+
617+ mergeBindings :: NormalizedBinding' x -> NormalizedBinding' x -> NormalizedBinding' x
618+ mergeBindings (F.Free lhs) (F.Free rhs) = F.Free $ M.unionWith mergeBindings lhs rhs
619+ -- This should have been taken care of when constructing the structures.
620+ mergeBindings _ _ = error "not possible"
621+
622+ toScheme :: NormalizedBinding' NType -> Scheme
623+ toScheme (F.Pure t) = scheme t
624+ toScheme (F.Free m) = scheme $ NAttrSet $ fmap toScheme m
625+
626+ toScheme' :: NormalizedBinding' Scheme -> Scheme
627+ toScheme' (F.Pure t) = t
628+ toScheme' (F.Free m) = scheme $ NAttrSet $ fmap toScheme' m
629+
630+ -- Returns Just only if it is the tip.
631+ -- This is what we want because non-tip elements are also part of the call graph.
632+ lookupExpr :: NonEmpty VarName -> NormalizedBinding x -> Maybe x
633+ lookupExpr (NESingle x) m =
634+ M.lookup x m >>= \case
635+ F.Pure a -> Just a
636+ F.Free _ -> Nothing
637+ lookupExpr (x :|| xs) m =
638+ M.lookup x m >>= \case
639+ F.Pure _ -> Nothing
640+ F.Free a -> lookupExpr xs a
641+
642+bindingGraph :: forall g. (G.Graph g, G.Vertex g ~ NonEmpty VarName) => NormalizedBinding NExprLoc -> g
643+bindingGraph n = G.overlays . fmap (\(k, v) -> getGraph (pure k) v) . M.toList $ n
644+ where
645+ getGraph :: NonEmpty VarName -> NormalizedBinding' NExprLoc -> g
646+ getGraph p (F.Pure e) = G.star p (P.filter (elemBindingSet n) $ getReferences e)
647+ getGraph p (F.Free m) = G.star p (fmap fst attrs) `G.overlay` G.overlays (fmap (uncurry getGraph) attrs)
648+ where
649+ attrs = (\(k, v) -> (p <> pure k, v)) <$> M.toList m
650+ elemBindingSet :: NormalizedBinding x -> NonEmpty VarName -> Bool
651+ elemBindingSet m = elemBindingSet' m . NE.toList
652+ elemBindingSet' :: NormalizedBinding x -> [VarName] -> Bool
653+ elemBindingSet' _ [] = True
654+ elemBindingSet' m (x : xs) = case M.lookup x m of
655+ Nothing -> False
656+ Just (F.Free next) -> elemBindingSet' next xs
657+ Just (F.Pure _) -> case xs of
658+ [] -> True
659+ _ -> False
660+
661+getReferences :: NExprLoc -> [NonEmpty VarName]
662+getReferences expr@(Fix (Compose (Ann _ x))) = case x of
663+ NConstant _ -> []
664+ NLiteralPath _ -> []
665+ NEnvPath _ -> []
666+ NStr _ -> []
667+ NSym var -> [pure var]
668+ NList xs -> foldMap getReferences xs
669+ NUnary _ a -> getReferences a
670+ NBinary _ a b -> getReferences a <> getReferences b
671+ NSelect {} -> case processSelect expr of
672+ (Nothing, other) -> other
673+ (Just p, other) -> pure p <> other
674+ NSet _ xs -> foldMap getReferences $ xs >>= toList -- This is not strictly correct
675+ NHasAttr a _ -> getReferences a
676+ NAbs _ a -> getReferences a -- This is not strictly correct
677+ NLet a b -> foldMap getReferences (a >>= toList) <> getReferences b -- This is not strictly correct
678+ NIf a b c -> getReferences a <> getReferences b <> getReferences c -- This is not strictly correct
679+ NWith a b -> getReferences a <> getReferences b -- This is not strictly correct
680+ NAssert a b -> getReferences a <> getReferences b
681+ NSynHole _ -> []
682+ where
683+ processSelect :: NExprLoc -> (Maybe (NonEmpty VarName), [NonEmpty VarName])
684+ processSelect u@(Fix (Compose (Ann _ y))) = case y of
685+ NSym var -> (Just $ pure var, [])
686+ NSelect l h m -> fmap
687+ (join (maybeToList (getReferences <$> m)) <>)
688+ $ case getPath h of
689+ Nothing -> (Nothing, getReferences l)
690+ Just p -> case processSelect l of
691+ (Just path, other) -> (Just $ path <> p, other)
692+ (Nothing, other) -> (Nothing, other)
693+ _ -> (Nothing, getReferences u)
563694
564695inferBinding :: [Binding NExprLoc] -> InferM' (Map VarName Scheme)
565696inferBinding = normalizeBindings >=> inferNormalizedBindings
566697
698+inferRecBinding :: [Binding NExprLoc] -> InferM' (Map VarName Scheme)
699+inferRecBinding = normalizeBindings >=> inferNormalizedBindingsRecursive
700+
567701renderPretty :: Pretty x => x -> TL.Text
568702renderPretty = renderLazy . layoutPretty defaultLayoutOptions . pretty
569703
570−showExpr :: Fix NExprLocF -> Text
571−showExpr = TL.toStrict . renderLazy . layoutPretty defaultLayoutOptions . P.group . prettyNix . stripAnnotation
704+showExpr :: NExpr -> Text
705+showExpr = TL.toStrict . renderLazy . layoutPretty defaultLayoutOptions . P.group . prettyNix
572706
573707inferGeneral :: NExprLoc -> InferM Scheme
574−inferGeneral x@(Fix (Compose (Ann src _))) = runReader src $
575− traceSubtree (showExpr x) $ do
576− (((t, subs), cs), range) <-
577− traceSubtree "subexpressions" . registerTypeVariables . runConstraintEnv $ infer x
578− traceSubtree "received" $ do
579− traceValue "type" $ renderPretty t
580− traceValue "substitutions" $ prettySubstitution subs
581− traceValue "constraints" $ fmap renderPretty cs
582− traceValue "range" $ T.pack . show $ range
583− get @(MKM.Map Pred) >>= traceValue "preds" . showPreds
584− s' <- solveWithPriority (Predicate (`RS.member` range)) cs
585− traceValue "substitutions_after_solving" $ prettySubstitution s'
586− let s = subs <> s'
587− returnedS = Substitution . M.filterWithKey (\k _ -> k `RS.notMember` range) . unSubstitution $ s
588− traceSubtree "returned" $ do
589− traceValue "substitutions" $ prettySubstitution returnedS
590− -- Filter for optimization purposes
591− subEnv returnedS
592− preds <- get @(MKM.Map Pred)
593− traceValue "subbed_preds" $ showPreds preds
594− let p = Predicate (`RS.member` range) <> Predicate (`S.notMember` free returnedS)
595− (MKM.toList -> keep, toss) = MKM.partition (getPredicate p) preds
596− -- At this point the only predicates only contain type variables that are only used
597− -- in the expression. This means that all of the generated constraints and
598− -- substitutions can be safely restricted to this expression.
599− retT <- solveAndClose p $ sub s $ keep :=> t
600− traceValue "preds" $ showPreds toss
601− put toss
602− traceValue "type" $ renderPretty retT
603− return retT
708+inferGeneral x@(Fix (Compose (Ann src _))) = runReader src . traceSubtree (showExpr . stripAnnotation $ x) $ do
709+ (t, p, keep, s) <- inferGeneral' id $ infer x
710+ solveAndClose p $ sub s $ keep :=> t
711+
712+inferGeneral' ::
713+ (Members InferEffs r, Pretty y) =>
714+ (x -> y) ->
715+ Eff (SubstituteEnv : Writer Substitution : Writer Constraint : State (Seq Constraint) : r) x ->
716+ Eff r (x, Predicate TypeVariable, [Pred], Substitution)
717+inferGeneral' toPretty f = do
718+ (((x, subs), cs), range) <-
719+ traceSubtree "subexpressions" . registerTypeVariables . runConstraintEnv $ f
720+ traceSubtree "received" $ do
721+ traceValue "type" $ renderPretty $ toPretty x
722+ traceValue "substitutions" $ prettySubstitution subs
723+ traceValue "constraints" $ fmap renderPretty cs
724+ traceValue "range" $ T.pack . show $ range
725+ get @(MKM.Map Pred) >>= traceValue "preds" . showPreds
726+ s' <- solveWithPriority (Predicate (`RS.member` range)) cs
727+ traceValue "substitutions_after_solving" $ prettySubstitution s'
728+ let s = subs <> s'
729+ returnedS = Substitution . M.filterWithKey (\k _ -> k `RS.notMember` range) . unSubstitution $ s
730+ traceSubtree "returned" $ do
731+ traceValue "substitutions" $ prettySubstitution returnedS
732+ -- Filter for optimization purposes
733+ subEnv returnedS
734+ preds <- get @(MKM.Map Pred)
735+ traceValue "subbed_preds" $ showPreds preds
736+ let p = Predicate (`RS.member` range) <> Predicate (`S.notMember` free returnedS)
737+ (keep', toss) = MKM.partition (getPredicate p) preds
738+ keep = MKM.toList keep'
739+ -- At this point the only predicates only contain type variables that are only used
740+ -- in the expression. This means that all of the generated constraints and
741+ -- substitutions can be safely restricted to this expression.
742+ traceValue "preds" $ showPreds toss
743+ traceValue "keep_preds" $ showPreds keep'
744+ put toss
745+ return (x, p, keep, s)
604746 where
605747 showPreds :: MKM.Map Pred -> Map String String
606748 showPreds = M.mapKeys show . fmap show . MKM.toMap
@@ -746,13 +888,33 @@ lookupAttrSet ::
746888 r =>
747889 AttrSetPath ->
748890 Eff r (NType, TypeVariable)
749−lookupAttrSet (p :| []) = do
891+lookupAttrSet (NESingle p) = do
750892 set <- NTypeVariable <$> freshSrc
751893 var <- freshSrc
752894 tell (HasField set (p, scheme . NTypeVariable $ var))
753895 return (set, var)
754−lookupAttrSet (p :| (pp : ps)) = do
896+lookupAttrSet (p :|| ps) = do
755897 set <- NTypeVariable <$> freshSrc
756− (innerSet, var) <- lookupAttrSet (pp :| ps)
898+ (innerSet, var) <- lookupAttrSet ps
757899 tell $ HasField set (p, scheme innerSet)
758900 return (set, var)
901+
902+-- NonEmpty patterns
903+
904+pattern (:||) :: x -> NonEmpty x -> NonEmpty x
905+pattern (:||) x xs <-
906+ ( \case
907+ (a :| (aa : aaa)) -> Just (a, aa :| aaa)
908+ _ -> Nothing ->
909+ Just (x, xs)
910+ )
911+ where
912+ x :|| xs = NE.cons x xs
913+
914+pattern NESingle :: x -> NonEmpty x
915+pattern NESingle x <-
916+ x :| []
917+ where
918+ NESingle x = x :| []
919+
920+{-# COMPLETE (:||), NESingle #-}
test/golden/importless/0.14.1.txtnew file+16
@@ -0,0 +1,16 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ enableParallelBuilding = Bool;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21 = γ) => γ;
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
10+ };
11+ name = String;
12+ src = ζ;
13+ } ->
14+ η
15+) =>
16+{fetchurl = {sha256 = String; url = String;} -> ζ; gmp = ε; stdenv = δ;} -> η
test/golden/importless/0.17.1.txtnew file+16
@@ -0,0 +1,16 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ enableParallelBuilding = Bool;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21 = γ) => γ;
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
10+ };
11+ name = String;
12+ src = ζ;
13+ } ->
14+ η
15+) =>
16+{fetchurl = {sha256 = String; url = String;} -> ζ; gmp = ε; stdenv = δ;} -> η
test/golden/importless/0.18.0.txtnew file+25
@@ -0,0 +1,25 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ configureFlags = [String];
5+ doCheck = Bool;
6+ enableParallelBuilding = Bool;
7+ meta =
8+ { description = String;
9+ homepage = String;
10+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
11+ longDescription = String;
12+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.unix = γ) => γ;
13+ };
14+ name = String;
15+ propagatedBuildInputs = [ζ];
16+ src = η;
17+ } ->
18+ θ
19+) =>
20+{ fetchurl = {sha256 = String; url = String;} -> η;
21+ gmp = ε;
22+ isl = ζ;
23+ stdenv = δ;
24+} ->
25+θ
test/golden/importless/0.20.0.txtnew file+16
@@ -0,0 +1,16 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ enableParallelBuilding = Bool;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21 = γ) => γ;
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
10+ };
11+ name = String;
12+ src = ζ;
13+ } ->
14+ η
15+) =>
16+{fetchurl = {sha256 = String; url = String;} -> ζ; gmp = ε; stdenv = δ;} -> η
test/golden/importless/0.9.txtnew file+31
@@ -0,0 +1,31 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ buildPhase = String;
5+ checkTarget = String;
6+ createFindlibDestdir = Bool;
7+ doCheck = Bool;
8+ dontConfigure = Bool;
9+ meta =
10+ { description = String;
11+ homepage = String;
12+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.mit = γ) => γ;
13+ maintainers =
14+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.roconnor = γ) => [γ];
15+ };
16+ name = String;
17+ patches = [Path];
18+ postPatch = String;
19+ src = ζ;
20+ version = String;
21+ } ->
22+ η
23+) =>
24+{ expat = ε;
25+ fetchurl = {sha256 = String; url = String;} -> ζ;
26+ findlib = ε;
27+ ocaml = ε;
28+ ounit = ε;
29+ stdenv = δ;
30+} ->
31+η
test/golden/importless/1.4.txtnew file+15
@@ -0,0 +1,15 @@
1+∀ δ ε ζ.
2+( δ.mkDerivation =
3+ { installPhase = String;
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.mit = γ) => γ;
8+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
9+ };
10+ name = String;
11+ src = ε;
12+ } ->
13+ ζ
14+) =>
15+{fetchurl = {sha256 = String; url = String;} -> ε; stdenv = δ;} -> ζ
test/golden/importless/1.8.txtnew file+58
@@ -0,0 +1,58 @@
1+∀ ι κ λ μ ν ξ ο.
2+( ι.mkDerivation =
3+ { buildInputs = [κ];
4+ configureFlags =
5+ ∀ δ ε.
6+ ( ι.lib = δ,
7+ δ.optional = Bool -> String -> [String],
8+ ι.hostPlatform = ε,
9+ ι.buildPlatform = ε
10+ ) =>
11+ [String];
12+ depsBuildBuild =
13+ ∀ δ ε ζ η θ.
14+ ( λ.stdenv = δ,
15+ δ.cc = ε,
16+ ι.lib = ζ,
17+ ζ.optional = Bool -> η -> [ε],
18+ ι.hostPlatform = θ,
19+ ι.buildPlatform = θ,
20+ μ.guile_1_8 = η
21+ ) =>
22+ [ε];
23+ doCheck = Bool;
24+ doInstallCheck = Bool;
25+ meta =
26+ { description = String;
27+ homepage = String;
28+ license = ∀ α β γ. (ι.lib = α, α.licenses = β, β.lgpl2Plus = γ) => γ;
29+ longDescription = String;
30+ maintainers =
31+ ∀ α β γ. (ι.lib = α, α.maintainers = β, β.ludo = γ) => [γ];
32+ platforms = ∀ α β γ. (ι.lib = α, α.platforms = β, β.unix = γ) => γ;
33+ };
34+ name = String;
35+ nativeBuildInputs = [ν];
36+ outputs = [String];
37+ patches = [Path];
38+ postInstall = String;
39+ preBuild = String;
40+ propagatedBuildInputs = [κ];
41+ setOutputFlags = Bool;
42+ setupHook = Path;
43+ src = ξ;
44+ } ->
45+ ο
46+) =>
47+{ buildPackages = λ;
48+ fetchurl = {sha256 = String; url = String;} -> ξ;
49+ gawk = ν;
50+ gmp = κ;
51+ libtool = κ;
52+ makeWrapper = ν;
53+ pkgconfig = ν;
54+ pkgsBuildBuild = μ;
55+ readline = κ;
56+ stdenv = ι;
57+} ->
58+ο
test/golden/importless/16.1.2.txtnew file+42
@@ -0,0 +1,42 @@
1+∀ ε ζ η θ ι κ.
2+( ε.lib = ζ,
3+ ε.mkDerivation =
4+ { buildInputs = [η];
5+ configureFlags =
6+ ∀ δ. (ε.lib = δ, δ.optional = Bool -> String -> [String]) => [String];
7+ hardeningDisable = [String];
8+ meta =
9+ { description = String;
10+ license = ∀ α β γ. (ε.lib = α, α.licenses = β, β.mit = γ) => γ;
11+ maintainers =
12+ ∀ α β γ. (ε.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
13+ platforms = ∀ α β γ. (ε.lib = α, α.platforms = β, β.unix = γ) => γ;
14+ version = String;
15+ };
16+ name = String;
17+ patches = [Path];
18+ postInstall = String;
19+ propagatedBuildInputs = [θ];
20+ src = ι;
21+ version = String;
22+ } ->
23+ κ,
24+ ζ.optionals = Bool -> [Null] -> [θ]
25+) =>
26+{ autoconf = η;
27+ automake = η;
28+ boehmgc = Null;
29+ fetchpatch = {name = String; sha256 = String; url = String;} -> Path;
30+ fetchurl = {sha256 = String; url = String;} -> ι;
31+ gcc = θ;
32+ gmp = θ;
33+ libffi = θ;
34+ libtool = η;
35+ makeWrapper = η;
36+ mpfr = θ;
37+ noUnicode = Bool;
38+ stdenv = ε;
39+ threadSupport = Bool;
40+ useBoehmgc = Bool;
41+} ->
42+κ
test/golden/importless/2.10.txtnew file+26
@@ -0,0 +1,26 @@
1+∀ δ ε ζ η θ ι κ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { branch = String;
7+ description = String;
8+ homepage = String;
9+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.bsd3 = γ) => γ;
10+ longDescription = String;
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
12+ };
13+ name = String;
14+ propagatedBuildInputs = [ζ];
15+ src = η;
16+ } ->
17+ θ
18+) =>
19+{ coreutils = ι;
20+ fetchurl = {sha256 = String; url = String;} -> η;
21+ gnugrep = κ;
22+ jre = ζ;
23+ makeWrapper = ε;
24+ stdenv = δ;
25+} ->
26+θ
test/golden/importless/2.11.txtnew file+26
@@ -0,0 +1,26 @@
1+∀ δ ε ζ η θ ι κ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { branch = String;
7+ description = String;
8+ homepage = String;
9+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.bsd3 = γ) => γ;
10+ longDescription = String;
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
12+ };
13+ name = String;
14+ propagatedBuildInputs = [ζ];
15+ src = η;
16+ } ->
17+ θ
18+) =>
19+{ coreutils = ι;
20+ fetchurl = {sha256 = String; url = String;} -> η;
21+ gnugrep = κ;
22+ jre = ζ;
23+ makeWrapper = ε;
24+ stdenv = δ;
25+} ->
26+θ
test/golden/importless/2.12.txtnew file+25
@@ -0,0 +1,25 @@
1+∀ δ ε ζ η θ ι κ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.bsd3 = γ) => γ;
9+ longDescription = String;
10+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
11+ };
12+ name = String;
13+ propagatedBuildInputs = [ζ];
14+ src = η;
15+ } ->
16+ θ
17+) =>
18+{ coreutils = ι;
19+ fetchurl = {sha256 = String; url = String;} -> η;
20+ gnugrep = κ;
21+ jre = ζ;
22+ makeWrapper = ε;
23+ stdenv = δ;
24+} ->
25+θ
test/golden/importless/2.13.txtnew file+25
@@ -0,0 +1,25 @@
1+∀ δ ε ζ η θ ι κ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.bsd3 = γ) => γ;
9+ longDescription = String;
10+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
11+ };
12+ name = String;
13+ propagatedBuildInputs = [ζ];
14+ src = η;
15+ } ->
16+ θ
17+) =>
18+{ coreutils = ι;
19+ fetchurl = {sha256 = String; url = String;} -> η;
20+ gnugrep = κ;
21+ jre = ζ;
22+ makeWrapper = ε;
23+ stdenv = δ;
24+} ->
25+θ
test/golden/importless/2.22.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { badPlatforms = [String];
6+ description = String;
7+ downloadPage = String;
8+ homepage = String;
9+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.zlib = γ) => γ;
10+ maintainers =
11+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
12+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
13+ version = String;
14+ };
15+ name = String;
16+ postBuild = String;
17+ postInstall = String;
18+ preConfigure = String;
19+ src = ζ;
20+ version = String;
21+ } ->
22+ η
23+) =>
24+{fetchurl = {sha256 = String; url = String;} -> ζ; stdenv = δ; unzip = ε;} -> η
test/golden/importless/2.26.txtnew file+26
@@ -0,0 +1,26 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ buildPhase = String;
5+ installPhase = String;
6+ meta =
7+ { description = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.mit = γ) => γ;
9+ maintainers =
10+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
12+ version = String;
13+ };
14+ name = String;
15+ src = ζ;
16+ version = String;
17+ } ->
18+ η
19+) =>
20+{ fetchurl = {sha256 = String; url = String;} -> ζ;
21+ perl = ε;
22+ stdenv = δ;
23+ texLive = ε;
24+ texinfo = ε;
25+} ->
26+η
test/golden/importless/2.64.txtnew file+26
@@ -0,0 +1,26 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ doCheck = Bool;
5+ doInstallCheck = Bool;
6+ dontPatchShebangs = Bool;
7+ enableParallelBuilding = Bool;
8+ meta =
9+ { description = String;
10+ homepage = String;
11+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
12+ longDescription = String;
13+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
14+ };
15+ name = String;
16+ preCheck = String;
17+ src = ζ;
18+ } ->
19+ η
20+) =>
21+{ fetchurl = {sha256 = String; url = String;} -> ζ;
22+ m4 = ε;
23+ perl = ε;
24+ stdenv = δ;
25+} ->
26+η
test/golden/importless/20160331.txtnew file+30
@@ -0,0 +1,30 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21Plus = γ) => γ;
7+ maintainers =
8+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
10+ version = String;
11+ };
12+ nativeBuildInputs = [ζ];
13+ pname = String;
14+ src = η;
15+ version = String;
16+ } ->
17+ θ
18+) =>
19+{ autoconf = ζ;
20+ automake = ζ;
21+ autoreconfHook = ζ;
22+ fetchFromGitHub =
23+ {owner = String; repo = String; rev = String; sha256 = String;} -> η;
24+ gettext = ζ;
25+ gmp = ε;
26+ libtool = ζ;
27+ mpfr = ε;
28+ stdenv = δ;
29+} ->
30+θ
test/golden/importless/3.0.x.txtnew file+21
@@ -0,0 +1,21 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { meta =
4+ { description = String;
5+ homepage = String;
6+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl3Plus = γ) => γ;
7+ longDescription = String;
8+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.unix = γ) => γ;
9+ };
10+ name = String;
11+ nativeBuildInputs = [ε];
12+ patches = [Path];
13+ src = ζ;
14+ } ->
15+ η
16+) =>
17+{ autoreconfHook = ε;
18+ fetchurl = {sha256 = String; url = String;} -> ζ;
19+ stdenv = δ;
20+} ->
21+η
test/golden/importless/3.08.0.txtnew file+21
@@ -0,0 +1,21 @@
1+∀ δ ε ζ.
2+( δ.mkDerivation =
3+ { buildFlags = [String];
4+ builder = Path;
5+ checkTarget = [String];
6+ configureFlags = [String];
7+ configureScript = Path;
8+ dontAddPrefix = String;
9+ meta =
10+ {platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;};
11+ pname = String;
12+ src = ε;
13+ version = String;
14+ } ->
15+ ζ
16+) =>
17+{ fetchurl = {sha256 = String; url = String;} -> ε;
18+ stdenv = δ;
19+ xlibsWrapper = String;
20+} ->
21+ζ
test/golden/importless/3.txtnew file+27
@@ -0,0 +1,27 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.cecill-b = γ) => γ;
7+ maintainers =
8+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
10+ version = String;
11+ };
12+ nativeBuildInputs = [ζ];
13+ pname = String;
14+ src = η;
15+ version = String;
16+ } ->
17+ θ
18+) =>
19+{ autoconf = ε;
20+ automake = ε;
21+ autoreconfHook = ζ;
22+ fetchurl = {sha256 = String; url = String;} -> η;
23+ gmpxx = ε;
24+ libtool = ε;
25+ stdenv = δ;
26+} ->
27+θ
test/golden/importless/4.13a.txtnew file+18
@@ -0,0 +1,18 @@
1+∀ γ δ ε ζ η θ.
2+( γ.mkDerivation =
3+ { buildInputs = [δ];
4+ meta = ∀ α β. ((α) // ({branch = String;}) ~ (β), ε.meta = α) => β;
5+ nativeBuildInputs = [ζ];
6+ pname = String;
7+ src = η;
8+ version = String;
9+ } ->
10+ θ
11+) =>
12+{ fetchurl = {sha256 = String; url = String;} -> η;
13+ lzma = ζ;
14+ ncurses = δ;
15+ stdenv = γ;
16+ texinfo = ε;
17+} ->
18+θ
test/golden/importless/4.3.2.txtnew file+36
@@ -0,0 +1,36 @@
1+∀ α β γ δ ε ζ η θ ι κ λ.
2+( α.mkDerivation =
3+ { configureFlags =
4+ ( α.lib = β,
5+ β.enableFeature = Bool -> String -> γ,
6+ α.lib = δ,
7+ δ.optionals = ε -> [String] -> [γ],
8+ α.isDarwin = ε
9+ ) =>
10+ [γ];
11+ doCheck = Bool;
12+ meta =
13+ { badPlatforms = [String];
14+ branch = String;
15+ description = String;
16+ homepage = String;
17+ license = (α.lib = ζ, ζ.licenses = η, η.lgpl3Plus = θ) => θ;
18+ longDescription = String;
19+ maintainers = ζ;
20+ platforms = (α.lib = ζ, ζ.platforms = η, η.all = θ) => θ;
21+ };
22+ name = String;
23+ nativeBuildInputs = [ι];
24+ outputs = [String];
25+ passthru = {static = (κ.out = ζ) => ζ;};
26+ preConfigure = (α.isDarwin = Bool) => String;
27+ src = λ;
28+ } ->
29+ κ
30+) =>
31+{ cxx = Bool;
32+ fetchurl = {sha256 = String; url = String;} -> λ;
33+ m4 = ι;
34+ stdenv = α;
35+} ->
36+κ
test/golden/importless/7.6.6.txtnew file+55
@@ -0,0 +1,55 @@
1+∀ η θ ι κ λ μ ν.
2+( η.mkDerivation =
3+ { buildInputs = [θ];
4+ configureFlags =
5+ ∀ δ.
6+ ( ι.optional = Bool -> String -> [String],
7+ ι.optional = Bool -> String -> [String],
8+ η.hostPlatform = δ,
9+ δ.libc = String
10+ ) =>
11+ [String];
12+ doCheck = Bool;
13+ dontStrip = ∀ δ. (η.hostPlatform = δ, η.buildPlatform = δ) => Bool;
14+ enableParallelBuilding = Bool;
15+ meta =
16+ { description = String;
17+ homepage = String;
18+ license = String;
19+ longDescription = String;
20+ maintainers = ∀ α. α;
21+ platforms = ∀ α β γ. (η.lib = α, α.platforms = β, β.all = γ) => γ;
22+ };
23+ nativeBuildInputs = [κ];
24+ outputs = [String];
25+ patches =
26+ ∀ δ ε.
27+ ( ι.optional = δ -> Path -> [λ],
28+ η.hostPlatform = ε,
29+ ε.isRiscV = δ
30+ ) =>
31+ [λ];
32+ pname = String;
33+ preConfigure =
34+ ∀ δ ε ζ.
35+ ( η.lib = δ,
36+ δ.optionalString = Bool -> String -> ε,
37+ η.hostPlatform = ζ,
38+ ζ.libc = String
39+ ) =>
40+ ε;
41+ separateDebugInfo = ∀ δ. (η.isLinux = δ) => δ;
42+ src = μ;
43+ version = String;
44+ } ->
45+ ν
46+) =>
47+{ enableLargeConfig = Bool;
48+ fetchpatch = {sha256 = String; url = String;} -> λ;
49+ fetchurl = {sha256 = String; urls = [String];} -> μ;
50+ lib = ι;
51+ libatomic_ops = θ;
52+ pkgconfig = κ;
53+ stdenv = η;
54+} ->
55+ν
test/golden/importless/alexandria.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/alternatives-plugin.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ δ ε ζ η θ.
2+( δ.buildPythonApplication =
3+ { checkPhase = String;
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (ε.lib = α, α.licenses = β, β.mit = γ) => γ;
8+ maintainers =
9+ ∀ α β γ. (ε.lib = α, α.maintainers = β, β.aszlig = γ) => [γ];
10+ };
11+ nativeBuildInputs = (δ.nose = ζ) => [ζ];
12+ pname = String;
13+ src = η;
14+ version = String;
15+ } ->
16+ θ
17+) =>
18+{ beets = ζ;
19+ fetchFromGitHub =
20+ {owner = String; repo = String; rev = String; sha256 = String;} -> η;
21+ pythonPackages = δ;
22+ stdenv = ε;
23+} ->
24+θ
test/golden/importless/array-utils.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/asdf-package-system.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/asdf-system-connections.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/automake-1.11.x.txtnew file+29
@@ -0,0 +1,29 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ builder = Path;
5+ doCheck = Bool;
6+ dontPatchShebangs = Bool;
7+ enableParallelBuilding = Bool;
8+ meta =
9+ { branch = String;
10+ description = String;
11+ homepage = String;
12+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
13+ longDescription = String;
14+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
15+ };
16+ name = String;
17+ patches = [Path];
18+ preCheck = String;
19+ setupHook = Path;
20+ src = ζ;
21+ } ->
22+ η
23+) =>
24+{ autoconf = ε;
25+ fetchurl = {sha256 = String; url = String;} -> ζ;
26+ perl = ε;
27+ stdenv = δ;
28+} ->
29+η
test/golden/importless/automake-1.15.x.txtnew file+30
@@ -0,0 +1,30 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ doCheck = Bool;
5+ doInstallCheck = Bool;
6+ dontPatchShebangs = Bool;
7+ enableParallelBuilding = Bool;
8+ meta =
9+ { branch = String;
10+ description = String;
11+ homepage = String;
12+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
13+ longDescription = String;
14+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
15+ };
16+ name = String;
17+ nativeBuildInputs = [ε];
18+ patches = [Path];
19+ preCheck = String;
20+ setupHook = Path;
21+ src = ζ;
22+ } ->
23+ η
24+) =>
25+{ autoconf = ε;
26+ fetchurl = {sha256 = String; url = String;} -> ζ;
27+ perl = ε;
28+ stdenv = δ;
29+} ->
30+η
test/golden/importless/automake-1.16.x.txtnew file+29
@@ -0,0 +1,29 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ doCheck = Bool;
5+ doInstallCheck = Bool;
6+ dontPatchShebangs = Bool;
7+ enableParallelBuilding = Bool;
8+ meta =
9+ { branch = String;
10+ description = String;
11+ homepage = String;
12+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
13+ longDescription = String;
14+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
15+ };
16+ name = String;
17+ nativeBuildInputs = [ε];
18+ preCheck = String;
19+ setupHook = Path;
20+ src = ζ;
21+ } ->
22+ η
23+) =>
24+{ autoconf = ε;
25+ fetchurl = {sha256 = String; url = String;} -> ζ;
26+ perl = ε;
27+ stdenv = δ;
28+} ->
29+η
test/golden/importless/bash-tools-test.txtnew file+9
@@ -0,0 +1,9 @@
1+∀ α β γ δ ε.
2+{ bazel = α;
3+ bazelTest =
4+ {bazelPkg = α; bazelScript = String; name = String; workspaceDir = β;} -> γ;
5+ distDir = δ;
6+ runLocal = String -> {} -> String -> β;
7+ writeText = String -> String -> ε;
8+} ->
9+γ
test/golden/importless/beta.txtnew file+36
@@ -0,0 +1,36 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { NIX_LDFLAGS = String;
4+ buildInputs = [ε];
5+ makeFlags = [String];
6+ meta =
7+ { description = String;
8+ downloadPage = String;
9+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2 = γ) => γ;
10+ maintainers =
11+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
12+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
13+ version = String;
14+ };
15+ nativeBuildInputs = [ζ];
16+ pname = String;
17+ preConfigure = String;
18+ setSourceRoot = String;
19+ src = η;
20+ version = String;
21+ } ->
22+ θ
23+) =>
24+{ autoconf = ζ;
25+ automake = ζ;
26+ fetchgit = {rev = String; sha256 = String; url = String;} -> η;
27+ libGL = ε;
28+ libGLU = ε;
29+ libX11 = ε;
30+ perl = ε;
31+ python2 = ε;
32+ stdenv = δ;
33+ wxGTK = ε;
34+ zlib = ε;
35+} ->
36+θ
test/golden/importless/binary.txtnew file+28
@@ -0,0 +1,28 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ downloadPage = String;
8+ downloadURLRegexp = String;
9+ homepage = String;
10+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.asl20 = γ) => γ;
11+ maintainers =
12+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
13+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
14+ updateWalker = Bool;
15+ version = String;
16+ };
17+ name = String;
18+ src = ζ;
19+ version = String;
20+ } ->
21+ η
22+) =>
23+{ fetchurl = {sha256 = String; url = String;} -> ζ;
24+ java = θ;
25+ makeWrapper = ε;
26+ stdenv = δ;
27+} ->
28+η
test/golden/importless/bitwig-studio2.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ α β γ δ ε.
2+( α.overrideAttrs =
3+ ( β ->
4+ {name = String; runtimeDependencies = [γ]; src = δ; version = String;}
5+ ) ->
6+ ε
7+) =>
8+{ bitwig-studio1 = α;
9+ fetchurl = {sha256 = String; url = String;} -> δ;
10+ pulseaudio = γ;
11+} ->
12+ε
test/golden/importless/bitwig-studio3.txtnew file+19
@@ -0,0 +1,19 @@
1+∀ β γ δ ε ζ η.
2+( β.overrideAttrs =
3+ ( γ ->
4+ { buildInputs = ∀ α. (γ.buildInputs = [α], δ.libXtst = α) => [α];
5+ installPhase = String;
6+ name = String;
7+ runtimeDependencies = [ε];
8+ src = ζ;
9+ version = String;
10+ }
11+ ) ->
12+ η
13+) =>
14+{ bitwig-studio1 = β;
15+ fetchurl = {sha256 = String; url = String;} -> ζ;
16+ pulseaudio = ε;
17+ xorg = δ;
18+} ->
19+η
test/golden/importless/bloodspilot-client.txtnew file+30
@@ -0,0 +1,30 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { NIX_LDFLAGS = String;
4+ buildInputs = [ε];
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
9+ maintainers =
10+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
12+ };
13+ pname = String;
14+ src = ζ;
15+ version = String;
16+ } ->
17+ η
18+) =>
19+{ SDL = ε;
20+ SDL_image = ε;
21+ SDL_ttf = ε;
22+ expat = ε;
23+ fetchurl = {sha256 = String; url = String;} -> ζ;
24+ libGL = ε;
25+ libGLU = ε;
26+ libX11 = ε;
27+ stdenv = δ;
28+ zlib = ε;
29+} ->
30+η
test/golden/importless/bootstrap.txtnew file+29
@@ -0,0 +1,29 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ buildPhase = String;
5+ installPhase = String;
6+ meta =
7+ { description = String;
8+ homepage = String;
9+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.free = γ) => γ;
10+ maintainers =
11+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.jwiegley = γ) => [γ];
12+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.darwin = γ) => γ;
13+ };
14+ pname = String;
15+ postInstall = String;
16+ src = ζ;
17+ unpackPhase = String;
18+ version = String;
19+ } ->
20+ η
21+) =>
22+{ cpio = ε;
23+ fetchurl = {sha256 = String; url = String;} -> ζ;
24+ makeWrapper = ε;
25+ rsync = ε;
26+ stdenv = δ;
27+ xar = θ;
28+} ->
29+η
test/golden/importless/camlp4.txtnew file+22
@@ -0,0 +1,22 @@
1+∀ γ δ ε ζ.
2+{ buildDunePackage =
3+ { meta =
4+ { description = String;
5+ homepage = ∀ α β. (γ.meta = α, α.homepage = β) => β;
6+ license = ∀ α β. (δ.licenses = α, α.lgpl21 = β) => β;
7+ maintainers = ∀ α β. (δ.maintainers = α, α.vbgl = β) => [β];
8+ };
9+ minimumOCamlVersion = String;
10+ pname = String;
11+ preBuild = String;
12+ propagatedBuildInputs = [ε];
13+ src = γ;
14+ version = String;
15+ } ->
16+ ζ;
17+ camlp4 = ε;
18+ fetchFromGitHub =
19+ {owner = String; repo = String; rev = String; sha256 = String;} -> γ;
20+ lib = δ;
21+} ->
22+ζ
test/golden/importless/chipz.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-aa.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-anonfun.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-css.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-html-parse.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-jpeg.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-l10n-cldr.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-markup.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-paths.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-unification.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cl-utilities.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/clack-socket.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/clean-packaging.txtnew file+8
@@ -0,0 +1,8 @@
1+∀ γ δ ε ζ η.
2+(γ.lib = δ, γ.lib = ε) => { file = ζ;
3+ stdenv = γ;
4+ writeScript = String -> String -> η;
5+} ->
6+{ checkForRemainingFiles = η;
7+ commonFileActions = ∀ α β. {docFiles = α; noiseFiles = β;} -> η;
8+}
test/golden/importless/clingo.txtnew file+21
@@ -0,0 +1,21 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { cmakeFlags = [String];
4+ meta =
5+ { description = String;
6+ downloadPage = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.mit = γ) => γ;
9+ maintainers =
10+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.unix = γ) => γ;
12+ version = String;
13+ };
14+ nativeBuildInputs = [ε];
15+ pname = String;
16+ src = ζ;
17+ version = String;
18+ } ->
19+ η
20+) =>
21+{cmake = ε; fetchzip = {sha256 = String; url = String;} -> ζ; stdenv = δ;} -> η
test/golden/importless/closer-mop.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/cohttp.txtnew file+25
@@ -0,0 +1,25 @@
1+∀ γ δ ε ζ η.
2+{ alcotest = γ;
3+ astring = δ;
4+ buildDunePackage =
5+ { checkInputs = ∀ α. (ε.optionals = Bool -> [γ] -> α) => α;
6+ doCheck = Bool;
7+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), δ.meta = α) => β;
8+ nativeBuildInputs = [ζ];
9+ pname = String;
10+ propagatedBuildInputs = [δ];
11+ src = ∀ α. (δ.src = α) => α;
12+ useDune2 = Bool;
13+ version = ∀ α. (δ.version = α) => α;
14+ } ->
15+ η;
16+ cohttp = δ;
17+ cohttp-lwt-unix = γ;
18+ digestif = δ;
19+ graphql = δ;
20+ graphql-lwt = γ;
21+ lib = ε;
22+ ocaml-crunch = ζ;
23+ ocplib-endian = δ;
24+} ->
25+η
test/golden/importless/command-line-arguments.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/compiler.txtnew file+30
@@ -0,0 +1,30 @@
1+∀ δ ε ζ η θ ι.
2+{ buildDunePackage =
3+ { buildInputs = [δ];
4+ configurePlatforms = ∀ γ. γ;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β. (ε.licenses = α, α.gpl2 = β) => β;
9+ maintainers = ∀ α β. (ε.maintainers = α, α.vbgl = β) => [β];
10+ };
11+ nativeBuildInputs = [ζ];
12+ pname = String;
13+ propagatedBuildInputs = [η];
14+ src = θ;
15+ useDune2 = Bool;
16+ version = String;
17+ } ->
18+ ι;
19+ cmdliner = δ;
20+ cppo = ζ;
21+ dune_2 = ζ;
22+ fetchurl = {sha256 = String; url = String;} -> θ;
23+ findlib = ζ;
24+ lib = ε;
25+ menhir = ζ;
26+ ocaml = ζ;
27+ ocaml-migrate-parsetree = η;
28+ yojson = η;
29+} ->
30+ι
test/golden/importless/control.txtnew file+33
@@ -0,0 +1,33 @@
1+∀ ζ η θ ι κ λ μ ν ξ ο.
2+( ζ.withPackages = (η -> [θ]) -> ι,
3+ κ.mkDerivation =
4+ { buildInputs =
5+ ∀ δ ε. (δ.pycairo = ε, δ.pygobject2 = ε, δ.pygtk = ε) => [λ];
6+ doBuild = Bool;
7+ installPhase = String;
8+ meta =
9+ { description = String;
10+ homepage = String;
11+ license = ∀ α β γ. (κ.lib = α, α.licenses = β, β.unfree = γ) => γ;
12+ maintainers =
13+ ∀ α β γ. (κ.lib = α, α.maintainers = β, β.zimbatm = γ) => [γ];
14+ platforms = [String];
15+ };
16+ nativeBuildInputs = [μ];
17+ pname = String;
18+ postFixup = String;
19+ src = ν;
20+ unpackPhase = String;
21+ version = ∀ δ. δ;
22+ } ->
23+ ξ
24+) =>
25+{ autoPatchelfHook = ο;
26+ dpkg = μ;
27+ fahviewer = λ;
28+ fetchurl = {sha256 = String; url = String;} -> ν;
29+ makeWrapper = μ;
30+ python2 = ζ;
31+ stdenv = κ;
32+} ->
33+ξ
test/golden/importless/convert.txtnew file+27
@@ -0,0 +1,27 @@
1+∀ γ δ ε ζ η θ ι.
2+( γ.mkDerivation =
3+ { dontBuild = Bool;
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ longDescription = String;
9+ maintainers = ∀ α β. (δ.maintainers = α, α.Profpatsch = β) => [β];
10+ };
11+ passthru = {scriptName = String;};
12+ patches = [Path];
13+ pname = String;
14+ postPatch = String;
15+ src = ε;
16+ version = String;
17+ } ->
18+ ζ
19+) =>
20+{ fetchgit = {rev = String; sha256 = String; url = String;} -> ε;
21+ lib = δ;
22+ libnotify = η;
23+ mkvtoolnix-cli = θ;
24+ stdenv = γ;
25+ yad = ι;
26+} ->
27+ζ
test/golden/importless/cpp-test.txtnew file+14
@@ -0,0 +1,14 @@
1+∀ α β γ δ ε ζ η θ ι κ λ.
2+(α.isDarwin = β, γ.optionalString = β -> String -> String) => { bazel = δ;
3+ bazel-examples = ε;
4+ bazelTest =
5+ {bazelPkg = δ; bazelScript = String; name = String; workspaceDir = ζ;} -> η;
6+ distDir = θ;
7+ gccStdenv = α;
8+ lib = γ;
9+ runLocal = String -> {} -> String -> ζ;
10+ runtimeShell = ι;
11+ writeScript = String -> String -> κ;
12+ writeText = λ;
13+} ->
14+η
test/golden/importless/css-lite.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/declare.txtnew file+64
@@ -0,0 +1,64 @@
1+{ configA =
2+ ∀ ι κ λ μ.
3+ ι ->
4+ κ ->
5+ { optionA =
6+ ∀ η θ.
7+ ( ι.lib = η,
8+ η.mkOption =
9+ { default = Bool;
10+ merge = ∀ ε ζ. (ι.lib = ε, ε.mergeEnableOption = ζ) => ζ;
11+ } ->
12+ θ
13+ ) =>
14+ θ;
15+ optionB = ∀ η. (κ.optionA = η) => η;
16+ require =
17+ λ ->
18+ μ ->
19+ { optionB =
20+ ∀ ε ζ. (λ.lib = ε, ε.mkOption = {default = Bool;} -> ζ) => ζ;
21+ require = [{optionA = Bool; optionD = Bool;}];
22+ };
23+ };
24+ configB =
25+ ∀ ι κ.
26+ ι ->
27+ κ ->
28+ { optionB = ∀ η θ. (ι.lib = η, η.mkOption = {default = Bool;} -> θ) => θ;
29+ require = [{optionA = Bool; optionD = Bool;}];
30+ };
31+ configC =
32+ ∀ ι κ λ μ ν ξ.
33+ ι ->
34+ κ ->
35+ { optionA = ∀ η. (κ.optionC = η) => η;
36+ optionC = ∀ η θ. (ι.lib = η, η.mkOption = {default = Bool;} -> θ) => θ;
37+ require =
38+ [ ( λ ->
39+ μ ->
40+ { optionA =
41+ ∀ γ δ.
42+ ( λ.lib = γ,
43+ γ.mkOption =
44+ { default = Bool;
45+ merge = ∀ α β. (λ.lib = α, α.mergeEnableOption = β) => β;
46+ } ->
47+ δ
48+ ) =>
49+ δ;
50+ optionB = ∀ γ. (μ.optionA = γ) => γ;
51+ require =
52+ ν ->
53+ ξ ->
54+ { optionB =
55+ ∀ α β.
56+ (ν.lib = α, α.mkOption = {default = Bool;} -> β) => β;
57+ require = [{optionA = Bool; optionD = Bool;}];
58+ };
59+ }
60+ )
61+ ];
62+ };
63+ configD = {optionA = Bool; optionD = Bool;};
64+}
test/golden/importless/dev.txtnew file+17
@@ -0,0 +1,17 @@
1+∀ α β γ δ ε ζ η θ.
2+( α.override = {ruby = β;} -> γ,
3+ α.override = {ruby = β;} -> δ,
4+ ε.override = {bundler = ζ;} -> η
5+) =>
6+{ buildEnv =
7+ { ignoreCollisions = Bool;
8+ name = String;
9+ paths = [β];
10+ pathsToLink = [String];
11+ } ->
12+ θ;
13+ bundix = ε;
14+ bundler = α;
15+ ruby = β;
16+} ->
17+θ
test/golden/importless/dhall-packages.txtnew file+16
@@ -0,0 +1,16 @@
1+∀ α β γ δ ε ζ η θ ι.
2+( α.fix' = β -> γ,
3+ α.extends =
4+ (δ -> ε -> {}) ->
5+ ( ζ ->
6+ { Prelude = η;
7+ buildDhallDirectoryPackage = θ;
8+ buildDhallGitHubPackage = θ;
9+ buildDhallPackage = θ;
10+ dhall-kubernetes = η;
11+ dhall-packages = η;
12+ }
13+ ) ->
14+ β
15+) =>
16+{lib = α; newScope = ζ -> ι; overrides = δ -> ε -> {};} -> γ
test/golden/importless/dictd-db.txtnew file+55
@@ -0,0 +1,55 @@
1+∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ.
2+( β.mkDerivation =
3+ { buildPhase = String;
4+ dbName = γ;
5+ installPhase = String;
6+ locale = δ;
7+ meta =
8+ { description = String;
9+ platforms = (β.lib = ε, ε.platforms = ζ, ζ.linux = η) => η;
10+ };
11+ name = String;
12+ src = θ;
13+ unpackPhase = String;
14+ } ->
15+ ι,
16+ β.mkDerivation =
17+ { buildPhase = String;
18+ dbName = κ;
19+ installPhase = String;
20+ locale = λ;
21+ meta =
22+ { description = String;
23+ platforms = (β.lib = μ, μ.platforms = ν, ν.linux = ξ) => ξ;
24+ };
25+ name = String;
26+ src = ο;
27+ unpackPhase = String;
28+ } ->
29+ π
30+) =>
31+{ callPackage = Path -> {} -> ρ;
32+ fetchurl = {sha256 = String; url = String;} -> σ;
33+ stdenv = β;
34+} ->
35+{ deu2eng = ∀ α. α;
36+ eng2deu = ∀ α. α;
37+ eng2fra = ∀ α. α;
38+ eng2nld = ∀ α. α;
39+ eng2rus = ∀ α. α;
40+ fra2eng = ∀ α. α;
41+ mueller_eng2rus_pkg = ∀ α. α;
42+ mueller_enru_abbr =
43+ {dbName = String; locale = String; name = String; outPath = String;};
44+ mueller_enru_base =
45+ {dbName = String; locale = String; name = String; outPath = String;};
46+ mueller_enru_dict =
47+ {dbName = String; locale = String; name = String; outPath = String;};
48+ mueller_enru_geo =
49+ {dbName = String; locale = String; name = String; outPath = String;};
50+ mueller_enru_names =
51+ {dbName = String; locale = String; name = String; outPath = String;};
52+ nld2eng = ∀ α. α;
53+ wiktionary = ρ;
54+ wordnet = ρ;
55+}
test/golden/importless/dictd-wiktionary.txtnew file+25
@@ -0,0 +1,25 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ builder = ζ;
5+ convert = Path;
6+ data = η;
7+ meta =
8+ { description = String;
9+ homepage = String;
10+ maintainers = ∀ α. α;
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
12+ };
13+ pname = String;
14+ version = String;
15+ } ->
16+ θ
17+) =>
18+{ dict = ε;
19+ fetchurl = {sha256 = String; url = String;} -> η;
20+ glibcLocales = ε;
21+ python = ε;
22+ stdenv = δ;
23+ writeScript = String -> String -> ζ;
24+} ->
25+θ
test/golden/importless/dictd-wordnet.txtnew file+18
@@ -0,0 +1,18 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ builder = ζ;
5+ convert = Path;
6+ meta =
7+ { description = String;
8+ homepage = String;
9+ longDescription = String;
10+ maintainers = ∀ α. α;
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
12+ };
13+ pname = String;
14+ version = String;
15+ } ->
16+ η
17+) =>
18+{python = ε; stdenv = δ; wordnet = ε; writeScript = String -> String -> ζ;} -> η
test/golden/importless/dissect.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/dmraid.txtnew file+17
@@ -0,0 +1,17 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ longDescription = String;
7+ maintainers =
8+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
10+ };
11+ name = String;
12+ preConfigure = String;
13+ src = ζ;
14+ } ->
15+ η
16+) =>
17+{fetchurl = {sha256 = String; url = String;} -> ζ; lvm2 = ε; stdenv = δ;} -> η
test/golden/importless/dust.txtnew file+32
@@ -0,0 +1,32 @@
1+∀ ζ η θ ι.
2+( ζ.mkDerivation =
3+ { buildInputs = [η];
4+ configurePhase = String;
5+ installPhase = String;
6+ meta =
7+ { description = String;
8+ homepage = ∀ α β. (θ.meta = α, α.homepage = β) => β;
9+ license = ∀ α β γ. (ζ.lib = α, α.licenses = β, β.lgpl3 = γ) => γ;
10+ platforms =
11+ ∀ α β γ δ ε.
12+ ( ζ.lib = α,
13+ α.platforms = β,
14+ β.linux = [γ],
15+ ζ.lib = δ,
16+ δ.platforms = ε,
17+ ε.darwin = [γ]
18+ ) =>
19+ [γ];
20+ };
21+ name = String;
22+ patches = [Path];
23+ src = θ;
24+ } ->
25+ ι
26+) =>
27+{ fetchFromGitHub =
28+ {owner = String; repo = String; rev = String; sha256 = String;} -> θ;
29+ pixie = η;
30+ stdenv = ζ;
31+} ->
32+ι
test/golden/importless/eggs.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ β γ δ ε ζ η θ ι κ λ μ ν ξ ο.
2+( β.eggDerivation = γ,
3+ β.eggDerivation = δ,
4+ β.eggDerivation = ε,
5+ β.eggDerivation = ζ,
6+ β.eggDerivation = η,
7+ β.eggDerivation = θ,
8+ β.fetchegg = ι,
9+ β.fetchegg = κ,
10+ β.fetchegg = λ,
11+ β.fetchegg = μ,
12+ β.fetchegg = ν,
13+ β.fetchegg = ξ
14+) =>
15+{pkgs = β; stdenv = ο;} ->
16+{ args = ∀ α. α;
17+ eggDerivation = ∀ α. (β.eggDerivation = α) => α;
18+ fetchegg = ∀ α. (β.fetchegg = α) => α;
19+ matchable = ∀ α. α;
20+ srfi-1 = ∀ α. α;
21+ srfi-13 = ∀ α. α;
22+ srfi-14 = ∀ α. α;
23+ srfi-37 = ∀ α. α;
24+}
test/golden/importless/emulate-app.txtnew file+29
@@ -0,0 +1,29 @@
1+∀ α β γ δ ε ζ η.
2+( α.mkDerivation = {buildCommand = String; name = β;} -> γ
3+) =>
4+{ composeAndroidPackages =
5+ { abiVersions = [String];
6+ includeEmulator = Bool;
7+ includeSystemImages = Bool;
8+ platformVersions = [String];
9+ systemImageTypes = [String];
10+ toolsVersion = String;
11+ } ->
12+ δ;
13+ lib = ε;
14+ runtimeShell = ζ;
15+ stdenv = α;
16+} ->
17+{ abiVersion = String;
18+ activity = Null;
19+ app = Null;
20+ avdHomeDir = Null;
21+ enableGPU = Bool;
22+ extraAVDFiles = η;
23+ name = β;
24+ package = Null;
25+ platformVersion = String;
26+ sdkExtraArgs = {};
27+ systemImageType = String;
28+} ->
29+γ
test/golden/importless/engines.txtnew file+19
@@ -0,0 +1,19 @@
1+∀ β γ δ ε ζ η θ ι κ λ μ ν ξ.
2+( β.overrideAttrs = (γ -> {postInstall = String;}) -> δ,
3+ β.overrideAttrs = (ε -> {postInstall = String;}) -> ζ,
4+ β.overrideAttrs = (η -> {postInstall = String;}) -> θ
5+) =>
6+{ buildOpenRAEngine =
7+ { description = String;
8+ homepage = String;
9+ mods = [String];
10+ src = ι;
11+ version = κ;
12+ } ->
13+ λ -> β;
14+ extraPostFetch = μ;
15+ fetchFromGitHub =
16+ {extraPostFetch = μ; owner = String; repo = String; rev = ν; sha256 = ξ;} ->
17+ ι;
18+} ->
19+{bleed = ∀ α. λ -> α; playtest = ∀ α. λ -> α; release = ∀ α. λ -> α;}
test/golden/importless/env-locations.txtnew file+19
@@ -0,0 +1,19 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π.
2+{ combinatorial_designs = α;
3+ conway_polynomials = β;
4+ cysignals = γ;
5+ ecl = δ;
6+ elliptic_curves = ε;
7+ gap = ζ;
8+ graphs = η;
9+ jmol = θ;
10+ mathjax = ι;
11+ maxima-ecl = κ;
12+ pari = λ;
13+ pari_data = μ;
14+ polytopes_db = ν;
15+ singular = ξ;
16+ three = ο;
17+ writeTextFile = {destination = String; name = String; text = String;} -> π;
18+} ->
19+π
test/golden/importless/fare-utils.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/filters.txtnew file+47
@@ -0,0 +1,47 @@
1+∀ δ ε ζ η θ ι.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ configureFlags = [String];
5+ doCheck = Bool;
6+ enableParallelBuilding = Bool;
7+ makeFlags = [String];
8+ meta =
9+ { description = String;
10+ homepage = String;
11+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2 = γ) => γ;
12+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
13+ };
14+ nativeBuildInputs = [ζ];
15+ pname = String;
16+ postConfigure = String;
17+ postInstall = String;
18+ src = η;
19+ version = String;
20+ } ->
21+ θ
22+) =>
23+{ avahi = ε;
24+ bc = ι;
25+ coreutils = ι;
26+ cups = ε;
27+ dbus = ε;
28+ fetchurl = {sha256 = String; url = String;} -> η;
29+ fontconfig = ε;
30+ gawk = ι;
31+ ghostscript = ε;
32+ gnugrep = ι;
33+ gnused = ι;
34+ ijs = ε;
35+ libjpeg = ε;
36+ libpng = ε;
37+ makeWrapper = ζ;
38+ mupdf = ε;
39+ perl = ε;
40+ pkgconfig = ζ;
41+ poppler = ε;
42+ poppler_utils = ε;
43+ qpdf = ε;
44+ stdenv = δ;
45+ which = ι;
46+} ->
47+θ
test/golden/importless/fixed-points.txtnew file+18
@@ -0,0 +1,18 @@
1+{} ->
2+{ composeExtensions =
3+ ∀ α β γ δ ε ζ η.
4+ ((α) // (β) ~ (γ), (β) // (δ) ~ (ε)) => (ζ -> α -> β) ->
5+ (ζ -> η -> δ) -> ζ -> α -> ε;
6+ converge = ∀ α. (α -> α) -> α -> α;
7+ extends =
8+ ∀ α β γ δ. ((α) // (β) ~ (γ)) => (δ -> α -> β) -> (δ -> α) -> δ -> γ;
9+ fix = ∀ α. (α -> α) -> α;
10+ fix' = ∀ α β. ((α) // ({__unfix__ = β -> α;}) ~ (β)) => (β -> α) -> β;
11+ makeExtensible =
12+ ∀ α β γ.
13+ ((α) // ({__unfix__ = β -> α;}) ~ (β), (β) // ({}) ~ (γ)) => (β -> α) -> γ;
14+ makeExtensibleWithCustomName =
15+ ∀ α β γ δ.
16+ ((α) // ({__unfix__ = β -> α;}) ~ (β), (β) // ({}) ~ (γ)) => δ ->
17+ (β -> α) -> γ;
18+}
test/golden/importless/fox-1.6.txtnew file+41
@@ -0,0 +1,41 @@
1+∀ ζ η θ ι κ.
2+( ζ.mkDerivation =
3+ { buildInputs =
4+ ∀ δ ε. (ζ.lib = δ, δ.optional = ε -> η -> [θ], ζ.isDarwin = ε) => [θ];
5+ doCheck = Bool;
6+ enableParallelBuilding = Bool;
7+ hardeningDisable = [String];
8+ meta =
9+ { branch = String;
10+ description = String;
11+ homepage = String;
12+ license = ∀ α β γ. (ζ.lib = α, α.licenses = β, β.lgpl3 = γ) => γ;
13+ longDescription = String;
14+ maintainers = ∀ α. α;
15+ platforms =
16+ ∀ α β γ. (ζ.lib = α, α.platforms = β, β.mesaPlatforms = γ) => γ;
17+ };
18+ pname = String;
19+ src = ι;
20+ version = ∀ δ. δ;
21+ } ->
22+ κ
23+) =>
24+{ CoreServices = η;
25+ bzip2 = θ;
26+ fetchurl = {sha256 = String; url = String;} -> ι;
27+ libGL = θ;
28+ libGLU = θ;
29+ libXcursor = θ;
30+ libXfixes = θ;
31+ libXft = θ;
32+ libXrandr = θ;
33+ libjpeg = θ;
34+ libpng = θ;
35+ libtiff = θ;
36+ stdenv = ζ;
37+ xinput = θ;
38+ xlibsWrapper = θ;
39+ zlib = θ;
40+} ->
41+κ
test/golden/importless/fs.txtnew file+17
@@ -0,0 +1,17 @@
1+∀ γ δ ε ζ.
2+{ buildDunePackage =
3+ { checkInputs = ∀ α. (γ.optional = Bool -> δ -> α) => α;
4+ doCheck = Bool;
5+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), ε.meta = α) => β;
6+ pname = String;
7+ propagatedBuildInputs = [ε];
8+ src = ∀ α. (ε.src = α) => α;
9+ useDune2 = Bool;
10+ version = ∀ α. (ε.version = α) => α;
11+ } ->
12+ ζ;
13+ irmin = ε;
14+ irmin-test = δ;
15+ lib = γ;
16+} ->
17+ζ
test/golden/importless/fuseki-binary.txtnew file+27
@@ -0,0 +1,27 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ downloadPage = String;
8+ downloadURLRegexp = String;
9+ homepage = String;
10+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.asl20 = γ) => γ;
11+ maintainers =
12+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
13+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
14+ version = String;
15+ };
16+ name = String;
17+ src = ζ;
18+ version = String;
19+ } ->
20+ η
21+) =>
22+{ fetchurl = {sha256 = String; url = String;} -> ζ;
23+ java = θ;
24+ makeWrapper = ε;
25+ stdenv = δ;
26+} ->
27+η
test/golden/importless/global-vars.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/graphql.txtnew file+18
@@ -0,0 +1,18 @@
1+∀ γ δ ε.
2+{ buildDunePackage =
3+ { doCheck = Bool;
4+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), γ.meta = α) => β;
5+ pname = String;
6+ propagatedBuildInputs = [γ];
7+ src = ∀ α. (γ.src = α) => α;
8+ useDune2 = Bool;
9+ version = ∀ α. (γ.version = α) => α;
10+ } ->
11+ δ;
12+ cohttp-lwt = γ;
13+ graphql-cohttp = γ;
14+ graphql-lwt = γ;
15+ irmin = γ;
16+ lib = ε;
17+} ->
18+δ
test/golden/importless/graphviz-2.0.txtnew file+34
@@ -0,0 +1,34 @@
1+∀ ε ζ η θ.
2+( ε.mkDerivation =
3+ { buildInputs = [Null];
4+ configureFlags =
5+ ∀ δ. (ε.lib = δ, δ.optional = Bool -> String -> [String]) => [String];
6+ hardeningDisable = [String];
7+ meta =
8+ { branch = String;
9+ description = String;
10+ homepage = String;
11+ platforms = ∀ α β γ. (ε.lib = α, α.platforms = β, β.unix = γ) => γ;
12+ };
13+ name = String;
14+ nativeBuildInputs = [ζ];
15+ src = η;
16+ } ->
17+ θ
18+) =>
19+{ expat = Null;
20+ fetchurl = {sha256 = String; url = String;} -> η;
21+ fontconfig = Null;
22+ gd = Null;
23+ libXaw = Null;
24+ libjpeg = Null;
25+ libpng = Null;
26+ libtool = Null;
27+ libwebp = Null;
28+ pango = Null;
29+ pkgconfig = ζ;
30+ stdenv = ε;
31+ xlibsWrapper = Null;
32+ yacc = Null;
33+} ->
34+θ
test/golden/importless/gsl-1_16.txtnew file+25
@@ -0,0 +1,25 @@
1+∀ η θ ι κ.
2+( η.mkDerivation =
3+ { NIX_CFLAGS_COMPILE =
4+ ∀ δ ε ζ.
5+ (η.lib = δ, δ.optionalString = ε -> String -> ζ, η.isx86_64 = ε) => ζ;
6+ doCheck = Bool;
7+ meta =
8+ { badPlatforms = [String];
9+ description = String;
10+ homepage = String;
11+ license = ∀ α β γ. (η.lib = α, α.licenses = β, β.gpl3Plus = γ) => γ;
12+ longDescription = String;
13+ platforms = ∀ α β γ. (η.lib = α, α.platforms = β, β.unix = γ) => γ;
14+ };
15+ name = String;
16+ patches = [θ];
17+ src = ι;
18+ } ->
19+ κ
20+) =>
21+{ fetchpatch = {name = String; sha256 = String; url = String;} -> θ;
22+ fetchurl = {sha256 = String; url = String;} -> ι;
23+ stdenv = η;
24+} ->
25+κ
test/golden/importless/hello-world-container.txtnew file+29
@@ -0,0 +1,29 @@
1+∀ α β γ.
2+{ fetchDockerConfig =
3+ { imageName = String;
4+ registry = String;
5+ repository = String;
6+ sha256 = String;
7+ tag = String;
8+ } ->
9+ α;
10+ fetchDockerLayer =
11+ { imageName = String;
12+ layerDigest = String;
13+ registry = String;
14+ repository = String;
15+ sha256 = String;
16+ } ->
17+ β;
18+ fetchdocker =
19+ { imageConfig = α;
20+ imageLayers = [β];
21+ imageName = String;
22+ name = String;
23+ registry = String;
24+ repository = String;
25+ tag = String;
26+ } ->
27+ γ;
28+} ->
29+γ
test/golden/importless/http.txtnew file+23
@@ -0,0 +1,23 @@
1+∀ γ δ ε ζ.
2+{ buildDunePackage =
3+ { checkInputs = ∀ α. (γ.optionals = Bool -> [δ] -> α) => α;
4+ doCheck = Bool;
5+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), ε.meta = α) => β;
6+ pname = String;
7+ propagatedBuildInputs = [ε];
8+ src = ∀ α. (ε.src = α) => α;
9+ useDune2 = Bool;
10+ version = ∀ α. (ε.version = α) => α;
11+ } ->
12+ ζ;
13+ checkseum = δ;
14+ cohttp-lwt = ε;
15+ git-unix = δ;
16+ irmin = ε;
17+ irmin-git = δ;
18+ irmin-mem = δ;
19+ irmin-test = δ;
20+ lib = γ;
21+ webmachine = ε;
22+} ->
23+ζ
test/golden/importless/impure-deps.txtnew file+51
@@ -0,0 +1,51 @@
1+{ AGL = [String];
2+ Accelerate = [String];
3+ AppKit = [String];
4+ ApplicationServices = [String];
5+ AudioToolbox = [String];
6+ AudioUnit = [String];
7+ CFNetwork = [String];
8+ Carbon = [String];
9+ Cocoa = [String];
10+ CoreAudio = [String];
11+ CoreBluetooth = [String];
12+ CoreData = [String];
13+ CoreGraphics = [String];
14+ CoreMIDI = [String];
15+ CoreMedia = [String];
16+ CoreMediaIO = [String];
17+ CoreServices = [String];
18+ CoreText = [String];
19+ CoreVideo = [String];
20+ CoreWLAN = [String];
21+ DiskArbitration = [String];
22+ ForceFeedback = [String];
23+ Foundation = [String];
24+ GSS = [String];
25+ IOBluetooth = [String];
26+ IOKit = [String];
27+ IOSurface = [String];
28+ ImageCaptureCore = [String];
29+ ImageIO = [String];
30+ JavaScriptCore = [String];
31+ Kerberos = [String];
32+ Kernel = [String];
33+ MediaToolbox = [String];
34+ NetFS = [String];
35+ OSAKit = [String];
36+ OpenCL = [String];
37+ OpenDirectory = [String];
38+ OpenGL = [String];
39+ PCSC = [String];
40+ QTKit = [String];
41+ Quartz = [String];
42+ QuartzCore = [String];
43+ QuickLook = [String];
44+ QuickTime = [String];
45+ Security = [String];
46+ SecurityFoundation = [String];
47+ ServiceManagement = [String];
48+ SystemConfiguration = [String];
49+ VideoToolbox = [String];
50+ WebKit = [String];
51+}
test/golden/importless/introspect-environment.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/iterate.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ parasites = [String];
10+ src = β;
11+ version = String;
12+}
test/golden/importless/java-test.txtnew file+21
@@ -0,0 +1,21 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ.
2+(α.isDarwin = β, γ.optionalString = β -> String -> String) => { bazel = δ;
3+ bazel-examples = ε;
4+ bazelTest =
5+ { bazelPkg = δ;
6+ bazelScript = String;
7+ buildInputs = [ζ];
8+ name = String;
9+ workspaceDir = η;
10+ } ->
11+ θ;
12+ distDir = ι;
13+ gccStdenv = α;
14+ lib = γ;
15+ openjdk8 = ζ;
16+ runLocal = String -> {} -> String -> η;
17+ runtimeShell = κ;
18+ writeScript = String -> String -> λ;
19+ writeText = μ;
20+} ->
21+θ
test/golden/importless/jgrpp.txtnew file+8
@@ -0,0 +1,8 @@
1+∀ α β γ δ.
2+( α.overrideAttrs = (β -> {pname = String; src = γ; version = String;}) -> δ
3+) =>
4+{ fetchFromGitHub =
5+ {owner = String; repo = String; rev = String; sha256 = String;} -> γ;
6+ openttd = α;
7+} ->
8+δ
test/golden/importless/kmrcl.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/lack-component.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/ladspah.txtnew file+19
@@ -0,0 +1,19 @@
1+∀ δ ε ζ.
2+( δ.mkDerivation =
3+ { installPhase = String;
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl2 = γ) => γ;
8+ longDescription = String;
9+ maintainers =
10+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.magnetophon = γ) => [γ];
11+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
12+ };
13+ pname = String;
14+ src = ε;
15+ version = String;
16+ } ->
17+ ζ
18+) =>
19+{fetchurl = {sha256 = String; url = String;} -> ε; stdenv = δ;} -> ζ
test/golden/importless/libdispatch.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ α β γ δ ε.
2+( α.mkDerivation =
3+ {buildInputs = (β.sdk = γ) => [γ]; name = String; src = δ;} -> ε
4+) =>
5+{ apple_sdk_sierra = β;
6+ cmake = γ;
7+ fetchFromGitHub =
8+ {owner = String; repo = String; rev = String; sha256 = String;} -> δ;
9+ stdenv = α;
10+ xnu-new = γ;
11+} ->
12+ε
test/golden/importless/library.txtnew file+28
@@ -0,0 +1,28 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21Plus = γ) => γ;
8+ maintainers = ∀ α. α;
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
10+ };
11+ nativeBuildInputs = [ζ];
12+ pname = String;
13+ src = η;
14+ version = String;
15+ } ->
16+ θ
17+) =>
18+{ curl = ε;
19+ fetchurl = {sha256 = String; url = String;} -> η;
20+ glib = ε;
21+ libgcrypt = ε;
22+ libproxy = ε;
23+ lua5 = ε;
24+ pkgconfig = ζ;
25+ quvi_scripts = ε;
26+ stdenv = δ;
27+} ->
28+θ
test/golden/importless/lift.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/log.txtnew file+3
@@ -0,0 +1,3 @@
1+∀ γ.
2+{lib = γ;} ->
3+{echo_colored = ∀ α. α -> String; noisily = ∀ α β. α -> β -> String;}
test/golden/importless/lxmenu-data.txtnew file+17
@@ -0,0 +1,17 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2 = γ) => γ;
8+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
9+ };
10+ pname = String;
11+ src = ζ;
12+ version = String;
13+ } ->
14+ η
15+) =>
16+{fetchurl = {sha256 = String; url = String;} -> ζ; intltool = ε; stdenv = δ;} ->
17+η
test/golden/importless/map-set.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/marshal.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/md5.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/mem.txtnew file+17
@@ -0,0 +1,17 @@
1+∀ γ δ ε ζ.
2+{ buildDunePackage =
3+ { checkInputs = ∀ α. (γ.optional = Bool -> δ -> α) => α;
4+ doCheck = Bool;
5+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), ε.meta = α) => β;
6+ pname = String;
7+ propagatedBuildInputs = [ε];
8+ src = ∀ α. (ε.src = α) => α;
9+ useDune2 = Bool;
10+ version = ∀ α. (ε.version = α) => α;
11+ } ->
12+ ζ;
13+ irmin = ε;
14+ irmin-test = δ;
15+ lib = γ;
16+} ->
17+ζ
test/golden/importless/metabang-bind.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/misc-extensions.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/mk-string-metrics.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/mt19937.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/multi.txtnew file+15
@@ -0,0 +1,15 @@
1+∀ α β γ δ ε ζ η θ.
2+( α.override =
3+ { bintools = (α.bintools = β, β.override = {libc = γ;} -> δ) => δ;
4+ extraBuildCommands = String;
5+ libc = γ;
6+ } ->
7+ ε
8+) =>
9+{ clang = α;
10+ gcc32 = ζ;
11+ gcc64 = η;
12+ glibc_multi = θ;
13+ runCommand = String -> {} -> String -> γ;
14+} ->
15+ε
test/golden/importless/multipath-tools.txtnew file+26
@@ -0,0 +1,26 @@
1+∀ δ ε ζ η θ ι.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
8+ };
9+ name = String;
10+ patches = [ζ];
11+ preBuild = String;
12+ sourceRoot = String;
13+ src = η;
14+ } ->
15+ θ
16+) =>
17+{ fetchpatch = {excludes = [String]; sha256 = String; url = String;} -> ζ;
18+ fetchurl = {sha256 = String; url = String;} -> η;
19+ gzip = ε;
20+ libaio = ε;
21+ lvm2 = ε;
22+ readline = ε;
23+ stdenv = δ;
24+ systemd = ι;
25+} ->
26+θ
test/golden/importless/named-readtables.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ parasites = [String];
10+ src = β;
11+ version = String;
12+}
test/golden/importless/net_dot_didierverna_dot_asdf-flv.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/nixops-autoluks.txtnew file+19
@@ -0,0 +1,19 @@
1+∀ γ δ ε ζ.
2+( γ.nixops = δ,
3+ ε.attrByPath = [String] -> {} -> γ -> {},
4+ ε.hasAttrByPath = [String] -> γ -> Bool
5+) =>
6+{config = γ; lib = ε; options = ζ;} ->
7+{ config =
8+ { assertions =
9+ [ { assertion = ∀ α. (α.enableDeprecatedAutoLuks = Bool) => Bool;
10+ message = String;
11+ }
12+ ];
13+ };
14+ options =
15+ { nixops =
16+ { enableDeprecatedAutoLuks = ∀ β. (ε.mkEnableOption = String -> β) => β;
17+ };
18+ };
19+}
test/golden/importless/opn2bankeditor.txtnew file+14
@@ -0,0 +1,14 @@
1+∀ α β γ δ.
2+( α.overrideAttrs = (β -> {pname = String; src = γ; version = String;}) -> δ
3+) =>
4+{ fetchFromGitHub =
5+ { fetchSubmodules = Bool;
6+ owner = String;
7+ repo = String;
8+ rev = String;
9+ sha256 = String;
10+ } ->
11+ γ;
12+ opl3bankeditor = α;
13+} ->
14+δ
test/golden/importless/pack.txtnew file+21
@@ -0,0 +1,21 @@
1+∀ γ δ ε ζ.
2+{ alcotest-lwt = γ;
3+ buildDunePackage =
4+ { checkInputs = ∀ α. (δ.optionals = Bool -> [γ] -> α) => α;
5+ doCheck = Bool;
6+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), ε.meta = α) => β;
7+ minimumOCamlVersion = String;
8+ pname = String;
9+ propagatedBuildInputs = [ε];
10+ src = ∀ α. (ε.src = α) => α;
11+ useDune2 = Bool;
12+ version = ∀ α. (ε.version = α) => α;
13+ } ->
14+ ζ;
15+ index = ε;
16+ irmin = ε;
17+ irmin-test = γ;
18+ lib = δ;
19+ ocaml_lwt = ε;
20+} ->
21+ζ
test/golden/importless/pam.txtnew file+10
@@ -0,0 +1,10 @@
1+∀ α β γ.
2+{ buildPythonPackage =
3+ {pname = String; propagatedBuildInputs = [α]; src = β; version = String;} ->
4+ γ;
5+ fetchFromGitHub =
6+ {owner = String; repo = String; rev = String; sha256 = String;} -> β;
7+ python-pam = α;
8+ twisted = α;
9+} ->
10+γ
test/golden/importless/parse-declarations-1_dot_0.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/parse-number.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ parasites = [String];
10+ src = β;
11+ version = String;
12+}
test/golden/importless/parser.txtnew file+26
@@ -0,0 +1,26 @@
1+∀ δ ε ζ η θ ι.
2+{ alcotest = δ;
3+ buildDunePackage =
4+ { checkInputs = ∀ γ. (ε.optional = Bool -> δ -> γ) => γ;
5+ doCheck = Bool;
6+ meta =
7+ { description = String;
8+ homepage = String;
9+ license = ∀ α β. (ε.licenses = α, α.mit = β) => β;
10+ maintainers = ∀ α β. (ε.maintainers = α, α.vbgl = β) => [β];
11+ };
12+ minimumOCamlVersion = String;
13+ nativeBuildInputs = [ζ];
14+ pname = String;
15+ propagatedBuildInputs = [η];
16+ src = θ;
17+ version = String;
18+ } ->
19+ ι;
20+ fetchurl = {sha256 = String; url = String;} -> θ;
21+ fmt = η;
22+ lib = ε;
23+ menhir = ζ;
24+ re = η;
25+} ->
26+ι
test/golden/importless/parted.txtnew file+48
@@ -0,0 +1,48 @@
1+∀ η θ ι κ λ μ.
2+( η.mkDerivation =
3+ { buildInputs =
4+ ∀ δ ε ζ.
5+ ( η.lib = δ,
6+ δ.optional = Bool -> Null -> [θ],
7+ η.lib = ε,
8+ ε.optional = Bool -> Null -> [θ],
9+ η.lib = ζ,
10+ ζ.optional = Bool -> Null -> [θ]
11+ ) =>
12+ [θ];
13+ checkInputs = [ι];
14+ configureFlags =
15+ ∀ δ ε.
16+ ( η.lib = δ,
17+ δ.optional = Bool -> String -> [String],
18+ η.lib = ε,
19+ ε.optional = Bool -> String -> [String]
20+ ) =>
21+ [String];
22+ doCheck = Bool;
23+ meta =
24+ { description = String;
25+ homepage = String;
26+ license = ∀ α β γ. (η.lib = α, α.licenses = β, β.gpl3Plus = γ) => γ;
27+ longDescription = String;
28+ maintainers = ∀ α. α;
29+ platforms = ∀ α β γ. (η.lib = α, α.platforms = β, β.linux = γ) => γ;
30+ };
31+ name = String;
32+ patches = [κ];
33+ src = λ;
34+ } ->
35+ μ
36+) =>
37+{ check = ι;
38+ enableStatic = Bool;
39+ fetchpatch = {sha256 = String; url = String;} -> κ;
40+ fetchurl = {sha256 = String; url = String;} -> λ;
41+ gettext = Null;
42+ libuuid = θ;
43+ lvm2 = Null;
44+ readline = Null;
45+ stdenv = η;
46+ utillinux = ι;
47+} ->
48+μ
test/golden/importless/platforms.txtnew file+203
@@ -0,0 +1,203 @@
1+∀ β.
2+{lib = β;} ->
3+{ aarch64-multiplatform =
4+ { gcc = {arch = String;};
5+ kernelArch = String;
6+ kernelAutoModules = Bool;
7+ kernelBaseConfig = String;
8+ kernelDTB = Bool;
9+ kernelExtraConfig = String;
10+ kernelMajor = String;
11+ kernelPreferBuiltin = Bool;
12+ kernelTarget = String;
13+ name = String;
14+ };
15+ armv7a-android =
16+ {gcc = {arch = String; float-abi = String; fpu = String;}; name = String;};
17+ armv7l-hf-multiplatform =
18+ { gcc = {arch = String; fpu = String;};
19+ kernelArch = String;
20+ kernelAutoModules = Bool;
21+ kernelBaseConfig = String;
22+ kernelDTB = Bool;
23+ kernelExtraConfig = String;
24+ kernelMajor = String;
25+ kernelPreferBuiltin = Bool;
26+ kernelTarget = String;
27+ name = String;
28+ };
29+ beaglebone =
30+ { gcc = {arch = String; fpu = String;};
31+ kernelArch = String;
32+ kernelAutoModules = Bool;
33+ kernelBaseConfig = String;
34+ kernelDTB = Bool;
35+ kernelExtraConfig = String;
36+ kernelMajor = String;
37+ kernelPreferBuiltin = Bool;
38+ kernelTarget = String;
39+ name = String;
40+ };
41+ ben_nanonote =
42+ { gcc = {arch = String; float = String;};
43+ kernelArch = String;
44+ kernelMajor = String;
45+ name = String;
46+ };
47+ fuloong2f_n32 =
48+ { gcc = {abi = String; arch = String; float = String;};
49+ kernelArch = String;
50+ kernelAutoModules = Bool;
51+ kernelBaseConfig = String;
52+ kernelExtraConfig = String;
53+ kernelMajor = String;
54+ kernelTarget = String;
55+ name = String;
56+ };
57+ guruplug =
58+ { gcc = {arch = String;};
59+ kernelArch = String;
60+ kernelAutoModules = Bool;
61+ kernelBaseConfig = String;
62+ kernelDTB = Bool;
63+ kernelExtraConfig = String;
64+ kernelMajor = String;
65+ kernelMakeFlags = [String];
66+ kernelTarget = String;
67+ name = String;
68+ };
69+ pc32 =
70+ { kernelArch = String;
71+ kernelAutoModules = Bool;
72+ kernelBaseConfig = String;
73+ kernelTarget = String;
74+ name = String;
75+ };
76+ pc32_simplekernel =
77+ { kernelArch = String;
78+ kernelAutoModules = Bool;
79+ kernelBaseConfig = String;
80+ kernelTarget = String;
81+ name = String;
82+ };
83+ pc64 =
84+ { kernelArch = String;
85+ kernelAutoModules = Bool;
86+ kernelBaseConfig = String;
87+ kernelTarget = String;
88+ name = String;
89+ };
90+ pc64_simplekernel =
91+ { kernelArch = String;
92+ kernelAutoModules = Bool;
93+ kernelBaseConfig = String;
94+ kernelTarget = String;
95+ name = String;
96+ };
97+ pcBase =
98+ { kernelAutoModules = Bool;
99+ kernelBaseConfig = String;
100+ kernelTarget = String;
101+ name = String;
102+ };
103+ pogoplug4 =
104+ { gcc = {arch = String;};
105+ kernelArch = String;
106+ kernelAutoModules = Bool;
107+ kernelBaseConfig = String;
108+ kernelExtraConfig = String;
109+ kernelMajor = String;
110+ kernelMakeFlags = [String];
111+ kernelTarget = String;
112+ name = String;
113+ };
114+ powernv =
115+ { kernelArch = String;
116+ kernelAutoModules = Bool;
117+ kernelBaseConfig = String;
118+ kernelExtraConfig = String;
119+ kernelFile = String;
120+ kernelInstallTarget = String;
121+ kernelTarget = String;
122+ name = String;
123+ };
124+ raspberrypi =
125+ { gcc = {arch = String; fpu = String;};
126+ kernelArch = String;
127+ kernelAutoModules = Bool;
128+ kernelBaseConfig = String;
129+ kernelDTB = Bool;
130+ kernelExtraConfig = String;
131+ kernelMajor = String;
132+ kernelPreferBuiltin = Bool;
133+ kernelTarget = String;
134+ name = String;
135+ };
136+ raspberrypi2 =
137+ { gcc = {arch = String; fpu = String;};
138+ kernelArch = String;
139+ kernelAutoModules = Bool;
140+ kernelBaseConfig = String;
141+ kernelDTB = Bool;
142+ kernelExtraConfig = String;
143+ kernelMajor = String;
144+ kernelPreferBuiltin = Bool;
145+ kernelTarget = String;
146+ name = String;
147+ };
148+ riscv-multiplatform =
149+ ∀ α.
150+ α ->
151+ { bfdEmulation = String;
152+ kernelArch = String;
153+ kernelAutoModules = Bool;
154+ kernelBaseConfig = String;
155+ kernelExtraConfig = String;
156+ kernelTarget = String;
157+ name = String;
158+ };
159+ scaleway-c1 =
160+ { gcc = {cpu = String; fpu = String;};
161+ kernelArch = String;
162+ kernelAutoModules = Bool;
163+ kernelBaseConfig = String;
164+ kernelDTB = Bool;
165+ kernelExtraConfig = String;
166+ kernelMajor = String;
167+ kernelPreferBuiltin = Bool;
168+ kernelTarget = String;
169+ name = String;
170+ };
171+ selectBySystem =
172+ ∀ α.
173+ α ->
174+ { kernelAutoModules = Bool;
175+ kernelBaseConfig = String;
176+ kernelTarget = String;
177+ name = String;
178+ };
179+ sheevaplug =
180+ { gcc = {arch = String;};
181+ kernelArch = String;
182+ kernelAutoModules = Bool;
183+ kernelBaseConfig = String;
184+ kernelDTB = Bool;
185+ kernelExtraConfig = String;
186+ kernelMajor = String;
187+ kernelMakeFlags = [String];
188+ kernelTarget = String;
189+ name = String;
190+ };
191+ utilite =
192+ { gcc = {cpu = String; fpu = String;};
193+ kernelArch = String;
194+ kernelAutoModules = Bool;
195+ kernelBaseConfig = String;
196+ kernelDTB = Bool;
197+ kernelExtraConfig = String;
198+ kernelMajor = String;
199+ kernelMakeFlags = [String];
200+ kernelTarget = String;
201+ name = String;
202+ };
203+}
test/golden/importless/ppx.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ γ δ ε ζ η.
2+{ buildDunePackage =
3+ { buildInputs = [γ];
4+ doCheck = Bool;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β. (δ.licenses = α, α.isc = β) => β;
9+ maintainers = ∀ α β. (δ.maintainers = α, α.vbgl = β) => [β];
10+ };
11+ minimumOCamlVersion = String;
12+ pname = String;
13+ propagatedBuildInputs = [ε];
14+ src = ζ;
15+ useDune2 = Bool;
16+ version = String;
17+ } ->
18+ η;
19+ fetchurl = {sha256 = String; url = String;} -> ζ;
20+ lib = δ;
21+ ocaml-syntax-shims = γ;
22+ ppxlib = ε;
23+} ->
24+η
test/golden/importless/primary.txtnew file+13
@@ -0,0 +1,13 @@
1+∀ β γ.
2+{fetchurl = {sha256 = β; url = String;} -> γ;} ->
3+{ fetchSrc = ∀ α. {name = α; sha256 = String;} -> γ;
4+ help = γ;
5+ major = String;
6+ minor = String;
7+ patch = String;
8+ src = γ;
9+ subdir = String;
10+ translations = γ;
11+ tweak = String;
12+ version = String;
13+}
test/golden/importless/protobuf-test.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν.
2+(α.isDarwin = β, γ.optionalString = β -> String -> String) => { bazel = δ;
3+ bazelTest =
4+ { bazelPkg = δ;
5+ bazelScript = String;
6+ buildInputs = [ε];
7+ name = String;
8+ workspaceDir = ζ;
9+ } ->
10+ η;
11+ distDir = θ;
12+ fetchFromGitHub =
13+ {owner = String; repo = String; rev = String; sha256 = String;} -> ι;
14+ fetchurl =
15+ {passthru = {sha256 = String;}; sha256 = String; url = String;} -> κ;
16+ gccStdenv = α;
17+ lib = γ;
18+ openjdk8 = ε;
19+ runLocal = String -> {} -> String -> ζ;
20+ runtimeShell = λ;
21+ writeScript = String -> String -> μ;
22+ writeText = String -> String -> ν;
23+} ->
24+η
test/golden/importless/prove-asdf.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/ptester.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/pure.txtnew file+20
@@ -0,0 +1,20 @@
1+∀ α β γ δ.
2+( α.mkDerivation =
3+ { buildInputs = [β];
4+ buildPhase = String;
5+ installPhase = String;
6+ patches = [Path];
7+ pname = String;
8+ src = γ;
9+ version = String;
10+ } ->
11+ δ
12+) =>
13+{ fetchapplesource = {name = String; sha256 = String; version = String;} -> γ;
14+ launchd = β;
15+ libauto = β;
16+ libc_old = β;
17+ libunwind = β;
18+ stdenv = α;
19+} ->
20+δ
test/golden/importless/pyblock.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ makeFlags = [String];
5+ md5_path = String;
6+ meta =
7+ { description = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
9+ };
10+ patches = [Path];
11+ pname = String;
12+ postPatch = String;
13+ src = ζ;
14+ version = String;
15+ } ->
16+ η
17+) =>
18+{ dmraid = ε;
19+ fetchurl = {sha256 = String; url = String;} -> ζ;
20+ lvm2 = ε;
21+ python = ε;
22+ stdenv = δ;
23+} ->
24+η
test/golden/importless/pykickstart.txtnew file+22
@@ -0,0 +1,22 @@
1+∀ δ ε ζ η θ.
2+{ buildPythonApplication =
3+ { checkPhase = String;
4+ md5_path = String;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
9+ };
10+ pname = String;
11+ postPatch = String;
12+ propagatedBuildInputs = [ε];
13+ src = ζ;
14+ version = String;
15+ } ->
16+ η;
17+ fetchurl = {sha256 = String; url = String;} -> ζ;
18+ python = θ;
19+ stdenv = δ;
20+ urlgrabber = ε;
21+} ->
22+η
test/golden/importless/pyparted.txtnew file+32
@@ -0,0 +1,32 @@
1+∀ ζ η θ ι κ λ μ.
2+{ buildPythonApplication =
3+ { checkPhase = String;
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (ζ.lib = α, α.licenses = β, β.gpl2Plus = γ) => γ;
8+ platforms = ∀ α β γ. (ζ.lib = α, α.platforms = β, β.linux = γ) => γ;
9+ };
10+ nativeBuildInputs = [η];
11+ pname = String;
12+ postPatch =
13+ ∀ δ ε.
14+ ( ζ.lib = δ,
15+ δ.optionalString = ε -> String -> String,
16+ ζ.isi686 = ε
17+ ) =>
18+ String;
19+ preConfigure = String;
20+ propagatedBuildInputs = [θ];
21+ src = ι;
22+ version = String;
23+ } ->
24+ κ;
25+ e2fsprogs = λ;
26+ fetchurl = {sha256 = String; url = String;} -> ι;
27+ parted = θ;
28+ pkgconfig = η;
29+ python = μ;
30+ stdenv = ζ;
31+} ->
32+κ
test/golden/importless/remoteshell.txtnew file+5
@@ -0,0 +1,5 @@
1+∀ α β γ.
2+( α.mkDerivation =
3+ {buildCommand = String; pname = String; src = β; version = String;} -> γ
4+) =>
5+{fetchurl = {sha256 = String; url = String;} -> β; stdenv = α;} -> γ
test/golden/importless/rfc2388.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/rt.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/s-sysdeps.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/s-xml.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ parasites = [String];
10+ src = β;
11+ version = String;
12+}
test/golden/importless/sage-env.txtnew file+58
@@ -0,0 +1,58 @@
1+∀ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω.
2+((α) // ({lib = β;}) ~ (γ), δ.isILP64 = Bool, ε.isILP64 = Bool) => { bash =
3+ String;
4+ binutils = ζ;
5+ blas = δ;
6+ cddlib = String;
7+ coreutils = String;
8+ ecl = String;
9+ eclib = String;
10+ ecm = String;
11+ env-locations = η;
12+ fflas-ffpack = θ;
13+ flint = ι;
14+ flintqs = String;
15+ gap = String;
16+ gd = κ;
17+ gfan = String;
18+ gfortran = String;
19+ giac = String;
20+ givaro = λ;
21+ glpk = String;
22+ gmp = μ;
23+ gnugrep = String;
24+ gnused = String;
25+ gsl = ν;
26+ jdk = String;
27+ jmol = String;
28+ lapack = ε;
29+ lcalc = String;
30+ less = String;
31+ lib = ξ;
32+ libpng = ο;
33+ linbox = π;
34+ m4ri = ρ;
35+ maxima-ecl = String;
36+ mpfr = σ;
37+ nauty = String;
38+ ntl = τ;
39+ palp = String;
40+ pari = String;
41+ pkg-config = String;
42+ ppl = String;
43+ pynac = υ;
44+ python = φ;
45+ python3 = χ;
46+ pythonEnv = String;
47+ rWrapper = String;
48+ rubiks = String;
49+ sagelib = β;
50+ singular = String;
51+ sqlite = String;
52+ stdenv = ψ;
53+ sympow = String;
54+ tachyon = String;
55+ writeTextFile = {destination = String; name = String; text = String;} -> α;
56+ zlib = ω;
57+} ->
58+γ
test/golden/importless/salza2.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/scripts.txtnew file+21
@@ -0,0 +1,21 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { meta =
4+ { description = String;
5+ homepage = String;
6+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21Plus = γ) => γ;
7+ maintainers = ∀ α. α;
8+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
9+ };
10+ nativeBuildInputs = [ε];
11+ pname = String;
12+ src = ζ;
13+ version = String;
14+ } ->
15+ η
16+) =>
17+{ fetchurl = {sha256 = String; url = String;} -> ζ;
18+ pkgconfig = ε;
19+ stdenv = δ;
20+} ->
21+η
test/golden/importless/share.txtnew file+23
@@ -0,0 +1,23 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ dontUnpack = Bool;
5+ installPhase = String;
6+ meta =
7+ { description = String;
8+ homepage = String;
9+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.mit = γ) => γ;
10+ maintainers = ∀ α. α;
11+ };
12+ pname = String;
13+ sources10Zip = ζ;
14+ sources20Zip = ζ;
15+ sources30Zip = ζ;
16+ sources40Zip = ζ;
17+ sources50Zip = ζ;
18+ sources60Zip = ζ;
19+ version = String;
20+ } ->
21+ η
22+) =>
23+{fetchurl = {sha256 = String; url = String;} -> ζ; stdenv = δ; unzip = ε;} -> η
test/golden/importless/shebang-test.txtnew file+16
@@ -0,0 +1,16 @@
1+∀ α β γ δ ε ζ.
2+{ bazel = α;
3+ bazelTest =
4+ { bazelPkg = α;
5+ bazelScript = String;
6+ buildInputs = [β];
7+ name = String;
8+ workspaceDir = γ;
9+ } ->
10+ δ;
11+ distDir = ε;
12+ extracted = ζ;
13+ runLocal = String -> {} -> String -> γ;
14+ unzip = β;
15+} ->
16+δ
test/golden/importless/shiboken.txtnew file+37
@@ -0,0 +1,37 @@
1+∀ δ ε ζ η θ.
2+{ buildPythonPackage =
3+ { cmakeFlags = ∀ γ. (δ.optional = ε -> String -> γ) => γ;
4+ enableParallelBuilding = Bool;
5+ format = String;
6+ meta =
7+ { broken = Bool;
8+ description = String;
9+ homepage = String;
10+ license = ∀ α β. (δ.licenses = α, α.gpl2 = β) => β;
11+ maintainers = ∀ α. α;
12+ platforms = ∀ α β. (δ.platforms = α, α.all = β) => β;
13+ };
14+ nativeBuildInputs = [ζ];
15+ patches = (δ.optional = Bool -> Path -> [Path]) => [Path];
16+ pname = String;
17+ preConfigure = String;
18+ src = η;
19+ version = String;
20+ } ->
21+ θ;
22+ cmake = ζ;
23+ fetchurl = {sha256 = String; url = String;} -> η;
24+ isPy35 = Bool;
25+ isPy36 = Bool;
26+ isPy37 = Bool;
27+ isPy3k = ε;
28+ lib = δ;
29+ libxml2 = ζ;
30+ libxslt = ζ;
31+ pysideApiextractor = ζ;
32+ pysideGeneratorrunner = ζ;
33+ python = ζ;
34+ qt4 = ζ;
35+ sphinx = ζ;
36+} ->
37+θ
test/golden/importless/skeinjar.txtnew file+17
@@ -0,0 +1,17 @@
1+∀ β γ δ ε ζ η.
2+( β.mkDerivation =
3+ { buildPhase = String;
4+ installPhase = String;
5+ name = String;
6+ nativeBuildInputs = [γ];
7+ src = ∀ α. α;
8+ } ->
9+ δ
10+) =>
11+{ callPackage = Path -> {src = ε; version = ζ;} -> η;
12+ maven = γ;
13+ src = ε;
14+ stdenv = β;
15+ version = ζ;
16+} ->
17+δ
test/golden/importless/skeinrepo.txtnew file+19
@@ -0,0 +1,19 @@
1+∀ β γ δ ε ζ η θ ι κ λ.
2+( (β) // (γ) ~ (δ),
3+ ε.mkDerivation =
4+ { doBuild = Bool;
5+ installPhase = String;
6+ name = String;
7+ nativeBuildInputs =
8+ ∀ α. (ζ.optional = α -> η -> [θ], ε.isLinux = α) => [θ];
9+ outputHash = (ε.isLinux = Bool) => String;
10+ outputHashAlgo = String;
11+ outputHashMode = String;
12+ src = ∀ α. α;
13+ } ->
14+ β,
15+ ζ.optionalAttrs = ι -> {dontAutoPatchelf = Bool;} -> γ,
16+ ε.isLinux = ι
17+) =>
18+{autoPatchelfHook = η; lib = ζ; maven = θ; src = κ; stdenv = ε; version = λ;} ->
19+δ
test/golden/importless/sockets.txtnew file+18
@@ -0,0 +1,18 @@
1+∀ ε ζ η θ.
2+( ε.mkDerivation =
3+ { buildInputs = [ζ];
4+ luaver = ∀ δ. (ζ.luaversion = δ) => δ;
5+ meta =
6+ { homepage = String;
7+ hydraPlatforms =
8+ ∀ α β γ. (ε.lib = α, α.platforms = β, β.linux = γ) => γ;
9+ maintainers = ∀ α. α;
10+ };
11+ patchPhase = String;
12+ pname = String;
13+ src = η;
14+ version = String;
15+ } ->
16+ θ
17+) =>
18+{fetchurl = {sha256 = String; url = String;} -> η; lua5 = ζ; stdenv = ε;} -> θ
test/golden/importless/source.txtnew file+5
@@ -0,0 +1,5 @@
1+∀ α.
2+{ fetchFromGitHub =
3+ {owner = String; repo = String; rev = String; sha256 = String;} -> α;
4+} ->
5+{src = α; versions = {libtiff = String; opentoonz = String;};}
test/golden/importless/src-for-default.txtnew file+6
@@ -0,0 +1,6 @@
1+{ advertisedUrl = String;
2+ hash = String;
3+ name = String;
4+ url = String;
5+ version = String;
6+}
test/golden/importless/srcs.txtnew file+3
@@ -0,0 +1,3 @@
1+∀ α.
2+{fetchurl = {sha256 = String; url = String;} -> α;} ->
3+{src = α; srcs = [α]; version = String;}
test/golden/importless/status.txtnew file+32
@@ -0,0 +1,32 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ makeFlags = [String];
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.bsd3 = γ) => γ;
9+ maintainers = ∀ α. α;
10+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.all = γ) => γ;
11+ };
12+ name = String;
13+ nativeBuildInputs = [ζ];
14+ preBuild = String;
15+ src = η;
16+ } ->
17+ θ
18+) =>
19+{ alsaLib = ε;
20+ asciidoc = ζ;
21+ docbook_xml_dtd_45 = ζ;
22+ docbook_xsl = ζ;
23+ fetchurl = {sha256 = String; url = String;} -> η;
24+ libconfuse = ε;
25+ libnl = ε;
26+ libpulseaudio = ε;
27+ pkgconfig = ζ;
28+ stdenv = δ;
29+ xmlto = ζ;
30+ yajl = ε;
31+} ->
32+θ
test/golden/importless/string-case.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/stub.txtnew file+16
@@ -0,0 +1,16 @@
1+∀ β γ δ ε.
2+{ buildDunePackage =
3+ { checkInputs = ∀ α. (β.optional = Bool -> γ -> α) => α;
4+ doCheck = Bool;
5+ meta = ∀ α. (δ.meta = α) => α;
6+ pname = String;
7+ propagatedBuildInputs = [δ];
8+ src = ∀ α. (δ.src = α) => α;
9+ version = ∀ α. (δ.version = α) => α;
10+ } ->
11+ ε;
12+ lib = β;
13+ ocaml_gettext = δ;
14+ ounit = γ;
15+} ->
16+ε
test/golden/importless/swank.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/tlaps.txtnew file+30
@@ -0,0 +1,30 @@
1+∀ δ ε ζ η.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.bsd2 = γ) => γ;
9+ longDescription = String;
10+ maintainers =
11+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.badi = γ) => [γ];
12+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.unix = γ) => γ;
13+ };
14+ phases = [String];
15+ pname = String;
16+ src = ζ;
17+ version = String;
18+ } ->
19+ η
20+) =>
21+{ cvc3 = ε;
22+ fetchurl = {sha256 = String; url = String;} -> ζ;
23+ isabelle = ε;
24+ ocaml = ε;
25+ perl = ε;
26+ stdenv = δ;
27+ wget = ε;
28+ which = ε;
29+} ->
30+η
test/golden/importless/tool.txtnew file+30
@@ -0,0 +1,30 @@
1+∀ δ ε ζ η θ ι.
2+( δ.mkDerivation =
3+ { buildInputs = [ε];
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.lgpl21Plus = γ) => γ;
8+ maintainers = ∀ α. α;
9+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
10+ };
11+ nativeBuildInputs = [ζ];
12+ pname = String;
13+ postInstall = String;
14+ src = η;
15+ version = String;
16+ } ->
17+ θ
18+) =>
19+{ curl = ε;
20+ fetchurl = {sha256 = String; url = String;} -> η;
21+ glib = ε;
22+ libquvi = ε;
23+ lua5 = ε;
24+ lua5_sockets = ι;
25+ makeWrapper = ε;
26+ pkgconfig = ζ;
27+ quvi_scripts = ε;
28+ stdenv = δ;
29+} ->
30+θ
test/golden/importless/tools.txtnew file+56
@@ -0,0 +1,56 @@
1+∀ γ δ ε ζ η θ ι κ.
2+{ afdko = γ;
3+ appdirs = γ;
4+ attrs = γ;
5+ bash = δ;
6+ black = γ;
7+ booleanoperations = γ;
8+ brotlipy = γ;
9+ buildPythonPackage =
10+ { checkInputs = [δ];
11+ checkPhase = String;
12+ disabled = ε;
13+ meta =
14+ { description = String;
15+ homepage = String;
16+ license = ∀ α β. (ζ.licenses = α, α.asl20 = β) => β;
17+ };
18+ nativeBuildInputs = [η];
19+ pname = String;
20+ postInstall = String;
21+ postPatch = String;
22+ propagatedBuildInputs = [γ];
23+ src = θ;
24+ version = String;
25+ } ->
26+ ι;
27+ click = γ;
28+ defcon = γ;
29+ fetchFromGitHub =
30+ {owner = String; repo = String; rev = String; sha256 = String;} -> θ;
31+ fontmath = γ;
32+ fontparts = γ;
33+ fontpens = γ;
34+ fonttools = γ;
35+ fs = κ;
36+ lib = ζ;
37+ lxml = γ;
38+ mutatormath = γ;
39+ pathspec = γ;
40+ pillow = δ;
41+ psautohint = γ;
42+ pyclipper = γ;
43+ pythonOlder = String -> ε;
44+ pytz = γ;
45+ regex = γ;
46+ scour = γ;
47+ setuptools_scm = η;
48+ six = δ;
49+ toml = γ;
50+ typed-ast = γ;
51+ ufonormalizer = γ;
52+ ufoprocessor = γ;
53+ unicodedata2 = γ;
54+ zopfli = γ;
55+} ->
56+ι
test/golden/importless/tor-arm.txtnew file+29
@@ -0,0 +1,29 @@
1+∀ δ ε ζ η θ ι κ λ.
2+( δ.mkDerivation =
3+ { installPhase = String;
4+ meta =
5+ { description = String;
6+ homepage = String;
7+ license = ∀ α β γ. (δ.lib = α, α.licenses = β, β.gpl3 = γ) => γ;
8+ maintainers =
9+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.thoughtpolice = γ) => [γ];
10+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.unix = γ) => γ;
11+ };
12+ nativeBuildInputs = (ε.python = ζ) => [ζ];
13+ outputs = [String];
14+ pname = String;
15+ postPatch = String;
16+ src = η;
17+ version = String;
18+ } ->
19+ θ
20+) =>
21+{ fetchurl = {sha256 = String; url = String;} -> η;
22+ lsof = ι;
23+ makeWrapper = ζ;
24+ ncurses = κ;
25+ nettools = λ;
26+ python2Packages = ε;
27+ stdenv = δ;
28+} ->
29+θ
test/golden/importless/tptp.txtnew file+24
@@ -0,0 +1,24 @@
1+∀ ε ζ η θ ι.
2+( ε.version = ζ,
3+ η.mkDerivation =
4+ { buildInputs = [ε];
5+ installPhase = String;
6+ meta =
7+ { description = String;
8+ homepage = ∀ α β. (ε.meta = α, α.homepage = β) => β;
9+ license = ∀ α β. (ε.meta = α, α.license = β) => β;
10+ maintainers =
11+ ∀ α β γ. (η.lib = α, α.maintainers = β, β.raskin = γ) => [γ];
12+ platforms = ∀ α β. (ε.meta = α, α.platforms = β) => β;
13+ version = ∀ α. α;
14+ };
15+ nativeBuildInputs = [θ];
16+ pname = String;
17+ preConfigure = String;
18+ sourceRoot = String;
19+ src = ∀ δ. (ε.src = δ) => δ;
20+ version = ∀ δ. (ε.version = δ) => δ;
21+ } ->
22+ ι
23+) =>
24+{cmake = θ; stdenv = η; z3 = ε;} -> ι
test/golden/importless/trivial-backtrace.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-cltl2.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-features.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-gray-streams.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-indent.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-macroexpand-all.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-mimes.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-types.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/trivial-utf-8.txtnew file+12
@@ -0,0 +1,12 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ parasites = [String];
10+ src = β;
11+ version = String;
12+}
test/golden/importless/uffi.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/uiop.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/ungoogled.txtnew file+20
@@ -0,0 +1,20 @@
1+∀ α β γ δ ε ζ η θ.
2+( α.mkDerivation =
3+ { buildInputs = (β.python = γ) => [γ];
4+ dontBuild = Bool;
5+ installPhase = String;
6+ name = String;
7+ nativeBuildInputs = [δ];
8+ patchPhase = String;
9+ src = ε;
10+ version = ζ;
11+ } ->
12+ η
13+) =>
14+{ fetchFromGitHub = {owner = String; repo = String; rev = ζ; sha256 = θ;} -> ε;
15+ makeWrapper = δ;
16+ patch = γ;
17+ python3Packages = β;
18+ stdenv = α;
19+} ->
20+{rev = ζ; sha256 = θ;} -> η
test/golden/importless/unit-test.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/unix-opts.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/unix.txtnew file+28
@@ -0,0 +1,28 @@
1+∀ γ δ ε ζ.
2+{ buildDunePackage =
3+ { checkInputs = ∀ α. (γ.optional = Bool -> δ -> α) => α;
4+ doCheck = Bool;
5+ meta = ∀ α β. ((α) // ({description = String;}) ~ (β), ε.meta = α) => β;
6+ pname = String;
7+ propagatedBuildInputs = [ε];
8+ src = ∀ α. (ε.src = α) => α;
9+ useDune2 = Bool;
10+ version = ∀ α. (ε.version = α) => α;
11+ } ->
12+ ζ;
13+ checkseum = ε;
14+ cmdliner = ε;
15+ git-unix = ε;
16+ irmin = ε;
17+ irmin-fs = ε;
18+ irmin-git = ε;
19+ irmin-graphql = ε;
20+ irmin-http = ε;
21+ irmin-mem = ε;
22+ irmin-pack = ε;
23+ irmin-test = δ;
24+ irmin-watcher = ε;
25+ lib = γ;
26+ yaml = ε;
27+} ->
28+ζ
test/golden/importless/viewer.txtnew file+32
@@ -0,0 +1,32 @@
1+∀ ε ζ η θ ι κ.
2+( ε.mkDerivation =
3+ { buildInputs = (ζ.lib = η) => [η];
4+ installPhase = String;
5+ meta =
6+ { description = String;
7+ homepage = String;
8+ license = ∀ α β γ. (ε.lib = α, α.licenses = β, β.unfree = γ) => γ;
9+ maintainers =
10+ ∀ α β γ. (ε.lib = α, α.maintainers = β, β.zimbatm = γ) => [γ];
11+ platforms = [String];
12+ };
13+ nativeBuildInputs = [θ];
14+ pname = String;
15+ src = ι;
16+ unpackPhase = String;
17+ version = ∀ δ. δ;
18+ } ->
19+ κ
20+) =>
21+{ autoPatchelfHook = θ;
22+ dpkg = θ;
23+ fetchurl = {sha256 = String; url = String;} -> ι;
24+ freeglut = η;
25+ gcc-unwrapped = ζ;
26+ libGL = η;
27+ libGLU = η;
28+ makeWrapper = θ;
29+ stdenv = ε;
30+ zlib = η;
31+} ->
32+κ
test/golden/importless/vom.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/vscodeWithConfiguration.txtnew file+13
@@ -0,0 +1,13 @@
1+∀ α β γ δ ε.
2+{ extensionsFromVscodeMarketplace = [α] -> β;
3+ lib = γ;
4+ vscodeDefault = δ;
5+ writeShellScriptBin = String -> String -> ε;
6+} ->
7+{ mutableExtensions = [α];
8+ nixExtensions = [α];
9+ user-data-dir = String;
10+ vscode = δ;
11+ vscodeExtsFolderName = String;
12+} ->
13+ε
test/golden/importless/vulkan.txtnew file+36
@@ -0,0 +1,36 @@
1+∀ δ ε ζ η θ.
2+( δ.mkDerivation =
3+ { buildFlags = [String];
4+ buildInputs = [ε];
5+ enableParallelBuilding = Bool;
6+ makeFlags = [String];
7+ meta =
8+ { description = String;
9+ homepage = ∀ α β. (ζ.meta = α, α.homepage = β) => β;
10+ longDescription = String;
11+ maintainers =
12+ ∀ α β γ. (δ.lib = α, α.maintainers = β, β.gnidorah = γ) => [γ];
13+ platforms = ∀ α β γ. (δ.lib = α, α.platforms = β, β.linux = γ) => γ;
14+ };
15+ nativeBuildInputs = [η];
16+ pname = String;
17+ postFixup = String;
18+ preInstall = String;
19+ sourceRoot = String;
20+ src = ζ;
21+ version = String;
22+ } ->
23+ θ
24+) =>
25+{ SDL2 = ε;
26+ fetchFromGitHub =
27+ {owner = String; repo = String; rev = String; sha256 = String;} -> ζ;
28+ gzip = ε;
29+ libmad = ε;
30+ libvorbis = ε;
31+ makeWrapper = η;
32+ stdenv = δ;
33+ vulkan-headers = η;
34+ vulkan-loader = ε;
35+} ->
36+θ
test/golden/importless/xsubseq.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/yacc.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}
test/golden/importless/yarn.txtnew file+8
@@ -0,0 +1,8 @@
1+∀ α β γ δ ε.
2+{ fetchgit = α;
3+ fetchurl = {name = String; sha1 = String; url = String;} -> β;
4+ gnutar = γ;
5+ linkFarm = String -> [{name = String; path = β;}] -> δ;
6+ runCommandNoCC = ε;
7+} ->
8+{offline_cache = δ; packages = [{name = String; path = β;}];}
test/golden/importless/zpb-ttf.txtnew file+11
@@ -0,0 +1,11 @@
1+∀ β.
2+{fetchurl = {sha256 = String; url = String;} -> β;} ->
3+{ asdFilesToKeep = [String];
4+ baseName = String;
5+ deps = ∀ α. α;
6+ description = String;
7+ overrides = ∀ α. α -> α;
8+ packageName = String;
9+ src = β;
10+ version = String;
11+}