From 6669ffcf51d1c2e728bca4834cd279c94d630b30 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Mon, 10 Apr 2006 14:42:25 +0000
Subject: [PATCH] Add vncrepeater, with uClibc++ linking, needs therefore
 testing

SVN-Revision: 3605
---
 openwrt/package/Config.in                     |  1 +
 openwrt/package/Makefile                      |  1 +
 openwrt/package/depend.mk                     |  1 +
 openwrt/package/vncrepeater/Config.in         | 17 ++++++++
 openwrt/package/vncrepeater/Makefile          | 39 +++++++++++++++++++
 .../vncrepeater/ipkg/vncrepeater.control      |  5 +++
 .../patches/01-uclibcxx_linking.patch         | 23 +++++++++++
 7 files changed, 87 insertions(+)
 create mode 100644 openwrt/package/vncrepeater/Config.in
 create mode 100644 openwrt/package/vncrepeater/Makefile
 create mode 100644 openwrt/package/vncrepeater/ipkg/vncrepeater.control
 create mode 100644 openwrt/package/vncrepeater/patches/01-uclibcxx_linking.patch

diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index 619578024e..05e7da6385 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -172,6 +172,7 @@ source "package/udp-broadcast-relay/Config.in"
 source "package/ulogd/Config.in"
 source "package/updatedd/Config.in"
 source "package/vgp/Config.in"
+source "package/vncrepeater/Config.in"
 source "package/vnc-reflector/Config.in"
 source "package/vnstat/Config.in"
 source "package/vpnc/Config.in"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index fa78d4ad11..0004c0e4cb 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -260,6 +260,7 @@ package-$(BR2_COMPILE_UTIL_LINUX) += util-linux
 package-$(BR2_PACKAGE_UDEV) += udev
 package-$(BR2_PACKAGE_VIM) += vim
 package-$(BR2_PACKAGE_VGP) += vgp
+package-$(BR2_PACKAGE_VNCREPEATER) += vncrepeater
 package-$(BR2_PACKAGE_VNC_REFLECTOR) += vnc-reflector
 package-$(BR2_PACKAGE_VNSTAT) += vnstat
 package-$(BR2_PACKAGE_VPNC) += vpnc
diff --git a/openwrt/package/depend.mk b/openwrt/package/depend.mk
index 6ed55179bd..8e4eb56717 100644
--- a/openwrt/package/depend.mk
+++ b/openwrt/package/depend.mk
@@ -102,6 +102,7 @@ tinc-compile: zlib-compile openssl-compile liblzo-compile
 tor-compile: libevent-compile openssl-compile zlib-compile
 usbutils-compile: libusb-compile
 vim-compile: ncurses-compile
+vncrepeater-compile: uclibc++-compile
 vnc-reflector-compile: jpeg-compile zlib-compile
 vpnc-compile: libgcrypt-compile libgpg-error-compile
 vtun-compile: zlib-compile openssl-compile liblzo-compile
diff --git a/openwrt/package/vncrepeater/Config.in b/openwrt/package/vncrepeater/Config.in
new file mode 100644
index 0000000000..418f48509a
--- /dev/null
+++ b/openwrt/package/vncrepeater/Config.in
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_VNCREPEATER
+	prompt "vncrepeater....................... UltraVNC repeater for Linux"
+	tristate
+	default m if CONFIG_DEVEL
+	select BR2_PACKAGE_UCLIBCXX
+	help
+	  Viewer can be behind Nat router or directly connected to the internet
+
+	  Instead of forwarding serveral ports, you only need to forward 1 port
+
+	  If the PC that runs the Repeater has access to the local DNS server, 
+	  you can use your local DNS names instead of 10.10.10.12.
+
+	  This could be handy when you have a dynamic DHCP server allocating 
+	  ip adresses for your PC.
+
+	  http://ultravnc.sourceforge.net/addons/repeater.html
diff --git a/openwrt/package/vncrepeater/Makefile b/openwrt/package/vncrepeater/Makefile
new file mode 100644
index 0000000000..52b2420a62
--- /dev/null
+++ b/openwrt/package/vncrepeater/Makefile
@@ -0,0 +1,39 @@
+# $Id: Makefile 3112 2006-02-01 23:53:19Z mbm $
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=vncrepeater
+PKG_VERSION:=0.007
+PKG_RELEASE:=1
+PKG_MD5SUM:=7e13b0b784d683473d418f7295aff500
+
+PKG_SOURCE_URL:=http://downloads.openwrt.org
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,VNCREPEATER,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+	touch $@
+
+$(PKG_BUILD_DIR)/.built:
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		CC=$(TARGET_CC) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		repeater
+	touch $@
+
+$(IPKG_VNCREPEATER):
+	install -d -m0755 $(IDIR_VNCREPEATER)/usr/sbin
+	$(CP) $(PKG_BUILD_DIR)/repeater $(IDIR_VNCREPEATER)/usr/sbin/$(PKG_NAME)
+	$(RSTRIP) $(IDIR_VNCREPEATER)
+	$(IPKG_BUILD) $(IDIR_VNCREPEATER) $(PACKAGE_DIR)
+
diff --git a/openwrt/package/vncrepeater/ipkg/vncrepeater.control b/openwrt/package/vncrepeater/ipkg/vncrepeater.control
new file mode 100644
index 0000000000..3996c86075
--- /dev/null
+++ b/openwrt/package/vncrepeater/ipkg/vncrepeater.control
@@ -0,0 +1,5 @@
+Package: vncrepeater
+Section: net
+Depends: uclibc++
+Priority: optional
+Description: UltraVNC repeater for Linux
diff --git a/openwrt/package/vncrepeater/patches/01-uclibcxx_linking.patch b/openwrt/package/vncrepeater/patches/01-uclibcxx_linking.patch
new file mode 100644
index 0000000000..7df92a01b6
--- /dev/null
+++ b/openwrt/package/vncrepeater/patches/01-uclibcxx_linking.patch
@@ -0,0 +1,23 @@
+diff -urN vncrepeater-0.007/Makefile vncrepeater-0.007.new/Makefile
+--- vncrepeater-0.007/Makefile	2005-10-03 20:22:48.000000000 +0200
++++ vncrepeater-0.007.new/Makefile	2006-04-10 16:15:50.495599944 +0200
+@@ -1,15 +1,15 @@
+ CFLAGS=-Wall
+ repeater: repeater.o repeaterproc.o openbsd_stringfuncs.o
+-	g++ $(CFLAGS) -o repeater repeater.o repeaterproc.o openbsd_stringfuncs.o
++	$(CC) $(CFLAGS) -o repeater repeater.o repeaterproc.o openbsd_stringfuncs.o -nodefaultlibs -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -luClibc++
+ 
+ repeater.o: repeater.cpp
+-	g++ $(CFLAGS) -c repeater.cpp
++	$(CC) $(CFLAGS) -c repeater.cpp
+ 
+ repeaterproc.o: repeaterproc.cpp
+-	g++ $(CFLAGS) -c repeaterproc.cpp
++	$(CC) $(CFLAGS) -c repeaterproc.cpp
+ 
+ openbsd_stringfuncs.o: openbsd_stringfuncs.cpp
+-	g++ $(CFLAGS) -c openbsd_stringfuncs.cpp
++	$(CC) $(CFLAGS) -c openbsd_stringfuncs.cpp
+ 
+ clean:
+ 	rm -f *.o repeater
-- 
2.30.2