Magellan Linux

Annotation of /branches/R11-stable/extras/tigervnc/tigervnc-1.2.80_svn5065-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 18030 - (hide annotations) (download)
Thu Jun 27 06:47:22 2013 UTC (10 years, 11 months ago) by niro
File size: 9513 byte(s)
-release branches/R11-stable
1 niro 16992 # $Id$
2    
3     PNAME="tigervnc"
4     PVER="1.2.80_svn5065"
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.0"
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.5
21     >= x11-libs/libXext-1.3
22     >= x11-libs/libSM-1.2
23     >= x11-libs/libXtst-1.2
24     >= x11-libs/libXi-1.6
25     >= x11-libs/fltk-1.3
26     >= sys-libs/zlib-1.2.5
27     >= sys-libs/libstdc++-4.7
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-196"
44    
45     MODULE_DEPEND=">= virtual/X-ABI-EXTENSION-7
46     >= virtual/X-ABI-VIDEODRV-13
47     >= virtual/X-ABI-XINPUT-18"
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}-1.2.0-xserver113-glx-2.patch
97     mirror://${PNAME}/${PNAME}-1.2.80_svn5043-build-fix.patch
98     )
99    
100     UP2DATE="updatecmd_sourceforge ${PNAME} gz"
101    
102     split_info_tigervnc-common()
103     {
104     DESCRIPTION="Common TigerVNC libs and utils."
105     DEPEND="${COMMON_DEPEND}"
106     PROVIDE="virtual/vnc-client"
107     }
108    
109     split_info_tigervnc-server()
110     {
111     DESCRIPTION="TigerVNC VNC server."
112     DEPEND="== net-misc/tigervnc-common-${PVER}
113     ${COMMON_DEPEND}
114     ${COMMON_FONTS_DEPEND}
115     ${SERVER_DEPEND}"
116     PROVIDE="virtual/vnc"
117     }
118    
119     split_info_tigervnc-xserver-module()
120     {
121     DESCRIPTION="TigerVNC Xorg server module."
122     DEPEND="== net-misc/tigervnc-common-${PVER}
123     ${COMMON_FONTS_DEPEND}
124     ${MODULE_DEPEND}"
125     PROVIDE="virtual/vnc-x11"
126     }
127    
128     split_info_tigervnc-server-applet()
129     {
130     DESCRIPTION="TigerVNC VNC server."
131     DEPEND="${APPLET_DEPEND}"
132     PROVIDE="virtual/vnc-java"
133     }
134    
135     split_info_tigervnc()
136     {
137     DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality."
138     DEPEND="== net-misc/tigervnc-common-${PVER}
139     == net-misc/tigervnc-server-${PVER}
140     == net-misc/tigervnc-xserver-module-${PVER}
141     == net-misc/tigervnc-server-applet-${PVER}"
142    
143     PKGTYPE="virtual"
144    
145     # drop everything we don't need in the meta package:
146     INHERITS=""
147     SPECIAL_VARS=""
148     SPECIAL_FUNCTIONS=""
149     SDEPEND=""
150     PROVIDE=""
151     unset -f preinstall
152     unset -f postinstall
153     unset -f preremove
154     unset -f postremove
155     }
156    
157     src_prepare()
158     {
159     munpack ${SRCFILE} || die
160     munpack ${XORG} || die
161     cp -r ${XORGSDIR}/* ${XORGDDIR} || die
162     cd ${SRCDIR}
163    
164     # patchwork
165     # create X server cookie via mcookie
166     mpatch ${PNAME}-1.0.90-cookie.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     mpatch ${PNAME}-1.1.0-gethomedir.patch || die
170     mpatch ${PNAME}-1.1.0-rh692048.patch || die
171    
172     # apply the included xorg patch
173     cd ${XORGDDIR}
174     local xorg_patch_ver="${XORG_PVER%.*}"
175     xorg_patch_ver="${xorg_patch_ver//.}"
176     patch -Np1 -i ../xserver${xorg_patch_ver}.patch || die
177    
178     # enable glx
179     mpatch ${PNAME}-1.2.0-xserver113-glx-2.patch || die
180    
181     # fix a ftbfs
182     mpatch ${PNAME}-1.2.80_svn5043-build-fix.patch || die
183    
184     # reconfigure xorg
185     cd ${XORGDDIR}
186     mautoreconf || die
187     }
188    
189     src_compile()
190     {
191     cd ${SRCDIR}
192     cmake_configure || die
193     mmake || die
194    
195     # build the x11 module
196     cd ${XORGDDIR}
197     mconfigure \
198     --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
199     --with-fontdir=/usr/share/fonts \
200     --with-rgb-path=/usr/share/X11/rgb.txt \
201     --with-xkb-output=/usr/share/X11/xkb \
202     --with-module-dir=/usr/$(mlibdir)/xorg/modules \
203     --with-dri-driver-path=/usr/$(mlibdir)/dri \
204     --with-pic \
205     --without-dtrace \
206     --disable-xorg \
207     --disable-composite \
208     --enable-xtrap \
209     --disable-xinerama \
210     --enable-glx \
211     --disable-xnest \
212     --disable-xvfb \
213     --disable-dmx \
214     --disable-xwin \
215     --disable-xephyr \
216     --disable-kdrive \
217     --disable-static \
218     --disable-dri \
219     --enable-dri2 \
220     --disable-config-dbus \
221     --disable-config-hal \
222     --disable-config-udev \
223     --enable-install-libxf86config \
224     --disable-unit-tests \
225     --disable-devel-docs \
226     --disable-selective-werror \
227     || die
228    
229     mmake || die
230    
231     # build icons
232     cd ${SRCDIR}/media
233     mmake -j1 || die
234    
235     # build the java applet
236     cd ${SRCDIR}/java
237    
238     # cmake_configure does not work because of LIBDIR definition
239     cmake \
240     -DCMAKE_VERBOSE_MAKEFILE=ON \
241     -DCMAKE_BUILD_TYPE=Release \
242     -DCMAKE_INSTALL_PREFIX=/usr \
243     ${SRCDIR}/java \
244     || die
245    
246     mmake -j1 || die
247     }
248    
249     src_install_tigervnc-common()
250     {
251     cd ${SRCDIR}
252     mmake DESTDIR=${BINDIR} install || die
253    
254     # cleanup
255     zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die
256    
257     # install man pages
258     cp ${SRCDIR}/vncviewer/vncviewer.{man,1} || die
259     cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die
260     minstallman ${SRCDIR}/vncviewer/vncviewer.1 || die
261     minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die
262    
263     # desktop icon
264     minstallpixmap media/icons/tigervnc_48.png vncviewer.png || die
265     minstall_desktop_icon \
266     --name "TigerVNC Viewer" \
267     --file "vncviewer" \
268     --comment "Connect to VNC server and display remote desktop" \
269     --exec /usr/bin/vncviewer \
270     --icon vncviewer.png \
271     --categories "Application,Network" \
272     || die
273    
274     # docs
275     minstalldocs README LICENCE.TXT || die
276     }
277    
278     src_install_tigervnc-server()
279     {
280     cd ${SRCDIR}
281     mmake DESTDIR=${BINDIR} install || die
282    
283     # install server module and binaries
284     cd ${XORGDDIR}/hw/vnc
285     mmake DESTDIR=${BINDIR} install || die
286    
287     # cleanup
288     rm ${BINDIR}/usr/bin/vncpasswd || die
289     rm ${BINDIR}/usr/bin/vncviewer || die
290     rm -r ${BINDIR}/usr/share/man || die
291     rm -r ${BINDIR}/usr/$(mlibdir) || die
292    
293     # install man pages
294     cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die
295     cp ${SRCDIR}/unix/vncserver.{man,1} || die
296     cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die
297     cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die
298     minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die
299     minstallman ${SRCDIR}/unix/vncserver.1 || die
300     minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die
301     minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die
302     }
303    
304     src_install_tigervnc-xserver-module()
305     {
306     # install server module and binaries
307     cd ${XORGDDIR}/hw/vnc
308     mmake DESTDIR=${BINDIR} install || die
309    
310     # cleanup
311     zapmost ${BINDIR} usr/$(mlibdir) || die
312    
313     # not needed
314     rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die
315    
316     # create a example config
317     minstalldir /etc/X11/xorg.conf.d || die
318     MCONFIG=/etc/X11/xorg.conf.d/20-vnc.conf
319     mclearconfig
320     maddconfig '# Example vnc module configuration'
321     maddconfig '# Uncomment these entries and set a password with the vncpasswd program'
322 niro 16995 maddconfig
323 niro 16992 maddconfig 'Section "Module"'
324     maddconfig ' Load "vnc"'
325     maddconfig 'EndSection'
326 niro 16995 maddconfig
327 niro 16992 maddconfig 'Section "Screen"'
328     maddconfig ' Identifier "Screen0"'
329     maddconfig ' Option "SecurityTypes" "VncAuth"'
330     maddconfig ' Option "UserPasswdVerifier" "VncAuth"'
331     maddconfig ' Option "PasswordFile" "/root/.vnc/passwd"'
332     maddconfig 'EndSection'
333     }
334    
335     src_install_tigervnc-server-applet()
336     {
337     cd ${SRCDIR}/java
338     minstalldir /usr/share/vnc/classes || die
339     minstallexec VncViewer.jar /usr/share/vnc/classes || die
340     minstallfile com/tigervnc/vncviewer/index.vnc /usr/share/vnc/classes || die
341     }
342    
343     postinstall_tigervnc-xserver-module()
344     {
345     echo
346     echo 'Add following to /etc/X11/xorg.conf.d/20-vnc.conf for native X display support:'
347     echo ' Section "Module"'
348     echo ' ...'
349     echo ' Load "vnc"'
350     echo ' EndSection'
351     echo
352     echo 'To enable VNC password authentification use the vncpasswd program:'
353     echo ' "vncpasswd"'
354     echo
355     echo 'You will also need to tell the VNC module where the password is stored:'
356     echo ' Section "Screen"'
357     echo ' ...'
358     echo ' Option "SecurityTypes" "VncAuth"'
359     echo ' Option "UserPasswdVerifier" "VncAuth"'
360     echo ' Option "PasswordFile" "/root/.vnc/passwd"'
361     echo ' EndSection'
362     echo
363     }