{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE DuplicateRecordFields #-} module AvailableDownloads where import qualified Data.Map as M import GHCup.Prelude import GHCup.Types import HPath import URI.ByteString.QQ -- TODO: version quasiquoter availableDownloads :: AvailableDownloads availableDownloads = M.fromList [ ( GHC , M.fromList [ ( [ver|8.6.5|] , VersionInfo [Latest] $ M.fromList [ ( A_64 , M.fromList [ ( Linux UnknownLinux , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-fedora27-linux.tar.xz|] (Just ([rel|ghc-8.6.5|] :: Path Rel)) ) ] ) , ( Linux Ubuntu , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz|] (Just ([rel|ghc-8.6.5|] :: Path Rel)) ) ] ) , ( Linux Debian , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-debian9-linux.tar.xz|] (Just ([rel|ghc-8.6.5|] :: Path Rel)) ) , ( Just $ [vers|8|] , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-debian8-linux.tar.xz|] (Just ([rel|ghc-8.6.5|] :: Path Rel)) ) ] ) ] ) ] ), ( [ver|8.4.4|] , VersionInfo [Latest] $ M.fromList [ ( A_64 , M.fromList [ ( Linux UnknownLinux , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-fedora27-linux.tar.xz|] (Just ([rel|ghc-8.4.4|] :: Path Rel)) ) ] ) , ( Linux Ubuntu , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb9-linux.tar.xz|] (Just ([rel|ghc-8.4.4|] :: Path Rel)) ) ] ) , ( Linux Debian , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-debian9-linux.tar.xz|] (Just ([rel|ghc-8.6.5|] :: Path Rel)) ) , ( Just $ [vers|8|] , DownloadInfo [uri|https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-debian8-linux.tar.xz|] (Just ([rel|ghc-8.6.5|] :: Path Rel)) ) ] ) ] ) ] ) ] ) , ( Cabal , M.fromList [ ( [ver|3.0.0.0|] , VersionInfo [Recommended, Latest] $ M.fromList [ ( A_64 , M.fromList [ ( Linux UnknownLinux , M.fromList [ ( Nothing , DownloadInfo [uri|https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-linux.tar.xz|] Nothing ) ] ) ] ) ] ) ] ) ]