# # spec file for package tigervnc # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: tigervnc Version: 1.3.1 Release: 0 Provides: tightvnc = 1.3.9 Obsoletes: tightvnc < 1.3.9 Provides: vnc BuildRequires: Mesa-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: cmake BuildRequires: fltk-devel BuildRequires: gcc-c++ BuildRequires: gcc-c++ BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: libjpeg-devel BuildRequires: libopenssl-devel BuildRequires: libtool BuildRequires: nasm BuildRequires: xorg-x11-server-sdk BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xproto) BuildRequires: pkgconfig(xtst) # Because of keytool to build java client BuildRequires: libgcrypt-devel BuildRequires: libgpg-error-devel BuildRequires: mozilla-nss BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: xmlto BuildRequires: xorg-x11-libICE-devel BuildRequires: xorg-x11-libSM-devel BuildRequires: pkgconfig(bigreqsproto) >= 1.1.0 BuildRequires: pkgconfig(compositeproto) >= 0.4 BuildRequires: pkgconfig(damageproto) >= 1.1 BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(fixesproto) >= 4.1 BuildRequires: pkgconfig(fontsproto) BuildRequires: pkgconfig(fontutil) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glproto) BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(inputproto) >= 1.9.99.902 BuildRequires: pkgconfig(kbproto) >= 1.0.3 BuildRequires: pkgconfig(libtasn1) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(pciaccess) >= 0.8.0 BuildRequires: pkgconfig(pixman-1) >= 0.15.20 BuildRequires: pkgconfig(randrproto) >= 1.2.99.3 BuildRequires: pkgconfig(recordproto) >= 1.13.99.1 BuildRequires: pkgconfig(renderproto) >= 0.11 BuildRequires: pkgconfig(resourceproto) BuildRequires: pkgconfig(scrnsaverproto) >= 1.1 BuildRequires: pkgconfig(videoproto) BuildRequires: pkgconfig(xau) BuildRequires: pkgconfig(xcmiscproto) >= 1.2.0 BuildRequires: pkgconfig(xdmcp) BuildRequires: pkgconfig(xextproto) >= 7.0.99.3 BuildRequires: pkgconfig(xfont) >= 1.4.2 BuildRequires: pkgconfig(xineramaproto) BuildRequires: pkgconfig(xkbfile) BuildRequires: pkgconfig(xorg-macros) >= 1.14 BuildRequires: pkgconfig(xproto) >= 7.0.17 BuildRequires: pkgconfig(xtrans) >= 1.2.2 Requires(post): update-alternatives Requires(postun): update-alternatives Url: http://sourceforge.net/apps/mediawiki/tigervnc/ BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: A high-performance, platform-neutral implementation of VNC License: GPL-2.0 and MIT Group: System/X11/Servers/XF86_4 Source1: tigervnc-1.3.1.tar.bz2 Source2: xorg-server-1.14.0.tar.bz2 Source3: vnc.xinetd Source4: 10-libvnc.conf Source5: vnc-server.firewall Source6: vnc-httpd.firewall Source7: vnc_inetd_httpd Source8: vnc.reg Source9: vncpasswd.arg Source10: index.vnc # Tiger vnc patches Patch1: u_tigervnc-1.3.0-fix-use-after-free.patch Patch2: tigervnc-newfbsize.patch Patch3: tigervnc-clean-pressed-key-on-exit.patch Patch4: tigervnc-sf3492352.diff Patch5: tigervnc-sf3495623.patch Patch6: u_tigervnc-dont-send-ascii-control-characters.patch Patch7: u_tigervnc-ignore-epipe-on-write.patch Patch8: n_tigervnc-date-time.patch # Xserver patches Patch10: tigervnc-1.2.80-fix-int-to-pointer.patch Patch11: u_aarch64-support.patch Patch12: N_xorg-server-xdmcp.patch Patch13: n_tigervnc-dont-build-gtf.patch Patch14: u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch %description TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing), a client/server application that allows users to launch and interact with graphical applications on remote machines. TigerVNC provides the levels of performance necessary to run 3D and video applications; it attempts to maintain a common look and feel and re-use components, where possible, across the various platforms that it supports. TigerVNC also provides extensions for advanced authentication methods and TLS encryption. %package -n xorg-x11-Xvnc Requires: xinetd Requires: xkeyboard-config Summary: TigerVNC implementation of Xvnc Group: System/X11/Servers/XF86_4 %description -n xorg-x11-Xvnc This is the TigerVNC implementation of Xvnc. %prep %setup -T -b1 -b2 cp -r ../xorg-server-*/* unix/xserver/ if [ -e unix/xserver/hw/xfree86/modes/xf86gtf.c -o -e unix/xserver/hw/xfree86/utils/gtf/gtf.c ]; then echo "Files hw/xfree86/modes/xf86gtf hw/xfree86/utils/gtf/gtf.c have to be excluded from the xserver source tar ball (bnc#85566)." exit 1 fi %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p0 %patch7 -p0 %patch8 -p1 pushd unix/xserver patch -p1 < ../xserver114.patch %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 popd %build export CXXFLAGS="%optflags" export CFLAGS="%optflags" # Build all tigervnc cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_BUILD_TYPE=RelWithDebInfo make %{?_smp_mflags} # Build Xvnc server pushd unix/xserver autoreconf -fi %configure \ --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ --disable-static --disable-xinerama \ --with-xkb-path="/usr/share/X11/xkb" \ --with-xkb-output="/var/lib/xkb/compiled" \ --enable-glx --enable-dri --enable-dri2 \ --disable-config-dbus \ --disable-config-hal \ --disable-config-udev \ --without-dtrace \ --disable-unit-tests \ --disable-devel-docs \ --with-fontrootdir=/usr/share/fonts \ --disable-selective-werror make %{?_smp_mflags} V=1 popd # Build java client pushd java cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} make %{?_smp_mflags} popd %install %make_install mv $RPM_BUILD_ROOT/usr/bin/vncviewer $RPM_BUILD_ROOT/usr/bin/vncviewer-tigervnc mv $RPM_BUILD_ROOT/usr/share/man/man1/vncviewer.1 $RPM_BUILD_ROOT/usr/share/man/man1/vncviewer-tigervnc.1 pushd unix/xserver %make_install popd pushd java mkdir -p $RPM_BUILD_ROOT%{_datadir}/vnc/classes install -m755 VncViewer.jar $RPM_BUILD_ROOT%{_datadir}/vnc/classes popd install -D -m 644 %{SOURCE3} $RPM_BUILD_ROOT/etc/xinetd.d/vnc %ifnarch s390x install -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-libvnc.conf %endif install -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/vnc-server install -D -m 644 %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/vnc-httpd install -D -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/vnc_inetd_httpd install -D -m 644 %{SOURCE8} $RPM_BUILD_ROOT/etc/slp.reg.d/vnc.reg install -D -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_bindir}/vncpasswd.arg install -D -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/vnc/classes ln -s -f %{_sysconfdir}/alternatives/vncviewer $RPM_BUILD_ROOT%{_bindir}/vncviewer ln -s -f %{_sysconfdir}/alternatives/vncviewer.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/vncviewer.1.gz %find_lang '%{name}' %post %_sbindir/update-alternatives \ --install %{_bindir}/vncviewer vncviewer %{_bindir}/vncviewer-tigervnc 20 \ --slave %{_mandir}/man1/vncviewer.1.gz vncviewer.1.gz %{_mandir}/man1/vncviewer-tigervnc.1.gz %postun if [ "$1" = 0 ] ; then "%_sbindir/update-alternatives" --remove vncviewer /usr/bin/vncviewer-tigervnc fi %files -f %{name}.lang %defattr(-,root,root,-) %ghost %{_bindir}/vncviewer %{_bindir}/vncviewer-tigervnc %exclude /usr/share/doc/tigervnc-1.3.1 %doc LICENCE.TXT %doc README.txt %ghost %_mandir/man1/vncviewer.1.gz %doc %_mandir/man1/vncviewer-tigervnc.1.gz %ghost %_sysconfdir/alternatives/vncviewer %ghost %_sysconfdir/alternatives/vncviewer.1.gz %files -n xorg-x11-Xvnc %defattr(-,root,root) %{_bindir}/Xvnc %{_bindir}/vncconfig %{_bindir}/vncpasswd %{_bindir}/vncpasswd.arg %{_bindir}/vncserver %{_bindir}/x0vncserver %{_bindir}/vnc_inetd_httpd %exclude %{_mandir}/man1/Xserver.1* %{_mandir}/man1/Xvnc.1* %{_mandir}/man1/vncconfig.1* %{_mandir}/man1/vncpasswd.1* %{_mandir}/man1/vncserver.1* %{_mandir}/man1/x0vncserver.1* %exclude /usr/%{_lib}/xorg/protocol.txt %exclude /usr/%{_lib}/xorg/modules/extensions/libvnc.la %ifnarch s390x %{_libdir}/xorg/modules/extensions/libvnc.so %else %exclude %{_libdir}/xorg/modules %exclude %{_libdir}/xorg/modules/extensions %exclude %{_libdir}/xorg/modules/extensions/libvnc.so %endif %exclude /var/lib/xkb/compiled/README.compiled %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-server %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-httpd %ifnarch s390x %config(noreplace) /etc/X11/xorg.conf.d/10-libvnc.conf %else %exclude /etc/X11/xorg.conf.d %endif %config(noreplace) /etc/xinetd.d/vnc %dir /etc/slp.reg.d %config(noreplace) /etc/slp.reg.d/vnc.reg %exclude /usr/lib/debug/* %exclude /usr/lib/debug/.* %exclude /usr/src/debug %doc java/com/tigervnc/vncviewer/README %{_datadir}/vnc %changelog