Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 20526 - (hide annotations) (download)
Mon Jan 27 10:29:48 2014 UTC (10 years, 3 months ago) by niro
Original Path: trunk/extras/tigervnc/tigervnc-1.3.0-r2.smage2
File size: 10166 byte(s)
-rebuild against xorg-server-1.14.5
1 niro 20526 # $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     }