@gjsify/rolldown-native 0.64.5 → 0.64.6

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.
Files changed (2) hide show
  1. package/meson.build +25 -12
  2. package/package.json +6 -6
package/meson.build CHANGED
@@ -17,15 +17,29 @@ project('GjsifyRolldown', ['c', 'vala'], version: '1.0',
17
17
 
18
18
  cc = meson.get_compiler('c')
19
19
 
20
- vala_deps = [
21
- dependency('glib-2.0'),
22
- dependency('gobject-2.0'),
23
- # json-glib is used by BundlerSession to peek at the hook name +
24
- # request id from the Rust-emitted JSON envelope before routing
25
- # to the matching GObject signal. The full payload is forwarded
26
- # to JS unparsed.
27
- dependency('json-glib-1.0'),
28
- ]
20
+ host_system = host_machine.system()
21
+
22
+ # On darwin every GNOME library is resolved against the HOST PROCESS rather than
23
+ # recorded as an `@rpath/` dependency: a second GLib beside the one the host
24
+ # already loaded gives the process two GType registries, then SIGSEGV.
25
+ # docs/prebuilds.md § One GLib. json-glib is in the list because its own
26
+ # `--libs` carry `-lglib-2.0 -lgobject-2.0` — stripping only the glib pair would
27
+ # still let ld64 record a GLib load command.
28
+ #
29
+ # json-glib is used by BundlerSession to peek at the hook name + request id
30
+ # from the Rust-emitted JSON envelope before routing to the matching GObject
31
+ # signal. The full payload is forwarded to JS unparsed.
32
+ host_provided = ['glib-2.0', 'gobject-2.0', 'json-glib-1.0']
33
+
34
+ vala_deps = []
35
+ foreach pkg : host_provided
36
+ dep = dependency(pkg)
37
+ vala_deps += host_system == 'darwin' \
38
+ ? dep.partial_dependency(compile_args: true, includes: true) \
39
+ : dep
40
+ endforeach
41
+
42
+ host_provided_link_args = host_system == 'darwin' ? ['-Wl,-undefined,dynamic_lookup'] : []
29
43
 
30
44
  # ----------------------------------------------------------------------------
31
45
  # Host-dependent naming + runtime-lookup conventions
@@ -52,8 +66,6 @@ vala_deps = [
52
66
  # `gjsify.platforms` gains `darwin-arm64`.
53
67
  # The branch below is kept in lockstep with its lightningcss/oxfmt siblings.
54
68
  # ----------------------------------------------------------------------------
55
- host_system = host_machine.system()
56
-
57
69
  if host_system == 'darwin'
58
70
  rust_cdylib_name = 'libgjsify_rolldown.dylib'
59
71
  shared_lib_name = 'libgjsifyrolldown.dylib'
@@ -162,7 +174,8 @@ sources = files(
162
174
 
163
175
  inc = include_directories('src/vala')
164
176
 
165
- link_args = ['-L' + meson.current_build_dir(), '-lgjsify_rolldown']
177
+ link_args = ['-L' + meson.current_build_dir(), '-lgjsify_rolldown'] \
178
+ + host_provided_link_args
166
179
 
167
180
  libGjsifyRolldown = library('gjsifyrolldown', sources,
168
181
  dependencies: vala_deps,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/rolldown-native",
3
- "version": "0.64.5",
3
+ "version": "0.64.6",
4
4
  "description": "Phase D-2 POC: Vala/GObject + Rust cdylib bridge to rolldown for GJS. Wraps `rolldown::Bundler::generate()` (async, tokio) in a per-call current-thread runtime so JS sees a sync `bundle()` call. JSON-encoded BundlerOptions in, JSON-encoded BundleOutput out — the boundary stays small even though rolldown's option surface is enormous. POC scope: no JS plugins (Phase B), no watch/HMR, no incremental builds. Companion to `@gjsify/lightningcss-native`; together they remove the last two Rust-crate runtime blockers from the gjsify build pipeline (Phase D-3 unblock).",
5
5
  "type": "module",
6
6
  "main": "lib/esm/index.js",
@@ -58,7 +58,7 @@
58
58
  "@girs/gobject-2.0": "5.4.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@gjsify/cli": "^0.64.5",
61
+ "@gjsify/cli": "^0.64.6",
62
62
  "@types/node": "^25.9.2",
63
63
  "typescript": "^6.0.3"
64
64
  },
@@ -74,9 +74,9 @@
74
74
  },
75
75
  "homepage": "https://github.com/gjsify/gjsify/tree/main/packages/infra/rolldown-native#readme",
76
76
  "optionalDependencies": {
77
- "@gjsify/rolldown-native-darwin-arm64": "0.64.5",
78
- "@gjsify/rolldown-native-darwin-x64": "0.64.5",
79
- "@gjsify/rolldown-native-linux-arm64": "0.64.5",
80
- "@gjsify/rolldown-native-linux-x64": "0.64.5"
77
+ "@gjsify/rolldown-native-darwin-arm64": "0.64.6",
78
+ "@gjsify/rolldown-native-darwin-x64": "0.64.6",
79
+ "@gjsify/rolldown-native-linux-arm64": "0.64.6",
80
+ "@gjsify/rolldown-native-linux-x64": "0.64.6"
81
81
  }
82
82
  }