Skip to content

Commit

Permalink
setting julia_version for platforn for platform if unspecified
Browse files Browse the repository at this point in the history
  • Loading branch information
Janis Erdmanis committed Jun 19, 2024
2 parents 1ff83c9 + 1d9151f commit de5d770
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
8 changes: 8 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
name = "AppBundler"
uuid = "40eb83ae-c93a-480c-8f39-f018b568f472"
authors = ["Janis Erdmanis <[email protected]>"]
<<<<<<< HEAD
version = "0.1.3"
=======
version = "0.1.1"
>>>>>>> 1d9151f1f5282bb78b5845874db9052fb75efb0e

[deps]
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
Expand All @@ -27,4 +31,8 @@ Tar = "1"
ZipFile = "0.10"
julia = "1"
p7zip_jll = "17.4"
<<<<<<< HEAD
squashfs_tools_jll = "4.6"
=======
julia = "1"
>>>>>>> 1d9151f1f5282bb78b5845874db9052fb75efb0e
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ A bundle can be created with `AppBundler.bundle_app` function as follows:
```julia
import AppBundler
import Pkg.BinaryPlatforms: Linux, MacOS, Windows
bundle_app(MacOS(:x86_64), "MyApp", "build/MyApp-x64.app")
AppBundler.bundle_app(MacOS(:x86_64), "MyApp", "build/MyApp-x64.app")
```

The first argument is a platform for which the bundle is being made; in this case, MacOS; `MyApp` is the location for the project, and `build/MyApp-x64.app` is the location where the bundles will be stored. For Linux, the extension `.snap` and Windows `.zip` for destination determines whether the output is compressed, which can be overridden by `compress=false` in the keyword arguments.
Expand All @@ -45,7 +45,7 @@ After the bundle is created, it needs to be finalised on the host system, where
3. Code signing can be performed with `codesign`. `Resources/Entitlements.plist` file contains entitlements which should be used when signing the final bundle.
4. For the creation of a dmg bundle, the `dmgbuild` is recommended, which can be installed conveniently with `pip install dmgbuild`. For convenience, `Resources/dmg_settings.py` is provided, which allows to `dmgbuild -s "MyApp/Contents/Resources/dmg_settings.py" -D app="MyApp" "MyApp Installer" "MyApp.dmg"`

The signing certificate can be obtained from Apple by subscribing to its developer program. Alternatively, for development purposes, you can generate a self-signing certificate. Follow [offciial instructions of Apple](https://support.apple.com/en-gb/guide/keychain-access/kyca8916/mac), set *Certificate Type* to *Code Signing` and fill out the rest of the parameters as [instructed on youtube](https://www.youtube.com/watch?v=OpR9-onRZko).
The signing certificate can be obtained from Apple by subscribing to its developer program. Alternatively, for development purposes, you can generate a self-signing certificate. Follow [official instructions of Apple](https://support.apple.com/en-gb/guide/keychain-access/kyca8916/mac), set *Certificate Type* to *Code Signing* and fill out the rest of the parameters as [instructed on youtube](https://www.youtube.com/watch?v=OpR9-onRZko).

### Linux

Expand All @@ -57,7 +57,7 @@ For snap, it is also worth mentioning the `snap try myapp` command, which allows

### Windows

For Windows, one has to install `makappx`, `signtool`, and `editbin` installed with WindowsSDK. Installation of Windows SDK fails. Thus, one needs to install Visual Studio Code, adding a few more gigabytes to download and install. For those who run Windows from Parallels, don't run the `Add-Package -register AppxManifest.xml` from a network drive, but copy the files to the home directory instead, as otherwise, Julia crashes. Also, running an executable from installation location `C:\ProgramFiles\WindowsApps\<app folder>` with admin privileges will run the application within the containerised environment specified with `AppxManifest.xml`.
For Windows, one has to install `MakeAppx`, `SignTool`, and `EditBin` installed with WindowsSDK. Installation of Windows SDK fails. Thus, one needs to install Visual Studio Code, adding a few more gigabytes to download and install. For those who run Windows from Parallels, don't run the `Add-Package -register AppxManifest.xml` from a network drive, but copy the files to the home directory instead, as otherwise, Julia crashes. Also, running an executable from installation location `C:\ProgramFiles\WindowsApps\<app folder>` with admin privileges will run the application within the containerised environment specified with `AppxManifest.xml`.

**Generation of Self-Signing Certificate**

Expand All @@ -82,7 +82,7 @@ which generates a pfx certificate and adds password protection.
After installation of Visual Studio Code, find the relevant tools (best to do that with Windows Finder) and either add them to a path or make an alias like:

```powershell
New-Alias -Name makeappx -Value "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\makeappx.exe"
New-Alias -Name makeappx -Value "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\MakeAppx.exe"
New-Alias -Name signtool -Value "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe"
New-Alias -Name editbin -Value "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64\editbin.exe"
```
Expand Down

0 comments on commit de5d770

Please sign in to comment.