Skip to content

Commit 3c7f0a8

Browse files
committed
Restore original fetch script from third party package managers
1 parent 306bfec commit 3c7f0a8

File tree

1 file changed

+33
-14
lines changed

1 file changed

+33
-14
lines changed

fetch-native-libs.sh

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,52 @@
22

33
set -euo pipefail
44

5-
LMDB_VERSION="0.9.29-1"
5+
#######################################################################
6+
# IMPORTANT: Benchmark new versions using run-lmdb.sh before updating
7+
LMDB_VERSION="0.9.33"
8+
#######################################################################
9+
610
DEST="${DEST:-src/main/resources/org/lmdbjava/native}"
711
TMP=$(mktemp -d)
812
trap "rm -rf $TMP" EXIT
913

1014
mkdir -p "$DEST"
1115

12-
# Extract from old Maven Central artifacts and rename to new format
13-
# Linux x86_64
16+
# Arch Linux x86_64
1417
if [ ! -f "$DEST/x86_64-linux-gnu.so" ]; then
15-
curl -sL "https://repo1.maven.org/maven2/org/lmdbjava/lmdbjava-native-linux-x86_64/${LMDB_VERSION}/lmdbjava-native-linux-x86_64-${LMDB_VERSION}.jar" -o "$TMP/linux.jar"
16-
unzip -q "$TMP/linux.jar" -d "$TMP/linux"
17-
mv -f "$TMP/linux/org/lmdbjava/lmdbjava-native-linux-x86_64.so" "$DEST/x86_64-linux-gnu.so"
18+
curl -sL "https://archive.archlinux.org/packages/l/lmdb/lmdb-${LMDB_VERSION}-1-x86_64.pkg.tar.zst" -o "$TMP/x64.tar.zst"
19+
zstd -d "$TMP/x64.tar.zst" -o "$TMP/x64.tar"
20+
tar xf "$TMP/x64.tar" -C "$TMP" usr/lib/liblmdb.so --strip-components=2
21+
mv -f "$TMP/liblmdb.so" "$DEST/x86_64-linux-gnu.so"
22+
fi
23+
24+
# Arch Linux ARM aarch64
25+
if [ ! -f "$DEST/aarch64-linux-gnu.so" ]; then
26+
curl -sL "http://mirror.archlinuxarm.org/aarch64/extra/lmdb-${LMDB_VERSION}-1-aarch64.pkg.tar.xz" -o "$TMP/arm64.tar.xz"
27+
tar xf "$TMP/arm64.tar.xz" -C "$TMP" usr/lib/liblmdb.so --strip-components=2
28+
mv -f "$TMP/liblmdb.so" "$DEST/aarch64-linux-gnu.so"
1829
fi
1930

20-
# macOS x86_64
31+
# Homebrew macOS x86_64
2132
if [ ! -f "$DEST/x86_64-macos-none.so" ]; then
22-
curl -sL "https://repo1.maven.org/maven2/org/lmdbjava/lmdbjava-native-osx-x86_64/${LMDB_VERSION}/lmdbjava-native-osx-x86_64-${LMDB_VERSION}.jar" -o "$TMP/osx.jar"
23-
unzip -q "$TMP/osx.jar" -d "$TMP/osx"
24-
mv -f "$TMP/osx/org/lmdbjava/lmdbjava-native-osx-x86_64.dylib" "$DEST/x86_64-macos-none.so"
33+
curl -sL "https://mirrors.sustech.edu.cn/homebrew-bottles/bottles/lmdb-${LMDB_VERSION}.sonoma.bottle.tar.gz" -o "$TMP/brew-x64.tar.gz"
34+
tar xzf "$TMP/brew-x64.tar.gz" -C "$TMP" lmdb/${LMDB_VERSION}/lib/liblmdb.dylib --strip-components=3
35+
mv -f "$TMP/liblmdb.dylib" "$DEST/x86_64-macos-none.so"
36+
fi
37+
38+
# Homebrew macOS arm64
39+
if [ ! -f "$DEST/aarch64-macos-none.so" ]; then
40+
curl -sL "https://mirrors.sustech.edu.cn/homebrew-bottles/bottles/lmdb-${LMDB_VERSION}.arm64_sonoma.bottle.tar.gz" -o "$TMP/brew-arm.tar.gz"
41+
tar xzf "$TMP/brew-arm.tar.gz" -C "$TMP" lmdb/${LMDB_VERSION}/lib/liblmdb.dylib --strip-components=3
42+
mv -f "$TMP/liblmdb.dylib" "$DEST/aarch64-macos-none.so"
2543
fi
2644

27-
# Windows x86_64
45+
# MSYS2 Windows x86_64
2846
if [ ! -f "$DEST/x86_64-windows-gnu.dll" ]; then
29-
curl -sL "https://repo1.maven.org/maven2/org/lmdbjava/lmdbjava-native-windows-x86_64/${LMDB_VERSION}/lmdbjava-native-windows-x86_64-${LMDB_VERSION}.jar" -o "$TMP/windows.jar"
30-
unzip -q "$TMP/windows.jar" -d "$TMP/windows"
31-
mv -f "$TMP/windows/org/lmdbjava/lmdbjava-native-windows-x86_64.dll" "$DEST/x86_64-windows-gnu.dll"
47+
curl -sL "https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-lmdb-${LMDB_VERSION}-1-any.pkg.tar.zst" -o "$TMP/win.tar.zst"
48+
zstd -d "$TMP/win.tar.zst" -o "$TMP/win.tar"
49+
tar xf "$TMP/win.tar" -C "$TMP" mingw64/bin/liblmdb.dll --strip-components=2
50+
mv -f "$TMP/liblmdb.dll" "$DEST/x86_64-windows-gnu.dll"
3251
fi
3352

3453
ls -lh "$DEST"

0 commit comments

Comments
 (0)