Magellan Linux

Contents of /trunk/extras/tigervnc/tigervnc-1.7.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 29079 - (show annotations) (download)
Mon May 22 12:09:43 2017 UTC (7 years ago) by niro
File size: 9363 byte(s)
-make java support configurable and disabled it atm
1 # $Id$
2
3 PNAME="tigervnc"
4 PVER="1.7.1"
5 PBUILD="r1"
6
7 # enable java=1, disable java=0
8 ENABLE_JAVA_APPLET=0
9
10 SPLIT_PACKAGES="tigervnc-common tigervnc-server tigervnc-xserver-module"
11 if [[ ${ENABLE_JAVA_APPLET} = 1 ]]
12 then
13 SPLIT_PACKAGES+=" tigervnc-server-applet"
14 fi
15 SPLIT_PACKAGES+=" tigervnc"
16
17 PCAT="net-misc"
18 HOMEPAGE="http://www.tigervnc.com/"
19
20 SRCFILE="v${PVER}.tar.gz"
21 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
22
23 XORG_PVER="1.19.3"
24 XORG="xorg-server-${XORG_PVER}.tar.bz2"
25 XORGSDIR="${BUILDDIR}/xorg-server-${XORG_PVER}"
26 XORGDDIR="${SRCDIR}/unix/xserver"
27
28 COMMON_DEPEND=">= x11-libs/libX11-1.6
29 >= x11-libs/libXext-1.3
30 >= x11-libs/libSM-1.2
31 >= x11-libs/libXtst-1.2
32 >= x11-libs/libXi-1.7
33 >= x11-libs/fltk-1.3
34 >= sys-libs/zlib-1.2.5
35 >= sys-libs/libstdc++-6.3
36 >= app-crypt/gnutls-3.5"
37
38 COMMON_FONTS_DEPEND=">= media-fonts/font-adobe-100dpi-1
39 >= media-fonts/font-adobe-75dpi-1
40 >= media-fonts/font-alias-1
41 >= media-fonts/font-cursor-misc-1
42 >= media-fonts/font-misc-misc-1"
43
44 SERVER_DEPEND=">= x11-libs/libXfont-1.4
45 >= x11-libs/libxkbfile-1.0.8
46 >= x11-libs/pixman-0.34
47 >= media-libs/freetype-2.7
48 >= x11-apps/xauth-1.0.7
49 >= x11-apps/xsetroot-1.1
50 >= x11-misc/xkeyboard-config-2.8
51 >= sys-fs/udev-230"
52
53 MODULE_DEPEND=">= virtual/X-ABI-EXTENSION-10.0
54 >= virtual/X-ABI-VIDEODRV-23
55 >= virtual/X-ABI-XINPUT-24.1"
56
57 if [[ ${ENABLE_JAVA_APPLET} = 1 ]]
58 then
59 APPLET_DEPEND=">= virtual/java"
60 else
61 APPLET_DEPEND=""
62 fi
63
64 SDEPEND="${COMMON_DEPEND}
65 ${COMMON_FONTS_DEPEND}
66 ${SERVER_DEPEND}
67 ${MODULE_DEPEND}
68 ${APPLET_DEPEND}
69 >= dev-util/desktop-file-utils-0.15
70 >= dev-lang/nasm-2
71 == x11-proto/xorg-protos-7.7.${XORG_PVER}
72 >= x11-libs/libpciaccess-0.13
73 >= media-fonts/font-util-1.3
74 >= virtual/java-jdk
75 >= gnome-base/librsvg-2.40
76 >= media-gfx/imagemagick-6.8"
77
78 msetfeature "!check"
79 sminclude cmake xorg xdg mtools cleanutils
80
81 SRC_URI=(
82 https://github.com/TigerVNC/${PNAME}/archive/${SRCFILE}
83 mirror://${PNAME}/${SRCFILE}
84 http://ftp.x.org/pub/individual/xserver/${XORG}
85 mirror://xorg-server/${XORG}
86 mirror://${PNAME}/tigervnc_48.png
87 mirror://${PNAME}/${PNAME}-1.1.0-gethomedir.patch
88 mirror://${PNAME}/${PNAME}-1.3.0-shebang.patch
89 mirror://${PNAME}/${PNAME}-1.4.2-getmaster.patch
90 mirror://${PNAME}/${PNAME}-1.7.0-xorg119.patch
91 mirror://${PNAME}/${PNAME}-1.7.0-xserver119.patch
92 )
93
94 UP2SEPERATOR="v"
95 UP2DATE="updatecmd https://github.com/TigerVNC/${PNAME}/releases | highesttarball gz"
96
97 split_info_tigervnc-common()
98 {
99 DESCRIPTION="Common TigerVNC libs and utils."
100 DEPEND="${COMMON_DEPEND}"
101 PROVIDE="virtual/vnc-client"
102 }
103
104 split_info_tigervnc-server()
105 {
106 DESCRIPTION="TigerVNC VNC server."
107 DEPEND="== net-misc/tigervnc-common-${PVER}
108 ${COMMON_DEPEND}
109 ${COMMON_FONTS_DEPEND}
110 ${SERVER_DEPEND}"
111 PROVIDE="virtual/vnc"
112 }
113
114 split_info_tigervnc-xserver-module()
115 {
116 DESCRIPTION="TigerVNC Xorg server module."
117 DEPEND="== net-misc/tigervnc-common-${PVER}
118 ${COMMON_FONTS_DEPEND}
119 ${MODULE_DEPEND}"
120 PROVIDE="virtual/vnc-x11"
121 }
122
123 split_info_tigervnc-server-applet()
124 {
125 DESCRIPTION="TigerVNC VNC server."
126 DEPEND="${APPLET_DEPEND}"
127 PROVIDE="virtual/vnc-java"
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 if [[ ${ENABLE_JAVA_APPLET} = 1 ]]
137 then
138 DEPEND="${DEPEND}
139 == net-misc/tigervnc-server-applet-${PVER}"
140 fi
141
142 PKGTYPE="virtual"
143
144 # drop everything we don't need in the meta package:
145 INHERITS=""
146 SPECIAL_VARS=""
147 SPECIAL_FUNCTIONS=""
148 SDEPEND=""
149 PROVIDE=""
150 unset -f preinstall
151 unset -f postinstall
152 unset -f preremove
153 unset -f postremove
154 }
155
156 src_prepare()
157 {
158 # munpack needs a suffix
159 tar xvf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${BUILDDIR} || 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.1.0-gethomedir.patch || die
167
168 # libvnc.so: don't use unexported GetMaster function
169 #mpatch ${PNAME}-1.4.2-getmaster.patch || die
170
171 # don't use shebang in vncserver script.
172 mpatch ${PNAME}-1.3.0-shebang.patch || die
173
174 # xorg-1.19 support patch
175 mpatch ${PNAME}-1.7.0-xorg119.patch || die
176
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 mpatch -Np1 ${PNAME}-1.7.0-xserver119.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-dri3 \
221 --disable-present \
222 --disable-config-dbus \
223 --disable-config-hal \
224 --disable-config-udev \
225 --enable-install-libxf86config \
226 --disable-unit-tests \
227 --disable-devel-docs \
228 --disable-selective-werror \
229 || die
230
231 mmake || die
232
233 # build icons
234 cd ${SRCDIR}/media
235 mmake -j1 || die
236
237 if [[ ${ENABLE_JAVA_APPLET} = 1 ]]
238 then
239 # build the java applet
240 cd ${SRCDIR}/java
241
242 # cmake_configure does not work because of LIBDIR definition
243 cmake \
244 -DCMAKE_VERBOSE_MAKEFILE=ON \
245 -DCMAKE_BUILD_TYPE=Release \
246 -DCMAKE_INSTALL_PREFIX=/usr \
247 ${SRCDIR}/java \
248 || die
249
250 mmake -j1 || die
251 fi
252 }
253
254 src_install_tigervnc-common()
255 {
256 cd ${SRCDIR}
257 mmake DESTDIR=${BINDIR} install || die
258
259 # cleanup
260 zapmost ${BINDIR} usr/bin/vncpasswd usr/bin/vncviewer usr/share/locale || die
261
262 # install man pages
263 cp ${SRCDIR}/vncviewer/vncviewer.{man,1} || die
264 cp ${SRCDIR}/unix/vncpasswd/vncpasswd.{man,1} || die
265 minstallman ${SRCDIR}/vncviewer/vncviewer.1 || die
266 minstallman ${SRCDIR}/unix/vncpasswd/vncpasswd.1 || die
267
268 # desktop icon
269 minstallpixmap media/icons/tigervnc_48.png vncviewer.png || die
270 minstall_desktop_icon \
271 --name "TigerVNC Viewer" \
272 --file "vncviewer" \
273 --comment "Connect to VNC server and display remote desktop" \
274 --exec /usr/bin/vncviewer \
275 --icon vncviewer.png \
276 --categories "Application,Network" \
277 || die
278
279 # docs
280 minstalldocs README LICENCE.TXT || die
281 }
282
283 src_install_tigervnc-server()
284 {
285 cd ${SRCDIR}
286 mmake DESTDIR=${BINDIR} install || die
287
288 # install server module and binaries
289 cd ${XORGDDIR}/hw/vnc
290 mmake DESTDIR=${BINDIR} install || die
291
292 # cleanup
293 rm ${BINDIR}/usr/bin/vncpasswd || die
294 rm ${BINDIR}/usr/bin/vncviewer || die
295 rm -r ${BINDIR}/usr/share/man || die
296 rm -r ${BINDIR}/usr/$(mlibdir) || die
297
298 # install man pages
299 cp ${SRCDIR}/unix/vncconfig/vncconfig.{man,1} || die
300 cp ${SRCDIR}/unix/vncserver.{man,1} || die
301 cp ${SRCDIR}/unix/x0vncserver/x0vncserver.{man,1} || die
302 cp ${XORGDDIR}/hw/vnc/Xvnc.{man,1} || die
303 minstallman ${SRCDIR}/unix/vncconfig/vncconfig.1 || die
304 minstallman ${SRCDIR}/unix/vncserver.1 || die
305 minstallman ${SRCDIR}/unix/x0vncserver/x0vncserver.1 || die
306 minstallman ${XORGDDIR}/hw/vnc/Xvnc.1 || die
307 }
308
309 src_install_tigervnc-xserver-module()
310 {
311 # install server module and binaries
312 cd ${XORGDDIR}/hw/vnc
313 mmake DESTDIR=${BINDIR} install || die
314
315 # cleanup
316 zapmost ${BINDIR} usr/$(mlibdir) || die
317
318 # not needed
319 rm ${BINDIR}/usr/$(mlibdir)/xorg/modules/extensions/libvnc.la || die
320
321 # create a example config
322 minstalldir /etc/X11/xorg.conf.d || die
323 MCONFIG=/etc/X11/xorg.conf.d/20-vnc.conf
324 mclearconfig
325 maddconfig '# Example vnc module configuration'
326 maddconfig '# Uncomment these entries and set a password with the vncpasswd program'
327 maddconfig
328 maddconfig 'Section "Module"'
329 maddconfig ' Load "vnc"'
330 maddconfig 'EndSection'
331 maddconfig
332 maddconfig 'Section "Screen"'
333 maddconfig ' Identifier "Screen0"'
334 maddconfig ' Option "SecurityTypes" "VncAuth"'
335 maddconfig ' Option "UserPasswdVerifier" "VncAuth"'
336 maddconfig ' Option "PasswordFile" "/root/.vnc/passwd"'
337 maddconfig 'EndSection'
338 }
339
340 src_install_tigervnc-server-applet()
341 {
342 cd ${SRCDIR}/java
343 minstalldir /usr/share/vnc/classes || die
344 minstallexec VncViewer.jar /usr/share/vnc/classes || die
345 minstallfile com/tigervnc/vncviewer/index.vnc /usr/share/vnc/classes || die
346 }
347
348 postinstall_tigervnc-xserver-module()
349 {
350 echo
351 echo 'Add following to /etc/X11/xorg.conf.d/20-vnc.conf for native X display support:'
352 echo ' Section "Module"'
353 echo ' ...'
354 echo ' Load "vnc"'
355 echo ' EndSection'
356 echo
357 echo 'To enable VNC password authentification use the vncpasswd program:'
358 echo ' "vncpasswd"'
359 echo
360 echo 'You will also need to tell the VNC module where the password is stored:'
361 echo ' Section "Screen"'
362 echo ' ...'
363 echo ' Option "SecurityTypes" "VncAuth"'
364 echo ' Option "UserPasswdVerifier" "VncAuth"'
365 echo ' Option "PasswordFile" "/root/.vnc/passwd"'
366 echo ' EndSection'
367 echo
368 }