el5 and el6 need newer versions of gnutls (and it's prereqs) than are available natively.
Priority: optional
Maintainer: Brian P. Hinz <bphinz@users.sourceforge.net>
Standards-Version: 3.8.4
-Build-Depends: debhelper (>> 7.1), zlib1g-dev, libjpeg-turbo8-dev, libxaw7-dev (>> 4.1.0), perl-modules, xfonts-base, xutils-dev, libx11-dev, libxau-dev, libxext-dev, libxi-dev, libxkbfile-dev, libxmu-dev, libxt-dev, x11proto-core-dev, cmake (>> 2.8), libgnutls-dev, libpam0g-dev, libpng-dev, automake, autoconf, libtool, pkg-config, libpixman-1-dev, x11proto-bigreqs-dev, x11proto-composite-dev, x11proto-damage-dev, x11proto-dri2-dev, x11proto-fixes-dev, x11proto-fonts-dev, x11proto-gl-dev, x11proto-input-dev, x11proto-kb-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-resource-dev, x11proto-scrnsaver-dev, x11proto-video-dev, x11proto-xcmisc-dev, x11proto-xext-dev, x11proto-xf86bigfont-dev, x11proto-xf86dga-dev, x11proto-xf86dri-dev, x11proto-xf86misc-dev, x11proto-xf86vidmode-dev, x11proto-xinerama-dev, libosmesa6-dev, libgl1-mesa-dev, libgl1-mesa-dri, libgl1-mesa-glx, libxfont-dev, x11proto-record-dev, default-jdk, libxtst-dev, libxft-dev, libexpat1-dev, libfontconfig1-dev, libxrender-dev, libt1-dev, libpciaccess-dev, curl, bzip2, quilt, libglu1-mesa-dev, libxcursor-dev, libxinerama-dev, libxfixes-dev, libxdamage-dev
+Build-Depends: debhelper (>> 7.1), zlib1g-dev, libjpeg-turbo8-dev, libxaw7-dev (>> 4.1.0), perl-modules, xfonts-base, xutils-dev, libx11-dev, libxau-dev, libxext-dev, libxi-dev, libxkbfile-dev, libxmu-dev, libxt-dev, x11proto-core-dev, cmake (>> 2.8), libgnutls28-dev, libpam0g-dev, libpng-dev, automake, autoconf, libtool, pkg-config, libpixman-1-dev, x11proto-bigreqs-dev, x11proto-composite-dev, x11proto-damage-dev, x11proto-dri2-dev, x11proto-fixes-dev, x11proto-fonts-dev, x11proto-gl-dev, x11proto-input-dev, x11proto-kb-dev, x11proto-randr-dev, x11proto-render-dev, x11proto-resource-dev, x11proto-scrnsaver-dev, x11proto-video-dev, x11proto-xcmisc-dev, x11proto-xext-dev, x11proto-xf86bigfont-dev, x11proto-xf86dga-dev, x11proto-xf86dri-dev, x11proto-xf86misc-dev, x11proto-xf86vidmode-dev, x11proto-xinerama-dev, libosmesa6-dev, libgl1-mesa-dev, libgl1-mesa-dri, libgl1-mesa-glx, libxfont-dev, x11proto-record-dev, default-jdk, libxtst-dev, libxft-dev, libexpat1-dev, libfontconfig1-dev, libxrender-dev, libt1-dev, libpciaccess-dev, curl, bzip2, quilt, libglu1-mesa-dev, libxcursor-dev, libxinerama-dev, libxfixes-dev, libxdamage-dev
Homepage: http://www.tigervnc.com
Package: tigervncserver
Architecture: amd64 i386
Provides: xserver, vnc-server
-Depends: x11-common | xserver-common, x11-utils, xauth, libbz2-1.0, libc6, libfontenc1, libfreetype6, libgcc1, libgcrypt11, libgl1-mesa-dri, libgnutls26, libgpg-error0, libjpeg-turbo8, libp11-kit0, libpam0g, libpixman-1-0, libstdc++6, libtasn1-3, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxfont1, libxtst6, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3
+Depends: x11-common | xserver-common, x11-utils, xauth, libbz2-1.0, libc6, libfontenc1, libfreetype6, libgcc1, libgl1-mesa-dri, libgnutls28, libjpeg-turbo8, libp11-kit0, libpam0g, libpixman-1-0, libstdc++6, libtasn1-3, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxfont1, libxtst6, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3
Recommends: xfonts-base, x11-xserver-utils
Suggests: xtigervncviewer, tigervnc-java
Description: virtual network computing server software
Package: xtigervncviewer
Architecture: amd64 i386
Provides: vncviewer, vnc-viewer
-Depends: libc6, libexpat1, libfontconfig1, libfreetype6, libgcc1, libgcrypt11, libgnutls26, libgpg-error0, libjpeg-turbo8, libp11-kit0, libpng12-0, libstdc++6, libtasn1-3, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxft2, libxrender1, zlib1g, libglu1-mesa
+Depends: libc6, libexpat1, libfontconfig1, libfreetype6, libgcc1, libgnutls28, libjpeg-turbo8, libp11-kit0, libpng12-0, libstdc++6, libtasn1-3, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxft2, libxrender1, zlib1g, libglu1-mesa
Recommends: xfonts-base
Suggests: tigervncserver, ssh
Description: virtual network computing client software for X
Package: tigervncserver
Architecture: amd64 i386
Provides: xserver, vnc-server
-Depends: x11-common | xserver-common, x11-utils, xauth, libbz2-1.0, libc6, libfontenc1, libfreetype6, libgcc1, libgcrypt11, libgl1-mesa-dri, libgnutls28, libgpg-error0, libjpeg-turbo8, libp11-kit0, libpam0g, libpixman-1-0, libstdc++6, libtasn1-3-bin, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxfont1, libxtst6, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3
+Depends: x11-common | xserver-common, x11-utils, xauth, libbz2-1.0, libc6, libfontenc1, libfreetype6, libgcc1, libgl1-mesa-dri, libgnutls28, libjpeg-turbo8, libp11-kit0, libpam0g, libpixman-1-0, libstdc++6, libtasn1-3-bin, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxfont1, libxtst6, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3
Recommends: xfonts-base, x11-xserver-utils
Suggests: xtigervncviewer, tigervnc-java
Description: virtual network computing server software
Package: xtigervncviewer
Architecture: amd64 i386
Provides: vncviewer, vnc-viewer
-Depends: libc6, libexpat1, libfontconfig1, libfreetype6, libgcc1, libgcrypt11, libgnutls28, libgpg-error0, libjpeg-turbo8, libp11-kit0, libpng12-0, libstdc++6, libtasn1-3-bin, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxft2, libxrender1, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3
+Depends: libc6, libexpat1, libfontconfig1, libfreetype6, libgcc1, libgnutls28, libjpeg-turbo8, libp11-kit0, libpng12-0, libstdc++6, libtasn1-3-bin, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxft2, libxrender1, zlib1g, libglu1-mesa, libxcursor1, libxinerama1, libxfixes3
Recommends: xfonts-base
Suggests: tigervncserver, ssh
Description: virtual network computing client software for X
if(APPLE)
target_link_libraries(vncviewer "-framework Cocoa" "-framework Carbon")
---- a/CMakeLists.txt 2014-12-26 15:16:04.000000000 -0500
-+++ b/CMakeLists.txt 2015-01-01 23:00:40.000000000 -0500
-@@ -203,6 +203,41 @@
- add_subdirectory(java)
- endif()
-
-+# Check for GNUTLS library
-+option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
-+if(ENABLE_GNUTLS)
-+ find_package(GnuTLS)
-+ if (GNUTLS_FOUND)
-+ include_directories(${GNUTLS_INCLUDE_DIR})
-+ add_definitions("-DHAVE_GNUTLS")
-+ add_definitions(${GNUTLS_DEFINITIONS})
-+
-+ # Detect old version of GnuTLS
-+ set(CMAKE_REQUIRED_FLAGS -I${GNUTLS_INCLUDE_DIR})
-+ set(CMAKE_EXTRA_INCLUDE_FILES gnutls/gnutls.h)
-+ set(CMAKE_REQUIRED_LIBRARIES ${GNUTLS_LIBRARIES})
-+ if(WIN32)
-+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ws2_32 user32)
-+ endif()
-+ if(ZLIB_FOUND)
-+ # When we build against the static version of GnuTLS, we also use the
-+ # included version of Zlib, but it isn't built yet, so we have to use the
-+ # system's version (if available) to perform this test.
-+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES};-lz)
-+ endif()
-+ check_function_exists(gnutls_transport_set_errno HAVE_GNUTLS_SET_ERRNO)
-+ check_function_exists(gnutls_transport_set_global_errno HAVE_GNUTLS_SET_GLOBAL_ERRNO)
-+ check_function_exists(gnutls_x509_crt_print HAVE_GNUTLS_X509_CRT_PRINT)
-+ check_type_size(gnutls_x509_crt_t GNUTLS_X509_CRT_T)
-+ check_type_size(gnutls_datum_t GNUTLS_DATUM_T)
-+ check_type_size(gnutls_pk_algorithm_t GNUTLS_PK_ALGORITHM_T)
-+ check_type_size(gnutls_sign_algorithm_t GNUTLS_SIGN_ALGORITHM_T)
-+ set(CMAKE_REQUIRED_FLAGS)
-+ set(CMAKE_EXTRA_INCLUDE_FILES)
-+ set(CMAKE_REQUIRED_LIBRARIES)
-+ endif()
-+endif()
-+
- # Check for FLTK
- set(FLTK_SKIP_FLUID TRUE)
- set(FLTK_SKIP_OPENGL TRUE)
-@@ -228,6 +263,8 @@
- endif()
- endif()
-
-+include(cmake/StaticBuild.cmake)
-+
- if(FLTK_FOUND)
- set(CMAKE_REQUIRED_INCLUDES ${FLTK_INCLUDE_DIR})
- set(CMAKE_REQUIRED_LIBRARIES ${FLTK_LIBRARIES})
-@@ -263,41 +300,6 @@
- set(CMAKE_REQUIRED_LIBRARIES)
- endif()
-
--# Check for GNUTLS library
--option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
--if(ENABLE_GNUTLS)
-- find_package(GnuTLS)
-- if (GNUTLS_FOUND)
-- include_directories(${GNUTLS_INCLUDE_DIR})
-- add_definitions("-DHAVE_GNUTLS")
-- add_definitions(${GNUTLS_DEFINITIONS})
--
-- # Detect old version of GnuTLS
-- set(CMAKE_REQUIRED_FLAGS -I${GNUTLS_INCLUDE_DIR})
-- set(CMAKE_EXTRA_INCLUDE_FILES gnutls/gnutls.h)
-- set(CMAKE_REQUIRED_LIBRARIES ${GNUTLS_LIBRARIES})
-- if(WIN32)
-- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ws2_32 user32)
-- endif()
-- if(ZLIB_FOUND)
-- # When we build against the static version of GnuTLS, we also use the
-- # included version of Zlib, but it isn't built yet, so we have to use the
-- # system's version (if available) to perform this test.
-- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES};-lz)
-- endif()
-- check_function_exists(gnutls_transport_set_errno HAVE_GNUTLS_SET_ERRNO)
-- check_function_exists(gnutls_transport_set_global_errno HAVE_GNUTLS_SET_GLOBAL_ERRNO)
-- check_function_exists(gnutls_x509_crt_print HAVE_GNUTLS_X509_CRT_PRINT)
-- check_type_size(gnutls_x509_crt_t GNUTLS_X509_CRT_T)
-- check_type_size(gnutls_datum_t GNUTLS_DATUM_T)
-- check_type_size(gnutls_pk_algorithm_t GNUTLS_PK_ALGORITHM_T)
-- check_type_size(gnutls_sign_algorithm_t GNUTLS_SIGN_ALGORITHM_T)
-- set(CMAKE_REQUIRED_FLAGS)
-- set(CMAKE_EXTRA_INCLUDE_FILES)
-- set(CMAKE_REQUIRED_LIBRARIES)
-- endif()
--endif()
--
- # Check for PAM library
- option(ENABLE_PAM "Enable PAM authentication support" ON)
- if(ENABLE_PAM)
-@@ -330,8 +332,6 @@
- add_definitions(-DHAVE_CONFIG_H)
- include_directories(${CMAKE_BINARY_DIR})
-
--include(cmake/StaticBuild.cmake)
--
- add_subdirectory(common)
-
- if(WIN32)
Name: tigervnc
Version: @VERSION@
-Release: 5%{?snap:.%{snap}}%{?dist}
+Release: 6%{?snap:.%{snap}}%{?dist}
Summary: A TigerVNC remote display system
Group: User Interface/Desktops
Source11: http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz
Source12: http://downloads.sourceforge.net/project/libjpeg-turbo/1.3.0/libjpeg-turbo-1.3.0.tar.gz
Source13: http://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.10/libpng-1.5.10.tar.bz2
+Source14: https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2
+Source15: http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.2.tar.gz
+Source16: https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz
+Source17: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.13.tar.xz
Source100: http://www.x.org/releases/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2
Source101: http://www.x.org/releases/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2
# xorg requires newer versions of automake, & autoconf than are available with el5. Use el6 versions.
BuildRequires: automake >= 1.11, autoconf >= 2.60, libtool >= 1.4, gettext >= 0.14.4, gettext-devel >= 0.14.4, bison-devel, python26
BuildRequires: desktop-file-utils, java-devel, jpackage-utils
-BuildRequires: gnutls-devel, pam-devel
+BuildRequires: pam-devel
BuildRequires: cmake28
BuildRequires: pkgconfig >= 0.20
BuildRequires: gcc44, gcc44-c++
BuildRequires: expat-devel
BuildRequires: git, gperf, intltool, libtalloc-devel
BuildRequires: kernel-headers, libatomic_ops-devel
+BuildRequires: xz
BuildRequires: openmotif-devel
Requires: openmotif, openmotif22
tar xzf %SOURCE12
tar xjf %SOURCE13
+tar xjf %SOURCE14
+tar xzf %SOURCE15
+tar xzf %SOURCE16
+xzcat %SOURCE17 | tar xf -
mkdir xorg
pushd xorg
ln -s `g++44 -print-file-name=libz.a`
ln -s `g++44 -print-file-name=libgcc.a`
ln -s `g++44 -print-file-name=libexpat.a`
-ln -s `g++44 -print-file-name=libgnutls.a`
-ln -s `g++44 -print-file-name=libgpg-error.a`
-ln -s `g++44 -print-file-name=libgcrypt.a`
ln -s `g++44 -print-file-name=libcrypto.a`
popd
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=%{_prefix}|prefix=%{xorg_buildroot}%{_prefix}|" {} \;
popd
+popd
export CFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_includedir}"
export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_includedir} -static-libgcc"
export CPPFLAGS=$CXXFLAGS
-export LDFLAGS="$LDFLAGS -L%{xorg_buildroot}%{_libdir} -L%{xorg_buildroot}%{_libdir}/tigervnc"
+export LDFLAGS="-L%{xorg_buildroot}%{_libdir} -L%{xorg_buildroot}%{_libdir}/tigervnc $LDFLAGS"
export ACLOCAL="aclocal -I %{xorg_buildroot}%{_datadir}/aclocal"
export PKG_CONFIG_PATH="%{xorg_buildroot}%{_libdir}/pkgconfig:%{xorg_buildroot}%{_libdir}/tigervnc/pkgconfig:%{xorg_buildroot}%{_datadir}/pkgconfig:%{_libdir}/pkgconfig:%{_datadir}/pkgconfig"
+echo "*** Building gmp ***"
+pushd gmp-*
+%ifarch x86_64 s390x ia64 ppc64 alpha sparc64
+LDFLAGS="$LDFLAGS -static" PKG_CONFIG="pkg-config --static" ABI=64 ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared --enable-cxx
+%else
+LDFLAGS="$LDFLAGS -static" PKG_CONFIG="pkg-config --static" ABI=32 ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared --enable-cxx
+%endif
+make %{?_smp_mflags} DESTDIR=%{xorg_buildroot} install
+find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -delete
+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=%{_prefix}|prefix=%{xorg_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building libtasn1 ***"
+pushd libtasn1-*
+LDFLAGS="$LDFLAGS -static" PKG_CONFIG="pkg-config --static" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared
+make %{?_smp_mflags} DESTDIR=%{xorg_buildroot} install
+find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -delete
+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=%{_prefix}|prefix=%{xorg_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building nettle ***"
+pushd nettle-*
+autoreconf -fiv
+LDFLAGS="$LDFLAGS -static" PKG_CONFIG="pkg-config --static" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared --disable-openssl
+make %{?_smp_mflags} DESTDIR=%{xorg_buildroot} install
+find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -delete
+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=%{_prefix}|prefix=%{xorg_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building gnutls ***"
+pushd gnutls-*
+LDFLAGS="-L%{xorg_buildroot}%{_libdir} -lgmp $LDFLAGS -static" PKG_CONFIG="pkg-config --static" ./configure \
+ --prefix=%{_prefix} \
+ --libdir=%{_libdir} \
+ --enable-static \
+ --disable-shared \
+ --without-p11-kit \
+ --disable-guile \
+ --disable-srp-authentication \
+ --disable-libdane \
+ --disable-doc \
+ --enable-local-libopts \
+ --without-tpm \
+ --disable-dependency-tracking \
+ --disable-silent-rules \
+ --disable-heartbeat-support
+make %{?_smp_mflags} DESTDIR=%{xorg_buildroot} install
+find %{xorg_buildroot}%{_prefix} -type f -name "*.la" -delete
+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=%{_prefix}|prefix=%{xorg_buildroot}%{_prefix}|" {} \;
+popd
+
+pushd xorg
+
echo "*** Building freetype ***"
pushd freetype-*
LDFLAGS="$LDFLAGS -static" PKG_CONFIG="pkg-config --static" CFLAGS="$CFLAGS -fno-strict-aliasing" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared
-DFLTK_INCLUDE_DIR=%{xorg_buildroot}%{_includedir} \
-DBUILD_STATIC=1 \
-DCMAKE_BUILD_TYPE=Release \
+ -DUSE_INCLUDED_ZLIB=0 \
-DZLIB_INCLUDE_DIR=%{_includedir} \
-DZLIB_LIBRARY=%{_libdir}/libz.a \
-DCMAKE_INSTALL_PREFIX=%{_prefix}
%{_datadir}/icons/hicolor/*/apps/*
%changelog
+* Sat Mar 14 2015 Brian P. Hinz <bphinz@users.sourceforge.net> 1.4.80-6
+- Build static libraries to meet new minimum requirements
+
* Sat Mar 07 2015 Brian P. Hinz <bphinz@users.sourceforge.net> 1.4.80-5
- Don't disable xinerama extension
Name: tigervnc
Version: @VERSION@
-Release: 20%{?snap:.%{snap}}%{?dist}
+Release: 21%{?snap:.%{snap}}%{?dist}
Summary: A TigerVNC remote display system
Group: User Interface/Desktops
Source2: vncserver.sysconfig
Source6: vncviewer.desktop
Source11: http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz
+Source13: http://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.10/libpng-1.5.10.tar.bz2
+Source14: https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2
+Source15: http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.2.tar.gz
+Source16: https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz
+Source17: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.13.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libX11-devel, automake, autoconf, libtool, gettext, gettext-devel
BuildRequires: mesa-libGL-devel, libXinerama-devel, ImageMagick
BuildRequires: freetype-devel, libXdmcp-devel
BuildRequires: desktop-file-utils, java-devel, jpackage-utils
-BuildRequires: libjpeg-turbo-devel, gnutls-devel, pam-devel
+BuildRequires: libjpeg-turbo-devel, pam-devel
BuildRequires: cmake28
%ifnarch s390 s390x
BuildRequires: xorg-x11-server-devel
%patch11 -p1 -b .gethomedir
tar xzf %SOURCE11
+tar xjf %SOURCE13
+tar xjf %SOURCE14
+tar xzf %SOURCE15
+tar xzf %SOURCE16
+xzcat %SOURCE17 | tar xf -
cp -r /usr/share/xorg-x11-server-source/* unix/xserver
pushd unix/xserver
%build
%define tigervnc_src_dir %{_builddir}/%{name}-%{version}%{?snap:-%{snap}}
%define static_lib_buildroot %{tigervnc_src_dir}/build
+mkdir -p %{static_lib_buildroot}%{_libdir}
+
%ifarch sparcv9 sparc64 s390 s390x
-export CFLAGS="$RPM_OPT_FLAGS -fPIC"
+export CFLAGS="$RPM_OPT_FLAGS -fPIC -I%{static_lib_buildroot}%{_includedir}"
%else
-export CFLAGS="$RPM_OPT_FLAGS -fpic"
+export CFLAGS="$RPM_OPT_FLAGS -fpic -I%{static_lib_buildroot}%{_includedir}"
%endif
-export CXXFLAGS="$CFLAGS"
+export CXXFLAGS=$CFLAGS
+export CPPFLAGS=$CXXFLAGS
+export PKG_CONFIG_PATH="%{static_lib_buildroot}%{_libdir}/pkgconfig:%{static_lib_buildroot}%{_datadir}/pkgconfig:%{_libdir}/pkgconfig:%{_datadir}/pkgconfig"
+
+echo "*** Building gmp ***"
+pushd gmp-*
+./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared --enable-cxx --disable-assembly
+make %{?_smp_mflags} DESTDIR=%{static_lib_buildroot} install
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.la" -delete
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{static_lib_buildroot}%{_libdir}|" {} \;
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=%{_prefix}|prefix=%{static_lib_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building libtasn1 ***"
+pushd libtasn1-*
+LDFLAGS="-L%{static_lib_buildroot}%{_libdir} $LDFLAGS" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared
+make %{?_smp_mflags} DESTDIR=%{static_lib_buildroot} install
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.la" -delete
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{static_lib_buildroot}%{_libdir}|" {} \;
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=%{_prefix}|prefix=%{static_lib_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building nettle ***"
+pushd nettle-*
+autoreconf -fiv
+LDFLAGS="-L%{static_lib_buildroot}%{_libdir} -Wl,-Bstatic -ltasn1 -lgmp -Wl,-Bdynamic $LDFLAGS" ./configure --prefix=%{_prefix} --libdir=%{_libdir} --enable-static --disable-shared --disable-openssl
+make %{?_smp_mflags} DESTDIR=%{static_lib_buildroot} install
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.la" -delete
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{static_lib_buildroot}%{_libdir}|" {} \;
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=%{_prefix}|prefix=%{static_lib_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building gnutls ***"
+pushd gnutls-*
+LDFLAGS="-L%{static_lib_buildroot}%{_libdir} -Wl,-Bstatic -lnettle -lhogweed -ltasn1 -lgmp -Wl,-Bdynamic $LDFLAGS" ./configure \
+ --prefix=%{_prefix} \
+ --libdir=%{_libdir} \
+ --enable-static \
+ --disable-shared \
+ --without-p11-kit \
+ --disable-guile \
+ --disable-srp-authentication \
+ --disable-libdane \
+ --disable-doc \
+ --enable-local-libopts \
+ --without-tpm \
+ --disable-dependency-tracking \
+ --disable-silent-rules \
+ --disable-heartbeat-support
+make %{?_smp_mflags} DESTDIR=%{static_lib_buildroot} install
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.la" -delete
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|libdir=%{_libdir}|libdir=%{static_lib_buildroot}%{_libdir}|" {} \;
+find %{static_lib_buildroot}%{_prefix} -type f -name "*.pc" -exec sed -i -e "s|prefix=%{_prefix}|prefix=%{static_lib_buildroot}%{_prefix}|" {} \;
+popd
+
+echo "*** Building libpng ***"
+pushd libpng-*
+CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" ./configure \
+ --prefix=%{_prefix} \
+ --libdir=%{_libdir} \
+ --disable-shared \
+ --enable-static
+make %{?_smp_mflags}
+make DESTDIR=%{static_lib_buildroot} install
+popd
echo "*** Building fltk ***"
pushd fltk-*
-%{cmake28} -G"Unix Makefiles" \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DCMAKE_BUILD_TYPE=Release \
- -DOPTION_PREFIX_LIB=%{_libdir} \
- -DOPTION_PREFIX_CONFIG=%{_libdir} \
- -DOPTION_BUILD_EXAMPLES=off \
- -DOPTION_USE_SYSTEM_LIBPNG=on
+export CMAKE_PREFIX_PATH="%{static_lib_buildroot}%{_prefix}:%{_prefix}"
+export CMAKE_EXE_LINKER_FLAGS=$LDFLAGS
+export PKG_CONFIG="pkg-config --static"
+CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="-L%{static_lib_buildroot}%{_libdir} -Wl,-Bstatic -lpng -Wl,-Bdynamic $LDFLAGS" ./configure \
+ --prefix=%{_prefix} \
+ --libdir=%{_libdir} \
+ --enable-x11 \
+ --enable-gl \
+ --disable-shared \
+ --enable-localjpeg \
+ --enable-localzlib \
+ --disable-localpng \
+ --enable-xinerama \
+ --enable-xft \
+ --enable-xdbe \
+ --enable-xfixes \
+ --enable-xcursor \
+ --with-x
make %{?_smp_mflags}
+make DESTDIR=%{static_lib_buildroot} install
popd
%{cmake28} -G"Unix Makefiles" \
-DBUILD_STATIC=off \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DFLTK_LIBRARIES="%{tigervnc_src_dir}/fltk-1.3.3/lib/libfltk.a;%{tigervnc_src_dir}/fltk-1.3.3/lib/libfltk_images.a;-lpng" \
- -DFLTK_INCLUDE_DIR=%{tigervnc_src_dir}/fltk-1.3.3
-make LDFLAGS="-lpng" %{?_smp_mflags}
+ -DFLTK_LIBRARIES="%{static_lib_buildroot}%{_libdir}/libfltk.a;%{static_lib_buildroot}%{_libdir}/libfltk_images.a;%{static_lib_buildroot}%{_libdir}/libpng.a" \
+ -DFLTK_INCLUDE_DIR=%{static_lib_buildroot}%{_includedir} \
+ -DGNUTLS_INCLUDE_DIR=%{static_lib_buildroot}%{_includedir} \
+ -DGNUTLS_LIBRARY="%{static_lib_buildroot}%{_libdir}/libgnutls.a;%{static_lib_buildroot}%{_libdir}/libtasn1.a;%{static_lib_buildroot}%{_libdir}/libnettle.a;%{static_lib_buildroot}%{_libdir}/libhogweed.a;%{static_lib_buildroot}%{_libdir}/libgmp.a"
+make %{?_smp_mflags}
pushd unix/xserver
autoreconf -fiv
%{_datadir}/icons/hicolor/*/apps/*
%changelog
+* Sat Mar 14 2015 Brian P. Hinz <bphinz@users.sourceforge.net> 1.4.80-21
+- Build static libraries to meet new minimum requirements
+
* Sat Mar 07 2015 Brian P. Hinz <bphinz@users.sourceforge.net> 1.4.80-20
- Don't disable xinerama extension