Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9206 - (hide annotations) (download)
Tue Nov 8 19:11:56 2011 UTC (12 years, 7 months ago) by niro
File size: 9224 byte(s)
-fixed SRC_URI
1 niro 9204 # $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 niro 9205 SRCFILE="${PNAME}-${PVER}.tar.gz"
13 niro 9204 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 niro 9206 http://mesh.dl.sourceforge.net/project/${PNAME}/${PNAME}/${PVER}/${SRCFILE}
84 niro 9204 sourceforge://${PNAME}/${SRCFILE}
85     mirror://${PNAME}/${SRCFILE}
86     http://ftp.x.org/pub/individual/xserver/${XORG}
87     mirror://xorg-server/${XORG}
88     mirror://${PNAME}/tigervnc_48.png
89     mirror://${PNAME}/${PNAME}-1.0.90-102434.patch
90     mirror://${PNAME}/${PNAME}-1.0.90-cookie.patch
91     mirror://${PNAME}/${PNAME}-0.0.90-viewer-reparent.patch
92     mirror://${PNAME}/${PNAME}-1.0.90-ldnow.patch
93     mirror://${PNAME}/${PNAME}-${PVER}-gethomedir.patch
94     mirror://${PNAME}/${PNAME}-${PVER}-rh692048.patch
95     mirror://${PNAME}/${PNAME}-${PVER}-xserver110.patch
96     mirror://${PNAME}/${PNAME}-${PVER}-xserver111.patch
97     )
98    
99     UP2DATE="updatecmd_sourceforge ${PNAME}"
100    
101     split_info_tigervnc-common()
102     {
103     DESCRIPTION="Common TigerVNC libs and utils."
104     DEPEND="${COMMON_DEPEND}"
105     }
106    
107     split_info_tigervnc-server()
108     {
109     DESCRIPTION="TigerVNC VNC server."
110     DEPEND="== net-misc/tigervnc-common-${PVER}
111     ${COMMON_DEPEND}
112     ${COMMON_FONTS_DEPEND}
113     ${SERVER_DEPEND}"
114     }
115    
116     split_info_tigervnc-xserver-module()
117     {
118     DESCRIPTION="TigerVNC Xorg server module."
119     DEPEND="== net-misc/tigervnc-common-${PVER}
120     ${COMMON_FONTS_DEPEND}
121     ${MODULE_DEPEND}"
122     }
123    
124     split_info_tigervnc-server-applet()
125     {
126     DESCRIPTION="TigerVNC VNC server."
127     DEPEND="${APPLET_DEPEND}"
128     }
129    
130     split_info_tigervnc()
131     {
132     DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality."
133     DEPEND="== net-misc/tigervnc-common-${PVER}
134     == net-misc/tigervnc-server-${PVER}
135     == net-misc/tigervnc-xserver-module-${PVER}
136     == net-misc/tigervnc-server-applet-${PVER}"
137    
138     PKGTYPE="virtual"
139     NOPKGBUILD="true"
140    
141     # drop everything we don't need in the meta package:
142     INHERITS=""
143     SPECIAL_VARS=""
144     SPECIAL_FUNCTIONS=""
145     SDEPEND=""
146     PROVIDE=""
147     unset -f preinstall
148     unset -f postinstall
149     unset -f preremove
150     unset -f postremove
151     }
152    
153     src_prepare()
154     {
155     munpack ${SRCFILE} || die
156     munpack ${XORG} || die
157     cp -r ${XORGSDIR}/* ${XORGDDIR} || die
158     cd ${SRCDIR}
159    
160     # patchwork
161     # force vncviewer to read password from stdin
162     mpatch ${PNAME}-1.0.90-102434.patch || die
163     # create X server cookie via mcookie
164     mpatch ${PNAME}-1.0.90-cookie.patch || die
165     # add reparent support for x window
166     mpatch ${PNAME}-0.0.90-viewer-reparent.patch || die
167     # link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup
168     mpatch ${PNAME}-1.0.90-ldnow.patch || die
169    
170     mpatch ${PNAME}-${PVER}-gethomedir.patch || die
171     mpatch ${PNAME}-${PVER}-rh692048.patch || die
172     cd ${XORGDDIR}
173     mpatch ${PNAME}-${PVER}-xserver110.patch || die
174     cd ${SRCDIR}
175     mpatch ${PNAME}-${PVER}-xserver111.patch || die
176    
177     # applied above
178     # # apply the included xorg patch
179     # cd ${XORGDDIR}
180     # local xorg_patch_ver="${XORG_PVER%.*}"
181     # xorg_patch_ver="${xorg_patch_ver//.}"
182     # patch -Np1 -i ../xserver${xorg_patch_ver}.patch || die
183    
184     # reconfigure everything
185     cd ${XORGDDIR}
186     libtoolize --copy --force || die
187     autoreconf --verbose --install --force || die
188    
189     cd ${SRCDIR}
190     libtoolize --copy --force || die
191     autoreconf --verbose --install --force || die
192     }
193    
194     src_compile()
195     {
196     cd ${SRCDIR}
197     mconfigure --disable-static || die
198     mmake || die
199    
200     # fix build issues
201     export CFLAGS="$(pkg-config --cflags libdrm)"
202    
203     # build the x11 module
204     cd ${XORGDDIR}
205     mconfigure \
206     --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
207     --with-fontdir=/usr/share/fonts \
208     --with-rgb-path=/usr/share/X11/rgb.txt \
209     --with-xkb-output=/usr/share/X11/xkb \
210     --with-module-dir=/usr/$(mlibdir)/xorg/modules \
211     --with-dri-driver-path=/usr/$(mlibdir)/dri \
212     --with-pic \
213     --without-dtrace \
214     --disable-xorg \
215     --disable-composite \
216     --enable-xtrap \
217     --enable-glx \
218     --disable-xnest \
219     --disable-xvfb \
220     --disable-dmx \
221     --disable-xwin \
222     --disable-xephyr \
223     --disable-kdrive \
224     --disable-xorgcfg \
225     --disable-xprint \
226     --disable-static \
227     --disable-xevie \
228     --disable-dri \
229     --enable-dri2 \
230     --disable-config-dbus \
231     --disable-config-hal \
232     --disable-config-udev \
233     --enable-install-libxf86config \
234     --disable-unit-tests \
235     || die
236    
237     mmake || die
238    
239     # build icons
240     cd ${SRCDIR}/media
241     mmake -j1 || die
242    
243     # build the java applet
244     cd ${SRCDIR}/java/src/com/tigervnc/vncviewer
245     mmake -j1 || die
246     }
247    
248     src_install_tigervnc-common()
249     {
250     cd ${SRCDIR}
251     mmake DESTDIR=${BINDIR} install || die
252    
253     # cleanup
254     zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die
255    
256     # install man pages
257     cp ${SRCDIR}/unix/vncviewer/vncviewer.{man,1} || die
258     cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die
259     minstallman ${SRCDIR}/unix/vncviewer/vncviewer.1 || die
260     minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die
261    
262     # desktop icon
263     minstallpixmap media/icons/tigervnc_48.png vncviewer.png || die
264     minstall_desktop_icon \
265     --name "TigerVNC Viewer" \
266     --file "vncviewer" \
267     --comment "Connect to VNC server and display remote desktop" \
268     --exec /usr/bin/vncviewer \
269     --icon vncviewer.png \
270     --categories "Application,Network" \
271     || die
272    
273     # docs
274     minstalldocs README LICENCE.TXT || die
275     }
276    
277     src_install_tigervnc-server()
278     {
279     cd ${SRCDIR}
280     mmake DESTDIR=${BINDIR} install || die
281    
282     # install server module and binaries
283     cd ${XORGDDIR}/hw/vnc
284     mmake DESTDIR=${BINDIR} install || die
285    
286     # cleanup
287     rm ${BINDIR}/usr/bin/vncpasswd || die
288     rm ${BINDIR}/usr/bin/vncviewer || die
289     rm -r ${BINDIR}/usr/share/man || die
290     rm -r ${BINDIR}/usr/$(mlibdir) || die
291    
292     # install man pages
293     cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die
294     cp ${SRCDIR}/unix/vncserver.{man,1} || die
295     cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die
296     cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die
297     minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die
298     minstallman ${SRCDIR}/unix/vncserver.1 || die
299     minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die
300     minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die
301     }
302    
303     src_install_tigervnc-xserver-module()
304     {
305     # install server module and binaries
306     cd ${XORGDDIR}/hw/vnc
307     mmake DESTDIR=${BINDIR} install || die
308    
309     # cleanup
310     zapmost ${BINDIR} usr/$(mlibdir) || die
311    
312     # not needed
313     rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die
314     }
315    
316     src_install_tightvnc-server-applet()
317     {
318     cd ${SRCDIR}/java/src/com/tigervnc/vncviewer
319     minstalldir ${BINDIR}/usr/share/vnc/classes || die
320     minstallexec VncViewer.jar ${BINDIR}/usr/share/vnc/classes || die
321     minstallfile index.vnc ${BINDIR}/usr/share/vnc/classes || die
322     }
323    
324     postinstall_tigervnc-xserver-module()
325     {
326     echo
327     echo 'Add following to /etc/X11/xorg.conf for native X display support:'
328     echo ' Section "Module"'
329     echo ' ...'
330     echo ' Load "vnc"'
331     echo ' EndSection'
332     echo
333     echo 'To enable VNC password authentification use the vncpasswd program:'
334     echo ' 'vncpasswd''
335     echo
336     echo 'You will also need to tell the VNC module where the password is stored:'
337     echo ' Section "Screen"'
338     echo ' ...'
339     echo ' Option "SecurityTypes" "VncAuth"'
340     echo ' Option "UserPasswdVerifier" "VncAuth"'
341     echo ' Option "PasswordFile" "/root/.vnc/passwd"'
342     echo ' EndSection'
343     echo
344     }