From 4f6d554386b7cfa5bcea5e13742bfdb6e713b1da Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Thu, 3 Feb 2022 13:59:05 +0000 Subject: [PATCH] Make the new network-bsd package optional, by implementing the keyword REQUIRED in the check_haskell_package_exists macro Last-Update: 2020-07-08 Gbp-Pq: Name optional-network-bsd.patch --- cmake_modules/CheckHaskellPackageExists.cmake | 8 +++-- gameServer/CMakeLists.txt | 36 +++++++++---------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/cmake_modules/CheckHaskellPackageExists.cmake b/cmake_modules/CheckHaskellPackageExists.cmake index 8d13f8f..c50b828 100644 --- a/cmake_modules/CheckHaskellPackageExists.cmake +++ b/cmake_modules/CheckHaskellPackageExists.cmake @@ -11,7 +11,7 @@ # See the License for more information. #============================================================================= -macro(CHECK_HASKELL_PACKAGE_EXISTS PACKAGE MODULE FUNCTION PARAMCOUNT) +macro(CHECK_HASKELL_PACKAGE_EXISTS PACKAGE MODULE FUNCTION PARAMCOUNT REQUIRED) # NOTE: MODULE, FUNCTION and PARAMCOUNT are curretly ignored. # TODO: Either implement these or drop? @@ -41,7 +41,11 @@ macro(CHECK_HASKELL_PACKAGE_EXISTS PACKAGE MODULE FUNCTION PARAMCOUNT) "Determining if the Haskell package ${PACKAGE} " "exists failed with the following output:\n" "${BUILD_ERROR}\n\n") - message(FATAL_ERROR "Haskell package '${PACKAGE}' required") + if("${REQUIRED}" STREQUAL "REQUIRED") + message(FATAL_ERROR "Haskell package '${PACKAGE}' required") + else() + message(STATUS "Haskell package '${PACKAGE}' optionally required, but not found") + endif() endif() endif() endmacro() diff --git a/gameServer/CMakeLists.txt b/gameServer/CMakeLists.txt index e71650c..6a61c66 100644 --- a/gameServer/CMakeLists.txt +++ b/gameServer/CMakeLists.txt @@ -5,24 +5,24 @@ find_package_or_disable(GHC NOSERVER) include(${CMAKE_MODULE_PATH}/CheckHaskellPackageExists.cmake) -check_haskell_package_exists(base "Control.Exception" mask 1) -check_haskell_package_exists(containers "Data.Map" size 1) -check_haskell_package_exists(vector "Data.Vector" length 1) -check_haskell_package_exists(bytestring "Data.ByteString" pack 1) -check_haskell_package_exists(network "Network.Socket" defaultHints 0) -check_haskell_package_exists(network-bsd "Network.BSD" getHostName 0) -check_haskell_package_exists(time "Data.Time" getCurrentTime 0) -check_haskell_package_exists(mtl "Control.Monad.State" fix 1) -check_haskell_package_exists(sandi "Codec.Binary.Base64" encode 1) -check_haskell_package_exists(hslogger "System.Log.Logger" warningM 1) -check_haskell_package_exists(process "System.Process" createProcess 3) -check_haskell_package_exists(utf8-string "Data.ByteString.Lazy.UTF8" decode 1) -check_haskell_package_exists(SHA "Data.Digest.Pure.SHA" sha1 1) -check_haskell_package_exists(entropy "System.Entropy" openHandle 0) -check_haskell_package_exists(zlib "Codec.Compression.Zlib" decompress 1) -check_haskell_package_exists(random "System.Random" getStdGen 0) -check_haskell_package_exists(regex-tdfa "Text.Regex.TDFA.ByteString" execute 2) -check_haskell_package_exists(deepseq "Control.DeepSeq" deepseq 2) +check_haskell_package_exists(base "Control.Exception" mask 1 REQUIRED) +check_haskell_package_exists(containers "Data.Map" size 1 REQUIRED) +check_haskell_package_exists(vector "Data.Vector" length 1 REQUIRED) +check_haskell_package_exists(bytestring "Data.ByteString" pack 1 REQUIRED) +check_haskell_package_exists(network "Network.Socket" defaultHints 0 REQUIRED) +check_haskell_package_exists(network-bsd "Network.BSD" getHostName 0 OPTIONAL) +check_haskell_package_exists(time "Data.Time" getCurrentTime 0 REQUIRED) +check_haskell_package_exists(mtl "Control.Monad.State" fix 1 REQUIRED) +check_haskell_package_exists(sandi "Codec.Binary.Base64" encode 1 REQUIRED) +check_haskell_package_exists(hslogger "System.Log.Logger" warningM 1 REQUIRED) +check_haskell_package_exists(process "System.Process" createProcess 3 REQUIRED) +check_haskell_package_exists(utf8-string "Data.ByteString.Lazy.UTF8" decode 1 REQUIRED) +check_haskell_package_exists(SHA "Data.Digest.Pure.SHA" sha1 1 REQUIRED) +check_haskell_package_exists(entropy "System.Entropy" openHandle 0 REQUIRED) +check_haskell_package_exists(zlib "Codec.Compression.Zlib" decompress 1 REQUIRED) +check_haskell_package_exists(random "System.Random" getStdGen 0 REQUIRED) +check_haskell_package_exists(regex-tdfa "Text.Regex.TDFA.ByteString" execute 2 REQUIRED) +check_haskell_package_exists(deepseq "Control.DeepSeq" deepseq 2 REQUIRED) -- 2.30.2