diff --git a/cmake/StaticBuild.cmake b/cmake/StaticBuild.cmake
index df12db4..49706bd 100644
--- a/cmake/StaticBuild.cmake
+++ b/cmake/StaticBuild.cmake
@@ -30,9 +30,14 @@
       HINTS ${PC_GNUTLS_LIBDIR} ${PC_GNUTLS_LIBRARY_DIRS})
     FIND_LIBRARY(NETTLE_LIBRARY NAMES nettle libnettle
       HINTS ${PC_GNUTLS_LIBDIR} ${PC_GNUTLS_LIBRARY_DIRS})
+    FIND_LIBRARY(TASN1_LIBRARY NAMES tasn1 libtasn1
+      HINTS ${PC_GNUTLS_LIBDIR} ${PC_GNUTLS_LIBRARY_DIRS})
 
-    set(GNUTLS_LIBRARIES "-Wl,-Bstatic -lgnutls -ltasn1")
+    set(GNUTLS_LIBRARIES "-Wl,-Bstatic -lgnutls")
 
+    if(TASN1_LIBRARY)
+      set(GNUTLS_LIBRARIES "${GNUTLS_LIBRARIES} -ltasn1")
+    endif()
     if(NETTLE_LIBRARY)
       set(GNUTLS_LIBRARIES "${GNUTLS_LIBRARIES} -lnettle -lhogweed -lgmp")
     endif()
diff --git a/common/rfb/CConnection.cxx b/common/rfb/CConnection.cxx
index 1695c3a..e0a23b5 100644
--- a/common/rfb/CConnection.cxx
+++ b/common/rfb/CConnection.cxx
@@ -181,7 +181,7 @@
     if (secType != secTypeInvalid) {
       os->writeU8(secType);
       os->flush();
-      vlog.debug("Choosing security type %s(%d)",secTypeName(secType),secType);
+      vlog.info("Choosing security type %s(%d)",secTypeName(secType),secType);
     }
   }
 
diff --git a/common/rfb/CSecurityVeNCrypt.cxx b/common/rfb/CSecurityVeNCrypt.cxx
index 77eeef9..a15da4a 100644
--- a/common/rfb/CSecurityVeNCrypt.cxx
+++ b/common/rfb/CSecurityVeNCrypt.cxx
@@ -164,7 +164,7 @@
 	  break;
       }
 
-      vlog.debug("Choosing security type %s (%d)", secTypeName(chosenType),
+      vlog.info("Choosing security type %s (%d)", secTypeName(chosenType),
 		 chosenType);
 
       /* Set up the stack according to the chosen type: */
diff --git a/common/rfb/SSecurityVeNCrypt.cxx b/common/rfb/SSecurityVeNCrypt.cxx
index 9e4260f..39647f6 100644
--- a/common/rfb/SSecurityVeNCrypt.cxx
+++ b/common/rfb/SSecurityVeNCrypt.cxx
@@ -157,7 +157,7 @@
     if (!haveChosenType)
       chosenType = secTypeInvalid;
 
-    vlog.debug("Choosing security type %s (%d)", secTypeName(chosenType),
+    vlog.info("Client requests security type %s (%d)", secTypeName(chosenType),
 	       chosenType);
 
     /* Set up the stack according to the chosen type */
diff --git a/common/rfb/SecurityServer.cxx b/common/rfb/SecurityServer.cxx
index 5bd7b2c..e0aee13 100644
--- a/common/rfb/SecurityServer.cxx
+++ b/common/rfb/SecurityServer.cxx
@@ -43,7 +43,7 @@
 #endif
  ")",
 #ifdef HAVE_GNUTLS
- "VncAuth,TLSVnc",
+ "TLSVnc,VncAuth",
 #else
  "VncAuth",
 #endif
diff --git a/contrib/packages/rpm/el5/SOURCES/25-no-hint-fedora.conf b/contrib/packages/rpm/el5/SOURCES/25-no-hint-fedora.conf
new file mode 100644
index 0000000..9c71eb0
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/25-no-hint-fedora.conf
@@ -0,0 +1,243 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+
+<fontconfig>
+
+<!-- We can't hint CJK fonts well, so turn off hinting for CJK fonts. -->
+
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Kochi Mincho</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Kochi Gothic</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Sazanami Mincho</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Sazanami Gothic</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Baekmuk Batang</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Baekmuk Dotum</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Baekmuk Gulim</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Baekmuk Headline</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>AR PL Mingti2L Big5</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>AR PL ShanHeiSun Uni</string>
+                </test>
+                <edit name="hinting" mode="assign">
+                        <bool>false</bool>
+                </edit>
+                <edit name="embeddedbitmap" mode="assign">
+                        <bool>true</bool>
+                </edit>
+        </match>
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>AR PL KaitiM Big5</string>
+                </test>
+                <edit name="hinting" mode="assign">
+                        <bool>false</bool>
+                </edit>
+        </match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>AR PL ZenKai Uni</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>AR PL SungtiL GB</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>AR PL KaitiM GB</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>ZYSong18030</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+
+ <!-- 
+ We also need to turn off hinting for Indic fonts with a joined baseline.
+ -->
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Mukti Narrow</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Lohit Hindi</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Lohit Bengali</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Lohit Punjabi</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+
+<!--
+Gujarti fonts are distorted when hinting is enabled. Turn it off.
+-->
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Lohit Gujarati</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+
+<!--
+Disabling hinting for newly added Indic fonts (kn/or/ml/te)
+-->
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>Lohit Kannada</string>
+                </test>
+                <edit name="hinting" mode="assign">
+                        <bool>false</bool>
+                </edit>
+        </match>
+
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>Lohit Oriya</string>
+                </test>
+                <edit name="hinting" mode="assign">
+                        <bool>false</bool>
+                </edit>
+        </match>
+
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>Lohit Malayalam</string>
+                </test>
+                <edit name="hinting" mode="assign">
+                        <bool>false</bool>
+                </edit>
+        </match>
+
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>Lohit Telugu</string>
+                </test>
+                <edit name="hinting" mode="assign">
+                        <bool>false</bool>
+                </edit>
+        </match>
+
+<!--
+And Sinhala
+-->
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>LKLUG</string>
+		</test>
+		<edit name="hinting" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+
+</fontconfig>
diff --git a/contrib/packages/rpm/el5/SOURCES/30-aliases-fedora.conf b/contrib/packages/rpm/el5/SOURCES/30-aliases-fedora.conf
new file mode 100644
index 0000000..28cd157
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/30-aliases-fedora.conf
@@ -0,0 +1,180 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+
+	<!-- Alias similar families from 5 sources:
+
+		PostScript fonts:
+			Helvetica
+			Times
+			Courier
+		Microsoft fonts:
+			Arial
+			Times New Roman
+			Courier New
+		URW fonts:
+			Nimbus Sans L
+			Nimbus Roman No9 L
+			Nimbus Mono L
+		StarOffice fonts:
+			Albany
+			Thorndale
+			Cumberland
+		AMT fonts:
+			Albany AMT
+			Thorndale AMT
+			Cumberland AMT
+
+	     Of these, URW fonts are metric compatible with PostScrict fonts
+	     and the StarOffice and AMT ones are compatible with Microsoft
+	     fonts.  We want for each of them to fallback to any of these
+	     available, but in an order preferring the metric-compatible ones
+	     first.  As an exception, we assume that URW fonts are always
+	     available and do not alias them.
+
+	     It seems to be really hard to do this with fontconfig.  The
+	     easiest way seems to be to list them all for each one.
+	-->
+
+	<!-- PostScript -->
+        <alias>
+	  <family>Helvetica</family>
+	  <accept>
+	  <family>Nimbus Sans L</family>
+          <family>Liberation Sans</family>
+	  <family>Arial</family>
+	  <family>Albany</family>
+	  <family>Albany AMT</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Times</family>
+	  <accept>
+	  <family>Nimbus Roman No9 L</family>
+          <family>Liberation Serif</family>
+	  <family>Times New Roman</family>
+	  <family>Thorndale</family>
+	  <family>Thorndale AMT</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Courier</family>
+	  <accept>
+	  <family>Nimbus Mono L</family>
+          <family>Liberation Mono</family>
+	  <family>Courier New</family>
+	  <family>Cumberland</family>
+	  <family>Cumberland AMT</family>
+	  </accept>
+	</alias>
+
+
+
+	<!-- Microsoft -->
+        <alias>
+	  <family>Arial</family>
+	  <accept>
+          <family>Liberation Sans</family>
+	  <family>Albany</family>
+	  <family>Albany AMT</family>
+	  <family>Helvetica</family>
+	  <family>Nimbus Sans L</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Times New Roman</family>
+	  <accept>
+          <family>Liberation Serif</family>
+	  <family>Thorndale</family>
+	  <family>Thorndale AMT</family>
+	  <family>Times</family>
+	  <family>Nimbus Roman No9 L</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Courier New</family>
+	  <accept>
+          <family>Liberation Mono</family>
+	  <family>Cumberland</family>
+	  <family>Cumberland AMT</family>
+	  <family>Courier</family>
+	  <family>Nimbus Mono L</family>
+	  </accept>
+	</alias>
+
+
+	<!-- StarOffice -->
+        <alias>
+	  <family>Albany</family>
+	  <accept>
+          <family>Liberation Sans</family>
+	  <family>Arial</family>
+	  <family>Albany AMT</family>
+	  <family>Helvetica</family>
+	  <family>Nimbus Sans L</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Thorndale</family>
+	  <accept>
+          <family>Liberation Serif</family>
+	  <family>Times New Roman</family>
+	  <family>Thorndale AMT</family>
+	  <family>Times</family>
+	  <family>Nimbus Roman No9 L</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Cumberland</family>
+	  <accept>
+          <family>Liberation Mono</family>
+	  <family>Courier New</family>
+	  <family>Cumberland AMT</family>
+	  <family>Courier</family>
+	  <family>Nimbus Mono L</family>
+	  </accept>
+	</alias>
+
+
+	<!-- AMT -->
+        <alias>
+	  <family>Albany AMT</family>
+	  <accept>
+          <family>Liberation Sans</family>
+	  <family>Arial</family>
+	  <family>Albany</family>
+	  <family>Helvetica</family>
+	  <family>Nimbus Sans L</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Thorndale AMT</family>
+	  <accept>
+          <family>Liberation Serif</family>
+	  <family>Times New Roman</family>
+	  <family>Thorndale</family>
+	  <family>Times</family>
+	  <family>Nimbus Roman No9 L</family>
+	  </accept>
+	</alias>
+
+        <alias>
+	  <family>Cumberland AMT</family>
+	  <accept>
+          <family>Liberation Mono</family>
+	  <family>Courier New</family>
+	  <family>Cumberland</family>
+	  <family>Courier</family>
+	  <family>Nimbus Mono L</family>
+	  </accept>
+	</alias>
+
+</fontconfig>
diff --git a/contrib/packages/rpm/el5/SOURCES/40-generic-fedora.conf b/contrib/packages/rpm/el5/SOURCES/40-generic-fedora.conf
new file mode 100644
index 0000000..c0e720b
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/40-generic-fedora.conf
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+  Mark families with their generics so we'll get
+  something reasonable
+-->
+
+<!--
+  Serif faces
+ -->
+	<alias>
+                <family>Sazanami Mincho</family>
+                <family>AR PL ZenKai Uni</family>
+		<family>ZYSong18030</family>
+		<default><family>serif</family></default>
+	</alias>
+<!--
+  Sans-serif faces
+ -->
+	<alias>
+                <family>Sazanami Gothic</family>
+                <family>AR PL ShanHeiSun Uni</family>
+		<family>ZYSong18030</family>
+		<default><family>sans-serif</family></default>
+	</alias>
+<!--
+  Monospace faces
+ -->
+ 	<alias>
+		<family>Cumberland</family>
+		<family>ZYSong18030</family>
+		<default><family>monospace</family></default>
+	</alias>
+</fontconfig>
diff --git a/contrib/packages/rpm/el5/SOURCES/64-nonlatin-fedora.conf b/contrib/packages/rpm/el5/SOURCES/64-nonlatin-fedora.conf
new file mode 100644
index 0000000..be29084
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/64-nonlatin-fedora.conf
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+	<alias>
+		<family>serif</family>
+		<prefer>
+ 			<family>KacstQura</family>
+ 			<family>Frank Ruehl CLM</family>
+			<family>Lohit Bengali</family>
+ 			<family>Lohit Gujarati</family>
+ 			<family>Lohit Hindi</family>
+ 			<family>Lohit Punjabi</family>
+ 			<family>Lohit Tamil</family>
+ 			<family>Lohit Malayalam</family>
+ 			<family>Lohit Kannada</family>
+ 			<family>Lohit Telugu</family>
+ 			<family>Lohit Oriya</family>
+ 			<family>LKLUG</family>
+ 			<family>Sazanami Mincho</family>
+ 			<family>AR PL Zenkai Uni</family>
+ 			<family>ZYSong18030</family>
+		</prefer>
+	</alias>
+	<alias>
+		<family>sans-serif</family>
+		<prefer>
+ 			<family>KacstQura</family>
+			<family>Lohit Bengali</family>
+ 			<family>Lohit Gujarati</family>
+ 			<family>Lohit Hindi</family>
+ 			<family>Lohit Punjabi</family>
+ 			<family>Lohit Tamil</family>
+ 			<family>Lohit Malayalam</family>
+ 			<family>Lohit Kannada</family>
+ 			<family>Lohit Telugu</family>
+ 			<family>Lohit Oriya</family>
+ 			<family>LKLUG</family>
+ 			<family>Sazanami Gothic</family>
+ 			<family>AR PL ShanHeiSun Uni</family>
+ 			<family>AR PL SungtiL GB</family>
+ 			<family>AR PL Mingti2L Big5</family>
+			<family>ZYSong18030</family>
+ 			<family>Baekmuk Gulim</family>
+		</prefer>
+	</alias>
+	<alias>
+		<family>monospace</family>
+		<prefer>
+			<family>Lohit Bengali</family>
+			<family>Lohit Gujarati</family>
+			<family>Lohit Hindi</family>
+			<family>Lohit Punjabi</family>
+ 			<family>Lohit Tamil</family>
+ 			<family>Lohit Malayalam</family>
+ 			<family>Lohit Kannada</family>
+ 			<family>Lohit Telugu</family>
+ 			<family>Lohit Oriya</family>
+ 			<family>LKLUG</family>
+			<family>Sazanami Gothic</family>
+ 			<family>AR PL ShanHeiSun Uni</family>
+			<family>AR PL SungtiL GB</family>
+			<family>AR PL Mingti2L Big5</family>
+			<family>ZYSong18030</family>
+			<family>Baekmuk Gulim</family>
+		</prefer>
+	</alias>
+</fontconfig>
diff --git a/contrib/packages/rpm/el5/SOURCES/75-blacklist-fedora.conf b/contrib/packages/rpm/el5/SOURCES/75-blacklist-fedora.conf
new file mode 100644
index 0000000..996c17a
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/75-blacklist-fedora.conf
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+
+<!-- Blacklist certain fonts that freetype can't handle -->
+
+<fontconfig>
+  <selectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Gothic-English</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Plain-Duplex-Italic</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Plain-Duplex</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Script-Simplex</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Plain-Triplex</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Plain-Triplex-Italic</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Script-Complex</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Gothic-Italian</string></patelt>
+      </pattern>
+    </rejectfont>
+    <rejectfont>
+      <pattern>
+        <patelt name="family"><string>Hershey-Gothic-German</string></patelt>
+      </pattern>
+    </rejectfont>
+  </selectfont>
+</fontconfig>
diff --git a/contrib/packages/rpm/el5/SOURCES/FindX11.cmake b/contrib/packages/rpm/el5/SOURCES/FindX11.cmake
new file mode 100644
index 0000000..86335fc
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/FindX11.cmake
@@ -0,0 +1,514 @@
+# - Find X11 installation
+# Try to find X11 on UNIX systems. The following values are defined
+#  X11_FOUND        - True if X11 is available
+#  X11_INCLUDE_DIR  - include directories to use X11
+#  X11_LIBRARIES    - link against these to use X11
+#
+# and also the following more fine grained variables:
+# Include paths: X11_ICE_INCLUDE_PATH,          X11_ICE_LIB,        X11_ICE_FOUND
+#                X11_SM_INCLUDE_PATH,           X11_SM_LIB,         X11_SM_FOUND
+#                X11_X11_INCLUDE_PATH,          X11_X11_LIB
+#                X11_Xaccessrules_INCLUDE_PATH,                     X11_Xaccess_FOUND
+#                X11_Xaccessstr_INCLUDE_PATH,                       X11_Xaccess_FOUND
+#                X11_Xau_INCLUDE_PATH,          X11_Xau_LIB,        X11_Xau_FOUND
+#                X11_Xcomposite_INCLUDE_PATH,   X11_Xcomposite_LIB, X11_Xcomposite_FOUND
+#                X11_Xcursor_INCLUDE_PATH,      X11_Xcursor_LIB,    X11_Xcursor_FOUND
+#                X11_Xdamage_INCLUDE_PATH,      X11_Xdamage_LIB,    X11_Xdamage_FOUND
+#                X11_Xdmcp_INCLUDE_PATH,        X11_Xdmcp_LIB,      X11_Xdmcp_FOUND
+#                                               X11_Xext_LIB,       X11_Xext_FOUND
+#                X11_dpms_INCLUDE_PATH,         (in X11_Xext_LIB),  X11_dpms_FOUND
+#                X11_XShm_INCLUDE_PATH,         (in X11_Xext_LIB),  X11_XShm_FOUND
+#                X11_Xshape_INCLUDE_PATH,       (in X11_Xext_LIB),  X11_Xshape_FOUND
+#                X11_xf86misc_INCLUDE_PATH,     X11_Xxf86misc_LIB,  X11_xf86misc_FOUND
+#                X11_xf86vmode_INCLUDE_PATH,    X11_Xxf86vm_LIB     X11_xf86vmode_FOUND
+#                X11_Xfixes_INCLUDE_PATH,       X11_Xfixes_LIB,     X11_Xfixes_FOUND
+#                X11_Xft_INCLUDE_PATH,          X11_Xft_LIB,        X11_Xft_FOUND
+#                X11_Xi_INCLUDE_PATH,           X11_Xi_LIB,         X11_Xi_FOUND
+#                X11_Xinerama_INCLUDE_PATH,     X11_Xinerama_LIB,   X11_Xinerama_FOUND
+#                X11_Xinput_INCLUDE_PATH,       X11_Xinput_LIB,     X11_Xinput_FOUND
+#                X11_Xkb_INCLUDE_PATH,                              X11_Xkb_FOUND
+#                X11_Xkblib_INCLUDE_PATH,                           X11_Xkb_FOUND
+#                X11_Xkbfile_INCLUDE_PATH,      X11_Xkbfile_LIB,    X11_Xkbfile_FOUND
+#                X11_Xmu_INCLUDE_PATH,          X11_Xmu_LIB,        X11_Xmu_FOUND
+#                X11_Xpm_INCLUDE_PATH,          X11_Xpm_LIB,        X11_Xpm_FOUND
+#                X11_XTest_INCLUDE_PATH,        X11_XTest_LIB,      X11_XTest_FOUND
+#                X11_Xrandr_INCLUDE_PATH,       X11_Xrandr_LIB,     X11_Xrandr_FOUND
+#                X11_Xrender_INCLUDE_PATH,      X11_Xrender_LIB,    X11_Xrender_FOUND
+#                X11_Xscreensaver_INCLUDE_PATH, X11_Xscreensaver_LIB, X11_Xscreensaver_FOUND
+#                X11_Xt_INCLUDE_PATH,           X11_Xt_LIB,         X11_Xt_FOUND
+#                X11_Xutil_INCLUDE_PATH,                            X11_Xutil_FOUND
+#                X11_Xv_INCLUDE_PATH,           X11_Xv_LIB,         X11_Xv_FOUND
+#                X11_XSync_INCLUDE_PATH,        (in X11_Xext_LIB),  X11_XSync_FOUND
+
+
+#=============================================================================
+# Copyright 2001-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+if (UNIX)
+  set(X11_FOUND 0)
+  # X11 is never a framework and some header files may be
+  # found in tcl on the mac
+  set(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
+  set(CMAKE_FIND_FRAMEWORK NEVER)
+  if(NOT X11_INC_SEARCH_PATH)
+    set(X11_INC_SEARCH_PATH
+      /usr/pkg/xorg/include
+      /usr/X11R6/include
+      /usr/X11R7/include
+      /usr/include/X11
+      /usr/openwin/include
+      /usr/openwin/share/include
+      /opt/graphics/OpenGL/include
+    )
+  endif()
+
+
+  if(NOT X11_LIB_SEARCH_PATH)
+    set(X11_LIB_SEARCH_PATH
+      /usr/pkg/xorg/lib
+      /usr/X11R6/lib
+      /usr/X11R7/lib
+      /usr/openwin/lib
+    )
+  endif()
+
+  find_path(X11_X11_INCLUDE_PATH X11/X.h                             ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xlib_INCLUDE_PATH X11/Xlib.h                         ${X11_INC_SEARCH_PATH})
+
+  # Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
+  # variable (which doesn't need to match the include file name).
+
+  # Solaris lacks XKBrules.h, so we should skip kxkbd there.
+  find_path(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_SM_INCLUDE_PATH X11/SM/SM.h                          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h  ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h      ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xau_INCLUDE_PATH X11/Xauth.h                         ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h  ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h           ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h        ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h      ${X11_INC_SEARCH_PATH})
+  find_path(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h    ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h      ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h                ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h                     ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xkbfile_INCLUDE_PATH X11/extensions/XKBfile.h        ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xmu_INCLUDE_PATH X11/Xmu/Xmu.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xpm_INCLUDE_PATH X11/xpm.h                           ${X11_INC_SEARCH_PATH})
+  find_path(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h            ${X11_INC_SEARCH_PATH})
+  find_path(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h          ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h        ${X11_INC_SEARCH_PATH})
+  find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h              ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h           ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xutil_INCLUDE_PATH X11/Xutil.h                       ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xt_INCLUDE_PATH X11/Intrinsic.h                      ${X11_INC_SEARCH_PATH})
+  find_path(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h               ${X11_INC_SEARCH_PATH})
+  find_path(X11_XSync_INCLUDE_PATH X11/extensions/sync.h             ${X11_INC_SEARCH_PATH})
+
+
+  find_library(X11_X11_LIB X11               ${X11_LIB_SEARCH_PATH})
+
+  # Find additional X libraries. Keep list sorted by library name.
+  find_library(X11_ICE_LIB ICE               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_SM_LIB SM                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xau_LIB Xau               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xcursor_LIB Xcursor       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xdamage_LIB Xdamage       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xdmcp_LIB Xdmcp           ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xext_LIB Xext             ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xfixes_LIB Xfixes         ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xft_LIB Xft               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xi_LIB Xi                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xinerama_LIB Xinerama     ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xinput_LIB Xi             ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xkbfile_LIB xkbfile       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xmu_LIB Xmu               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xpm_LIB Xpm               ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xrandr_LIB Xrandr         ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xrender_LIB Xrender       ${X11_LIB_SEARCH_PATH})
+  find_library(X11_XRes_LIB XRes             ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xscreensaver_LIB Xss      ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xt_LIB Xt                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_XTest_LIB Xtst            ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xv_LIB Xv                 ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xxf86misc_LIB Xxf86misc   ${X11_LIB_SEARCH_PATH})
+  find_library(X11_Xxf86vm_LIB Xxf86vm       ${X11_LIB_SEARCH_PATH})
+
+  set(X11_LIBRARY_DIR "")
+  if(X11_X11_LIB)
+    get_filename_component(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
+  endif()
+
+  set(X11_INCLUDE_DIR) # start with empty list
+  if(X11_X11_INCLUDE_PATH)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_X11_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xlib_INCLUDE_PATH)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xlib_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xutil_INCLUDE_PATH)
+    set(X11_Xutil_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xutil_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xshape_INCLUDE_PATH)
+    set(X11_Xshape_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xshape_INCLUDE_PATH})
+  endif()
+
+  set(X11_LIBRARIES) # start with empty list
+  if(X11_X11_LIB)
+    set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_X11_LIB})
+  endif()
+
+  if(X11_Xext_LIB)
+    set(X11_Xext_FOUND TRUE)
+    set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xext_LIB})
+  endif()
+
+  if(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
+    set(X11_Xt_FOUND TRUE)
+  endif()
+
+  if(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
+    set(X11_Xft_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xft_INCLUDE_PATH})
+  endif()
+
+  if(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
+    set(X11_Xv_FOUND TRUE)
+    set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xv_INCLUDE_PATH})
+  endif()
+
+  if (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
+    set(X11_Xau_FOUND TRUE)
+  endif ()
+
+  if (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
+      set(X11_Xdmcp_FOUND TRUE)
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdmcp_INCLUDE_PATH})
+      set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xdmcp_LIB})
+      if (X11_Xau_FOUND)
+      	set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xau_LIB})
+      endif ()
+  endif ()
+
+  if (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
+      set(X11_Xaccess_FOUND TRUE)
+      set(X11_Xaccess_INCLUDE_PATH ${X11_Xaccessstr_INCLUDE_PATH})
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xaccess_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
+      set(X11_Xpm_FOUND TRUE)
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xpm_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
+     set(X11_Xcomposite_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcomposite_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
+     set(X11_Xdamage_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdamage_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XShm_INCLUDE_PATH)
+     set(X11_XShm_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XShm_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XTest_INCLUDE_PATH AND X11_XTest_LIB)
+      set(X11_XTest_FOUND TRUE)
+      set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XTest_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
+     set(X11_Xi_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xi_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
+     set(X11_Xinerama_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinerama_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
+     set(X11_Xfixes_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xfixes_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
+     set(X11_Xrender_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrender_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
+     set(X11_XRes_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XRes_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
+     set(X11_Xrandr_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH})
+  endif ()
+
+  if (X11_xf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
+     set(X11_xf86misc_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86misc_INCLUDE_PATH})
+  endif ()
+
+  if (X11_xf86vmode_INCLUDE_PATH AND X11_Xxf86vm_LIB)
+     set(X11_xf86vmode_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86vmode_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
+     set(X11_Xcursor_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcursor_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xscreensaver_INCLUDE_PATH AND X11_Xscreensaver_LIB)
+     set(X11_Xscreensaver_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xscreensaver_INCLUDE_PATH})
+  endif ()
+
+  if (X11_dpms_INCLUDE_PATH)
+     set(X11_dpms_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_dpms_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
+     set(X11_Xkb_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkb_INCLUDE_PATH} )
+  endif ()
+
+  if (X11_Xkbfile_INCLUDE_PATH AND X11_Xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
+     set(X11_Xkbfile_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkbfile_INCLUDE_PATH} )
+  endif ()
+
+  if (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
+     set(X11_Xmu_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xmu_INCLUDE_PATH})
+  endif ()
+
+  if (X11_Xinput_INCLUDE_PATH AND X11_Xinput_LIB)
+     set(X11_Xinput_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinput_INCLUDE_PATH})
+  endif ()
+
+  if (X11_XSync_INCLUDE_PATH)
+     set(X11_XSync_FOUND TRUE)
+     set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XSync_INCLUDE_PATH})
+  endif ()
+
+  if(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
+     set(X11_ICE_FOUND TRUE)
+  endif()
+
+  if(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
+     set(X11_SM_FOUND TRUE)
+  endif()
+
+  # Most of the X11 headers will be in the same directories, avoid
+  # creating a huge list of duplicates.
+  if (X11_INCLUDE_DIR)
+     list(REMOVE_DUPLICATES X11_INCLUDE_DIR)
+  endif ()
+
+  # Deprecated variable for backwards compatibility with CMake 1.4
+  if (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
+    set(X11_FOUND 1)
+  endif ()
+
+  if(X11_FOUND)
+    include(/usr/share/cmake28/Modules/CheckFunctionExists.cmake)
+    include(/usr/share/cmake28/Modules/CheckLibraryExists.cmake)
+
+    # Translated from an autoconf-generated configure script.
+    # See libs.m4 in autoconf's m4 directory.
+    if($ENV{ISC} MATCHES "^yes$")
+      set(X11_X_EXTRA_LIBS -lnsl_s -linet)
+    else()
+      set(X11_X_EXTRA_LIBS "")
+
+      # See if XOpenDisplay in X11 works by itself.
+      CHECK_LIBRARY_EXISTS("${X11_LIBRARIES}" "XOpenDisplay" "${X11_LIBRARY_DIR}" X11_LIB_X11_SOLO)
+      if(NOT X11_LIB_X11_SOLO)
+        # Find library needed for dnet_ntoa.
+        CHECK_LIBRARY_EXISTS("dnet" "dnet_ntoa" "" X11_LIB_DNET_HAS_DNET_NTOA)
+        if (X11_LIB_DNET_HAS_DNET_NTOA)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet)
+        else ()
+          CHECK_LIBRARY_EXISTS("dnet_stub" "dnet_ntoa" "" X11_LIB_DNET_STUB_HAS_DNET_NTOA)
+          if (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
+            set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet_stub)
+          endif ()
+        endif ()
+      endif()
+
+      # Find library needed for gethostbyname.
+      CHECK_FUNCTION_EXISTS("gethostbyname" CMAKE_HAVE_GETHOSTBYNAME)
+      if(NOT CMAKE_HAVE_GETHOSTBYNAME)
+        CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
+        if (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lnsl)
+        else ()
+          CHECK_LIBRARY_EXISTS("bsd" "gethostbyname" "" CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
+          if (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
+            set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lbsd)
+          endif ()
+        endif ()
+      endif()
+
+      # Find library needed for connect.
+      CHECK_FUNCTION_EXISTS("connect" CMAKE_HAVE_CONNECT)
+      if(NOT CMAKE_HAVE_CONNECT)
+        CHECK_LIBRARY_EXISTS("socket" "connect" "" CMAKE_LIB_SOCKET_HAS_CONNECT)
+        if (CMAKE_LIB_SOCKET_HAS_CONNECT)
+          set (X11_X_EXTRA_LIBS -lsocket ${X11_X_EXTRA_LIBS})
+        endif ()
+      endif()
+
+      # Find library needed for remove.
+      CHECK_FUNCTION_EXISTS("remove" CMAKE_HAVE_REMOVE)
+      if(NOT CMAKE_HAVE_REMOVE)
+        CHECK_LIBRARY_EXISTS("posix" "remove" "" CMAKE_LIB_POSIX_HAS_REMOVE)
+        if (CMAKE_LIB_POSIX_HAS_REMOVE)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lposix)
+        endif ()
+      endif()
+
+      # Find library needed for shmat.
+      CHECK_FUNCTION_EXISTS("shmat" CMAKE_HAVE_SHMAT)
+      if(NOT CMAKE_HAVE_SHMAT)
+        CHECK_LIBRARY_EXISTS("ipc" "shmat" "" CMAKE_LIB_IPS_HAS_SHMAT)
+        if (CMAKE_LIB_IPS_HAS_SHMAT)
+          set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lipc)
+        endif ()
+      endif()
+    endif()
+
+    if (X11_ICE_FOUND)
+      CHECK_LIBRARY_EXISTS("ICE" "IceConnectionNumber" "${X11_LIBRARY_DIR}"
+                            CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
+      if(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
+        set (X11_X_PRE_LIBS ${X11_ICE_LIB})
+        if(X11_SM_LIB)
+          set (X11_X_PRE_LIBS ${X11_SM_LIB} ${X11_X_PRE_LIBS})
+        endif()
+      endif()
+    endif ()
+
+    if (X11_Xdmcp_FOUND)
+      set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} ${X11_Xdmcp_LIB})
+    endif ()
+
+    if (X11_Xau_FOUND)
+      set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} ${X11_Xau_LIB})
+    endif ()
+
+    # Build the final list of libraries.
+    set(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
+
+    include(/usr/share/cmake28/Modules/FindPackageMessage.cmake)
+    FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
+      "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
+  else ()
+    if (X11_FIND_REQUIRED)
+      message(FATAL_ERROR "Could not find X11")
+    endif ()
+  endif ()
+
+  mark_as_advanced(
+    X11_X11_INCLUDE_PATH
+    X11_X11_LIB
+    X11_Xext_LIB
+    X11_Xau_LIB
+    X11_Xau_INCLUDE_PATH
+    X11_Xlib_INCLUDE_PATH
+    X11_Xutil_INCLUDE_PATH
+    X11_Xcomposite_INCLUDE_PATH
+    X11_Xcomposite_LIB
+    X11_Xaccess_INCLUDE_PATH
+    X11_Xfixes_LIB
+    X11_Xfixes_INCLUDE_PATH
+    X11_Xrandr_LIB
+    X11_Xrandr_INCLUDE_PATH
+    X11_Xdamage_LIB
+    X11_Xdamage_INCLUDE_PATH
+    X11_Xrender_LIB
+    X11_Xrender_INCLUDE_PATH
+    X11_XRes_LIB
+    X11_XRes_INCLUDE_PATH
+    X11_Xxf86misc_LIB
+    X11_xf86misc_INCLUDE_PATH
+    X11_Xxf86vm_LIB
+    X11_xf86vmode_INCLUDE_PATH
+    X11_Xi_LIB
+    X11_Xi_INCLUDE_PATH
+    X11_Xinerama_LIB
+    X11_Xinerama_INCLUDE_PATH
+    X11_XTest_LIB
+    X11_XTest_INCLUDE_PATH
+    X11_Xcursor_LIB
+    X11_Xcursor_INCLUDE_PATH
+    X11_dpms_INCLUDE_PATH
+    X11_Xt_LIB
+    X11_Xt_INCLUDE_PATH
+    X11_Xdmcp_LIB
+    X11_LIBRARIES
+    X11_Xaccessrules_INCLUDE_PATH
+    X11_Xaccessstr_INCLUDE_PATH
+    X11_Xdmcp_INCLUDE_PATH
+    X11_Xkb_INCLUDE_PATH
+    X11_Xkblib_INCLUDE_PATH
+    X11_Xkbfile_INCLUDE_PATH
+    X11_Xkbfile_LIB
+    X11_Xmu_INCLUDE_PATH
+    X11_Xmu_LIB
+    X11_Xscreensaver_INCLUDE_PATH
+    X11_Xscreensaver_LIB
+    X11_Xpm_INCLUDE_PATH
+    X11_Xpm_LIB
+    X11_Xinput_LIB
+    X11_Xinput_INCLUDE_PATH
+    X11_Xft_LIB
+    X11_Xft_INCLUDE_PATH
+    X11_Xshape_INCLUDE_PATH
+    X11_Xv_LIB
+    X11_Xv_INCLUDE_PATH
+    X11_XShm_INCLUDE_PATH
+    X11_ICE_LIB
+    X11_ICE_INCLUDE_PATH
+    X11_SM_LIB
+    X11_SM_INCLUDE_PATH
+    X11_XSync_INCLUDE_PATH
+  )
+  set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
+endif ()
+
+# X11_FIND_REQUIRED_<component> could be checked too
diff --git a/contrib/packages/rpm/el5/SOURCES/fc-cache.1 b/contrib/packages/rpm/el5/SOURCES/fc-cache.1
new file mode 100644
index 0000000..3d4eebf
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/fc-cache.1
@@ -0,0 +1,75 @@
+.\" This manpage has been automatically generated by docbook2man 
+.\" from a DocBook document.  This tool can be found at:
+.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
+.\" Please send any bug reports, improvements, comments, patches, 
+.\" etc. to Steve Cheng <steve@ggi-project.org>.
+.TH "FC-CACHE" "1" "16 January 2007" "" ""
+
+.SH NAME
+fc-cache \- build font information cache files
+.SH SYNOPSIS
+
+\fBfc-cache\fR [ \fB-fsvV?\fR ] [ \fB--force\fR ] [ \fB--system-only\fR ] [ \fB--verbose\fR ] [ \fB--version\fR ] [ \fB--help\fR ] [ \fB\fIdirs\fB\fR ]
+
+.SH "DESCRIPTION"
+.PP
+\fBfc-cache\fR scans the font directories on
+the system and builds font information cache files for
+applications using fontconfig for their font handling.
+.PP
+If directory arguments are not given,
+\fBfc-cache\fR uses each directory in the
+current font configuration. Each directory is scanned for
+font files readable by FreeType.  A cache is created which
+contains properties of each font and the associated filename.
+This cache is used to speed up application startup when using
+the fontconfig library.
+.PP
+Note that \fBfc-cache\fR must be executed
+once per architecture to generate font information customized
+for that architecture.  On a subsequent run,
+\fBfc-cache\fR will augment the cache
+information files with the information for the new
+architecture. 
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-').  A summary of
+options is included below.
+.TP
+\fB-f --force \fR
+Force re-generation of apparently up-to-date cache files,
+overriding the timestamp checking.
+.TP
+\fB-s --system-only \fR
+Only scan system-wide directories, omitting the places
+located in the user's home directory.
+.TP
+\fB-v --verbose \fR
+Display status information while busy.
+.TP
+\fB-? --help \fR
+Show summary of options.
+.TP
+\fB-V --version \fR
+Show version of the program and exit.
+.TP
+\fB\fIdirs\fB \fR
+A list of directories to scan for fonts.
+.SH "FILES"
+.TP
+\fB\fIfonts.cache-2\fB\fR
+These files are generated by \fBfc-cache\fR
+and contain maps from file names to font properties. They are
+read by the fontconfig library at application startup to locate
+appropriate fonts.
+.SH "SEE ALSO"
+.PP
+\fBfc-list\fR (1).
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was written by Keith Packard
+<keithp@keithp.com> and Josselin Mouette <joss@debian.org>\&.
diff --git a/contrib/packages/rpm/el5/SOURCES/fc-cat.1 b/contrib/packages/rpm/el5/SOURCES/fc-cat.1
new file mode 100644
index 0000000..f87ef56
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/fc-cat.1
@@ -0,0 +1,37 @@
+.\" This manpage has been automatically generated by docbook2man 
+.\" from a DocBook document.  This tool can be found at:
+.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
+.\" Please send any bug reports, improvements, comments, patches, 
+.\" etc. to Steve Cheng <steve@ggi-project.org>.
+.TH "FC-CAT" "1" "16 January 2007" "" ""
+
+.SH NAME
+fc-cat \- read font information cache files
+.SH SYNOPSIS
+
+\fBfc-cat < fonts-cache-2-file >\fR [ \fB-V?\fR ] [ \fB--version\fR ] [ \fB--help\fR ] [ \fB\fIdirs\fB\fR ]
+
+.SH "DESCRIPTION"
+.PP
+\fBfc-cat\fR reads a font information cache file
+and emits it in ASCII form.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-').  A summary of
+options is included below.
+.TP
+\fB-? --help \fR
+Show summary of options.
+.TP
+\fB-V --version \fR
+Show version of the program and exit.
+.SH "SEE ALSO"
+.PP
+\fBfc-cache\fR (1).
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was written by Patrick Lam <plam@mit.edu>\&.
diff --git a/contrib/packages/rpm/el5/SOURCES/fc-list.1 b/contrib/packages/rpm/el5/SOURCES/fc-list.1
new file mode 100644
index 0000000..8ccc850
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/fc-list.1
@@ -0,0 +1,61 @@
+.\" This manpage has been automatically generated by docbook2man 
+.\" from a DocBook document.  This tool can be found at:
+.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
+.\" Please send any bug reports, improvements, comments, patches, 
+.\" etc. to Steve Cheng <steve@ggi-project.org>.
+.TH "FC-LIST" "1" "16 January 2007" "" ""
+
+.SH NAME
+fc-list \- list available fonts
+.SH SYNOPSIS
+
+\fBfc-list\fR [ \fB-vV?\fR ] [ \fB--verbose\fR ] [ \fB--version\fR ] [ \fB--help\fR ] [ \fB\fIpattern\fB\fR ] [ \fB\fIelement\fB\fR ]
+
+.SH "DESCRIPTION"
+.PP
+\fBfc-list\fR lists fonts and styles
+available on the system for applications using fontconfig.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-').  A summary of
+options is included below.
+.TP
+\fB-v --verbose \fR
+Display status information while busy.
+.TP
+\fB-? --help \fR
+Show summary of options.
+.TP
+\fB-V --version \fR
+Show version of the program and exit.
+.TP
+\fB\fIpattern\fB \fR
+If this argument is set, only fonts matching
+\fIpattern\fR are displayed.
+.TP
+\fB\fIelement\fB \fR
+If set, the \fIelement\fR property
+is displayed for matching fonts.
+.SH "EXAMPLES"
+.TP
+\fBfc-list\fR
+Lists all font faces.
+.TP
+\fBfc-list :lang=hi\fR
+Lists font faces that cover Hindi.
+.TP
+\fBfc-list : family style file spacing \fR
+Lists the filename and spacing value for each font
+face.  ``:'' is an empty pattern that matches all
+fonts.
+.SH "SEE ALSO"
+.PP
+\fBfc-cache\fR (1).
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was written by Keith Packard
+<keithp@keithp.com> and Josselin Mouette <joss@debian.org>\&.
diff --git a/contrib/packages/rpm/el5/SOURCES/fc-match.1 b/contrib/packages/rpm/el5/SOURCES/fc-match.1
new file mode 100644
index 0000000..5b8a7f9
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/fc-match.1
@@ -0,0 +1,51 @@
+.\" This manpage has been automatically generated by docbook2man 
+.\" from a DocBook document.  This tool can be found at:
+.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
+.\" Please send any bug reports, improvements, comments, patches, 
+.\" etc. to Steve Cheng <steve@ggi-project.org>.
+.TH "FC-MATCH" "1" "16 January 2007" "" ""
+
+.SH NAME
+fc-match \- match available fonts
+.SH SYNOPSIS
+
+\fBfc-match\fR [ \fB-svV?\fR ] [ \fB--sort\fR ] [ \fB--verbose\fR ] [ \fB--version\fR ] [ \fB--help\fR ] [ \fB\fIfont-pattern\fB\fR ]
+
+.SH "DESCRIPTION"
+.PP
+\fBfc-match\fR matches font-pattern (empty
+pattern by default) using the normal fontconfig matching rules to find
+the best font available.  If --sort is given, the sorted list of best
+matching fonts is displayed.  With --verbose, the whole font pattern
+for each match is printed, otherwise only the file, family and style
+are printed..
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-').  A summary of
+options is included below.
+.TP
+\fB-v --verbose \fR
+Print whole font pattern for each match.
+.TP
+\fB-? --help \fR
+Show summary of options.
+.TP
+\fB-V --version \fR
+Show version of the program and exit.
+.TP
+\fB-s --sort \fR
+Displays sorted list of best matching fonts.
+.TP
+\fB\fIfont-pattern\fB \fR
+Displays fonts matching
+\fIfont-pattern\fR (uses empty pattern by default).
+.SH "SEE ALSO"
+.PP
+\fBfc-list\fR (1).
+.PP
+The fontconfig user's guide, in HTML format:
+\fI/usr/share/doc/fontconfig/fontconfig-user.html\fR\&.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Patrick Lam <plam@csail.mit.edu>\&.
diff --git a/contrib/packages/rpm/el5/SOURCES/fltk-1.3.2-libdl.patch b/contrib/packages/rpm/el5/SOURCES/fltk-1.3.2-libdl.patch
new file mode 100644
index 0000000..78c8fd4
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/fltk-1.3.2-libdl.patch
@@ -0,0 +1,100 @@
+Index: CMakeLists.txt
+===================================================================
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt	(revision 9965)
++++ b/CMakeLists.txt	(working copy)
+@@ -138,6 +139,7 @@
+ #######################################################################
+ # libraries
+ find_library(LIB_CAIRO cairo)
++find_library(LIB_dl dl)
+ find_library(LIB_fontconfig fontconfig)
+ find_library(LIB_freetype freetype)
+ find_library(LIB_GL GL)
+@@ -146,7 +148,7 @@
+ find_library(LIB_png png)
+ find_library(LIB_zlib z)
+ 
+-mark_as_advanced(LIB_CAIRO LIB_fontconfig LIB_freetype)
++mark_as_advanced(LIB_CAIRO LIB_dl LIB_fontconfig LIB_freetype)
+ mark_as_advanced(LIB_GL LIB_MesaGL)
+ mark_as_advanced(LIB_jpeg LIB_png LIB_zlib)
+ 
+Index: src/CMakeLists.txt
+===================================================================
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+--- a/src/CMakeLists.txt	(revision 9965)
++++ b/src/CMakeLists.txt	(working copy)
+@@ -220,7 +220,7 @@
+ endif(MSVC)
+ 
+ if(USE_THREADS)
+-   target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT})
++   target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
+ endif(USE_THREADS)
+ 
+ if(USE_X11)
+@@ -334,7 +334,7 @@
+ endif(MSVC)
+ 
+ if(USE_THREADS)
+-   target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT})
++   target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
+ endif(USE_THREADS)
+ 
+ if(USE_X11)
+@@ -384,11 +384,11 @@
+ endif(MSVC)
+ 
+ if(USE_THREADS)
+-   target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT})
++   target_link_libraries(fltk_forms_SHARED ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
+ endif(USE_THREADS)
+ 
+ if(USE_X11)
+-   target_link_libraries(fltk_SHARED ${X11_LIBRARIES})
++   target_link_libraries(fltk_forms_SHARED ${X11_LIBRARIES})
+ endif(USE_X11)
+ 
+ #######################################################################
+diff -Naur a/CMake/FindDL.cmake b/CMake/FindDL.cmake
+--- a/CMake/FindDL.cmake	1969-12-31 19:00:00.000000000 -0500
++++ b/CMake/FindDL.cmake	2014-10-29 23:00:18.000000000 -0400
+@@ -0,0 +1,37 @@
++# - Find dl functions
++# This module finds dl libraries.
++#
++# It sets the following variables:
++#  DL_FOUND       - Set to false, or undefined, if dl libraries aren't found.
++#  DL_INCLUDE_DIR - The dl include directory.
++#  DL_LIBRARY     - The dl library to link against.
++
++INCLUDE(CheckFunctionExists)
++
++FIND_PATH(DL_INCLUDE_DIR NAMES dlfcn.h)
++FIND_LIBRARY(DL_LIBRARY NAMES dl)
++
++IF (DL_LIBRARY)
++   SET(DL_FOUND TRUE)
++ELSE (DL_LIBRARY)
++   # if dlopen can be found without linking in dl then,
++   # dlopen is part of libc, so don't need to link extra libs.
++   CHECK_FUNCTION_EXISTS(dlopen DL_FOUND)
++   SET(DL_LIBRARY "")
++ENDIF (DL_LIBRARY)
++
++IF (DL_FOUND)
++
++   # show which dl was found only if not quiet
++   IF (NOT DL_FIND_QUIETLY)
++      MESSAGE(STATUS "Found dl: ${DL_LIBRARY}")
++   ENDIF (NOT DL_FIND_QUIETLY)
++
++ELSE (DL_FOUND)
++
++   # fatal error if dl is required but not found
++   IF (DL_FIND_REQUIRED)
++      MESSAGE(FATAL_ERROR "Could not find dl")
++   ENDIF (DL_FIND_REQUIRED)
++
++ENDIF (DL_FOUND)
diff --git a/contrib/packages/rpm/el5/SOURCES/fltk-1.3.2-static-libs.patch b/contrib/packages/rpm/el5/SOURCES/fltk-1.3.2-static-libs.patch
new file mode 100644
index 0000000..0341612
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/fltk-1.3.2-static-libs.patch
@@ -0,0 +1,74 @@
+--- fltk-1.3.2/src/CMakeLists.txt	2014-09-02 22:05:40.000000000 -0400
++++ fltk-1.3.2/src/CMakeLists.txt	2014-09-02 22:12:35.000000000 -0400
+@@ -223,10 +223,6 @@
+    target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
+ endif(USE_THREADS)
+ 
+-if(USE_X11)
+-   target_link_libraries(fltk ${X11_LIBRARIES})
+-endif(USE_X11)
+-
+ if(WIN32)
+    target_link_libraries(fltk comctl32)
+ endif(WIN32)
+@@ -239,10 +235,6 @@
+    target_link_libraries(fltk ${X11_Xinerama_LIB})
+ endif(HAVE_XINERAMA)
+ 
+-if(HAVE_XFIXES)
+-   target_link_libraries(fltk ${X11_Xfixes_LIB})
+-endif(HAVE_XFIXES)
+-
+ if(HAVE_XCURSOR)
+    target_link_libraries(fltk ${X11_Xcursor_LIB})
+ endif(HAVE_XCURSOR)
+@@ -251,10 +243,30 @@
+    target_link_libraries(fltk ${X11_Xft_LIB})
+ endif(USE_XFT)
+ 
++if(HAVE_XFIXES)
++   target_link_libraries(fltk ${X11_Xfixes_LIB})
++endif(HAVE_XFIXES)
++
++if(X11_Xrender_FOUND)
++   target_link_libraries(fltk ${X11_Xrender_LIB})
++endif(X11_Xrender_FOUND)
++
++if(USE_X11)
++   target_link_libraries(fltk ${X11_LIBRARIES})
++endif(USE_X11)
++
+ if(LIB_fontconfig)
+    target_link_libraries(fltk ${LIB_fontconfig})
+ endif(LIB_fontconfig)
+ 
++if(LIB_EXPAT)
++   target_link_libraries(fltk ${LIB_EXPAT})
++endif(LIB_EXPAT)
++
++if(LIB_freetype)
++   target_link_libraries(fltk ${LIB_freetype} ${LIB_dl})
++endif(LIB_freetype)
++
+ #######################################################################
+ add_library(fltk_forms STATIC ${FLCPPFILES})
+ target_link_libraries(fltk_forms fltk)
+--- fltk-1.3.2/CMakeLists.txt	2014-09-02 22:56:47.000000000 -0400
++++ fltk-1.3.2/CMakeLists.txt	2014-09-02 22:57:19.000000000 -0400
+@@ -147,6 +147,7 @@
+ find_library(LIB_jpeg jpeg)
+ find_library(LIB_png png)
+ find_library(LIB_zlib z)
++find_library(LIB_EXPAT expat)
+ 
+ mark_as_advanced(LIB_CAIRO LIB_dl LIB_fontconfig LIB_freetype)
+ mark_as_advanced(LIB_GL LIB_MesaGL)
+@@ -383,7 +383,7 @@
+ 
+ if(OPENGL_FOUND)
+    set(CMAKE_REQUIRED_INCLUDES ${OPENGL_INCLUDE_DIR}/GL)
+-   set(CMAKE_REQUIRED_LIBRARIES -lGLU -lGL)
++   set(CMAKE_REQUIRED_LIBRARIES -lGLU -lGL -lXdmcp -lXau)
+    CHECK_FUNCTION_EXISTS(glXGetProcAddressARB HAVE_GLXGETPROCADDRESSARB)
+    set(FLTK_GL_FOUND TRUE)
+ else()
diff --git a/contrib/packages/rpm/el5/SOURCES/tigervnc-static-fltk.patch b/contrib/packages/rpm/el5/SOURCES/tigervnc-static-fltk.patch
new file mode 100644
index 0000000..650da73
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/tigervnc-static-fltk.patch
@@ -0,0 +1,22 @@
+--- a/cmake/StaticBuild.cmake	2014-10-29 20:23:24.000000000 -0400
++++ b/cmake/StaticBuild.cmake	2014-10-29 20:24:05.000000000 -0400
+@@ -68,7 +68,7 @@
+   endif()
+ 
+   if(FLTK_FOUND)
+-    set(FLTK_LIBRARIES "-Wl,-Bstatic -lfltk_images -lpng -ljpeg -lfltk -Wl,-Bdynamic")
++    set(FLTK_LIBRARIES "-Wl,-Bstatic -L${FLTK_LIBRARY_DIR} -lfltk_images -lpng -ljpeg -lfltk -Wl,-Bdynamic")
+ 
+     if(WIN32)
+       set(FLTK_LIBRARIES "${FLTK_LIBRARIES} -lcomctl32")
+--- a/vncviewer/CMakeLists.txt	2014-10-29 20:39:58.000000000 -0400
++++ b/vncviewer/CMakeLists.txt	2014-10-29 21:01:31.000000000 -0400
+@@ -46,7 +46,7 @@
+   add_executable(vncviewer ${VNCVIEWER_SOURCES})
+ endif()
+ 
+-target_link_libraries(vncviewer rfb network rdr os Xregion ${FLTK_LIBRARIES} ${GETTEXT_LIBRARIES})
++target_link_libraries(vncviewer ${FLTK_LIBRARIES} rfb network rdr os Xregion ${X11_Xdmcp_LIB} ${X11_Xau_LIB} ${GETTEXT_LIBRARIES})
+ 
+ if(APPLE)
+   target_link_libraries(vncviewer "-framework Cocoa" "-framework Carbon")
diff --git a/contrib/packages/rpm/el5/SOURCES/tigervnc-x0vncserver-static-libs-fix.patch b/contrib/packages/rpm/el5/SOURCES/tigervnc-x0vncserver-static-libs-fix.patch
new file mode 100644
index 0000000..9de3f85
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/tigervnc-x0vncserver-static-libs-fix.patch
@@ -0,0 +1,22 @@
+--- a/unix/x0vncserver/CMakeLists.txt	2014-10-29 18:25:30.000000000 -0400
++++ b/unix/x0vncserver/CMakeLists.txt	2014-10-29 18:26:38.000000000 -0400
+@@ -31,7 +31,7 @@
+   message(WARNING "No DAMAGE extension.  x0vncserver will have to use the slower polling method.")
+ endif()
+ 
+-target_link_libraries(x0vncserver ${X11_LIBRARIES})
++target_link_libraries(x0vncserver ${X11_LIBRARIES} ${X11_Xdmcp_LIB} ${X11_Xau_LIB})
+ 
+ install(TARGETS x0vncserver DESTINATION ${BIN_DIR})
+ install(FILES x0vncserver.man DESTINATION ${MAN_DIR}/man1 RENAME x0vncserver.1)
+--- a/unix/vncconfig/CMakeLists.txt	2014-10-29 18:45:41.000000000 -0400
++++ b/unix/vncconfig/CMakeLists.txt	2014-10-29 18:46:17.000000000 -0400
+@@ -9,7 +9,7 @@
+   vncconfig.cxx
+   QueryConnectDialog.cxx)
+ 
+-target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES})
++target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES} ${X11_Xdmcp_LIB} ${X11_Xau_LIB})
+ 
+ install(TARGETS vncconfig DESTINATION ${BIN_DIR})
+ install(FILES vncconfig.man DESTINATION ${MAN_DIR}/man1 RENAME vncconfig.1)
diff --git a/contrib/packages/rpm/el5/SPECS/tigervnc.spec b/contrib/packages/rpm/el5/SPECS/tigervnc.spec
index c20076d..a653fbd 100644
--- a/contrib/packages/rpm/el5/SPECS/tigervnc.spec
+++ b/contrib/packages/rpm/el5/SPECS/tigervnc.spec
@@ -1,5 +1,5 @@
 %define _default_patch_fuzz 2
-%define snap 20131128svn5139
+%define snap 20141104git3fd8b0e3
 %define mesa_version 7.7.1
 
 Name: tigervnc
@@ -16,11 +16,13 @@
 Source1: vncserver.service
 Source2: vncserver.sysconfig
 Source6: vncviewer.desktop
+Source9: FindX11.cmake
 Source11: http://fltk.org/pub/fltk/1.3.2/fltk-1.3.2-source.tar.gz
 Source12: http://downloads.sourceforge.net/project/libjpeg-turbo/1.3.0/libjpeg-turbo-1.3.0.tar.gz
 
 # http://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/xorg-x11-proto-devel-7.6-13.el6.src.rpm
 # http://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/
+Source98: http://www.x.org/releases/X11R7.5/src/util/makedepend-1.0.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
@@ -113,13 +115,25 @@
 Source163: http://www.x.org/releases/X11R7.5/src/lib/libXres-1.0.4.tar.bz2
 Source164: http://www.x.org/releases/individual/lib/libXxf86misc-1.0.2.tar.bz2
 
+Source200: http://fontconfig.org/release/fontconfig-2.4.1.tar.gz
+Source201: 25-no-hint-fedora.conf
+Source202: 30-aliases-fedora.conf
+Source203: 40-generic-fedora.conf
+Source204: 64-nonlatin-fedora.conf
+Source205: 75-blacklist-fedora.conf
+
+Source210: fc-cache.1
+Source211: fc-cat.1
+Source212: fc-list.1
+Source213: fc-match.1
+
 # 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://vault.centos.org/6.3/os/Source/SPackages/pixman-0.18.4-1.el6_0.1.src.rpm
-#http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/12/Everything/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
+# 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://vault.centos.org/6.3/os/Source/SPackages/pixman-0.18.4-1.el6_0.1.src.rpm
+# http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/12/Everything/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
 
 BuildRoot: %{_tmppath}/%{name}-%{version}%{?snap:-%{snap}}-%{release}-root-%(%{__id_u} -n)
 
@@ -131,6 +145,8 @@
 BuildRequires: pkgconfig >= 0.20
 BuildRequires: gcc44, gcc44-c++
 BuildRequires: glibc-devel, libstdc++-devel, libpng-devel
+BuildRequires: expat-devel
+BuildRequires: gperf, intltool, libtalloc-devel
 
 BuildRequires: openmotif-devel
 Requires: openmotif, openmotif22
@@ -147,9 +163,14 @@
 Patch4: tigervnc-cookie.patch
 Patch10: tigervnc11-ldnow.patch
 Patch11: tigervnc11-gethomedir.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=692048
+Patch14: tigervnc-x0vncserver-static-libs-fix.patch
+Patch15: tigervnc-static-fltk.patch
 
 Patch101: tigervnc-ac-compatibility.patch
 Patch102: tigervnc-xorg-1.7.5-remove-copyisolatin1lowered.patch
+Patch124: fltk-1.3.2-libdl.patch
+Patch125: fltk-1.3.2-static-libs.patch
 
 # Patches from libdrm-2.4.15-4.fc12.src.rpm
 # hardcode the 666 instead of 660 for device nodes
@@ -461,9 +482,12 @@
 %setup -q -n %{name}-%{version}%{?snap:-%{snap}}
 
 # sed -i -e 's/80/0/g' CMakeLists.txt
+cp %SOURCE9 cmake/Modules/
 %patch4 -p1 -b .cookie
 %patch10 -p1 -b .ldnow
 %patch11 -p1 -b .gethomedir
+%patch15 -p1 -b .static-fltk
+%patch14 -p1 -b .x0vncserver
 
 tar xzf %SOURCE11
 pushd fltk-*
@@ -471,12 +495,16 @@
 do
   patch -p1 -i $p
 done
+cp %SOURCE9 CMake/
+%patch124 -p1 -b .libdl
+%patch125 -p1 -b .static-libs
 popd
 
 tar xzf %SOURCE12
 
 mkdir xorg
 pushd xorg
+tar xjf %SOURCE98
 tar xjf %SOURCE99
 tar xjf %SOURCE100
 tar xjf %SOURCE101
@@ -535,8 +563,8 @@
 tar xjf %SOURCE154
 tar xjf %SOURCE155
 tar xjf %SOURCE156
-#tar xjf %SOURCE157
-#tar xjf %SOURCE158
+# tar xjf %SOURCE157
+# tar xjf %SOURCE158
 tar xjf %SOURCE159
 tar xjf %SOURCE160
 tar xjf %SOURCE161
@@ -544,8 +572,8 @@
 tar xjf %SOURCE163
 tar xjf %SOURCE164
 popd
-cp -a unix/xserver xorg/xserver
-cp -a xorg/xorg-server-1.*/* xorg/xserver
+tar xzf %SOURCE200
+cp -a xorg/xorg-server-1.*/* unix/xserver
 pushd xorg
 pushd libdrm-*
 %patch133 -p1 -b .forceperms
@@ -637,9 +665,10 @@
 %patch10400 -p1 -b .libsm-fix
 popd
 
-pushd xserver
-patch -p1 < %{_builddir}/%{name}-%{version}%{?snap:-%{snap}}/unix/xserver17.patch
+popd
 
+pushd unix/xserver
+patch -p1 < %{_builddir}/%{name}-%{version}%{?snap:-%{snap}}/unix/xserver17.patch
 for all in `find %{_builddir}/%{name}-%{version}%{?snap:-%{snap}}/unix/xorg-7.5-patches/ -type f |grep '.*\.patch$'`; do
 	echo Applying $all
 	patch -p1 < $all
@@ -762,7 +791,6 @@
 
 %patch8000 -p1 -b .cve-2011-4818
 %patch8001 -p1 -b .cve-2011-4818-extra
-popd
 
 popd
 
@@ -771,79 +799,47 @@
 %define static_lib_buildroot %{tigervnc_src_dir}/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 CFLAGS="$RPM_OPT_FLAGS -fPIC"
 export CXXFLAGS="$CFLAGS -static-libgcc"
-%{cmake28} -G"Unix Makefiles" \
-  -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-  -DCMAKE_BUILD_TYPE=Release \
-  -DOPTION_PREFIX_LIB=%{_libdir} \
-  -DOPTION_PREFIX_CONFIG=%{_libdir} \
-  -DOPTION_USE_THREADS=off \
-  -DOPTION_BUILD_EXAMPLES=off \
-  -DOPTION_USE_SYSTEM_LIBPNG=on
-make %{?_smp_mflags}
+
+%define xorg_buildroot %{tigervnc_src_dir}/xorg.build
+mkdir -p %{xorg_buildroot}%{_libdir}
+pushd %{xorg_buildroot}%{_libdir}
+ln -s `g++44 -print-file-name=libexpat.a`
+ln -s `g++44 -print-file-name=libgcrypt.a`
+ln -s `g++44 -print-file-name=libgpg-error.a`
+ln -s `g++44 -print-file-name=libgnutls.a`
+ln -s `g++44 -print-file-name=libstdc++.a`
+ln -s `g++44 -print-file-name=libcrypto.a`
+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=libpng.a`
 popd
 
 echo "*** Building libjpeg-turbo ***"
 pushd libjpeg-turbo-*
-export CFLAGS="$RPM_OPT_FLAGS -fPIC"
-export CXXFLAGS="$CFLAGS -static-libgcc"
 ./configure --prefix=%{_prefix} --libdir=%{_libdir} --disable-nls --enable-static --disable-shared
-make %{?_smp_mflags} DESTDIR=%{static_lib_buildroot} install
+make %{?_smp_mflags} DESTDIR=%{xorg_buildroot} install
 popd
 
-echo "*** Building VNC ***"
-export CFLAGS="$RPM_OPT_FLAGS -fPIC"
-export CXXFLAGS="$CFLAGS"
-%{cmake28} -G"Unix Makefiles" \
-  -DBUILD_STATIC=1 \
-  -DUSE_INCLUDED_ZLIB=1 \
-  -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-  -DFLTK_LIBRARIES="%{tigervnc_src_dir}/fltk-1.3.2/lib/libfltk.a;%{tigervnc_src_dir}/fltk-1.3.2/lib/libfltk_images.a;`g++ -print-file-name=libpng.a`" \
-  -DFLTK_FLUID_EXECUTABLE=%{tigervnc_src_dir}/fltk-1.3.2/bin/fluid \
-  -DFLTK_INCLUDE_DIR=%{tigervnc_src_dir}/fltk-1.3.2 \
-  -DJPEG_INCLUDE_DIR=%{static_lib_buildroot}%{_includedir} \
-  -DJPEG_LIBRARY=%{static_lib_buildroot}%{_libdir}/libjpeg.a \
-  -DGNUTLS_LIBRARY='%{_libdir}/libgnutls.a;%{_libdir}/libgcrypt.a;%{_libdir}/libgpg-error.a'
-make %{?_smp_mflags}
-
-echo "*** Building Xorg ***"
-%define xorg_buildroot %{tigervnc_src_dir}/xorg.build
-mkdir -p %{xorg_buildroot}%{_libdir}
-pushd %{xorg_buildroot}%{_libdir}
-ln -s `g++ -print-file-name=libstdc++.a`
-ln -s `g++ -print-file-name=libcrypto.a`
-ln -s `g++ -print-file-name=libz.a`
-ln -s `g++ -print-file-name=libgcc.a`
-popd
 export CFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_includedir}"
 export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_includedir} -static-libgcc"
-export LDFLAGS="-L%{xorg_buildroot}%{_libdir} $LDFLAGS"
+export CPPFLAGS=$CXXFLAGS
+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"
+
+echo "*** Building Xorg ***"
 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 CFLAGS="$CFLAGS -fno-strict-aliasing"
+CFLAGS="$CFLAGS -fno-strict-aliasing" LDFLAGS="$LDFLAGS -static" ./configure --prefix=/usr --libdir=%{_libdir} --enable-static --disable-shared
 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|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}|" {} \;
 # fix multilib issues
 %ifarch x86_64 s390x ia64 ppc64 alpha sparc64
@@ -872,30 +868,41 @@
 EOF
 popd
 
+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
+
 modules="\
-    dri2proto \
-    glproto \
-    xf86vidmodeproto \
-    xextproto \
-    xproto \
-    kbproto \
-    inputproto \
-    xcmiscproto \
     bigreqsproto \
-    xf86bigfontproto \
-    fixesproto \
-    damageproto \
-    xf86driproto \
-    randrproto \
-    renderproto \
-    scrnsaverproto \
-    resourceproto \
-    fontsproto \
-    videoproto \
     compositeproto \
-    xineramaproto \
-    xf86dgaproto \
+    damageproto \
+    dri2proto \
+    fixesproto \
+    fontsproto \
+    glproto \
+    inputproto \
+    kbproto \
+    randrproto \
     recordproto \
+    renderproto \
+    resourceproto \
+    scrnsaverproto \
+    videoproto \
+    xproto \
+    xcmiscproto \
+    xextproto \
+    xf86bigfontproto \
+    xf86dgaproto \
+    xf86driproto \
+    xf86vidmodeproto \
+    xf86miscproto \
+    xineramaproto \
+    makedepend \
     xtrans \
     libXau \
     libXdmcp \
@@ -921,6 +928,7 @@
     libxkbfile \
     libXrandr \
     libXres \
+    libXScrnSaver \
     libXtst \
     libXv \
     libXxf86dga \
@@ -938,17 +946,14 @@
   echo ======================
 %ifarch i386 i686
   if [ "${module}" = "libdrm" ]; then
-    export CFLAGS=`echo $CFLAGS | sed -e 's/-march=i*86/-march=native/'`
+    extraoptions="${extraoptions} --disable-intel"
   fi
 %endif
   if [ "${module}" = "libXaw" ]; then
     extraoptions="${extraoptions} --disable-xaw8 --disable-xaw6"
   fi
-  #if [ "${module}" = "randrproto" ]; then
-  #  ./autogen.sh
-  #fi
   if [ "${module}" = "libX11" ]; then
-    extraoptions="${extraoptions} --without-xcb --disable-specs --disable-dependency-tracking"
+    extraoptions="${extraoptions} --without-xcb --disable-specs"
   fi
   if [ "${module}" = "libSM" ]; then
     extraoptions="${extraoptions} --without-libuuid"
@@ -962,13 +967,21 @@
   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
+  if [ "${module}" = "libpthread-stubs" ]; then
+    LDFLAGS="" ./configure --prefix=/usr --libdir=%{_libdir} ${extraoptions} --enable-static --disable-shared --with-pic
+  elif [ "${module}" = "libX11" ]; then
+    XDMCP_FLAGS="-L%{xorg_buildroot}%{_libdir} -Wl,-B,static -lXdmcp -lXau" ./configure --prefix=/usr --libdir=%{_libdir} ${extraoptions} --enable-static --disable-shared --with-pic
+  elif [ "${module}" = "libXtst" ]; then
+    XTST_FLAGS="-L%{xorg_buildroot}%{_libdir} -Wl,-B,static -lXext" ./configure --prefix=/usr --libdir=%{_libdir} ${extraoptions} --enable-static --disable-shared --with-pic
+  else
+    ./configure --prefix=/usr --libdir=%{_libdir} ${extraoptions} --enable-static --disable-shared --with-pic
+  fi
   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|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
@@ -982,8 +995,6 @@
 %else
 %define _mesa_flags --enable-pic
 %endif
-export CFLAGS="$RPM_OPT_FLAGS -fvisibility=hidden -Os"
-export CXXFLAGS="$RPM_OPT_FLAGS -fvisibility=hidden -Os -static-libgcc"
 
 # Need to set cfghost?
 ./configure \
@@ -1009,18 +1020,58 @@
 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|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}|" {} \;
-#rm %{xorg_buildroot}%{_libdir}/dri/libdricore.so
 popd
 
 popd
-pushd xorg/xserver
-export CFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_includedir}"
-export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -I%{xorg_buildroot}%{_includedir} -static-libgcc"
+
+echo "*** Building fontconfig ***"
+pushd fontconfig-*
+HASDOCBOOK=no ./configure --prefix=%{_prefix} --libdir=%{_libdir} --with-add-fonts=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/OTF --enable-static --disable-shared
+make %{?_smp_mflags}
+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 fltk ***"
+pushd fltk-*
+export CMAKE_PREFIX_PATH="%{xorg_buildroot}%{_prefix}:%{_prefix}"
+export CMAKE_EXE_LINKER_FLAGS="-static-libgcc -L%{xorg_buildroot}%{_libdir}"
+%{cmake28} -G"Unix Makefiles" \
+  -DCMAKE_INSTALL_PREFIX=%{xorg_buildroot}%{_prefix} \
+  -DX11_INC_SEARCH_PATH=%{xorg_buildroot}%{_includedir} \
+  -DX11_LIB_SEARCH_PATH=%{xorg_buildroot}%{_libdir} \
+  -DCMAKE_BUILD_TYPE=Release \
+  -DOPTION_USE_THREADS=off \
+  -DOPTION_BUILD_EXAMPLES=off \
+  -DOPTION_USE_SYSTEM_LIBPNG=on
+make %{?_smp_mflags}
+popd
+
+echo "*** Building VNC ***"
+export CFLAGS="$CFLAGS -fPIC"
+export CXXFLAGS=`echo $CXXFLAGS | sed -e 's/ -c //g'`
+%{cmake28} -G"Unix Makefiles" \
+  -DX11_INC_SEARCH_PATH=%{xorg_buildroot}%{_includedir} \
+  -DX11_LIB_SEARCH_PATH=%{xorg_buildroot}%{_libdir} \
+  -DFLTK_LIBRARY_DIR=%{tigervnc_src_dir}/fltk-1.3.2/lib \
+  -DFLTK_LIBRARIES="%{tigervnc_src_dir}/fltk-1.3.2/lib/libfltk.a;%{tigervnc_src_dir}/fltk-1.3.2/lib/libfltk_images.a;-lpng" \
+  -DFLTK_FLUID_EXECUTABLE=%{tigervnc_src_dir}/fltk-1.3.2/bin/fluid \
+  -DFLTK_INCLUDE_DIR=%{tigervnc_src_dir}/fltk-1.3.2 \
+  -DBUILD_STATIC=1 \
+  -DCMAKE_BUILD_TYPE=Release \
+  -DUSE_INCLUDED_ZLIB=0 \
+  -DCMAKE_INSTALL_PREFIX=%{_prefix}
+
+make %{?_smp_mflags}
+
+pushd unix/xserver
+export LD=$CXX
 export PIXMANINCDIR=%{xorg_buildroot}%{_includedir}/pixman-1
 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 \
@@ -1076,15 +1127,24 @@
 
 # Build Java applet
 pushd java
-%{cmake28} .
-make
+%{cmake28} \
+%if 0%{!?_self_signed:1}
+	-DJAVA_KEYSTORE=%{_keystore} \
+	-DJAVA_KEYSTORE_TYPE=%{_keystore_type} \
+	-DJAVA_KEY_ALIAS=%{_key_alias} \
+	-DJAVA_STOREPASS=":env STOREPASS" \
+	-DJAVA_KEYPASS=":env KEYPASS" \
+	-DJAVA_TSA_URL=https://timestamp.geotrust.com/tsa .
+%endif
+
+JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make
 popd
 
 %install
 rm -rf $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT
 
-pushd xorg/xserver/hw/vnc
+pushd unix/xserver/hw/vnc
 make install DESTDIR=$RPM_BUILD_ROOT
 popd
 
diff --git a/contrib/packages/rpm/el6/SPECS/tigervnc.spec b/contrib/packages/rpm/el6/SPECS/tigervnc.spec
index 11b39f6..5e8bc59 100644
--- a/contrib/packages/rpm/el6/SPECS/tigervnc.spec
+++ b/contrib/packages/rpm/el6/SPECS/tigervnc.spec
@@ -2,7 +2,7 @@
 
 Name: tigervnc
 Version: 1.3.80
-Release: 17%{?snap:.%{snap}}%{?dist}
+Release: 18%{?snap:.%{snap}}%{?dist}
 Summary: A TigerVNC remote display system
 
 Group: User Interface/Desktops
@@ -153,7 +153,7 @@
 for all in `find . -type f -perm -001`; do
 	chmod -x "$all"
 done
-patch -p1 -b --suffix .vnc < ../xserver113.patch
+patch -p1 -b --suffix .vnc < ../xserver115.patch
 popd
 
 %patch16 -p0 -b .man
@@ -218,8 +218,17 @@
 
 # Build Java applet
 pushd java
-%{cmake28} .
-make
+%{cmake28} \
+%if 0%{!?self_signed:1}
+	-DJAVA_KEYSTORE=%{_keystore} \
+	-DJAVA_KEYSTORE_TYPE=%{_keystore_type} \
+	-DJAVA_KEY_ALIAS=%{_key_alias} \
+	-DJAVA_STOREPASS=":env STOREPASS" \
+	-DJAVA_KEYPASS=":env KEYPASS" \
+	-DJAVA_TSA_URL=https://timestamp.geotrust.com/tsa .
+%endif
+
+JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make
 popd
 
 %install
@@ -332,6 +341,9 @@
 %{_datadir}/icons/hicolor/*/apps/*
 
 %changelog
+* Tue Nov 04 2014 Brian P. Hinz <bphinz@users.sourceforge.net> 1.3.80-18.20131128svn5139
+- Bumped xserver patch to keep pace with native version
+
 * Thu Nov 28 2013 Brian P. Hinz <bphinz@users.sourceforge.net> 1.3.80-17.20131128svn5139
 - Bumped version to 1.3.80
 - Cleaned up linter warnings
diff --git a/contrib/packages/rpm/sle11/SPECS/tigervnc.spec b/contrib/packages/rpm/sle11/SPECS/tigervnc.spec
index ddf9310..ce2f542 100644
--- a/contrib/packages/rpm/sle11/SPECS/tigervnc.spec
+++ b/contrib/packages/rpm/sle11/SPECS/tigervnc.spec
@@ -323,8 +323,17 @@
 
 # Build java client
 pushd java
-cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}
-make %{?_smp_mflags}
+cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
+%if 0%{!?_self_signed:1}
+  -DJAVA_KEYSTORE=%{_keystore} \
+  -DJAVA_KEYSTORE_TYPE=%{_keystore_type} \
+  -DJAVA_KEY_ALIAS=%{_key_alias} \
+  -DJAVA_STOREPASS=":env STOREPASS" \
+  -DJAVA_KEYPASS=":env KEYPASS" \
+  -DJAVA_TSA_URL=https://timestamp.geotrust.com/tsa
+%endif
+
+JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make %{?_smp_mflags}
 popd
 
 %install
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
index 3579618..423d2df 100644
--- a/vncviewer/DesktopWindow.cxx
+++ b/vncviewer/DesktopWindow.cxx
@@ -658,12 +658,20 @@
 
 void DesktopWindow::handleDesktopSize()
 {
-  int width, height;
+  if (desktopSize.hasBeenSet()) {
+    int width, height;
 
-  if (sscanf(desktopSize.getValueStr(), "%dx%d", &width, &height) != 2)
-    return;
+    // An explicit size has been requested
 
-  remoteResize(width, height);
+    if (sscanf(desktopSize.getValueStr(), "%dx%d", &width, &height) != 2)
+      return;
+
+    remoteResize(width, height);
+  } else if (::remoteResize) {
+    // No explicit size, but remote resizing is on so make sure it
+    // matches whatever size the window ended up being
+    remoteResize(w(), h());
+  }
 }
 
 
