hpqtypes 1.10.0.1 → 1.10.0.2
raw patch · 4 files changed
+18/−118 lines, 4 filessetup-changedPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +3/−0
- README.md +9/−16
- Setup.hs +0/−67
- hpqtypes.cabal +6/−35
CHANGELOG.md view
@@ -1,3 +1,6 @@+# hpqtypes-1.10.0.2 (2022-10-12)+* Simplify Setup.+ # hpqtypes-1.10.0.1 (2022-09-23) * Provide detailed error when `openConnection` fails.
README.md view
@@ -1,22 +1,15 @@-# hpqtypes [](https://hackage.haskell.org/package/hpqtypes) [](http://travis-ci.org/scrive/hpqtypes)+# hpqtypes +[](https://github.com/scrive/hpqtypes/actions?query=branch%3Amaster)+[](https://hackage.haskell.org/package/hpqtypes)+[](https://packdeps.haskellers.com/feed?needle=andrzej@rybczak.net)+[](https://www.stackage.org/lts/package/hpqtypes)+[](https://www.stackage.org/nightly/package/hpqtypes)+ Efficient and easy-to-use bindings to (slightly modified) libpqtypes,-lipq extension that adds support for binary transport format and+libpq extension that adds support for binary transport format and composite types. -Since modified libpqtypes is used, its source code is bundled along-with the bindings. The differences between verbatim libpqtypes and the-one used by this package:--* per-thread global error structures were replaced by explicit passing- of these structures around so that there is no need to use bound- threads.--* handlers that take values to be put into the database were modified- to always expect pointers to objects, as opposed to previous- situation where primitives were being taken by value (which was- convenient if the library was used directly from C, but created- inconsistency problems while trying to define bindings in a sensible- way).+Source code of libpqtypes is bundled along with the bindings. Examples can be found in the [examples](https://github.com/scrive/hpqtypes/tree/master/examples) directory.
− Setup.hs
@@ -1,67 +0,0 @@-{-# OPTIONS_GHC -Wall #-}-import Control.Monad-import Data.Char-import Distribution.PackageDescription-import Distribution.Simple-import Distribution.Simple.LocalBuildInfo-import Distribution.Simple.Program-import Distribution.Simple.Setup-import Distribution.Simple.Utils-import Distribution.Verbosity-import System.Directory-import System.Exit-import System.FilePath--main :: IO ()-main = defaultMainWithHooks simpleUserHooks {- hookedPrograms = [pgconfigProgram]-, confHook = \pkg flags -> do- lbi <- confHook simpleUserHooks pkg flags- let verbosity = fromFlag $ configVerbosity flags- pqTypesConfigure verbosity- bi <- psqlBuildInfo verbosity lbi- return lbi {- localPkgDescr = updatePackageDescription (Just bi, []) (localPkgDescr lbi)- }-, cleanHook = \desc unit userHooks flags -> do- cleanHook simpleUserHooks desc unit userHooks flags- pqTypesDistclean (fromFlag $ cleanVerbosity flags)-}--pgconfigProgram :: Program-pgconfigProgram = (simpleProgram "pgconfig") {- programFindLocation = \verbosity psp -> do- pgconfig <- findProgramOnSearchPath verbosity psp "pgconfig"- pg_config <- findProgramOnSearchPath verbosity psp "pg_config"- return $ pgconfig `mplus` pg_config-}--psqlBuildInfo :: Verbosity -> LocalBuildInfo -> IO BuildInfo-psqlBuildInfo verbosity lbi = do- (pgconfigProg, _) <- requireProgram verbosity pgconfigProgram (withPrograms lbi)- let pgconfig = getProgramOutput verbosity pgconfigProg-- incDir <- pgconfig ["--includedir"]- libDir <- pgconfig ["--libdir"]-- return emptyBuildInfo {- extraLibDirs = [trim libDir]- , includeDirs = [trim incDir]- }- where- trim = let f = reverse . dropWhile isSpace in f . f--pqTypesConfigure :: Verbosity -> IO ()-pqTypesConfigure verbosity = do- dir <- getCurrentDirectory- setCurrentDirectory $ dir </> "libpqtypes"- -- run configure to create appropriate pqt_config.h- res <- rawSystemExitCode verbosity "env" ["./configure"]- case res of- ExitFailure _ -> putStrLn "WARNING: configure failed, using static pqt_config.h"- _ -> return ()- setCurrentDirectory dir--pqTypesDistclean :: Verbosity -> IO ()-pqTypesDistclean verbosity =- rawSystemExit verbosity "env" ["make", "--directory=libpqtypes", "distclean"]
hpqtypes.cabal view
@@ -1,28 +1,12 @@ name: hpqtypes-version: 1.10.0.1+version: 1.10.0.2 synopsis: Haskell bindings to libpqtypes description: Efficient and easy-to-use bindings to (slightly modified) @libpqtypes@, a @libpq@ extension that adds support for a binary transport format and composite types. .- Since modified @libpqtypes@ is used, its source- code is bundled along with the bindings. The- differences between verbatim @libpqtypes@ and the- one used by this package:- .- * Per-thread global error structures were replaced by- explicit passing of these structures around so that- there is no need to use bound threads.- .- * Handlers that take values to be put into the- database were modified to always expect- pointers to objects, as opposed to previous- situation where primitives were being taken by- value (which was convenient if the library was- used directly from C, but created inconsistency- problems while trying to define bindings in a- sensible way).+ Source code of libpqtypes is bundled along with the bindings. . Examples can be found in the <https://github.com/scrive/hpqtypes/tree/master/examples examples>@@ -32,16 +16,13 @@ license: BSD3 license-file: LICENSE author: Scrive AB-maintainer: Andrzej Rybczak <andrzej@rybczak.net>,- Jonathan Jouty <jonathan@scrive.com>,- Mikhail Glushenkov <mikhail@scrive.com>+maintainer: Andrzej Rybczak <andrzej@rybczak.net> copyright: Scrive AB category: Database-build-type: Custom+build-type: Simple cabal-version: 1.24 tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.2 - extra-source-files: README.md , CHANGELOG.md , examples/Catalog.hs@@ -69,21 +50,10 @@ , libpqtypes/src/libpqtypes-int.h , libpqtypes/src/libpqtypes.h -custom-setup- setup-depends: base >= 4.13 && < 5,- Cabal >= 1.24 && < 3.9,- directory,- filepath- source-repository head type: git location: https://github.com/scrive/hpqtypes.git -source-repository this- type: git- location: https://github.com/scrive/hpqtypes.git- tag: 1.7.0.0- library exposed-modules: Data.Monoid.Utils , Database.PostgreSQL.PQTypes@@ -142,13 +112,14 @@ , text-show >= 2 , uuid-types >= 1.0.3 + pkgconfig-depends: libpq+ hs-source-dirs: src ghc-options: -Wall build-tools: hsc2hs include-dirs: libpqtypes/src- extra-libraries: pq cc-options: -DHAVE_CONFIG_H -D_GNU_SOURCE -D_REENTRANT -std=gnu99 -fsigned-char -fno-strict-aliasing -Wall -Wextra