Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wayfire: init at 0.3.1 #76759

Closed
wants to merge 1 commit into from
Closed

wayfire: init at 0.3.1 #76759

wants to merge 1 commit into from

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 @

@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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants