From 290e547f5fdad0f81fc7d02ae162665760bf1317 Mon Sep 17 00:00:00 2001 From: roomsg Date: Wed, 23 May 2018 14:43:37 +0200 Subject: [PATCH] add support for prepending paths from LD_LIBRARY_PATH --- pom.xml | 2 +- src/main/java/org/abstractj/kalium/NaCl.java | 24 +++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index dd2ae116..84ba9a6d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.abstractj.kalium kalium - 0.6.1-SNAPSHOT + 0.7.1-SNAPSHOT jar kalium diff --git a/src/main/java/org/abstractj/kalium/NaCl.java b/src/main/java/org/abstractj/kalium/NaCl.java index 56474221..c75f70cf 100644 --- a/src/main/java/org/abstractj/kalium/NaCl.java +++ b/src/main/java/org/abstractj/kalium/NaCl.java @@ -43,12 +43,24 @@ private static String libraryName() { } private static final class SingletonHolder { - public static final Sodium SODIUM_INSTANCE = - LibraryLoader.create(Sodium.class) - .search("/usr/local/lib") - .search("/opt/local/lib") - .search("lib") - .load(LIBRARY_NAME); + public static final Sodium SODIUM_INSTANCE; + + static { + LibraryLoader loader = LibraryLoader.create(Sodium.class); + // custom paths (if any) + String libPath = System.getenv("LD_LIBRARY_PATH"); + if (libPath != null) { + for (String path : libPath.split(":")) { + loader.search(path); + } + } + // std paths + loader.search("/usr/local/lib") + .search("/opt/local/lib") + .search("lib"); + + SODIUM_INSTANCE = loader.load(LIBRARY_NAME); + } }