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
linphone: enable gtk ui #46523
linphone: enable gtk ui #46523
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this increase the closure size? If it has any negative consequences it should probably be made an option instead, though it may be enabled by default.
cmakeFlags = "-DENABLE_GTK_UI=ON"; | ||
|
||
postPatch = '' | ||
touch coreapi/liblinphone_gitversion.h |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this necessary? What does it do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The source file gtk/main.c
depends on this file. Linphone actually has two build systems, one based on cmake, the other one based on autoconf/automake. The coreapi/Makefile.am
file actually provides the liblinphone_gitversion.h
file (by just touching it), however cmake doesn't. Since otherwise the build would now fail I just touch the file (like coreapi/Makefile.am
would)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That sounds like a bug, can you please open an upstream ticket for that and link it in a comment?
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec { | |||
sha256 = "0az2ywrpx11sqfb4s4r2v726avcjf4k15bvrqj7xvhz7hdndmh0j"; | |||
}; | |||
|
|||
cmakeFlags = "-DENABLE_GTK_UI=ON"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its better do use lists for *Flags
(except some very specific cases)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done.
@timokau this is irrelevant for an application like this, this is already quite large and I'd expect something like this to have the graphical UI enabled, as seemingly was the intention anyway as GTK had been passed in to the buildInputs already. |
This change indeed increases the closure size (by roughly 3MB):
... I've just added a |
Thanks! While 3MB really aren't much here, I think making it clear that it is optional is still better style. With it being enabled by default, we have the best of both worlds. |
It wasn't entirely obsolete:
We shouldn't just quietly patch around bugs, they at least need to be reported upstream. |
@timokau well this has been "fixed" in upstream already, ... the file failing to compile doesn't exist any longer. Actually upstream is porting the user interface to Qt currently. |
Motivation for this change
Linphone voip client currently depends on Gtk, yet the Gtk-based UI is not currently available. This passes
ENABLE_GTK_UI=ON
to actually enable it.Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)