Compare commits
50
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db495d2e98 | ||
|
|
74af46a6f2 | ||
|
|
5929fff8bb | ||
|
|
7f9f903af5 | ||
|
|
fb424ca763 | ||
|
|
92712363bd | ||
|
|
b8910401c3 | ||
|
|
117bbc0e67 | ||
|
|
5a97dd4a44 | ||
|
|
63b271ab35 | ||
|
|
95e30d7509 | ||
|
|
c73d77b264 | ||
|
|
c7d615e526 | ||
|
|
c6ec39a92a | ||
|
|
2e0c7aff57 | ||
|
|
b12be620b0 | ||
|
|
733e568f1b | ||
|
|
bd03bc77d7 | ||
|
|
d7e0d83227 | ||
|
|
9252c5e15f | ||
|
|
caff648905 | ||
|
|
3b0e80ff8f | ||
|
|
6df2e7f8af | ||
|
|
9fc3bb88ef | ||
|
|
4a59b43b65 | ||
|
|
235ebd5635 | ||
|
|
43daacc840 | ||
|
|
feeba3be13 | ||
|
|
30bc3f640f | ||
|
|
3d648cc56d | ||
|
|
7839bc43da | ||
|
|
79d41401a9 | ||
|
|
f950b2930d | ||
|
|
41c2677638 | ||
|
|
edd3d37e83 | ||
|
|
84c1f0767d | ||
|
|
5c09919328 | ||
|
|
f2377756a9 | ||
|
|
e9573e5b66 | ||
|
|
f8beb3447a | ||
|
|
c9dcd620f5 | ||
|
|
e9f91744a5 | ||
|
|
79de8b5262 | ||
|
|
2b4f28eb2f | ||
|
|
d4d66cf7d3 | ||
|
|
2c53afd6e2 | ||
|
|
1daa162177 | ||
|
|
caecd74265 | ||
|
|
e65adb2692 | ||
|
|
51600269eb |
@@ -0,0 +1,23 @@
|
||||
# On a merge, .gitmodules keeps the answer this branch already has.
|
||||
#
|
||||
# master names the daemon at github.com because master is what a stranger
|
||||
# clones, and development names it at the Gitea instance where the work
|
||||
# happens. Without this, a merge that touched .gitmodules on both sides would
|
||||
# stop and ask which host is right - and the answer is always "the one the
|
||||
# branch being merged into already said".
|
||||
#
|
||||
# `merge=ours` needs a driver by that name, which is one line per clone and
|
||||
# not something a repository can carry for you:
|
||||
#
|
||||
# git config merge.ours.driver true
|
||||
#
|
||||
# Without it git falls back to an ordinary merge, which conflicts rather than
|
||||
# doing the wrong thing quietly - so a clone that has not run it is no worse
|
||||
# off than before this file existed.
|
||||
#
|
||||
# The edge, because it is a real one: this keeps the *whole file*, not just the
|
||||
# URL. If development ever adds a second submodule, master takes none of that
|
||||
# entry while still taking the gitlink the merge brings with it - a submodule
|
||||
# with nothing in .gitmodules to say where it comes from. Adding a submodule is
|
||||
# therefore a thing to re-do by hand on master, and the only such thing.
|
||||
/.gitmodules merge=ours
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[submodule "nobilis"]
|
||||
path = nobilis
|
||||
url = https://git.salastil.com/Salastil/nobilis.git
|
||||
url = https://github.com/Moho-Chat/nobilis.git
|
||||
|
||||
@@ -1,43 +1,20 @@
|
||||
# Maintainer: Salastil <[email protected]>
|
||||
#
|
||||
# Builds moho from source the way an AUR VCS package does: compile the Rust
|
||||
# daemon, build the renderer, then assemble an unpacked Electron tree and
|
||||
# install it under /opt.
|
||||
#
|
||||
# Deliberately NOT the AppImage: an AppImage is a self-contained blob that
|
||||
# needs libfuse2 at runtime and integrates with nothing. `npm run pack` still
|
||||
# produces one for portable use; this is the path for installing it properly.
|
||||
|
||||
pkgname=moho-git
|
||||
pkgver=r1.268751e
|
||||
pkgrel=1
|
||||
pkgdesc="Unified desktop chat client for IRC, Discord, Sneedchat and Matrix"
|
||||
arch=('x86_64')
|
||||
url="https://git.salastil.com/Salastil/moho"
|
||||
url="https://github.com/Moho-Chat/moho"
|
||||
license=('GPL3')
|
||||
# Electron ships its own copy of Chromium, but still links against the
|
||||
# system's GTK/NSS/audio stack at runtime.
|
||||
depends=('gtk3' 'nss' 'alsa-lib' 'libxss' 'libnotify')
|
||||
makedepends=('git' 'cargo' 'nodejs' 'npm')
|
||||
provides=('moho')
|
||||
conflicts=('moho')
|
||||
# The daemon lives in its own repository and is pulled in as a submodule;
|
||||
# makepkg does not recurse into submodules on its own, so prepare() does it.
|
||||
source=("git+https://git.salastil.com/Salastil/moho.git")
|
||||
source=("git+https://github.com/Moho-Chat/moho.git")
|
||||
sha256sums=('SKIP')
|
||||
# The bundled Electron binaries are already stripped and have their own debug
|
||||
# handling; letting makepkg reprocess ~150MB of them wastes minutes and can
|
||||
# corrupt the ASAR integrity checks.
|
||||
options=(!strip !debug !lto)
|
||||
|
||||
pkgver() {
|
||||
cd "$srcdir/moho"
|
||||
# The release's own number first (#239), then where in the history this
|
||||
# build sits: 1.0.0.r1234.abc1234. A number sorts above the bare r1234.abc
|
||||
# this used to be, so an existing install upgrades rather than going back.
|
||||
# A pre-release is written the way pacman orders one, without the hyphen
|
||||
# it does not allow: 1.0.0-rc.1 is 1.0.0rc1, which sorts before 1.0.0 and
|
||||
# after 1.0.0rc0 - so the release upgrades its own candidates.
|
||||
printf "%s.r%s.%s" \
|
||||
"$(sed -n 's/^ "version": "\(.*\)",$/\1/p' package.json | sed -E 's/-([a-z]+)\.?([0-9]+)$/\1\2/')" \
|
||||
"$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
@@ -46,16 +23,11 @@ pkgver() {
|
||||
prepare() {
|
||||
cd "$srcdir/moho"
|
||||
git submodule update --init --recursive
|
||||
# `npm ci` respects the allowScripts entries in package.json, so the
|
||||
# electron and esbuild postinstalls that fetch their platform binaries are
|
||||
# permitted without any interactive approval.
|
||||
npm ci
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/moho"
|
||||
# The daemon is bundled from the submodule's build output, so it has to
|
||||
# exist before electron-builder assembles the tree.
|
||||
cargo build --release --locked --manifest-path nobilis/Cargo.toml
|
||||
npm run build
|
||||
npx --no-install electron-builder --linux dir
|
||||
@@ -73,16 +45,11 @@ package() {
|
||||
install -dm755 "$pkgdir/opt/moho"
|
||||
cp -a dist/linux-unpacked/. "$pkgdir/opt/moho/"
|
||||
|
||||
# Electron's setuid sandbox helper: without the setuid bit, Chromium either
|
||||
# refuses to start or falls back to running unsandboxed.
|
||||
chmod 4755 "$pkgdir/opt/moho/chrome-sandbox"
|
||||
|
||||
install -dm755 "$pkgdir/usr/bin"
|
||||
ln -s /opt/moho/moho "$pkgdir/usr/bin/moho"
|
||||
|
||||
# Written here rather than shipped as a source file: this PKGBUILD builds
|
||||
# from a plain git clone, so keeping it inline means there is nothing extra
|
||||
# to keep in sync between the repo and the package.
|
||||
install -dm755 "$pkgdir/usr/share/applications"
|
||||
cat > "$pkgdir/usr/share/applications/moho.desktop" <<'DESKTOP'
|
||||
[Desktop Entry]
|
||||
|
||||
+1
-1
Submodule nobilis updated: f3f872349a...d232be9c5e
Reference in New Issue
Block a user