1 |
# temp build fix: |
2 |
%define _disable_ld_no_undefined 1 |
3 |
|
4 |
Name: tigervnc |
5 |
Version: 1.9.0 |
6 |
Release: %mkrel 3 |
7 |
Summary: Viewer for the VNC remote display system |
8 |
Group: Networking/Remote access |
9 |
License: GPLv2+ |
10 |
URL: http://www.tigervnc.com/ |
11 |
Source0: https://github.com/TigerVNC/tigervnc/archive/v%{version}/%{name}-%{version}.tar.gz |
12 |
|
13 |
Patch7: tigervnc-manpages.patch |
14 |
Patch8: tigervnc-getmaster.patch |
15 |
Patch9: tigervnc-shebang.patch |
16 |
# Patch from openmdv to build |
17 |
Patch10: tigervnc11-mdv-link.patch |
18 |
# initially from openmdv |
19 |
Patch12: tigervnc-1.8.90-mga-buildir.patch |
20 |
#Patches from fedora |
21 |
Patch14: tigervnc-xstartup.patch |
22 |
|
23 |
# copied from debian |
24 |
Patch29: tigervnc-1.7.0-CVE-2014-8241.patch |
25 |
Patch30: tigervnc-1.8.0-CVE-2014-8240.patch |
26 |
|
27 |
# This is tigervnc-%%{version}/unix/xserver120.patch rebased on the latest xorg |
28 |
Patch100: tigervnc-xserver120.patch |
29 |
|
30 |
BuildRequires: x11-server-source |
31 |
BuildRequires: gettext-devel |
32 |
BuildRequires: pkgconfig(x11) |
33 |
BuildRequires: libxext-devel |
34 |
BuildRequires: x11-font-util |
35 |
BuildRequires: x11-util-macros |
36 |
BuildRequires: x11-xtrans-devel |
37 |
BuildRequires: mesagl-devel |
38 |
BuildRequires: libxkbfile-devel |
39 |
BuildRequires: libxfont2-devel |
40 |
BuildRequires: pixman-devel |
41 |
BuildRequires: openssl-devel |
42 |
BuildRequires: libpciaccess-devel |
43 |
BuildRequires: libpam-devel |
44 |
BuildRequires: libxtst-devel |
45 |
BuildRequires: gnutls-devel |
46 |
BuildRequires: imagemagick |
47 |
BuildRequires: nasm |
48 |
BuildRequires: java-devel |
49 |
BuildRequires: desktop-file-utils |
50 |
BuildRequires: jpackage-utils |
51 |
BuildRequires: fltk-devel |
52 |
BuildRequires: libtool |
53 |
BuildRequires: autoconf |
54 |
BuildRequires: libxi-devel |
55 |
BuildRequires: libxinerama-devel |
56 |
BuildRequires: freetype-devel |
57 |
BuildRequires: libxdmcp-devel |
58 |
BuildRequires: pam-devel |
59 |
BuildRequires: libjpeg-devel |
60 |
BuildRequires: cmake |
61 |
BuildRequires: libxrandr-devel |
62 |
|
63 |
%description |
64 |
Virtual Network Computing (VNC) is a remote display system which |
65 |
allows you to view a computing 'desktop' environment not only on the |
66 |
machine where it is running, but from anywhere on the Internet and |
67 |
from a wide variety of machine architectures. This package contains a |
68 |
client which will allow you to connect to other desktops running a VNC |
69 |
server. |
70 |
|
71 |
%files -f %{name}.lang |
72 |
%_defaultdocdir/%{name}-%{version}/* |
73 |
%{_bindir}/vncviewer |
74 |
%{_iconsdir}/* |
75 |
%{_datadir}/applications/* |
76 |
%{_mandir}/man1/vncviewer.1* |
77 |
|
78 |
|
79 |
#------------------------------------------------------------------------------ |
80 |
|
81 |
%package server |
82 |
|
83 |
Summary: Server for the VNC remote display system |
84 |
Group: Networking/Remote access |
85 |
|
86 |
Requires: vnc-server-common |
87 |
|
88 |
%description server |
89 |
The VNC system allows you to access the same desktop from a wide |
90 |
variety of platforms. This package is a TigerVNC server, allowing |
91 |
others to access the desktop on your machine. |
92 |
|
93 |
%files server |
94 |
%{_bindir}/vncconfig |
95 |
%{_bindir}/vncpasswd |
96 |
%{_bindir}/x0vncserver |
97 |
%{_bindir}/Xvnc |
98 |
%{_bindir}/vncserver |
99 |
%{_mandir}/man1/Xvnc.1* |
100 |
%{_mandir}/man1/vncpasswd.1* |
101 |
%{_mandir}/man1/vncconfig.1* |
102 |
%{_mandir}/man1/vncserver.1* |
103 |
%{_mandir}/man1/x0vncserver.1* |
104 |
|
105 |
#------------------------------------------------------------------------------ |
106 |
|
107 |
%package server-module |
108 |
|
109 |
Summary: Xorg module for the VNC remote display system |
110 |
Group: Networking/Remote access |
111 |
|
112 |
Requires: x11-server-xorg |
113 |
|
114 |
%description server-module |
115 |
This package contains libvnc.so module to X server, allowing others |
116 |
to access the desktop on your machine. |
117 |
|
118 |
%files server-module |
119 |
%{_libdir}/xorg/modules/extensions/libvnc.so |
120 |
|
121 |
#------------------------------------------------------------------------------ |
122 |
|
123 |
%package java |
124 |
|
125 |
Summary: Java viewer for the VNC remote display system |
126 |
Group: Networking/Remote access |
127 |
|
128 |
|
129 |
# "TightVNC-specific" is not a typo, see the README file located inside the |
130 |
# java source tree |
131 |
%description java |
132 |
This distribution is based on the standard VNC source and includes new |
133 |
TightVNC-specific features and fixes, such as additional low-bandwidth |
134 |
optimizations, major GUI improvements, and more. |
135 |
|
136 |
There are three basic ways to use TigerVNC Java viewer: |
137 |
1. Running applet as part of TigerVNC server installation. |
138 |
2. Running applet hosted on a standalone Web server. |
139 |
3. Running the viewer as a standalone application. |
140 |
|
141 |
%files java |
142 |
%{_javadir}/*.jar |
143 |
%{_datadir}/vnc |
144 |
|
145 |
#------------------------------------------------------------------------------ |
146 |
|
147 |
%prep |
148 |
%setup -q -n %{name}-%{version} |
149 |
|
150 |
%patch12 -p1 -b .builddir |
151 |
|
152 |
cp -r /usr/share/x11-server-source/* unix/xserver |
153 |
pushd unix/xserver |
154 |
for all in `find . -type f -perm -001`; do |
155 |
chmod -x "$all" |
156 |
done |
157 |
%patch100 -p1 -b .xserver120-rebased |
158 |
popd |
159 |
|
160 |
# Synchronise manpages and --help output (bug #980870). |
161 |
%patch7 -p1 -b .manpages |
162 |
|
163 |
# libvnc.so: don't use unexported GetMaster function (bug #744881 again). |
164 |
%patch8 -p1 -b .getmaster |
165 |
|
166 |
# Don't use shebang in vncserver script. |
167 |
%patch9 -p1 -b .shebang |
168 |
|
169 |
# Clearer xstartup file (bug #923655). |
170 |
%patch14 -p1 -b .xstartup |
171 |
|
172 |
%patch10 -p1 -b .link |
173 |
|
174 |
%patch29 -p1 -b .CVE-2014-8241 |
175 |
%patch30 -p1 -b .CVE-2014-8240 |
176 |
|
177 |
%build |
178 |
|
179 |
%cmake |
180 |
%make_build |
181 |
cd .. |
182 |
|
183 |
pushd unix/xserver |
184 |
rm -f configure |
185 |
autoreconf -fiv |
186 |
%configure2_5x --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ |
187 |
--disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \ |
188 |
--with-pic --disable-static --disable-xinerama \ |
189 |
--with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d,built-ins" \ |
190 |
--with-fontdir=%{_datadir}/X11/fonts \ |
191 |
--with-xkb-output=%{_localstatedir}/lib/xkb \ |
192 |
--enable-install-libxf86config \ |
193 |
--enable-glx --disable-dri --enable-dri2 --disable-dri3 \ |
194 |
--disable-config-dbus \ |
195 |
--disable-wayland \ |
196 |
--disable-present \ |
197 |
--disable-config-hal \ |
198 |
--disable-config-udev \ |
199 |
--with-dri-driver-path=%{_libdir}/dri \ |
200 |
--without-dtrace \ |
201 |
--disable-unit-tests \ |
202 |
--disable-devel-docs \ |
203 |
--disable-selective-werror |
204 |
|
205 |
%make_build |
206 |
popd |
207 |
|
208 |
|
209 |
# Build icons |
210 |
pushd media |
211 |
%cmake |
212 |
%make_build |
213 |
popd |
214 |
|
215 |
# Build Java applet |
216 |
pushd java |
217 |
%cmake |
218 |
JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" \ |
219 |
%make_build |
220 |
popd |
221 |
|
222 |
%install |
223 |
%make_install -C build |
224 |
|
225 |
%make_install -C unix/xserver/hw/vnc |
226 |
|
227 |
# Install desktop stuff |
228 |
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,24x24,48x48}/apps |
229 |
|
230 |
pushd media/icons |
231 |
for s in 16 24 48; do |
232 |
install -m644 tigervnc_$s.png %{buildroot}%{_datadir}/icons/hicolor/${s}x$s/apps/tigervnc.png |
233 |
done |
234 |
popd |
235 |
|
236 |
%find_lang %{name} %{name}.lang |
237 |
|
238 |
# remove unwanted files |
239 |
rm -f %{buildroot}%{_libdir}/xorg/modules/extensions/libvnc.la |
240 |
|
241 |
# Install Java applet |
242 |
|
243 |
install -d -m 755 %{buildroot}%{_javadir} |
244 |
install -d -m 755 %{buildroot}%{_datadir}/vnc/classes |
245 |
pushd java/build |
246 |
|
247 |
install -m 755 VncViewer.jar %{buildroot}%{_datadir}/vnc/classes/vncviewer-%{version}.jar |
248 |
popd |
249 |
|
250 |
pushd java |
251 |
install -m 644 com/tigervnc/vncviewer/index.vnc %{buildroot}%{_datadir}/vnc/classes |
252 |
popd |
253 |
|
254 |
pushd %{buildroot}%{_datadir}/vnc/classes |
255 |
mv vncviewer-%{version}.jar %{buildroot}%{_javadir} |
256 |
ln -s %{_javadir}/vncviewer-%{version}.jar VncViewer.jar |
257 |
popd |
258 |
|
259 |
pushd %{buildroot}%{_javadir} |
260 |
ln -s vncviewer-%{version}.jar vncviewer.jar |
261 |
ln -s vncviewer-%{version}.jar VncViewer.jar |
262 |
popd |
263 |
|
264 |
|