wlmaker icon indicating copy to clipboard operation
wlmaker copied to clipboard

Publish a self-contained binary package of wlmaker at head

Open phkaeser opened this issue 2 years ago • 29 comments

Leftover part of #3 and of https://github.com/phkaeser/wlmaker/pull/4:

To permit users to easily get hold of the most recent wlmaker version and test it: Have a binary release packaged, together with the dependencies at the required versions. (thinking: eg. a flatpak? snap? better ideas?)

phkaeser avatar Jan 27 '24 19:01 phkaeser

AppImage :)

Actually I had started working on it but am no more active there due to the CLA and Google Account requirement. But you are welcome to take what you deem useful. Probably further tinkering is needed.

https://github.com/probonopd/wlmaker/blob/deploy/.github/workflows/build_and_upload_artifact.yml

probonopd avatar Jan 28 '24 10:01 probonopd

there is also https://pkgx.sh but really native packages are best, and you cover most with .deb and .rpm...

alexmyczko avatar Feb 03 '24 20:02 alexmyczko

here is an updated debian source package:

http://bananas.ethz.ch/debian/wlmaker/2/

alexmyczko avatar Jun 19 '24 14:06 alexmyczko

Thanks for the debian package, @alexmyczko . Can I link to it?

phkaeser avatar Jun 20 '24 20:06 phkaeser

@phkaeser i can't forbid. but give me a few weeks. let someone test/try it. if it works well might as well just make if an official package and use a better link like packages.debian.org/wlmaker or repology.org

alexmyczko avatar Jun 21 '24 03:06 alexmyczko

No rush -- good for sb. to test it first. Also, it wouldn't hurt for me to clean up dependencies a little, and wait for wlroots v0.17.4 due to #58 . I'll post an update here once cleanup is done. Thanks!

phkaeser avatar Jun 21 '24 12:06 phkaeser

sb? soundblaster?

once when gnustep is build with wayland backend. can i use gnustep waland dockapp timemon.app to the dock?

alexmyczko avatar Jun 21 '24 16:06 alexmyczko

SomeBody 😄. But makes me think I should start naming tools after vintage soundcards... GUS :thinking:

phkaeser avatar Jun 21 '24 16:06 phkaeser

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074240 waiting for a new release from you :)

alexmyczko avatar Jun 25 '24 07:06 alexmyczko

couldn't wait https://ftp-master.debian.org/new/wlmaker_0.2+git20240618+ds-1.html

alexmyczko avatar Jun 27 '24 17:06 alexmyczko

So cool!

On wlmaker side, there's a few things I want to wrap up before declaring v0.3; but expecting this to happen in the next week or so. I'll give a bump to this thread once ready.

phkaeser avatar Jun 28 '24 06:06 phkaeser

If instructions could be published to get a working/running wlmaker I would do some testing. I have tried compiling and running using the README instructions and I can never get it to run. Issues with getting a seat and/or initializing a renderer. I am sure I am doing something wrong but cannot figure it out. Maybe instructions starting from a fresh minimal debian install? Since it looks like the github actions build off of debian or if another distro would be better to start with let me know. Thanks.

tstraus13 avatar Jun 30 '24 04:06 tstraus13

Good point, @tstraus13 ! Added #73 as separate issue.

phkaeser avatar Jun 30 '24 06:06 phkaeser

Promised follow-up to https://github.com/phkaeser/wlmaker/issues/26#issuecomment-2196248284: v0.3 released at https://github.com/phkaeser/wlmaker/releases/tag/v0.3.

phkaeser avatar Jul 04 '24 07:07 phkaeser

Do you think with gnustep-back built for wayland, this could work? https://www.nongnu.org/gap/innerspace/index.html

alexmyczko avatar Jul 04 '24 08:07 alexmyczko

@alexmyczko -- InnerSpace as Screen Saver for wlmaker? Wayland has a set of protocols that support screen savers well (in better ways than X11); I added support for these with v0.3.

I suspect InnerSpace with gnustep-back built for wayland won't be using these extra protocols, but operate as a normal "fullscreen" application -- ie. the dock may remain visible, and it won't be able to "lock" the screen, ie. prevent inputs from being sent to other applications). It may also make use of X11 screen saver extensions -- which I haven't looked into supporting from wlmaker (yet), and am unsure if they're supported by XWayland at all.

With gnustep-back for wayland: I believe a better course of action would be to extend InnerSpace with https://wayland.app/protocols/ext-session-lock-v1.

(separately: You have a gnustep-back working for wayland? Please share pointers!)

phkaeser avatar Jul 04 '24 08:07 phkaeser

https://github.com/gnustep/libs-back/tree/master/Source/wayland

it has been around forever but the Debian GNUstep Team is currently testing it for early adoption so everyone can profit...

would also be fun to have one like this: https://github.com/alexmyczko/homebrew-mac/blob/main/Casks/flying-toasters.rb

alexmyczko avatar Jul 04 '24 08:07 alexmyczko

without grepping the source for the listed authors, can you shed some light on their code and its licenses?

https://alioth-lists.debian.net/pipermail/pkg-gnustep-maintainers/2024-July/005777.html

update: just saw 0.3 is not affected anymore, great... ah wait they're in the submodules...

can you make the CMakeLists.txt so it uses system versions of libs, and not submodules?

Submodule path 'dependencies/drm': checked out '5254fd1146b95a86fef1bb8e950d0146d829f3c4'
Submodule path 'dependencies/hwdata': checked out '81e9efc9fd33cf67b68cb5889d5216ec1805d252'
Submodule path 'dependencies/libdisplay-info': checked out '66b802d05b374cd8f388dc6ad1e7ae4f08cb3300'
Submodule path 'dependencies/pixman': checked out '6c2e4a0dd9d1c84f501f9b764f08d258e03b3357'
Submodule path 'dependencies/wayland': checked out '69633202180acce9d0d5ab4037d80291c71b2307'
Submodule path 'dependencies/wayland-protocols': checked out '681c33c8547d6aefe24455ba2bffe1c5ae11fee5'
Submodule path 'dependencies/wlroots': checked out 'a2d2c38a3127745629293066beeed0a649dff8de'
Submodule path 'examples/gtk-layer-shell': checked out '5f71546112fd284aced13e7b2391a601204bcacd'
Submodule path 'submodules/libbase': checked out 'df7ce2ae1a041023b55f67eb4e7ce1576bd87645'

debian has libpixman-1-dev, libwlroots-dev, libdisplay-info-dev...

alexmyczko avatar Jul 04 '24 19:07 alexmyczko

Actually, CMakeLists.txt is already configured such that it uses system libs, if found at the required recent version.

The various git submodules are referenced in the github repository, since most distributions don't carry the most recent dependency libraries yet (eg. libwlroots); and so I have a convenient way of setting up my dev env on each host I'm using.

For packaging, only one git submodule is required:

  • submodules/libbase -- as a C base library, also under Apache 2.0 license.

The other git submodules can be omitted:

  • dependencies/... : This is git references to (basically) libwlroots-dev 0.17.4, libwayland-dev 1.22.91 and wayland-protocols 1.32; and used for the developer's (my own) convenience.
  • examples/... : A reference to a recent gtk-layer-shell. Optional, for testing only, debian's gtk-layer-shell-examples provides that tool.

@alexmyczko -- for preparing the wlmaker package, is it possible to restrict git to just the submodules subtree? With above libraries installed, the sequence below (note the submodules/ part) will get what you need and build from host libraries:

git clone https://github.com/phkaeser/wlmaker.git
cd wlmaker
git submodule update --init --recursive --merge submodules/
git submodule update --checkout --recursive --merge submodules/
cmake -DCMAKE_INSTALL_PREFIX:PATH=${HOME}/.local -B build

phkaeser avatar Jul 05 '24 08:07 phkaeser

Attempting to be more specific -- recent libraries required:

  • libwlroots-dev 0.17.4
  • libwayland-dev 1.22.91
  • wayland-protocols 1.32
  • libcairo2-dev 1.16.0
  • xwayland 22.1.9
  • libxkbcommon-dev 1.5.0

(libdrm, pixman, ... are indirect dependencies, required for libwlroots or wayland).

Additionally, there's a few dependencies needed to build -- these don't have to be very recent; I use Debian bookworm for these. See the github workflow for an exhaustive list: https://github.com/phkaeser/wlmaker/blob/main/.github/workflows/build-for-linux.yml

phkaeser avatar Jul 05 '24 08:07 phkaeser

meanwhile debian has gotten wlmaker :) https://buildd.debian.org/status/package.php?p=wlmaker&suite=sid

and guess what http://bananas.debian.net/debian/gnustep-back/2/ wayland back for gnustep

alexmyczko avatar Jul 27 '24 12:07 alexmyczko

wlmaker

alexmyczko avatar Jul 27 '24 18:07 alexmyczko

Yay, great! Adding #88 with links to Debian and FreeBSD packages.

@alexmyczko -> Is there anything I can do to help with downstream packaging? Add scripts, ...?

(GNUstep back for Wayland! Trying to get this compiled here...)

phkaeser avatar Jul 28 '24 09:07 phkaeser

http://bananas.ethz.ch/debian/gnustep-back/2/

alexmyczko avatar Jul 28 '24 13:07 alexmyczko

FYI... I was able to get a Debian install with Gnome/KDE. Set the repositories to Sid. Then install the wlmaker package and I could finally get it to run! So now I can at least test/try it out. Looking forward to more updates.

tstraus13 avatar Jul 28 '24 23:07 tstraus13

@phkaeser the main issue now is the dock size being too small for high resolution, and the screen size is kind of limited to some specific size (like 1/4 of my screen) on a macbook pro with retina display. i guess if the latter was fixed this would be a big improvement. if you want to hit debian 13 (trixie), you'd have to get at least this and some form of scaling (2x) for the app icons. this is kinda even worse with wmaker, WPrefs allows specific sizes of dock and icons, however dockapps don't get scaled (except TimeMon.app), however just doubling the font sizes messes it all up, as wmaker for example WPrefs just does not resize.

alexmyczko avatar Aug 27 '24 10:08 alexmyczko

This issue is becoming a bit overloaded -- @alexmyczko you can help me keep this a bit organized by filing new issues separately :)

Moving discussion there:

  • for the limited screen size: #98.
  • for scaling: #99.

phkaeser avatar Aug 27 '24 18:08 phkaeser

overloaded? 27 comments? what's this then https://github.com/elfmz/far2l/issues/692 no i get what you mean, i'll try hard to create separate issues. thanks for redirecting the things to their proper place. looking forward to use this for desktop, soon(?)

alexmyczko avatar Aug 27 '24 18:08 alexmyczko