From 7b76374b2b44152bfbf41fcb60162c2ce9182e7a Mon Sep 17 00:00:00 2001 From: Nicolas Mattia Date: Sat, 25 Nov 2023 16:41:21 +0100 Subject: [PATCH] Update nixpkgs & macos (#381) --- .github/workflows/test.yml | 2 +- nix/sources.json | 6 +++--- src/Data/Text/Extended.hs | 4 ++-- src/Niv/Cli.hs | 7 ++++--- src/Niv/Git/Cmd.hs | 4 ++-- src/Niv/Logger.hs | 8 ++++---- src/Niv/Update.hs | 12 ++++++------ 7 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f246f6a..7096a8a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: tests: strategy: matrix: - os: [ubuntu-20.04, macos-11] + os: [ubuntu-20.04, macos-12] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/nix/sources.json b/nix/sources.json index e141539..dadfa7d 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -5,10 +5,10 @@ "homepage": null, "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d6d90c3bf3d95902427c64dae883715de1fae19", - "sha256": "027l7f1533wb8cb55dq11dfvkpi48s5m15cq3aj0f84m715682vn", + "rev": "41e7ce9a0a29b26e5ca97fd0a4bd85765ed8f9ac", + "sha256": "1gp9qwyqwfv8x8k8rj11w7ajlb96a9njxsb5vg14dzadhn97slrc", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5d6d90c3bf3d95902427c64dae883715de1fae19.tar.gz", + "url": "https://github.com/NixOS/nixpkgs/archive/41e7ce9a0a29b26e5ca97fd0a4bd85765ed8f9ac.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "termtosvg": { diff --git a/src/Data/Text/Extended.hs b/src/Data/Text/Extended.hs index cc4c2b4..4f8df95 100644 --- a/src/Data/Text/Extended.hs +++ b/src/Data/Text/Extended.hs @@ -7,11 +7,11 @@ import Niv.Logger import System.Exit (exitFailure) import UnliftIO -tshow :: Show a => a -> T.Text +tshow :: (Show a) => a -> T.Text tshow = T.pack . show -- not quite the perfect place for this -abort :: MonadIO io => T.Text -> io a +abort :: (MonadIO io) => T.Text -> io a abort msg = do tsay $ T.unwords [tbold $ tred "FATAL:", msg] liftIO exitFailure diff --git a/src/Niv/Cli.hs b/src/Niv/Cli.hs index 55efcf8..4bfc94a 100644 --- a/src/Niv/Cli.hs +++ b/src/Niv/Cli.hs @@ -50,7 +50,7 @@ instance MonadUnliftIO NIO where getFindSourcesJson :: NIO FindSourcesJson getFindSourcesJson = ask -li :: MonadIO io => IO a -> io a +li :: (MonadIO io) => IO a -> io a li = liftIO cli :: IO () @@ -72,7 +72,8 @@ cli = do Just $ "niv - dependency manager for Nix projects" Opts.<$$> "" - Opts.<$$> "version:" Opts.<+> Opts.text (showVersion version) + Opts.<$$> "version:" + Opts.<+> Opts.text (showVersion version) ] parseFindSourcesJson = AtPath @@ -394,7 +395,7 @@ cmdShow = \case sources <- unSources <$> li (getSources fsj) forWithKeyM_ sources $ showPackage -showPackage :: MonadIO io => PackageName -> PackageSpec -> io () +showPackage :: (MonadIO io) => PackageName -> PackageSpec -> io () showPackage (PackageName pname) (PackageSpec spec) = do tsay $ tbold pname forM_ (KM.toList spec) $ \(attrName, attrValValue) -> do diff --git a/src/Niv/Git/Cmd.hs b/src/Niv/Git/Cmd.hs index c4c1f27..e623d1a 100644 --- a/src/Niv/Git/Cmd.hs +++ b/src/Niv/Git/Cmd.hs @@ -70,9 +70,9 @@ parseGitShortcut txt'@(T.dropWhileEnd (== '/') -> txt) = ".git" `T.isSuffixOf` txt || "git@" - `T.isPrefixOf` txt + `T.isPrefixOf` txt || "ssh://" - `T.isPrefixOf` txt + `T.isPrefixOf` txt parseGitPackageSpec :: Opts.Parser PackageSpec parseGitPackageSpec = diff --git a/src/Niv/Logger.hs b/src/Niv/Logger.hs index 8114a4c..0564834 100644 --- a/src/Niv/Logger.hs +++ b/src/Niv/Logger.hs @@ -80,7 +80,7 @@ job str act = do indent = void $ atomicModifyIORef jobStack (\x -> (x + 1, undefined)) deindent = void $ atomicModifyIORef jobStack (\x -> (x - 1, undefined)) -jobStackSize :: MonadIO io => io Int +jobStackSize :: (MonadIO io) => io Int jobStackSize = readIORef jobStack jobStack :: IORef Int @@ -88,10 +88,10 @@ jobStack = unsafePerformIO $ newIORef 0 {-# NOINLINE jobStackSize #-} -tsay :: MonadIO io => T.Text -> io () +tsay :: (MonadIO io) => T.Text -> io () tsay = say . T.unpack -say :: MonadIO io => String -> io () +say :: (MonadIO io) => String -> io () say msg = do stackSize <- jobStackSize let indent = replicate (stackSize * 2) ' ' @@ -102,7 +102,7 @@ say msg = do mkWarn :: T.Text -> T.Text mkWarn w = tbold (tyellow "WARNING") <> ": " <> w -twarn :: MonadIO io => T.Text -> io () +twarn :: (MonadIO io) => T.Text -> io () twarn = tsay . mkWarn mkNote :: T.Text -> T.Text diff --git a/src/Niv/Update.hs b/src/Niv/Update.hs index dae09d3..eeb3ae7 100644 --- a/src/Niv/Update.hs +++ b/src/Niv/Update.hs @@ -149,7 +149,7 @@ instance Applicative Box where boxOp = boxOp f <*> boxOp v } -instance Semigroup a => Semigroup (Box a) where +instance (Semigroup a) => Semigroup (Box a) where (<>) = liftA2 (<>) instance IsString (Box T.Text) where @@ -283,10 +283,10 @@ runUpdate' attrs = \case Nothing -> pure $ UpdateFailed $ FailTemplate v' (HMS.keys attrs) Just v'' -> pure $ UpdateSuccess attrs (v'' <* v) -- carries over v's newness -decodeBox :: FromJSON a => T.Text -> Box Value -> Box a +decodeBox :: (FromJSON a) => T.Text -> Box Value -> Box a decodeBox msg v = v {boxOp = boxOp v >>= decodeValue msg} -decodeValue :: FromJSON a => T.Text -> Value -> IO a +decodeValue :: (FromJSON a) => T.Text -> Value -> IO a decodeValue msg v = case Aeson.fromJSON v of Aeson.Success x -> pure x Aeson.Error str -> @@ -313,17 +313,17 @@ template = Template check :: (a -> Bool) -> Update (Box a) () check = Check -load :: FromJSON a => T.Text -> Update () (Box a) +load :: (FromJSON a) => T.Text -> Update () (Box a) load k = Load k >>> arr (decodeBox $ "When loading key " <> k) -- TODO: should input really be Box? -useOrSet :: JSON a => T.Text -> Update (Box a) (Box a) +useOrSet :: (JSON a) => T.Text -> Update (Box a) (Box a) useOrSet k = arr (fmap Aeson.toJSON) >>> UseOrSet k >>> arr (decodeBox $ "When trying to use or set key " <> k) -update :: JSON a => T.Text -> Update (Box a) (Box a) +update :: (JSON a) => T.Text -> Update (Box a) (Box a) update k = arr (fmap Aeson.toJSON) >>> Update k