From c1d6b364f8754bcb65015a0e17fa2ce9b95d68d4 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 16 May 2024 11:00:49 +0200 Subject: [PATCH 1/4] Documentation Update for Cache Location on macOS --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c24d33..871ab70 100644 --- a/README.md +++ b/README.md @@ -542,7 +542,7 @@ The performance characteristics of the generated self-contained application is r ### Packages cache location - Linux: `$HOME/.local/share/warp/packages` -- macOS: `$HOME/Library/Application Support/warp/packges` +- macOS: `$HOME/Library/Application Support/warp/packages` - Windows: `%LOCALAPPDATA%\warp\packages` ### Runners cache location From 717335267344aba69e84a268ce8117cceecec0e9 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 16 May 2024 11:19:13 +0200 Subject: [PATCH 2/4] Documentation Update for next version of warp-pack and new url for java --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 871ab70..aa61c28 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ dgiagio@X1:~/Devel$ chmod +x warp-packer **Create your self-contained application** ```sh -dgiagio@X1:~/Devel$ ./warp-packer --arch linux-x64 --input_dir myapp --exec launch --output myapp.bin +dgiagio@X1:~/Devel$ ./warp-packer pack --arch linux-x64 --input-dir myapp --exec launch --output myapp.bin dgiagio@X1:~/Devel$ chmod +x myapp.bin ``` @@ -170,7 +170,7 @@ Diegos-iMac:Devel dgiagio$ chmod +x warp-packer **Create your self-contained application** ```sh -Diegos-iMac:Devel dgiagio$ ./warp-packer --arch macos-x64 --input_dir myapp --exec launch --output myapp.bin +Diegos-iMac:Devel dgiagio$ ./warp-packer pack --arch macos-x64 --input-dir myapp --exec launch --output myapp.bin Diegos-iMac:Devel dgiagio$ chmod +x myapp.bin ``` @@ -250,7 +250,7 @@ PS C:\Users\Diego\Devel> [Net.ServicePointManager]::SecurityProtocol = "tls12, t **Create your self-contained application** ```powershell -PS C:\Users\Diego\Devel> .\warp-packer --arch windows-x64 --input_dir .\myapp\ --exec launch.cmd --output myapp.exe +PS C:\Users\Diego\Devel> .\warp-packer --arch windows-x64 --input-dir .\myapp\ --exec launch.cmd --output myapp.exe ``` **Run your self-contained application** @@ -299,7 +299,7 @@ dgiagio@X1:~/Devel/myapp$ chmod +x warp-packer **Create your self-contained application** ```sh -dgiagio@X1:~/Devel/myapp$ ./warp-packer --arch linux-x64 --input_dir bin/Release/netcoreapp2.1/linux-x64/publish --exec myapp --output myapp +dgiagio@X1:~/Devel/myapp$ ./warp-packer pack --arch linux-x64 --input-dir bin/Release/netcoreapp2.1/linux-x64/publish --exec myapp --output myapp dgiagio@X1:~/Devel/myapp$ chmod +x myapp ``` @@ -351,7 +351,7 @@ Diegos-iMac:myapp dgiagio$ chmod +x warp-packer **Create your self-contained application** ```sh -Diegos-iMac:myapp dgiagio$ ./warp-packer --arch macos-x64 --input_dir bin/Release/netcoreapp2.1/osx-x64/publish --exec myapp --output myapp +Diegos-iMac:myapp dgiagio$ ./warp-packer pack --arch macos-x64 --input-dir bin/Release/netcoreapp2.1/osx-x64/publish --exec myapp --output myapp Diegos-iMac:myapp dgiagio$ chmod +x myapp ``` @@ -402,7 +402,7 @@ PS C:\Users\Diego\Devel\myapp> [Net.ServicePointManager]::SecurityProtocol = "tl **Create your self-contained application** ```powershell -PS C:\Users\Diego\Devel\myapp> .\warp-packer --arch windows-x64 --input_dir bin/Release/netcoreapp2.1/win10-x64/publish --exec myapp.exe --output myapp.exe +PS C:\Users\Diego\Devel\myapp> .\warp-packer --arch windows-x64 --input-dir bin/Release/netcoreapp2.1/win10-x64/publish --exec myapp.exe --output myapp.exe ``` **Run your self-contained application** @@ -456,18 +456,18 @@ Hello, world. **Download a JRE** -There are prebuilt JREs over on [AdoptOpenJDK](https://adoptopenjdk.net). +There are prebuilt JREs over on [AdoptOpenJDK](https://adoptium.net). Here we use JRE 8: ``` -wget -N https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz +wget -N https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u412-b08/OpenJDK8U-jre_x64_linux_hotspot_8u412b08.tar.gz ``` Unpack it: ``` -tar -xvf OpenJDK8U-jre_x64_linux_hotspot_8u202b08.tar.gz +tar -xvf OpenJDK8U-jre_x64_linux_hotspot_8u412b08.tar.gz ``` **Create a bundle** @@ -476,7 +476,7 @@ We need to create a folder containing: our compiled code, the JRE and a launch s ``` mkdir bundle -cp -r ./jdk8u202-b08-jre ./bundle/jre +cp -r ./jdk8u412-b08-jre ./bundle/jre cp app.jar ./bundle/app.jar touch bundle/run.sh chmod +x ./bundle/run.sh @@ -513,7 +513,7 @@ $ chmod +x ./warp-packer **Create your self-contained application** ```bash -$ ./warp-packer --arch linux-x64 --input_dir bundle --exec run.sh --output app.bin +$ ./warp-packer pack --arch linux-x64 --input-dir bundle --exec run.sh --output app.bin $ chmod +x app.bin ``` From adfc48d226e4a8306f667426a6fa8d0ef557be62 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 18 May 2024 12:19:13 +0200 Subject: [PATCH 3/4] First draft of BUILD.md --- BUILD.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 BUILD.md diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 0000000..b096c5b --- /dev/null +++ b/BUILD.md @@ -0,0 +1,90 @@ +# Build Instructions + +Instructions for building this repository on Linux. + +## Table Of Contents + +- [Build Instructions](#build-instructions) + - [Table Of Contents](#table-of-contents) + - [Contributing to the Repository](#contributing-to-the-repository) + - [Building On Linux](#building-on-linux) + - [Linux Development Environment Requirements](#linux-development-environment-requirements) + - [Required Package List](#required-package-list) + - [Install and prepare required Rust version](#install-and-prepare-required-rust-version) + - [Required MacOSX Sdk](required-macosx-sdk) + - [Build and use MacOS Sdk from XCode](build-and-use-macos-sdk-from-xcode) + - [Build the Project](#build-the-project) + +## Contributing to the Repository + +If you intend to contribute, the preferred work flow is for you to develop +your contribution in a fork of this repository in your GitHub account and then +submit a pull request. + +## Repository Content + +This repository contains the source code necessary to build warp-packer for different platforms and architecture. + +## Building On Linux + +### Linux Development Environment Requirements + +This repository has been built and tested on Debian 12.5 (Bookworm) on an AMD64 architecture. + +#### Required Package List + +`apt install curl maven clang cmake libssl-dev zlib1g-dev liblzma-dev libbz2-dev gcc-aarch64-linux-gnu gcc-mingw-w64-x86-64-win32` + +#### Install and prepare required Rust version + +This repository has been built and tested with rust version 1.78. + +To install the newest version, run the following command: +`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` + +If newer version won't work, a specific version can be used with the following command: +`$ curl --proto '=https' --tls1.2 -sSf https://sh.rustup.rs/ | sh -s --default-toolchain=1.78.0` + +For more information see this [Github Issue](https://github.com/rust-lang/rustup/issues/2882). + +After install run the following commands to get the necessary targets: +`rustup target add x86_64-apple-darwin` +`rustup target add aarch64-unknown-linux-gnu` +`rustup target add x86_64-pc-windows-gnu` + +#### Required MacOSX Sdk + +To build the warp-packer for the target x86_64-apple-darwin a MacOSX Sdk is needed. The repository has been build and tested with MacOSX10.12 Sdk. +There are seveal Github repository available that contains different Sdk versions but they all seems to miss the header files. So it is recommend to download it from apples websites. +The MacOS Sdk is integrated in XCode and this repository has been build and tested with Xcode version 8.3.3. + +##### Build and use MacOS Sdk from XCode + +To build and use the MacOS Sdk from XCode [osxcross](https://github.com/tpoechtrager/osxcross) will be used. + +Download osxcross: +`git clone https://github.com/tpoechtrager/osxcross.git` + +Extract MacOS Sdk from XCode (see [here](https://github.com/tpoechtrager/osxcross?tab=readme-ov-file#packing-the-sdk-on-linux---method-1-xcode--80): +`/osxcross/tools/gen_sdk_package_pbzx.sh /Xcode_8.3.3.xip` +Hint: This method may require up to 45 GB of free disk space. +An SSD is recommended for this method. + +Copy or move the SDK into the `/osxcross/tarballs/` directory. + +Run: +`UNATTENDED=yes OSX_VERSION_MIN=10.12 ./build.sh` to create macOS cross toolchain. + +Add the target/bin folder to your PATH environment variable: +`PATH="/osxcross/target/bin:$PATH"` + +#### Build the Project + +Clone the project and within the project run +`make` +to start the build. + +The compiled warp-packer files are in the folder: +`warp/target//release/warp-packer` +e.g. +`warp/target/aarch64-unknown-linux-gnu/release/warp-packer` \ No newline at end of file From 36b7081c42d84e0cd81fc023acea74edab90633d Mon Sep 17 00:00:00 2001 From: david Date: Sat, 18 May 2024 12:22:15 +0200 Subject: [PATCH 4/4] Fixing several typos in BUILD.md and adding INSTALL.md --- BUILD.md | 100 ++++++++++++++++++++++++++++++++--------------------- INSTALL.md | 83 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+), 39 deletions(-) create mode 100644 INSTALL.md diff --git a/BUILD.md b/BUILD.md index b096c5b..36f6a23 100644 --- a/BUILD.md +++ b/BUILD.md @@ -2,30 +2,29 @@ Instructions for building this repository on Linux. -## Table Of Contents +## Table of Contents - [Build Instructions](#build-instructions) - - [Table Of Contents](#table-of-contents) + - [Table of Contents](#table-of-contents) - [Contributing to the Repository](#contributing-to-the-repository) - - [Building On Linux](#building-on-linux) + - [Repository Content](#repository-content) + - [Building on Linux](#building-on-linux) - [Linux Development Environment Requirements](#linux-development-environment-requirements) - [Required Package List](#required-package-list) - - [Install and prepare required Rust version](#install-and-prepare-required-rust-version) - - [Required MacOSX Sdk](required-macosx-sdk) - - [Build and use MacOS Sdk from XCode](build-and-use-macos-sdk-from-xcode) + - [Install and Prepare Required Rust Version](#install-and-prepare-required-rust-version) + - [Required macOS SDK](#required-macos-sdk) + - [Build and Use macOS SDK from Xcode](#build-and-use-macos-sdk-from-xcode) - [Build the Project](#build-the-project) ## Contributing to the Repository -If you intend to contribute, the preferred work flow is for you to develop -your contribution in a fork of this repository in your GitHub account and then -submit a pull request. +If you intend to contribute, the preferred workflow is for you to develop your contribution in a fork of this repository in your GitHub account and then submit a pull request. ## Repository Content -This repository contains the source code necessary to build warp-packer for different platforms and architecture. +This repository contains the source code necessary to build warp-packer for different platforms and architectures. -## Building On Linux +## Building on Linux ### Linux Development Environment Requirements @@ -33,58 +32,81 @@ This repository has been built and tested on Debian 12.5 (Bookworm) on an AMD64 #### Required Package List -`apt install curl maven clang cmake libssl-dev zlib1g-dev liblzma-dev libbz2-dev gcc-aarch64-linux-gnu gcc-mingw-w64-x86-64-win32` +```bash +apt install curl maven clang cmake libssl-dev zlib1g-dev liblzma-dev libbz2-dev gcc-aarch64-linux-gnu gcc-mingw-w64-x86-64-win32 +``` -#### Install and prepare required Rust version +#### Install and Prepare Required Rust Version -This repository has been built and tested with rust version 1.78. +This repository has been built and tested with Rust version 1.78. To install the newest version, run the following command: -`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` +```bash +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` -If newer version won't work, a specific version can be used with the following command: -`$ curl --proto '=https' --tls1.2 -sSf https://sh.rustup.rs/ | sh -s --default-toolchain=1.78.0` +If a newer version doesn't work, a specific version can be installed with the following command: +```bash +$ curl --proto '=https' --tls1.2 -sSf https://sh.rustup.rs/ | sh -s --default-toolchain=1.78.0 +``` -For more information see this [Github Issue](https://github.com/rust-lang/rustup/issues/2882). +For more information see this [GitHub Issue](https://github.com/rust-lang/rustup/issues/2882). -After install run the following commands to get the necessary targets: -`rustup target add x86_64-apple-darwin` -`rustup target add aarch64-unknown-linux-gnu` -`rustup target add x86_64-pc-windows-gnu` +After installing, run the following commands to get the necessary targets: +```bash +rustup target add x86_64-apple-darwin +rustup target add aarch64-unknown-linux-gnu +rustup target add x86_64-pc-windows-gnu +``` -#### Required MacOSX Sdk +#### Required macOS SDK -To build the warp-packer for the target x86_64-apple-darwin a MacOSX Sdk is needed. The repository has been build and tested with MacOSX10.12 Sdk. -There are seveal Github repository available that contains different Sdk versions but they all seems to miss the header files. So it is recommend to download it from apples websites. -The MacOS Sdk is integrated in XCode and this repository has been build and tested with Xcode version 8.3.3. +To build warp-packer for the target x86_64-apple-darwin, a macOS SDK is needed. The repository has been built and tested with MacOSX10.12 SDK. +There are several GitHub repositories available that contain different SDK versions, but they all seem to miss the header files. So it is recommended to download it from Apple's website. +The macOS SDK is integrated into Xcode, and this repository has been built and tested with Xcode version 8.3.3. -##### Build and use MacOS Sdk from XCode +##### Build and Use macOS SDK from Xcode -To build and use the MacOS Sdk from XCode [osxcross](https://github.com/tpoechtrager/osxcross) will be used. +To build and use the macOS SDK from Xcode, [osxcross](https://github.com/tpoechtrager/osxcross) will be used. Download osxcross: -`git clone https://github.com/tpoechtrager/osxcross.git` +```bash +git clone https://github.com/tpoechtrager/osxcross.git +``` -Extract MacOS Sdk from XCode (see [here](https://github.com/tpoechtrager/osxcross?tab=readme-ov-file#packing-the-sdk-on-linux---method-1-xcode--80): -`/osxcross/tools/gen_sdk_package_pbzx.sh /Xcode_8.3.3.xip` -Hint: This method may require up to 45 GB of free disk space. -An SSD is recommended for this method. +Extract macOS SDK from Xcode (see [here](https://github.com/tpoechtrager/osxcross?tab=readme-ov-file#packing-the-sdk-on-linux---method-1-xcode--80)): +```bash +/osxcross/tools/gen_sdk_package_pbzx.sh /Xcode_8.3.3.xip +``` + +Hint: This method may require up to 45 GB of free disk space. An SSD is recommended for this method. Copy or move the SDK into the `/osxcross/tarballs/` directory. Run: -`UNATTENDED=yes OSX_VERSION_MIN=10.12 ./build.sh` to create macOS cross toolchain. +```bash +UNATTENDED=yes OSX_VERSION_MIN=10.12 ./build.sh +``` +to create the macOS cross toolchain. Add the target/bin folder to your PATH environment variable: -`PATH="/osxcross/target/bin:$PATH"` +```bash +PATH="/osxcross/target/bin:$PATH" +``` #### Build the Project -Clone the project and within the project run -`make` +Clone the project and within the project directory, run: +```bash +make +``` to start the build. The compiled warp-packer files are in the folder: -`warp/target//release/warp-packer` +```bash +/warp/target//release/warp-packer +``` e.g. -`warp/target/aarch64-unknown-linux-gnu/release/warp-packer` \ No newline at end of file +```bash +warp/target/aarch64-unknown-linux-gnu/release/warp-packer +``` \ No newline at end of file diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..66ab8e5 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,83 @@ +# Installation Instructions + +Instructions for installing the warp-packer executable on Linux, Mac, and Windows. + +## Table of Contents + +- [Installation Instructions](#installation-instructions) + - [Table of Contents](#table-of-contents) + - [Linux](#linux) + - [Mac](#mac) + - [Windows](#windows) + +## Linux + +1. **Copy the warp-packer executable to a directory in your PATH:** + + For example, you can copy it to `/usr/local/bin`: + ```sh + sudo cp /path/to/warp-packer /usr/local/bin/ + ``` + +2. **Ensure the warp-packer executable has the correct permissions:** + + Make the file executable: + ```sh + sudo chmod +x /usr/local/bin/warp-packer + ``` + +3. **Verify the installation:** + + Check that the executable is in your PATH and works correctly: + ```sh + warp-packer --version + ``` + +## Mac + +1. **Copy the warp-packer executable to a directory in your PATH:** + + For example, you can copy it to `/usr/local/bin`: + ```sh + sudo cp /path/to/warp-packer /usr/local/bin/ + ``` + +2. **Ensure the warp-packer executable has the correct permissions:** + + Make the file executable: + ```sh + sudo chmod +x /usr/local/bin/warp-packer + ``` + +3. **Verify the installation:** + + Check that the executable is in your PATH and works correctly: + ```sh + warp-packer --version + ``` + +## Windows + +1. **Copy the warp-packer executable to a directory in your PATH:** + + For example, you can copy it to `C:\Program Files\warp-packer`: + ```powershell + Copy-Item -Path "C:\path\to\warp-packer.exe" -Destination "C:\Program Files\warp-packer\" + ``` + +2. **Add the directory to your PATH environment variable:** + + - Open the Start Search, type in "env", and select "Edit the system environment variables". + - In the System Properties window, click on the "Environment Variables..." button. + - In the Environment Variables window, under "System variables", find the `Path` variable, select it, and click "Edit...". + - In the Edit Environment Variable window, click "New" and add the path to the directory where you copied the warp-packer executable (`C:\Program Files\warp-packer\`). + - Click "OK" to close all windows. + +3. **Verify the installation:** + + Open a new Command Prompt and check that the executable is in your PATH and works correctly: + ```cmd + warp-packer --version + ``` + +By following these steps, you will have the warp-packer executable installed and ready to use on Linux, Mac, and Windows. \ No newline at end of file