Skip to content

wayfire: init at 0.3.1#76759

Closed
Thra11 wants to merge 1 commit intoNixOS:masterfrom
Thra11:wayfire
Closed

wayfire: init at 0.3.1#76759
Thra11 wants to merge 1 commit intoNixOS:masterfrom
Thra11:wayfire

Conversation

@Thra11
Copy link
Member

@Thra11 Thra11 commented Jan 1, 2020

Motivation for this change

Package the wayfire 3D wayland compositor, including its config library and shell (panel, background). Seems to work fairly well using the default/example config files.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Jan 1, 2020
@primeos
Copy link
Member

primeos commented Jan 10, 2020

Hi, just a quick heads up: The build will fail with wlroots 0.9.1:

[47/157] Compiling C++ object 'src/25a6634@@wayfire@exe/main.cpp.o'.'.otocol.h'.Ktable-v1-protocol.c.o'.K
../src/main.cpp: In function 'int handle_config_updated(int, uint32_t, void*)':
../src/main.cpp:47:9: warning: ignoring return value of 'ssize_t read(int, void*, size_t)', declared with attribute warn_unused_result [-Wunused-result]
   47 |     read(fd, buf, INOT_BUF_SIZE);
      |     ~~~~^~~~~~~~~~~~~~~~~~~~~~~~
[71/157] Compiling C++ object 'src/25a6634@@wayfire@exe/view_layer-shell.cpp.o'.cpp.o'.
FAILED: src/25a6634@@wayfire@exe/view_layer-shell.cpp.o 
/nix/store/a9hbzlkdfvpr4r8mjwcxcda9smjp5v1i-gcc-wrapper-9.2.0/bin/c++ -Isrc/25a6634@@wayfire@exe -Isrc -I../src -I. -I../ -I../src/api -I/nix/store/yrjafz94aqjdrm28bwbmxng8qw59xk93-wayland-1.17.0/include -I/nix/store/irxs7gzpwmsav6739mzi8ylz3mn0flm2-wlroots-0.9.1/include -I/nix/store/ddhdz49i8g04dln2kcia2l8gjkkxif7k-libxkbcommon-0.8.4-dev/include -I/nix/store/v5i4jmhg21a76b54w2nallhhyjywl7xk-libinput-1.14.3-dev/include -I/nix/store/k5bfpx5x84lg8bv3chlg0yj74nvrsrwl-pixman-0.38.4/include/pixman-1 -I/nix/store/9b5qa2r4z6sisf2qyrhmnhfb4p85zzkd-libdrm-2.4.100-dev/include -I/nix/store/9b5qa2r4z6sisf2qyrhmnhfb4p85zzkd-libdrm-2.4.100-dev/include/libdrm -I/nix/store/5rpsb3sgjq5b3qip0gb5ymv0nq16b5rg-mesa-19.3.1-dev/include -I/nix/store/6lyzq2a2ymdicbgngwzada7by1xjfn2k-libglvnd-1.2.0-dev/include -I/nix/store/4lgpn6gd73fhnrbvxv4bj124j92k65v4-glm-0.9.8.5/include -I/nix/store/4r76dpgwgyi65dnzw7pnjad1vmn6zkih-wf-config-0.3/include/wayfire -I/nix/store/fh7x6jlyjp6kad0bakwsffdqzng4wmkq-libjpeg-turbo-2.0.3-dev/include -I/nix/store/72mklszjlpy55iiici6waz69dm5sphgf-zlib-1.2.11-dev/include -I/nix/store/daykmk7a0r0qcm2g1y24asgzckl9hz67-libpng-apng-1.6.37-dev/include/libpng16 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++14 -DWLR_USE_UNSTABLE -Wno-unused-parameter -MD -MQ 'src/25a6634@@wayfire@exe/view_layer-shell.cpp.o' -MF 'src/25a6634@@wayfire@exe/view_layer-shell.cpp.o.d' -o 'src/25a6634@@wayfire@exe/view_layer-shell.cpp.o' -c ../src/view/layer-shell.cpp
../src/view/layer-shell.cpp: In member function 'void wf_layer_shell_manager::handle_map(wayfire_layer_shell_view*)':
../src/view/layer-shell.cpp:94:32: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
   94 |         layers[view->lsurface->layer].push_back(view);
      |                                ^~~~~
../src/view/layer-shell.cpp: In member function 'void wf_layer_shell_manager::handle_unmap(wayfire_layer_shell_view*)':
../src/view/layer-shell.cpp:102:45: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
  102 |         auto& cont = layers[view->lsurface->layer];
      |                                             ^~~~~
../src/view/layer-shell.cpp: In member function 'wf::layer_t wayfire_layer_shell_view::get_layer()':
../src/view/layer-shell.cpp:342:23: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
  342 |     switch (lsurface->layer)
      |                       ^~~~~
../src/view/layer-shell.cpp:358:1: warning: control reaches end of non-void function [-Wreturn-type]
  358 | }
      | ^
ninja: build stopped: subcommand failed.

However there is already a new upstream release (0.3.1) that should address this: "Compatible with wlroots 0.9.X, wf-shell 0.3 and wf-config 0.3.".

The easiest solution would probably be to update this PR to 0.3.1 and merge it after #76787 (i.e. after the final release of Sway 1.3).

@primeos
Copy link
Member

primeos commented Jan 23, 2020

Just a quick FYI (in case this PR is still active): #76787 is merged now ;)

@Thra11
Copy link
Member Author

Thra11 commented Jan 23, 2020

Looks like wayfire 0.3.1 requires wlroots <0.10.0, so that's a no-go, now that wlroots in nixpkgs master has jumped to 0.10.0.

I'll probably just leave this PR to languish for now.

@Thra11 Thra11 changed the title wayfire: init at 0.3.0 wayfire: init at 0.3.1 Jan 23, 2020
@primeos
Copy link
Member

primeos commented Jan 23, 2020

@Thra11 in that case you could also do one of the following two things if you want:

  1. Patch meson.build to allow e.g. wlroots <0.11.0 (should most likely be fine with 0.10.x if it doesn't use the RDP backend, which is the only major/breaking change - if it still compiles it should be fine)
  2. Override wlroots to use 0.9.1 instead of 0.10.0

I also hope that I didn't unnecessarily delay this PR with my first comment, this was only intended as a suggestion (i.e. open for discussion) and I wasn't sure if this PR was still active (+ I though the final release would be one week earlier).

(Edit: And of course I'm happy to help if you need help with the wlroots part.)

@wucke13
Copy link
Contributor

wucke13 commented May 1, 2020

What's the ticket here? Current release of wayfire should be compatible with the current version of wlroots in nixpkgs.

Edit: I started picking up the work from @Thra11 . Feel free to pull from https://github.com/wucke13/nixpkgs/tree/wayfire, I hope to add expressions for the other, new wayfire components in the following days. I'd love to see this in-tree soon

@wucke13 wucke13 mentioned this pull request May 2, 2020
10 tasks
@Thra11
Copy link
Member Author

Thra11 commented May 4, 2020

Closed in favour of #86606 or #86569

@Thra11 Thra11 closed this May 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants