packages feed

hgeos 0.1.5.0 → 0.1.5.1

raw patch · 6 files changed

+86/−16 lines, 6 filesbuild-type:Customsetup-changedPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Setup.hs view
@@ -1,4 +1,85 @@+{-|+Module      : Main+Description : Setup script for hgeos build+Copyright   : (C) Richard Cook, 2016+Licence     : MIT+Maintainer  : rcook@rcook.org+Stability   : experimental+Portability : portable+-}++{-# LANGUAGE CPP #-}++module Main (main) where++#ifdef mingw32_HOST_OS++import Data.List+import Distribution.PackageDescription import Distribution.Simple+import Distribution.Simple.LocalBuildInfo+import Distribution.Simple.Setup+import System.Directory+import System.FilePath +testPrefix :: String+testPrefix = "test:"++dllName :: String+dllName = "geos_c.dll"+ main :: IO ()+main = defaultMainWithHooks hgeosHooks++hgeosHooks :: UserHooks+hgeosHooks = simpleUserHooks+    { confHook = hgeosConfHook+    , postBuild = hgeosPostBuild+    }++hgeosConfHook :: (GenericPackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo+hgeosConfHook (description, buildInfo) flags = do+    localBuildInfo <- confHook simpleUserHooks (description, buildInfo) flags+    let packageDescription = localPkgDescr localBuildInfo+        Just packageLibrary = library packageDescription+        libraryBuildInfo = libBuildInfo packageLibrary++    dir <- getCurrentDirectory+    let externalDir = dir </> "external"+        geosPackageDir = externalDir </> "geos"+        geosIncludeDir = geosPackageDir </> "include"+        geosLibDir = geosPackageDir </> "lib"++    return localBuildInfo {+        localPkgDescr = packageDescription {+            library = Just $ packageLibrary {+                libBuildInfo = libraryBuildInfo {+                    includeDirs = geosIncludeDir : includeDirs libraryBuildInfo,+                    extraLibDirs = geosLibDir : extraLibDirs libraryBuildInfo+                }+            }+        }+    }++hgeosPostBuild :: Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO ()+hgeosPostBuild args buildFlags _ _ = do+    case find (testPrefix `isPrefixOf`) args of+         Nothing -> return ()+         Just testArg -> do+                dir <- getCurrentDirectory+                let testName = drop (length testPrefix) testArg+                    distDir = dir </> (fromFlag $ buildDistPref buildFlags)+                    buildDir = distDir </> "build"+                    testDLLPath = buildDir </> testName </> dllName+                    geosDLLPath = dir </> "external" </> "geos" </> "bin" </> dllName+                copyFile geosDLLPath testDLLPath+                return ()++#else++import Distribution.Simple++main :: IO () main = defaultMain++#endif
hgeos.cabal view
@@ -1,5 +1,5 @@ name:                 hgeos-version:              0.1.5.0+version:              0.1.5.1 synopsis:             Simple Haskell bindings to GEOS C API description:   Simple Haskell bindings to the <https://trac.osgeo.org/geos/ GEOS>@@ -13,7 +13,7 @@ maintainer:           Richard Cook <rcook@rcook.org> copyright:            (C) 2016 Richard Cook category:             Data, Geography, Geometry, Text-build-type:           Simple+build-type:           Custom cabal-version:        >= 1.10 data-files:           data/namibia.wkt @@ -28,14 +28,10 @@                     , transformers   extra-libraries:    geos_c   c-sources:          src/lib/Data/Geolocation/GEOS/helpers.c-                    , src/lib/Data/Geolocation/GEOS/helpers.h   cc-options:         -std=c99 -pthread   exposed-modules:    Data.Geolocation.GEOS                     , Data.Geolocation.GEOS.Imports                     , Data.Geolocation.GEOS.Trans-  if os(windows)-    include-dirs:     C:/OSGeo4W64/include-    extra-lib-dirs:   C:/OSGeo4W64/lib  test-suite hgeos-app   type:               exitcode-stdio-1.0
src/lib/Data/Geolocation/GEOS.hs view
@@ -5,7 +5,7 @@ Licence     : MIT Maintainer  : rcook@rcook.org Stability   : experimental-Portability : POSIX+Portability : portable  A high-level API for interoperating with GEOS C API which includes automatic management of lifetimes of objects such as readers, writers and geometries.
src/lib/Data/Geolocation/GEOS/Imports.hs view
@@ -5,7 +5,7 @@ Licence     : MIT Maintainer  : rcook@rcook.org Stability   : experimental-Portability : POSIX+Portability : portable  These are low-level FFI bindings for the GEOS C API derived from <http://geos.osgeo.org/doxygen/geos__c_8h_source.html geos_c.h>. These enable
src/lib/Data/Geolocation/GEOS/Trans.hs view
@@ -5,7 +5,7 @@ Licence     : MIT Maintainer  : rcook@rcook.org Stability   : experimental-Portability : POSIX+Portability : portable  These are @MaybeT@ monad transformer wrapper functions for the high-level API to simplify error handling in client code.
− src/lib/Data/Geolocation/GEOS/helpers.h
@@ -1,7 +0,0 @@-#pragma once--#include "geos_c.h"--GEOSContextHandle_t initializeGEOSWithHandlers();-const char* getNoticeMessage();-const char* getErrorMessage();