mirror of
https://github.com/wownero/i2p-zero.git
synced 2026-10-17 15:21:40 +02:00
executable wrappers for linux and mac GUIs from jpackager utililty
switched windows JDK to oracle version until adoptopenjdk fix dll inclusion issue
This commit is contained in:
@@ -162,4 +162,19 @@ specified host and port. Note that the base 32 I2P destination address determini
|
||||
|
||||
## Watch the I2P log for messages
|
||||
|
||||
`tail -f dist/linux/router/i2p.config/wrapper.log`
|
||||
`tail -f dist/linux/router/i2p.config/wrapper.log`
|
||||
|
||||
|
||||
## Note on bundled windows wrapper.exe executable
|
||||
|
||||
There is a bundled resources/wrapper.exe file in the source tree. This allows the windows distributable to be built
|
||||
even on a non-windows platform.
|
||||
|
||||
This file can be deterministically recreated by
|
||||
downloading javapackager from http://download2.gluonhq.com/jpackager/11/jdk.packager-windows.zip, unzipping it,
|
||||
unzipping the jar file within that, and obtaining the jdk/packager/internal/resources/windows/papplauncher.exe file.
|
||||
|
||||
Then, on Windows, download Resource Hacker version 5.1.7 from http://www.angusj.com/resourcehacker/ and use it to add the
|
||||
resources/icons.ico file to the papplauncher.exe file. Finally, verify that the resulting file is identical to the bundled resources/wrapper.exe file.
|
||||
|
||||
The sha256 checksum of the file should be `50c9286b9da7a91b8715de3cbcd141ec44eb199642562f43ce82351609115e06`
|
||||
+35
-7
@@ -48,16 +48,13 @@ for i in linux mac linux-gui mac-gui; do
|
||||
cp "$basedir/resources/launch.sh" "$basedir/dist/$i/router/bin/"
|
||||
cp "$basedir/resources/tunnel-control.sh" "$basedir/dist/$i/router/bin/"
|
||||
done
|
||||
for i in win win-gui; do
|
||||
for i in win; do
|
||||
cp "$basedir/resources/launch.bat" "$basedir/dist/$i/router/bin/"
|
||||
done
|
||||
|
||||
for i in linux-gui mac-gui; do
|
||||
cp "$basedir/resources/launch-gui.sh" "$basedir/dist/$i/router/bin/"
|
||||
done
|
||||
for i in win-gui; do
|
||||
cp "$basedir/resources/launch-gui.bat" "$basedir/dist/$i/router/bin/"
|
||||
done
|
||||
|
||||
|
||||
for i in linux mac win linux-gui mac-gui win-gui; do cp -r "$basedir/import/i2p.base" "$basedir/dist/$i/router/"; done
|
||||
@@ -74,18 +71,49 @@ for i in linux mac win; do
|
||||
done
|
||||
done
|
||||
|
||||
# build map app structure
|
||||
# build mac gui app structure
|
||||
mv "$basedir/dist/mac-gui/router" "$basedir/dist/mac-gui/router-tmp"
|
||||
mkdir -p "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
|
||||
cp -R "$basedir/resources/i2p-zero.app" "$basedir/dist/mac-gui/router/"
|
||||
mv "$basedir/dist/mac-gui/router-tmp"/* "$basedir/dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
|
||||
rm -fr "$basedir/dist/mac-gui/router-tmp"
|
||||
|
||||
# specify .desktop file so linux-gui can be launched via double-click
|
||||
cp "$basedir/resources/i2p-zero.desktop" "$basedir/dist/linux-gui/router/"
|
||||
|
||||
# build linux gui app structure
|
||||
mv "$basedir/dist/linux-gui/router" "$basedir/dist/linux-gui/router-tmp"
|
||||
mkdir -p "$basedir/dist/linux-gui/router/app"
|
||||
mkdir -p "$basedir/dist/linux-gui/router/resources"
|
||||
|
||||
mv "$basedir/dist/linux-gui/router-tmp" "$basedir/dist/linux-gui/runtime"
|
||||
|
||||
cp "$basedir/import/javapackager/linux/jdk/packager/internal/resources/linux/papplauncher" "$basedir/dist/linux-gui/router/i2p-zero"
|
||||
cp "$basedir/import/javapackager/linux/jdk/packager/internal/resources/linux/libpackager.so" "$basedir/dist/linux-gui/router/"
|
||||
chmod +x "$basedir/dist/linux-gui/router/i2p-zero"
|
||||
|
||||
cp "$basedir/resources/i2p-zero.linux.cfg" "$basedir/dist/linux-gui/router/app/i2p-zero.cfg"
|
||||
cp "$basedir/org.getmonero.i2p.zero.gui/src/org/getmonero/i2p/zero/gui/icon.png" "$basedir/dist/linux-gui/router/resources/i2p-zero.png"
|
||||
|
||||
|
||||
# build win gui app structure
|
||||
mv "$basedir/dist/win-gui/router" "$basedir/dist/win-gui/router-tmp"
|
||||
mkdir -p "$basedir/dist/win-gui/router/app"
|
||||
|
||||
mv "$basedir/dist/win-gui/router-tmp" "$basedir/dist/win-gui/runtime"
|
||||
|
||||
cp "$basedir/resources/wrapper.exe" "$basedir/dist/win-gui/router/i2p-zero.exe"
|
||||
|
||||
cp "$basedir/import/javapackager/win/jdk/packager/internal/resources/windows/packager.dll" "$basedir/dist/win-gui/router/"
|
||||
for i in msvcp140.dll vcruntime140.dll; do
|
||||
cp "$basedir/dist/win-gui/runtime/bin/$i" "$basedir/dist/win-gui/router/"
|
||||
done
|
||||
|
||||
cp "$basedir/resources/i2p-zero.win.cfg" "$basedir/dist/win-gui/router/app/i2p-zero.cfg"
|
||||
|
||||
|
||||
# show distribution sizes
|
||||
du -sk dist/* | awk '{printf "%.1f MB %s\n",$1/1024,$2}'
|
||||
|
||||
|
||||
echo "*** Done ***"
|
||||
os_name=`uname -s`
|
||||
if [ $os_name = Darwin ]; then
|
||||
|
||||
@@ -74,3 +74,16 @@ if [ ! -d "$basedir/import/javafx-jmods" ]; then
|
||||
unzip javafx-jmods/win/$JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN -d javafx-jmods/win/
|
||||
fi
|
||||
|
||||
if [ ! -d "$basedir/import/javapackager" ]; then
|
||||
mkdir -p javapackager
|
||||
mkdir -p javapackager/linux javapackager/win
|
||||
wget --directory-prefix=javafx-jmods/linux $JPACKAGER_DOWNLOAD_URL_LINUX
|
||||
wget --directory-prefix=javafx-jmods/win $JPACKAGER_DOWNLOAD_URL_WIN
|
||||
|
||||
unzip javapackager/linux/$JPACKAGER_DOWNLOAD_FILENAME_LINUX -d javapackager/linux/
|
||||
unzip javapackager/win/$JPACKAGER_DOWNLOAD_FILENAME_WIN -d javapackager/win/
|
||||
|
||||
unzip javapackager/linux/jdk.packager.jar
|
||||
unzip javapackager/win/jdk.packager.jar
|
||||
fi
|
||||
|
||||
|
||||
+10
-3
@@ -10,15 +10,15 @@ export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
|
||||
|
||||
JDK_DOWNLOAD_FILENAME_LINUX=OpenJDK11U-jdk_x64_linux_hotspot_11.0.1_13.tar.gz
|
||||
JDK_DOWNLOAD_FILENAME_MAC=OpenJDK11U-jdk_x64_mac_hotspot_11.0.1_13.tar.gz
|
||||
JDK_DOWNLOAD_FILENAME_WIN=OpenJDK11U-jdk_x64_windows_hotspot_11.0.1_13.zip
|
||||
JDK_DOWNLOAD_FILENAME_WIN=openjdk-11.0.2_windows-x64_bin.zip
|
||||
|
||||
JDK_DOWNLOAD_URL_LINUX=https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_hotspot_11.0.1_13.tar.gz
|
||||
JDK_DOWNLOAD_URL_MAC=https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_hotspot_11.0.1_13.tar.gz
|
||||
JDK_DOWNLOAD_URL_WIN=https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_windows_hotspot_11.0.1_13.zip
|
||||
JDK_DOWNLOAD_URL_WIN=https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_windows-x64_bin.zip
|
||||
|
||||
JAVA_HOME_LINUX=$basedir/import/jdks/linux/jdk-11.0.1+13
|
||||
JAVA_HOME_MAC=$basedir/import/jdks/mac/jdk-11.0.1+13/Contents/Home
|
||||
JAVA_HOME_WIN=$basedir/import/jdks/win/jdk-11.0.1+13
|
||||
JAVA_HOME_WIN=$basedir/import/jdks/win/jdk-11.0.2
|
||||
|
||||
JAVAFX_VERSION=11.0.2
|
||||
JAVAFX_SDK_DOWNLOAD_URL_LINUX=https://download2.gluonhq.com/openjfx/$JAVAFX_VERSION/openjfx-${JAVAFX_VERSION}_linux-x64_bin-sdk.zip
|
||||
@@ -33,6 +33,13 @@ JAVAFX_JMODS_DOWNLOAD_FILENAME_LINUX=openjfx-${JAVAFX_VERSION}_linux-x64_bin-jmo
|
||||
JAVAFX_JMODS_DOWNLOAD_FILENAME_MAC=openjfx-${JAVAFX_VERSION}_osx-x64_bin-jmods.zip
|
||||
JAVAFX_JMODS_DOWNLOAD_FILENAME_WIN=openjfx-${JAVAFX_VERSION}_windows-x64_bin-jmods.zip
|
||||
|
||||
JPACKAGER_DOWNLOAD_URL_LINUX=http://download2.gluonhq.com/jpackager/11/jdk.packager-linux.zip
|
||||
JPACKAGER_DOWNLOAD_URL_WIN=http://download2.gluonhq.com/jpackager/11/jdk.packager-windows.zip
|
||||
|
||||
JPACKAGER_DOWNLOAD_FILENAME_LINUX=http://download2.gluonhq.com/jpackager/11/jdk.packager-linux.zip
|
||||
JPACKAGER_DOWNLOAD_FILENAME_WIN=http://download2.gluonhq.com/jpackager/11/jdk.packager-windows.zip
|
||||
|
||||
|
||||
OS=`uname -s`
|
||||
if [ $OS = "Darwin" ]; then
|
||||
export JAVA_HOME=$JAVA_HOME_MAC
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=i2p-zero
|
||||
Exec=/bin/bash -c 'cd "$(dirname "$0")"; ./bin/launch-gui.sh' %k
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Utility;
|
||||
@@ -0,0 +1,16 @@
|
||||
[Application]
|
||||
app.name=i2p-zero
|
||||
app.version=1.0
|
||||
app.preferences.id=
|
||||
app.runtime=$APPDIR/runtime
|
||||
app.identifier=
|
||||
app.classpath=
|
||||
app.application.instance=single
|
||||
app.mainmodule=org.getmonero.i2p.zero.gui
|
||||
packager.java.version=11.0.1
|
||||
|
||||
[JVMOptions]
|
||||
|
||||
[JVMUserOptions]
|
||||
|
||||
[ArgOptions]
|
||||
@@ -0,0 +1,16 @@
|
||||
[Application]
|
||||
app.name=i2p-zero
|
||||
app.version=1.0
|
||||
app.preferences.id=
|
||||
app.runtime=$APPDIR\runtime
|
||||
app.identifier=
|
||||
app.classpath=
|
||||
app.application.instance=single
|
||||
app.mainmodule=org.getmonero.i2p.zero.gui
|
||||
packager.java.version=11.0.2
|
||||
|
||||
[JVMOptions]
|
||||
|
||||
[JVMUserOptions]
|
||||
|
||||
[ArgOptions]
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
@@ -1,3 +0,0 @@
|
||||
@echo off
|
||||
set DIR=%~dp0
|
||||
"%DIR%\java" -cp %DIR%\..\i2p.base\jbigi.jar -m org.getmonero.i2p.zero.gui --i2p.dir.base.template=%DIR%\..\i2p.base %*
|
||||
Binary file not shown.
Reference in New Issue
Block a user