úÎQESš      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ŒŽ‘’“”•–—˜™None"#6VW rA source for a derivation. It always needs a hash and also has a protocol attached to it (url, git, svn, ...). A DerivationSourceK also always has it's revision fully resolved (not relative revisions like master, HEAD, etc).VThe kind of the source. The name of the build-support fetch derivation should be fetch kind.URL to fetch from.FRevision to use. Leave empty if the fetcher doesn't support revisions.The hash of the source. SA source is a location from which we can fetch, such as a HTTP URL, a GIT URL, .... URL to fetch from.pRevision to use. For protocols where this doesn't make sense (such as HTTP), this should be the empty string..The expected hash of the source, if available.$Directory where Cabal file is found.AFetch a source, trying any of the various nix-prefetch-* scripts.Like ,, but allows to specify which script to use.OThis function is passed the output path name as an argument. It should return š„ if the file doesn't match the expected format. This is required, because we cannot always check if a download succeeded otherwise.The source to fetch from.hThe derivation source and the result of the processing function. Returns Nothing if the download failed.     None6;=>?¢$()*+,$()*+,$›œžŸNone%+11None'ñ2'Map Cabal names to Nix attribute names.3FMap library names specified in Cabal files to Nix package identifiers.]TODO: This list should not be hard-coded here; it belongs into the Nixpkgs repository.;TODO: Re-use hook matching system from PostProcess.hs here.4,Map build tool names to Nix attribute names. |Helper function to extract the package name from a String that may or may not be formatted like a Cabal package identifier.guessNixIdentifier "foo-1.0"Identifier "foo"guessNixIdentifier "foo"Identifier "foo"guessNixIdentifier "foo - 0"Identifier "foo - 0"guessNixIdentifier "1foo-1.0"Identifier "1foo"guessNixIdentifier "-foo-1.0"Identifier "-foo-1.0"234234None(A 56789:;< ;:56789<56789None(ÖNone)KKNone "#6;=>?, LyA represtation of Nix expressions for building Haskell packages. The data type correspond closely to the definition of PackageDescription from Cabal.LMQRSTUVWXYZ[\]^_`abcdefghijkLMcdgh^][`ZiSRe_Tj\YWVbUakfQXL¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»None-š#$()*+,LMQRSTUVWXYZ[\]^_`abcdefghijk None.fopop None.¶qq None.örstrst None"#6;=9CwTarget compiler. Used by finalizePackageDescription/ to choose appropriate flags and dependencies.x6Compiler core packages that are also found on Hackage.ySThese packages replace the latest respective version during dependency resolution.zbThese packages are added to the generated set, but the play no role during dependency resolution.{¥We know that these packages won't build, so we give them an empty meta.hydraPlatforms attribute to avoid cluttering our Hydra output with lots of failure messages.| This information is used by the  hackage2nix utility to determine the  maintainers for a given Haskell package. uvwxyz{|}~ uvwxyz{|}~uvwxyz{| None"#:†‡ˆ‰Š‡†ˆ‰ŠNoneA2Ž#If hpack generated a new cabal file/Whether hpack should regenerate the cabal file.!The path to the Hackage database.!If we have hackage-snapshot time.‘/Whether hpack should regenerate the cabal file.¼.Whether hpack should regenerate the cabal file’!The path to the Hackage database.!If we have hackage-snapshot time.½.Whether hpack should regenerate the cabal file¾.Whether hpack should regenerate the cabal file ‹ŒŽ‘’“ ‹ŒŽ‘’“‹ŒŽSafeAÏ¿ÀÁÂÃÄÅÆNone"#DÔÇ£A parser for the date. Hackage updates happen maybe once or twice a month. Example: parseTime defaultTimeLocale "%FT%T%QZ" "2017-11-20T12:18:35Z" :: Maybe UTCTime•–—˜•˜–—ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ € ‚ ƒ „ … † † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š››œžŸ ¡¢£¤¥¦§¨©ª«6¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרØÙÚÛÜÝÞßàáâãäåæçèéêëìí#cabal2nix-2.9-s9rw2EbOhs1Kj1aZ9bfbE$Distribution.Nixpkgs.Haskell.HackageDistribution.Nixpkgs.Fetch&Distribution.Nixpkgs.Haskell.BuildInfo.Distribution.Nixpkgs.Haskell.FromCabal.License+Distribution.Nixpkgs.Haskell.FromCabal.Name,Distribution.Nixpkgs.Haskell.OrphanInstances,Distribution.Nixpkgs.Haskell.FromCabal.Flags'Distribution.Nixpkgs.Haskell.Derivation2Distribution.Nixpkgs.Haskell.FromCabal.PostProcess0Distribution.Nixpkgs.Haskell.FromCabal.Normalize'Distribution.Nixpkgs.Haskell.Constraint4Distribution.Nixpkgs.Haskell.FromCabal.Configuration&Distribution.Nixpkgs.Haskell.FromCabal.Distribution.Nixpkgs.Haskell.PackageSourceSpec Cabal2nixDistribution.Nixpkgs.HaskellPaths_cabal2nix'hackage-db-2.0.1-5QSb0jJ3R9hGNrDaAE2wMqDistribution.Hackage.DB.PathhackageTarballDerivationSource derivKindderivUrl derivRevision derivHashHashCertainGuess UnknownHashSource sourceUrlsourceRevision sourceHashsourceCabalDirfromDerivationSourcefetch fetchWith $fNFDataHash$fNFDataSource$fFromJSONDerivationSource$fNFDataDerivationSource $fShowHash$fEqHash $fOrdHash $fGenericHash $fShowSource $fEqSource $fOrdSource$fGenericSource$fShowDerivationSource$fEqDerivationSource$fOrdDerivationSource$fGenericDerivationSource BuildInfo$fShowBuildInfo $fEqBuildInfo$fGenericBuildInfohaskell pkgconfigsystemtoolpPrintBuildInfo$fNFDataBuildInfo$fMonoidBuildInfo$fSemigroupBuildInfo$fEachBuildInfoBuildInfoSetSetfromCabalLicense toNixName libNixNamebuildToolNixName VersionData cabalFilecabalFileSha256 tarballSha256 PackageData HackageDB readTarball$fShowVersionData$fFromJSONCompilerInfo$fFromJSONDependency$fFromJSONPackageIdentifier$fFromJSONPackageName$fFromJSONPlatform$fIsStringPlatform$fIsStringCompilerId$fIsStringDependency$fIsStringPackageIdentifier$fIsStringVersionRange$fIsStringVersion$fNFDataAbiTag$fNFDataCompilerInfoconfigureCabalFlags DerivationnullDerivation$fShowDerivation$fEqDerivation$fGenericDerivationbenchmarkDepends cabalFlagsconfigureFlagsdoCheckeditedCabalFileenableExecutableProfilingenableLibraryProfilingenableSeparateDataOutputenableSplitObjsexecutableDependsextraFunctionArgshyperlinkSource isExecutable isLibrary jailbreaklibraryDepends metaSectionphaseOverridespkgidrevision runHaddock setupDependssrcsubpath testDepends testTarget dependencies$fPrettyDerivation$fNFDataDerivation$fPackageDerivation postProcesspkg normalize ConstraintsatisfiesConstraintsatisfiesConstraints Configuration compilerInfo corePackagesdefaultPackageOverrides extraPackagesdontDistributePackagespackageMaintainersreadConfigurationassertConsistency$fFromJSONKeyPackageName$fFromJSONKeyIdentifier$fFromJSONIdentifier$fFromJSONConfiguration$fNFDataConfiguration$fShowConfiguration$fGenericConfigurationNixpkgsResolverHaskellResolverfromGenericPackageDescription!finalizeGenericPackageDescriptionfromPackageDescriptionPackage pkgSource pkgRanHpackpkgCabal getPackage getPackage' loadHackageDBsourceFromHackage $fShowPackagemain cabal2nix'cabal2nixWithDB cabal2nix $fShowOptionsbaseGHC.BaseNothing_haskell _pkgconfig_system_toolguessNixIdentifier MkDerivation_pkgid _revision_src_subpath _isLibrary _isExecutable_extraFunctionArgs _setupDepends_libraryDepends_executableDepends _testDepends_benchmarkDepends_configureFlags _cabalFlags _runHaddock _jailbreak_doCheck _testTarget_hyperlinkSource_enableLibraryProfiling_enableExecutableProfiling_enableSplitObjs_phaseOverrides_editedCabalFile_enableSeparateDataOutput _metaSection fetchOrFromDB cabalFromPathcabalFromDirectoryversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName utcTimeReaderOptions optSha256 optMaintainer optHaddockoptHpack optDoCheck optJailbreak optRevisionoptHyperlinkSourceoptEnableLibraryProfilingoptEnableExecutableProfilingoptEnableProfiling optExtraArgs optHackageDboptNixShellOutputoptFlags optCompiler optSystem optSubpathoptHackageSnapshotoptUrl