nproxy: import nxproxy to openembedded
authorHenning Heinold <heinold@inf.fu-berlin.de>
Sat, 6 Sep 2008 12:01:09 +0000 (12:01 +0000)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Sat, 6 Sep 2008 12:01:09 +0000 (12:01 +0000)
* nxproxy this binary linked against libxcomp, which controls a remote or
  local connection to the nxserver
* stdin.patch taken from debian, original posted by Fabian Franz
* second step for nx-client support in oe

packages/nxproxy/.mtn2git_empty [new file with mode: 0644]
packages/nxproxy/files/.mtn2git_empty [new file with mode: 0644]
packages/nxproxy/files/stdin.patch [new file with mode: 0644]
packages/nxproxy/nxproxy_3.2.0-1.bb [new file with mode: 0644]

diff --git a/packages/nxproxy/.mtn2git_empty b/packages/nxproxy/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/nxproxy/files/.mtn2git_empty b/packages/nxproxy/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/nxproxy/files/stdin.patch b/packages/nxproxy/files/stdin.patch
new file mode 100644 (file)
index 0000000..20c71db
--- /dev/null
@@ -0,0 +1,73 @@
+Patch taken from the debian unstable package
+original posted by Fabian Franz on the freenx mailinglist
+
+
+Index: nxproxy/Main.c
+--- nxproxy/Main.c.old 2007-07-18 17:39:13.000000000 +0200
++++ nxproxy/Main.c     2008-03-12 04:40:30.000000000 +0100
+@@ -36,28 +36,48 @@
+   int result = -1;
+   char *options = NULL;
+-
++  
++  char *nx_commfd_str = NULL;
++  
+   options = getenv("NX_DISPLAY");
+-
+-  if (NXTransParseCommandLine(argc, argv) < 0)
++  
++  if ((nx_commfd_str = getenv("NX_COMMFD")) != NULL)
+   {
+-    NXTransCleanup();
+-  }
++      int nx_commfd = atoi(nx_commfd_str);
+-  if (NXTransParseEnvironment(options, 0) < 0)
+-  {
+-    NXTransCleanup();
++      if (result)
++              result = NXTransCreate(nx_commfd, NX_MODE_SERVER, options);
++ 
++      // go into endless loop
++
++      if (result)
++      {
++              while (NXTransRunning(NX_FD_ANY))
++                      result = NXTransContinue(NULL);
++      }
+   }
++  else
++  {
++    if (NXTransParseCommandLine(argc, argv) < 0)
++    {
++      NXTransCleanup();
++    }
++
++    if (NXTransParseEnvironment(options, 0) < 0)
++    {
++      NXTransCleanup();
++    }
++
++   /*
++    * This should not return...
++    */
++
++    #ifdef TEST
++    fprintf(stderr, "Main: Yielding control to NX entry point.\n");
++    #endif
+-  /*
+-   * This should not return...
+-   */
+-
+-  #ifdef TEST
+-  fprintf(stderr, "Main: Yielding control to NX entry point.\n");
+-  #endif
+-
+-  result = NXTransProxy(NX_FD_ANY, NX_MODE_ANY, NX_DISPLAY_ANY);
++    result = NXTransProxy(NX_FD_ANY, NX_MODE_ANY, NX_DISPLAY_ANY);
++  }
+   /*
+    * ...So these should not be called.
diff --git a/packages/nxproxy/nxproxy_3.2.0-1.bb b/packages/nxproxy/nxproxy_3.2.0-1.bb
new file mode 100644 (file)
index 0000000..162945f
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "The binary which uses libxcomp from nomachine"
+HOMEPAGE = "http://www.nomachine.com/"
+LICENSE = "GPL"
+PR = "r0"
+
+DEPENDS = "libxcomp"
+
+SRC_URI = "http://64.34.161.181/download/3.2.0/sources/${PN}-${PV}.tar.gz \
+          file://stdin.patch;patch=1 \
+         "
+inherit autotools
+          
+S = "${WORKDIR}/nxproxy"
+
+do_install () {
+       install -d ${D}${bindir}/
+       install -s -m 0644 nxproxy ${D}${bindir}/
+}