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

Allow compiling with system-installed loguru #154

Closed
ibotty opened this issue Mar 6, 2024 · 6 comments
Closed

Allow compiling with system-installed loguru #154

ibotty opened this issue Mar 6, 2024 · 6 comments

Comments

@ibotty
Copy link
Contributor

ibotty commented Mar 6, 2024

I am the Fedora package maintainer of j4-dmenu-desktop.

To allow distributions to package the upcoming release, there has to be a way to use a system-installed loguru. Similarly as with catch2.

Aside: It's a little unfortunate that loguru was chosen, because it's not packaged in debian derivates (AFAICT) or Fedora and there is no released version. But we'll deal with that.

@meator
Copy link
Collaborator

meator commented Mar 6, 2024

Thanks for contributing! I am also a maintainer of some packages on Void Linux, so I'm glad to help other packagers.

You may have noticed in the documentation I have created that I strongly prefer Meson as the build system. To be honest, I would have liked to remove CMake support altogether, but I understand that it must be kept for compatibility.

loguru is using the Wrap dependency system on Meson. This means that supplying a system installed loguru should work without problems on Meson. Why do you want to use CMake?

I understand that I declared official support for both build systems, so they should both be capable of building j4-dmenu-desktop in all supported environments including package builders of different distros. But I would still prefer packagers to switch to Meson, because it's easier to maintain for me and, in my personal opinion, it is a more capable build system. The cross and native file mechanism, wrap dependencies, a clear host/target distinction & more make Meson a better choice for packagers in my opinion.

Aside: It's a little unfortunate that loguru was chosen, because it's not packaged in debian derivates (AFAICT) or Fedora and there is no released version. But we'll deal with that.

loguru has it's problems, but I like its features and its minimalist approach to logging. It should be packagable.

@ibotty
Copy link
Contributor Author

ibotty commented Mar 6, 2024

I did already package loguru and am waiting for review, so this should not be the problem.

I have no strong opinion RE build system. Am I right, that meson does not require any flags to use system installed catch and loguru? I can switch without any problems I suppose.

I propose that you deprecate cmake support if it's too much of a hassle to maintain. Honestly, I always wonder why people support two build systems.

@meator
Copy link
Collaborator

meator commented May 3, 2024

Oh wow. I've looked more into the loguru situation. The latest release doesn't even have a build system! It has been added to master, but it hasn't made its way into a released version yet.

Feature wise, I've been pretty satisfied with loguru. It is small and it does what I need. But the last commit was made a year ago, the last release was made 5 years ago, and I see the problems with packaging. They say "If it ain't broke, don't fix it" and it is still fully functional, but I will have to consider finding an alternative.

@meator meator mentioned this issue May 3, 2024
@meator
Copy link
Collaborator

meator commented May 3, 2024

I did already package loguru and am waiting for review, so this should not be the problem.

Yeah, sorry about that. A switch to spdlog will probably make such package obsolete. But this switch should simplify packaging. See #160 for my rationale for the change.

Disclaimer: I haven't yet made the promised v3.0 release, so everything in develop may still be subject to change. I reserve the right to add or remove dependencies as I please until then (but this should hopefully be the last change made to dependencies; I have also considered removing complgen, but that shouldn't affect packaging much).

@meator
Copy link
Collaborator

meator commented May 5, 2024

Loguru has been replaced by spdlog: 5b5542f.

@meator meator closed this as completed May 5, 2024
@ibotty
Copy link
Contributor Author

ibotty commented May 6, 2024

Ah, no worries. I'll switch the build system to meson and use spdlog.

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

Successfully merging a pull request may close this issue.

2 participants