diff --git a/app/Foliage/CmdBuild.hs b/app/Foliage/CmdBuild.hs index fce1066..2b9acab 100644 --- a/app/Foliage/CmdBuild.hs +++ b/app/Foliage/CmdBuild.hs @@ -112,9 +112,9 @@ buildAction cf <- prepareIndexPkgCabal pkgId (fromMaybe currentTime pkgTimestamp) originalCabalFilePath -- all revised cabal files, with their timestamp - revcf <- for (zip [1 :: Int ..] cabalFileRevisions) $ \(revNum, (timestamp, path)) -> do - copyFileChanged path (outputDir > "package" > prettyShow pkgId > "revision" > show revNum <.> "cabal") - prepareIndexPkgCabal pkgId timestamp path + revcf <- for cabalFileRevisions $ \(RevisionSpec{revisionTimestamp, revisionNumber}, path) -> do + copyFileChanged path (outputDir > "package" > prettyShow pkgId > "revision" > show revisionNumber <.> "cabal") + prepareIndexPkgCabal pkgId revisionTimestamp path -- current version of the cabal file (after the revisions, if any) copyFileChanged cabalFilePath (outputDir > "package" > prettyShow pkgId > prettyShow (pkgName pkgId) <.> "cabal") diff --git a/app/Foliage/CmdImportIndex.hs b/app/Foliage/CmdImportIndex.hs index 9829a1a..129f531 100644 --- a/app/Foliage/CmdImportIndex.hs +++ b/app/Foliage/CmdImportIndex.hs @@ -113,10 +113,10 @@ isCabalFile , Tar.entryContent = Tar.NormalFile contents _ , Tar.entryTime = posixSecondsToUTCTime . fromIntegral -> time } - | ".cabal" `isSuffixOf` path = - let [pkgName, pkgVersion, _] = splitDirectories path - Just name = simpleParsec pkgName - Just version = simpleParsec pkgVersion - packageId = PackageIdentifier name version - in Just (packageId, contents, time) + | ".cabal" `isSuffixOf` path + , [pkgName, pkgVersion, _] <- splitDirectories path + , Just name <- simpleParsec pkgName + , Just version <- simpleParsec pkgVersion + , packageId <- PackageIdentifier name version = + Just (packageId, contents, time) isCabalFile _ = Nothing diff --git a/app/Foliage/Meta.hs b/app/Foliage/Meta.hs index 71d7942..5935dfc 100644 --- a/app/Foliage/Meta.hs +++ b/app/Foliage/Meta.hs @@ -176,9 +176,10 @@ revisionMetaCodec = data DeprecationSpec = DeprecationSpec { deprecationTimestamp :: UTCTime , deprecationIsDeprecated :: Bool - -- ^ 'True' means the package version has been deprecated - -- 'False' means the package version has been undeprecated - -- FIXME: we should consider something better than 'Bool' + {- ^ 'True' means the package version has been deprecated + 'False' means the package version has been undeprecated + FIXME: we should consider something better than 'Bool' + -} } deriving (Show, Eq, Generic, Ord) deriving anyclass (Binary, Hashable, NFData) diff --git a/app/Foliage/Pages.hs b/app/Foliage/Pages.hs index 952cd8d..bd53805 100644 --- a/app/Foliage/Pages.hs +++ b/app/Foliage/Pages.hs @@ -27,7 +27,7 @@ import Development.Shake (Action, traced) import Distribution.Aeson (jsonGenericPackageDescription) import Distribution.Package (PackageIdentifier (pkgName, pkgVersion)) import Distribution.Pretty (prettyShow) -import Foliage.Meta (PackageVersionSource) +import Foliage.Meta (PackageVersionSource, RevisionSpec (..)) import Foliage.Meta.Aeson () import Foliage.PreparePackageVersion (PreparedPackageVersion (..)) import Foliage.Utils.Aeson (MyAesonEncoding (..)) @@ -83,7 +83,7 @@ makeAllPackagesPage currentTime outputDir packageVersions = , allPackagesPageEntryTimestamp = fromMaybe currentTime pkgTimestamp , allPackagesPageEntryTimestampPosix = utcTimeToPOSIXSeconds (fromMaybe currentTime pkgTimestamp) , allPackagesPageEntrySource = pkgVersionSource - , allPackagesPageEntryLatestRevisionTimestamp = fst <$> listToMaybe cabalFileRevisions + , allPackagesPageEntryLatestRevisionTimestamp = revisionTimestamp . fst <$> listToMaybe cabalFileRevisions } ) ) @@ -130,12 +130,12 @@ makeAllPackageVersionsPage currentTime outputDir packageVersions = } -- list of revisions : [ AllPackageVersionsPageEntryRevision - { allPackageVersionsPageEntryPkgId = pkgId - , allPackageVersionsPageEntryTimestamp = revisionTimestamp - , allPackageVersionsPageEntryTimestampPosix = utcTimeToPOSIXSeconds revisionTimestamp - , allPackageVersionsPageEntryDeprecated = pkgVersionIsDeprecated - } - | (revisionTimestamp, _) <- cabalFileRevisions + { allPackageVersionsPageEntryPkgId = pkgId + , allPackageVersionsPageEntryTimestamp = revisionTimestamp + , allPackageVersionsPageEntryTimestampPosix = utcTimeToPOSIXSeconds revisionTimestamp + , allPackageVersionsPageEntryDeprecated = pkgVersionIsDeprecated + } + | (RevisionSpec{revisionTimestamp}, _) <- cabalFileRevisions ] ) packageVersions diff --git a/app/Foliage/PreparePackageVersion.hs b/app/Foliage/PreparePackageVersion.hs index 3925013..db1df9c 100644 --- a/app/Foliage/PreparePackageVersion.hs +++ b/app/Foliage/PreparePackageVersion.hs @@ -52,7 +52,7 @@ data PreparedPackageVersion = PreparedPackageVersion , sdistPath :: FilePath , cabalFilePath :: FilePath , originalCabalFilePath :: FilePath - , cabalFileRevisions :: [(UTCTime, FilePath)] + , cabalFileRevisions :: [(RevisionSpec, FilePath)] } -- @andreabedini comments: @@ -190,8 +190,8 @@ preparePackageVersion inputDir metaFile = do let cabalFileRevisions = sortOn Down - [ (revisionTimestamp, cabalFileRevisionPath revisionNumber) - | RevisionSpec{revisionTimestamp, revisionNumber} <- packageVersionRevisions pkgSpec + [ (revision, cabalFileRevisionPath revisionNumber) + | revision@RevisionSpec{revisionNumber} <- packageVersionRevisions pkgSpec ] let pkgVersionDeprecationChanges = diff --git a/cabal.project b/cabal.project index ffb194d..1ad3b2a 100644 --- a/cabal.project +++ b/cabal.project @@ -1,6 +1,6 @@ packages: . -index-state: 2023-09-10T21:31:08Z -with-compiler: ghc-9.4.8 +index-state: 2025-12-23T23:59:20Z +with-compiler: ghc-9.8.4 tests: True test-show-details: direct diff --git a/flake.lock b/flake.lock index 4811642..b701092 100644 --- a/flake.lock +++ b/flake.lock @@ -105,11 +105,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -118,31 +118,47 @@ "type": "github" } }, - "ghc-8.6.5-iohk": { + "hackage": { "flake": false, "locked": { - "lastModified": 1600920045, - "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "lastModified": 1767400028, + "narHash": "sha256-H65UIzDSRagnFf4D+ramnqQyovqk7l65YP5Q64E4kWA=", "owner": "input-output-hk", - "repo": "ghc", - "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "repo": "hackage.nix", + "rev": "05797dd6bda69a91abdd15f67fd1fc89d7fb50ce", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "release/8.6.5-iohk", - "repo": "ghc", + "repo": "hackage.nix", "type": "github" } }, - "hackage": { + "hackage-for-stackage": { "flake": false, "locked": { - "lastModified": 1729297664, - "narHash": "sha256-IxR99KlQUC0ASjZ/YnxtA+/okCT85vKqPGdodJMN4Ig=", + "lastModified": 1767400018, + "narHash": "sha256-RDSl6nIsWRFIerZTZOJ47aj+EZ250LF0KNifPVBTcW0=", "owner": "input-output-hk", "repo": "hackage.nix", - "rev": "4988994f73b5b5f2daa5b3ccf106bda77b6bc2bc", + "rev": "fba38747396201e2b10b75057c374fc13420b883", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "for-stackage", + "repo": "hackage.nix", + "type": "github" + } + }, + "hackage-internal": { + "flake": false, + "locked": { + "lastModified": 1750307553, + "narHash": "sha256-iiafNoeLHwlSLQTyvy8nPe2t6g5AV4PPcpMeH/2/DLs=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "f7867baa8817fab296528f4a4ec39d1c7c4da4f3", "type": "github" }, "original": { @@ -159,10 +175,14 @@ "cabal-36": "cabal-36", "cardano-shell": "cardano-shell", "flake-compat": "flake-compat", - "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", "hackage": "hackage", + "hackage-for-stackage": "hackage-for-stackage", + "hackage-internal": "hackage-internal", + "hls": "hls", "hls-1.10": "hls-1.10", "hls-2.0": "hls-2.0", + "hls-2.10": "hls-2.10", + "hls-2.11": "hls-2.11", "hls-2.2": "hls-2.2", "hls-2.3": "hls-2.3", "hls-2.4": "hls-2.4", @@ -172,30 +192,27 @@ "hls-2.8": "hls-2.8", "hls-2.9": "hls-2.9", "hpc-coveralls": "hpc-coveralls", - "hydra": "hydra", "iserv-proxy": "iserv-proxy", "nixpkgs": [ "haskell-nix", "nixpkgs-unstable" ], - "nixpkgs-2003": "nixpkgs-2003", - "nixpkgs-2105": "nixpkgs-2105", - "nixpkgs-2111": "nixpkgs-2111", - "nixpkgs-2205": "nixpkgs-2205", - "nixpkgs-2211": "nixpkgs-2211", "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-2311": "nixpkgs-2311", "nixpkgs-2405": "nixpkgs-2405", + "nixpkgs-2411": "nixpkgs-2411", + "nixpkgs-2505": "nixpkgs-2505", + "nixpkgs-2511": "nixpkgs-2511", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": "stackage" }, "locked": { - "lastModified": 1729299060, - "narHash": "sha256-NYmjHasEWAba0VxM5abgea1JYQpZ3QjB7pJ/qSvv7OU=", + "lastModified": 1767401493, + "narHash": "sha256-C+ZbGkdaSYr53D+CrIceR3zep1kaTcZxq3AgupG5atQ=", "owner": "input-output-hk", "repo": "haskell.nix", - "rev": "a2f75fc59c7ace658bc36611ec7574df8673bfc9", + "rev": "cad2645de6b38ecd595e80dd04c4c8d4c711203f", "type": "github" }, "original": { @@ -204,6 +221,22 @@ "type": "github" } }, + "hls": { + "flake": false, + "locked": { + "lastModified": 1741604408, + "narHash": "sha256-tuq3+Ip70yu89GswZ7DSINBpwRprnWnl6xDYnS4GOsc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "682d6894c94087da5e566771f25311c47e145359", + "type": "github" + }, + "original": { + "owner": "haskell", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-1.10": { "flake": false, "locked": { @@ -238,6 +271,40 @@ "type": "github" } }, + "hls-2.10": { + "flake": false, + "locked": { + "lastModified": 1743069404, + "narHash": "sha256-q4kDFyJDDeoGqfEtrZRx4iqMVEC2MOzCToWsFY+TOzY=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "2318c61db3a01e03700bd4b05665662929b7fe8b", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.11": { + "flake": false, + "locked": { + "lastModified": 1747306193, + "narHash": "sha256-/MmtpF8+FyQlwfKHqHK05BdsxC9LHV70d/FiMM7pzBM=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "46ef4523ea4949f47f6d2752476239f1c6d806fe", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.11.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, "hls-2.2": { "flake": false, "locked": { @@ -360,11 +427,11 @@ "hls-2.9": { "flake": false, "locked": { - "lastModified": 1720003792, - "narHash": "sha256-qnDx8Pk0UxtoPr7BimEsAZh9g2WuTuMB/kGqnmdryKs=", + "lastModified": 1719993701, + "narHash": "sha256-wy348++MiMm/xwtI9M3vVpqj2qfGgnDcZIGXw8sF1sA=", "owner": "haskell", "repo": "haskell-language-server", - "rev": "0c1817cb2babef0765e4e72dd297c013e8e3d12b", + "rev": "90319a7e62ab93ab65a95f8f2bcf537e34dae76a", "type": "github" }, "original": { @@ -390,37 +457,14 @@ "type": "github" } }, - "hydra": { - "inputs": { - "nix": "nix", - "nixpkgs": [ - "haskell-nix", - "hydra", - "nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1671755331, - "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", - "owner": "NixOS", - "repo": "hydra", - "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", - "type": "github" - }, - "original": { - "id": "hydra", - "type": "indirect" - } - }, "iserv-proxy": { "flake": false, "locked": { - "lastModified": 1717479972, - "narHash": "sha256-7vE3RQycHI1YT9LHJ1/fUaeln2vIpYm6Mmn8FTpYeVo=", + "lastModified": 1755243078, + "narHash": "sha256-GLbl1YaohKdpzZVJFRdcI1O1oE3F3uBer4lFv3Yy0l8=", "owner": "stable-haskell", "repo": "iserv-proxy", - "rev": "2ed34002247213fc435d0062350b91bab920626e", + "rev": "150605195cb7183a6fb7bed82f23fedf37c6f52a", "type": "github" }, "original": { @@ -430,210 +474,109 @@ "type": "github" } }, - "lowdown-src": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, - "nix": { - "inputs": { - "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs", - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1661606874, - "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", - "owner": "NixOS", - "repo": "nix", - "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "2.11.0", - "repo": "nix", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1657693803, - "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.05-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2003": { - "locked": { - "lastModified": 1620055814, - "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-20.03-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2105": { - "locked": { - "lastModified": 1659914493, - "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.05-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2111": { - "locked": { - "lastModified": 1659446231, - "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-21.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-2205": { + "nixpkgs-2305": { "locked": { - "lastModified": 1685573264, - "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.05-darwin", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2211": { + "nixpkgs-2311": { "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "lastModified": 1719957072, + "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-22.11-darwin", + "ref": "nixpkgs-23.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2305": { + "nixpkgs-2405": { "locked": { - "lastModified": 1705033721, - "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "lastModified": 1735564410, + "narHash": "sha256-HB/FA0+1gpSs8+/boEavrGJH+Eq08/R2wWNph1sM1Dg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "rev": "1e7a8f391f1a490460760065fa0630b5520f9cf8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-23.05-darwin", + "ref": "nixpkgs-24.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2311": { + "nixpkgs-2411": { "locked": { - "lastModified": 1719957072, - "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=", + "lastModified": 1751290243, + "narHash": "sha256-kNf+obkpJZWar7HZymXZbW+Rlk3HTEIMlpc6FCNz0Ds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105", + "rev": "5ab036a8d97cb9476fbe81b09076e6e91d15e1b6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-23.11-darwin", + "ref": "nixpkgs-24.11-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-2405": { + "nixpkgs-2505": { "locked": { - "lastModified": 1726447378, - "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=", + "lastModified": 1764560356, + "narHash": "sha256-M5aFEFPppI4UhdOxwdmceJ9bDJC4T6C6CzCK1E2FZyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1", + "rev": "6c8f0cca84510cc79e09ea99a299c9bc17d03cb6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-24.05-darwin", + "ref": "nixpkgs-25.05-darwin", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs-2511": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1764572236, + "narHash": "sha256-hLp6T/vKdrBQolpbN3EhJOKTXZYxJZPzpnoZz+fEGlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "b0924ea1889b366de6bb0018a9db70b2c43a15f8", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-25.11-darwin", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1726583932, - "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", + "lastModified": 1764587062, + "narHash": "sha256-hdFa0TAVQAQLDF31cEW3enWmBP+b592OvHs6WVe3D8k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "658e7223191d2598641d50ee4e898126768fe847", + "rev": "c1cb7d097cb250f6e1904aacd5f2ba5ffd8a49ce", "type": "github" }, "original": { @@ -673,11 +616,11 @@ "stackage": { "flake": false, "locked": { - "lastModified": 1729039017, - "narHash": "sha256-fGExfgG+7UNSOV8YfOrWPpOHWrCjA02gQkeSBhaAzjQ=", + "lastModified": 1767399219, + "narHash": "sha256-0Nt1/1TvNLNI5yLBBSg9FzuoNAnqWIA/gCUI40UkIuA=", "owner": "input-output-hk", "repo": "stackage.nix", - "rev": "df1d8f0960407551fea7af7af75a9c2f9e18de97", + "rev": "8a7333aaeb1d93e9903d4828abaa421ce5ff4587", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f1b9eaa..2423d4b 100644 --- a/flake.nix +++ b/flake.nix @@ -28,12 +28,12 @@ project = pkgs.haskell-nix.cabalProject' { src = ./.; - compiler-nix-name = "ghc948"; + compiler-nix-name = "ghc984"; shell.tools = { cabal = "latest"; hlint = "latest"; haskell-language-server = "latest"; - fourmolu = "0.14.0.0"; + fourmolu = "0.19.0.1"; }; modules = [{ diff --git a/foliage.cabal b/foliage.cabal index 4c1ff7e..87506e9 100644 --- a/foliage.cabal +++ b/foliage.cabal @@ -1,7 +1,7 @@ cabal-version: 3.8 name: foliage description: Foliage is a tool to create custom Haskell package repositories, in a fully reproducible way. -version: 0.6.0.0 +version: 0.6.1.1 maintainer: andrea@andreabedini.com author: Andrea Bedini license: MIT @@ -43,32 +43,32 @@ executable foliage Network.URI.Orphans build-depends: - base >=4.14.3.0 && <4.20, + base >=4.14.3.0 && <4.23, aeson >=2.2 && <2.3, base16 >=0.3.2.0 && <1.1, - binary >=0.8.9.0 && <0.9, + binary >=0.8.9.0 && <0.11, bytestring >=0.10.12.0 && <0.13, Cabal >=3.10 && <3.12, Cabal-syntax >=3.10 && <3.12, cabal-install >=3.10 && <3.12, - containers >=0.6.5.1 && <0.7, + containers >=0.6.5.1 && <0.9, cryptohash-sha256 >=0.11.102.1 && <0.12, directory >=1.3.6.0 && <1.4, ed25519 >=0.0.5.0 && <0.1, - filepath >=1.4.2.1 && <1.5, + filepath >=1.4.2.1 && <1.6, hackage-security >=0.6.2.1 && <0.7, - network-uri >=2.6.4.1 && <2.7, - optparse-applicative >=0.17.0.0 && <0.18, + network-uri >=2.6.4.1 && <2.8, + optparse-applicative >=0.17.0.0 && <0.20, shake >=0.19.6 && <0.20, stache >=2.3.3 && <2.4, - tar >=0.5.1.1 && <0.6, + tar >=0.5.1.1 && <0.8, text >=1.2.4.1 && <2.2, - time >=1.9.3 && <1.13, + time >=1.9.3 && <1.16, time-compat >=1.9.6.1 && <1.10, tomland >=1.3.3.1 && <1.4, vector >=0.13.0.0 && <0.14, - with-utf8 >=1.0.2.3 && <1.1, - zlib >=0.6.2.3 && <0.7, + with-utf8 >=1.0.2.3 && <1.2, + zlib >=0.6.2.3 && <0.8, test-suite foliage-test-suite import: common-settings diff --git a/templates/allPackages.mustache b/templates/allPackages.mustache index 39dd684..1356060 100644 --- a/templates/allPackages.mustache +++ b/templates/allPackages.mustache @@ -56,12 +56,12 @@
{{.}}
+r{{revisionNumber}}: {{revisionTimestamp}}
{{/cabalFileRevisions}} {{^cabalFileRevisions}}None
diff --git a/tests/Foliage/Tests/Tar.hs b/tests/Foliage/Tests/Tar.hs index e85f4a9..38e680e 100644 --- a/tests/Foliage/Tests/Tar.hs +++ b/tests/Foliage/Tests/Tar.hs @@ -1,7 +1,7 @@ module Foliage.Tests.Tar where import Codec.Archive.Tar qualified as Tar -import Codec.Archive.Tar.Entry (Entry (..)) +import Codec.Archive.Tar.Entry (Entry) import Codec.Archive.Tar.Index (TarIndexEntry (..)) import Codec.Archive.Tar.Index qualified as Tar import Control.Monad (when) diff --git a/tests/Tests.hs b/tests/Tests.hs index 20119ea..e6a3b29 100644 --- a/tests/Tests.hs +++ b/tests/Tests.hs @@ -1,6 +1,6 @@ {-# LANGUAGE LambdaCase #-} -import Codec.Archive.Tar.Entry (Entry (..)) +import Codec.Archive.Tar.Entry (entryTime) import Foliage.Tests.Tar import Foliage.Tests.Utils import System.Directory