From 5f6f16ac7353a21dbd8a526fd2b1fc1dac13f15f Mon Sep 17 00:00:00 2001 From: matoro Date: Fri, 6 May 2022 16:23:28 -0400 Subject: [PATCH] dev-java/rxtx: keyword 2.2_pre2-r2 for ~ppc64 This not only builds but works on ppc64. I tested this on my system with serial ports in use using the below program: $ cat Main.java import gnu.io.*; import java.util.*; public class Main { /** * @return A HashSet containing the CommPortIdentifier for all serial ports that are not currently being used. */ public static HashSet getAvailableSerialPorts() { HashSet h = new HashSet(); Enumeration thePorts = CommPortIdentifier.getPortIdentifiers(); while (thePorts.hasMoreElements()) { CommPortIdentifier com = (CommPortIdentifier) thePorts.nextElement(); switch (com.getPortType()) { case CommPortIdentifier.PORT_SERIAL: try { CommPort thePort = com.open("CommUtil", 50); thePort.close(); h.add(com); } catch (PortInUseException e) { System.out.println("Port, " + com.getName() + ", is in use."); } catch (Exception e) { System.err.println("Failed to open port " + com.getName()); e.printStackTrace(); } } } return h; } public static void main(String[] args) { for (CommPortIdentifier element : getAvailableSerialPorts()) { System.out.println(element.getName()); } } } $ javac -cp /usr/share/rxtx-2/lib/RXTXcomm.jar Main.java $ java -Djava.library.path=/usr/lib64/rxtx-2 -cp .:/usr/share/rxtx-2/lib/RXTXcomm.jar Main /dev/ttyUSB0 /dev/ttyUSB1 Closes: https://bugs.gentoo.org/454608 Signed-off-by: matoro Closes: https://github.com/gentoo/gentoo/pull/25356 Signed-off-by: Sam James --- dev-java/rxtx/files/rxtx-2.1-7r2-ppcioh.diff | 16 ++++++++++++++++ dev-java/rxtx/files/rxtx-2.1-7r2-ttyPZ.diff | 20 ++++++++++++++++++++ dev-java/rxtx/rxtx-2.2_pre2-r2.ebuild | 4 +++- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 dev-java/rxtx/files/rxtx-2.1-7r2-ppcioh.diff create mode 100644 dev-java/rxtx/files/rxtx-2.1-7r2-ttyPZ.diff diff --git a/dev-java/rxtx/files/rxtx-2.1-7r2-ppcioh.diff b/dev-java/rxtx/files/rxtx-2.1-7r2-ppcioh.diff new file mode 100644 index 0000000000000..2f3f5d623ca97 --- /dev/null +++ b/dev-java/rxtx/files/rxtx-2.1-7r2-ppcioh.diff @@ -0,0 +1,16 @@ +diff --git a/src/RawImp.c b/src/RawImp.c +index 077f30e..813fcf9 100644 +--- a/src/RawImp.c ++++ b/src/RawImp.c +@@ -99,10 +99,8 @@ + # include + # include + #endif +-#ifndef __APPLE__ /* dima */ +-#ifndef PPC ++#if !defined(__APPLE__) && !defined(PPC) && !defined(__powerpc__) && !defined(__powerpc64__) /* dima */ + #include +-#endif /* PPC */ + #endif /* dima */ + + extern int errno; diff --git a/dev-java/rxtx/files/rxtx-2.1-7r2-ttyPZ.diff b/dev-java/rxtx/files/rxtx-2.1-7r2-ttyPZ.diff new file mode 100644 index 0000000000000..b8fa3edf50166 --- /dev/null +++ b/dev-java/rxtx/files/rxtx-2.1-7r2-ttyPZ.diff @@ -0,0 +1,20 @@ +diff --git a/src/gnu/io/RXTXCommDriver.java b/src/gnu/io/RXTXCommDriver.java +index 3dce198..954b102 100644 +--- a/src/gnu/io/RXTXCommDriver.java ++++ b/src/gnu/io/RXTXCommDriver.java +@@ -576,6 +576,7 @@ public class RXTXCommDriver implements CommDriver + String[] Temp = { + "ttyS", // linux Serial Ports + "ttySA", // for the IPAQs ++ "ttyPZ", // for G4/G5 RackMac + "ttyUSB", // for USB frobs + "rfcomm", // bluetooth serial device + "ttyircomm", // linux IrCommdevices (IrDA serial emu) +@@ -608,6 +609,7 @@ public class RXTXCommDriver implements CommDriver + // linux ISI serial card + "ttyMX",// linux Moxa Smart IO cards + "ttyP", // linux Hayes ESP serial card ++ "ttyPZ", // linux PPC/PPC64 Zilog serial ports + "ttyR", // linux comtrol cards + // linux Specialix RIO serial card + "ttyS", // linux Serial Ports diff --git a/dev-java/rxtx/rxtx-2.2_pre2-r2.ebuild b/dev-java/rxtx/rxtx-2.2_pre2-r2.ebuild index 16874cfaeefaf..2d39447cb63bd 100644 --- a/dev-java/rxtx/rxtx-2.2_pre2-r2.ebuild +++ b/dev-java/rxtx/rxtx-2.2_pre2-r2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="http://rxtx.qbang.org/" SRC_URI="ftp://ftp.qbang.org/pub/rxtx/${MY_P}.zip" LICENSE="LGPL-2.1+" SLOT="2" -KEYWORDS="amd64 x86" +KEYWORDS="amd64 ~ppc64 x86" IUSE="lfd" RDEPEND=">=virtual/jre-1.8:* @@ -39,6 +39,8 @@ src_prepare() { eapply -p0 "${FILESDIR}/${PN}-2.1-7r2-lfd.diff" eapply -p0 "${FILESDIR}/${PN}-2.1-7r2-nouts.diff" + eapply "${FILESDIR}/${PN}-2.1-7r2-ppcioh.diff" + eapply "${FILESDIR}/${PN}-2.1-7r2-ttyPZ.diff" eapply -p0 "${FILESDIR}/${P}-limits.patch" eapply "${FILESDIR}/${P}-add-ttyACM.patch" eapply "${FILESDIR}/${P}-format-security.patch"