!XQQVyIbcAcHFvzmcTl:nixos.org

NixOS GNOME

398 Members
A room for maintainers of GNOME & GNOME-Related desktop environments (xfce, cinnamon, pantheon...)93 Servers

Load older messages


SenderMessageTime
8 Dec 2023
@adham-omran:matrix.org@adham-omran:matrix.orgThere was nothing about this in the release notes or anywhere else10:28:00
@deerouspie:matrix.orgpiousdeer
In reply to @piegames:matrix.org
Oh, that would be very interesting if you could integrate that into our automatic packaging
I'll take a look
10:30:35
@vcunat:matrix.orgvcunat
In reply to @adham-omran:matrix.org
There was nothing about this in the release notes or anywhere else
Isn't this a repeat of https://github.com/NixOS/nixpkgs/issues/244742
14:56:49
@vcunat:matrix.orgvcunatBTW for large upgrades I'd be careful that (1) you reboot and (2) don't use opengl-using apps from very far away nixpkgs version (than your OS).14:57:45
@jtojnar:matrix.orgJan Tojnar
In reply to @piegames:matrix.org
Oh, that would be very interesting if you could integrate that into our automatic packaging
btw looks like https://github.com/NixOS/nixpkgs/commit/af9e3ddc1da4c96d35b326d20ba09cedb1a5ac3b still is not sufficient
20:07:55
@jtojnar:matrix.orgJan Tojnar at this point, I am leaning towards creating wrapper for extension.js that does our typelib manipulation and then uses top-level await of dynamic import to load the actual extension.js file 20:09:27
@piegames:matrix.orgpiegames
In reply to @jtojnar:matrix.org
btw looks like https://github.com/NixOS/nixpkgs/commit/af9e3ddc1da4c96d35b326d20ba09cedb1a5ac3b still is not sufficient
Why not?
20:10:07
@jtojnar:matrix.orgJan Tojnar I am guessing the GPasteGtk import here sometimes gets resolved before the body of ./__nix-prepend-search-paths.js is evaluate 20:11:50
@jtojnar:matrix.orgJan TojnarI assumed that imports are resolved sequentially and module’s body is evaluated after all static imports in the module are resolved20:13:45
@jtojnar:matrix.orgJan Tojnarbut it might not be correct20:14:03
@jtojnar:matrix.orgJan Tojnarthere is loader specification draft but it is not clear to me if it matches the implementations: https://github.com/whatwg/loader20:17:16
@jtojnar:matrix.orgJan Tojnar piegames: I am trying the wrapper approach in https://github.com/NixOS/nixpkgs/pull/272995 22:29:18
@piegames:matrix.orgpiegames
In reply to @jtojnar:matrix.org
piegames: I am trying the wrapper approach in https://github.com/NixOS/nixpkgs/pull/272995
Did you try it already?
22:32:36
@piegames:matrix.orgpiegames Also how well does this approach generealize, so that we may hook this into buildGnomeExtension 22:32:51
@jtojnar:matrix.orgJan Tojnaryes, it appears to work22:33:22
@piegames:matrix.orgpiegames After some reflection, I think that I'd like to package all extensions with buildGnomeExtension, even those not on extensions.gnome.org. This will require some modifications but it should be feasible 22:33:27
@jtojnar:matrix.orgJan TojnarI believe it should generally work22:34:59
@jtojnar:matrix.orgJan Tojnar it looks like the entry points for extensions are extension.js and prefs.js, which both export default class 22:36:02
@jtojnar:matrix.orgJan Tojnar * it looks like the entry points for extensions are extension.js and prefs.js, which both default export a class 22:36:13
@jtojnar:matrix.orgJan TojnarI guess there could still be some extensions that have not switched to ESM22:36:33
@piegames:matrix.orgpiegamesIsn't it required at least for all Gnome 45+ extensions?22:37:54
@jtojnar:matrix.orgJan Tojnarand I guess some extensions could export some other symbols in the entry point and then cyclically import the entry point from other module22:38:03
@jtojnar:matrix.orgJan Tojnarbut that would be extreme yuck22:38:12
@piegames:matrix.orgpiegamesWe could make a flag for that. Or wait one more cycle and then throw out everything <4522:38:14
@jtojnar:matrix.orgJan TojnarI though so but I still saw the legacy imports in the official extensions22:39:15
@jtojnar:matrix.orgJan Tojnarnever mind, I misremembered, it was GNOME Shell itself, and it is ESM, it just uses the old import style as well https://github.com/NixOS/nixpkgs/blob/a87dd3d3d9ea483ccddc51ffc300ef0f336e2b96/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch#L1622:41:53
@jtojnar:matrix.orgJan Tojnar
In reply to @piegames:matrix.org
After some reflection, I think that I'd like to package all extensions with buildGnomeExtension, even those not on extensions.gnome.org. This will require some modifications but it should be feasible
How would that even work when an extension requires building? Does not buildGnomeExtension just unpack a tarball?
22:44:57
@jtojnar:matrix.orgJan Tojnar
In reply to @piegames:matrix.org
Also how well does this approach generealize, so that we may hook this into buildGnomeExtension
in the longer term, I would probably want to make gjs support specifying the typelib path as part of the import statement
22:46:54
@jtojnar:matrix.orgJan Tojnarsimilarly how it allows setting version22:47:09
@piegames:matrix.orgpiegames
In reply to @jtojnar:matrix.org
How would that even work when an extension requires building? Does not buildGnomeExtension just unpack a tarball?
You build a tarball as would be uploaded to extensions.gnome.org and then pass it as source to buildGnomeExtension. It then takes care for you of putting everything into place and fixing the dependencies and stuff. The idea is that we can then have patches etc. in extension-overrides.nix, which means less copying stuff around when extensions switch between manually packaged or not (e.g. due to early support for the next Gnome version)
22:47:32

Show newer messages


Back to Room ListRoom Version: 6