summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO71
-rw-r--r--.gitignore6
-rw-r--r--.nvchecker.toml5
-rw-r--r--PKGBUILD145
-rw-r--r--espanso-wayland.install7
5 files changed, 194 insertions, 40 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7e0b24d6f813..a53bf7ad39e2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,22 +1,59 @@
pkgbase = espanso
pkgdesc = Cross-platform Text Expander written in Rust
- pkgver = 2.1.6
- pkgrel = 1
- url = https://espanso.org/
+ pkgver = 2.2.1
+ pkgrel = 4
+ url = https://github.com/espanso/espanso
arch = x86_64
- license = GPL3
- makedepends = rust
- makedepends = git
- makedepends = cmake
- makedepends = cargo-make
- makedepends = rust-script
- depends = xdotool
- depends = xclip
- depends = libxtst
- depends = libnotify
- depends = wxgtk2
+ license = GPL-3.0-only
+ makedepends = bzip2
+ makedepends = cargo
+ makedepends = dbus
+ makedepends = gcc-libs
+ makedepends = glibc
+ makedepends = libx11
+ makedepends = libxcb
+ makedepends = libxkbcommon
+ makedepends = libxtst
+ makedepends = openssl
+ makedepends = wl-clipboard
+ makedepends = wxwidgets-common
+ makedepends = wxwidgets-gtk3
+ makedepends = xclip
+ makedepends = xdotool
options = !lto
- source = git+https://github.com/federico-terzi/espanso.git#tag=v2.1.6-beta
- sha512sums = SKIP
+ source = espanso-2.2.1.tar.gz::https://github.com/espanso/espanso/archive/v2.2.1.tar.gz
+ sha256sums = 795663cb64c28322b667998f95910134b042be2baaace5506790f7e44ae3be91
+
+pkgname = espanso-x11
+ pkgdesc = Cross-platform Text Expander written in Rust (built for X11)
+ depends = bzip2
+ depends = dbus
+ depends = gcc-libs
+ depends = glibc
+ depends = libx11
+ depends = libxcb
+ depends = libxkbcommon
+ depends = libxtst
+ depends = openssl
+ depends = wxwidgets-common
+ depends = wxwidgets-gtk3
+ depends = xclip
+ depends = xdotool
+ provides = espanso
+ conflicts = espanso
+ replaces = espanso
-pkgname = espanso
+pkgname = espanso-wayland
+ pkgdesc = Cross-platform Text Expander written in Rust (built for Wayland)
+ install = espanso-wayland.install
+ depends = bzip2
+ depends = dbus
+ depends = gcc-libs
+ depends = glibc
+ depends = libxkbcommon
+ depends = openssl
+ depends = wl-clipboard
+ depends = wxwidgets-common
+ depends = wxwidgets-gtk3
+ provides = espanso
+ conflicts = espanso
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..35ac95214865
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+*
+!.gitignore
+!.nvchecker.toml
+!.SRCINFO
+!PKGBUILD
+!espanso-wayland.install
diff --git a/.nvchecker.toml b/.nvchecker.toml
new file mode 100644
index 000000000000..c5ffb7e30769
--- /dev/null
+++ b/.nvchecker.toml
@@ -0,0 +1,5 @@
+[espanso]
+source = "github"
+github = "espanso/espanso"
+prefix = "v"
+use_latest_release = true
diff --git a/PKGBUILD b/PKGBUILD
index 1c4737948f4d..1c3061e67a2b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,39 +1,138 @@
-# Maintainer: Sefa Eyeoglu <contact@scrumplex.net>
+# Maintainer: Carl Smedstad <carl.smedstad at protonmail dot com>
+# Contributor: Sefa Eyeoglu <contact@scrumplex.net>
-_pkgver=2.1.6-beta
-pkgname=espanso
-pkgver=2.1.6
-pkgrel=1
+pkgbase=espanso
+pkgname=(
+ espanso-x11
+ espanso-wayland
+)
+pkgver=2.2.1
+pkgrel=4
pkgdesc="Cross-platform Text Expander written in Rust"
arch=(x86_64)
-url="https://espanso.org/"
-license=("GPL3")
-depends=("xdotool" "xclip" "libxtst" "libnotify" "wxgtk2")
-makedepends=("rust" "git" "cmake" "cargo-make" "rust-script")
-options=("!lto") # fails with LTO as of 2022-03
-source=("git+https://github.com/federico-terzi/espanso.git#tag=v${_pkgver}")
-sha512sums=('SKIP')
+url="https://github.com/espanso/espanso"
+license=(GPL-3.0-only)
+makedepends=(
+ bzip2
+ cargo
+ dbus
+ gcc-libs
+ glibc
+ libx11
+ libxcb
+ libxkbcommon
+ libxtst
+ openssl
+ wl-clipboard
+ wxwidgets-common
+ wxwidgets-gtk3
+ xclip
+ xdotool
+)
+source=("$pkgbase-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
+sha256sums=('795663cb64c28322b667998f95910134b042be2baaace5506790f7e44ae3be91')
+options=(!lto)
+
+_archive="$pkgbase-$pkgver"
prepare() {
- cd "espanso"
+ cd "$_archive"
+
+ export RUSTUP_TOOLCHAIN=stable
+ cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
+
+ # Don't change the original service file, as it will be embedded in the
+ # binary
+ sed 's|{{{espanso_path}}}|/usr/bin/espanso|g' espanso/src/res/linux/systemd.service \
+ > espanso.service
- # don't change the original service file, as it will be embedded in the binary
- cp "espanso/src/res/linux/systemd.service" "systemd.service"
- sed -i "s|{{{espanso_path}}}|/usr/bin/espanso|g" "systemd.service"
+ # Icon name
+ sed 's/Icon=icon/Icon=espanso/g' espanso/src/res/linux/espanso.desktop \
+ > espanso.desktop
}
build() {
- cd "espanso"
+ cd "$_archive"
+
+ export RUSTUP_TOOLCHAIN=stable
+
+ export CARGO_TARGET_DIR=target-x11
+ cargo build --frozen --release \
+ --manifest-path espanso/Cargo.toml \
+ --package espanso
+
+ export CARGO_TARGET_DIR=target-wayland
+ cargo build --frozen --release \
+ --features wayland \
+ --manifest-path espanso/Cargo.toml \
+ --package espanso
+}
+
+check() {
+ cd "$_archive"
+
+ # Skip failing tests - unsure why they fail
+ export RUSTUP_TOOLCHAIN=stable
+ cargo test --frozen --all-features -- \
+ --skip tests::ipc_multiple_clients \
+ --skip tests::test_migration
+}
+
+package_espanso-x11() {
+ pkgdesc+=" (built for X11)"
+ depends=(
+ bzip2
+ dbus
+ gcc-libs
+ glibc
+ libx11
+ libxcb
+ libxkbcommon
+ libxtst
+ openssl
+ wxwidgets-common
+ wxwidgets-gtk3
+ xclip
+ xdotool
+ )
+ provides=(espanso)
+ conflicts=(espanso)
+ replaces=(espanso)
+
+ cd "$_archive"
- cargo make --profile release build-binary
+ install -Dm755 -t "$pkgdir/usr/bin" target-x11/release/espanso
+ install -Dm644 -t "$pkgdir/usr/lib/systemd/user" espanso.service
+ install -Dm644 -t "$pkgdir/usr/share/applications" espanso.desktop
+ install -Dm644 -t "$pkgdir/usr/share/doc/espanso" ./*.md
+ install -Dm644 espanso/src/res/linux/icon.png \
+ "$pkgdir/usr/share/pixmaps/espanso.png"
}
-package() {
- cd "espanso"
+package_espanso-wayland() {
+ pkgdesc="$pkgdesc (built for Wayland)"
+ depends=(
+ bzip2
+ dbus
+ gcc-libs
+ glibc
+ libxkbcommon
+ openssl
+ wl-clipboard
+ wxwidgets-common
+ wxwidgets-gtk3
+ )
+ provides=(espanso)
+ conflicts=(espanso)
+ install=espanso-wayland.install
- install -Dm755 "target/release/espanso" "${pkgdir}/usr/bin/espanso"
- install -Dm644 "systemd.service" "${pkgdir}/usr/lib/systemd/user/espanso.service"
+ cd "$_archive"
- install -Dm644 "README.md" "${pkgdir}/usr/share/doc/espanso/README.md"
+ install -Dm755 -t "$pkgdir/usr/bin" target-wayland/release/espanso
+ install -Dm644 -t "$pkgdir/usr/lib/systemd/user" espanso.service
+ install -Dm644 -t "$pkgdir/usr/share/applications" espanso.desktop
+ install -Dm644 -t "$pkgdir/usr/share/doc/espanso" ./*.md
+ install -Dm644 espanso/src/res/linux/icon.png \
+ "$pkgdir/usr/share/pixmaps/espanso.png"
}
diff --git a/espanso-wayland.install b/espanso-wayland.install
new file mode 100644
index 000000000000..9b273ae6f95d
--- /dev/null
+++ b/espanso-wayland.install
@@ -0,0 +1,7 @@
+function post_install {
+ setcap "cap_dac_override+p" /usr/bin/espanso
+}
+
+function post_upgrade() {
+ post_install "$1"
+}