Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 410929 - net-misc/tigervnc-1.2.0 version bump and add USE=java
Summary: net-misc/tigervnc-1.2.0 version bump and add USE=java
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Raúl Porcel (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-05 18:42 UTC by Robin Bankhead
Modified: 2012-11-17 03:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild and patches for 1.2.0 (tigervnc-1.2.0.tar.bz2,9.49 KB, application/x-bzip2)
2012-04-08 11:36 UTC, Uroš Vampl
Details
update (tigervnc.tar.bz2,9.69 KB, application/x-bzip2)
2012-04-09 16:53 UTC, Uroš Vampl
Details
another update (tigervnc.tar.bz2,10.56 KB, application/x-bzip2)
2012-04-11 13:30 UTC, Uroš Vampl
Details
Update for xorg-server-1.13 (tigervnc.tar.bz2,15.86 KB, application/x-bzip2)
2012-09-06 18:13 UTC, Uroš Vampl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robin Bankhead 2012-04-05 18:42:00 UTC
http://sourceforge.net/projects/tigervnc/files/tigervnc/1.2.0/

tigervnc-1.2.0 was released 13 Mar 2012, I see there's no bump request for it, so here's a bump request.

It would also be good to have a USE=java flag (as with tightvnc) to allow building the Java viewer/applet.
Comment 1 Uroš Vampl 2012-04-08 11:36:04 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.
Comment 2 Uroš Vampl 2012-04-09 16:53:57 UTC
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).
Comment 3 Leho Kraav (:macmaN @lkraav) 2012-04-11 12:34:19 UTC
One thing I would like to see in tigervnc ebuilds is a USE flag for --enable-composite. For example running Cinnamon is otherwise impossible.
Comment 4 Leho Kraav (:macmaN @lkraav) 2012-04-11 12:35:21 UTC
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.
Comment 5 Uroš Vampl 2012-04-11 13:21:42 UTC
@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.
Comment 6 Leho Kraav (:macmaN @lkraav) 2012-04-11 13:24:25 UTC
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.
Comment 7 Uroš Vampl 2012-04-11 13:30:44 UTC
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.
Comment 8 Uroš Vampl 2012-04-11 13:38:52 UTC
(In reply to comment #6)

vncviewer --help lists defaults.
Comment 9 Leho Kraav (:macmaN @lkraav) 2012-04-11 13:44:32 UTC
(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.
Comment 10 Robin Bankhead 2012-04-22 15:53:30 UTC
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...?
Comment 11 David Flogeras 2012-08-16 12:32:16 UTC
Has this bug lost momentum?  I'm quite interested in the 1.2 series support for xinerama in full screen mode.
Comment 12 Leho Kraav (:macmaN @lkraav) 2012-08-27 22:45:46 UTC
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
Comment 13 Leho Kraav (:macmaN @lkraav) 2012-08-27 23:38:50 UTC
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.
Comment 14 Uroš Vampl 2012-09-02 22:23:56 UTC
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?
Comment 15 Robin Bankhead 2012-09-04 18:04:16 UTC
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.
Comment 16 Uroš Vampl 2012-09-06 11:30:59 UTC
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.
Comment 17 Uroš Vampl 2012-09-06 18:13:07 UTC
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.
Comment 18 Raúl Porcel (RETIRED) gentoo-dev 2012-09-16 16:14:09 UTC
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.
Comment 19 Leho Kraav (:macmaN @lkraav) 2012-11-17 03:45:06 UTC
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.