@gjsify/gtk-runtime-win32-x64 0.20.0 → 0.21.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/gtk-runtime-win32-x64",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "description": "Batteries-included GTK/GObject-Introspection runtime bundle for Windows x64 — lets @gjsify/node-gi load gi:// namespaces (GLib/GObject/Gio/cairo/Pango/Graphene/Gdk) with NO gvsbuild/system GTK. Platform-gated (win32/x64 only).",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -109,6 +109,7 @@ const SEED_PATTERNS = [
109
109
  // missing. (Gdk/Gsk/Gtk are all in gtk-4-*.dll, already a base seed.)
110
110
  const WINDOWING_SEED_PATTERNS = [
111
111
  /^(lib)?adwaita-1.*\.dll$/i, // gvsbuild leaf: adwaita-1-0.dll (backs the Adw-1 typelib)
112
+ /^(lib)?gtksourceview-5.*\.dll$/i, // gvsbuild leaf: gtksourceview-5-0.dll (backs the GtkSource-5 typelib — the Learn6502 editor)
112
113
  /^libEGL.*\.dll$/i,
113
114
  /^libGLESv2.*\.dll$/i,
114
115
  /^epoxy.*\.dll$/i,
@@ -294,7 +295,7 @@ console.log(`build-gtk-runtime: copied ${typelibCount} typelibs`);
294
295
  // partial gvsbuild layout still produces the DLL+typelib bundle. The DATA marker
295
296
  // node-gi keys on is gschemas.compiled; if that step fails the loader treats the
296
297
  // bundle as display-free (no windowing env wired).
297
- const windowing = { pixbufLoaders: 0, schemas: false, iconThemes: [], fontconfig: false };
298
+ const windowing = { pixbufLoaders: 0, schemas: false, iconThemes: [], fontconfig: false, gtksource: false };
298
299
  if (WINDOWING) {
299
300
  // 4a. gdk-pixbuf loaders + a bundle-relative loaders.cache. The cache maps each
300
301
  // decoder DLL to its mime/extensions; gdk-pixbuf resolves the DLL paths in it
@@ -403,6 +404,31 @@ if (WINDOWING) {
403
404
  } else {
404
405
  console.log('build-gtk-runtime: no etc/fonts (pango uses the win32/DirectWrite backend) — skipping fontconfig');
405
406
  }
407
+
408
+ // 4e. GtkSource-5 runtime DATA: the syntax-highlighting language definitions
409
+ // (share/gtksourceview-5/language-specs/*.lang) + style schemes
410
+ // (share/gtksourceview-5/styles/*.xml). GtkSource's LanguageManager /
411
+ // StyleSchemeManager load these from XDG_DATA_DIRS/gtksourceview-5 (node-gi
412
+ // prepends <bundle>/share), so without them the Learn6502 editor's GtkSource.View
413
+ // constructs but has no built-in languages/styles. Defensive: WARN + continue if
414
+ // gvsbuild's layout lacks the tree (the DLL + typelib still ship, so GtkSource
415
+ // itself works — only the bundled highlight data is absent).
416
+ const gtksourceSrc = join(PREFIX, 'share', 'gtksourceview-5');
417
+ if (existsSync(gtksourceSrc)) {
418
+ const gtksourceOut = join(OUT, 'share', 'gtksourceview-5');
419
+ let copied = 0;
420
+ for (const sub of ['language-specs', 'styles']) {
421
+ const subSrc = join(gtksourceSrc, sub);
422
+ if (existsSync(subSrc)) {
423
+ cpSync(subSrc, join(gtksourceOut, sub), { recursive: true });
424
+ copied += readdirSync(subSrc).length;
425
+ }
426
+ }
427
+ windowing.gtksource = copied > 0;
428
+ console.log(`build-gtk-runtime: GtkSource-5 data ${windowing.gtksource ? `bundled (${copied} language-specs/styles files)` : 'directory present but empty'}`);
429
+ } else {
430
+ console.warn(`build-gtk-runtime: WARNING — ${gtksourceSrc} missing; GtkSource-5 language-specs/styles NOT bundled (the editor's built-in highlighting will be unavailable)`);
431
+ }
406
432
  }
407
433
 
408
434
  // --- manifest + size -------------------------------------------------------