Annotation of /branches/magellan-next/extras/tigervnc/tigervnc-1.0.90_svn4323-r1.smage2
Parent Directory | Revision Log
Revision 8008 -
(hide annotations)
(download)
Tue Jun 28 18:30:21 2011 UTC (12 years, 10 months ago) by niro
File size: 9672 byte(s)
Tue Jun 28 18:30:21 2011 UTC (12 years, 10 months ago) by niro
File size: 9672 byte(s)
-no locales
1 | niro | 8005 | # $Id$ |
2 | |||
3 | PNAME="tigervnc" | ||
4 | PVER="1.0.90_svn4323" | ||
5 | PBUILD="r1" | ||
6 | |||
7 | PCATEGORIE="net-misc" | ||
8 | STATE="unstable" | ||
9 | |||
10 | DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality." | ||
11 | HOMEPAGE="http://www.tigervnc.com/" | ||
12 | |||
13 | SRCFILE="${PNAME}-${PVER}.tar.bz2" | ||
14 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" | ||
15 | |||
16 | XORG_PVER="1.10.2" | ||
17 | XORG="xorg-server-${XORG_PVER}.tar.bz2" | ||
18 | XORGSDIR="${BUILDDIR}/xorg-server-${XORG_PVER}" | ||
19 | XORGDDIR="${SRCDIR}/unix/xserver" | ||
20 | |||
21 | SDEPEND=">= x11-libs/libX11-1.4 | ||
22 | >= x11-libs/libXext-1.3 | ||
23 | >= x11-libs/libSM-1.2 | ||
24 | >= x11-libs/libXtst-1.2 | ||
25 | >= x11-libs/libXi-1.4 | ||
26 | >= x11-libs/libXfont-1.4 | ||
27 | >= x11-libs/libxkbfile-1.0.7 | ||
28 | >= x11-libs/pixman-0.22 | ||
29 | >= sys-libs/zlib-1.2.5 | ||
30 | >= media-libs/freetype-2.4 | ||
31 | >= x11-apps/xauth-1.0.6 | ||
32 | >= x11-apps/xsetroot-1.1 | ||
33 | >= x11-misc/xkeyboard-config-2.2 | ||
34 | >= media-fonts/font-adobe-100dpi-1 | ||
35 | >= media-fonts/font-adobe-75dpi-1 | ||
36 | >= media-fonts/font-alias-1 | ||
37 | >= media-fonts/font-cursor-misc-1 | ||
38 | >= media-fonts/font-misc-misc-1 | ||
39 | == x11-base/xorg-server-${XORG_PVER} | ||
40 | >= app-crypt/gnutls-2.8 | ||
41 | >= sys-fs/udev-171" | ||
42 | |||
43 | SDEPEND+=" | ||
44 | >= dev-util/desktop-file-utils-0.15 | ||
45 | >= dev-lang/nasm-2 | ||
46 | >= x11-proto/xextproto-7.2 | ||
47 | >= x11-proto/inputproto-2 | ||
48 | >= x11-proto/bigreqsproto-1.1 | ||
49 | >= x11-proto/compositeproto-0.4 | ||
50 | >= x11-proto/damageproto-1.2 | ||
51 | >= x11-proto/dri2proto-2.3 | ||
52 | >= x11-proto/fixesproto-5 | ||
53 | >= x11-proto/fontsproto-2.1 | ||
54 | >= x11-proto/randrproto-1.3 | ||
55 | >= x11-proto/resourceproto-1.2 | ||
56 | >= x11-proto/scrnsaverproto-1.2 | ||
57 | >= x11-proto/videoproto-2.3 | ||
58 | >= x11-proto/xcmiscproto-1.2 | ||
59 | >= x11-proto/xineramaproto-1.2 | ||
60 | >= x11-proto/xf86bigfontproto-1.2 | ||
61 | >= x11-proto/xf86dgaproto-2.1 | ||
62 | >= x11-proto/xf86driproto-2.1 | ||
63 | >= x11-proto/xf86miscproto-0.9.3 | ||
64 | >= x11-proto/xf86vidmodeproto-2.3 | ||
65 | >= x11-proto/glproto-1.4.12 | ||
66 | >= x11-proto/renderproto-0.11 | ||
67 | >= x11-libs/libpciaccess-0.12 | ||
68 | >= virtual/java-jdk" | ||
69 | |||
70 | sminclude xorg xdg mtools cleanutils | ||
71 | |||
72 | SPLIT_PACKAGES="tigervnc-common tigervnc-server tigervnc-xserver-module tigervnc-server-applet tigervnc" | ||
73 | |||
74 | SRC_URI=( | ||
75 | sourceforge://${PNAME}/${SRCFILE} | ||
76 | mirror://${PNAME}/${SRCFILE} | ||
77 | http://ftp.x.org/pub/individual/xserver/${XORG} | ||
78 | mirror://xorg-server/${XORG} | ||
79 | mirror://${PNAME}/tigervnc_48.png | ||
80 | mirror://${PNAME}/${PNAME}-1.0.90-102434.patch | ||
81 | mirror://${PNAME}/${PNAME}-1.0.90-cookie.patch | ||
82 | mirror://${PNAME}/${PNAME}-0.0.90-viewer-reparent.patch | ||
83 | mirror://${PNAME}/${PNAME}-1.0.90-ldnow.patch | ||
84 | mirror://${PNAME}/${PNAME}-${PVER}-xserver110-patch-fix.patch | ||
85 | mirror://${PNAME}/${PNAME}-${PVER}-xserver110-patch-missing-miext_sync_ldadd.patch | ||
86 | ) | ||
87 | |||
88 | UP2DATE="updatecmd_sourceforge ${PNAME}" | ||
89 | |||
90 | split_info_tigervnc-common() | ||
91 | { | ||
92 | DESCRIPTION="Common TigerVNC libs and utils." | ||
93 | DEPEND=">= x11-libs/libX11-1.3 | ||
94 | >= x11-libs/libXext-1.1 | ||
95 | >= x11-libs/libSM-1.1.0 | ||
96 | >= x11-libs/libXtst-1.0.3 | ||
97 | >= x11-libs/libXi-1.2.1 | ||
98 | >= sys-libs/zlib-1.2.3 | ||
99 | >= app-crypt/gnutls-2.8" | ||
100 | unset -f postinstall | ||
101 | } | ||
102 | |||
103 | split_info_tigervnc-server() | ||
104 | { | ||
105 | DESCRIPTION="TigerVNC VNC server." | ||
106 | DEPEND="== net-misc/tigervnc-common-${PVER} | ||
107 | >= x11-libs/libX11-1.3 | ||
108 | >= x11-libs/libXext-1.1 | ||
109 | >= x11-libs/libSM-1.1.0 | ||
110 | >= x11-libs/libXtst-1.0.3 | ||
111 | >= x11-libs/libXi-1.2.1 | ||
112 | >= x11-libs/libXfont-1.4.0 | ||
113 | >= x11-libs/pixman-0.18.0 | ||
114 | >= sys-libs/zlib-1.2.3 | ||
115 | >= media-libs/freetype-2.3.9 | ||
116 | >= x11-apps/xauth-1.0.3 | ||
117 | >= x11-apps/xsetroot-1.0.2 | ||
118 | >= x11-misc/xkeyboard-config-1.8 | ||
119 | >= media-fonts/font-adobe-100dpi-1 | ||
120 | >= media-fonts/font-adobe-75dpi-1 | ||
121 | >= media-fonts/font-alias-1 | ||
122 | >= media-fonts/font-cursor-misc-1 | ||
123 | >= media-fonts/font-misc-misc-1 | ||
124 | >= app-crypt/gnutls-2.8 | ||
125 | >= sys-fs/udev-151" | ||
126 | |||
127 | unset -f postinstall | ||
128 | } | ||
129 | |||
130 | split_info_tigervnc-xserver-module() | ||
131 | { | ||
132 | DESCRIPTION="TigerVNC Xorg server module." | ||
133 | DEPEND="== net-misc/tigervnc-common-${PVER} | ||
134 | >= media-fonts/font-adobe-100dpi-1 | ||
135 | >= media-fonts/font-adobe-75dpi-1 | ||
136 | >= media-fonts/font-alias-1 | ||
137 | >= media-fonts/font-cursor-misc-1 | ||
138 | >= media-fonts/font-misc-misc-1 | ||
139 | == x11-base/xorg-server-${XORG_PVER}" | ||
140 | |||
141 | postinstall() | ||
142 | { | ||
143 | echo | ||
144 | echo "Add following to /etc/X11/xorg.conf for native X display support:" | ||
145 | echo ' Section "Module"' | ||
146 | echo " ..." | ||
147 | echo ' Load "vnc"' | ||
148 | echo " EndSection" | ||
149 | echo | ||
150 | echo "To enable VNC password authentification use the vncpasswd program:" | ||
151 | echo " 'vncpasswd'" | ||
152 | echo | ||
153 | echo "You will also need to tell the VNC module where the password is stored:" | ||
154 | echo ' Section "Screen"' | ||
155 | echo " ..." | ||
156 | echo ' Option "SecurityTypes" "VncAuth"' | ||
157 | echo ' Option "UserPasswdVerifier" "VncAuth"' | ||
158 | echo ' Option "PasswordFile" "/root/.vnc/passwd"' | ||
159 | echo " EndSection" | ||
160 | echo | ||
161 | } | ||
162 | } | ||
163 | |||
164 | split_info_tigervnc-server-applet() | ||
165 | { | ||
166 | DESCRIPTION="TigerVNC VNC server." | ||
167 | DEPEND=">= virtual/java" | ||
168 | unset -f postinstall | ||
169 | } | ||
170 | |||
171 | split_info_tigervnc() | ||
172 | { | ||
173 | DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality." | ||
174 | DEPEND="== net-misc/tigervnc-common-${PVER} | ||
175 | == net-misc/tigervnc-server-${PVER} | ||
176 | == net-misc/tigervnc-xserver-module-${PVER} | ||
177 | == net-misc/tigervnc-server-applet-${PVER}" | ||
178 | |||
179 | PKGTYPE="virtual" | ||
180 | NOPKGBUILD="true" | ||
181 | |||
182 | # drop everything we don't need in the meta package: | ||
183 | INHERITS="" | ||
184 | SPECIAL_VARS="" | ||
185 | SPECIAL_FUNCTIONS="" | ||
186 | SDEPEND="" | ||
187 | PROVIDE="" | ||
188 | unset -f preinstall | ||
189 | unset -f postinstall | ||
190 | unset -f preremove | ||
191 | unset -f postremove | ||
192 | } | ||
193 | |||
194 | src_prepare() | ||
195 | { | ||
196 | munpack ${SRCFILE} || die | ||
197 | munpack ${XORG} || die | ||
198 | cp -r ${XORGSDIR}/* ${XORGDDIR} || die | ||
199 | cd ${SRCDIR} | ||
200 | |||
201 | # patchwork | ||
202 | # force vncviewer to read password from stdin | ||
203 | mpatch ${PNAME}-1.0.90-102434.patch || die | ||
204 | # create X server cookie via mcookie | ||
205 | mpatch ${PNAME}-1.0.90-cookie.patch || die | ||
206 | # add reparent support for x window | ||
207 | mpatch ${PNAME}-0.0.90-viewer-reparent.patch || die | ||
208 | # link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup | ||
209 | mpatch ${PNAME}-1.0.90-ldnow.patch || die | ||
210 | cd ${SRCDIR}/unix | ||
211 | # fix the included patch to work with xorg-server-1.10.0 final | ||
212 | mpatch ${PNAME}-${PVER}-xserver110-patch-fix.patch || die | ||
213 | # fix some missing ldflags to successfully build Xvnc against xorg-server-1.10.0 final | ||
214 | mpatch ${PNAME}-${PVER}-xserver110-patch-missing-miext_sync_ldadd.patch || die | ||
215 | |||
216 | # apply the included xorg patch | ||
217 | cd ${XORGDDIR} | ||
218 | local xorg_patch_ver="${XORG_PVER%.*}" | ||
219 | xorg_patch_ver="${xorg_patch_ver//.}" | ||
220 | patch -Np1 -i ../xserver${xorg_patch_ver}.patch || die | ||
221 | |||
222 | # reconfigure everything | ||
223 | cd ${XORGDDIR} | ||
224 | libtoolize --copy --force || die | ||
225 | autoreconf --verbose --install --force || die | ||
226 | |||
227 | cd ${SRCDIR} | ||
228 | libtoolize --copy --force || die | ||
229 | autoreconf --verbose --install --force || die | ||
230 | } | ||
231 | |||
232 | src_compile() | ||
233 | { | ||
234 | cd ${SRCDIR} | ||
235 | mconfigure --disable-static || die | ||
236 | niro | 8006 | mmake || die |
237 | niro | 8005 | |
238 | # fix build issues | ||
239 | export CFLAGS="$(pkg-config --cflags libdrm)" | ||
240 | |||
241 | # build the x11 module | ||
242 | cd ${XORGDDIR} | ||
243 | mconfigure \ | ||
244 | --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ | ||
245 | --with-rgb-path=/usr/share/X11/rgb.txt \ | ||
246 | --with-xkb-output=/usr/share/X11/xkb \ | ||
247 | --with-module-dir=/usr/$(mlibdir)/xorg/modules \ | ||
248 | --with-pic \ | ||
249 | --disable-xorg \ | ||
250 | --disable-composite \ | ||
251 | --enable-xtrap \ | ||
252 | --enable-glx \ | ||
253 | --disable-xnest \ | ||
254 | --disable-xvfb \ | ||
255 | --disable-dmx \ | ||
256 | --disable-xwin \ | ||
257 | --disable-xephyr \ | ||
258 | --disable-kdrive \ | ||
259 | --disable-xorgcfg \ | ||
260 | --disable-xprint \ | ||
261 | --disable-static \ | ||
262 | --disable-xevie \ | ||
263 | --disable-dri \ | ||
264 | --disable-dri2 \ | ||
265 | --disable-config-dbus \ | ||
266 | --disable-config-hal \ | ||
267 | --enable-install-libxf86config \ | ||
268 | --disable-shave \ | ||
269 | || die | ||
270 | |||
271 | mmake || die | ||
272 | |||
273 | # build the java applet | ||
274 | cd ${SRCDIR}/java/src/com/tigervnc/vncviewer | ||
275 | mmake -j1 || die | ||
276 | } | ||
277 | |||
278 | src_install_tigervnc-common() | ||
279 | { | ||
280 | cd ${SRCDIR} | ||
281 | mmake DESTDIR=${BINDIR} install || die | ||
282 | |||
283 | # cleanup | ||
284 | zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die | ||
285 | |||
286 | # install man pages | ||
287 | cp ${SRCDIR}/unix/vncviewer/vncviewer.{man,1} || die | ||
288 | cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die | ||
289 | minstallman ${SRCDIR}/unix/vncviewer/vncviewer.1 || die | ||
290 | minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die | ||
291 | |||
292 | # desktop icon | ||
293 | minstallpixmap tigervnc_48.png vncviewer.png || die | ||
294 | minstall_desktop_icon \ | ||
295 | --name "TigerVNC Viewer" \ | ||
296 | --file "vncviewer" \ | ||
297 | --comment "Connect to VNC server and display remote desktop" \ | ||
298 | --exec /usr/bin/vncviewer \ | ||
299 | --icon vncviewer.png \ | ||
300 | --categories "Application,Network" \ | ||
301 | || die | ||
302 | |||
303 | # docs | ||
304 | minstalldocs README LICENCE.TXT || die | ||
305 | } | ||
306 | |||
307 | src_install_tigervnc-server() | ||
308 | { | ||
309 | cd ${SRCDIR} | ||
310 | niro | 8007 | mmake DESTDIR=${BINDIR} install || die |
311 | niro | 8005 | |
312 | # install server module and binaries | ||
313 | cd ${XORGDDIR}/hw/vnc | ||
314 | mmake DESTDIR=${BINDIR} install || die | ||
315 | |||
316 | # cleanup | ||
317 | rm ${BINDIR}/usr/bin/vncpasswd || die | ||
318 | rm ${BINDIR}/usr/bin/vncviewer || die | ||
319 | rm -r ${BINDIR}/usr/share/man || die | ||
320 | rm -r ${BINDIR}/usr/$(mlibdir) || die | ||
321 | |||
322 | # install man pages | ||
323 | cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die | ||
324 | cp ${SRCDIR}/unix/vncserver.{man,1} || die | ||
325 | cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die | ||
326 | cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die | ||
327 | minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die | ||
328 | minstallman ${SRCDIR}/unix/vncserver.1 || die | ||
329 | minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die | ||
330 | minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die | ||
331 | } | ||
332 | |||
333 | src_install_tigervnc-xserver-module() | ||
334 | { | ||
335 | # install server module and binaries | ||
336 | cd ${XORGDDIR}/hw/vnc | ||
337 | mmake DESTDIR=${BINDIR} install || die | ||
338 | |||
339 | # cleanup | ||
340 | zapmost ${BINDIR} usr/$(mlibdir) || die | ||
341 | |||
342 | # not needed | ||
343 | rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die | ||
344 | } | ||
345 | |||
346 | src_install_tightvnc-server-applet() | ||
347 | { | ||
348 | cd ${SRCDIR}/java/src/com/tigervnc/vncviewer | ||
349 | minstalldir ${BINDIR}/usr/share/vnc/classes || die | ||
350 | minstallexec VncViewer.jar ${BINDIR}/usr/share/vnc/classes || die | ||
351 | minstallfile index.vnc ${BINDIR}/usr/share/vnc/classes || die | ||
352 | } |