extism 1.1.0.0 → 1.2.0.0
raw patch · 2 files changed
+94/−3 lines, 2 filesbuild-type:Customsetup-changedPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Extism: data () => Manifest
+ Extism: data Manifest
Files
- Setup.lhs +82/−0
- extism.cabal +12/−3
+ Setup.lhs view
@@ -0,0 +1,82 @@+This file was generated by `cargo-cabal`, its goal is to define few hooks to+call `cargo` on the fly and link correctly the generated library.++While it's an acceptable hack as this project is currently a prototype, this+should be removed before `cargo-cabal` stable release.++> import Data.Maybe+> import qualified Distribution.PackageDescription as PD+> import Distribution.Simple+> ( Args,+> UserHooks (confHook, preConf),+> defaultMainWithHooks,+> simpleUserHooks,+> )+> import Distribution.Simple.LocalBuildInfo+> ( LocalBuildInfo (localPkgDescr),+> )+> import Distribution.Simple.Setup+> ( BuildFlags (buildVerbosity),+> ConfigFlags (configVerbosity),+> fromFlag,+> )+> import Distribution.Simple.UserHooks+> ( UserHooks (buildHook, confHook),+> )+> import Distribution.Simple.Utils (rawSystemExit)+> import System.Directory (getCurrentDirectory)+>+> main :: IO ()+> main =+> defaultMainWithHooks+> simpleUserHooks+> { confHook = rustConfHook+> , buildHook = rustBuildHook+> }++This hook could be remove if at some point, likely if this issue is resolved+https://github.com/haskell/cabal/issues/2641++> rustConfHook ::+> (PD.GenericPackageDescription, PD.HookedBuildInfo) ->+> ConfigFlags ->+> IO LocalBuildInfo+> rustConfHook (description, buildInfo) flags = do+> localBuildInfo <- confHook simpleUserHooks (description, buildInfo) flags+> let packageDescription = localPkgDescr localBuildInfo+> library = fromJust $ PD.library packageDescription+> libraryBuildInfo = PD.libBuildInfo library+> dir <- getCurrentDirectory+> return localBuildInfo+> { localPkgDescr = packageDescription+> { PD.library = Just $ library+> { PD.libBuildInfo = libraryBuildInfo+> { PD.extraLibDirs = (dir ++ "/target/release") :+> (dir ++ "/target/debug") :+> PD.extraLibDirs libraryBuildInfo+> } } } }++It would be nice to remove this hook ot some point, e.g., if this RFC is merged+in Cabal https://github.com/haskell/cabal/issues/7906++> rustBuildHook ::+> PD.PackageDescription ->+> LocalBuildInfo ->+> UserHooks ->+> BuildFlags ->+> IO ()+> rustBuildHook description localBuildInfo hooks flags = do+> putStrLn "******************************************************************"+> putStrLn "Call `cargo build --release` to build a dependency written in Rust"+> -- FIXME: add `--target $TARGET` flag to support cross-compiling to $TARGET+> -- rawSystemExit (fromFlag $ buildVerbosity flags) "cargo" ["build","--release"]+> rawSystemExit (fromFlag $ buildVerbosity flags) "bash" ["./scripts/download-or-build.sh"]+> putStrLn "... `rustc` compilation seems to succeed 🦀! Back to Cabal build:"+> putStrLn "******************************************************************"+> putStrLn "Back to Cabal build"+> buildHook simpleUserHooks description localBuildInfo hooks flags++This handy automation (particularly useful when you want to quickly prototype+without having to spawn manually `cargo` commands) is disabled by default.+Feel free to re-enable it while debugging your library, but I discourage you+strongly to publish anything on Hackage that contains this hook!
extism.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: extism-version: 1.1.0.0+version: 1.2.0.0 license: BSD-3-Clause maintainer: oss@extism.org author: Extism authors@@ -10,14 +10,23 @@ category: Plugins, WebAssembly extra-doc-files: cabal.project README.md CHANGELOG.md +build-type: Custom+custom-setup+ setup-depends:+ Cabal >= 3.0 && < 4,+ base >= 4.16.1 && < 5,+ directory >= 1.3 && < 2,+ process >=1.2.1.0 && < 2+ library exposed-modules: Extism, Extism.HostFunction, Extism.Encoding reexported-modules: Extism.Manifest, Extism.JSON hs-source-dirs: src other-modules: Extism.Bindings default-language: Haskell2010- extra-libraries: extism- extra-lib-dirs: /usr/local/lib+ extra-bundled-libraries: extism_hs+ -- extra-libraries: extism+ -- extra-lib-dirs: /usr/local/lib build-depends: base >= 4.16.1 && < 5, bytestring >= 0.11.3 && <= 0.12,