Magellan Linux

Contents of /branches/magellan-next/extras/tigervnc/tigervnc-1.1.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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