This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch luban/ship-sea
in repository https://gitbox.apache.org/repos/asf/opendal.git

commit aeb4d87544c0a36fa4f6905e76c05fda2b855ff9
Author: Xuanwo <[email protected]>
AuthorDate: Mon Jan 26 17:26:16 2026 +0800

    ci: Try fixing haskell CI
---
 bindings/haskell/Setup.hs      | 16 +++++++++++++++-
 bindings/haskell/opendal.cabal |  2 +-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/bindings/haskell/Setup.hs b/bindings/haskell/Setup.hs
index a894b2966..87fcbaea7 100644
--- a/bindings/haskell/Setup.hs
+++ b/bindings/haskell/Setup.hs
@@ -15,6 +15,8 @@
 -- specific language governing permissions and limitations
 -- under the License.
 
+{-# LANGUAGE CPP #-}
+
 import Control.Monad
 import Data.Maybe
 import qualified Distribution.PackageDescription as PD
@@ -22,6 +24,9 @@ import Distribution.Simple
 import Distribution.Simple.LocalBuildInfo
 import Distribution.Simple.Setup
 import Distribution.Simple.Utils
+#if MIN_VERSION_Cabal_syntax(3,14,0)
+import Distribution.Utils.Path (makeSymbolicPath)
+#endif
 import Distribution.System
 import System.Directory
 import System.Environment
@@ -51,7 +56,12 @@ rustConfHook (description, buildInfo) flags = do
                   library
                     { PD.libBuildInfo =
                         libraryBuildInfo
-                          { PD.extraLibDirs = dir : PD.extraLibDirs 
libraryBuildInfo,
+                          { PD.extraLibDirs =
+#if MIN_VERSION_Cabal_syntax(3,14,0)
+                              makeSymbolicPath dir : PD.extraLibDirs 
libraryBuildInfo,
+#else
+                              dir : PD.extraLibDirs libraryBuildInfo,
+#endif
                             PD.ldOptions = ("-Wl,-rpath," ++ dir) : 
(PD.ldOptions libraryBuildInfo)
                           }
                     }
@@ -63,7 +73,11 @@ rustBuildHook pkg_descr lbi hooks flags = do
   putStrLn "Building Rust code..."
   let isRelease = withProfLib lbi
   let cargoArgs = if isRelease then ["build", "--release"] else ["build"]
+#if MIN_VERSION_Cabal(3,14,0)
+  rawSystemExit (fromFlag $ buildVerbosity flags) Nothing "cargo" cargoArgs
+#else
   rawSystemExit (fromFlag $ buildVerbosity flags) "cargo" cargoArgs
+#endif
   putStrLn "Build Rust code success!"
   buildHook simpleUserHooks pkg_descr lbi hooks flags
 
diff --git a/bindings/haskell/opendal.cabal b/bindings/haskell/opendal.cabal
index 56d136a15..5e9227075 100644
--- a/bindings/haskell/opendal.cabal
+++ b/bindings/haskell/opendal.cabal
@@ -31,7 +31,7 @@ extra-source-files: src/*.rs, Cargo.toml
 
 build-type:         Custom
 custom-setup
-    setup-depends:  Cabal, base, directory, process
+    setup-depends:  Cabal, Cabal-syntax, base, directory, process
 
 source-repository head
     type:     git

Reply via email to