mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-21 04:06:46 +00:00
Library for working with serial ports in Java.
WWW: https://github.com/scream3r/java-simple-serial-connector PR: 213758 Submitted by: bsdports@kyle-evans.net
This commit is contained in:
parent
010f3fdb76
commit
658f5275a5
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=424647
@ -70,6 +70,7 @@
|
||||
SUBDIR += ibp
|
||||
SUBDIR += java-commapi
|
||||
SUBDIR += java-commapi-freebsd
|
||||
SUBDIR += java-simple-serial-connector
|
||||
SUBDIR += jerm
|
||||
SUBDIR += jsdr
|
||||
SUBDIR += kb
|
||||
|
45
comms/java-simple-serial-connector/Makefile
Normal file
45
comms/java-simple-serial-connector/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= java-simple-serial-connector
|
||||
PORTVERSION= 2.8.0
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= comms java
|
||||
|
||||
MAINTAINER= bsdports@kyle-evans.net
|
||||
COMMENT= Library for working with serial ports from Java
|
||||
|
||||
LICENSE= LGPL3
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= scream3r
|
||||
|
||||
MAJOR_MINOR= ${PORTVERSION:C/(.*)\.[0-9]*/\\1/}
|
||||
USE_JAVA= yes
|
||||
USE_ANT= yes
|
||||
ALL_TARGET= dist
|
||||
CXXFLAGS+= -I${JAVA_HOME}/include -I${JAVA_HOME}/include/freebsd
|
||||
WRKSRC_LIBS= ${WRKSRC}/src/java/libs
|
||||
|
||||
PLIST_FILES= ${JAVA_HOME}/jre/lib/ext/jssc-${PORTVERSION}.jar
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${ARCH} == "armv6" || ${ARCH} == "aarch64"
|
||||
ARCH= arm
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
@${CP} ${FILESDIR}/build.xml.in ${WRKSRC}/build.xml
|
||||
@${REINPLACE_CMD} -e 's|%%PORTVERSION%%|${PORTVERSION}|' ${WRKSRC}/build.xml
|
||||
|
||||
pre-build:
|
||||
${RM} -r ${WRKSRC_LIBS}/*
|
||||
${MKDIR} ${WRKSRC_LIBS}/freebsd
|
||||
(cd ${WRKSRC}/src/cpp/_nix_based && ${CXX} ${CXXFLAGS} ${CPPFLAGS} -shared -fPIC -o ${WRKSRC_LIBS}/freebsd/libjSSC-${MAJOR_MINOR}_${ARCH}.so jssc.cpp)
|
||||
${STRIP_CMD} ${WRKSRC_LIBS}/freebsd/libjSSC-${MAJOR_MINOR}_${ARCH}.so
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${JAVA_HOME}/jre/lib/ext
|
||||
${CP} ${WRKSRC}/build/jssc-${PORTVERSION}.jar ${STAGEDIR}${JAVA_HOME}/jre/lib/ext
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
comms/java-simple-serial-connector/distinfo
Normal file
3
comms/java-simple-serial-connector/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1477335330
|
||||
SHA256 (scream3r-java-simple-serial-connector-v2.8.0_GH0.tar.gz) = c3287bfc31ea81929739271b087b833fb7050686af6a90ec953c5b2f41b4d42d
|
||||
SIZE (scream3r-java-simple-serial-connector-v2.8.0_GH0.tar.gz) = 149937
|
25
comms/java-simple-serial-connector/files/build.xml.in
Normal file
25
comms/java-simple-serial-connector/files/build.xml.in
Normal file
@ -0,0 +1,25 @@
|
||||
<project name="JSSC" basedir=".">
|
||||
<property name="src" location="src/java" />
|
||||
<property name="build" location="build" />
|
||||
<property name="libs" location="${src}/libs" />
|
||||
<property name="libsto" location="${build}/libs" />
|
||||
<property name="dist" location="dist" />
|
||||
|
||||
<target name="init">
|
||||
<tstamp />
|
||||
<mkdir dir="${build}" />
|
||||
</target>
|
||||
|
||||
<target name="compile" depends="init" description="Compile JSSC">
|
||||
<javac srcdir="${src}" destdir="${build}" encoding="UTF-8" />
|
||||
<copy todir="${libsto}">
|
||||
<fileset dir="${libs}" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="compile" description="Build distributable">
|
||||
<jar destfile="${build}/jssc-%%PORTVERSION%%.jar">
|
||||
<fileset dir="${build}" />
|
||||
</jar>
|
||||
</target>
|
||||
</project>
|
@ -0,0 +1,11 @@
|
||||
--- src/cpp/_nix_based/jssc.cpp.orig 2016-10-24 19:48:41 UTC
|
||||
+++ src/cpp/_nix_based/jssc.cpp
|
||||
@@ -545,7 +545,7 @@ JNIEXPORT jbyteArray JNICALL Java_jssc_S
|
||||
FD_CLR(portHandle, &read_fd_set);
|
||||
jbyteArray returnArray = env->NewByteArray(byteCount);
|
||||
env->SetByteArrayRegion(returnArray, 0, byteCount, lpBuffer);
|
||||
- delete lpBuffer;
|
||||
+ delete[] lpBuffer;
|
||||
return returnArray;
|
||||
}
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- src/cpp/jssc_SerialNativeInterface.h.orig 2016-10-24 19:47:55 UTC
|
||||
+++ src/cpp/jssc_SerialNativeInterface.h
|
||||
@@ -43,6 +43,8 @@ extern "C" {
|
||||
#define jssc_SerialNativeInterface_OS_SOLARIS 2L
|
||||
#undef jssc_SerialNativeInterface_OS_MAC_OS_X
|
||||
#define jssc_SerialNativeInterface_OS_MAC_OS_X 3L
|
||||
+#undef jssc_SerialNativeInterface_OS_FREEBSD
|
||||
+#define jssc_SerialNativeInterface_OS_FREEBSD 4L
|
||||
#undef jssc_SerialNativeInterface_ERR_PORT_BUSY
|
||||
#define jssc_SerialNativeInterface_ERR_PORT_BUSY -1LL
|
||||
#undef jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND
|
@ -0,0 +1,62 @@
|
||||
--- src/java/jssc/SerialNativeInterface.java.orig 2014-01-24 14:34:02 UTC
|
||||
+++ src/java/jssc/SerialNativeInterface.java
|
||||
@@ -43,6 +43,7 @@ public class SerialNativeInterface {
|
||||
public static final int OS_WINDOWS = 1;
|
||||
public static final int OS_SOLARIS = 2;//since 0.9.0
|
||||
public static final int OS_MAC_OS_X = 3;//since 0.9.0
|
||||
+ public static final int OS_FREEBSD = 4;
|
||||
|
||||
private static int osType = -1;
|
||||
|
||||
@@ -108,36 +109,16 @@ public class SerialNativeInterface {
|
||||
osName = "mac_os_x";
|
||||
osType = OS_MAC_OS_X;
|
||||
}//<- since 0.9.0
|
||||
+ else if(osName.equals("FreeBSD")){
|
||||
+ osName = "freebsd";
|
||||
+ osType = OS_FREEBSD;
|
||||
+ }
|
||||
|
||||
if(architecture.equals("i386") || architecture.equals("i686")){
|
||||
- architecture = "x86";
|
||||
+ architecture = "i386";
|
||||
}
|
||||
else if(architecture.equals("amd64") || architecture.equals("universal")){//os.arch "universal" since 2.6.0
|
||||
- architecture = "x86_64";
|
||||
- }
|
||||
- else if(architecture.equals("arm")) {//since 2.1.0
|
||||
- String floatStr = "sf";
|
||||
- if(javaLibPath.toLowerCase().contains("gnueabihf") || javaLibPath.toLowerCase().contains("armhf")){
|
||||
- floatStr = "hf";
|
||||
- }
|
||||
- else {
|
||||
- try {
|
||||
- Process readelfProcess = Runtime.getRuntime().exec("readelf -A /proc/self/exe");
|
||||
- BufferedReader reader = new BufferedReader(new InputStreamReader(readelfProcess.getInputStream()));
|
||||
- String buffer = "";
|
||||
- while((buffer = reader.readLine()) != null && !buffer.isEmpty()){
|
||||
- if(buffer.toLowerCase().contains("Tag_ABI_VFP_args".toLowerCase())){
|
||||
- floatStr = "hf";
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- reader.close();
|
||||
- }
|
||||
- catch (Exception ex) {
|
||||
- //Do nothing
|
||||
- }
|
||||
- }
|
||||
- architecture = "arm" + floatStr;
|
||||
+ architecture = "amd64";
|
||||
}
|
||||
|
||||
libFolderPath = libRootFolder + fileSeparator + ".jssc" + fileSeparator + osName;
|
||||
@@ -259,7 +240,7 @@ public class SerialNativeInterface {
|
||||
}
|
||||
|
||||
/**
|
||||
- * Get OS type (OS_LINUX || OS_WINDOWS || OS_SOLARIS)
|
||||
+ * Get OS type (OS_LINUX || OS_WINDOWS || OS_SOLARIS || OS_FREEBSD)
|
||||
*
|
||||
* @since 0.8
|
||||
*/
|
@ -0,0 +1,32 @@
|
||||
--- src/java/jssc/SerialPort.java.orig 2016-10-24 19:44:26 UTC
|
||||
+++ src/java/jssc/SerialPort.java
|
||||
@@ -264,7 +264,8 @@ public class SerialPort {
|
||||
checkPortOpened("setEventsMask()");
|
||||
if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX ||
|
||||
SerialNativeInterface.getOsType() == SerialNativeInterface.OS_SOLARIS ||
|
||||
- SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X){//since 0.9.0
|
||||
+ SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X ||
|
||||
+ SerialNativeInterface.getOsType() == SerialNativeInterface.OS_FREEBSD){//since 0.9.0
|
||||
linuxMask = mask;
|
||||
if(mask > 0){
|
||||
maskAssigned = true;
|
||||
@@ -298,7 +299,8 @@ public class SerialPort {
|
||||
checkPortOpened("getEventsMask()");
|
||||
if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX ||
|
||||
SerialNativeInterface.getOsType() == SerialNativeInterface.OS_SOLARIS ||
|
||||
- SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X){//since 0.9.0
|
||||
+ SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X ||
|
||||
+ SerialNativeInterface.getOsType() == SerialNativeInterface.OS_FREEBSD){//since 0.9.0
|
||||
return linuxMask;
|
||||
}
|
||||
return serialInterface.getEventsMask(portHandle);
|
||||
@@ -1041,7 +1043,8 @@ public class SerialPort {
|
||||
private EventThread getNewEventThread() {
|
||||
if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX ||
|
||||
SerialNativeInterface.getOsType() == SerialNativeInterface.OS_SOLARIS ||
|
||||
- SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X){//since 0.9.0
|
||||
+ SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X ||
|
||||
+ SerialNativeInterface.getOsType() == SerialNativeInterface.OS_FREEBSD){//since 0.9.0
|
||||
return new LinuxEventThread();
|
||||
}
|
||||
return new EventThread();
|
@ -0,0 +1,14 @@
|
||||
--- src/java/jssc/SerialPortList.java.orig 2016-10-24 19:46:27 UTC
|
||||
+++ src/java/jssc/SerialPortList.java
|
||||
@@ -57,6 +57,11 @@ public class SerialPortList {
|
||||
PORTNAMES_PATH = "/dev/";
|
||||
break;
|
||||
}
|
||||
+ case SerialNativeInterface.OS_FREEBSD: {
|
||||
+ PORTNAMES_REGEXP = Pattern.compile("cuaU[0-9]{1,3}");
|
||||
+ PORTNAMES_PATH = "/dev/";
|
||||
+ break;
|
||||
+ }
|
||||
case SerialNativeInterface.OS_WINDOWS: {
|
||||
PORTNAMES_REGEXP = Pattern.compile("");
|
||||
PORTNAMES_PATH = "";
|
3
comms/java-simple-serial-connector/pkg-descr
Normal file
3
comms/java-simple-serial-connector/pkg-descr
Normal file
@ -0,0 +1,3 @@
|
||||
Library for working with serial ports in Java.
|
||||
|
||||
WWW: https://github.com/scream3r/java-simple-serial-connector
|
Loading…
Reference in New Issue
Block a user