Magellan Linux

Contents of /branches/R11-stable/extras/tigervnc/tigervnc-1.3.0-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 20879 - (show annotations) (download)
Tue Feb 11 10:05:51 2014 UTC (10 years, 3 months ago) by niro
File size: 10166 byte(s)
-release branches/R11-stable
1 # $Id$
2
3 PNAME="tigervnc"
4 PVER="1.3.0"
5 PBUILD="r2"
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.5"
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.32
39 >= media-libs/freetype-2.5
40 >= x11-apps/xauth-1.0.7
41 >= x11-apps/xsetroot-1.1
42 >= x11-misc/xkeyboard-config-2.8
43 >= sys-fs/udev-208"
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.40
82 >= media-gfx/imagemagick-6.8"
83
84 msetfeature "!check"
85 sminclude cmake xorg xdg mtools cleanutils
86
87 SRC_URI=(
88 sourceforge://${PNAME}/${SRCFILE}
89 mirror://${PNAME}/${SRCFILE}
90 http://ftp.x.org/pub/individual/xserver/${XORG}
91 mirror://xorg-server/${XORG}
92 mirror://${PNAME}/tigervnc_48.png
93 mirror://${PNAME}/${PNAME}-1.0.90-cookie.patch
94 mirror://${PNAME}/${PNAME}-1.0.90-ldnow.patch
95 mirror://${PNAME}/${PNAME}-1.1.0-gethomedir.patch
96 mirror://${PNAME}/${PNAME}-1.1.0-rh692048.patch
97 mirror://${PNAME}/${PNAME}-${PVER}-inetd-nowait.patch
98 mirror://${PNAME}/${PNAME}-${PVER}-setcursor-crash.patch
99 mirror://${PNAME}/${PNAME}-${PVER}-manpages.patch
100 mirror://${PNAME}/${PNAME}-${PVER}-getmaster.patch
101 mirror://${PNAME}/${PNAME}-${PVER}-shebang.patch
102 mirror://${PNAME}/${PNAME}-${PVER}-key_is_down.patch
103 )
104
105 UP2DATE="updatecmd_sourceforge ${PNAME} gz"
106
107 split_info_tigervnc-common()
108 {
109 DESCRIPTION="Common TigerVNC libs and utils."
110 DEPEND="${COMMON_DEPEND}"
111 PROVIDE="virtual/vnc-client"
112 }
113
114 split_info_tigervnc-server()
115 {
116 DESCRIPTION="TigerVNC VNC server."
117 DEPEND="== net-misc/tigervnc-common-${PVER}
118 ${COMMON_DEPEND}
119 ${COMMON_FONTS_DEPEND}
120 ${SERVER_DEPEND}"
121 PROVIDE="virtual/vnc"
122 }
123
124 split_info_tigervnc-xserver-module()
125 {
126 DESCRIPTION="TigerVNC Xorg server module."
127 DEPEND="== net-misc/tigervnc-common-${PVER}
128 ${COMMON_FONTS_DEPEND}
129 ${MODULE_DEPEND}"
130 PROVIDE="virtual/vnc-x11"
131 }
132
133 split_info_tigervnc-server-applet()
134 {
135 DESCRIPTION="TigerVNC VNC server."
136 DEPEND="${APPLET_DEPEND}"
137 PROVIDE="virtual/vnc-java"
138 }
139
140 split_info_tigervnc()
141 {
142 DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality."
143 DEPEND="== net-misc/tigervnc-common-${PVER}
144 == net-misc/tigervnc-server-${PVER}
145 == net-misc/tigervnc-xserver-module-${PVER}
146 == net-misc/tigervnc-server-applet-${PVER}"
147
148 PKGTYPE="virtual"
149
150 # drop everything we don't need in the meta package:
151 INHERITS=""
152 SPECIAL_VARS=""
153 SPECIAL_FUNCTIONS=""
154 SDEPEND=""
155 PROVIDE=""
156 unset -f preinstall
157 unset -f postinstall
158 unset -f preremove
159 unset -f postremove
160 }
161
162 src_prepare()
163 {
164 munpack ${SRCFILE} || die
165 munpack ${XORG} || die
166 cp -r ${XORGSDIR}/* ${XORGDDIR} || die
167 cd ${SRCDIR}
168
169 # patchwork
170 # create X server cookie via mcookie
171 mpatch ${PNAME}-1.0.90-cookie.patch || die
172 # link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup
173 mpatch ${PNAME}-1.0.90-ldnow.patch || die
174 mpatch ${PNAME}-1.1.0-gethomedir.patch || die
175 mpatch ${PNAME}-1.1.0-rh692048.patch || die
176
177 # fix busy loop when run from inetd in nowait mode
178 mpatch ${PNAME}-${PVER}-inetd-nowait.patch || die
179
180 # fix a crash wit setcursor
181 mpatch ${PNAME}-${PVER}-setcursor-crash.patch || die
182
183 # synchronise manpages and --help output
184 mpatch ${PNAME}-${PVER}-manpages.patch || die
185
186 # libvnc.so: don't use unexported GetMaster function
187 mpatch ${PNAME}-${PVER}-getmaster.patch || die
188
189 # don't use shebang in vncserver script.
190 mpatch ${PNAME}-${PVER}-shebang.patch || die
191
192 # libvnc.so: don't use unexported key_is_down function
193 mpatch ${PNAME}-${PVER}-key_is_down.patch || die
194
195 # apply the included xorg patch
196 cd ${XORGDDIR}
197 local xorg_patch_ver="${XORG_PVER%.*}"
198 xorg_patch_ver="${xorg_patch_ver//.}"
199 patch -Np1 -i ../xserver${xorg_patch_ver}.patch || die
200
201 # reconfigure xorg
202 cd ${XORGDDIR}
203 mautoreconf || die
204 }
205
206 src_compile()
207 {
208 cd ${SRCDIR}
209 cmake_configure || die
210 mmake || die
211
212 # build the x11 module
213 cd ${XORGDDIR}
214 mconfigure \
215 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
216 --with-fontdir=/usr/share/fonts \
217 --with-rgb-path=/usr/share/X11/rgb.txt \
218 --with-xkb-output=/usr/share/X11/xkb \
219 --with-module-dir=/usr/$(mlibdir)/xorg/modules \
220 --with-dri-driver-path=/usr/$(mlibdir)/dri \
221 --with-pic \
222 --without-dtrace \
223 --disable-xorg \
224 --disable-composite \
225 --enable-xtrap \
226 --disable-xinerama \
227 --enable-glx \
228 --disable-xnest \
229 --disable-xvfb \
230 --disable-dmx \
231 --disable-xwin \
232 --disable-xephyr \
233 --disable-kdrive \
234 --disable-static \
235 --disable-dri \
236 --enable-dri2 \
237 --disable-config-dbus \
238 --disable-config-hal \
239 --disable-config-udev \
240 --enable-install-libxf86config \
241 --disable-unit-tests \
242 --disable-devel-docs \
243 --disable-selective-werror \
244 || die
245
246 mmake || die
247
248 # build icons
249 cd ${SRCDIR}/media
250 mmake -j1 || die
251
252 # build the java applet
253 cd ${SRCDIR}/java
254
255 # cmake_configure does not work because of LIBDIR definition
256 cmake \
257 -DCMAKE_VERBOSE_MAKEFILE=ON \
258 -DCMAKE_BUILD_TYPE=Release \
259 -DCMAKE_INSTALL_PREFIX=/usr \
260 ${SRCDIR}/java \
261 || die
262
263 mmake -j1 || die
264 }
265
266 src_install_tigervnc-common()
267 {
268 cd ${SRCDIR}
269 mmake DESTDIR=${BINDIR} install || die
270
271 # cleanup
272 zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die
273
274 # install man pages
275 cp ${SRCDIR}/vncviewer/vncviewer.{man,1} || die
276 cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die
277 minstallman ${SRCDIR}/vncviewer/vncviewer.1 || die
278 minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die
279
280 # desktop icon
281 minstallpixmap media/icons/tigervnc_48.png vncviewer.png || die
282 minstall_desktop_icon \
283 --name "TigerVNC Viewer" \
284 --file "vncviewer" \
285 --comment "Connect to VNC server and display remote desktop" \
286 --exec /usr/bin/vncviewer \
287 --icon vncviewer.png \
288 --categories "Application,Network" \
289 || die
290
291 # docs
292 minstalldocs README LICENCE.TXT || die
293 }
294
295 src_install_tigervnc-server()
296 {
297 cd ${SRCDIR}
298 mmake DESTDIR=${BINDIR} install || die
299
300 # install server module and binaries
301 cd ${XORGDDIR}/hw/vnc
302 mmake DESTDIR=${BINDIR} install || die
303
304 # cleanup
305 rm ${BINDIR}/usr/bin/vncpasswd || die
306 rm ${BINDIR}/usr/bin/vncviewer || die
307 rm -r ${BINDIR}/usr/share/man || die
308 rm -r ${BINDIR}/usr/$(mlibdir) || die
309
310 # install man pages
311 cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die
312 cp ${SRCDIR}/unix/vncserver.{man,1} || die
313 cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die
314 cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die
315 minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die
316 minstallman ${SRCDIR}/unix/vncserver.1 || die
317 minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die
318 minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die
319 }
320
321 src_install_tigervnc-xserver-module()
322 {
323 # install server module and binaries
324 cd ${XORGDDIR}/hw/vnc
325 mmake DESTDIR=${BINDIR} install || die
326
327 # cleanup
328 zapmost ${BINDIR} usr/$(mlibdir) || die
329
330 # not needed
331 rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die
332
333 # create a example config
334 minstalldir /etc/X11/xorg.conf.d || die
335 MCONFIG=/etc/X11/xorg.conf.d/20-vnc.conf
336 mclearconfig
337 maddconfig '# Example vnc module configuration'
338 maddconfig '# Uncomment these entries and set a password with the vncpasswd program'
339 maddconfig
340 maddconfig 'Section "Module"'
341 maddconfig ' Load "vnc"'
342 maddconfig 'EndSection'
343 maddconfig
344 maddconfig 'Section "Screen"'
345 maddconfig ' Identifier "Screen0"'
346 maddconfig ' Option "SecurityTypes" "VncAuth"'
347 maddconfig ' Option "UserPasswdVerifier" "VncAuth"'
348 maddconfig ' Option "PasswordFile" "/root/.vnc/passwd"'
349 maddconfig 'EndSection'
350 }
351
352 src_install_tigervnc-server-applet()
353 {
354 cd ${SRCDIR}/java
355 minstalldir /usr/share/vnc/classes || die
356 minstallexec VncViewer.jar /usr/share/vnc/classes || die
357 minstallfile com/tigervnc/vncviewer/index.vnc /usr/share/vnc/classes || die
358 }
359
360 postinstall_tigervnc-xserver-module()
361 {
362 echo
363 echo 'Add following to /etc/X11/xorg.conf.d/20-vnc.conf for native X display support:'
364 echo ' Section "Module"'
365 echo ' ...'
366 echo ' Load "vnc"'
367 echo ' EndSection'
368 echo
369 echo 'To enable VNC password authentification use the vncpasswd program:'
370 echo ' "vncpasswd"'
371 echo
372 echo 'You will also need to tell the VNC module where the password is stored:'
373 echo ' Section "Screen"'
374 echo ' ...'
375 echo ' Option "SecurityTypes" "VncAuth"'
376 echo ' Option "UserPasswdVerifier" "VncAuth"'
377 echo ' Option "PasswordFile" "/root/.vnc/passwd"'
378 echo ' EndSection'
379 echo
380 }