Code Monkey home page Code Monkey logo

Comments (6)

meator avatar meator commented on July 1, 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.

from j4-dmenu-desktop.

ibotty avatar ibotty commented on July 1, 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.

from j4-dmenu-desktop.

meator avatar meator commented on July 1, 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.

from j4-dmenu-desktop.

meator avatar meator commented on July 1, 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).

from j4-dmenu-desktop.

meator avatar meator commented on July 1, 2024

Loguru has been replaced by spdlog: 5b5542f.

from j4-dmenu-desktop.

ibotty avatar ibotty commented on July 1, 2024

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

from j4-dmenu-desktop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.