From 50a0376ac5e6adf28bae08a53a6c72837d9cd676 Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Tue, 8 Apr 2014 19:11:17 -0300 Subject: [PATCH] rdesktop 1.7.1 Current rdesktop 1.8 does not work properly on OSX, in particular keyboard and mouse events are not beint sent. See official issue: http://sourceforge.net/p/rdesktop/bugs/376/ This commit reverts to 1.7.1 and fixes an issue with missing symbols. Closes Homebrew/homebrew#28260. Closes Homebrew/homebrew#27947. Signed-off-by: Adam Vandenberg --- Formula/rdesktop.rb | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/Formula/rdesktop.rb b/Formula/rdesktop.rb index bccb2523ac..95ad0c5441 100644 --- a/Formula/rdesktop.rb +++ b/Formula/rdesktop.rb @@ -2,18 +2,48 @@ require 'formula' class Rdesktop < Formula homepage 'http://www.rdesktop.org/' - url 'https://downloads.sourceforge.net/project/rdesktop/rdesktop/1.8.1/rdesktop-1.8.1.tar.gz' - sha1 '57bb41f98ddf9eeef875c613d790fee37971d0f8' + url 'https://downloads.sourceforge.net/project/rdesktop/rdesktop/1.7.1/rdesktop-1.7.1.tar.gz' + sha1 'c718d0f49948a964c7ef8424b8ade73ecce3aba3' depends_on :x11 + patch :DATA + def install args = ["--prefix=#{prefix}", "--disable-credssp", "--disable-smartcard", # disable temporally before upstream fix "--with-openssl=#{MacOS.sdk_path}/usr", - "--x-includes=#{MacOS::X11.include}"] + "--x-includes=#{MacOS::X11.include}", + "--x-libraries=#{MacOS::X11.lib}"] system "./configure", *args system "make install" end end + +# Note: The patch below is meant to remove the reference to the undefined symbol +# SCARD_CTL_CODE. Since we are compiling with --disable-smartcard, we don't need +# it anyway (and it should probably have been #ifdefed in the original code). + +__END__ +diff --git a/scard.c b/scard.c +index caa0745..5521ee9 100644 +--- a/scard.c ++++ b/scard.c +@@ -2152,7 +2152,6 @@ TS_SCardControl(STREAM in, STREAM out) + { + /* Translate to local encoding */ + dwControlCode = (dwControlCode & 0x3ffc) >> 2; +- dwControlCode = SCARD_CTL_CODE(dwControlCode); + } + else + { +@@ -2198,7 +2197,7 @@ TS_SCardControl(STREAM in, STREAM out) + } + + #ifdef PCSCLITE_VERSION_NUMBER +- if (dwControlCode == SCARD_CTL_CODE(3400)) ++ if (0) + { + int i; + SERVER_DWORD cc;