mirror of
https://github.com/SchildiChat/schildichat-desktop.git
synced 2025-07-02 00:15:05 +02:00
Compare commits
113 Commits
v1.7.29-sc
...
v1.8.4-sc1
Author | SHA1 | Date | |
---|---|---|---|
e45b9c2479 | |||
d39696f776 | |||
1bf339dcb1 | |||
d730a87a59 | |||
e900562d5e | |||
c827d5af18 | |||
d8af01d36a | |||
519801c059 | |||
cf2ba283e8 | |||
898ba1215e | |||
29abb3e567 | |||
2294770442 | |||
ab496bbf96 | |||
8bcb23f52f | |||
f9a9e091d3 | |||
99d6a3790c | |||
2aedca9fb7 | |||
1a305bab96 | |||
0206873c18 | |||
7a61dc1da8 | |||
98c8da3c34 | |||
a4436f462a | |||
17ae7bf98b | |||
4aa0bbec25 | |||
bdac1e4334 | |||
b447e3f45d | |||
552ab5913f | |||
046b7c02fd | |||
4a68ab4f94 | |||
90195daa63 | |||
54eaabde39 | |||
fa9153bbca | |||
ca8629d4e5 | |||
b64bd20b15 | |||
e72dfceb12 | |||
9cc3cdc3dc | |||
460458ca0a | |||
d56fac4ea7 | |||
2b06a6cbd8 | |||
cdf5812221 | |||
25148ec273 | |||
2248eebef0 | |||
505a21a022 | |||
89d385b7d4 | |||
4e01e1d57a | |||
7e2d84fc1c | |||
c000ee1445 | |||
be3bb16e06 | |||
817bdaf65b | |||
d5fa475e8d | |||
7c4500e95f | |||
e69c5bfb10 | |||
ee760ab980 | |||
f82619b4cd | |||
7c2ad6457d | |||
ea528bb30d | |||
8186dd8b40 | |||
9389687646 | |||
91f8982678 | |||
28e4695a22 | |||
a808f3d496 | |||
343c2d79a2 | |||
f7c1d254c3 | |||
e95a8442b0 | |||
d631fa21eb | |||
80e873dd66 | |||
9bffd5bea9 | |||
539a43b311 | |||
047c95b578 | |||
05f21f1707 | |||
af4e841134 | |||
6a2eb7e256 | |||
7163a74d24 | |||
a7ef620132 | |||
8ad4a5e054 | |||
df24897b75 | |||
6b6fc8aba2 | |||
6bcf555b6a | |||
7f78d7c5a0 | |||
8783aad7fe | |||
a0b87afbd2 | |||
e8f02cb065 | |||
031c657ccb | |||
905374543d | |||
21c1a4d55a | |||
17e988aac9 | |||
6da7785919 | |||
b75788acf8 | |||
dbaf203a9d | |||
3671fb2509 | |||
d288d59851 | |||
f896a5cf9b | |||
013115c4b7 | |||
54692fd5d5 | |||
31626be179 | |||
68c7fb216e | |||
1e063b4c45 | |||
0587d470ec | |||
4162a4b0bb | |||
1e65e1d6c2 | |||
ecf2ca9c95 | |||
ee9030b25e | |||
c92de08179 | |||
68f8de90a8 | |||
b58ec71fab | |||
7d936b5dd6 | |||
245acd8666 | |||
5ae89a1930 | |||
75ce7c462b | |||
3c98777e16 | |||
d617678f3d | |||
37e2a48648 | |||
80a92a3c30 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
release.mk
|
||||
/release
|
||||
/local-pkgbuild
|
||||
bom.lock
|
||||
|
69
Makefile
69
Makefile
@ -1,5 +1,6 @@
|
||||
.PHONY: all setup regenerate-i18n reskindex web desktop-common linux debian pacman local-pkgbuild local-pkgbuild-install windows windows-portable
|
||||
.PHONY: web-release debian-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release
|
||||
.PHONY: all setup regenerate-i18n reskindex web desktop-common linux debian rpm pacman local-pkgbuild local-pkgbuild-install windows windows-portable
|
||||
.PHONY: web-release debian-release rpm-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release
|
||||
.PHONY: macos-common macos macos-mas macos-release macos-mas-release icns
|
||||
.PHONY: clean
|
||||
|
||||
CFGDIR ?= configs/sc
|
||||
@ -19,6 +20,7 @@ OUT_WEB := $(WEB_OUT)/$(WEB_APP_NAME)-$(WEB_OUT_DIST_VERSION).tar.gz
|
||||
|
||||
DESKTOP_OUT := element-desktop/dist
|
||||
OUT_DEB64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)_$(VERSION)_amd64.deb
|
||||
OUT_RPM64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)-$(VERSION).x86_64.rpm
|
||||
OUT_PAC64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)-$(VERSION).pacman
|
||||
OUT_APPIMAGE64 := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION).AppImage
|
||||
OUT_TARXZ64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)-$(VERSION).tar.xz
|
||||
@ -27,17 +29,34 @@ OUT_WIN64_PORTABLE := $(DESKTOP_OUT)/$(PRODUCT_NAME)\ $(VERSION).exe
|
||||
OUT_WIN64_BETTER_NAME := $(PRODUCT_NAME)_Setup_v$(VERSION).exe
|
||||
OUT_WIN64_UNPACKED_BETTER_NAME := $(PRODUCT_NAME)_win-unpacked_v$(VERSION).zip
|
||||
OUT_WIN64_PORTABLE_BETTER_NAME := $(PRODUCT_NAME)_win-portable_v$(VERSION)
|
||||
OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION).dmg
|
||||
OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION)-universal.dmg
|
||||
OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app
|
||||
|
||||
RELEASE_DIR := release
|
||||
CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION)
|
||||
|
||||
# macOS Codesigning
|
||||
CSC_IDENTITY_AUTO_DISCOVERY ?= false
|
||||
NOTARIZE_APPLE_ID ?=
|
||||
CSC_NAME ?=
|
||||
|
||||
-include release.mk
|
||||
|
||||
setup:
|
||||
if [ ! -L "element-desktop/webapp" ]; then ./setup.sh; fi
|
||||
|
||||
element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset/*)
|
||||
|
||||
element-desktop/build/icon.icns: element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset
|
||||
iconutil -c icns -o $@ $<
|
||||
|
||||
element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset/*)
|
||||
|
||||
element-desktop/build/dmg.icns: element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset
|
||||
iconutil -c icns -o $@ $<
|
||||
|
||||
icns: element-desktop/build/icon.icns element-desktop/build/dmg.icns
|
||||
|
||||
regenerate-i18n: setup
|
||||
./regenerate_i18n.sh
|
||||
|
||||
@ -55,26 +74,41 @@ desktop-common: web
|
||||
$(YARN) --cwd element-desktop run fetch --cfgdir ''
|
||||
$(YARN) --cwd element-desktop run build:native
|
||||
|
||||
macos-common: web icns
|
||||
$(YARN) --cwd element-desktop run fetch --cfgdir ''
|
||||
$(YARN) --cwd element-desktop run build:native:universal
|
||||
|
||||
linux: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64linux
|
||||
$(YARN) --cwd element-desktop run build:64 --linux deb pacman tar.xz
|
||||
|
||||
debian: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64deb
|
||||
$(YARN) --cwd element-desktop run build:64 --linux deb
|
||||
|
||||
rpm: desktop-common
|
||||
$(YARN) --cwd element-desktop run build:64 --linux rpm
|
||||
|
||||
pacman: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64pacman
|
||||
$(YARN) --cwd element-desktop run build:64 --linux pacman
|
||||
|
||||
appimage: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64appimage
|
||||
$(YARN) --cwd element-desktop run build:64 --linux AppImage
|
||||
|
||||
windows: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64windows
|
||||
$(YARN) --cwd element-desktop run build:64 --windows nsis
|
||||
|
||||
windows-portable: desktop-common
|
||||
$(YARN) --cwd element-desktop run build64windows-portable
|
||||
$(YARN) --cwd element-desktop run build:64 --windows portable
|
||||
|
||||
macos: desktop-common
|
||||
$(YARN) --cwd element-desktop run build --mac dmg -c.mac.identity=null
|
||||
macos: macos-common
|
||||
export CSC_IDENTITY_AUTO_DISCOVERY
|
||||
export NOTARIZE_APPLE_ID
|
||||
export CSC_NAME
|
||||
$(YARN) --cwd element-desktop run build:universal --mac dmg
|
||||
|
||||
macos-mas: macos-common
|
||||
export NOTARIZE_APPLE_ID
|
||||
export CSC_NAME
|
||||
$(YARN) --cwd element-desktop run build:universal --mac mas
|
||||
|
||||
local-pkgbuild: debian
|
||||
./create_local_pkgbuild.sh $(VERSION) $(DESKTOP_APP_NAME) $(PRODUCT_NAME) $(OUT_DEB64)
|
||||
@ -90,6 +124,10 @@ debian-release: debian
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_DEB64) $(CURRENT_RELEASE_DIR)
|
||||
|
||||
rpm-release: rpm
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_RPM64) $(CURRENT_RELEASE_DIR)
|
||||
|
||||
pacman-release: pacman
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_PAC64) $(CURRENT_RELEASE_DIR)
|
||||
@ -115,6 +153,14 @@ macos-release: macos
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_MACOS) $(CURRENT_RELEASE_DIR)
|
||||
|
||||
macos-mas-release: macos-mas
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR)
|
||||
|
||||
bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock matrix-react-sdk/yarn.lock
|
||||
./build-bom.sh
|
||||
bom: bom.lock
|
||||
|
||||
clean:
|
||||
$(YARN) --cwd matrix-js-sdk clean
|
||||
$(YARN) --cwd matrix-react-sdk clean
|
||||
@ -123,3 +169,4 @@ clean:
|
||||
rm -f element-desktop/webapp
|
||||
rm -rf element-web/dist
|
||||
rm -rf local-pkgbuild
|
||||
rm -f bom.lock
|
||||
|
20
README.md
20
README.md
@ -3,7 +3,7 @@
|
||||
SchildiChat Web/Desktop is a fork of Element [Web](https://github.com/vector-im/element-web)/[Desktop](https://github.com/vector-im/element-desktop).
|
||||
|
||||
The most important changes of SchildiChat Web/Desktop compared to Element Web/Desktop are:
|
||||
- A unifed chat list for both direct and group chats
|
||||
- A unified chat list for both direct and group chats
|
||||
- Message bubbles
|
||||
- Bigger items in the room list
|
||||
- … and more!
|
||||
@ -18,7 +18,14 @@ Feel free to [join the discussion on matrix](https://matrix.to/#/#schildichat-we
|
||||
|
||||
## Building SchildiChat Web/Desktop
|
||||
|
||||
This particular repo is a wrapper project for element-desktop, element-web, matrix-react-sdk and matrix-js-sdk in order to build SchildiChat Web **and** Desktop.
|
||||
This particular repo is a wrapper project for element-desktop, element-web, matrix-react-sdk and matrix-js-sdk. It's the recommended starting point to build SchildiChat for Web **and** Desktop.
|
||||
|
||||
<pre><code><b>schildichat-desktop</b> <i><-- this repo</i> (recommended starting point to build SchildiChat for Web <b>and</b> Desktop)
|
||||
|-- <a href="https://github.com/SchildiChat/element-desktop">element-desktop</a> (electron wrapper)
|
||||
|-- <a href="https://github.com/SchildiChat/element-web">element-web</a> ("skin" for matrix-react-sdk)
|
||||
|-- <a href="https://github.com/SchildiChat/matrix-react-sdk">matrix-react-sdk</a> (most of the development happens here)
|
||||
`-- <a href="https://github.com/SchildiChat/matrix-js-sdk">matrix-js-sdk</a> (Matrix client js sdk)
|
||||
</code></pre>
|
||||
|
||||
### Install dependencies
|
||||
|
||||
@ -57,6 +64,14 @@ $ source .bashrc
|
||||
brew install tcl rust node gpg vim curl git yarn git make gcc
|
||||
```
|
||||
|
||||
#### Signed macOS builds
|
||||
|
||||
To sign a macOS build set the environment or make variable `CSC_IDENTITY_AUTO_DISCOVERY` to true
|
||||
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
|
||||
|
||||
@ -81,6 +96,7 @@ After that these packages which belong to to their respective make target should
|
||||
- `windows-setup`: _SchildiChat_Setup_v\<version\>.exe_: file ready for **installation** on a **Windows** system
|
||||
- `windows-portable`: _SchildiChat_win-portable_v\<version\>.zip_: **portable** version for a **Windows** system – take SchildiChat together with your login data around with you (the archive contains a readme with **instructions** and **notes**)
|
||||
- `macos`: Build a *.dmg for macOS
|
||||
- `macos-mas`: Build a *.pkg for release in the Mac App Store
|
||||
|
||||
#### Additional make targets not used for GitHub releases
|
||||
- `pacman`: file ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-<version>.pacman`
|
||||
|
46
build-bom.sh
Executable file
46
build-bom.sh
Executable file
@ -0,0 +1,46 @@
|
||||
# /usr/bin/env bash
|
||||
cat element-desktop/yarn.lock > bom.lock
|
||||
echo "" >> bom.lock
|
||||
cat element-web/yarn.lock >> bom.lock
|
||||
echo "" >> bom.lock
|
||||
cat matrix-js-sdk/yarn.lock >> bom.lock
|
||||
echo "" >> bom.lock
|
||||
cat matrix-react-sdk/yarn.lock >> bom.lock
|
||||
echo "" >> bom.lock
|
||||
|
||||
# matrix-seshat
|
||||
cat << EOF >> bom.lock
|
||||
matrix-seshat@2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://github.com/matrix-org/seshat/archive/refs/heads/master.tar.gz"
|
||||
integrity sha512-y4xtZViRX/h0zczl5hiqWyFNK7np0vVujQ/l47g1Mm7B7mDTHAneSSy/d5GADeUIsezZyvT3qKhSCwSSyqS8Xw==
|
||||
dependencies:
|
||||
sqlcipher "~m1"
|
||||
openssl "~1.1.1f"
|
||||
|
||||
sqlcipher@m1:
|
||||
version "m1"
|
||||
resolved "https://github.com/SchildiChat/sqlcipher/archive/refs/heads/m1.tar.gz"
|
||||
integrity sha512-1Nk7J0dQyVedFLqnxUJQWrf/VBsUsfC5vAYaHDH3LRbWarfKDGYduZrhdBuzgAF+kMA237HaDt9Tq+CcXV0EJA==
|
||||
|
||||
openssl@1.1.1f:
|
||||
version "1.1.1f"
|
||||
resolved "https://www.openssl.org/source/openssl-1.1.1f.tar.gz"
|
||||
integrity sha512-sAvZta1SmPvO7sa7GcGrDBBspc+zEXhJfFi/fg4M8w/MGcIPhOI68xzBJr8kR9Pk+EYduXuvp7149pVhky8ADA==
|
||||
EOF
|
||||
echo "" >> bom.lock
|
||||
|
||||
# keytar
|
||||
cat << EOF >> bom.lock
|
||||
keytar@^5.6.0:
|
||||
version "5.6.0"
|
||||
resolved "https://github.com/atom/node-keytar/archive/refs/tags/v5.6.0.tar.gz"
|
||||
integrity sha512-dPdXLrm8AlqooT0ZS7y/mYif0DmQXoGGrqomwfl6ugIEHlpL1D+hJYhjyMC00TK924vOGD1a6OhDS2+RKEffXA==
|
||||
dependencies:
|
||||
libsecret "~0.20.3"
|
||||
|
||||
libsecret@0.20.3:
|
||||
version "0.20.3"
|
||||
resolved "https://gitlab.gnome.org/GNOME/libsecret/-/archive/0.20.3/libsecret-0.20.3.tar.gz"
|
||||
integrity sha512-tbD1jNKEEW9bPWuyd5YZ68eQjHhXOsy5PseVwleWYMEXgrrPPGnGGrLzSFUXRzNulFceLMeUG49Qr1rnyvfa1A==
|
||||
EOF
|
@ -26,5 +26,12 @@
|
||||
"url": "https://schildi.chat/desktop/privacy",
|
||||
"text": "Privacy Policy"
|
||||
}
|
||||
]
|
||||
],
|
||||
"sc_update_announcement_room": {
|
||||
"room_id_or_alias": "!JwTYjASnrfLEJQGQvt:matrix.org",
|
||||
"via_servers": [
|
||||
"supercable.onl",
|
||||
"spiritcroc.de"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ release_notes_file="/tmp/scrn.md"
|
||||
|
||||
owner=SchildiChat
|
||||
repo=schildichat-desktop
|
||||
target=sc
|
||||
target=master
|
||||
|
||||
# Define variables
|
||||
GH_API="https://api.github.com"
|
||||
|
@ -13,7 +13,6 @@ repourl="git@github.com:flathub/chat.schildi.desktop.git"
|
||||
|
||||
downloadurl="https://github.com/SchildiChat/schildichat-desktop/releases/download/v${version}/schildichat-desktop_${version}_amd64.deb"
|
||||
sha256sum=($(sha256sum $debpath))
|
||||
debsize=($(wc -c $debpath))
|
||||
debdate=$(date +%Y-%m-%d -r $debpath)
|
||||
|
||||
[ -d "$repopath" ] || git clone $repourl $repopath
|
||||
@ -23,20 +22,15 @@ pushd "$repopath" > /dev/null
|
||||
git fetch
|
||||
git reset --hard origin/master
|
||||
|
||||
jsonFile="chat.schildi.desktop.json"
|
||||
jsonString=$(jq -r "." $jsonFile)
|
||||
|
||||
yamlFile="chat.schildi.desktop.yaml"
|
||||
xmlFile="chat.schildi.desktop.appdata.xml"
|
||||
|
||||
jsonString=$(echo $jsonString | jq -r ".modules[]? |= ((select(.name?==\"schildichat\") | .sources[0].url = \"${downloadurl}\") // .)")
|
||||
jsonString=$(echo $jsonString | jq -r ".modules[]? |= ((select(.name?==\"schildichat\") | .sources[0].sha256 = \"${sha256sum}\") // .)")
|
||||
jsonString=$(echo $jsonString | jq -r ".modules[]? |= ((select(.name?==\"schildichat\") | .sources[0].size = ${debsize}) // .)")
|
||||
sed -i "s|url: .* #SC:url|url: $downloadurl #SC:url|" "$yamlFile"
|
||||
sed -i "s|sha256: .* #SC:sha256|sha256: $sha256sum #SC:sha256|" "$yamlFile"
|
||||
|
||||
echo $jsonString | jq --indent 4 "." > $jsonFile
|
||||
sed -i "s|^\s\s<releases>$| <releases>\n <release version=\"$version\" date=\"$debdate\"/>|" "$xmlFile"
|
||||
|
||||
sed -i "s|^\s\s<releases>$| <releases>\n <release version=\"$version\" date=\"$debdate\"/>|" $xmlFile
|
||||
|
||||
git add $jsonFile $xmlFile
|
||||
git add $yamlFile $xmlFile
|
||||
git commit -m "Bump version to v$version"
|
||||
|
||||
git push
|
||||
|
Submodule element-desktop updated: 820d349609...de5f137d4e
Submodule element-web updated: 37703fbbcd...615ecdc6d6
26
flake.lock
generated
Normal file
26
flake.lock
generated
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1630504215,
|
||||
"narHash": "sha256-H5pzwo7z3e7ZatwuwWY25oZSejchO+ZH/XtMi8/PXLw=",
|
||||
"owner": "yu-re-ka",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "979e5916df0e6830a2b1ee999632de9a9d2beb23",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
29
flake.nix
Normal file
29
flake.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
description = "The SchildiChat Matrix client";
|
||||
|
||||
inputs.nixpkgs.url = github:NixOS/nixpkgs;
|
||||
|
||||
outputs = { self, nixpkgs }: let
|
||||
systems = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
|
||||
|
||||
overlay = import ./nix/overlay.nix;
|
||||
|
||||
# Memoize nixpkgs for different platforms for efficiency.
|
||||
nixpkgsFor = forAllSystems (system:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ overlay ];
|
||||
});
|
||||
in {
|
||||
inherit overlay;
|
||||
|
||||
packages = builtins.mapAttrs (system: pkgs: {
|
||||
inherit (pkgs)
|
||||
schildichat-web
|
||||
schildichat-desktop
|
||||
schildichat-desktop-wayland
|
||||
;
|
||||
}) nixpkgsFor;
|
||||
};
|
||||
}
|
3
i18n-overlays/element-desktop/es.json
Normal file
3
i18n-overlays/element-desktop/es.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Mostrar"
|
||||
}
|
3
i18n-overlays/element-desktop/et.json
Normal file
3
i18n-overlays/element-desktop/et.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Näita"
|
||||
}
|
1
i18n-overlays/element-desktop/eu.json
Normal file
1
i18n-overlays/element-desktop/eu.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-desktop/fa.json
Normal file
1
i18n-overlays/element-desktop/fa.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
i18n-overlays/element-desktop/fr.json
Normal file
3
i18n-overlays/element-desktop/fr.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Afficher"
|
||||
}
|
1
i18n-overlays/element-desktop/hu.json
Normal file
1
i18n-overlays/element-desktop/hu.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
i18n-overlays/element-desktop/lt.json
Normal file
3
i18n-overlays/element-desktop/lt.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Rodyti"
|
||||
}
|
3
i18n-overlays/element-desktop/nb_NO.json
Normal file
3
i18n-overlays/element-desktop/nb_NO.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Vis"
|
||||
}
|
3
i18n-overlays/element-desktop/nl.json
Normal file
3
i18n-overlays/element-desktop/nl.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Tonen"
|
||||
}
|
3
i18n-overlays/element-desktop/pl.json
Normal file
3
i18n-overlays/element-desktop/pl.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Pokaż"
|
||||
}
|
1
i18n-overlays/element-desktop/pt_BR.json
Normal file
1
i18n-overlays/element-desktop/pt_BR.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
i18n-overlays/element-desktop/ru.json
Normal file
3
i18n-overlays/element-desktop/ru.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"Show": "Показать"
|
||||
}
|
1
i18n-overlays/element-desktop/sk.json
Normal file
1
i18n-overlays/element-desktop/sk.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/en_EN.json
Normal file
1
i18n-overlays/element-web/en_EN.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/es.json
Normal file
1
i18n-overlays/element-web/es.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/et.json
Normal file
1
i18n-overlays/element-web/et.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/eu.json
Normal file
1
i18n-overlays/element-web/eu.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/fa.json
Normal file
1
i18n-overlays/element-web/fa.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/fr.json
Normal file
1
i18n-overlays/element-web/fr.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/hu.json
Normal file
1
i18n-overlays/element-web/hu.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/lt.json
Normal file
1
i18n-overlays/element-web/lt.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/nb_NO.json
Normal file
1
i18n-overlays/element-web/nb_NO.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/nl.json
Normal file
1
i18n-overlays/element-web/nl.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/pl.json
Normal file
1
i18n-overlays/element-web/pl.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/pt_BR.json
Normal file
1
i18n-overlays/element-web/pt_BR.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/ru.json
Normal file
1
i18n-overlays/element-web/ru.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
i18n-overlays/element-web/sk.json
Normal file
1
i18n-overlays/element-web/sk.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
@ -1,7 +1,13 @@
|
||||
{
|
||||
"Enable layout with message bubbles": "Povolit bubliny zpráv",
|
||||
"Show message bubbles on one side only": "Bubliny zpráv zobrazit pouze na jedné straně",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Bubliny zpráv zobrazit v závislosti na šířce stránky buď na obou stranách, nebo pouze na jedné straně.",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Bubliny zpráv zobrazit v závislosti na šířce stránky buď na obou stranách, nebo pouze na jedné straně",
|
||||
"Message bubbles": "Bubliny zpráv",
|
||||
"Normal priority": "Normální priorita"
|
||||
"Normal priority": "Normální priorita",
|
||||
"Message layout": "Vzhled zpráv",
|
||||
"Modern": "Moderní",
|
||||
"Show people and rooms in a combined list": "Zobrazit lidi a místnosti v kombinovaném seznamu",
|
||||
"Update notifications": "Aktualizace oznámení",
|
||||
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Chcete se připojit k místnosti, která vás bude informovat o nových verzích? To je užitečné zejména v případě, že vaše platforma nepodporuje automatické aktualizace SchildiChatu (např. Windows a macOS).",
|
||||
"Don't ask again": "Neptat se znovu"
|
||||
}
|
||||
|
@ -103,5 +103,11 @@
|
||||
"Unable to look up phone number": "Telefonnummer kann nicht gefunden werden",
|
||||
"The widget will verify your user ID, but won't be able to perform actions for you:": "Das Widget überprüft deine Benutzer-ID, kann jedoch keine Aktionen für dich ausführen:",
|
||||
"Abort": "Abbrechen",
|
||||
"Add existing room": "Existierenden Raum hinzufügen"
|
||||
"Add existing room": "Existierenden Raum hinzufügen",
|
||||
"Message layout": "Nachrichtenlayout",
|
||||
"Modern": "Modern",
|
||||
"Show people and rooms in a combined list": "Personen und Räume in einer gemeinsamen Liste anzeigen",
|
||||
"Update notifications": "Updatebenachrichtigungen",
|
||||
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Möchtest du einem Raum beitreten, der dich über neue Updates informiert? Das ist besonders nützlich, wenn deine Plattform keine automatischen Updates für SchildiChat unterstützt (z. B. Windows und macOS).",
|
||||
"Don't ask again": "Nicht erneut fragen"
|
||||
}
|
||||
|
@ -1,7 +1,18 @@
|
||||
{
|
||||
"Enable layout with message bubbles": "Enable layout with message bubbles",
|
||||
"Show message bubbles on one side only": "Show message bubbles on one side only",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Show message bubbles depending on the width either on both sides or only on one side",
|
||||
"Message bubbles": "Message bubbles",
|
||||
"Normal priority": "Normal priority"
|
||||
"Normal priority": "Normal priority",
|
||||
"Message layout": "Message layout",
|
||||
"Modern": "Modern",
|
||||
"Show people and rooms in a combined list": "Show people and rooms in a combined list",
|
||||
"Update notifications": "Update notifications",
|
||||
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).",
|
||||
"Don't ask again": "Don't ask again",
|
||||
"System": "System",
|
||||
"Add custom theme": "Add custom theme",
|
||||
"Add theme": "Add theme",
|
||||
"Theme in use": "Theme in use",
|
||||
"Light theme": "Light theme",
|
||||
"Dark theme": "Dark theme"
|
||||
}
|
||||
|
7
i18n-overlays/matrix-react-sdk/es.json
Normal file
7
i18n-overlays/matrix-react-sdk/es.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Show message bubbles on one side only": "mostrar las burbujas de mensajes en un solo lado",
|
||||
"Message bubbles": "Burbujas de mensajes",
|
||||
"Normal priority": "Prioridad normal",
|
||||
"Enable layout with message bubbles": "Activar diseño con mensajes de burbujas",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Mostrar mensajes de burbuja dependiendo del tamaño tanto en ambos lados o solo en un lado"
|
||||
}
|
7
i18n-overlays/matrix-react-sdk/et.json
Normal file
7
i18n-overlays/matrix-react-sdk/et.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Enable layout with message bubbles": "Sõnumimullidega paigutuse lubamine",
|
||||
"Show message bubbles on one side only": "Näita sõnumimulle ainult ühel poolel",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Näita sõnumimullid sõltuvalt laiusest kas mõlemal või ainult ühel küljel",
|
||||
"Normal priority": "Tavaline prioriteet",
|
||||
"Message bubbles": "Sõnumimullid"
|
||||
}
|
7
i18n-overlays/matrix-react-sdk/eu.json
Normal file
7
i18n-overlays/matrix-react-sdk/eu.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Show message bubbles on one side only": "Erakutsi mezu burbuilak alde batetik bakarrik",
|
||||
"Message bubbles": "Mezu burbuilak",
|
||||
"Normal priority": "Normala lehentasuna",
|
||||
"Enable layout with message bubbles": "Gaitu diseinua batera mezua burbuilak",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Erakutsi mezu burbuilak arabera zabalera bai, bi aldeetatik edo alde batetik bakarrik"
|
||||
}
|
1
i18n-overlays/matrix-react-sdk/fa.json
Normal file
1
i18n-overlays/matrix-react-sdk/fa.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
9
i18n-overlays/matrix-react-sdk/fr.json
Normal file
9
i18n-overlays/matrix-react-sdk/fr.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"Show message bubbles on one side only": "Afficher les bulles de message sur un seul côté",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Afficher les bulles de message selon la largeur soit sur un seul côté, soit sur les deux",
|
||||
"Message bubbles": "Bulles de message",
|
||||
"Normal priority": "Priorité normale",
|
||||
"Message layout": "Disposition des messages",
|
||||
"Modern": "Moderne",
|
||||
"Show people and rooms in a combined list": "Afficher les personnes et les salons dans une liste combinée"
|
||||
}
|
7
i18n-overlays/matrix-react-sdk/hu.json
Normal file
7
i18n-overlays/matrix-react-sdk/hu.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Enable layout with message bubbles": "Üzenetbuborékos elrendezés engedélyezése",
|
||||
"Show message bubbles on one side only": "Üzenetbuborékok megjelenítése csak az egyik oldalon",
|
||||
"Message bubbles": "Üzenet buborékok",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Üzenetbuborékok megjelenítése a szélességtől függően mindkét oldalon vagy csak az egyik oldalon",
|
||||
"Normal priority": "Normál prioritás"
|
||||
}
|
7
i18n-overlays/matrix-react-sdk/lt.json
Normal file
7
i18n-overlays/matrix-react-sdk/lt.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Normal priority": "Normalaus prioriteto",
|
||||
"Modern": "Modernus",
|
||||
"Message bubbles": "Žinučių burbulai",
|
||||
"Message layout": "Žinučių išdėstymas",
|
||||
"Show people and rooms in a combined list": "Asmenų ir kambarių rodymas bendrame sąraše"
|
||||
}
|
12
i18n-overlays/matrix-react-sdk/nb_NO.json
Normal file
12
i18n-overlays/matrix-react-sdk/nb_NO.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"Message bubbles": "Meldingsbobler",
|
||||
"Normal priority": "Normal prioritet",
|
||||
"Message layout": "Meldingsvisning",
|
||||
"Modern": "Moderne",
|
||||
"Show people and rooms in a combined list": "Vis folk og rom i kombinert liste",
|
||||
"Update notifications": "Oppdater merknader",
|
||||
"Show message bubbles on one side only": "Vis meldingsbobler kun på én side",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Vis meldingsbobler avhengig av bredden enten på begge sider eller kun på én side",
|
||||
"Don't ask again": "Ikke spør igjen",
|
||||
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Ønsker du at et rom skal gi deg merknader om nye utgivelser? Dette er spesielt nyttig hvis din plattform ikke støtter automatiske oppdateringer for SchildiChat (f.eks. Windows og macOS)."
|
||||
}
|
13
i18n-overlays/matrix-react-sdk/nl.json
Normal file
13
i18n-overlays/matrix-react-sdk/nl.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"Show message bubbles on one side only": "Boodschappenbubbels slechts aan één kant tonen",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Toon berichtbubbels, afhankelijk van de breedte, aan beide zijden of slechts aan één zijde",
|
||||
"Message bubbles": "Boodschap bellen",
|
||||
"Normal priority": "Normale prioriteit",
|
||||
"Enable layout with message bubbles": "Schakel lay-out in met tekstballonnen",
|
||||
"Update notifications": "Update meldingen",
|
||||
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Wilt u lid worden van een kamer waarin u wordt geïnformeerd over nieuwe releases? Dit is vooral handig als uw platform geen automatische updates voor SchildiChat ondersteunt (bijv. Windows en macOS).",
|
||||
"Don't ask again": "Niet nogmaals vragen",
|
||||
"Modern": "Modern",
|
||||
"Message layout": "Berichtlayout",
|
||||
"Show people and rooms in a combined list": "Toon personen en kamers in een gecombineerde lijst"
|
||||
}
|
1
i18n-overlays/matrix-react-sdk/pl.json
Normal file
1
i18n-overlays/matrix-react-sdk/pl.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
7
i18n-overlays/matrix-react-sdk/pt_BR.json
Normal file
7
i18n-overlays/matrix-react-sdk/pt_BR.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Enable layout with message bubbles": "Habilitar layout com bolhas de mensagem",
|
||||
"Message bubbles": "Bolhas de mensagens",
|
||||
"Normal priority": "Prioridade normal",
|
||||
"Show message bubbles on one side only": "Mostrar bolhas de mensagem em apenas um lado",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Mostrar bolhas de mensagem dependendo da largura de ambos os lados ou somente de um lado"
|
||||
}
|
13
i18n-overlays/matrix-react-sdk/ru.json
Normal file
13
i18n-overlays/matrix-react-sdk/ru.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"Message bubbles": "Пузырьки сообщений",
|
||||
"Normal priority": "Нормальный приоритет",
|
||||
"Enable layout with message bubbles": "Включение макета с пузырьками сообщений",
|
||||
"Show message bubbles on one side only": "Показывайте пузырьки с сообщениями только на одной стороне",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Показывать пузырьки сообщений в зависимости от ширины либо с обеих сторон, либо только с одной стороны",
|
||||
"Modern": "Современное",
|
||||
"Message layout": "Оформление сообщений",
|
||||
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Вы хотите присоединиться к комнате, уведомляющей вас о новых релизах? Это особенно полезно, если ваша платформа не поддерживает автоматические обновления для SchildiChat (например, Windows и macOS).",
|
||||
"Show people and rooms in a combined list": "Показать людей и комнаты в объединенном списке",
|
||||
"Update notifications": "Уведомления об обновлениях",
|
||||
"Don't ask again": "Не спрашивать больше"
|
||||
}
|
7
i18n-overlays/matrix-react-sdk/sk.json
Normal file
7
i18n-overlays/matrix-react-sdk/sk.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"Enable layout with message bubbles": "Povolenie rozloženia s bublinami správ",
|
||||
"Show message bubbles on one side only": "Zobrazenie bublín správ len na jednej strane",
|
||||
"Show message bubbles depending on the width either on both sides or only on one side": "Zobrazenie bublín správ v závislosti od šírky buď na oboch stranách, alebo len na jednej strane",
|
||||
"Message bubbles": "Bubliny správ",
|
||||
"Normal priority": "Normálna priorita"
|
||||
}
|
Submodule matrix-js-sdk updated: a563025c04...4bc4575eb6
Submodule matrix-react-sdk updated: 60ac2184de...55874eaa27
@ -6,6 +6,8 @@ i18n_helper_path="$SCHILDI_ROOT/i18n-helper/index.js"
|
||||
i18n_path="src/i18n/strings"
|
||||
i18n_overlay_path="$SCHILDI_ROOT/i18n-overlays"
|
||||
|
||||
yarn=yarnpkg
|
||||
|
||||
add_upstream() {
|
||||
if git remote | grep -q upstream; then
|
||||
echo "Remote named upstream already exists!"
|
||||
@ -101,18 +103,24 @@ automatic_i18n_reversion() {
|
||||
}
|
||||
|
||||
automatic_i18n_adjustment() {
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/matrix-react-sdk/$i18n_path" "$i18n_overlay_path/matrix-react-sdk"
|
||||
# matrix-react-sdk
|
||||
pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
|
||||
$yarn i18n
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/matrix-react-sdk/$i18n_path" "$i18n_overlay_path/matrix-react-sdk"
|
||||
apply_i18n_changes "$i18n_path"
|
||||
popd > /dev/null
|
||||
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/element-web/$i18n_path" "$i18n_overlay_path/element-web"
|
||||
# element-web
|
||||
pushd "$SCHILDI_ROOT/element-web" > /dev/null
|
||||
$yarn i18n
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/element-web/$i18n_path" "$i18n_overlay_path/element-web"
|
||||
apply_i18n_changes "$i18n_path"
|
||||
popd > /dev/null
|
||||
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/element-desktop/$i18n_path" "$i18n_overlay_path/element-desktop"
|
||||
# element-desktop
|
||||
pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
|
||||
$yarn i18n
|
||||
node "$i18n_helper_path" "$SCHILDI_ROOT/element-desktop/$i18n_path" "$i18n_overlay_path/element-desktop"
|
||||
apply_i18n_changes "$i18n_path"
|
||||
popd > /dev/null
|
||||
}
|
||||
|
17
nix/overlay.nix
Normal file
17
nix/overlay.nix
Normal file
@ -0,0 +1,17 @@
|
||||
final: prev: {
|
||||
cleanSchildichatDesktopSource = src: with final.lib; cleanSourceWith {
|
||||
filter = name: type: cleanSourceFilter name type
|
||||
&& !(hasInfix "/node_modules/" name)
|
||||
&& !(hasInfix "/nix/" name && hasSuffix ".nix" name)
|
||||
;
|
||||
inherit src;
|
||||
};
|
||||
schildichat-web = final.callPackage ./schildichat-web.nix {};
|
||||
schildichat-desktop = final.callPackage ./schildichat-desktop.nix {
|
||||
inherit (final.darwin.apple_sdk.frameworks) Security AppKit CoreServices;
|
||||
};
|
||||
schildichat-desktop-wayland = final.callPackage ./schildichat-desktop.nix {
|
||||
inherit (final.darwin.apple_sdk.frameworks) Security AppKit CoreServices;
|
||||
useWayland = true;
|
||||
};
|
||||
}
|
109
nix/schildichat-desktop.nix
Normal file
109
nix/schildichat-desktop.nix
Normal file
@ -0,0 +1,109 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, mkYarnPackage
|
||||
, electron
|
||||
, element-desktop # for native modules
|
||||
, schildichat-web
|
||||
, callPackage
|
||||
, Security
|
||||
, AppKit
|
||||
, CoreServices
|
||||
|
||||
, useWayland ? false
|
||||
|
||||
, cleanSchildichatDesktopSource
|
||||
, schildichat-desktop-src ? ../.
|
||||
}:
|
||||
|
||||
let
|
||||
packageJSON = schildichat-desktop-src + "/element-desktop/package.json";
|
||||
yarnLock = schildichat-desktop-src + "/element-desktop/yarn.lock";
|
||||
|
||||
package = builtins.fromJSON (builtins.readFile packageJSON);
|
||||
|
||||
pname = "schildichat-desktop";
|
||||
version = package.version;
|
||||
|
||||
executableName = pname;
|
||||
|
||||
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
|
||||
|
||||
in mkYarnPackage rec {
|
||||
inherit pname version packageJSON;
|
||||
|
||||
src = cleanSchildichatDesktopSource (schildichat-desktop-src + "/element-desktop");
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
inherit (element-desktop) seshat keytar;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
pushd deps/schildichat-desktop/
|
||||
npx tsc
|
||||
yarn run i18n
|
||||
node ./scripts/copy-res.js
|
||||
popd
|
||||
rm -rf node_modules/matrix-seshat node_modules/keytar
|
||||
ln -s $keytar node_modules/keytar
|
||||
ln -s $seshat node_modules/matrix-seshat
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
# resources
|
||||
mkdir -p "$out/share/element"
|
||||
ln -s '${schildichat-web}' "$out/share/element/webapp"
|
||||
cp -r './deps/schildichat-desktop' "$out/share/element/electron"
|
||||
cp -r './deps/schildichat-desktop/res/img' "$out/share/element"
|
||||
rm "$out/share/element/electron/node_modules"
|
||||
cp -r './node_modules' "$out/share/element/electron"
|
||||
cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
|
||||
ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
|
||||
|
||||
# icons
|
||||
for icon in $out/share/element/electron/build/icons/*.png; do
|
||||
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
|
||||
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/element.png"
|
||||
done
|
||||
|
||||
# desktop item
|
||||
mkdir -p "$out/share"
|
||||
ln -s "${desktopItem}/share/applications" "$out/share/applications"
|
||||
|
||||
# executable wrapper
|
||||
makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
|
||||
--add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# Do not attempt generating a tarball for element-web again.
|
||||
# note: `doDist = false;` does not work.
|
||||
distPhase = ''
|
||||
true
|
||||
'';
|
||||
|
||||
# The desktop item properties should be kept in sync with data from upstream:
|
||||
# https://github.com/vector-im/element-desktop/blob/develop/package.json
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "schildichat-desktop";
|
||||
exec = "${executableName} %u";
|
||||
icon = "schildichat";
|
||||
desktopName = "SchildiChat";
|
||||
genericName = "Matrix Client";
|
||||
categories = "Network;InstantMessaging;Chat;";
|
||||
extraEntries = ''
|
||||
StartupWMClass=schildichat
|
||||
MimeType=x-scheme-handler/element;
|
||||
'';
|
||||
};
|
||||
}
|
75
nix/schildichat-web.nix
Normal file
75
nix/schildichat-web.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ stdenv
|
||||
, mkYarnModules
|
||||
, nodejs
|
||||
, cleanSchildichatDesktopSource
|
||||
, schildichat-desktop-src ? ../.
|
||||
, ...
|
||||
}:
|
||||
|
||||
let
|
||||
packageJSON = schildichat-desktop-src + "/element-web/package.json";
|
||||
yarnLock = schildichat-desktop-src + "/element-web/yarn.lock";
|
||||
|
||||
package = builtins.fromJSON (builtins.readFile packageJSON);
|
||||
|
||||
pname = "schildichat-web";
|
||||
version = package.version;
|
||||
|
||||
modules = mkYarnModules {
|
||||
name = "${pname}-modules-${version}";
|
||||
inherit pname version packageJSON yarnLock;
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = cleanSchildichatDesktopSource schildichat-desktop-src;
|
||||
|
||||
buildInputs = [ nodejs ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
cp configs/sc/config.json element-web/
|
||||
cp -r ${modules}/node_modules node_modules
|
||||
chmod u+rwX -R node_modules
|
||||
rm -rf node_modules/matrix-react-sdk
|
||||
ln -s $PWD/matrix-react-sdk node_modules/
|
||||
ln -s $PWD/node_modules matrix-react-sdk/
|
||||
ln -s $PWD/node_modules element-web/
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pushd matrix-react-sdk
|
||||
node_modules/.bin/reskindex -h ../element-web/src/header
|
||||
popd
|
||||
|
||||
pushd element-web
|
||||
node scripts/copy-res.js
|
||||
node_modules/.bin/reskindex -h ../element-web/src/header
|
||||
node_modules/.bin/webpack --progress --mode production
|
||||
popd
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp -r element-web/webapp $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit modules;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user