%define _default_patch_fuzz 2 %define snap 20120915svn4999 Name: tigervnc Version: 1.2.0 Release: 7.%{snap}%{?dist} Summary: A TigerVNC remote display system Group: User Interface/Desktops License: GPLv2+ URL: http://www.tigervnc.com Source0: %{name}-%{version}-%{snap}.tar.bz2 Source1: vncserver.service Source2: vncserver.sysconfig Source6: vncviewer.desktop Source11: fltk-1.3.0r9619.tar.bz2 Source12: http://downloads.sourceforge.net/project/libjpeg-turbo/1.2.1/libjpeg-turbo-1.2.1.tar.gz Source13: http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz Source98: http://www.x.org/releases/X11R7.5/src/proto/xineramaproto-1.2.tar.bz2 Source99: http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2 Source100: http://www.x.org/releases/X11R7.5/src/lib/libICE-1.0.6.tar.bz2 Source101: http://www.x.org/releases/X11R7.5/src/lib/libSM-1.1.1.tar.bz2 Source102: http://www.x.org/releases/X11R7.5/src/lib/libX11-1.3.2.tar.bz2 Source103: http://www.x.org/releases/X11R7.5/src/lib/libXScrnSaver-1.2.0.tar.bz2 Source104: http://www.x.org/releases/X11R7.5/src/lib/libXau-1.0.5.tar.bz2 Source105: http://www.x.org/releases/X11R7.5/src/lib/libXaw-1.0.7.tar.bz2 Source106: http://www.x.org/releases/X11R7.5/src/lib/libXcomposite-0.4.1.tar.bz2 Source107: http://www.x.org/releases/X11R7.5/src/lib/libXcursor-1.1.10.tar.bz2 Source108: http://www.x.org/releases/X11R7.5/src/lib/libXdamage-1.1.2.tar.bz2 Source109: http://www.x.org/releases/X11R7.5/src/lib/libXdmcp-1.0.3.tar.bz2 Source110: http://www.x.org/releases/X11R7.5/src/lib/libXext-1.1.1.tar.bz2 Source111: http://www.x.org/releases/X11R7.5/src/lib/libXfixes-4.0.4.tar.bz2 Source112: http://www.x.org/releases/X11R7.5/src/lib/libXfont-1.4.1.tar.bz2 Source113: http://www.x.org/releases/X11R7.5/src/lib/libXft-2.1.14.tar.bz2 Source114: http://www.x.org/releases/X11R7.5/src/lib/libXi-1.3.tar.bz2 Source115: http://www.x.org/releases/X11R7.5/src/lib/libXinerama-1.1.tar.bz2 Source116: http://www.x.org/releases/X11R7.5/src/lib/libXmu-1.0.5.tar.bz2 Source117: http://www.x.org/releases/X11R7.5/src/lib/libXpm-3.5.8.tar.bz2 Source118: http://www.x.org/releases/X11R7.5/src/lib/libXrandr-1.3.0.tar.bz2 Source119: http://www.x.org/releases/X11R7.5/src/lib/libXrender-0.9.5.tar.bz2 Source120: http://www.x.org/releases/X11R7.5/src/lib/libXt-1.0.7.tar.bz2 Source121: http://www.x.org/releases/X11R7.5/src/lib/libXtst-1.1.0.tar.bz2 Source122: http://www.x.org/releases/X11R7.5/src/lib/libXv-1.0.5.tar.bz2 Source123: http://www.x.org/releases/X11R7.5/src/lib/libXvMC-1.0.5.tar.bz2 Source124: http://www.x.org/releases/X11R7.5/src/lib/libXxf86dga-1.1.1.tar.bz2 Source125: http://www.x.org/releases/X11R7.5/src/lib/libXxf86vm-1.1.0.tar.bz2 Source126: http://www.x.org/releases/X11R7.5/src/lib/libfontenc-1.0.5.tar.bz2 Source127: http://www.x.org/releases/X11R7.5/src/lib/libpciaccess-0.10.9.tar.bz2 Source128: http://www.x.org/releases/X11R7.5/src/lib/libxkbfile-1.0.6.tar.bz2 Source129: http://www.x.org/releases/X11R7.5/src/lib/xtrans-1.2.5.tar.bz2 Source130: http://www.x.org/releases/X11R7.5/src/proto/bigreqsproto-1.1.0.tar.bz2 Source131: http://www.x.org/releases/X11R7.5/src/proto/compositeproto-0.4.1.tar.bz2 Source132: http://www.x.org/releases/X11R7.5/src/proto/damageproto-1.2.0.tar.bz2 Source133: http://www.x.org/releases/X11R7.5/src/proto/dri2proto-2.1.tar.bz2 Source134: http://www.x.org/releases/X11R7.5/src/proto/fixesproto-4.1.1.tar.bz2 Source135: http://www.x.org/releases/X11R7.5/src/proto/fontsproto-2.1.0.tar.bz2 Source136: http://www.x.org/releases/X11R7.5/src/proto/glproto-1.4.10.tar.bz2 Source137: http://www.x.org/releases/X11R7.5/src/proto/inputproto-2.0.tar.bz2 Source138: http://www.x.org/releases/X11R7.5/src/proto/kbproto-1.0.4.tar.bz2 Source139: http://www.x.org/releases/X11R7.5/src/proto/randrproto-1.3.1.tar.bz2 Source140: http://www.x.org/releases/X11R7.5/src/proto/recordproto-1.14.tar.bz2 Source141: http://www.x.org/releases/X11R7.5/src/proto/renderproto-0.11.tar.bz2 Source142: http://www.x.org/releases/X11R7.5/src/proto/resourceproto-1.1.0.tar.bz2 Source143: http://www.x.org/releases/X11R7.5/src/proto/scrnsaverproto-1.2.0.tar.bz2 Source144: http://www.x.org/releases/X11R7.5/src/proto/videoproto-2.3.0.tar.bz2 Source145: http://www.x.org/releases/X11R7.5/src/proto/xcmiscproto-1.2.0.tar.bz2 Source146: http://www.x.org/releases/X11R7.5/src/proto/xextproto-7.1.1.tar.bz2 Source147: http://www.x.org/releases/X11R7.5/src/proto/xf86bigfontproto-1.2.0.tar.bz2 Source148: http://www.x.org/releases/X11R7.5/src/proto/xf86dgaproto-2.1.tar.bz2 Source149: http://www.x.org/releases/X11R7.5/src/proto/xf86driproto-2.1.0.tar.bz2 Source150: http://www.x.org/releases/X11R7.5/src/proto/xf86vidmodeproto-2.3.tar.bz2 Source151: http://www.x.org/releases/X11R7.5/src/proto/xproto-7.0.16.tar.bz2 Source152: http://www.x.org/releases/X11R7.5/src/util/util-macros-1.3.0.tar.bz2 Source153: http://www.x.org/releases/X11R7.5/src/xserver/xorg-server-1.7.1.tar.bz2 Source154: http://www.x.org/releases/X11R7.5/src/everything/xauth-1.0.4.tar.bz2 Source155: http://www.x.org/releases/X11R7.5/src/everything/xkbutils-1.0.2.tar.bz2 Source156: http://dri.freedesktop.org/libdrm/libdrm-2.4.35.tar.bz2 Source157: http://downloads.sourceforge.net/project/freetype/freetype2/2.4.10/freetype-2.4.10.tar.bz2 Source158: ftp://ftp.freedesktop.org/pub/mesa/7.6.1/MesaLib-7.6.1.tar.bz2 #Source159: ftp://ftp.freedesktop.org/pub/mesa/7.6.1/MesaGLUT-7.6.1.tar.bz2 Source160: http://cgit.freedesktop.org/pixman/snapshot/pixman-0.26.0.tar.gz Source161: http://www.x.org/releases/X11R7.5/src/lib/libXres-1.0.4.tar.bz2 Source162: https://downloads.sourceforge.net/project/libpng/libpng15/1.5.12/libpng-1.5.12.tar.bz2 # FIXME: # need to apply any patches in from the F12 srpms #http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/mesa-7.6-0.13.fc12.src.rpm #http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/pixman-0.16.2-1.fc12.src.rpm #http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/libdrm-2.4.15-4.fc12.src.rpm #http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/12/Fedora/source/SRPMS/freetype-2.3.9-6.fc12.src.rpm # cmake build is failing on ppc, need to ExcludeArch: ppc BuildRoot: %{_tmppath}/%{name}-%{version}-%{snap}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc44-gfortran, gcc44, gcc44-c++ BuildRequires: automake >= 1.7, autoconf >= 2.57, libtool >= 1.4, gettext >= 0.14.4, gettext-devel >= 0.14.4, bison-devel BuildRequires: openssl-devel, inkscape BuildRequires: desktop-file-utils, java-devel, jpackage-utils BuildRequires: gnutls-devel, pam-devel BuildRequires: pkgconfig >= 0.20 Requires: openmotif-devel, openmotif, openmotif22 Requires(post): initscripts chkconfig coreutils Requires(postun):coreutils Requires: hicolor-icon-theme Requires: tigervnc-license Provides: vnc = 4.1.3-2, vnc-libs = 4.1.3-2 Obsoletes: vnc < 4.1.3-2, vnc-libs < 4.1.3-2 Provides: tightvnc = 1.5.0-0.15.20090204svn3586 Obsoletes: tightvnc < 1.5.0-0.15.20090204svn3586 Patch4: tigervnc-cookie.patch Patch10: tigervnc11-ldnow.patch Patch11: tigervnc11-gethomedir.patch # https://bugzilla.redhat.com/show_bug.cgi?id=692048 Patch13: tigervnc11-rh692048.patch Patch100: tigervnc-libdrm-gnu_source_definition.patch Patch101: tigervnc-ac-compatibility.patch Patch102: tigervnc-xorg-1.7.5-remove-copyisolatin1lowered.patch Patch105: tigervnc-use-inkscape.patch # http://www.fltk.org/str.php?L2644 Patch110: fltk-1.3.x-hwheel.patch # http://fltk.org/str.php?L2859 Patch111: fltk-1.3.x-resize-expose.patch # http://fltk.org/str.php?L2599 Patch112: fltk-1_v6.3.x-keyboard-osx.patch Patch113: fltk-1_v4.3.x-keyboard-x11.patch Patch114: fltk-1_v4.3.x-keyboard-win32.patch # http://fltk.org/str.php?L2636 Patch115: fltk-1_v2.3.x-clipboard.patch Patch116: fltk-1_v2.3.x-clipboard-x11.patch Patch117: fltk-1_v3.3.x-clipboard-xfixes.patch Patch118: fltk-1_v3.3.x-clipboard-win32-fix.patch Patch119: fltk-1_v2.3.x-clipboard-win32.patch Patch120: fltk-1_v2.3.x-clipboard-osx.patch # http://fltk.org/str.php?L2659 Patch121: pixmap.patch # http://fltk.org/str.php?L2660 Patch122: fltk-1_v4.3.x-cursor.patch # http://fltk.org/str.php?L2802 Patch123: fltk-1_v2.3.0-modal.patch # http://fltk.org/str.php?L2816 Patch124: fltk-1_v2.3.0-icons.patch # http://fltk.org/str.php?L2860 Patch125: fltk-1.3.x-screen_num.patch Patch126: fltk-1_v2.3.x-multihead.patch # n/a Patch127: fltk-have_xfixes.patch %description Virtual Network Computing (VNC) is a remote display system which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. This package contains a client which will allow you to connect to other desktops running a VNC server. %package server Summary: A TigerVNC server Group: User Interface/X Provides: vnc-server = 4.1.3-2, vnc-libs = 4.1.3-2 Obsoletes: vnc-server < 4.1.3-2, vnc-libs < 4.1.3-2 Provides: tightvnc-server = 1.5.0-0.15.20090204svn3586 Obsoletes: tightvnc-server < 1.5.0-0.15.20090204svn3586 Requires: perl Requires: tigervnc-server-minimal Requires: xorg-x11-xauth %description server The VNC system allows you to access the same desktop from a wide variety of platforms. This package includes set of utilities which make usage of TigerVNC server more user friendly. It also contains x0vncserver program which can export your active X session. %package server-minimal Summary: A minimal installation of TigerVNC server Group: User Interface/X Requires(post): chkconfig Requires(preun):chkconfig Requires(preun):initscripts Requires(postun):initscripts Requires: xkeyboard-config, xorg-x11-xkb-utils Requires: tigervnc-license %description server-minimal The VNC system allows you to access the same desktop from a wide variety of platforms. This package contains minimal installation of TigerVNC server, allowing others to access the desktop on your machine. %ifnarch s390 s390x %package server-module Summary: TigerVNC module to Xorg Group: User Interface/X Provides: vnc-server = 4.1.3-2, vnc-libs = 4.1.3-2 Obsoletes: vnc-server < 4.1.3-2, vnc-libs < 4.1.3-2 Provides: tightvnc-server-module = 1.5.0-0.15.20090204svn3586 Obsoletes: tightvnc-server-module < 1.5.0-0.15.20090204svn3586 Requires: xorg-x11-server-Xorg Requires: tigervnc-license BuildRequires: nasm %description server-module This package contains libvnc.so module to X server, allowing others to access the desktop on your machine. %endif %package server-applet Summary: Java TigerVNC viewer applet for TigerVNC server Group: User Interface/X Requires: tigervnc-server, java, jpackage-utils %if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 || 0%{?centos} >= 6 BuildArch: noarch %endif %description server-applet The Java TigerVNC viewer applet for web browsers. Install this package to allow clients to use web browser when connect to the TigerVNC server. %package license Summary: License of TigerVNC suite Group: User Interface/X %if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 || 0%{?centos} >= 6 BuildArch: noarch %endif %description license This package contains license of the TigerVNC suite %prep rm -rf %{_topdir}/BUILD/%{name}-%{version}-%{snap} %setup -q -n %{name}-%{version}-%{snap} %patch4 -p1 -b .cookie %patch10 -p1 -b .ldnow %patch11 -p1 -b .gethomedir %patch13 -p1 -b .rh692048 %patch105 -p1 -b .use-inkscape tar xzf %SOURCE13 pushd cmake-* ./configure make %define cmake %{_topdir}/BUILD/%{name}-%{version}-%{snap}/cmake-2.8.9/bin/cmake popd tar xjf %SOURCE11 pushd fltk-* %patch110 -p1 -b .hwheel %patch111 -p1 -b .resize-expose %patch112 -p1 -b .keyboard-osx %patch113 -p1 -b .keyboard-x11 %patch114 -p1 -b .keyboard-win32 %patch115 -p1 -b .clipboard %patch116 -p1 -b .clipboard-x11 %patch117 -p1 -b .clipboard-xfixes %patch118 -p1 -b .clipboard-win32-fix %patch119 -p1 -b .clipboard-win32 %patch120 -p1 -b .clipboard-osx %patch121 -p0 -b .pixmap %patch122 -p1 -b .cursor %patch123 -p1 -b .modal %patch124 -p1 -b .icons %patch125 -p1 -b .screen_num %patch126 -p1 -b .multihead %patch127 -p1 -b .have_xfixes popd tar xzf %SOURCE12 mkdir xorg pushd xorg #for i in {100..158}; do # tar xjf "%SOURCE${i}" #done tar xjf %SOURCE98 tar xjf %SOURCE99 tar xjf %SOURCE100 tar xjf %SOURCE101 tar xjf %SOURCE102 tar xjf %SOURCE103 tar xjf %SOURCE104 tar xjf %SOURCE105 tar xjf %SOURCE106 tar xjf %SOURCE107 tar xjf %SOURCE108 tar xjf %SOURCE109 tar xjf %SOURCE110 tar xjf %SOURCE111 tar xjf %SOURCE112 tar xjf %SOURCE113 tar xjf %SOURCE114 tar xjf %SOURCE115 tar xjf %SOURCE116 tar xjf %SOURCE117 tar xjf %SOURCE118 tar xjf %SOURCE119 tar xjf %SOURCE120 tar xjf %SOURCE121 tar xjf %SOURCE122 tar xjf %SOURCE123 tar xjf %SOURCE124 tar xjf %SOURCE125 tar xjf %SOURCE126 tar xjf %SOURCE127 tar xjf %SOURCE128 tar xjf %SOURCE129 tar xjf %SOURCE130 tar xjf %SOURCE131 tar xjf %SOURCE132 tar xjf %SOURCE133 tar xjf %SOURCE134 tar xjf %SOURCE135 tar xjf %SOURCE136 tar xjf %SOURCE137 tar xjf %SOURCE138 tar xjf %SOURCE139 tar xjf %SOURCE140 tar xjf %SOURCE141 tar xjf %SOURCE142 tar xjf %SOURCE143 tar xjf %SOURCE144 tar xjf %SOURCE145 tar xjf %SOURCE146 tar xjf %SOURCE147 tar xjf %SOURCE148 tar xjf %SOURCE149 tar xjf %SOURCE150 tar xjf %SOURCE151 tar xjf %SOURCE152 tar xjf %SOURCE153 tar xjf %SOURCE154 tar xjf %SOURCE155 tar xjf %SOURCE156 tar xjf %SOURCE157 tar xjf %SOURCE158 #tar xjf %SOURCE159 tar xzf %SOURCE160 tar xjf %SOURCE161 tar xjf %SOURCE162 popd cp -a unix/xserver xorg/xserver cp -a xorg/xorg-server-1.*/* xorg/xserver pushd xorg pushd libdrm-* %patch100 -p1 -b .gnu_source_definitions popd pushd xserver patch -p1 < %{_topdir}/BUILD/%{name}-%{version}-%{snap}/unix/xserver17.patch for all in `find %{_topdir}/BUILD/%{name}-%{version}-%{snap}/unix/xorg-7.5-patches/ -type f |grep '.*\.patch$'`; do echo Applying $all patch -p1 < $all done %patch101 -p1 -b .ac-compatibility %patch102 -p1 -b .CopyISOLatin1Lowered popd popd %build %define tigervnc_src_dir %{_topdir}/BUILD/%{name}-%{version}-%{snap} %define static_lib_buildroot %{_topdir}/BUILD/%{name}-%{version}-%{snap}/build export CC=gcc44 export CXX=g++44 export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$CFLAGS" echo "*** Building fltk ***" pushd fltk-* export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$CFLAGS" %{cmake} -G"Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DOPTION_PREFIX_LIB=%{_libdir} \ -DOPTION_PREFIX_CONFIG=%{_libdir} \ -DOPTION_USE_THREADS=off \ -DOPTION_BUILD_EXAMPLES=off \ -DOPTION_USE_SYSTEM_LIBPNG=on make %{?_smp_mflags} popd echo "*** Building libjpeg-turbo ***" pushd libjpeg-turbo-* export CFLAGS="$RPM_OPT_FLAGS -fPIC" export CXXFLAGS="$CFLAGS" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --disable-nls --enable-static --disable-shared make %{?_smp_mflags} DESTDIR=%{static_lib_buildroot} install popd echo "*** Building VNC ***" export CFLAGS="$RPM_OPT_FLAGS -fPIC" export CXXFLAGS="$CFLAGS" %{cmake} -G"Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DFLTK_LIBRARIES="%{tigervnc_src_dir}/fltk-1.3.0r9619/lib/libfltk.a;%{tigervnc_src_dir}/fltk-1.3.0r9619/lib/libfltk_images.a;-lpng" \ -DFLTK_FLUID_EXECUTABLE=%{tigervnc_src_dir}/fltk-1.3.0r9619/bin/fluid \ -DFLTK_INCLUDE_DIR=%{tigervnc_src_dir}/fltk-1.3.0r9619 \ -DJPEG_INCLUDE_DIR=%{static_lib_buildroot}%{_prefix}/include \ -DJPEG_LIBRARY=%{static_lib_buildroot}%{_libdir}/libjpeg.a . make %{?_smp_mflags} echo "*** Building Xorg ***" %define xorg_buildroot %{_topdir}/BUILD/%{name}-%{version}-%{snap}/xorg.build mkdir %{xorg_buildroot} export CFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_prefix}/include" export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_prefix}/include" export LDFLAGS="$LDFLAGS -L%{xorg_buildroot}%{_libdir}" export ACLOCAL="aclocal -I %{xorg_buildroot}%{_datadir}/aclocal" export PKG_CONFIG_PATH="%{xorg_buildroot}%{_libdir}/pkgconfig:%{xorg_buildroot}%{_datadir}/pkgconfig" pushd xorg pushd util-macros-* echo "Building macros" ./configure --prefix=/usr --libdir=%{_libdir} --disable-nls --enable-static --disable-shared make DESTDIR=%{xorg_buildroot} install find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir='%{_libdir}'|libdir='%{xorg_buildroot}%{_libdir}'|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{xorg_buildroot}%{_libdir}|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=/usr|prefix=%{xorg_buildroot}%{_prefix}|" {} \; popd echo "*** Building freetype ***" pushd freetype-* ./configure --prefix=/usr --libdir=%{_libdir} --enable-static --disable-shared --with-libtool=/usr/bin/libtool --disable-nls sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' builds/unix/libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' builds/unix/libtool make DESTDIR=%{xorg_buildroot} install find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir='%{_libdir}'|libdir='%{xorg_buildroot}%{_libdir}'|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{xorg_buildroot}%{_libdir}|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=/usr|prefix=%{xorg_buildroot}%{_prefix}|" {} \; popd modules="\ dri2proto \ glproto \ xf86vidmodeproto \ xextproto \ xproto \ kbproto \ inputproto \ xcmiscproto \ bigreqsproto \ xf86bigfontproto \ fixesproto \ damageproto \ xf86driproto \ randrproto \ renderproto \ scrnsaverproto \ resourceproto \ fontsproto \ videoproto \ compositeproto \ xineramaproto \ xf86dgaproto \ recordproto \ xtrans \ libXau \ libXdmcp \ libpthread-stubs \ libX11 \ libXext \ libfontenc \ libICE \ libSM \ libXt \ libXmu \ libXpm \ libXaw \ libXfixes \ libXcomposite \ libXrender \ libXdamage \ libXcursor \ libXfont \ libXft \ libXi \ libXinerama \ libxkbfile \ libXrandr \ libXres \ libXtst \ libXv \ libXxf86dga \ libXxf86vm \ libpciaccess \ pixman \ libdrm" for module in ${modules}; do extraoptions="" pushd ${module}-* echo ====================== echo configuring ${module} echo ====================== if [ "${module}" = "libX11" ]; then extraoptions="${extraoptions} --without-xcb --disable-specs" fi if [ "${module}" = "libSM" ]; then extraoptions="${extraoptions} --without-libuuid" fi if [ "${module}" = "pixman" ]; then extraoptions="${extraoptions} --disable-gtk" aclocal -I %{xorg_buildroot}%{_datadir}/aclocal autoconf autoreconf -fiv fi if [ "${module}" = "libXfont" ]; then extraoptions="${extraoptions} --with-freetype-config=%{xorg_buildroot}%{_bindir}/freetype-config" fi ./configure --prefix=/usr --libdir=%{_libdir} ${extraoptions} --enable-static --disable-shared echo ====================== echo building ${module} echo ====================== make DESTDIR=%{xorg_buildroot} install find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir='%{_libdir}'|libdir='%{xorg_buildroot}%{_libdir}'|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{xorg_buildroot}%{_libdir}|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=/usr|prefix=%{xorg_buildroot}%{_prefix}|" {} \; popd done # build mesa echo "*** Building Mesa ***" pushd Mesa-* %ifarch %{ix86} # i do not have words for how much the assembly dispatch code infuriates me %define _mesa_flags --enable-pic --disable-asm %else %define _mesa_flags --enable-pic %endif # Need to set cfghost? ./configure --prefix=/usr --libdir=%{_libdir} %{_mesa_flags} --disable-driglx-direct --with-dri-drivers=swrast --with-driver=dri --disable-glut --without-demos --enable-motif --disable-gallium --with-gallium-drivers=swrast --enable-pic --with-state-trackers=dri,glx --with-dri-driverdir=%{_libdir}/dri --enable-egl --disable-gallium-intel --disable-gallium-radeon --disable-gallium-nouveau # Mesa build fails to install libGLU* if 'make install' is run before 'make' make DESTDIR=%{xorg_buildroot} make DESTDIR=%{xorg_buildroot} install find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir='%{_libdir}'|libdir='%{xorg_buildroot}%{_libdir}'|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{xorg_buildroot}%{_libdir}|" {} \; find %{xorg_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=/usr|prefix=%{xorg_buildroot}%{_prefix}|" {} \; popd popd pushd xorg/xserver autoreconf -fiv ./configure --prefix=/usr --libdir=%{_libdir} --mandir=%{_datadir}/man \ --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ --disable-xinerama \ --enable-xdmcp \ --enable-composite \ --disable-xgl \ --disable-xglx \ --enable-freetype \ --with-fontdir=%{_datadir}/X11/fonts \ --with-xkb-output=%{_localstatedir}/lib/xkb \ --enable-install-libxf86config \ --enable-glx --disable-dri --enable-dri2 \ --disable-config-dbus \ --disable-config-hal \ --disable-config-udev \ --with-dri-driver-path=%{_libdir}/dri \ --without-dtrace \ --disable-unit-tests \ --disable-devel-docs \ --with-sha1=libgcrypt SHA1_LIB=-lcrypto \ --disable-shared \ --enable-static \ --disable-record \ --enable-aiglx \ --enable-xtrap \ --disable-xvmc \ --enable-dga \ --disable-screensaver \ --enable-xdm-auth-1 \ --enable-xf86vidmode \ --enable-xcsecurity \ --enable-appgroup \ --enable-xevie \ --enable-evi \ --enable-multibuffer \ --enable-xf86bigfont \ --disable-dpms \ --enable-install-setuid \ --disable-ipv6 \ --without-dtrace \ --with-mesa-source=../Mesa-7.6.1 \ --enable-freetype \ --with-freetype-config=%{xorg_buildroot}%{_bindir}/freetype-config \ --disable-maintainer-mode sed -i -e 's/^ECHO/echo/' ./libtool make TIGERVNC_SRCDIR=%{_topdir}/BUILD/%{name}-%{version}-%{snap} %{?_smp_mflags} popd # Build icons pushd media make popd # Build Java applet pushd java %{cmake} . make popd %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT pushd xorg/xserver/hw/vnc make install DESTDIR=$RPM_BUILD_ROOT popd mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/vncserver install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/vncservers # Install desktop stuff mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,24x24,48x48}/apps pushd media/icons for s in 16 24 48; do install -m644 tigervnc_$s.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x$s/apps/tigervnc.png done popd mkdir $RPM_BUILD_ROOT%{_datadir}/applications desktop-file-install \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --vendor="" \ %{SOURCE6} # Install Java applet pushd java mkdir -p $RPM_BUILD_ROOT%{_datadir}/vnc/classes install -m755 VncViewer.jar $RPM_BUILD_ROOT%{_datadir}/vnc/classes install -m644 com/tigervnc/vncviewer/index.vnc $RPM_BUILD_ROOT%{_datadir}/vnc/classes popd %find_lang %{name} %{name}.lang # remove unwanted files rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libvnc.la %ifarch s390 s390x %{?rhel:ppc ppc64} rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libvnc.so %endif # move files to correct location mkdir -p $RPM_BUILD_ROOT%{_libdir}/dri cp %{xorg_buildroot}%{_libdir}/dri/* $RPM_BUILD_ROOT%{_libdir}/dri/ mv $RPM_BUILD_ROOT/usr/share/doc/tigervnc-1.2.80 $RPM_BUILD_ROOT/usr/share/doc/tigervnc-1.2.0 %clean rm -rf $RPM_BUILD_ROOT %post touch -c %{_datadir}/icons/hicolor if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor || : fi %postun touch -c %{_datadir}/icons/hicolor if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache -q %{_datadir}/icons/hicolor || : fi %post server /sbin/chkconfig --add vncserver %preun server if [ $1 -eq 0 ]; then /sbin/service vncserver stop &>/dev/null || : /sbin/chkconfig --del vncserver fi %postun server /sbin/service vncserver condrestart &>/dev/null || : %files -f %{name}.lang %defattr(-,root,root,-) %doc README.txt %{_bindir}/vncviewer %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/applications/* %{_mandir}/man1/vncviewer.1* %files server %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/sysconfig/vncservers %config(noreplace) %{_sysconfdir}/init.d/vncserver %{_bindir}/x0vncserver %{_bindir}/vncserver %{_mandir}/man1/vncserver.1* %{_mandir}/man1/x0vncserver.1* %files server-minimal %defattr(-,root,root,-) %{_bindir}/vncconfig %{_bindir}/vncpasswd %{_bindir}/Xvnc %{_mandir}/man1/Xvnc.1* %{_mandir}/man1/vncpasswd.1* %{_mandir}/man1/vncconfig.1* %{_libdir}/dri/swrast_dri.so %ifnarch s390 s390x %files server-module %defattr(-,root,root,-) %{_libdir}/xorg/modules/extensions/libvnc.a %endif %files server-applet %defattr(-,root,root,-) %doc java/com/tigervnc/vncviewer/README %{_datadir}/vnc/classes/* %files license %defattr(-,root,root,-) %doc LICENCE.TXT %changelog * Sat Oct 20 2012 Brian P. Hinz 1.2.0-7.20120915svn4999 - Build a temporary cmake 2.8 in order to meet tigervnc requirements for building. * Tue Sep 18 2012 Brian P. Hinz 1.2.0-6.20120915svn4999 - Applied icon support patch * Sat Sep 15 2012 Brian P. Hinz 1.2.0-5.20120915svn4999 - Update to TigerVNC svn r4999 snapshot - Build a static libjpeg-turbo to remove the external dependency - Applied Cendio's Fltk patches, except for the icon patch which I cannot get to build without creating undefined reference errors during linking * Thu Jul 19 2012 Brian P. Hinz 1.2.0-4.20120719svn4941 - Update to TigerVNC svn r4941 snapshot - Removed border-hook.patch since it's been committed * Wed Jul 18 2012 Brian P. Hinz 1.2.0-3.20120715svn4937 - Update to TigerVNC svn r4937 snapshot - Applied border-hook.patch from devel list to fix bug #3415308 - Use build order recommended by cgit.freedesktop.org/xorg/util/modular/tree/build.sh - Removed tigervnc11-rh692048.patch as it seems to break support for VeNCrypt * Sun Jul 15 2012 Brian P. Hinz 1.2.0-1.20120715svn4935 - Adapted spec file for building static linked binary on RHEL5 from F16 spec file and DRC's build-xorg script included in src tarball. - Update to TigerVNC svn r4935 snapshot - Need to use inkscape on RHEL5 because convert is broken * Tue Nov 22 2011 Adam Tkac - 1.1.0-3 - don't build X.Org devel docs (#755782) - applet: BR generic java-devel instead of java-gcj-devel (#755783) - use runuser to start Xvnc in systemd service file (#754259) - don't attepmt to restart Xvnc session during update/erase (#753216) * Fri Nov 11 2011 Adam Tkac - 1.1.0-2 - libvnc.so: don't use unexported GetMaster function (#744881) - remove nasm buildreq * Mon Sep 12 2011 Adam Tkac - 1.1.0-1 - update to 1.1.0 - update the xorg11 patch - patches merged - tigervnc11-glx.patch - tigervnc11-CVE-2011-1775.patch - 0001-Use-memmove-instead-of-memcpy-in-fbblt.c-when-memory.patch * Thu Jul 28 2011 Adam Tkac - 1.0.90-6 - add systemd service file and remove legacy SysV initscript (#717227) * Tue May 12 2011 Adam Tkac - 1.0.90-5 - make Xvnc buildable against X.Org 1.11 * Tue May 10 2011 Adam Tkac - 1.0.90-4 - viewer can send password without proper validation of X.509 certs (CVE-2011-1775) * Wed Apr 13 2011 Adam Tkac - 1.0.90-3 - fix wrong usage of memcpy which caused screen artifacts (#652590) - don't point to inaccessible link in sysconfig/vncservers (#644975) * Fri Apr 08 2011 Adam Tkac - 1.0.90-2 - improve compatibility with vinagre client (#692048) * Tue Mar 22 2011 Adam Tkac - 1.0.90-1 - update to 1.0.90 * Wed Feb 09 2011 Fedora Release Engineering - 1.0.90-0.32.20110117svn4237 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Jan 17 2011 Adam Tkac 1.0.90-0.31.20110117svn4237 - fix libvnc.so module loading * Mon Jan 17 2011 Adam Tkac 1.0.90-0.30.20110117svn4237 - update to r4237 - patches merged - tigervnc11-optionsdialog.patch - tigervnc11-rh607866.patch * Fri Jan 14 2011 Adam Tkac 1.0.90-0.29.20101208svn4225 - improve patch for keyboard issues * Fri Jan 14 2011 Adam Tkac 1.0.90-0.28.20101208svn4225 - attempt to fix various keyboard-related issues (key repeating etc) * Fri Jan 07 2011 Adam Tkac 1.0.90-0.27.20101208svn4225 - render "Ok" and "Cancel" buttons in the options dialog correctly * Wed Dec 15 2010 Jan Görig 1.0.90-0.26.20101208svn4225 - added vncserver lock file (#662784) * Fri Dec 10 2010 Adam Tkac 1.0.90-0.25.20101208svn4225 - update to r4225 - patches merged - tigervnc11-rh611677.patch - tigervnc11-rh633931.patch - tigervnc11-xorg1.10.patch - enable VeNCrypt and PAM support * Mon Dec 06 2010 Adam Tkac 1.0.90-0.24.20100813svn4123 - rebuild against xserver 1.10.X - 0001-Return-Success-from-generate_modkeymap-when-max_keys.patch merged * Wed Sep 29 2010 jkeating - 1.0.90-0.23.20100813svn4123 - Rebuilt for gcc bug 634757 * Tue Sep 21 2010 Adam Tkac 1.0.90-0.22.20100420svn4030 - drop xorg-x11-fonts-misc dependency (#636170) * Tue Sep 21 2010 Adam Tkac 1.0.90-0.21.20100420svn4030 - improve patch for #633645 (fix tcsh incompatibilities) * Thu Sep 16 2010 Adam Tkac 1.0.90-0.20.20100813svn4123 - press fake modifiers correctly (#633931) - supress unneeded debug information emitted from initscript (#633645) * Wed Aug 25 2010 Adam Tkac 1.0.90-0.19.20100813svn4123 - separate Xvnc, vncpasswd and vncconfig to -server-minimal subpkg (#626946) - move license to separate subpkg and Requires it from main subpkgs - Xvnc: handle situations when no modifiers exist well (#611677) * Fri Aug 13 2010 Adam Tkac 1.0.90-0.18.20100813svn4123 - update to r4123 (#617973) - add perl requires to -server subpkg (#619791) * Thu Jul 22 2010 Adam Tkac 1.0.90-0.17.20100721svn4113 - update to r4113 - patches merged - tigervnc11-rh586406.patch - tigervnc11-libvnc.patch - tigervnc11-rh597172.patch - tigervnc11-rh600070.patch - tigervnc11-options.patch - don't own %%{_datadir}/icons directory (#614301) - minor improvements in the .desktop file (#616340) - bundled libjpeg configure requires nasm; is executed even if system-wide libjpeg is used * Fri Jul 02 2010 Adam Tkac 1.0.90-0.16.20100420svn4030 - build against system-wide libjpeg-turbo (#494458) - build no longer requires nasm * Mon Jun 28 2010 Adam Tkac 1.0.90-0.15.20100420svn4030 - vncserver: accept <+optname> option when specified as the first one * Thu Jun 24 2010 Adam Tkac 1.0.90-0.14.20100420svn4030 - fix memory leak in Xvnc input code (#597172) - don't crash when receive negative encoding (#600070) - explicitly disable udev configuration support - add gettext-autopoint to BR * Mon Jun 14 2010 Adam Tkac 1.0.90-0.13.20100420svn4030 - update URL about SSH tunneling in the sysconfig file (#601996) * Fri Jun 11 2010 Adam Tkac 1.0.90-0.12.20100420svn4030 - use newer gettext - autopoint now uses git instead of cvs, adjust BuildRequires appropriately * Thu May 13 2010 Adam Tkac 1.0.90-0.11.20100420svn4030 - link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup - use always XkbConvertCase instead of XConvertCase (#580159, #586406) - don't link libvnc.so against libXi.la, libdix.la and libxkb.la; use symbols from Xorg instead * Thu May 13 2010 Adam Tkac 1.0.90-0.10.20100420svn4030 - update to r4030 snapshot - patches merged to upstream - tigervnc11-rh522369.patch - tigervnc11-rh551262.patch - tigervnc11-r4002.patch - tigervnc11-r4014.patch * Thu Apr 08 2010 Adam Tkac 1.0.90-0.9.20100219svn3993 - add server-applet subpackage which contains Java vncviewer applet - fix Java applet; it didn't work when run from web browser - add xorg-x11-xkb-utils to server Requires * Fri Mar 12 2010 Adam Tkac 1.0.90-0.8.20100219svn3993 - add French translation to vncviewer.desktop (thanks to Alain Portal) * Thu Mar 04 2010 Adam Tkac 1.0.90-0.7.20100219svn3993 - don't crash during pixel format change (#522369, #551262) * Mon Mar 01 2010 Adam Tkac 1.0.90-0.6.20100219svn3993 - add mesa-dri-drivers and xkeyboard-config to -server Requires - update to r3993 1.0.90 snapshot - tigervnc11-noexecstack.patch merged - tigervnc11-xorg18.patch merged - xserver18.patch is no longer needed * Wed Jan 27 2010 Jan Gorig 1.0.90-0.5.20091221svn3929 - initscript LSB compliance fixes (#523974) * Fri Jan 22 2010 Adam Tkac 1.0.90-0.4.20091221svn3929 - mark stack as non-executable in jpeg ASM code - add xorg-x11-xauth to Requires - add support for X.Org 1.8 - drop shave sources, they are no longer needed * Thu Jan 21 2010 Adam Tkac 1.0.90-0.3.20091221svn3929 - drop tigervnc-xorg25909.patch, it has been merged to X.Org upstream * Thu Jan 07 2010 Adam Tkac 1.0.90-0.2.20091221svn3929 - add patch for upstream X.Org issue #25909 - add libXdmcp-devel to build requires to build Xvnc with XDMCP support (#552322) * Mon Dec 21 2009 Adam Tkac 1.0.90-0.1.20091221svn3929 - update to 1.0.90 snapshot - patches merged - tigervnc10-compat.patch - tigervnc10-rh510185.patch - tigervnc10-rh524340.patch - tigervnc10-rh516274.patch * Mon Oct 26 2009 Adam Tkac 1.0.0-3 - create Xvnc keyboard mapping before first keypress (#516274) * Thu Oct 08 2009 Adam Tkac 1.0.0-2 - update underlying X source to 1.6.4-0.3.fc11 - remove bogus '-nohttpd' parameter from /etc/sysconfig/vncservers (#525629) - initscript LSB compliance fixes (#523974) - improve -LowColorSwitch documentation and handling (#510185) - honor dotWhenNoCursor option (and it's changes) every time (#524340) * Fri Aug 28 2009 Adam Tkac 1.0.0-1 - update to 1.0.0 - tigervnc10-rh495457.patch merged to upstream * Mon Aug 24 2009 Karsten Hopp 0.0.91-0.17 - fix ifnarch s390x for server-module * Fri Aug 21 2009 Tomas Mraz - 0.0.91-0.16 - rebuilt with new openssl * Tue Aug 04 2009 Adam Tkac 0.0.91-0.15 - make Xvnc compilable * Sun Jul 26 2009 Fedora Release Engineering - 0.0.91-0.14.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Mon Jul 13 2009 Adam Tkac 0.0.91-0.13.1 - don't write warning when initscript is called with condrestart param (#508367) * Tue Jun 23 2009 Adam Tkac 0.0.91-0.13 - temporary use F11 Xserver base to make Xvnc compilable - BuildRequires: libXi-devel - don't ship tigervnc-server-module on s390/s390x * Mon Jun 22 2009 Adam Tkac 0.0.91-0.12 - fix local rendering of cursor (#495457) * Thu Jun 18 2009 Adam Tkac 0.0.91-0.11 - update to 0.0.91 (1.0.0 RC1) - patches merged - tigervnc10-rh499401.patch - tigervnc10-rh497592.patch - tigervnc10-rh501832.patch - after discusion in upstream drop tigervnc-bounds.patch - configure flags cleanup * Thu May 21 2009 Adam Tkac 0.0.90-0.10 - rebuild against 1.6.1.901 X server (#497835) - disable i18n, vncviewer is not UTF-8 compatible (#501832) * Mon May 18 2009 Adam Tkac 0.0.90-0.9 - fix vncpasswd crash on long passwords (#499401) - start session dbus daemon correctly (#497592) * Mon May 11 2009 Adam Tkac 0.0.90-0.8.1 - remove merged tigervnc-manminor.patch * Tue May 05 2009 Adam Tkac 0.0.90-0.8 - update to 0.0.90 * Thu Apr 30 2009 Adam Tkac 0.0.90-0.7.20090427svn3789 - server package now requires xorg-x11-fonts-misc (#498184) * Mon Apr 27 2009 Adam Tkac 0.0.90-0.6.20090427svn3789 - update to r3789 - tigervnc-rh494801.patch merged - tigervnc-newfbsize.patch is no longer needed - fix problems when vncviewer and Xvnc run on different endianess (#496653) - UltraVNC and TightVNC clients work fine again (#496786) * Wed Apr 08 2009 Adam Tkac 0.0.90-0.5.20090403svn3751 - workaround broken fontpath handling in vncserver script (#494801) * Fri Apr 03 2009 Adam Tkac 0.0.90-0.4.20090403svn3751 - update to r3751 - patches merged - tigervnc-xclients.patch - tigervnc-clipboard.patch - tigervnc-rh212985.patch - basic RandR support in Xvnc (resize of the desktop) - use built-in libjpeg (SSE2/MMX accelerated encoding on x86 platform) - use Tight encoding by default - use TigerVNC icons * Tue Mar 03 2009 Adam Tkac 0.0.90-0.3.20090303svn3631 - update to r3631 * Tue Mar 03 2009 Adam Tkac 0.0.90-0.2.20090302svn3621 - package review related fixes * Mon Mar 02 2009 Adam Tkac 0.0.90-0.1.20090302svn3621 - initial package, r3621