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