Magellan Linux

Contents of /branches/R11-stable/extras/tigervnc/tigervnc-1.4.2-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 23753 - (show annotations) (download)
Fri Jan 30 10:00:14 2015 UTC (9 years, 3 months ago) by niro
Original Path: trunk/extras/tigervnc/tigervnc-1.4.2-r1.smage2
File size: 9445 byte(s)
auto added: ver bump to 1.4.2-r1
1 # $Id$
2
3 PNAME="tigervnc"
4 PVER="1.4.2"
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="v${PVER}.tar.gz"
13 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
14
15 XORG_PVER="1.16.3"
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-3.2"
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-8
46 >= virtual/X-ABI-VIDEODRV-15
47 >= virtual/X-ABI-XINPUT-20"
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/xorg-protos-7.7.${XORG_PVER}
59 >= x11-libs/libpciaccess-0.13
60 >= virtual/java-jdk
61 >= gnome-base/librsvg-2.40
62 >= media-gfx/imagemagick-6.8"
63
64 msetfeature "!check"
65 sminclude cmake xorg xdg mtools cleanutils
66
67 SRC_URI=(
68 https://github.com/TigerVNC/${PNAME}/archive/${SRCFILE}
69 mirror://${PNAME}/${SRCFILE}
70 http://ftp.x.org/pub/individual/xserver/${XORG}
71 mirror://xorg-server/${XORG}
72 mirror://${PNAME}/tigervnc_48.png
73 mirror://${PNAME}/${PNAME}-1.0.90-cookie.patch
74 mirror://${PNAME}/${PNAME}-1.0.90-ldnow.patch
75 mirror://${PNAME}/${PNAME}-1.1.0-gethomedir.patch
76 mirror://${PNAME}/${PNAME}-${PVER}-rh692048.patch
77 mirror://${PNAME}/${PNAME}-1.3.0-inetd-nowait.patch
78 mirror://${PNAME}/${PNAME}-1.3.0-getmaster.patch
79 mirror://${PNAME}/${PNAME}-1.3.0-shebang.patch
80 mirror://${PNAME}/${PNAME}-1.3.0-key_is_down.patch
81 )
82
83 UP2SEPERATOR="v"
84 UP2DATE="updatecmd https://github.com/TigerVNC/${PNAME}/releases | highesttarball gz"
85
86 split_info_tigervnc-common()
87 {
88 DESCRIPTION="Common TigerVNC libs and utils."
89 DEPEND="${COMMON_DEPEND}"
90 PROVIDE="virtual/vnc-client"
91 }
92
93 split_info_tigervnc-server()
94 {
95 DESCRIPTION="TigerVNC VNC server."
96 DEPEND="== net-misc/tigervnc-common-${PVER}
97 ${COMMON_DEPEND}
98 ${COMMON_FONTS_DEPEND}
99 ${SERVER_DEPEND}"
100 PROVIDE="virtual/vnc"
101 }
102
103 split_info_tigervnc-xserver-module()
104 {
105 DESCRIPTION="TigerVNC Xorg server module."
106 DEPEND="== net-misc/tigervnc-common-${PVER}
107 ${COMMON_FONTS_DEPEND}
108 ${MODULE_DEPEND}"
109 PROVIDE="virtual/vnc-x11"
110 }
111
112 split_info_tigervnc-server-applet()
113 {
114 DESCRIPTION="TigerVNC VNC server."
115 DEPEND="${APPLET_DEPEND}"
116 PROVIDE="virtual/vnc-java"
117 }
118
119 split_info_tigervnc()
120 {
121 DESCRIPTION="TigerVNC is a suite of VNC servers and clients that have a focus on performance and remote display functionality."
122 DEPEND="== net-misc/tigervnc-common-${PVER}
123 == net-misc/tigervnc-server-${PVER}
124 == net-misc/tigervnc-xserver-module-${PVER}
125 == net-misc/tigervnc-server-applet-${PVER}"
126
127 PKGTYPE="virtual"
128
129 # drop everything we don't need in the meta package:
130 INHERITS=""
131 SPECIAL_VARS=""
132 SPECIAL_FUNCTIONS=""
133 SDEPEND=""
134 PROVIDE=""
135 unset -f preinstall
136 unset -f postinstall
137 unset -f preremove
138 unset -f postremove
139 }
140
141 src_prepare()
142 {
143 # munpack needs a suffix
144 tar xvf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${BUILDDIR} || die
145 munpack ${XORG} || die
146 cp -r ${XORGSDIR}/* ${XORGDDIR} || die
147 cd ${SRCDIR}
148
149 # patchwork
150 # create X server cookie via mcookie
151 mpatch ${PNAME}-1.0.90-cookie.patch || die
152 # link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup
153 mpatch ${PNAME}-1.0.90-ldnow.patch || die
154 mpatch ${PNAME}-1.1.0-gethomedir.patch || die
155 mpatch ${PNAME}-${PVER}-rh692048.patch || die
156
157 # fix busy loop when run from inetd in nowait mode
158 mpatch ${PNAME}-1.3.0-inetd-nowait.patch || die
159
160 # libvnc.so: don't use unexported GetMaster function
161 mpatch ${PNAME}-1.3.0-getmaster.patch || die
162
163 # don't use shebang in vncserver script.
164 mpatch ${PNAME}-1.3.0-shebang.patch || die
165
166 # libvnc.so: don't use unexported key_is_down function
167 mpatch ${PNAME}-1.3.0-key_is_down.patch || die
168
169 # apply the included xorg patch
170 cd ${XORGDDIR}
171 local xorg_patch_ver="${XORG_PVER%.*}"
172 xorg_patch_ver="${xorg_patch_ver//.}"
173 patch -Np1 -i ../xserver${xorg_patch_ver}.patch || die
174
175 # reconfigure xorg
176 cd ${XORGDDIR}
177 mautoreconf || die
178 }
179
180 src_compile()
181 {
182 cd ${SRCDIR}
183 cmake_configure || die
184 mmake || die
185
186 # build the x11 module
187 cd ${XORGDDIR}
188 mconfigure \
189 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
190 --with-fontdir=/usr/share/fonts \
191 --with-rgb-path=/usr/share/X11/rgb.txt \
192 --with-xkb-output=/usr/share/X11/xkb \
193 --with-module-dir=/usr/$(mlibdir)/xorg/modules \
194 --with-dri-driver-path=/usr/$(mlibdir)/dri \
195 --with-pic \
196 --without-dtrace \
197 --disable-xorg \
198 --disable-composite \
199 --enable-xtrap \
200 --disable-xinerama \
201 --enable-glx \
202 --disable-xnest \
203 --disable-xvfb \
204 --disable-dmx \
205 --disable-xwin \
206 --disable-xephyr \
207 --disable-kdrive \
208 --disable-static \
209 --disable-dri \
210 --enable-dri2 \
211 --disable-dri3 \
212 --disable-present \
213 --disable-config-dbus \
214 --disable-config-hal \
215 --disable-config-udev \
216 --enable-install-libxf86config \
217 --disable-unit-tests \
218 --disable-devel-docs \
219 --disable-selective-werror \
220 || die
221
222 mmake || die
223
224 # build icons
225 cd ${SRCDIR}/media
226 mmake -j1 || die
227
228 # build the java applet
229 cd ${SRCDIR}/java
230
231 # cmake_configure does not work because of LIBDIR definition
232 cmake \
233 -DCMAKE_VERBOSE_MAKEFILE=ON \
234 -DCMAKE_BUILD_TYPE=Release \
235 -DCMAKE_INSTALL_PREFIX=/usr \
236 ${SRCDIR}/java \
237 || die
238
239 mmake -j1 || die
240 }
241
242 src_install_tigervnc-common()
243 {
244 cd ${SRCDIR}
245 mmake DESTDIR=${BINDIR} install || die
246
247 # cleanup
248 zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die
249
250 # install man pages
251 cp ${SRCDIR}/vncviewer/vncviewer.{man,1} || die
252 cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die
253 minstallman ${SRCDIR}/vncviewer/vncviewer.1 || die
254 minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die
255
256 # desktop icon
257 minstallpixmap media/icons/tigervnc_48.png vncviewer.png || die
258 minstall_desktop_icon \
259 --name "TigerVNC Viewer" \
260 --file "vncviewer" \
261 --comment "Connect to VNC server and display remote desktop" \
262 --exec /usr/bin/vncviewer \
263 --icon vncviewer.png \
264 --categories "Application,Network" \
265 || die
266
267 # docs
268 minstalldocs README LICENCE.TXT || die
269 }
270
271 src_install_tigervnc-server()
272 {
273 cd ${SRCDIR}
274 mmake DESTDIR=${BINDIR} install || die
275
276 # install server module and binaries
277 cd ${XORGDDIR}/hw/vnc
278 mmake DESTDIR=${BINDIR} install || die
279
280 # cleanup
281 rm ${BINDIR}/usr/bin/vncpasswd || die
282 rm ${BINDIR}/usr/bin/vncviewer || die
283 rm -r ${BINDIR}/usr/share/man || die
284 rm -r ${BINDIR}/usr/$(mlibdir) || die
285
286 # install man pages
287 cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die
288 cp ${SRCDIR}/unix/vncserver.{man,1} || die
289 cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die
290 cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die
291 minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die
292 minstallman ${SRCDIR}/unix/vncserver.1 || die
293 minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die
294 minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die
295 }
296
297 src_install_tigervnc-xserver-module()
298 {
299 # install server module and binaries
300 cd ${XORGDDIR}/hw/vnc
301 mmake DESTDIR=${BINDIR} install || die
302
303 # cleanup
304 zapmost ${BINDIR} usr/$(mlibdir) || die
305
306 # not needed
307 rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die
308
309 # create a example config
310 minstalldir /etc/X11/xorg.conf.d || die
311 MCONFIG=/etc/X11/xorg.conf.d/20-vnc.conf
312 mclearconfig
313 maddconfig '# Example vnc module configuration'
314 maddconfig '# Uncomment these entries and set a password with the vncpasswd program'
315 maddconfig
316 maddconfig 'Section "Module"'
317 maddconfig ' Load "vnc"'
318 maddconfig 'EndSection'
319 maddconfig
320 maddconfig 'Section "Screen"'
321 maddconfig ' Identifier "Screen0"'
322 maddconfig ' Option "SecurityTypes" "VncAuth"'
323 maddconfig ' Option "UserPasswdVerifier" "VncAuth"'
324 maddconfig ' Option "PasswordFile" "/root/.vnc/passwd"'
325 maddconfig 'EndSection'
326 }
327
328 src_install_tigervnc-server-applet()
329 {
330 cd ${SRCDIR}/java
331 minstalldir /usr/share/vnc/classes || die
332 minstallexec VncViewer.jar /usr/share/vnc/classes || die
333 minstallfile com/tigervnc/vncviewer/index.vnc /usr/share/vnc/classes || die
334 }
335
336 postinstall_tigervnc-xserver-module()
337 {
338 echo
339 echo 'Add following to /etc/X11/xorg.conf.d/20-vnc.conf for native X display support:'
340 echo ' Section "Module"'
341 echo ' ...'
342 echo ' Load "vnc"'
343 echo ' EndSection'
344 echo
345 echo 'To enable VNC password authentification use the vncpasswd program:'
346 echo ' "vncpasswd"'
347 echo
348 echo 'You will also need to tell the VNC module where the password is stored:'
349 echo ' Section "Screen"'
350 echo ' ...'
351 echo ' Option "SecurityTypes" "VncAuth"'
352 echo ' Option "UserPasswdVerifier" "VncAuth"'
353 echo ' Option "PasswordFile" "/root/.vnc/passwd"'
354 echo ' EndSection'
355 echo
356 }