summaryrefslogtreecommitdiff
path: root/dev-java/jssc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-java/jssc
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-java/jssc')
-rw-r--r--dev-java/jssc/Manifest4
-rw-r--r--dev-java/jssc/files/jssc-2.8.0-library-load.patch117
-rw-r--r--dev-java/jssc/jssc-2.8.0-r1.ebuild60
-rw-r--r--dev-java/jssc/metadata.xml14
4 files changed, 195 insertions, 0 deletions
diff --git a/dev-java/jssc/Manifest b/dev-java/jssc/Manifest
new file mode 100644
index 000000000000..b95af68ed13f
--- /dev/null
+++ b/dev-java/jssc/Manifest
@@ -0,0 +1,4 @@
+AUX jssc-2.8.0-library-load.patch 4572 BLAKE2B c8018fce9326cb117e6087d2ffeeb041d6c75241b052efa7b9b21777cabcc8e053ade40cde005bb89a63cc03efc4a70a845dd559598b22b3c185a6218d7a5218 SHA512 5121cc00985736236fbeb05117135aa187d9587cb85c28f96958d9d7a1f9564f6be91a3c82856353c477728bcb725c86a9dce4732b3a2b67cbd813af7544c646
+DIST jssc-2.8.0.zip 171914 BLAKE2B 8bac5000d5512683809efab0ef041228f846390b29fa51ad5295d655dbec031dfc0a7ad67f7589d3f8b5dcfa8facd9896c7ec545b9db9c442eb3d34b569cd948 SHA512 4d767054085a79cff4fe60d96d664918f69a791c8263d96c9d9fd622070f567acacb621079f23d5c54253366beb9d2a01fea7ea48b95f6267bc693a9bacb8466
+EBUILD jssc-2.8.0-r1.ebuild 1183 BLAKE2B 50eeae46270fc20825e5768fffaac1d5843b1bf883ea6e4b82d41579d47aa0c3ff807087357a594d93c12ba532b701977391c7d8ccad9384a43dc5f3d5b84a48 SHA512 55d8817e376c68a9a05a7b92d1022698a1523342c32316e26724cca6c35104e86866a7c06d9b0ae5e8989a41de89bd0f1c3f2748c0f5d91b05432f69c1646791
+MISC metadata.xml 433 BLAKE2B 47268fc5f9bf04e831da068f80e73de826d48af6f635a795c622c32275ff28983b372cdbdaffb864cfc9556d60ef88b34a8bf5c3b925a606c473d715a647f507 SHA512 260b57a995c9d91cf894a0d56f23cbf07498f3256f4f86dbf4d37ec6b92085f9834437878b0addc7e91ba319798bfa18dda55627c89966c871f61b247f11449f
diff --git a/dev-java/jssc/files/jssc-2.8.0-library-load.patch b/dev-java/jssc/files/jssc-2.8.0-library-load.patch
new file mode 100644
index 000000000000..829a18af69bd
--- /dev/null
+++ b/dev-java/jssc/files/jssc-2.8.0-library-load.patch
@@ -0,0 +1,117 @@
+--- src/java/jssc/SerialNativeInterface.java.orig 2016-03-13 16:35:20.521644430 -0400
++++ src/java/jssc/SerialNativeInterface.java 2016-03-13 16:38:00.022571256 -0400
+@@ -44,7 +44,7 @@
+ public static final int OS_SOLARIS = 2;//since 0.9.0
+ public static final int OS_MAC_OS_X = 3;//since 0.9.0
+
+- private static int osType = -1;
++ private static int osType = OS_LINUX;
+
+ /**
+ * @since 2.3.0
+@@ -77,104 +77,11 @@
+ public static final String PROPERTY_JSSC_PARMRK = "JSSC_PARMRK";
+
+ static {
+- String libFolderPath;
+- String libName;
+-
+- String osName = System.getProperty("os.name");
+- String architecture = System.getProperty("os.arch");
+- String userHome = System.getProperty("user.home");
+- String fileSeparator = System.getProperty("file.separator");
+- String tmpFolder = System.getProperty("java.io.tmpdir");
+-
+- //since 2.3.0 ->
+- String libRootFolder = new File(userHome).canWrite() ? userHome : tmpFolder;
+- //<- since 2.3.0
+-
+- String javaLibPath = System.getProperty("java.library.path");//since 2.1.0
+-
+- if(osName.equals("Linux")){
+- osName = "linux";
+- osType = OS_LINUX;
+- }
+- else if(osName.startsWith("Win")){
+- osName = "windows";
+- osType = OS_WINDOWS;
+- }//since 0.9.0 ->
+- else if(osName.equals("SunOS")){
+- osName = "solaris";
+- osType = OS_SOLARIS;
+- }
+- else if(osName.equals("Mac OS X") || osName.equals("Darwin")){//os.name "Darwin" since 2.6.0
+- osName = "mac_os_x";
+- osType = OS_MAC_OS_X;
+- }//<- since 0.9.0
+-
+- if(architecture.equals("i386") || architecture.equals("i686")){
+- architecture = "x86";
+- }
+- 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;
+- }
+-
+- libFolderPath = libRootFolder + fileSeparator + ".jssc" + fileSeparator + osName;
+- libName = "jSSC-" + libVersion + "_" + architecture;
+- libName = System.mapLibraryName(libName);
+-
+- if(libName.endsWith(".dylib")){//Since 2.1.0 MacOSX 10.8 fix
+- libName = libName.replace(".dylib", ".jnilib");
+- }
+-
+- boolean loadLib = false;
+-
+- if(isLibFolderExist(libFolderPath)){
+- if(isLibFileExist(libFolderPath + fileSeparator + libName)){
+- loadLib = true;
+- }
+- else {
+- if(extractLib((libFolderPath + fileSeparator + libName), osName, libName)){
+- loadLib = true;
+- }
+- }
+- }
+- else {
+- if(new File(libFolderPath).mkdirs()){
+- if(extractLib((libFolderPath + fileSeparator + libName), osName, libName)){
+- loadLib = true;
+- }
+- }
+- }
+-
+- if (loadLib) {
+- System.load(libFolderPath + fileSeparator + libName);
++ System.loadLibrary("jssc");
+ String versionBase = getLibraryBaseVersion();
+ String versionNative = getNativeLibraryVersion();
+ if (!versionBase.equals(versionNative)) {
+ System.err.println("Warning! jSSC Java and Native versions mismatch (Java: " + versionBase + ", Native: " + versionNative + ")");
+- }
+ }
+ }
+
diff --git a/dev-java/jssc/jssc-2.8.0-r1.ebuild b/dev-java/jssc/jssc-2.8.0-r1.ebuild
new file mode 100644
index 000000000000..e36b1c84a10c
--- /dev/null
+++ b/dev-java/jssc/jssc-2.8.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs
+
+MY_PN="java-simple-serial-connector"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Java Simple Serial Connector"
+HOMEPAGE="https://github.com/scream3r/java-simple-serial-connector"
+SRC_URI="https://github.com/scream3r/${MY_PN}/archive/${PV}.zip -> ${P}.zip"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+
+IUSE=""
+
+RDEPEND="
+ >=virtual/jre-1.6"
+
+DEPEND="
+ >=virtual/jdk-1.6
+ source? ( app-arch/zip )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-library-load.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+java_prepare() {
+ epatch "${PATCHES[@]}"
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ $(tc-getCXX) \
+ ${CPP_FLAGS} ${CXX_FLAGS} \
+ -c -o ${PN}.o \
+ -fPIC -Wall \
+ -I$(java-config-2 -o)/include \
+ -I$(java-config-2 -o)/include/linux \
+ "${S}/src/cpp/_nix_based/${PN}.cpp" || die
+
+ $(tc-getCXX) \
+ -Wl,-soname,libjssc.so \
+ -shared -o "libjssc.so.${PV}" \
+ -Wall "${PN}.o" || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ dolib libjssc*
+ dosym "libjssc.so.${PV}" /usr/$(get_libdir)/libjssc.so
+}
diff --git a/dev-java/jssc/metadata.xml b/dev-java/jssc/metadata.xml
new file mode 100644
index 000000000000..4767debd6260
--- /dev/null
+++ b/dev-java/jssc/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>monsieurp@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">scream3r/java-simple-serial-connector</remote-id>
+ </upstream>
+</pkgmetadata>