Skip to content

Commit

Permalink
feat: cartesi-machine formula
Browse files Browse the repository at this point in the history
  • Loading branch information
tuler committed Sep 6, 2024
1 parent b5e57ab commit c8a7db8
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions Formula/cartesi-machine.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
class CartesiMachine < Formula

Check failure on line 1 in Formula/cartesi-machine.rb

View workflow job for this annotation

GitHub Actions / test-bot (macos-14)

`brew linkage --test cartesi/tap/cartesi-machine` failed on macOS Sonoma (14) on Apple Silicon!

Broken dependencies: /opt/homebrew/opt/libslirp/lib/libslirp.0.dylib (libslirp)
desc "Off-chain implementation of the Cartesi Machine"
homepage "https://cartesi.io/"
url "https://github.com/cartesi/machine-emulator/archive/refs/tags/v0.18.1.tar.gz"
sha256 "2d6ca78881b0a218aa9460d5cc7af7be51f9971b163305d6191039719568b5c3"
license "LGPL-3.0-only"

depends_on "boost" => :build
depends_on "libslirp" => :build
depends_on "pkg-config" => :build
depends_on "lua"

resource "linux" do
url "https://github.com/cartesi/image-kernel/releases/download/v0.20.0/linux-6.5.13-ctsi-1-v0.20.0.bin"
sha256 "65dd100ff6204346ac2f50f772721358b5c1451450ceb39a154542ee27b4c947"
end

resource "rootfs" do
url "https://github.com/cartesi/machine-emulator-tools/releases/download/v0.16.1/rootfs-tools-v0.16.1.ext2"
sha256 "4db885fdb4f013922d8ea8474768148ac4d45460a4ef30aea823836ea72ffed9"
end

patch :p0 do
url "https://github.com/cartesi/machine-emulator/releases/download/v0.18.1/add-generated-files.diff"
sha256 "5e239448f47fe33b9c13e6c4c9c605ac16b8663f396909cd57abd6e4b447f1c4"
end

def install
system "make", "BREW_PREFIX=#{prefix}"
system "make", "install", "PREFIX=#{prefix}"

(pkgshare/"images").install resource("linux")
(pkgshare/"images").install resource("rootfs")

(pkgshare/"images").install_symlink "linux-6.5.13-ctsi-1-v0.20.0.bin" => "linux.bin"
(pkgshare/"images").install_symlink "rootfs-tools-v0.16.1.ext2" => "rootfs.ext2"
end

test do

Check failure on line 39 in Formula/cartesi-machine.rb

View workflow job for this annotation

GitHub Actions / test-bot (macos-14)

`brew test --verbose cartesi/tap/cartesi-machine` failed on macOS Sonoma (14) on Apple Silicon!

/opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4_1/bin/bundle clean ==> Testing cartesi/tap/cartesi-machine ==> /opt/homebrew/Cellar/cartesi-machine/0.18.1/bin/cartesi-machine --version | head -1 lua5.4: error loading module 'cartesi' from file '/opt/homebrew/Cellar/cartesi-machine/0.18.1/lib/lua/5.4/cartesi.so': dlopen(/opt/homebrew/Cellar/cartesi-machine/0.18.1/lib/lua/5.4/cartesi.so, 0x0006): Library not loaded: /opt/homebrew/opt/libslirp/lib/libslirp.0.dylib Referenced from: <3A2D2F78-12BF-3D9F-B274-194AC9A15153> /opt/homebrew/Cellar/cartesi-machine/0.18.1/lib/lua/5.4/cartesi.so Reason: tried: '/opt/homebrew/opt/libslirp/lib/libslirp.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libslirp/lib/libslirp.0.dylib' (no such file), '/opt/homebrew/opt/libslirp/lib/libslirp.0.dylib' (no such file) stack traceback: [C]: in ? [C]: in function 'require' ...cartesi-machine/0.18.1/share/lua/5.4/cartesi-machine.lua:19: in main chunk [C]: in ? Error: cartesi/tap/cartesi-machine: failed ::error::cartesi/tap/cartesi-machine: failed An exception occurred within a child process: Minitest::Assertion: Expected /cartesi-machine 0.18.1/ to match "". /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/minitest-5.25.1/lib/minitest/assertions.rb:176:in `assert' /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/minitest-5.25.1/lib/minitest/assertions.rb:291:in `assert_match' /opt/homebrew/Library/Taps/cartesi/homebrew-tap/Formula/cartesi-machine.rb:45:in `block in <class:CartesiMachine>' /opt/homebrew/Library/Homebrew/formula.rb:2800:in `block (3 levels) in run_test' /opt/homebrew/Library/Homebrew/extend/kernel.rb:536:in `with_env' /opt/homebrew/Library/Homebrew/formula.rb:2799:in `block (2 levels) in run_test' /opt/homebrew/Library/Homebrew/formula.rb:1193:in `with_logging' /opt/homebrew/Library/Homebrew/formula.rb:2798:in `block in run_test' /opt/homebrew/Library/Homebrew/mktemp.rb:75:in `block in run' /opt/homebrew/Library/Homebrew/mktemp.rb:75:in `chdir' /opt/homebrew/Library/Homebrew/mktemp.rb:75:in `run' /opt/homebrew/Library/Homebrew/formula.rb:3116:in `mktemp' /opt/homebrew/Library/Homebrew/formula.rb:2792:in `run_test' /opt/homebrew/Library/Homebrew/test.rb:48:in `block in <main>' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4_1/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4_1/lib/ruby/3.3.0/timeout.rb:41:in `handle_timeout' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.4_1/lib/ruby/3.3.0/timeout.rb:195:in `timeout' /opt/homebrew/Library/Homebrew/test.rb:52:in `<main>'
assert_match(/cartesi-machine #{version}/, shell_output("#{bin}/cartesi-machine --version | head -1"))
end
end

0 comments on commit c8a7db8

Please sign in to comment.