packages feed

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 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 [![Hackage version](https://img.shields.io/hackage/v/hpqtypes.svg?label=Hackage)](https://hackage.haskell.org/package/hpqtypes) [![Build Status](https://secure.travis-ci.org/scrive/hpqtypes.svg?branch=master)](http://travis-ci.org/scrive/hpqtypes)+# hpqtypes +[![Build Status](https://github.com/scrive/hpqtypes/workflows/Haskell-CI/badge.svg?branch=master)](https://github.com/scrive/hpqtypes/actions?query=branch%3Amaster)+[![Hackage](https://img.shields.io/hackage/v/hpqtypes.svg)](https://hackage.haskell.org/package/hpqtypes)+[![Dependencies](https://img.shields.io/hackage-deps/v/hpqtypes.svg)](https://packdeps.haskellers.com/feed?needle=andrzej@rybczak.net)+[![Stackage LTS](https://www.stackage.org/package/hpqtypes/badge/lts)](https://www.stackage.org/lts/package/hpqtypes)+[![Stackage Nightly](https://www.stackage.org/package/hpqtypes/badge/nightly)](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