homebrew-core/Formula/tiger-vnc.rb
Pavel Borzenkov ead7e6d2eb tiger-vnc: fix black screen issue on Mountain Lion
The patch is already upstream, revision 4956.

Closes Homebrew/homebrew#19535.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-04-30 09:48:42 -07:00

120 lines
3.4 KiB
Ruby

require 'formula'
class TigerVnc < Formula
homepage 'http://tigervnc.org/'
url 'http://downloads.sourceforge.net/project/tigervnc/tigervnc/1.2.0/tigervnc-1.2.0.tar.gz'
sha1 '0542b2549a85b6723deebc3b5ecafa4f1fbee8e6'
depends_on 'cmake' => :build
depends_on 'gnutls' => :recommended
depends_on 'jpeg-turbo'
depends_on 'gettext'
depends_on :x11
# Fix build of included fltk library on Mountain Lion
# http://www.fltk.org/str.php?L2864
# Patch for compatibility with gnutls 3
# Fix black screen issue on Mountain Lion
# http://permalink.gmane.org/gmane.network.vnc.tigervnc.user/544
def patches
{ :p0 => DATA,
:p1 => [
"http://tigervnc.svn.sourceforge.net/viewvc/tigervnc/trunk/vncviewer/OSXPixelBuffer.cxx?r1=4646&r2=4956&view=patch",
"http://tigervnc.svn.sourceforge.net/viewvc/tigervnc/trunk/vncviewer/OSXPixelBuffer.h?r1=4504&r2=4956&view=patch"
]}
end
def install
gettext = Formula.factory('gettext')
turbo = Formula.factory('jpeg-turbo')
args = std_cmake_args + %W[
-DJPEG_INCLUDE_DIR=#{turbo.include}
-DJPEG_LIBRARY=#{turbo.lib}/libjpeg.dylib
-DCMAKE_PREFIX_PATH=#{gettext.prefix}
.
]
system 'cmake', *args
system 'make install'
mv (prefix+'man'), share
end
end
__END__
Index: common/fltk/src/filename_list.cxx
===================================================================
--- common/fltk/src/filename_list.cxx (revision 9648)
+++ common/fltksrc/filename_list.cxx (revision 9649)
@@ -22,7 +22,9 @@
#include <FL/fl_utf8.h>
#include "flstring.h"
#include <stdlib.h>
-
+#ifdef __APPLE__
+#include <FL/x.H>
+#endif
extern "C" {
#ifndef HAVE_SCANDIR
@@ -95,7 +97,7 @@
#ifndef HAVE_SCANDIR
// This version is when we define our own scandir
int n = fl_scandir(dirloc, list, 0, sort);
-#elif defined(HAVE_SCANDIR_POSIX) && !defined(__APPLE__)
+#elif defined(HAVE_SCANDIR_POSIX)
// POSIX (2008) defines the comparison function like this:
int n = scandir(dirloc, list, 0, (int(*)(const dirent **, const dirent **))sort);
#elif defined(__osf__)
Index: common/fltk/FL/mac.H
===================================================================
--- common/fltk/FL/mac.H (revision 9648)
+++ common/fltk/FL/mac.H (revision 9649)
@@ -149,6 +149,21 @@
#ifndef MAC_OS_X_VERSION_10_6
#define MAC_OS_X_VERSION_10_6 1060
#endif
+#ifndef MAC_OS_X_VERSION_10_7
+#define MAC_OS_X_VERSION_10_7 1070
+#endif
+#ifndef MAC_OS_X_VERSION_10_8
+#define MAC_OS_X_VERSION_10_8 1080
+#endif
+
+#if defined(FL_LIBRARY) || defined(FL_INTERNALS)
+#ifdef HAVE_SCANDIR_POSIX
+#undef HAVE_SCANDIR_POSIX
+#endif
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8
+#define HAVE_SCANDIR_POSIX 1
+#endif
+#endif // FL_LIBRARY || FL_INTERNALS
typedef CGImageRef Fl_Bitmask;
Index: common/rdr/TLSInStream.cxx
===================================================================
--- /dev/null
+++ common/rdr/TLSInStream.cxx
@@ -27,9 +27,7 @@
#include <rdr/TLSInStream.h>
#include <errno.h>
-#ifdef HAVE_OLD_GNUTLS
#define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
-#endif
#ifdef HAVE_GNUTLS
using namespace rdr;
Index: common/rdr/TLSOutStream.cxx
===================================================================
--- /dev/null
+++ common/rdr/TLSOutStream.cxx
@@ -27,9 +27,7 @@
#include <rdr/TLSOutStream.h>
#include <errno.h>
-#ifdef HAVE_OLD_GNUTLS
#define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
-#endif
#ifdef HAVE_GNUTLS
using namespace rdr;