From 22507ca92574df2febd95326aa7f893f16874f25 Mon Sep 17 00:00:00 2001 From: "Brian P. Hinz" Date: Sat, 14 Mar 2015 18:06:14 -0400 Subject: [PATCH] Update package builds to meet new minimum requirements. el5 and el6 need newer versions of gnutls (and it's prereqs) than are available natively. --- .../deb/ubuntu-precise/debian/control | 6 +- .../packages/deb/ubuntu-trusty/debian/control | 4 +- .../tigervnc14-static-build-fixes.patch | 104 --------------- contrib/packages/rpm/el5/SPECS/tigervnc.spec | 80 +++++++++++- contrib/packages/rpm/el6/SPECS/tigervnc.spec | 123 +++++++++++++++--- 5 files changed, 187 insertions(+), 130 deletions(-) diff --git a/contrib/packages/deb/ubuntu-precise/debian/control b/contrib/packages/deb/ubuntu-precise/debian/control index a172fe5e..c69dc2a0 100644 --- a/contrib/packages/deb/ubuntu-precise/debian/control +++ b/contrib/packages/deb/ubuntu-precise/debian/control @@ -3,13 +3,13 @@ Section: x11 Priority: optional Maintainer: Brian P. Hinz 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 @@ -30,7 +30,7 @@ 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 diff --git a/contrib/packages/deb/ubuntu-trusty/debian/control b/contrib/packages/deb/ubuntu-trusty/debian/control index 169581cc..038aa112 100644 --- a/contrib/packages/deb/ubuntu-trusty/debian/control +++ b/contrib/packages/deb/ubuntu-trusty/debian/control @@ -9,7 +9,7 @@ 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, 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 @@ -30,7 +30,7 @@ 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 diff --git a/contrib/packages/rpm/el5/SOURCES/tigervnc14-static-build-fixes.patch b/contrib/packages/rpm/el5/SOURCES/tigervnc14-static-build-fixes.patch index 7cad24e8..686f2f7e 100644 --- a/contrib/packages/rpm/el5/SOURCES/tigervnc14-static-build-fixes.patch +++ b/contrib/packages/rpm/el5/SOURCES/tigervnc14-static-build-fixes.patch @@ -33,107 +33,3 @@ 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) diff --git a/contrib/packages/rpm/el5/SPECS/tigervnc.spec b/contrib/packages/rpm/el5/SPECS/tigervnc.spec index 93c2a78a..41482ca7 100644 --- a/contrib/packages/rpm/el5/SPECS/tigervnc.spec +++ b/contrib/packages/rpm/el5/SPECS/tigervnc.spec @@ -5,7 +5,7 @@ Name: tigervnc Version: @VERSION@ -Release: 5%{?snap:.%{snap}}%{?dist} +Release: 6%{?snap:.%{snap}}%{?dist} Summary: A TigerVNC remote display system Group: User Interface/Desktops @@ -21,6 +21,10 @@ Source9: FindX11.cmake 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 @@ -106,7 +110,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}%{?snap:-%{snap}}-%{release}-root-%(%{_ # 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++ @@ -114,6 +118,7 @@ BuildRequires: glibc-devel, libstdc++-devel, libpng-devel BuildRequires: expat-devel BuildRequires: git, gperf, intltool, libtalloc-devel BuildRequires: kernel-headers, libatomic_ops-devel +BuildRequires: xz BuildRequires: openmotif-devel Requires: openmotif, openmotif22 @@ -277,6 +282,10 @@ popd tar xzf %SOURCE12 tar xjf %SOURCE13 +tar xjf %SOURCE14 +tar xzf %SOURCE15 +tar xzf %SOURCE16 +xzcat %SOURCE17 | tar xf - mkdir xorg pushd xorg @@ -415,9 +424,6 @@ pushd %{xorg_buildroot}%{_libdir} 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 @@ -439,14 +445,72 @@ 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 +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 @@ -741,6 +805,7 @@ export CXXFLAGS=`echo $CXXFLAGS | sed -e 's/ -c //g'` -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} @@ -919,6 +984,9 @@ fi %{_datadir}/icons/hicolor/*/apps/* %changelog +* Sat Mar 14 2015 Brian P. Hinz 1.4.80-6 +- Build static libraries to meet new minimum requirements + * Sat Mar 07 2015 Brian P. Hinz 1.4.80-5 - Don't disable xinerama extension diff --git a/contrib/packages/rpm/el6/SPECS/tigervnc.spec b/contrib/packages/rpm/el6/SPECS/tigervnc.spec index dd0fb09e..d0e65578 100644 --- a/contrib/packages/rpm/el6/SPECS/tigervnc.spec +++ b/contrib/packages/rpm/el6/SPECS/tigervnc.spec @@ -2,7 +2,7 @@ Name: tigervnc Version: @VERSION@ -Release: 20%{?snap:.%{snap}}%{?dist} +Release: 21%{?snap:.%{snap}}%{?dist} Summary: A TigerVNC remote display system Group: User Interface/Desktops @@ -15,6 +15,11 @@ Source1: vncserver.service 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 @@ -25,7 +30,7 @@ BuildRequires: libxkbfile-devel, openssl-devel, libpciaccess-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 @@ -142,6 +147,11 @@ This package contains icons for TigerVNC viewer %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 @@ -156,31 +166,111 @@ popd %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 @@ -336,6 +426,9 @@ fi %{_datadir}/icons/hicolor/*/apps/* %changelog +* Sat Mar 14 2015 Brian P. Hinz 1.4.80-21 +- Build static libraries to meet new minimum requirements + * Sat Mar 07 2015 Brian P. Hinz 1.4.80-20 - Don't disable xinerama extension -- 2.39.5