Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
SpiritCroc committed Oct 20, 2024
1 parent c6286da commit 6b2b1a6
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 12 deletions.
2 changes: 1 addition & 1 deletion FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Note that this list may be incomplete or outdated.

## General UI

... TODO Schildi theme?
- Schildi theme


## Chat overview ("room list")
Expand Down
87 changes: 76 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,82 @@
SchildiChat Web/Desktop is a fork of Element [Web](https://github.com/element-hq/element-web)/[Desktop](https://github.com/element-hq/element-desktop).


## Initial build setup

```
git clone -b lite --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
cd schildichat-desktop
make setup # optional step if using the other make targets
```

## Building on Linux

Easiest to build on Linux is using `podman`, i.e. use one of the following make targets:

```
make container-appimage-release
make container-debian-release
make container-rpm-release
make container-web-release
```


## Windows building dependencies

To build on Windows, use [Element's](https://web-docs.element.dev/Element%20Desktop/windows-requirements.html) guide as starting point.

Some additional notes I found useful:


### Before build

To prepare your build environment for VSC tools (use 2022 rather than 2019 mentioned upstream:

```
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64
```

Additionally, make sure some programs are in your `PATH`:

```
export PATH="/C/Strawberry/perl/bin:$PATH:/C/Program Files/NASM:/C/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/"
```

- Strawberry perl needs to go before possibly already installed `/usr/bin/perl`
- NASM needs to be available
- `nmake` bundled with VSC wasn't available without adding that additionally (make sure the version is correct for what you installed)


### Additional packages not mentioned upstream

```
npm install yarn
npm install gyp
npm install electron-builder
npm install @electron/fuses
pip install setuptools
```

To update outdated npm packages:

```
npm outdated
npm update <name>
```

### Troubleshooting

- `yarn link` fails with permission denied: [kill any running nodejs task](https://stackoverflow.com/questions/64603970/an-unexpected-error-occurred-eperm-operation-not-permitted-in-yarn)
- `electron-builder` fails to extract `winCodeSign`:
- Download [source code](https://github.com/electron-userland/electron-builder-binaries/releases/tag/winCodeSign-2.6.0) manually
- Extract `electron-builder-binaries-winCodeSign-2.6.0.zip\electron-builder-binaries-winCodeSign-2.6.0\winCodeSign` to your `AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.6.0
- [Source](https://github.com/electron-userland/electron-builder/issues/8149#issuecomment-2328460139)


## Release builds

See [here](RELEASE.md).


## Old build instructions, to be revised in the future

Expand Down Expand Up @@ -67,17 +143,6 @@ or set `CSC_NAME` to your certificate name or id.
To notarize a build with Apple set `NOTARIZE_APPLE_ID` to your AppleID and set the keychain item
`NOTARIZE_CREDS` to an App specific AppleID password.


### Initial setup

As already noted above, **`master` contains the latest release** and **`sc` is the development branch**!

```
git clone -b lite --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
cd schildichat-desktop
make setup # optional step if using the other make targets
```

### Create release builds

```
Expand Down
26 changes: 26 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Releasing SchildiChat deskop

## Build Linux releases

On a Linux machine with podman:

```
make container-release-linux
```

## Build Windows releases

On a Windows machine in git bash (**not** WSL), run:

```
make windows-setup-release
```

## Upload the release

Copy the Windows-generated `.exe` from the `release` directory into the release directory on your Linux machine.
Then (after ensuring you have a GitHub API token setup for the script to pick up):

```
./deploy/create-github-release.sh
```
5 changes: 5 additions & 0 deletions deploy/create-github-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ set -e
version="$1"
releasepath="$2"

if [ -z "$version" ] || [ -z "$releasepath" ]; then
echo "Usage: $0 <version> <releasepath>"
exit 1
fi

if [ -z "$GITHUB_API_TOKEN" ]; then
github_api_token=`cat ~/githubtoken`
else
Expand Down

0 comments on commit 6b2b1a6

Please sign in to comment.