Summary: | net-misc/tigervnc-1.2.0 version bump and add USE=java | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Robin Bankhead <gentoo> |
Component: | Current packages | Assignee: | Raúl Porcel (RETIRED) <armin76> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | leho, navid.zamani |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
ebuild and patches for 1.2.0
update another update Update for xorg-server-1.13 |
Description
Robin Bankhead
2012-04-05 18:42:00 UTC
Created attachment 308209 [details]
ebuild and patches for 1.2.0
The tarball contains an ebuild plus all needed patches to build tigervnc-1.2.0.
Note, the viewer gets built statically against tigervnc's internal fltk. I know this is against policy, but the internal copy is patched to provide full functionality of the viewer, and I haven't yet bothered trying to patch the system fltk.
Created attachment 308315 [details]
update
I've made FLTK handling into a USE flag, internal-fltk, on by default. If you turn it off, the viewer will build against the system fltk, but it will be missing functionality (the most visible one is no fullscreen support).
One thing I would like to see in tigervnc ebuilds is a USE flag for --enable-composite. For example running Cinnamon is otherwise impossible. Now that I look at 1.2.0 ebuild, I'm not sure anymore if that's already not taken care of by new features in this version. @Leho: The current 1.1.0 ebuild in portage explicitly disables composite. Not really sure why, because it works. My 1.2.0 ebuild doesn't disable it, so it's there. great! reason i started looking around and eventually found this bug was that i was looking for a way to specify default options for vncviewer. window look has been refreshed man vncviewer still shows nothing about defaults. only ancient thread i have is this http://www.mail-archive.com/tigervnc-users@lists.sourceforge.net/msg00053.html if anyone knows anything more about this, i'd appreciate it. Created attachment 308519 [details]
another update
Set required dependencies when using internal fltk, trim some unnecessary deps, and relax xorg-server dep when using xorgmodule (it's not necessary to have the exact same version, just one that has the same ABI).
Also split a patch that did many things into separate logical patches.
(In reply to comment #6) vncviewer --help lists defaults. (In reply to comment #8) > (In reply to comment #6) > > vncviewer --help lists defaults. Yeah. But how do you CHANGE them? It's annoying as hell having set color options every time you connect. Just another observation about this ebuild: USE=java causes the applet always to be served by the Xvnc process (vncserver script is hardwired to do this if it finds the classes installed). For those running Apache it'll likely be preferable to serve the applet from that, so I suggest vncserver be adapted to make using the mini-httpd optional. Though maybe that suggestion belongs upstream...? Has this bug lost momentum? I'm quite interested in the 1.2 series support for xinerama in full screen mode. Heads up, you're probably going to hit this with binutils-2.22 http://www.mail-archive.com/tigervnc-devel@lists.sourceforge.net/msg02226.html Fix is here http://www.mail-archive.com/tigervnc-devel@lists.sourceforge.net/msg02280.html, reportedly applied to trunk in March already This what got it it to link: vncviewer/CMakeLists.txt: 40 if(USE_INCLUDED_FLTK) 41 target_link_libraries(vncviewer fltk_static ${FONTCONFIG_LIB}) 42 endif() L41 has ${FONTCONFIG_LIB} added. That's a hacky fix that breaks other platforms. Not that we care about anything but Linux here, but still. A more proper fix: diff -ur tigervnc-1.2.0.orig/CMakeLists.txt tigervnc-1.2.0/CMakeLists.txt --- tigervnc-1.2.0.orig/CMakeLists.txt 2012-03-09 21:34:29.000000000 +0100 +++ tigervnc-1.2.0/CMakeLists.txt 2012-03-30 15:28:59.716911575 +0200 @@ -316,7 +316,8 @@ if(APPLE) set(FLTK_LIBRARIES "-framework Carbon -framework Cocoa -framework ApplicationServices") elseif(NOT WIN32) - set(FLTK_LIBRARIES "-ldl") + find_library(FONTCONFIG_LIB fontconfig) + set(FLTK_LIBRARIES "-ldl" ${FONTCONFIG_LIB}) endif() message(STATUS "Using included FLTK library") endif() Something's weird though - I don't need this on Gentoo, and I've been compiling with binutils-2.22 all the time. That's the reason it's not in the patches already, I can compile here without it. Do other people also need this to compile, or does compilation work for you without it? Not sure when I'll get time to test, but just a thought: could this disparity in outcomes be due to the global fontconfig flag? Maybe you two should compare that. This isn't about fontconfig actually. It's about a change in linker behavior between binutils-2.21 and 2.22. It's a deliberate, documented change, and on Arch a handful of packages wouldn't compile anymore, because what were implicit dependencies before now needed to be explicitly added to the linker flags. Tigervnc was one of the packages affected, that's why I have that patch, it's among the patches applied on Arch. But when I compiled on Gentoo, it compiled without it, which gave me a bit of a O_O Anyway, it doesn't hurt to explicitly add fontconfig to the flags even if it's not strictly necessary, so I'll add the patch on the next update. Created attachment 323098 [details]
Update for xorg-server-1.13
xorg-server-1.13 is in ~arch, so add patches to compile and work with that. Also, a patch to add fontconfig to liker flags, as discussed above.
In CVS, thanks for the ebuilds and the patches. I dropped the java7 depend and patch, i just tested with 1.6 and it worked fine. For me, the tree ebuild fails to build on x86_64, xorg-server-1.13. ... vncExtInit.cc:1070:39: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] cc1plus: some warnings being treated as errors make[3]: *** [libvnccommon_la-vncExtInit.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... ... vim vncExtInit.cc: ... 1070 if (queryConnectId == (void*)stuff->opaqueId) { ... Only one meaningful patch turned out with googling https://encrypted.google.com/search?hl=en&q=tigervnc%20stuff%20opaqueid and it does: +- if (queryConnectId == (void*)stuff->opaqueId) { ++ if ((CARD32)(long)queryConnectId == stuff->opaqueId) { Patching this in workdir enabled FEATURES=keepwork to finish building with no other issues. |