olem @ Fedora Project

Wasmtime packaging

I’m currently working to package Wasmtime, a small and efficient runtime for WebAssembly and WASI, made by the Bytecode Alliance.

My first objective here was to package the Go package github.com/bytecodealliance/wasmtime-go, which is required for WebAssembly support in Open Policy Agent (currently, Open Policy Agent is packaged in Fedora with WebAssembly disabled). This Go package uses CGO to consume the C API of the Wasmtime project, which is written in Rust.

I’ll not only package Wasmtime’s C API and its Go bindings, but I’ll also package the Wasmtime runtime itself, which is a great addition to Fedora Linux.

New Fedora packages

In order to package Wasmtime, I have to package all the dependencies which are not yet in Fedora repositories. Wasmtime also depends of many Rust crates already packaged in Fedora.

Below is the current list of Fedora packages created / to be created in the process of bringing Wasmtime to Fedora.

Please note that:

Package Upstream Packaging status Review Dependencies
rust-wasmtime-cli [src] wasmtime-cli NOT STARTED
Depends on (11)
golang-github-bytecodealliance-wasmtime [src] github.com/bytecodealliance/wasmtime-go NOT STARTED
Depends on (1)
rust-wasmtime [src] wasmtime NOT STARTED
Depends on (7)
Required by (6)
rust-wasmtime-c-api [src] rust-wasmtime-c-api NOT STARTED
Depends on (7)
Required by (1)
rust-wasmtime-cranelift [src] wasmtime-cranelift NOT STARTED
Depends on (8)
Required by (2)
rust-wasmtime-environ [src] wasmtime-environ
DONE Source Build Status Updates Status CI Status
1963341
Depends on (4)
Required by (5)
rust-wasmtime-runtime [src] wasmtime-runtime PACKAGE REVIEW 1983456
Depends on (4)
Required by (3)
rust-wasmtime-cache [src] wasmtime-cache
DONE Source Build Status Updates Status CI Status
1966552
Depends on (2)
Required by (2)
rust-wasmtime-jit [src] wasmtime-jit NOT STARTED
Depends on (5)
Required by (1)
rust-wasmtime-wast [src] wasmtime-wast NOT STARTED
Depends on (2)
Required by (1)
rust-wasmtime-wasi [src] wasmtime-wasi NOT STARTED
Depends on (4)
Required by (3)
rust-wasmtime-fiber [src] wasmtime-fiber
DONE Source Build Status Updates Status CI Status
1967704
Depends on (1)
Required by (2)
rust-wasmtime-types [src] wasmtime-types
DONE Source Build Status Updates Status CI Status
2006997
Depends on (2)
Required by (2)
rust-wasi-common [src] wasi-common NOT STARTED
Depends on (3)
Required by (3)
rust-wasi-cap-std-sync [src] wasi-cap-std-sync NOT STARTED
Depends on (8)
Required by (2)
rust-wiggle [src] wiggle NOT STARTED
Depends on (3)
Required by (3)
rust-wiggle-macro [src] wiggle-macro PACKAGE REVIEW 1983402
Depends on (2)
Required by (1)
rust-wiggle-generate [src] wiggle-generate PACKAGE REVIEW 1983343
Depends on (1)
Required by (1)
rust-wasmtime-wasi-nn [src] wasmtime-wasi-nn NOT STARTED
Depends on (5)
Required by (1)
rust-cranelift-codegen-shared [src] cranelift-codegen-shared
DONE Source Build Status Updates Status CI Status
1959780
Required by (2)
rust-cranelift-codegen-meta [src] cranelift-codegen-meta
DONE Source Build Status Updates Status CI Status
1962375
Depends on (1)
Required by (1)
rust-cranelift-codegen [src] cranelift-codegen
DONE Source Build Status Updates Status CI Status
1962583
Depends on (6)
Required by (4)
rust-cranelift-entity [src] cranelift-entity
DONE Source Build Status Updates Status CI Status
1959754
Required by (6)
rust-cranelift-bforest [src] cranelift-bforest
DONE Source Build Status Updates Status CI Status
1962372
Depends on (1)
Required by (1)
rust-cranelift-wasm [src] cranelift-wasm
DONE Source Build Status Updates Status CI Status
1963340
Depends on (5)
Required by (1)
rust-cranelift-frontend [src] cranelift-frontend
DONE Source Build Status Updates Status CI Status
1962622
Depends on (1)
Required by (2)
rust-cranelift-native [src] cranelift-native
DONE Source Build Status Updates Status CI Status
1967726
Depends on (1)
Required by (1)
rust-wasmparser [src] wasmparser
DONE Source Build Status Updates Status CI Status
1901098
Required by (8)
rust-wast [src] wast
DONE Source Build Status Updates Status CI Status
1901090
Depends on (3)
Required by (4)
rust-wat [src] wat
DONE Source Build Status Updates Status CI Status
1901097
Depends on (1)
Required by (3)
rust-regalloc [src] regalloc
DONE Source Build Status Updates Status CI Status
1962574
Required by (1)
rust-unsafe-io [src] unsafe-io
DONE Source Build Status Updates Status CI Status
1962887
Depends on (1)
rust-io-extras [src] io-extras
DONE Source Build Status Updates Status CI Status
2027872
Depends on (1)
Required by (3)
rust-posish [src] posish
DONE Source Build Status Updates Status CI Status
1965750
Depends on (3)
rust-rustix [src] rustix
DONE Source Build Status Updates Status CI Status
2007419
Depends on (2)
Required by (10)
rust-fs-set-times [src] fs-set-times
DONE Source Build Status Updates Status CI Status
1966284
Depends on (2)
Required by (2)
rust-cap-primitives [src] cap-primitives
DONE Source Build Status Updates Status CI Status
1969654
Depends on (6)
Required by (3)
rust-cap-std [src] cap-std
DONE Source Build Status Updates Status CI Status
1971319
Depends on (4)
Required by (7)
rust-cap-rand [src] cap-rand
DONE Source Build Status Updates Status CI Status
1966439
Depends on (1)
Required by (2)
rust-cap-fs-ext [src] cap-fs-ext NOT STARTED
Depends on (4)
Required by (2)
rust-cap-time-ext [src] cap-time-ext REVIEW ACCEPTED 1971773
Depends on (3)
Required by (1)
rust-cap-tempfile [src] cap-tempfile REVIEW ACCEPTED 1971774
Depends on (1)
Required by (2)
rust-system-interface [src] system-interface NOT STARTED
Depends on (4)
Required by (1)
rust-ambient-authority [src] ambient-authority
DONE Source Build Status Updates Status CI Status
1973844
Required by (2)
rust-leb128 [src] leb128
DONE Source Build Status Updates Status CI Status
1900274
Required by (1)
rust-more-asserts [src] more-asserts
DONE Source Build Status Updates Status CI Status
1900375
Required by (4)
rust-maybe-owned [src] maybe-owned
DONE Source Build Status Updates Status CI Status
1965122
Required by (1)
rust-io-lifetimes [src] io-lifetimes
DONE Source Build Status Updates Status CI Status
1976248
Required by (9)
rust-file-per-thread-logger [src] file-per-thread-logger
DONE Source Build Status Updates Status CI Status
1963863
Required by (2)
rust-witx [src] witx
DONE Source Build Status Updates Status CI Status
1972159
Depends on (1)
Required by (3)
rust-linux-raw-sys [src] linux-raw-sys
DONE Source Build Status Updates Status CI Status
1983160
Required by (2)