7bb444c815
Closes Homebrew/homebrew#22033. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
186 lines
5.3 KiB
Ruby
186 lines
5.3 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 }
|
|
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;
|
|
===================================================================
|
|
--- vncviewer/OSXPixelBuffer.h 2011/06/17 07:35:56 4504
|
|
+++ vncviewer/OSXPixelBuffer.h 2012/08/17 13:37:42 4956
|
|
@@ -29,8 +29,8 @@
|
|
void draw(int src_x, int src_y, int x, int y, int w, int h);
|
|
|
|
protected:
|
|
- // This is really a CGImageRerf, but Apple headers conflict with FLTK
|
|
- void *image;
|
|
+ // This is really a CGContextRef, but Apple headers conflict with FLTK
|
|
+ void *bitmap;
|
|
};
|
|
|
|
===================================================================
|
|
--- vncviewer/OSXPixelBuffer.cxx 2011/08/23 12:04:46 4646
|
|
+++ vncviewer/OSXPixelBuffer.cxx 2012/08/17 13:37:42 4956
|
|
@@ -40,29 +40,24 @@
|
|
ManagedPixelBuffer(rfb::PixelFormat(32, 24, false, true,
|
|
255, 255, 255, 16, 8, 0),
|
|
width, height),
|
|
- image(NULL)
|
|
+ bitmap(NULL)
|
|
{
|
|
CGColorSpaceRef lut;
|
|
- CGDataProviderRef provider;
|
|
|
|
lut = CGColorSpaceCreateDeviceRGB();
|
|
assert(lut);
|
|
- provider = CGDataProviderCreateWithData(NULL, data, datasize, NULL);
|
|
- assert(provider);
|
|
|
|
- image = CGImageCreate(width, height, 8, 32, width*4, lut,
|
|
- kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little,
|
|
- provider, NULL, false, kCGRenderingIntentDefault);
|
|
- assert(image);
|
|
+ bitmap = CGBitmapContextCreate(data, width, height, 8, width*4, lut,
|
|
+ kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little);
|
|
+ assert(bitmap);
|
|
|
|
- CGDataProviderRelease(provider);
|
|
CGColorSpaceRelease(lut);
|
|
}
|
|
|
|
|
|
PlatformPixelBuffer::~PlatformPixelBuffer()
|
|
{
|
|
- CGImageRelease((CGImageRef)image);
|
|
+ CFRelease((CGContextRef)bitmap);
|
|
}
|
|
|
|
|
|
@@ -71,6 +66,7 @@
|
|
CGRect rect;
|
|
CGContextRef gc;
|
|
CGAffineTransform at;
|
|
+ CGImageRef image;
|
|
|
|
gc = (CGContextRef)fl_gc;
|
|
|
|
@@ -102,7 +98,9 @@
|
|
rect.size.width = width();
|
|
rect.size.height = -height(); // Negative height does _not_ flip the image
|
|
|
|
- CGContextDrawImage(gc, rect, (CGImageRef)image);
|
|
+ image = CGBitmapContextCreateImage((CGContextRef)bitmap);
|
|
+ CGContextDrawImage(gc, rect, image);
|
|
+ CGImageRelease(image);
|
|
|
|
CGContextRestoreGState(gc);
|
|
}
|