@gjsify/webrtc-native 0.51.1 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@ This is an internal native bridge package — installed automatically as a depen
13
13
  import { RTCPeerConnection } from '@gjsify/webrtc';
14
14
  ```
15
15
 
16
- The `@gjsify/webrtc-native` prebuild (`.so` + `.typelib`) is loaded automatically by `gjsify run` via the `GI_TYPELIB_PATH`/`LD_LIBRARY_PATH` detection in the CLI.
16
+ The `@gjsify/webrtc-native` prebuild (library + `.typelib`) is loaded automatically by `gjsify run` via the CLI's native-package detection, which sets `GI_TYPELIB_PATH` and the host's loader variable (`LD_LIBRARY_PATH` on Linux, `DYLD_LIBRARY_PATH` on macOS).
17
17
 
18
18
  ## Platform coverage
19
19
 
@@ -22,19 +22,16 @@ The `@gjsify/webrtc-native` prebuild (`.so` + `.typelib`) is loaded automaticall
22
22
  | `linux-x64` | ✅ `.so` + `.typelib` | native runner |
23
23
  | `linux-arm64` | ✅ | native runner |
24
24
  | `linux-ppc64`, `linux-s390x`, `linux-riscv64` | ✅ | QEMU emulation |
25
- | macOS (`darwin-arm64` / `darwin-x64`) | ❌ | **unverified, see below** |
25
+ | macOS (`darwin-arm64` / `darwin-x64`) | ✅ `.dylib` + `.typelib` | native runners (`build-prebuilds-macos`) |
26
26
  | Windows | ❌ | — no Vala/GI bridge in this repo targets Windows |
27
27
 
28
28
  All prebuilds are produced by [`.github/workflows/prebuilds.yml`](../../../.github/workflows/prebuilds.yml)
29
29
  and committed back to the repository.
30
30
 
31
- **macOS is not blocked — it is unverified.** The bridge needs `gstreamer-sdp-1.0` and
32
- `gstreamer-webrtc-1.0`, which come from gst-plugins-base/bad inside Homebrew's unified
33
- `gstreamer` formula; whether that formula exports both `.pc` files has not been confirmed.
34
- `meson.build` already emits the correct `.dylib` typelib leaf, so the only open question is
35
- the Homebrew dependency closure. The manual-dispatch
36
- `build-prebuilds-macos-experimental` job in the prebuilds workflow exists to answer it —
37
- run it, read the `pkg-config` report it prints, then promote or document the result.
31
+ On macOS the bridge builds against Homebrew's unified `gstreamer` formula, which carries
32
+ `gstreamer-sdp-1.0` and `gstreamer-webrtc-1.0`; at runtime `@gjsify/webrtc` additionally needs
33
+ `brew install libnice-gstreamer` for ICE. Measured on macOS 27 arm64: `@gjsify/webrtc`'s GJS
34
+ suite passes 309/309 against the darwin prebuild.
38
35
 
39
36
  ## License
40
37
 
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import e from"gi://GjsifyWebrtc?version=0.1";const t=e.PromiseBridge,n=e.WebrtcbinBridge,r=e.DataChannelBridge,i=e.ReceiverBridge;export{r as DataChannelBridge,t as PromiseBridge,i as ReceiverBridge,n as WebrtcbinBridge};
1
+ import e from"gi://GjsifyWebrtc?version=0.1";import{openNativeLibrary as t}from"@gjsify/utils/core";const n=t(`GjsifyWebrtc`);if(n)throw n;const r=e.PromiseBridge,i=e.WebrtcbinBridge,a=e.DataChannelBridge,o=e.ReceiverBridge;export{a as DataChannelBridge,r as PromiseBridge,o as ReceiverBridge,i as WebrtcbinBridge};
package/meson.build CHANGED
@@ -1,4 +1,10 @@
1
- project('GjsifyWebrtc', ['c', 'vala'], version: '0.1')
1
+ # `buildtype=plain` = NO `-g`. ld64 emits a DEBUG MAP into any image whose objects
2
+ # carry DWARF — one `N_OSO` stab per object, holding its MTIME — so with `-g` every
3
+ # rebuild of this commit differed in bytes (plus the `LC_UUID` and the ad-hoc signature
4
+ # computed over them) and `commit-prebuilds` re-committed all 16 darwin dylibs. That map
5
+ # names intermediate `.o` files no consumer can have. Why: docs/prebuilds.md.
6
+ project('GjsifyWebrtc', ['c', 'vala'], version: '0.1',
7
+ default_options: ['buildtype=plain'])
2
8
 
3
9
  root_dir = meson.current_source_dir()
4
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/webrtc-native",
3
- "version": "0.51.1",
3
+ "version": "0.53.0",
4
4
  "description": "Vala-based main-thread signal bridge for @gjsify/webrtc. Marshals webrtcbin signals and GstPromise callbacks from GStreamer's streaming thread onto the GLib main context so GJS can safely handle them.",
5
5
  "type": "module",
6
6
  "main": "lib/esm/index.js",
@@ -23,7 +23,9 @@
23
23
  "linux-arm64",
24
24
  "linux-ppc64",
25
25
  "linux-s390x",
26
- "linux-riscv64"
26
+ "linux-riscv64",
27
+ "darwin-arm64",
28
+ "darwin-x64"
27
29
  ],
28
30
  "runtimes": {
29
31
  "gjs": "polyfill",
@@ -53,15 +55,16 @@
53
55
  "native"
54
56
  ],
55
57
  "dependencies": {
56
- "@girs/gjs": "5.0.0",
58
+ "@girs/gjs": "5.4.0",
57
59
  "@girs/gjsifywebrtc-0.1": "0.1.0-4.0.0-rc.5",
58
- "@girs/glib-2.0": "5.0.0",
59
- "@girs/gobject-2.0": "5.0.0",
60
- "@girs/gst-1.0": "5.0.0",
61
- "@girs/gstwebrtc-1.0": "5.0.0"
60
+ "@girs/glib-2.0": "5.4.0",
61
+ "@girs/gobject-2.0": "5.4.0",
62
+ "@girs/gst-1.0": "5.4.0",
63
+ "@girs/gstwebrtc-1.0": "5.4.0",
64
+ "@gjsify/utils": "^0.53.0"
62
65
  },
63
66
  "devDependencies": {
64
- "@gjsify/cli": "^0.51.1",
67
+ "@gjsify/cli": "^0.53.0",
65
68
  "@types/node": "^25.9.2",
66
69
  "typescript": "^6.0.3"
67
70
  },
@@ -76,10 +79,12 @@
76
79
  },
77
80
  "homepage": "https://github.com/gjsify/gjsify/tree/main/packages/web/webrtc-native#readme",
78
81
  "optionalDependencies": {
79
- "@gjsify/webrtc-native-linux-arm64": "0.51.1",
80
- "@gjsify/webrtc-native-linux-ppc64": "0.51.1",
81
- "@gjsify/webrtc-native-linux-riscv64": "0.51.1",
82
- "@gjsify/webrtc-native-linux-s390x": "0.51.1",
83
- "@gjsify/webrtc-native-linux-x64": "0.51.1"
82
+ "@gjsify/webrtc-native-darwin-arm64": "0.53.0",
83
+ "@gjsify/webrtc-native-darwin-x64": "0.53.0",
84
+ "@gjsify/webrtc-native-linux-arm64": "0.53.0",
85
+ "@gjsify/webrtc-native-linux-ppc64": "0.53.0",
86
+ "@gjsify/webrtc-native-linux-riscv64": "0.53.0",
87
+ "@gjsify/webrtc-native-linux-s390x": "0.53.0",
88
+ "@gjsify/webrtc-native-linux-x64": "0.53.0"
84
89
  }
85
90
  }