summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: d7a3750fbe1f958c7d457a7a92fbc5fa9b03f664 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# Maintainer: Andrea Di Saverio <disaverio [dot] andrea [at] gmail [dot] com>

pkgname=wayshot-gnome
_pkgname=wayshot
_app_id=io.github.gutopardini.wayshot

pkgver=0.3.0
pkgrel=1

pkgdesc="Fast screenshot and annotation tool for GNOME on Wayland"
arch=('x86_64')
url="https://github.com/gutopardini/wayshot"
license=('MIT')

depends=(
  'bash'
  'cairo'
  'gdk-pixbuf2'
  'glib2'
  'glibc'
  'gtk4'
  'hicolor-icon-theme'
  'libadwaita'
  'libgcc'
  'wl-clipboard'
  'xdg-desktop-portal-gnome'
)

optdepends=(
  'libjxl: JPEG XL export support'
)

makedepends=(
  'cargo'
)

checkdepends=(
  'appstream'
  'desktop-file-utils'
)

conflicts=(
  'wayshot'
  'wayshot-bin'
  'wayshot-git'
)

source=(
  "$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
)

sha256sums=('8b73bf1b3492481414cc5837b80d5b2abae6bbf607bbca00c90471889f6688e7')

prepare() {
  cd "$_pkgname-$pkgver"

  export RUSTUP_TOOLCHAIN=stable
  export CARGO_HOME="$srcdir/cargo-home"

  cargo fetch \
    --locked \
    --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
  cd "$_pkgname-$pkgver"

  export RUSTUP_TOOLCHAIN=stable
  export CARGO_HOME="$srcdir/cargo-home"
  export CARGO_TARGET_DIR=target

  cargo build --frozen --release
}

check() {
  cd "$_pkgname-$pkgver"

  export RUSTUP_TOOLCHAIN=stable
  export CARGO_HOME="$srcdir/cargo-home"
  export CARGO_TARGET_DIR=target

  cargo test --frozen

  desktop-file-validate \
    "data/${_app_id}.desktop"

  appstreamcli validate --no-net \
    "data/${_app_id}.metainfo.xml"
}

package() {
  cd "$_pkgname-$pkgver"

  install -Dm755 \
    target/release/wayshot \
    "$pkgdir/usr/bin/wayshot"

  install -Dm755 \
    scripts/wayshot-gnome-capture \
    "$pkgdir/usr/bin/wayshot-gnome-capture"

  install -Dm644 \
    "data/${_app_id}.desktop" \
    "$pkgdir/usr/share/applications/${_app_id}.desktop"

  install -Dm644 \
    "data/${_app_id}.metainfo.xml" \
    "$pkgdir/usr/share/metainfo/${_app_id}.metainfo.xml"

  install -Dm644 \
    assets/icons/wayshot-icon.svg \
    "$pkgdir/usr/share/icons/hicolor/scalable/apps/${_app_id}.svg"

  for size in 256 512 1024; do
    install -Dm644 \
      "assets/app-icons/${size}x${size}/apps/${_app_id}.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/${_app_id}.png"
  done

  install -Dm644 \
    LICENSE \
    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}