mate-desktop / marco

MATE default window manager
https://mate-desktop.org
GNU General Public License v2.0
193 stars 86 forks source link

[Behaiovur change] Make zenity optional - at the least during "./configure" #697

Open rubyFeedback opened 2 years ago

rubyFeedback commented 2 years ago

Yo mate-desktop folks out there,

I am currently compiling mate on an old laptop, using slackware. So far this all works fine. \o/

When compiling marco, though, a configure error is raised because zenity is missing. No problem, I am compiling zenity right now.

But! I believe it is awkward that this is demanded during configure time. If marco does not depend on zenity code as-is, could it not be made available afterwards and then checked? Or what do you do when someone lateron removes /zsr/bin/zenity, will marco and thus mate-desktop no longer work? "startx" would not work? I don't think so. So my proposale would be that the hard check is changed to recommend to zenity being installed. But users could install zenity just fine LATERON. (See my example of removing zenity lateron, whether that makes mate-desktop fail or not.)

The reason why I propose this is a minor one, I admit this. I'd prefer to just compile for now without zenity and compile zenity at a later time - but the bigger question is whether zenity is a hard dependency or a soft one. Right now it is one that I don't seem to be able to avoid. The configure options also don't have an option such as --ignore-zenity-for-now. IMO, if marco shells out to call zenity, then it should be able to compile as-is fine, and check for zenity being installed only when it actually needs it.

rubyFeedback commented 2 years ago

I meant "/usr/bin/zenity" ... my crappy palemoon browser does not allow me to re-edit the above, due to some javascript trickery at github .... :(

tormodvolden commented 2 years ago

Indeed, it is a run-time dependency and not a build-time dependency. It is not required on the computer where marco is built, only on the computers where it should run.

It can serve as a reminder to make sure zenity will be installed on the run-time computers, but that is not what AC_PATH_PROG is for.