extism 1.2.0.2 → 1.2.0.3
raw patch · 5 files changed
+4/−124 lines, 5 filessetup-changedPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Cargo.toml +0/−10
- Setup.lhs +0/−82
- extism.cabal +4/−12
- scripts/download-or-build.sh +0/−19
- src/lib.rs +0/−1
− Cargo.toml
@@ -1,10 +0,0 @@-[package]-name = "extism-hs"-version = "0.1.0"-edition = "2021"--[lib]-crate-type = ["staticlib"]--[dependencies]-extism = "1.2"
− Setup.lhs
@@ -1,82 +0,0 @@-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.2.0.2+version: 1.2.0.3 license: BSD-3-Clause maintainer: oss@extism.org author: Extism authors@@ -9,15 +9,8 @@ description: Bindings to Extism, the universal plugin system category: Plugins, WebAssembly extra-doc-files: cabal.project README.md CHANGELOG.md-extra-source-files: Cargo.toml src/lib.rs scripts/download-or-build.sh -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+build-type: Simple library exposed-modules: Extism, Extism.HostFunction, Extism.Encoding@@ -25,9 +18,8 @@ hs-source-dirs: src other-modules: Extism.Bindings default-language: Haskell2010- extra-bundled-libraries: extism_hs- -- extra-libraries: extism- -- extra-lib-dirs: /usr/local/lib+ extra-libraries: extism+ extra-lib-dirs: /usr/local/lib build-depends: base >= 4.16.1 && < 5, bytestring >= 0.11.3 && <= 0.12,
− scripts/download-or-build.sh
@@ -1,19 +0,0 @@-#!/usr/bin/env bash--set -ue--if [ -f "./target/release/libextism_hs.a" ]; then- echo "Extism library already installed, remove ./target/release/libextism_hs.a to rebuild it"- exit 0-fi--if ! [ -x "$(command -v extism)" ]; then- echo 'Extism CLI is not installed. Building Extism using cargo' >&2- cargo build --release-else- VERSION=$(grep 'extism = ".*"' Cargo.toml | awk '{ print $3 }' | sed 's/"//g')- extism lib install --prefix ./target/extism --version v$VERSION- mkdir -p ./target/release- cp ./target/extism/lib/libextism.a ./target/release/libextism_hs.a-fi-
− src/lib.rs
@@ -1,1 +0,0 @@-pub use extism::sdk::*;