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

Publish a self-contained binary package of wlmaker at head #26

Open
phkaeser opened this issue Jan 27, 2024 · 28 comments
Open

Publish a self-contained binary package of wlmaker at head #26

phkaeser opened this issue Jan 27, 2024 · 28 comments
Labels
enhancement New feature or request

Comments

@phkaeser
Copy link
Owner

Leftover part of #3 and of #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 phkaeser added the enhancement New feature or request label Jan 27, 2024
@probonopd
Copy link

probonopd commented Jan 28, 2024

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

@alexmyczko
Copy link

alexmyczko commented Feb 3, 2024

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

@alexmyczko
Copy link

here is an updated debian source package:

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

@phkaeser
Copy link
Owner Author

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

@alexmyczko
Copy link

@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

@phkaeser
Copy link
Owner Author

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!

@alexmyczko
Copy link

alexmyczko commented Jun 21, 2024

sb? soundblaster?

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

@phkaeser
Copy link
Owner Author

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

@alexmyczko
Copy link

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

@alexmyczko
Copy link

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

@phkaeser
Copy link
Owner Author

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.

@tstraus13
Copy link

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.

@phkaeser
Copy link
Owner Author

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

@phkaeser
Copy link
Owner Author

phkaeser commented Jul 4, 2024

Promised follow-up to #26 (comment): v0.3 released at https://github.com/phkaeser/wlmaker/releases/tag/v0.3.

@alexmyczko
Copy link

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

@phkaeser
Copy link
Owner Author

phkaeser commented Jul 4, 2024

@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!)

@alexmyczko
Copy link

alexmyczko commented Jul 4, 2024

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
Copy link

alexmyczko commented Jul 4, 2024

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...

@phkaeser
Copy link
Owner Author

phkaeser commented Jul 5, 2024

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
Copy link
Owner Author

phkaeser commented Jul 5, 2024

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

@alexmyczko
Copy link

alexmyczko commented Jul 27, 2024

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
Copy link

wlmaker

@phkaeser
Copy link
Owner Author

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...)

@alexmyczko
Copy link

alexmyczko commented Jul 28, 2024

@tstraus13
Copy link

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.

@alexmyczko
Copy link

@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.

@phkaeser
Copy link
Owner Author

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:

@alexmyczko
Copy link

overloaded? 27 comments? what's this then elfmz/far2l#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(?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants