@gjsify/rolldown-native 0.64.5 → 0.64.7
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/meson.build +39 -12
- package/package.json +6 -6
package/meson.build
CHANGED
|
@@ -17,15 +17,43 @@ project('GjsifyRolldown', ['c', 'vala'], version: '1.0',
|
|
|
17
17
|
|
|
18
18
|
cc = meson.get_compiler('c')
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
+
#
|
|
33
|
+
# GLib alone is left to `dynamic_lookup`: gjs always loads it. json-glib is not
|
|
34
|
+
# loaded by the host, so unrecorded it leaves `json_*` unbound; it is linked by
|
|
35
|
+
# path instead, which records ITS load command while GLib stays out of the link
|
|
36
|
+
# line.
|
|
37
|
+
host_provided = ['glib-2.0', 'gobject-2.0']
|
|
38
|
+
|
|
39
|
+
vala_deps = []
|
|
40
|
+
foreach pkg : host_provided
|
|
41
|
+
dep = dependency(pkg)
|
|
42
|
+
vala_deps += host_system == 'darwin' \
|
|
43
|
+
? dep.partial_dependency(compile_args: true, includes: true) \
|
|
44
|
+
: dep
|
|
45
|
+
endforeach
|
|
46
|
+
|
|
47
|
+
json_dep = dependency('json-glib-1.0')
|
|
48
|
+
if host_system == 'darwin'
|
|
49
|
+
vala_deps += json_dep.partial_dependency(compile_args: true, includes: true)
|
|
50
|
+
vala_deps += cc.find_library('json-glib-1.0',
|
|
51
|
+
dirs: json_dep.get_variable(pkgconfig: 'libdir'))
|
|
52
|
+
else
|
|
53
|
+
vala_deps += json_dep
|
|
54
|
+
endif
|
|
55
|
+
|
|
56
|
+
host_provided_link_args = host_system == 'darwin' ? ['-Wl,-undefined,dynamic_lookup'] : []
|
|
29
57
|
|
|
30
58
|
# ----------------------------------------------------------------------------
|
|
31
59
|
# Host-dependent naming + runtime-lookup conventions
|
|
@@ -52,8 +80,6 @@ vala_deps = [
|
|
|
52
80
|
# `gjsify.platforms` gains `darwin-arm64`.
|
|
53
81
|
# The branch below is kept in lockstep with its lightningcss/oxfmt siblings.
|
|
54
82
|
# ----------------------------------------------------------------------------
|
|
55
|
-
host_system = host_machine.system()
|
|
56
|
-
|
|
57
83
|
if host_system == 'darwin'
|
|
58
84
|
rust_cdylib_name = 'libgjsify_rolldown.dylib'
|
|
59
85
|
shared_lib_name = 'libgjsifyrolldown.dylib'
|
|
@@ -162,7 +188,8 @@ sources = files(
|
|
|
162
188
|
|
|
163
189
|
inc = include_directories('src/vala')
|
|
164
190
|
|
|
165
|
-
link_args = ['-L' + meson.current_build_dir(), '-lgjsify_rolldown']
|
|
191
|
+
link_args = ['-L' + meson.current_build_dir(), '-lgjsify_rolldown'] \
|
|
192
|
+
+ host_provided_link_args
|
|
166
193
|
|
|
167
194
|
libGjsifyRolldown = library('gjsifyrolldown', sources,
|
|
168
195
|
dependencies: vala_deps,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/rolldown-native",
|
|
3
|
-
"version": "0.64.
|
|
3
|
+
"version": "0.64.7",
|
|
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.
|
|
61
|
+
"@gjsify/cli": "^0.64.7",
|
|
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.
|
|
78
|
-
"@gjsify/rolldown-native-darwin-x64": "0.64.
|
|
79
|
-
"@gjsify/rolldown-native-linux-arm64": "0.64.
|
|
80
|
-
"@gjsify/rolldown-native-linux-x64": "0.64.
|
|
77
|
+
"@gjsify/rolldown-native-darwin-arm64": "0.64.7",
|
|
78
|
+
"@gjsify/rolldown-native-darwin-x64": "0.64.7",
|
|
79
|
+
"@gjsify/rolldown-native-linux-arm64": "0.64.7",
|
|
80
|
+
"@gjsify/rolldown-native-linux-x64": "0.64.7"
|
|
81
81
|
}
|
|
82
82
|
}
|