packages feed

HsOpenSSL 0.11.7.8 → 0.11.7.9

raw patch · 3 files changed

+32/−149 lines, 3 filesdep ~timesetup-changed

Dependency ranges changed: time

Files

ChangeLog view
@@ -1,3 +1,10 @@+2025-01-02  Vladimir Shabanov  <dev@vshabanov.com>++	* HsOpenSSL.cabal (Version): Bump version to 0.11.7.9++	* Remove Setup.hs (#101)+	by Andreas Abel @andreasabel+ 2024-08-19  Vladimir Shabanov  <dev@vshabanov.com>  	* HsOpenSSL.cabal (Version): Bump version to 0.11.7.8
HsOpenSSL.cabal view
@@ -10,7 +10,7 @@     systems and stable. You may also be interested in the @tls@ package,     <http://hackage.haskell.org/package/tls>, which is a pure Haskell     implementation of SSL.-Version:       0.11.7.8+Version:       0.11.7.9 License:       PublicDomain License-File:  COPYING Author:        Adam Langley, Mikhail Vorozhtsov, PHO, Taru Karttunen@@ -19,14 +19,26 @@ Homepage:      https://github.com/haskell-cryptography/HsOpenSSL Bug-Reports:   https://github.com/haskell-cryptography/HsOpenSSL/issues Category:      Cryptography-Cabal-Version: 1.12+Cabal-Version: 1.18 Tested-With:-    GHC==8.8.1, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3-Build-Type:    Custom-Extra-Source-Files:+    GHC ==8.0.2+     || ==8.2.2+     || ==8.4.4+     || ==8.6.5+     || ==8.8.4+     || ==8.10.7+     || ==9.0.2+     || ==9.2.8+     || ==9.4.8+     || ==9.6.6+     || ==9.8.1+     || ==9.10.1+Build-Type:    Simple+Extra-Doc-Files:     AUTHORS     ChangeLog     README.md+Extra-Source-Files:     cbits/HsOpenSSL.h     cbits/mutex.h     examples/Makefile@@ -39,7 +51,7 @@  Source-Repository head     Type: git-    Location: git://github.com/haskell-cryptography/HsOpenSSL.git+    Location: https://github.com/haskell-cryptography/HsOpenSSL.git  Flag fast-bignum     Description:@@ -67,10 +79,6 @@     Manual:         True -Custom-setup-    setup-depends: Cabal >= 1.12 && < 4,-                   base  >= 4.8 && < 5- Library     Build-Depends:         base       >= 4.8 && < 5,@@ -88,11 +96,15 @@         Build-Depends: integer-gmp >= 1.0.0 && < 1.1.0      if os(darwin) && flag(homebrew-openssl)-        Include-Dirs: /usr/local/opt/openssl/include-        Extra-Lib-Dirs: /usr/local/opt/openssl/lib+        if arch(aarch64)+            Include-Dirs:   /opt/homebrew/opt/openssl/include+            Extra-Lib-Dirs: /opt/homebrew/opt/openssl/lib+        else+            Include-Dirs:   /usr/local/opt/openssl/include+            Extra-Lib-Dirs: /usr/local/opt/openssl/lib      if os(darwin) && flag(macports-openssl)-        Include-Dirs: /opt/local/include+        Include-Dirs:   /opt/local/include         Extra-Lib-Dirs: /opt/local/lib      if flag(use-pkg-config)
− Setup.hs
@@ -1,136 +0,0 @@-{-# LANGUAGE CPP #-}-{-# LANGUAGE TupleSections #-}--#ifndef MIN_VERSION_Cabal--- MIN_VERSION_Cabal is defined and available to custom Setup.hs scripts--- if either GHC >= 8.0 or cabal-install >= 1.24 is used.--- So if it isn't defined, it's very likely we don't have Cabal >= 2.0.-#define MIN_VERSION_Cabal(x,y,z) 0-#endif--import Distribution.Simple-import Distribution.Simple.Setup (ConfigFlags(..), toFlag)-import Distribution.Simple.LocalBuildInfo (localPkgDescr)--#if MIN_VERSION_Cabal(2,0,0)-import Distribution.PackageDescription (FlagName(..), mkFlagName)-#else-import Distribution.PackageDescription (FlagName(..))-#endif--#if MIN_VERSION_Cabal(2,1,0)-import Distribution.PackageDescription (mkFlagAssignment, unFlagAssignment)-#else-import Distribution.PackageDescription (FlagAssignment)-#endif--import Distribution.Verbosity (silent)-import System.Info (os)-import qualified Control.Exception as E (tryJust, throw)-import System.IO.Error (isUserError)-import Control.Monad (forM)-import Data.List--#if !(MIN_VERSION_Cabal(2,0,0))-mkFlagName = FlagName-#endif--#if !(MIN_VERSION_Cabal(2,1,0))-mkFlagAssignment :: [(FlagName, Bool)] -> FlagAssignment-mkFlagAssignment = id--unFlagAssignment :: FlagAssignment -> [(FlagName, Bool)]-unFlagAssignment = id-#endif---- On macOS we're checking whether OpenSSL library is avaiable--- and if not, we're trying to find Homebrew or MacPorts OpenSSL installations.------ Method is dumb -- set homebrew-openssl or macports-openssl flag and try--- to configure and check C libs.------ If no or multiple libraries are found we display error message--- with instructions.--main-    | os == "darwin" =-        defaultMainWithHooks simpleUserHooks { confHook = conf }-    | otherwise =-        defaultMain--flags = ["homebrew-openssl", "macports-openssl"]--conf descr cfg = do-    c <- tryConfig descr cfg-    case c of-        Right lbi -> return lbi -- library was found-        Left e-            | unFlagAssignment (configConfigurationsFlags cfg)-              `intersect` [(mkFlagName f, True) | f <- flags] /= [] ->-                E.throw e-                -- flag was set but library still wasn't found-            | otherwise -> do-                r <- forM flags $ \ f ->-                    fmap (f,) $ tryConfig descr $-                    setFlag (mkFlagName f) cfg { configVerbosity = toFlag silent }-                    -- TODO: configure is a long operation-                    -- while checkForeignDeps is fast.-                    -- Perhaps there is a way to configure once-                    -- and only apply flags to result and check.-                    -- However, additional `configure`s happen only on macOS-                    -- and only when library wasn't found.-                case [(f,r) | (f, Right r) <- r] of-                    [(_,lbi)] ->-                        return lbi -- library was found-                    [] ->-                        fail notFound-                    fs ->-                        fail $ multipleFound fs--notFound = unlines-    [ "Can't find OpenSSL library."-    , "Install it via 'brew install openssl' or 'port install openssl'."-    , ""-    , "If you already have OpenSSL installed, specify the location"-    , "of the installed library in cabal.project:"-    , ""-    , "package HsOpenSSL"-    , "  extra-include-dirs: ..."-    , "  extra-lib-dirs: ..."-    , ""-    , "or use"-    , ""-    , "cabal configure --extra-include-dirs=... --extra-lib-dirs=..."-    ]--multipleFound fs = unlines-    [ "Multiple OpenSSL libraries were found,"-    , "use " ++ intercalate " or " ["'-f " ++ f ++ "'" | (f,_) <- fs]-    , "to specify location of installed OpenSSL library."-    ]--setFlag f c = c { configConfigurationsFlags = mkFlagAssignment-                                            $ go-                                            $ unFlagAssignment-                                            $ configConfigurationsFlags c }-    where go [] = []-          go (x@(n, _):xs)-              | n == f = (f, True) : xs-              | otherwise = x : go xs--tryConfig descr flags = do-    lbi <- confHook simpleUserHooks descr flags-    -- confHook simpleUserHooks == Distribution.Simple.Configure.configure--    -- Testing whether C lib and header dependencies are working.-    -- We check exceptions only here, to check C libs errors but not other-    -- configuration problems like not resolved .cabal dependencies.-    E.tryJust ue $ do-        postConf simpleUserHooks [] flags (localPkgDescr lbi) lbi-        -- postConf simpleUserHooks ~==-        --   Distribution.Simple.Configure.checkForeignDeps--        return lbi--    where ue e | isUserError e = Just e-               | otherwise = Nothing