rxtx: New recipe.
authorRobert Schuster <thebohemian@gmx.net>
Sat, 9 Feb 2008 02:44:00 +0000 (02:44 +0000)
committerRobert Schuster <thebohemian@gmx.net>
Sat, 9 Feb 2008 02:44:00 +0000 (02:44 +0000)
logic-analyzer: New recipe that uses rxtx.

packages/logic-analyzer/.mtn2git_empty [new file with mode: 0644]
packages/logic-analyzer/files/.mtn2git_empty [new file with mode: 0644]
packages/logic-analyzer/files/client-makefile.patch [new file with mode: 0644]
packages/logic-analyzer/files/cp-run-fix.patch [new file with mode: 0644]
packages/logic-analyzer/logic-analyzer_0.8.bb [new file with mode: 0644]
packages/rxtx/.mtn2git_empty [new file with mode: 0644]
packages/rxtx/files/.mtn2git_empty [new file with mode: 0644]
packages/rxtx/files/rxtx-fixes-from-debian.patch [new file with mode: 0644]
packages/rxtx/rxtx_2.1-7r2.bb [new file with mode: 0644]

diff --git a/packages/logic-analyzer/.mtn2git_empty b/packages/logic-analyzer/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/logic-analyzer/files/.mtn2git_empty b/packages/logic-analyzer/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/logic-analyzer/files/client-makefile.patch b/packages/logic-analyzer/files/client-makefile.patch
new file mode 100644 (file)
index 0000000..7b0b4b8
--- /dev/null
@@ -0,0 +1,426 @@
+Index: LogicAnalyzer/client/Makefile
+===================================================================
+--- LogicAnalyzer.orig/client/Makefile 2008-02-09 02:27:13.000000000 +0100
++++ LogicAnalyzer/client/Makefile      2008-02-09 02:28:34.000000000 +0100
+@@ -1,8 +1,412 @@
+-all:
+-      jar cfm analyzer.jar \
+-              Manifest.txt \
+-              org/sump/analyzer/*.class \
+-              org/sump/analyzer/tools/*.class \
+-              org/sump/analyzer/icons/*.png \
+-              org/sump/util/*.class \
+-              
+\ No newline at end of file
++#
++# Makefile created at Fri Feb  8 23:36:42 2008, by mmake
++#
++
++# Programs (with common options):
++SHELL         = /bin/sh
++CP            = cp
++RM              = rm -f
++MV              = mv -f
++SED           = sed
++ETAGS         = etags
++XARGS         = xargs
++CAT           = cat
++FIND            = find
++CPP           = cpp -C -P
++
++INSTALL         = install
++INSTALL_PROG    = $(INSTALL) -m $(MODE_PROGS)
++INSTALL_FILE    = $(INSTALL) -m $(MODE_FILES)
++INSTALL_DIR     = $(INSTALL) -m $(MODE_DIRS) -d
++
++# Install modes 
++MODE_PROGS      = 555
++MODE_FILES      = 444
++MODE_DIRS       = 2755
++
++# Build programs
++JAVAC           = ecj
++JAVADOC         = javadoc
++JAR             = fastjar
++
++# Build flags
++JAVAC_FLAGS     =
++JAVADOC_FLAGS   = -version -author
++JAR_FLAGS       = cvf0
++JIKES_DEP_FLAG        = +M
++
++# ------------------------------------------------------------------- #
++
++# Prefix for every install directory
++PREFIX                = 
++
++# Where to start installing the class files. Set this to an empty value
++#  if you dont want to install classes
++CLASS_DIR     = $(PREFIX)classes
++
++# The directory to install the jar file in. Set this to an empty value
++#  if you dont want to install a jar file
++JAR_DIR               = $(PREFIX)lib
++
++# The directory to install the app bundle in. Set this to an empty value
++#  if you dont want to install an app bundle
++BUNDLE_DIR      = $(PREFIX)lib
++
++
++# The directory to install html files generated by javadoc
++DOC_DIR         = $(PREFIX)doc/api-docs
++
++# The directory to install script files in
++SCRIPT_DIR    = $(PREFIX)bin
++
++# ------------------------------------------------------------------- #
++
++# The name of the jar file to install
++JAR_FILE        = analyzer.jar
++
++# 
++# The VERSION variable below should be set to a value 
++# that will be tested in the .xjava code and Info.plist. 
++# 
++VERSION               = CHANGE_ME
++
++# ------------------------------------------------------------------- #
++
++# The name of the OS X Application Bundle to install
++BUNDLE_FILE   = 
++
++# Folder containing App Bundle resources (Info.plist, *.icns, etc.)
++BUNDLE_RESOURCE_DIR = misc/macosx
++
++# Items to copy to the Resources folder of the bundle
++BUNDLE_RESOURCES = $(addsuffix .icns, $(basename $(APP_FILE)) Document)
++
++# Location of JavaApplicatonStub
++JAVA_STUB     = /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub
++
++# ------------------------------------------------------------------- #
++
++# Resource files:
++#  Extend the list to install other files of your choice
++RESOURCE_SRC  := *.properties *.gif *.au
++
++# Objects that should go into the jar file. (find syntax)
++JAR_OBJS      := \( -name '*.class' -o -name '*.gif' -o -name "*.au" \
++                     -o -name '*.properties' \
++                     -o -name '*.png' \)
++
++# Include the separate variables file if it exists
++MAKEFILE_VARS = makefile.vars
++VARS  = $(wildcard $(MAKEFILE_VARS))
++ifneq ($(VARS),)
++      include $(MAKEFILE_VARS)
++endif
++
++
++# Packages we should compile
++PACKAGES = \
++      org.sump.analyzer.tools \
++      org.sump.util \
++      org.sump.analyzer
++
++
++# All packages that can be recursively compiled.
++ALL_PACKAGES = \
++      org \
++      org.sump \
++      $(PACKAGES)
++
++
++# Packages to generate docs for.
++JAVADOC_PACKAGES = $(PACKAGES)
++
++
++# Resource packages
++RESOURCES = \
++      doc.resources
++
++
++# Directories with shell scripts
++SCRIPTS = 
++
++# ------------------------------------------------------------------- #
++
++# A marker variable for the top level directory
++TOPLEVEL      := .
++
++# Subdirectories with java files:
++JAVA_DIRS     := $(subst .,/,$(PACKAGES)) $(TOPLEVEL)
++
++# Subdirectories with only resource files:
++RESOURCE_DIRS := $(subst .,/,$(RESOURCES))
++
++# All the .xjava source files:
++XJAVA_SRC     := $(foreach dir, $(JAVA_DIRS), $(wildcard $(dir)/*.xjava))
++
++# All the xjava files to build
++XJAVA_OBJS    := $(XJAVA_SRC:.xjava=.java)
++
++# Directory coresponding to a package
++PACKAGE_DIR   = $(subst .,/,$(1))
++
++# All the (x)java files in a package
++PACKAGE_SRC   =  $(shell $(FIND) $(PACKAGE_DIR) \( -name '*.java' -or -name '*.xjava' \) )
++
++# All the classes to build in a package
++PACKAGE_OBJS  = $(patsubst %.java,%.class,$(PACKAGE_SRC: %.xjava=%.java))
++
++# All the .java source files:
++JAVA_SRC      := $(foreach dir, $(JAVA_DIRS), $(wildcard $(dir)/*.java))
++JAVA_SRC      := $(XJAVA_OBJS) $(JAVA_SRC)
++
++# Dependency files:
++DEPEND_OBJS   := $(JAVA_SRC:.java=.u)
++
++# The intermediate java files and main classes we should build:
++JAVA_OBJS     := $(XJAVA_OBJS) $(JAVA_SRC:.java=.class)
++
++#  Search for resource files in both JAVA_DIRS and RESOURCE_DIRS
++RESOURCE_OBJS := $(foreach dir, $(JAVA_DIRS) $(RESOURCE_DIRS), \
++                   $(wildcard $(foreach file, $(RESOURCE_SRC), \
++                   $(dir)/$(file))))
++
++# All the shell scripts source
++SCRIPT_SRCS   := $(foreach dir, $(SCRIPTS), $(wildcard $(dir)/*.sh))
++# All shell scripts we should install
++SCRIPT_OBJS           := $(SCRIPT_SRCS:.sh=)
++
++# All the files to install into CLASS_DIR
++INSTALL_OBJS  := $(foreach dir, $(JAVA_DIRS), $(wildcard $(dir)/*.class))
++# Escape inner class delimiter $
++INSTALL_OBJS  := $(subst $$,\$$,$(INSTALL_OBJS))
++# Add the resource files to be installed as well
++INSTALL_OBJS  := $(INSTALL_OBJS) $(RESOURCE_OBJS)
++
++
++# ------------------------------------------------------------------- #
++
++
++define check-exit
++|| exit 1
++
++endef
++
++
++# -----------
++# Build Rules
++# -----------
++
++%.java: %.xjava
++      $(CPP) -D$(VERSION) $< $@
++
++%.class: %.java
++      $(JAVAC) $(JAVAC_FLAGS) $<
++
++%.jar: $(JAVA_OBJS) $(RESOURCE_OBJS)
++      $(FIND) $(TOPLEVEL) $(JAR_OBJS) -print | $(XARGS) \
++      $(JAR) $(JAR_FLAGS) $(JAR_FILE) 
++
++%.u: %.java
++      $(JAVAC) $(JIKES_DEP_FLAG) $<
++
++
++# -------
++# Targets
++# -------
++
++.PHONY: all jar install uninstall doc clean depend tags bundle \
++      help $(ALL_PACKAGES)
++
++all:: $(JAVA_OBJS)
++
++help:
++      @echo "Usage: make {all|jar|srcjar|bundle|install|uninstall|doc|clean|depend|tags|PACKAGE_NAME}"
++      @echo " all: build all classes"
++      @echo " jar: build jar file"
++      @echo " srcjar: build source jar file"
++      @echo " bundle: build OS X app bundle"
++      @echo " install: install classes into $(CLASS_DIR)"
++      @echo "         jar into $(JAR_DIR)"
++      @echo "         bundle into $(BUNDLE_DIR)"
++      @echo "         javadocs into $(DOC_DIR)"
++      @echo "         scripts into $(SCRIPT_DIR)"
++      @echo " uninstall: remove installed files"
++      @echo " doc: generate api docs from javadoc comments"
++      @echo " clean: remove classes and temporary files"
++      @echo " depend: build class dependency info using jikes"
++      @echo " tags: build emacs tags file"
++      @echo " PACKAGE_NAME: builds all classes in this package and any subpackages."
++
++# Jar target
++ifneq ($(strip $(JAR_FILE)),)
++jar:  $(JAR_FILE)
++ifneq ($(strip $(JAR_DIR)),)
++install:: $(JAR_FILE)
++      @echo "===> [Installing jar file, $(JAR_FILE) in $(JAR_DIR)] "
++      $(INSTALL_DIR) $(JAR_DIR) $(check-exit)
++      $(INSTALL_FILE) $(JAR_FILE) $(JAR_DIR) $(check-exit)
++uninstall::
++      @echo "===> [Removing jar file, $(JAR_FILE) from $(JAR_DIR)] "
++      $(RM) $(JAR_DIR)/$(JAR_FILE)  $(check-exit)
++else
++install::
++      @echo "No jar install dir defined"
++endif
++clean::
++      $(RM) $(JAR_FILE)
++else
++jar:
++      @echo "No jar file defined"
++endif
++
++SRC_JAR_FILE := $(basename $(JAR_FILE))-src$(suffix $JAR_FILE)
++
++# Source jar target
++srcjar : $(SRC_JAR_FILE)
++$(SRC_JAR_FILE): $(JAVA_SRC) $(RESOURCE_OBJS)
++      $(FIND) $(TOPLEVEL) $(JAR_OBJS: .class=.java) -print | $(XARGS) \
++      $(JAR) $(JAR_FLAGS) $@
++
++# Bundle target
++ifneq ($(strip $(BUNDLE_FILE)),)
++bundle:  $(BUNDLE_FILE)
++$(BUNDLE_FILE) : $(JAR_FILE)
++      $(INSTALL_DIR) $(BUNDLE_FILE)/Contents/Resources/Java $(check-exit)
++      $(INSTALL_DIR) $(BUNDLE_FILE)/Contents/MacOS $(check-exit)
++      $(INSTALL_PROG) $(JAVA_STUB) $(BUNDLE_FILE)/Contents/MacOS/ \
++              $(check-exit)
++      ( $(CAT) $(BUNDLE_RESOURCE_DIR)/Info.plist | $(SED) -e \
++              s/VERSION/$(VERSION)/ >98762infoplist876 ) $(check-exit)
++      $(INSTALL_FILE) 98762infoplist876 \
++              $(BUNDLE_FILE)/Contents/Info.plist $(check-exit)
++      $(RM) 98762infoplist876 $(check-exit)
++      $(INSTALL_FILE) $(JAR_FILE) $(BUNDLE_FILE)/Contents/Resources/Java
++      checkexit="";for f in $(BUNDLE_RESOURCES); do \
++              $(INSTALL_FILE) $(BUNDLE_RESOURCE_DIR)$$f $(BUNDLE_FILE)/Contents/Resources/ \
++              || checkexit=$?; \
++              done; test -z $$checkexit
++
++ifneq ($(strip $(BUNDLE_DIR)),)
++# This is probably bad, but I don't know how else to do it
++install:: $(BUNDLE_FILE)
++      @echo "===> [Installing app bundle, $(BUNDLE_FILE) in $(BUNDLE_DIR)] "
++      $(INSTALL_DIR) $(BUNDLE_DIR) $(check-exit)
++      $(CP) -R $(BUNDLE_FILE) $(BUNDLE_DIR) $(check-exit)
++      $(INSTALL_FILE) $(BUNDLE_FILE) $(BUNDLE_DIR) $(check-exit)
++uninstall::
++      @echo "===> [Removing bundle file, $(BUNDLE_FILE) from $(BUNDLE_DIR)] "
++      $(RM) -r $(BUNDLE_DIR)/$(BUNDLE_FILE)  $(check-exit)
++else
++install::
++      @echo "No bundle install dir defined"
++endif
++clean::
++      $(RM) -r $(BUNDLE_FILE)
++else
++bundle:
++      @echo "No bundle file defined"
++endif
++
++
++# Install target for Classes and Resources 
++ifneq ($(strip $(CLASS_DIR)),)
++install:: $(JAVA_OBJS)
++      @echo "===> [Installing classes in $(CLASS_DIR)] "
++      $(INSTALL_DIR) $(CLASS_DIR) $(check-exit)
++      $(foreach dir, $(JAVA_DIRS) $(RESOURCE_DIRS), \
++              $(INSTALL_DIR) $(CLASS_DIR)/$(dir) $(check-exit))
++      $(foreach file, $(INSTALL_OBJS), \
++              $(INSTALL_FILE) $(file) $(CLASS_DIR)/$(file) \
++      $(check-exit))
++uninstall::
++      @echo "===> [Removing class-files from $(CLASS_DIR)] "
++      $(foreach file, $(INSTALL_OBJS), \
++              $(RM) $(CLASS_DIR)/$(file) \
++      $(check-exit))
++else
++# Print a warning here if you like. (No class install dir defined)
++endif
++
++
++
++# Depend target
++ifeq ($(findstring jikes,$(JAVAC)),jikes)
++depend: $(XJAVA_OBJS) $(DEPEND_OBJS)
++      ( $(CAT) $(DEPEND_OBJS) |  $(SED) -e '/\.class$$/d' \
++        -e '/.*$$.*/d' > $(MAKEFILE_DEPEND); $(RM) $(DEPEND_OBJS); )
++else
++depend:
++      @echo "mmake needs the jikes compiler to build class dependencies"
++endif
++
++
++
++# Doc target
++ifneq ($(strip $(JAVADOC_PACKAGES)),)
++doc:  $(JAVA_SRC)
++      @echo "===> [Installing java documentation in $(DOC_DIR)] "
++      $(INSTALL_DIR) $(DOC_DIR) $(check-exit)
++      $(JAVADOC) $(JAVADOC_FLAGS) -d $(DOC_DIR) $(JAVADOC_PACKAGES)
++else
++doc:
++      @echo "You must put your source files in a package to run make doc"
++endif
++
++
++
++# Script target
++ifneq ($(strip  $(SCRIPT_OBJS)),)
++all::  $(SCRIPT_OBJS)
++ifneq ($(strip $(SCRIPT_DIR)),)
++install:: $(SCRIPT_OBJS)
++      @echo "===> [Installing shell-scripts in $(SCRIPT_DIR)] "
++      $(INSTALL_DIR) $(SCRIPT_DIR) $(check-exit)
++      $(foreach file, $(SCRIPT_OBJS), \
++              $(INSTALL_PROG) $(file) $(SCRIPT_DIR) $(check-exit))
++uninstall:: 
++      @echo "===> [Removing shell-scripts from $(SCRIPT_DIR)] "
++      $(foreach file, $(SCRIPT_OBJS), \
++              $(RM) $(SCRIPT_DIR)/$(file) $(check-exit))
++else
++# Print a warning here if you like. (No script install dir defined)
++endif
++clean::
++      rm -f $(SCRIPT_OBJS)
++endif
++
++
++
++# Tag target
++tags: 
++      @echo "Tagging"
++      $(ETAGS) $(filter-out $(XJAVA_OBJS), $(JAVA_SRC)) $(XJAVA_SRC)
++
++
++
++# Various cleanup routines
++clean::
++      $(FIND) . \( -name '*~' -o -name '*.class' \) -print | \
++      $(XARGS) $(RM) 
++      $(FIND) . -name '*.u' -print | $(XARGS) $(RM)
++
++ifneq ($(strip $(XJAVA_SRC)),)
++clean::
++      $(RM) $(XJAVA_OBJS)
++endif
++
++# ----------------------------------------
++# Include the dependency graph if it exist
++# ----------------------------------------
++MAKEFILE_DEPEND       = makefile.dep
++DEPEND        = $(wildcard $(MAKEFILE_DEPEND))
++ifneq ($(DEPEND),)
++      include $(MAKEFILE_DEPEND)
++endif
++
++#package targets
++org : $(call PACKAGE_OBJS,org)
++org.sump : $(call PACKAGE_OBJS,org.sump)
++org.sump.analyzer.tools : $(call PACKAGE_OBJS,org.sump.analyzer.tools)
++org.sump.util : $(call PACKAGE_OBJS,org.sump.util)
++org.sump.analyzer : $(call PACKAGE_OBJS,org.sump.analyzer)
++
diff --git a/packages/logic-analyzer/files/cp-run-fix.patch b/packages/logic-analyzer/files/cp-run-fix.patch
new file mode 100644 (file)
index 0000000..401f3bb
--- /dev/null
@@ -0,0 +1,26 @@
+Index: LogicAnalyzer/client/org/sump/analyzer/Loader.java
+===================================================================
+--- LogicAnalyzer.orig/client/org/sump/analyzer/Loader.java    2008-02-08 23:34:14.000000000 +0100
++++ LogicAnalyzer/client/org/sump/analyzer/Loader.java 2008-02-08 23:46:40.000000000 +0100
+@@ -90,12 +90,19 @@
+                       }
+               }
+               
+-              try {
+-                      SwingUtilities.invokeAndWait(w);
++//            try {
++
++      /* Constructing and running the GUI from withing the Swing thread
++      is right and nice but does not work in Classpath (yet):
++      */
++//                    SwingUtilities.invokeAndWait(w);
++                      w.run();
++/*
+               } catch (Exception e) {
+                       System.out.println("Error while invoking application: " + e.getMessage() + "\n");
+                       e.printStackTrace();
+                       System.exit(-1);
+               }
++*/
+       }
+ }
diff --git a/packages/logic-analyzer/logic-analyzer_0.8.bb b/packages/logic-analyzer/logic-analyzer_0.8.bb
new file mode 100644 (file)
index 0000000..ce69109
--- /dev/null
@@ -0,0 +1,38 @@
+DESCRIPTION = "A Java-based logical analyzer for home use."
+LICENSE = "GPL"
+MAINTAINER = "Robert Schuster, tarent GmbH Bonn <robert.schuster@tarent.de>"
+HOMEPAGE = "http://sump.org/projects/analyzer/"
+
+inherit java
+
+DEPENDS = "rxtx"
+RDEPENDS = "librxtx-java"
+
+SRC_URI = "\
+    http://sump.org/projects/analyzer/downloads/la-src-${PV}.tar.bz2 \
+    file://cp-run-fix.patch;patch=1 \
+    file://client-makefile.patch;patch=1 \
+    "
+
+S = "${WORKDIR}/LogicAnalyzer"
+
+do_compile() {
+
+  oe_runmake -C client all jar \
+    JAVAC_FLAGS="-sourcepath . -bootclasspath ${STAGING_DATADIR_NATIVE}/classpath/glibj.zip -classpath ${STAGING_DATADIR}/java/RXTXcomm.jar"
+
+  oe_java_simple_wrapper org.sump.analyzer.Loader analyzer.jar RXTXcomm.jar
+}
+
+do_install() {
+  oe_jarinstall client/analyzer.jar
+
+  install -d ${D}${bindir}
+  install -m 0555 ${PN} ${D}${bindir}
+}
+
+PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir_java}/analyzer.jar ${bindir}/${PN}"
+
+PACKAGE_ARCH = "all"
diff --git a/packages/rxtx/.mtn2git_empty b/packages/rxtx/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/rxtx/files/.mtn2git_empty b/packages/rxtx/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/rxtx/files/rxtx-fixes-from-debian.patch b/packages/rxtx/files/rxtx-fixes-from-debian.patch
new file mode 100644 (file)
index 0000000..0e35eb7
--- /dev/null
@@ -0,0 +1,235 @@
+Index: rxtx-2.1-7r2/configure
+===================================================================
+--- rxtx-2.1-7r2.orig/configure        2008-02-09 02:08:40.000000000 +0100
++++ rxtx-2.1-7r2/configure     2008-02-09 02:09:02.000000000 +0100
+@@ -21501,7 +21501,7 @@
+       case $JAVA_VENDOR in
+       Tran*)
+               find_java_native_include jni.h
+-              JAVAH="\$(JPATH)/bin/kaffeh -classpath \$(CLASSPATH) -d \$(DEST) -jni"
++              JAVAH="\$(JPATH)/bin/kaffeh -classpath \$(JPATH)/jre/lib/rt.jar:\$(CLASSPATH) -d \$(DEST) -jni"
+               JAVAC="\$(JPATH)/bin/javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3"
+               JAR="\$(JPATH)/bin/jar"
+               JAVADOC="\$(JPATH)/bin/javadoc -classpath \$(CLASSPATH)"
+@@ -21513,7 +21513,7 @@
+               ;;
+       *)
+               find_java_native_include jni_md.h
+-              JAVAH="\$(JPATH)/bin/javah -classpath \$(CLASSPATH) -d \$(DEST) -jni"
++              JAVAH="\$(JPATH)/bin/javah -classpath \$(JPATH)/jre/lib/rt.jar:\$(CLASSPATH) -d \$(DEST) -jni"
+               JAVAC="\$(JPATH)/bin/javac -classpath \$(CLASSPATH) -d \$(TOP)/ -O -source 1.3 -target 1.3"
+               JAR="\$(JPATH)/bin/jar"
+               JAVADOC="\$(JPATH)/bin/javadoc"
+@@ -21541,7 +21541,7 @@
+       CFLAGS=$CFLAGS" -D__need_timespec"
+       case $JAVA_VERSION in
+-      1.2*|1.3*|1.4*|1.5*)
++      1.2*|1.3*|1.4*|1.5*|1.6*)
+               #fix_parameters $JPATH/jre/lib/javax.comm.properties
+               CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1`
+               JHOME=$JPATH"/jre/lib/ext"
+@@ -21611,7 +21611,7 @@
+       TARGETLIB="\$(target_triplet)/librxtxSerial.la \
+                       \$(target_triplet)/librxtxParallel.la"
+       case $JAVA_VERSION in
+-      1.2*|1.3*|1.4*|1.5*)
++      1.2*|1.3*|1.4*|1.5*|1.6*)
+               #fix_parameters $JPATH/jre/lib/javax.comm.properties
+               CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1`
+               RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
+@@ -21747,7 +21747,7 @@
+ WIN32)
+       case $JAVA_VERSION in
+-      1.2*|1.3*|1.4*|1.5*)
++      1.2*|1.3*|1.4*|1.5*|1.6*)
+               CLASSPATH=".:\$(TOP):\$(TOP)/src:`find $JPATH/ -name RXTXcomm.jar |head -n1`:$CLASSPATH"
+               JHOME=$JPATH"/jre/lib/ext"
+       ;;
+@@ -21799,7 +21799,7 @@
+       CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH"
+       case $JAVA_VERSION in
+-      1.2*|1.3*|1.4*|1.5*)
++      1.2*|1.3*|1.4*|1.5*|1.6*)
+               RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
+       ;;
+       1.1*)
+Index: rxtx-2.1-7r2/src/I2CImp.c
+===================================================================
+--- rxtx-2.1-7r2.orig/src/I2CImp.c     2004-10-17 16:23:02.000000000 +0200
++++ rxtx-2.1-7r2/src/I2CImp.c  2008-02-09 02:09:02.000000000 +0100
+@@ -22,8 +22,8 @@
+ #include "config.h"
+ #include "gnu_io_I2C.h"
+ #endif /* dima */
+-#include <time.h>
+ #include <unistd.h>
++#include <time.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -88,6 +88,7 @@
+ #endif /* !__FreeBSD__ */
+ #if defined(__linux__) 
+       /* Lets let people who upgraded kernels know they may have problems */
++      /*
+       if (uname (&name) == -1)
+       {
+               fprintf(stderr,"RXTX WARNING:  cannot get system name\n");
+@@ -98,6 +99,7 @@
+               fprintf(stderr, "\n\n\nRXTX WARNING:  This library was compiled to run with OS release %s and you are currently running OS release %s.  In some cases this can be a problem.  Try recompiling RXTX if you notice strange behavior.  If you just compiled RXTX make sure /usr/include/linux is a symbolic link to the include files that came with the kernel source and not an older copy.\n\n\npress enter to continue\n",UTS_RELEASE,name.release);
+               getchar();
+       }
++      */
+ #endif /* __linux__ */
+ #endif /* WIN32 */
+ }
+Index: rxtx-2.1-7r2/Makefile.in
+===================================================================
+--- rxtx-2.1-7r2.orig/Makefile.in      2008-02-09 02:08:40.000000000 +0100
++++ rxtx-2.1-7r2/Makefile.in   2008-02-09 02:09:02.000000000 +0100
+@@ -556,6 +556,7 @@
+ $(CLASSES): $(javafiles) $(TOP)/Makefile
+       $(JAVAH_FIX)
+       $(JAVAC) $(javafiles)
++      mkdir $(DEST)
+       $(JAVAH) `(for i in $(javahfiles);do \
+               if grep > /dev/null native.*\( $(SPATH)/$$i.java; then \
+                       echo $(CLASSDIR).$$i; \
+@@ -572,7 +573,7 @@
+                       echo $$i; \
+               fi; \
+       done` $(RXTX_PATH)
+-      $(INSTALL_PROGRAM) $(JARTARGET) $(JHOME)/
++      $(INSTALL_DATA) $(JARTARGET) $(JHOME)/
+ clean-generic:
+       rm -rf $(DEST) $(TOP)/$(CLASSTOP)
+Index: rxtx-2.1-7r2/src/ParallelImp.c
+===================================================================
+--- rxtx-2.1-7r2.orig/src/ParallelImp.c        2005-06-10 21:50:31.000000000 +0200
++++ rxtx-2.1-7r2/src/ParallelImp.c     2008-02-09 02:09:02.000000000 +0100
+@@ -38,8 +38,8 @@
+ /*#include <typedefs_md.h>*/
+ #include "gnu_io_LPRPort.h"
+ #endif /* dima */
+-#include <time.h>
+ #include <unistd.h>
++#include <time.h>
+ #include <stdio.h>
+ #include <string.h>
+ #ifndef WIN32
+Index: rxtx-2.1-7r2/src/RawImp.c
+===================================================================
+--- rxtx-2.1-7r2.orig/src/RawImp.c     2008-02-09 02:08:40.000000000 +0100
++++ rxtx-2.1-7r2/src/RawImp.c  2008-02-09 02:09:02.000000000 +0100
+@@ -31,8 +31,8 @@
+ #include "config.h"
+ #include "gnu_io_Raw.h"
+ #endif /* dima */
+-#include <time.h>
+ #include <unistd.h>
++#include <time.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -232,6 +232,7 @@
+ #endif /* !__FreeBSD__ */
+ #if defined(__linux__) 
+       /* Lets let people who upgraded kernels know they may have problems */
++      /*
+       if (uname (&name) == -1)
+       {
+               fprintf(stderr,"RXTX WARNING:  cannot get system name\n");
+@@ -242,6 +243,7 @@
+               fprintf(stderr, "\n\n\nRXTX WARNING:  This library was compiled to run with OS release %s and you are currently running OS release %s.  In some cases this can be a problem.  Try recompiling RXTX if you notice strange behavior.  If you just compiled RXTX make sure /usr/include/linux is a symbolic link to the include files that came with the kernel source and not an older copy.\n\n\npress enter to continue\n",UTS_RELEASE,name.release);
+               getchar();
+       }
++      */
+ #endif /* __linux__ */
+ #endif /* WIN32 */
+ }
+Index: rxtx-2.1-7r2/src/RS485Imp.c
+===================================================================
+--- rxtx-2.1-7r2.orig/src/RS485Imp.c   2004-10-16 18:20:35.000000000 +0200
++++ rxtx-2.1-7r2/src/RS485Imp.c        2008-02-09 02:09:02.000000000 +0100
+@@ -22,8 +22,8 @@
+ #include "config.h"
+ #include "gnu_io_RS485.h"
+ #endif /* dima */
+-#include <time.h>
+ #include <unistd.h>
++#include <time.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -88,6 +88,7 @@
+ #endif /* !__FreeBSD__ */
+ #if defined(__linux__) 
+       /* Lets let people who upgraded kernels know they may have problems */
++      /*
+       if (uname (&name) == -1)
+       {
+               fprintf(stderr,"RXTX WARNING:  cannot get system name\n");
+@@ -98,6 +99,7 @@
+               fprintf(stderr, "\n\n\nRXTX WARNING:  This library was compiled to run with OS release %s and you are currently running OS release %s.  In some cases this can be a problem.  Try recompiling RXTX if you notice strange behavior.  If you just compiled RXTX make sure /usr/include/linux is a symbolic link to the include files that came with the kernel source and not an older copy.\n\n\npress enter to continue\n",UTS_RELEASE,name.release);
+               getchar();
+       }
++      */
+ #endif /* __linux__ */
+ #endif /* WIN32 */
+ }
+Index: rxtx-2.1-7r2/src/SerialImp.c
+===================================================================
+--- rxtx-2.1-7r2.orig/src/SerialImp.c  2008-02-09 02:08:40.000000000 +0100
++++ rxtx-2.1-7r2/src/SerialImp.c       2008-02-09 02:09:02.000000000 +0100
+@@ -27,10 +27,10 @@
+ #ifdef __LCC__ /* windows lcc compiler for fd_set. probably wrong */
+ #   include<winsock.h>
+ #endif /* __LCC__ */
+-#include <time.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <time.h>
+ #include <errno.h>
+ #include <limits.h>
+ #include <sys/stat.h>
+@@ -281,6 +281,7 @@
+ #endif /* DEBUG_TIMING */
+ #if defined(DEBUG) && defined(__linux__)
+       /* Lets let people who upgraded kernels know they may have problems */
++      /*
+       if (uname (&name) == -1)
+       {
+               report( "RXTX WARNING:  cannot get system name\n" );
+@@ -294,6 +295,7 @@
+               report( message );
+               getchar();
+       }
++      */
+       LEAVE( "RXTXPort:Initialize" );
+ #endif /* DEBUG && __linux__ */
+ }
+Index: rxtx-2.1-7r2/src/SerialImp.cpp
+===================================================================
+--- rxtx-2.1-7r2.orig/src/SerialImp.cpp        2004-10-12 10:59:27.000000000 +0200
++++ rxtx-2.1-7r2/src/SerialImp.cpp     2008-02-09 02:09:02.000000000 +0100
+@@ -103,6 +103,7 @@
+ #endif /* !__FreeBSD__ */
+ #ifdef DEBUG
+       /* Lets let people who upgraded kernels know they may have problems */
++      /*
+       if (uname (&name) == -1)
+       {
+               report("RXTX WARNING:  cannot get system name\n");
+@@ -114,6 +115,7 @@
+                       name.release);
+               getchar();
+       }
++      */
+ #endif /* DEBUG */
+ #endif /* __BEOS__ */
+ #endif /* WIN32 */
diff --git a/packages/rxtx/rxtx_2.1-7r2.bb b/packages/rxtx/rxtx_2.1-7r2.bb
new file mode 100644 (file)
index 0000000..e91a406
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "RXTX provides serial and parallel communication for Java applications"
+LICENSE = "LGPL"
+SECTION = "libs"
+MAINTAINER = "Robert Schuster, tarent GmbH Bonn <robert.schuster@tarent.de>"
+HOMEPAGE = "http://rxtx.org"
+
+inherit autotools java-library
+
+SRC_URI = "\
+    http://rxtx.qbang.org/pub/rxtx/${PN}-${PV}.zip \
+    file://rxtx-fixes-from-debian.patch;patch=1 \
+    "
+
+do_install() {
+  install -d ${D}/${libdir_jni}
+  install -d ${D}/${datadir_java}
+
+  oe_runmake install \
+    RXTX_PATH=${D}/${libdir_jni} \
+    JHOME=${D}/${datadir_java}
+}
+
+do_stage() {
+  oe_jarinstall -s RXTXcomm.jar
+}
+
+PACKAGES = "${JPN} lib${PN}-jni lib${PN}-dev lib${PN}-jni-dbg"
+
+FILES_lib${PN}-jni = "${libdir_jni}/lib*.so"
+FILES_lib${PN}-dev = "${libdir_jni}/lib*.la"
+FILES_lib${PN}-jni-dbg = "${libdir_jni}/.debug/lib*.so"