packages: add mosh
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 8 Feb 2014 18:18:30 +0000 (18:18 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 8 Feb 2014 18:18:30 +0000 (18:18 +0000)
This adds mosh-full, mosh-server, and mosh-client packages.

The Entware team has already done the hard work:
http://code.google.com/p/wl500g-repo/source/browse/feeds/rtndev/mosh/Makefile?r=1220

All I added was a patch to disabled the check for UTF-8, which is not
available on our platform. (It works fine with the check disabled)
https://github.com/keithw/mosh/issues/464

This was originally requested here:
https://dev.openwrt.org/ticket/12509

This actually does work in conjunction with the openssh-client/server.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662939

Signed-off-by: Kyle Anderson <kyle@xkyle.com>
SVN-Revision: 39541

net/mosh/Makefile [new file with mode: 0644]
net/mosh/patches/disable-utf8-check.patch [new file with mode: 0644]

diff --git a/net/mosh/Makefile b/net/mosh/Makefile
new file mode 100644 (file)
index 0000000..b3fedc1
--- /dev/null
@@ -0,0 +1,107 @@
+#
+# Copyright (C) 2011-2013 Entware
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mosh
+PKG_VERSION:=1.2.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://mosh.mit.edu/
+PKG_MD5SUM:=c2d918f4d91fdc32546e2e089f9281b2
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/mosh/Default
+       SECTION:=utils
+       CATEGORY:=Utilities
+       TITLE:=Mosh mobile shell
+       DEPENDS:=+libncursesw +libopenssl +protobuf
+       URL:=http://mosh.mit.edu/
+endef
+
+define Package/mosh-client
+$(call Package/mosh/Default)
+ TITLE+= (client)
+endef
+
+define Package/mosh-server
+$(call Package/mosh/Default)
+ TITLE+= (client)
+endef
+
+define Package/mosh-full
+$(call Package/mosh/Default)
+ TITLE+= (client)
+ DEPENDS:= \
+    +mosh-client \
+    +mosh-server \
+    +perlbase-essential \
+    +perlbase-socket \
+    +perlbase-xsloader \
+    +perlbase-getopt \
+    +perlbase-errno \
+    +perlbase-config \
+    +perlbase-io \
+    +perlbase-symbol \
+    +perlbase-selectsaver \
+    +perlbase-posix \
+    +perlbase-autoloader \
+    +perlbase-fcntl \
+    +perlbase-tie
+endef
+
+
+define Package/mosh/Default/description
+ Mosh is a remote terminal application that allows roaming, supports
+ intermittent connectivity, and provides intelligent local echo and line
+ editing of user keystrokes.
+endef
+
+define Package/mosh-client/description
+$(call Package/mosh/Default/description)
+ This is a mosh client.
+endef
+
+define Package/mosh-server/description
+$(call Package/mosh/Default/description)
+ This is a mosh server.
+endef
+
+define Package/mosh-full/description
+$(call Package/mosh/Default/description)
+ This is a full package with perl wrapper script
+endef
+
+
+CONFIGURE_ARGS += \
+       --with-curses=$(STAGING_DIR)/usr \
+       --disable-hardening \
+       --without-utempter \
+
+define Package/mosh-client/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosh-client $(1)/usr/bin/
+endef
+
+define Package/mosh-server/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosh-server $(1)/usr/bin/
+endef
+
+define Package/mosh-full/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mosh $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,mosh-client))
+$(eval $(call BuildPackage,mosh-server))
+$(eval $(call BuildPackage,mosh-full))
diff --git a/net/mosh/patches/disable-utf8-check.patch b/net/mosh/patches/disable-utf8-check.patch
new file mode 100644 (file)
index 0000000..88525fb
--- /dev/null
@@ -0,0 +1,17 @@
+--- a/src/util/locale_utils.cc
++++ b/src/util/locale_utils.cc
+@@ -86,10 +86,10 @@ const char *locale_charset( void )
+ bool is_utf8_locale( void ) {
+   /* Verify locale calls for UTF-8 */
+-  if ( strcmp( locale_charset(), "UTF-8" ) != 0 &&
+-       strcmp( locale_charset(), "utf-8" ) != 0 ) {
+-    return 0;
+-  }
++  //if ( strcmp( locale_charset(), "UTF-8" ) != 0 &&
++  //    strcmp( locale_charset(), "utf-8" ) != 0 ) {
++  // return 0;
++  //}
+   return 1;
+ }