hpack 0.39.5 → 0.39.6
raw patch · 7 files changed
+36/−8 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +3/−0
- LICENSE +1/−1
- hpack.cabal +2/−2
- resources/test/hpack.cabal +2/−2
- src/Hpack/Config.hs +12/−3
- src/Hpack/Syntax/DependencyVersion.hs +4/−0
- test/EndToEndSpec.hs +12/−0
CHANGELOG.md view
@@ -1,3 +1,6 @@+## Changes in 0.39.6+ - Add support for top-level field `codeberg`+ ## Changes in 0.39.5 - When rendering build dependencies in a Cabal file, Hpack no longer excludes the reference to the main library from the shorthand syntax such as
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2014-2025 Simon Hengel <sol@typeful.net>+Copyright (c) 2014-2026 Simon Hengel <sol@typeful.net> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
hpack.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.0 --- This file has been generated from package.yaml by hpack version 0.38.3.+-- This file has been generated from package.yaml by hpack version 0.39.1. -- -- see: https://github.com/sol/hpack name: hpack-version: 0.39.5+version: 0.39.6 synopsis: A modern format for Haskell packages description: See the README at <https://github.com/sol/hpack#readme> category: Development
resources/test/hpack.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.0 --- This file has been generated from package.yaml by hpack version 0.38.3.+-- This file has been generated from package.yaml by hpack version 0.39.1. -- -- see: https://github.com/sol/hpack name: hpack-version: 0.39.5+version: 0.39.6 synopsis: A modern format for Haskell packages description: See the README at <https://github.com/sol/hpack#readme> category: Development
src/Hpack/Config.hs view
@@ -610,6 +610,7 @@ , packageConfigDataFiles :: Maybe (List FilePath) , packageConfigDataDir :: Maybe FilePath , packageConfigGithub :: Maybe GitHub+, packageConfigCodeberg :: Maybe GitHub , packageConfigGit :: Maybe String , packageConfigCustomSetup :: Maybe CustomSetupSection , packageConfigLibrary :: Maybe library@@ -1380,7 +1381,7 @@ f name = "Specified source-dir " ++ show name ++ " does not exist" sourceRepository :: Maybe SourceRepository- sourceRepository = github <|> (`SourceRepository` Nothing) <$> packageConfigGit+ sourceRepository = codeberg <|> github <|> (`SourceRepository` Nothing) <$> packageConfigGit github :: Maybe SourceRepository github = toSourceRepository <$> packageConfigGithub@@ -1388,18 +1389,26 @@ toSourceRepository :: GitHub -> SourceRepository toSourceRepository (GitHub owner repo subdir) = SourceRepository (githubBaseUrl ++ owner ++ "/" ++ repo) subdir + codeberg :: Maybe SourceRepository+ codeberg = toSourceRepository <$> packageConfigCodeberg+ where+ toSourceRepository :: GitHub -> SourceRepository+ toSourceRepository (GitHub owner repo subdir) = SourceRepository (codebergBaseUrl ++ owner ++ "/" ++ repo) subdir+ homepage :: Maybe String homepage = case packageConfigHomepage of Just Nothing -> Nothing- _ -> join packageConfigHomepage <|> fromGithub+ _ -> join packageConfigHomepage <|> fromCodeberg <|> fromGithub where+ fromCodeberg = (++ "#readme") . sourceRepositoryUrl <$> codeberg fromGithub = (++ "#readme") . sourceRepositoryUrl <$> github bugReports :: Maybe String bugReports = case packageConfigBugReports of Just Nothing -> Nothing- _ -> join packageConfigBugReports <|> fromGithub+ _ -> join packageConfigBugReports <|> fromCodeberg <|> fromGithub where+ fromCodeberg = (++ "/issues") . sourceRepositoryUrl <$> codeberg fromGithub = (++ "/issues") . sourceRepositoryUrl <$> github maintainer :: Maybe (List String)
src/Hpack/Syntax/DependencyVersion.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE ViewPatterns #-} module Hpack.Syntax.DependencyVersion ( githubBaseUrl+, codebergBaseUrl , GitRef , GitUrl @@ -44,6 +45,9 @@ githubBaseUrl :: String githubBaseUrl = "https://github.com/"++codebergBaseUrl :: String+codebergBaseUrl = "https://codeberg.org/" type GitUrl = String type GitRef = String
test/EndToEndSpec.hs view
@@ -314,6 +314,18 @@ github: https://github.com/sol/hpack/issues/365 |] `shouldFailWith` "package.yaml: Error while parsing $.github - expected owner/repo or owner/repo/subdir, but encountered \"https://github.com/sol/hpack/issues/365\"" + describe "codeberg" $ do+ it "accepts owner/repo" $ do+ [i|+ codeberg: sol/hpack+ |] `shouldRenderTo` package [i|+ homepage: https://codeberg.org/sol/hpack#readme+ bug-reports: https://codeberg.org/sol/hpack/issues+ source-repository head+ type: git+ location: https://codeberg.org/sol/hpack+ |]+ describe "homepage" $ do it "accepts homepage URL" $ do [i|