blob: 5c6d33b8c178dfeacbeed42893e71c3ef47ae2b4 (
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
|
# Maintainer: Marko Korhonen <reekymarko@reekynet.com>
pkgname=drawio-desktop
pkgver=12.4.2
pkgrel=1
pkgdesc='Diagram drawing application built on web technology'
arch=('x86_64')
url='https://github.com/jgraph/drawio'
license=('Apache')
depends=(electron gconf libnotify)
makedepends=(npm ant)
source=("https://github.com/jgraph/drawio/archive/v$pkgver.tar.gz")
sha256sums=('e5a7be7a57c7743070358714de442c69a1212b90cb30c0280c14b4905abc93f2')
build() {
cd "$srcdir/drawio-$pkgver"/etc/build
ant app
cd "$srcdir/drawio-$pkgver"/src/main/webapp
rm -rf "META-INF" "WEB-INF"
# disable updater
sed -e '/electron-updater/d' -i 'package.json'
local updater='const autoUpdater = { on: () => {}, setFeedURL: () => {}, checkForUpdates: () => {} }'
sed -e 's/.*require("electron-updater").*/'"$updater"'/' -e '/checkForUpdates,/d' -i 'electron.js'
npm install --cache ../npm-cache --only=production
rm -f 'package-lock.json'
}
package() {
cd "$srcdir/drawio-$pkgver"/src/main/webapp
mkdir -p "$pkgdir/usr/lib"
cp -rp . "$pkgdir/usr/lib/draw.io"
# create run script
mkdir -p "$pkgdir/usr/bin"
printf '%s\n' \
'#!/bin/sh' \
'exec electron /usr/lib/draw.io "$@"' \
> "$pkgdir/usr/bin/draw.io"
chmod a+x "$pkgdir/usr/bin/draw.io"
# create desktop file
mkdir -p "$pkgdir/usr/share/applications"
printf '%s\n' \
'[Desktop Entry]' \
'Name=draw.io' \
'Comment=draw.io desktop' \
'Exec=/usr/bin/draw.io %U' \
'Terminal=false' \
'Type=Application' \
'Icon=draw.io' \
'Categories=Graphics;' \
> "$pkgdir/usr/share/applications/draw.io.desktop"
# create icons
find 'images' -regex '.*/drawlogo[0-9]+\.png' |
grep -o '[0-9]\+' |
while read size; do
install -Dm644 "images/drawlogo$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/draw.io.png"
done
}
|