diff --git a/jna-3.2.5-loadlibrary.patch b/jna-3.2.5-loadlibrary.patch deleted file mode 100644 index 99b2798..0000000 --- a/jna-3.2.5-loadlibrary.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -up ./src/com/sun/jna/Native.java.loadlib ./src/com/sun/jna/Native.java ---- ./src/com/sun/jna/Native.java.loadlib 2010-05-01 10:54:09.949779524 +0200 -+++ ./src/com/sun/jna/Native.java 2010-05-01 10:55:08.405824567 +0200 -@@ -631,131 +631,19 @@ public final class Native { - } - - /** -- * Loads the JNA stub library. It will first attempt to load this library -- * from the directories specified in jna.boot.library.path. If that fails, -- * it will fallback to loading from the system library paths. Finally it will -- * attempt to extract the stub library from from the JNA jar file, and load it. -- *

-- * The jna.boot.library.path property is mainly to support jna.jar being -- * included in -Xbootclasspath, where java.library.path and LD_LIBRARY_PATH -- * are ignored. It might also be useful in other situations. -- *

-+ * Loads the JNA stub library. -+ * -+ ** MODIFIED FROM UPSTREAM - we rip out all sorts of gunk here that is -+ ** unnecessary when JNA is properly installed with the OS. - */ - private static void loadNativeLibrary() { -- String libName = "jnidispatch"; -- String bootPath = System.getProperty("jna.boot.library.path"); -- if (bootPath != null) { -- String[] dirs = bootPath.split(File.pathSeparator); -- for (int i = 0; i < dirs.length; ++i) { -- String path = new File(new File(dirs[i]), System.mapLibraryName(libName)).getAbsolutePath(); -- try { -- System.load(path); -- nativeLibraryPath = path; -- return; -- } catch (UnsatisfiedLinkError ex) { -- } -- if (Platform.isMac()) { -- String orig, ext; -- if (path.endsWith("dylib")) { -- orig = "dylib"; -- ext = "jnilib"; -- } else { -- orig = "jnilib"; -- ext = "dylib"; -- } -- try { -- path = path.substring(0, path.lastIndexOf(orig)) + ext; -- System.load(path); -- nativeLibraryPath = path; -- return; -- } catch (UnsatisfiedLinkError ex) { -- } -- } -- } -- } - try { -- System.loadLibrary(libName); -- nativeLibraryPath = libName; -+ System.load("@JNIPATH@/" + System.mapLibraryName("jnidispatch")); -+ nativeLibraryPath = "@JNIPATH@/" + System.mapLibraryName("jnidispatch"); - } - catch(UnsatisfiedLinkError e) { -- loadNativeLibraryFromJar(); -- } -- } -- -- /** -- * Attempts to load the native library resource from the filesystem, -- * extracting the JNA stub library from jna.jar if not already available. -- */ -- private static void loadNativeLibraryFromJar() { -- String libname = System.mapLibraryName("jnidispatch"); -- String arch = System.getProperty("os.arch"); -- String name = System.getProperty("os.name"); -- String resourceName = getNativeLibraryResourcePath(Platform.getOSType(), arch, name) + "/" + libname; -- URL url = Native.class.getResource(resourceName); -- -- // Add an ugly hack for OpenJDK (soylatte) - JNI libs use the usual -- // .dylib extension -- if (url == null && Platform.isMac() -- && resourceName.endsWith(".dylib")) { -- resourceName = resourceName.substring(0, resourceName.lastIndexOf(".dylib")) + ".jnilib"; -- url = Native.class.getResource(resourceName); -- } -- if (url == null) { -- throw new UnsatisfiedLinkError("jnidispatch (" + resourceName -- + ") not found in resource path"); -- } -- -- File lib = null; -- if (url.getProtocol().toLowerCase().equals("file")) { -- try { -- lib = new File(new URI(url.toString())); -- } -- catch(URISyntaxException e) { -- lib = new File(url.getPath()); -- } -- if (!lib.exists()) { -- throw new Error("File URL " + url + " could not be properly decoded"); -- } -- } -- else { -- InputStream is = Native.class.getResourceAsStream(resourceName); -- if (is == null) { -- throw new Error("Can't obtain jnidispatch InputStream"); -- } -- -- FileOutputStream fos = null; -- try { -- // Suffix is required on windows, or library fails to load -- // Let Java pick the suffix, except on windows, to avoid -- // problems with Web Start. -- lib = File.createTempFile("jna", Platform.isWindows()?".dll":null); -- lib.deleteOnExit(); -- ClassLoader cl = Native.class.getClassLoader(); -- if (Platform.deleteNativeLibraryAfterVMExit() -- && (cl == null -- || cl.equals(ClassLoader.getSystemClassLoader()))) { -- Runtime.getRuntime().addShutdownHook(new DeleteNativeLibrary(lib)); -- } -- fos = new FileOutputStream(lib); -- int count; -- byte[] buf = new byte[1024]; -- while ((count = is.read(buf, 0, buf.length)) > 0) { -- fos.write(buf, 0, count); -- } -- } -- catch(IOException e) { -- throw new Error("Failed to create temporary file for jnidispatch library: " + e); -- } -- finally { -- try { is.close(); } catch(IOException e) { } -- if (fos != null) { -- try { fos.close(); } catch(IOException e) { } -- } -- } -- unpacked = true; -+ throw new RuntimeException(e); - } -- System.load(lib.getAbsolutePath()); -- nativeLibraryPath = lib.getAbsolutePath(); - } - - /**