packages feed

hackage-cli 0.1.0.1 → 0.1.0.2

raw patch · 10 files changed

+66/−69 lines, 10 filesdep +base-compatdep ~Cabaldep ~basedep ~filepathPVP ok

version bump matches the API change (PVP)

Dependencies added: base-compat

Dependency ranges changed: Cabal, base, filepath, optparse-applicative, time, zlib

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,10 +1,22 @@ # Changelog for hackage-cli +## 0.1.0.2++_Andreas Abel, 2024-07-02_++- Allow revision of `stability` field+  (`hackage-server` issue [#1182](https://github.com/haskell/hackage-server/issues/1182)).+- Print correct revision in `push-cabal --incr-rev`+  (issue [#66](https://github.com/hackage-trustees/hackage-cli/issues/66)).+- Fix for `Cabal-3.12.0.0`.++Builds with `Cabal 3.4 - 3.12` and `GHC 8.2 - 9.10`.+ ## 0.1.0.1  _Andreas Abel, 2023-02-20_ -- Fix for `Cabal-3.9.0.0`+- Fix for `Cabal-3.9.0.0`.  Builds with `Cabal 3.4 - 3.9` and `GHC 8.2 - 9.6`. @@ -12,11 +24,11 @@  _Andreas Abel, 2023-01-15_ -- Skip errors when running `add-bound` on several files.-  (PR [#42](https://github.com/hackage-trustees/hackage-cli/pull/42))+- Skip errors when running `add-bound` on several files+  (PR [#42](https://github.com/hackage-trustees/hackage-cli/pull/42)). -- If no version range is given for a dependency, interpret it as `-any` rather than _none_ (`<0`).-  (PR [#48](https://github.com/hackage-trustees/hackage-cli/pull/48))+- If no version range is given for a dependency, interpret it as `-any` rather than _none_ (`<0`)+  (PR [#48](https://github.com/hackage-trustees/hackage-cli/pull/48)).  Builds with `Cabal 3.4 - 3.8` and `GHC 8.2 - 9.4`. 
hackage-cli.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.4 name:                hackage-cli-version:             0.1.0.1+version:             0.1.0.2  synopsis:            CLI tool for Hackage description:@@ -18,9 +18,11 @@ -- Supported GHC versions when building with cabal: tested-with:   -- Keep in descending order.-  GHC == 9.6.0-  GHC == 9.4.4-  GHC == 9.2.5+  GHC == 9.10.1+  GHC == 9.8.2+  GHC == 9.6.5+  GHC == 9.4.8+  GHC == 9.2.8   GHC == 9.0.2   GHC == 8.10.7   GHC == 8.8.4@@ -28,16 +30,16 @@   GHC == 8.4.4   GHC == 8.2.2 -extra-source-files:+extra-doc-files:   CHANGELOG.md   README.md++extra-source-files:   fixtures/*.diff   fixtures/*.cabal   -- Supported GHC versions when building with stack:-  stack-9.4.4.yaml-  stack-9.2.5.yaml-  stack-9.0.2.yaml-  stack-8.10.7.yaml+  stack-9.8.yaml+  stack-9.6.yaml  source-repository head   Type:     git@@ -50,10 +52,10 @@   ghc-options:         -Wall -Wcompat    build-depends:-    , base         >= 4.10.0.0 && < 4.19-    , bytestring   >= 0.10.4.0 && < 0.12-    , Cabal        >= 3.4      && < 3.11-    , containers   >= 0.5.0.0  && < 0.7+    , base         >= 4.10.0.0 && < 5+    , bytestring   >= 0.10.4.0 && < 0.13+    , Cabal        >= 3.4      && < 3.13+    , containers   >= 0.5.0.0  && < 0.8     , mtl          >= 2.2.2    && < 2.3   || >= 2.3.1 && < 2.4     , pretty      ^>= 1.1.2 @@ -71,10 +73,10 @@     , bytestring     , Cabal     , cabal-revisions-    , tasty         >= 1.0      && < 1.5+    , tasty         >= 1.0      && < 1.6         -- tasty-1.0 for stack-8.2.2.yaml     , tasty-golden ^>= 2.3.2-    , filepath     ^>= 1.4.0.0+    , filepath      >= 1.4.0.0  && < 1.6  executable hackage-cli   default-language:    Haskell2010@@ -109,26 +111,28 @@     , mtl    build-depends:-    , aeson                  >= 1.2.4.0 && < 2.2+    , aeson                  >= 1.2.4.0  && < 2.3         -- aeson-1.2.4.0 for stack-8.2.2.yaml-    , deepseq               ^>= 1.4.0.0+    , base-compat            >= 0.13.0   && < 1+        -- base-compat for applyWhen (added to base in 4.18)+    , deepseq               ^>= 1.4.0.0 || ^>= 1.5.0.0     , directory             ^>= 1.2.0.1 || ^>= 1.3.0.0-    , filepath              ^>= 1.4.0.0+    , filepath               >= 1.4.0.0  && < 2     , http-io-streams       ^>= 0.1.0.0     , io-streams            ^>= 1.5.0.1     , microlens              >= 0.4.8.3  && < 4.13     , microlens-mtl          >= 0.1.11.1 && < 0.3     , microlens-th           >= 0.4.1.3  && < 0.5     , netrc                 ^>= 0.2.0.0-    , optparse-applicative   >= 0.14    && < 0.18+    , optparse-applicative   >= 0.14     && < 0.19     , process-extras        ^>= 0.7.4-    , semigroups             >= 0.18.3  && < 0.21+    , semigroups             >= 0.18.3   && < 0.21     , stringsearch          ^>= 0.3.6     , tagsoup               ^>= 0.14-    , tar                   ^>= 0.5-    , text                   >= 1.2     && < 2.1-    , time                   >= 1.5.0.1 && < 1.13+    , tar                    >= 0.5      && < 1+    , text                   >= 1.2      && < 2.2+    , time                   >= 1.5.0.1  && < 1.15     , unordered-containers  ^>= 0.2.7-    , zlib                  ^>= 0.6.1+    , zlib                   >= 0.6.1    && < 0.8    ghc-options: -Wall -Wcompat -threaded
lib/Distribution/Server/Util/CabalRevisions.hs view
@@ -12,7 +12,7 @@ -- Copyright   :  Duncan Coutts et al. -- SPDX-License-Identifier: BSD-3-Clause ----- Maintainer  :  libraries@haskell.org+-- Maintainer  :  Andreas Abel -- Stability   :  provisional -- Portability :  portable --@@ -178,8 +178,15 @@      checkPackageChecks :: Check GenericPackageDescription     checkPackageChecks pkg pkg' =-      let checks  = checkPackage pkg  Nothing-          checks' = checkPackage pkg' Nothing+      let checks  = checkPackage pkg+-- The API change of checkPackage happened somewhere between 3.10 and 3.12.+#if !MIN_VERSION_Cabal(3,12,0)+                      Nothing+#endif+          checks' = checkPackage pkg'+#if !MIN_VERSION_Cabal(3,12,0)+                      Nothing+#endif        in case checks' \\ checks of             []        -> return ()             newchecks -> fail $ unlines (map ppPackageCheck newchecks)@@ -341,8 +348,7 @@   changesOk "copyright"  fromShortText copyrightA copyrightB   changesOk "maintainer" fromShortText maintainerA maintainerB   changesOk "author"     fromShortText authorA authorB-  checkSame "The stability field is unused, don't bother changing it."-            stabilityA stabilityB+  changesOk "stability"  fromShortText stabilityA stabilityB   changesOk' Trivial "tested-with" (show . ppTestedWith) testedWithA testedWithB   changesOk "homepage" fromShortText homepageA homepageB   checkSame "The package-url field is unused, don't bother changing it."
src/Main.hs view
@@ -31,6 +31,7 @@ import qualified Data.ByteString.Search                 as BSS import           Data.Char                              (isSpace) import           Data.Foldable                          (toList)+import           Data.Function.Compat                   (applyWhen) import qualified Data.List                              as List import           Data.Maybe import           Data.Time.Clock.POSIX                  (getPOSIXTime)@@ -735,18 +736,18 @@            putStrLn $ "Using Hackage credentials for username " ++ show username             forM_ optPsCFiles $ \fn -> do-               (pkgn,pkgv,xrev) <- pkgDescToPkgIdXrev <$> C.readGenericPackageDescription C.deafening fn+               (pkgn, pkgv, xrev0) <- pkgDescToPkgIdXrev <$> C.readGenericPackageDescription C.deafening fn+               let xrev = applyWhen optPsCIncrRev (+1) xrev0+                putStrLn $ concat [ "Pushing ", show fn                                  , " (", BS8.unpack pkgn, "-", BS8.unpack pkgv, "~", show xrev, ")"                                  , if not optPsCPublish then " [review-mode]" else "", " ..."                                  ] -               let editCab | optPsCIncrRev = cabalEditXRev (xrev+1)-                           | otherwise    = id--               rawcab <- editCab <$> BS.readFile fn-               (dt,tmp) <- timeIt $ runHConn (hackagePostCabal (username,password) (pkgn,pkgv) rawcab-                                                               (if optPsCPublish then WetRun else DryRun))+               rawcab <- applyWhen optPsCIncrRev (cabalEditXRev xrev) <$> BS.readFile fn+               (dt, tmp) <- timeIt $ runHConn $+                 hackagePostCabal (username, password) (pkgn, pkgv) rawcab $+                   if optPsCPublish then WetRun else DryRun                 printf "Hackage response was (after %.3f secs):\n" dt                putStrLn (replicate 80 '=')
− stack-8.10.7.yaml
@@ -1,16 +0,0 @@-resolver: lts-18.28-compiler: ghc-8.10.7-compiler-check: match-exact--packages:-- .--extra-deps:-- Cabal-3.4.1.0-- brotli-0.0.0.0-- brotli-streams-0.0.0.0-- http-io-streams-0.1.6.0@rev:0-- netrc-0.2.0.0-- xor-0.0.1.0-# For http-io-streams-0.1.6.0@rev:1-# - base64-bytestring-1.2.1.0
− stack-9.0.2.yaml
@@ -1,6 +0,0 @@-resolver: lts-19.33-compiler: ghc-9.0.2-compiler-check: match-exact--packages:-- .
− stack-9.2.5.yaml
@@ -1,3 +0,0 @@-resolver: lts-20.6-compiler: ghc-9.2.5-compiler-check: match-exact
− stack-9.4.4.yaml
@@ -1,3 +0,0 @@-resolver: nightly-2023-01-14-compiler: ghc-9.4.4-compiler-check: match-exact
+ stack-9.6.yaml view
@@ -0,0 +1,1 @@+resolver: lts-22.27
+ stack-9.8.yaml view
@@ -0,0 +1,1 @@+resolver: nightly-2024-07-01