summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in3
-rw-r--r--package/rdesktop/Config.in12
-rw-r--r--package/rdesktop/rdesktop-8bit-colors.patch21
-rw-r--r--package/rdesktop/rdesktop.mk60
4 files changed, 95 insertions, 1 deletions
diff --git a/package/Config.in b/package/Config.in
index e885391a2..d8a6317ee 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -253,8 +253,9 @@ comment "Window managers"
source "package/microwin/Config.in"
source "package/metacity/Config.in"
comment "X applications"
-source "package/rxvt/Config.in"
source "package/dillo/Config.in"
+source "package/rdesktop/Config.in"
+source "package/rxvt/Config.in"
endif
diff --git a/package/rdesktop/Config.in b/package/rdesktop/Config.in
new file mode 100644
index 000000000..c0af3bfa0
--- /dev/null
+++ b/package/rdesktop/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_RDESKTOP
+ bool "rdesktop"
+ select BR2_PACKAGE_XORG
+ select BR2_PACKAGE_OPENSSL
+ default n
+ help
+ rdesktop is an open source client for Windows NT Terminal
+ Server and Windows 2000/2003 Terminal Services, capable of
+ natively speaking Remote Desktop Protocol (RDP) in order to
+ present the user's NT desktop.
+
+ http://rdesktop.sf.net/
diff --git a/package/rdesktop/rdesktop-8bit-colors.patch b/package/rdesktop/rdesktop-8bit-colors.patch
new file mode 100644
index 000000000..710f8debe
--- /dev/null
+++ b/package/rdesktop/rdesktop-8bit-colors.patch
@@ -0,0 +1,21 @@
+diff -urpN rdesktop-1.5.0-orig/xwin.c rdesktop-1.5.0/xwin.c
+--- rdesktop-1.5.0-orig/xwin.c 2007-01-17 12:01:18.000000000 +0100
++++ rdesktop-1.5.0/xwin.c 2007-01-17 12:05:02.000000000 +0100
+@@ -1461,7 +1461,7 @@ select_visual(int screen_num)
+ }
+
+ /* we use a colourmap, so the default visual should do */
+- g_owncolmap = True;
++// g_owncolmap = True;
+ g_visual = vmatches[0].visual;
+ g_depth = vmatches[0].depth;
+ }
+@@ -1568,7 +1568,7 @@ ui_init(void)
+ {
+ g_xcolmap =
+ XCreateColormap(g_display, RootWindowOfScreen(g_screen), g_visual,
+- AllocNone);
++ (g_depth <= 8) ? AllocAll : AllocNone);
+ if (g_depth <= 8)
+ warning("Display colour depth is %d bit: you may want to use -C for a private colourmap.\n", g_depth);
+ }
diff --git a/package/rdesktop/rdesktop.mk b/package/rdesktop/rdesktop.mk
new file mode 100644
index 000000000..6acd28bba
--- /dev/null
+++ b/package/rdesktop/rdesktop.mk
@@ -0,0 +1,60 @@
+#############################################################
+#
+# rdesktop
+#
+#############################################################
+
+RDESKTOP_VERSION=1.5.0
+RDESKTOP_SOURCE=rdesktop-$(RDESKTOP_VERSION).tar.gz
+RDESKTOP_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/rdesktop/
+RDESKTOP_DIR=$(BUILD_DIR)/rdesktop-$(RDESKTOP_VERSION)
+RDESKTOP_CAT:=$(ZCAT)
+
+$(DL_DIR)/$(RDESKTOP_SOURCE):
+ $(WGET) -P $(DL_DIR) $(RDESKTOP_SITE)/$(RDESKTOP_SOURCE)
+
+$(RDESKTOP_DIR)/.unpacked: $(DL_DIR)/$(RDESKTOP_SOURCE)
+ $(RDESKTOP_CAT) $(DL_DIR)/$(RDESKTOP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(RDESKTOP_DIR) package/rdesktop/ \*.patch*
+ touch $(RDESKTOP_DIR)/.unpacked
+
+$(RDESKTOP_DIR)/.configured: $(RDESKTOP_DIR)/.unpacked
+ (cd $(RDESKTOP_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=/usr \
+ --with-openssl=$(STAGING_DIR) \
+ --sysconfdir=/etc \
+ );
+ read
+ touch $(RDESKTOP_DIR)/.configured
+
+$(RDESKTOP_DIR)/rdesktop: $(RDESKTOP_DIR)/.configured
+ $(MAKE) CC=$(TARGET_CC) -C $(RDESKTOP_DIR)
+
+$(RDESKTOP_DIR)/.installed: $(RDESKTOP_DIR)/rdesktop
+ cp $(RDESKTOP_DIR)/rdesktop $(TARGET_DIR)/usr/bin
+ touch $(RDESKTOP_DIR)/.installed
+
+rdesktop: uclibc xorg openssl $(RDESKTOP_DIR)/.installed
+
+rdesktop-source: $(DL_DIR)/$(RDESKTOP_SOURCE)
+
+rdesktop-clean:
+ @if [ -d $(RDESKTOP_DIR)/Makefile ] ; then \
+ $(MAKE) -C $(RDESKTOP_DIR) clean ; \
+ fi;
+
+rdesktop-dirclean:
+ rm -rf $(RDESKTOP_DIR) $(RDESKTOP_DIR)
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_RDESKTOP)),y)
+TARGETS+=rdesktop
+endif