Contents of /branches/R11-stable/extras/tigervnc/tigervnc-1.3.0-r1.smage2
Parent Directory | Revision Log
Revision 19015 -
(show annotations)
(download)
Wed Aug 21 13:15:21 2013 UTC (11 years, 1 month ago) by niro
Original Path: trunk/extras/tigervnc/tigervnc-1.3.0-r1.smage2
File size: 10145 byte(s)
Wed Aug 21 13:15:21 2013 UTC (11 years, 1 month ago) by niro
Original Path: trunk/extras/tigervnc/tigervnc-1.3.0-r1.smage2
File size: 10145 byte(s)
auto added: ver bump to 1.3.0-r1
1 | # $Id$ |
2 | |
3 | PNAME="tigervnc" |
4 | PVER="1.3.0" |
5 | PBUILD="r1" |
6 | |
7 | SPLIT_PACKAGES="tigervnc-common tigervnc-server tigervnc-xserver-module tigervnc-server-applet tigervnc" |
8 | |
9 | PCAT="net-misc" |
10 | HOMEPAGE="http://www.tigervnc.com/" |
11 | |
12 | SRCFILE="${PNAME}-${PVER}.tar.bz2" |
13 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
14 | |
15 | XORG_PVER="1.14.2" |
16 | XORG="xorg-server-${XORG_PVER}.tar.bz2" |
17 | XORGSDIR="${BUILDDIR}/xorg-server-${XORG_PVER}" |
18 | XORGDDIR="${SRCDIR}/unix/xserver" |
19 | |
20 | COMMON_DEPEND=">= x11-libs/libX11-1.6 |
21 | >= x11-libs/libXext-1.3 |
22 | >= x11-libs/libSM-1.2 |
23 | >= x11-libs/libXtst-1.2 |
24 | >= x11-libs/libXi-1.7 |
25 | >= x11-libs/fltk-1.3 |
26 | >= sys-libs/zlib-1.2.5 |
27 | >= sys-libs/libstdc++-4.8 |
28 | >= app-crypt/gnutls-2.12" |
29 | |
30 | COMMON_FONTS_DEPEND=">= media-fonts/font-adobe-100dpi-1 |
31 | >= media-fonts/font-adobe-75dpi-1 |
32 | >= media-fonts/font-alias-1 |
33 | >= media-fonts/font-cursor-misc-1 |
34 | >= media-fonts/font-misc-misc-1" |
35 | |
36 | SERVER_DEPEND=">= x11-libs/libXfont-1.4 |
37 | >= x11-libs/libxkbfile-1.0.8 |
38 | >= x11-libs/pixman-0.28 |
39 | >= media-libs/freetype-2.4 |
40 | >= x11-apps/xauth-1.0.7 |
41 | >= x11-apps/xsetroot-1.1 |
42 | >= x11-misc/xkeyboard-config-2.8 |
43 | >= sys-fs/udev-203" |
44 | |
45 | MODULE_DEPEND=">= virtual/X-ABI-EXTENSION-7 |
46 | >= virtual/X-ABI-VIDEODRV-14 |
47 | >= virtual/X-ABI-XINPUT-19" |
48 | |
49 | APPLET_DEPEND=">= virtual/java" |
50 | |
51 | SDEPEND="${COMMON_DEPEND} |
52 | ${COMMON_FONTS_DEPEND} |
53 | ${SERVER_DEPEND} |
54 | ${MODULE_DEPEND} |
55 | ${APPLET_DEPEND} |
56 | >= dev-util/desktop-file-utils-0.15 |
57 | >= dev-lang/nasm-2 |
58 | >= x11-proto/xextproto-7.2 |
59 | >= x11-proto/inputproto-2 |
60 | >= x11-proto/bigreqsproto-1.1 |
61 | >= x11-proto/compositeproto-0.4 |
62 | >= x11-proto/damageproto-1.2 |
63 | >= x11-proto/dri2proto-2.3 |
64 | >= x11-proto/fixesproto-5 |
65 | >= x11-proto/fontsproto-2.1 |
66 | >= x11-proto/randrproto-1.3 |
67 | >= x11-proto/resourceproto-1.2 |
68 | >= x11-proto/scrnsaverproto-1.2 |
69 | >= x11-proto/videoproto-2.3 |
70 | >= x11-proto/xcmiscproto-1.2 |
71 | >= x11-proto/xineramaproto-1.2 |
72 | >= x11-proto/xf86bigfontproto-1.2 |
73 | >= x11-proto/xf86dgaproto-2.1 |
74 | >= x11-proto/xf86driproto-2.1 |
75 | >= x11-proto/xf86miscproto-0.9.3 |
76 | >= x11-proto/xf86vidmodeproto-2.3 |
77 | >= x11-proto/glproto-1.4.12 |
78 | >= x11-proto/renderproto-0.11 |
79 | >= x11-libs/libpciaccess-0.12 |
80 | >= virtual/java-jdk |
81 | >= gnome-base/librsvg-2.36 |
82 | >= media-gfx/imagemagick-6.8" |
83 | |
84 | sminclude cmake xorg xdg mtools cleanutils |
85 | |
86 | SRC_URI=( |
87 | sourceforge://${PNAME}/${SRCFILE} |
88 | mirror://${PNAME}/${SRCFILE} |
89 | http://ftp.x.org/pub/individual/xserver/${XORG} |
90 | mirror://xorg-server/${XORG} |
91 | mirror://${PNAME}/tigervnc_48.png |
92 | mirror://${PNAME}/${PNAME}-1.0.90-cookie.patch |
93 | mirror://${PNAME}/${PNAME}-1.0.90-ldnow.patch |
94 | mirror://${PNAME}/${PNAME}-1.1.0-gethomedir.patch |
95 | mirror://${PNAME}/${PNAME}-1.1.0-rh692048.patch |
96 | mirror://${PNAME}/${PNAME}-${PVER}-inetd-nowait.patch |
97 | mirror://${PNAME}/${PNAME}-${PVER}-setcursor-crash.patch |
98 | mirror://${PNAME}/${PNAME}-${PVER}-manpages.patch |
99 | mirror://${PNAME}/${PNAME}-${PVER}-getmaster.patch |
100 | mirror://${PNAME}/${PNAME}-${PVER}-shebang.patch |
101 | mirror://${PNAME}/${PNAME}-${PVER}-key_is_down.patch |
102 | ) |
103 | |
104 | UP2DATE="updatecmd_sourceforge ${PNAME} gz" |
105 | |
106 | split_info_tigervnc-common() |
107 | { |
108 | DESCRIPTION="Common TigerVNC libs and utils." |
109 | DEPEND="${COMMON_DEPEND}" |
110 | PROVIDE="virtual/vnc-client" |
111 | } |
112 | |
113 | split_info_tigervnc-server() |
114 | { |
115 | DESCRIPTION="TigerVNC VNC server." |
116 | DEPEND="== net-misc/tigervnc-common-${PVER} |
117 | ${COMMON_DEPEND} |
118 | ${COMMON_FONTS_DEPEND} |
119 | ${SERVER_DEPEND}" |
120 | PROVIDE="virtual/vnc" |
121 | } |
122 | |
123 | split_info_tigervnc-xserver-module() |
124 | { |
125 | DESCRIPTION="TigerVNC Xorg server module." |
126 | DEPEND="== net-misc/tigervnc-common-${PVER} |
127 | ${COMMON_FONTS_DEPEND} |
128 | ${MODULE_DEPEND}" |
129 | PROVIDE="virtual/vnc-x11" |
130 | } |
131 | |
132 | split_info_tigervnc-server-applet() |
133 | { |
134 | DESCRIPTION="TigerVNC VNC server." |
135 | DEPEND="${APPLET_DEPEND}" |
136 | PROVIDE="virtual/vnc-java" |
137 | } |
138 | |
139 | split_info_tigervnc() |
140 | { |
141 | DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality." |
142 | DEPEND="== net-misc/tigervnc-common-${PVER} |
143 | == net-misc/tigervnc-server-${PVER} |
144 | == net-misc/tigervnc-xserver-module-${PVER} |
145 | == net-misc/tigervnc-server-applet-${PVER}" |
146 | |
147 | PKGTYPE="virtual" |
148 | |
149 | # drop everything we don't need in the meta package: |
150 | INHERITS="" |
151 | SPECIAL_VARS="" |
152 | SPECIAL_FUNCTIONS="" |
153 | SDEPEND="" |
154 | PROVIDE="" |
155 | unset -f preinstall |
156 | unset -f postinstall |
157 | unset -f preremove |
158 | unset -f postremove |
159 | } |
160 | |
161 | src_prepare() |
162 | { |
163 | munpack ${SRCFILE} || die |
164 | munpack ${XORG} || die |
165 | cp -r ${XORGSDIR}/* ${XORGDDIR} || die |
166 | cd ${SRCDIR} |
167 | |
168 | # patchwork |
169 | # create X server cookie via mcookie |
170 | mpatch ${PNAME}-1.0.90-cookie.patch || die |
171 | # link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup |
172 | mpatch ${PNAME}-1.0.90-ldnow.patch || die |
173 | mpatch ${PNAME}-1.1.0-gethomedir.patch || die |
174 | mpatch ${PNAME}-1.1.0-rh692048.patch || die |
175 | |
176 | # fix busy loop when run from inetd in nowait mode |
177 | mpatch ${PNAME}-${PVER}-inetd-nowait.patch || die |
178 | |
179 | # fix a crash wit setcursor |
180 | mpatch ${PNAME}-${PVER}-setcursor-crash.patch || die |
181 | |
182 | # synchronise manpages and --help output |
183 | mpatch ${PNAME}-${PVER}-manpages.patch || die |
184 | |
185 | # libvnc.so: don't use unexported GetMaster function |
186 | mpatch ${PNAME}-${PVER}-getmaster.patch || die |
187 | |
188 | # don't use shebang in vncserver script. |
189 | mpatch ${PNAME}-${PVER}-shebang.patch || die |
190 | |
191 | # libvnc.so: don't use unexported key_is_down function |
192 | mpatch ${PNAME}-${PVER}-key_is_down.patch || die |
193 | |
194 | # apply the included xorg patch |
195 | cd ${XORGDDIR} |
196 | local xorg_patch_ver="${XORG_PVER%.*}" |
197 | xorg_patch_ver="${xorg_patch_ver//.}" |
198 | patch -Np1 -i ../xserver${xorg_patch_ver}.patch || die |
199 | |
200 | # reconfigure xorg |
201 | cd ${XORGDDIR} |
202 | mautoreconf || die |
203 | } |
204 | |
205 | src_compile() |
206 | { |
207 | cd ${SRCDIR} |
208 | cmake_configure || die |
209 | mmake || die |
210 | |
211 | # build the x11 module |
212 | cd ${XORGDDIR} |
213 | mconfigure \ |
214 | --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ |
215 | --with-fontdir=/usr/share/fonts \ |
216 | --with-rgb-path=/usr/share/X11/rgb.txt \ |
217 | --with-xkb-output=/usr/share/X11/xkb \ |
218 | --with-module-dir=/usr/$(mlibdir)/xorg/modules \ |
219 | --with-dri-driver-path=/usr/$(mlibdir)/dri \ |
220 | --with-pic \ |
221 | --without-dtrace \ |
222 | --disable-xorg \ |
223 | --disable-composite \ |
224 | --enable-xtrap \ |
225 | --disable-xinerama \ |
226 | --enable-glx \ |
227 | --disable-xnest \ |
228 | --disable-xvfb \ |
229 | --disable-dmx \ |
230 | --disable-xwin \ |
231 | --disable-xephyr \ |
232 | --disable-kdrive \ |
233 | --disable-static \ |
234 | --disable-dri \ |
235 | --enable-dri2 \ |
236 | --disable-config-dbus \ |
237 | --disable-config-hal \ |
238 | --disable-config-udev \ |
239 | --enable-install-libxf86config \ |
240 | --disable-unit-tests \ |
241 | --disable-devel-docs \ |
242 | --disable-selective-werror \ |
243 | || die |
244 | |
245 | mmake || die |
246 | |
247 | # build icons |
248 | cd ${SRCDIR}/media |
249 | mmake -j1 || die |
250 | |
251 | # build the java applet |
252 | cd ${SRCDIR}/java |
253 | |
254 | # cmake_configure does not work because of LIBDIR definition |
255 | cmake \ |
256 | -DCMAKE_VERBOSE_MAKEFILE=ON \ |
257 | -DCMAKE_BUILD_TYPE=Release \ |
258 | -DCMAKE_INSTALL_PREFIX=/usr \ |
259 | ${SRCDIR}/java \ |
260 | || die |
261 | |
262 | mmake -j1 || die |
263 | } |
264 | |
265 | src_install_tigervnc-common() |
266 | { |
267 | cd ${SRCDIR} |
268 | mmake DESTDIR=${BINDIR} install || die |
269 | |
270 | # cleanup |
271 | zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die |
272 | |
273 | # install man pages |
274 | cp ${SRCDIR}/vncviewer/vncviewer.{man,1} || die |
275 | cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die |
276 | minstallman ${SRCDIR}/vncviewer/vncviewer.1 || die |
277 | minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die |
278 | |
279 | # desktop icon |
280 | minstallpixmap media/icons/tigervnc_48.png vncviewer.png || die |
281 | minstall_desktop_icon \ |
282 | --name "TigerVNC Viewer" \ |
283 | --file "vncviewer" \ |
284 | --comment "Connect to VNC server and display remote desktop" \ |
285 | --exec /usr/bin/vncviewer \ |
286 | --icon vncviewer.png \ |
287 | --categories "Application,Network" \ |
288 | || die |
289 | |
290 | # docs |
291 | minstalldocs README LICENCE.TXT || die |
292 | } |
293 | |
294 | src_install_tigervnc-server() |
295 | { |
296 | cd ${SRCDIR} |
297 | mmake DESTDIR=${BINDIR} install || die |
298 | |
299 | # install server module and binaries |
300 | cd ${XORGDDIR}/hw/vnc |
301 | mmake DESTDIR=${BINDIR} install || die |
302 | |
303 | # cleanup |
304 | rm ${BINDIR}/usr/bin/vncpasswd || die |
305 | rm ${BINDIR}/usr/bin/vncviewer || die |
306 | rm -r ${BINDIR}/usr/share/man || die |
307 | rm -r ${BINDIR}/usr/$(mlibdir) || die |
308 | |
309 | # install man pages |
310 | cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die |
311 | cp ${SRCDIR}/unix/vncserver.{man,1} || die |
312 | cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die |
313 | cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die |
314 | minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die |
315 | minstallman ${SRCDIR}/unix/vncserver.1 || die |
316 | minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die |
317 | minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die |
318 | } |
319 | |
320 | src_install_tigervnc-xserver-module() |
321 | { |
322 | # install server module and binaries |
323 | cd ${XORGDDIR}/hw/vnc |
324 | mmake DESTDIR=${BINDIR} install || die |
325 | |
326 | # cleanup |
327 | zapmost ${BINDIR} usr/$(mlibdir) || die |
328 | |
329 | # not needed |
330 | rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die |
331 | |
332 | # create a example config |
333 | minstalldir /etc/X11/xorg.conf.d || die |
334 | MCONFIG=/etc/X11/xorg.conf.d/20-vnc.conf |
335 | mclearconfig |
336 | maddconfig '# Example vnc module configuration' |
337 | maddconfig '# Uncomment these entries and set a password with the vncpasswd program' |
338 | maddconfig |
339 | maddconfig 'Section "Module"' |
340 | maddconfig ' Load "vnc"' |
341 | maddconfig 'EndSection' |
342 | maddconfig |
343 | maddconfig 'Section "Screen"' |
344 | maddconfig ' Identifier "Screen0"' |
345 | maddconfig ' Option "SecurityTypes" "VncAuth"' |
346 | maddconfig ' Option "UserPasswdVerifier" "VncAuth"' |
347 | maddconfig ' Option "PasswordFile" "/root/.vnc/passwd"' |
348 | maddconfig 'EndSection' |
349 | } |
350 | |
351 | src_install_tigervnc-server-applet() |
352 | { |
353 | cd ${SRCDIR}/java |
354 | minstalldir /usr/share/vnc/classes || die |
355 | minstallexec VncViewer.jar /usr/share/vnc/classes || die |
356 | minstallfile com/tigervnc/vncviewer/index.vnc /usr/share/vnc/classes || die |
357 | } |
358 | |
359 | postinstall_tigervnc-xserver-module() |
360 | { |
361 | echo |
362 | echo 'Add following to /etc/X11/xorg.conf.d/20-vnc.conf for native X display support:' |
363 | echo ' Section "Module"' |
364 | echo ' ...' |
365 | echo ' Load "vnc"' |
366 | echo ' EndSection' |
367 | echo |
368 | echo 'To enable VNC password authentification use the vncpasswd program:' |
369 | echo ' "vncpasswd"' |
370 | echo |
371 | echo 'You will also need to tell the VNC module where the password is stored:' |
372 | echo ' Section "Screen"' |
373 | echo ' ...' |
374 | echo ' Option "SecurityTypes" "VncAuth"' |
375 | echo ' Option "UserPasswdVerifier" "VncAuth"' |
376 | echo ' Option "PasswordFile" "/root/.vnc/passwd"' |
377 | echo ' EndSection' |
378 | echo |
379 | } |