packages feed

cabal-pkg-config-version-hook 0.1.0.1 → 0.1.1.0

raw patch · 3 files changed

+13/−6 lines, 3 filesdep +containersPVP ok

version bump matches the API change (PVP)

Dependencies added: containers

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for cabal-pkg-config-version-hook +## Unreleased++* Fix support for Cabal 3.12.1.0, which would otherwise not pass defines to inline C/C++ code (e.g. inline-c-cpp)+ ## 0.1.0.1 -- 2023-06-28  * Fix an incomplete pattern match
cabal-pkg-config-version-hook.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               cabal-pkg-config-version-hook-version:            0.1.0.1+version:            0.1.1.0 synopsis:           Make Cabal aware of pkg-config package versions description:        A setup hook for Cabal that determines the compile-time version of a pkg-config package and adds CPP macros and enables flags. -- A URL where users can report bugs.@@ -21,6 +21,7 @@     build-depends:       base ==4.*       , Cabal >= 2.2.0.0+      , containers       , process       , lens     hs-source-dirs:   src
src/Distribution/PkgConfigVersionHook.hs view
@@ -44,7 +44,7 @@ import qualified Data.List as L import Distribution.Simple (UserHooks (confHook)) import Distribution.Simple.Setup (ConfigFlags, configConfigurationsFlags)-import Distribution.Types.BuildInfo.Lens (ccOptions, cppOptions, cxxOptions)+import Distribution.Types.BuildInfo.Lens (ccOptions, cppOptions, cxxOptions, options) import Distribution.Types.Flag (flagName, mkFlagAssignment, mkFlagName, unFlagName) import Distribution.Types.GenericPackageDescription.Lens   ( GenericPackageDescription,@@ -116,16 +116,18 @@         ]       extraFlags =         [ (mkFlagName (flagPrefixName settings ++ "-" ++ show major ++ "_" ++ show minor), (actualMajor, actualMinor) >= (major, minor))-          | declaredFlag <- genericPackageDescription ^. genPackageFlags,-            let rawName = unFlagName $ flagName declaredFlag,-            rawVersion <- L.stripPrefix (flagPrefixName settings ++ "-") rawName & toList,-            [major, minor] <- unambiguously parseFlagVersion rawVersion & toList+        | declaredFlag <- genericPackageDescription ^. genPackageFlags,+          let rawName = unFlagName $ flagName declaredFlag,+          rawVersion <- L.stripPrefix (flagPrefixName settings ++ "-") rawName & toList,+          [major, minor] <- unambiguously parseFlagVersion rawVersion & toList         ]+      ghcDefines = map ("-optcxx" <>) defines <> map ("-optc" <>) defines       setDefines comp x =         x           & comp . cppOptions %~ (<> defines)           & comp . ccOptions %~ (<> defines)           & comp . cxxOptions %~ (<> defines)+          & comp . options %~ fmap (<> ghcDefines)       genericPackageDescription' =         genericPackageDescription           & setDefines (condLibrary . traverse . traverse)