|
1 | | -# Maintainer: Mahdi Sarikhani <mahdisarikhani@outlook.com> |
| 1 | +# Maintainer: DeepChirp <deepchirp@archlinuxcn.org> |
| 2 | +# Contributor: Mahdi Sarikhani <mahdisarikhani@outlook.com> |
2 | 3 | # Contributor: Anna <morganamilo@gmail.com> |
3 | 4 |
|
4 | 5 | pkgname=superproductivity |
5 | | -_name=super-productivity |
| 6 | +_reponame=super-productivity |
6 | 7 | pkgver=18.1.3 |
| 8 | +_electronversion=38 |
7 | 9 | pkgrel=1 |
8 | 10 | pkgdesc="An advanced todo list app with timeboxing and time tracking capabilities" |
9 | 11 | arch=('x86_64') |
10 | 12 | url="https://super-productivity.com" |
11 | 13 | license=('MIT') |
12 | | -_electron=electron38 |
13 | | -depends=('bash' "${_electron}" 'gcc-libs' 'glibc' 'hicolor-icon-theme') |
14 | | -makedepends=('nvm') |
15 | | -source=("${pkgname}-${pkgver}.tar.gz::https://github.com/johannesjo/super-productivity/archive/v${pkgver}.tar.gz" |
| 14 | +depends=('bash' "electron${_electronversion}" 'hicolor-icon-theme') |
| 15 | +makedepends=('nodejs-lts-jod' 'npm') |
| 16 | +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/johannesjo/${_reponame}/archive/v${pkgver}.tar.gz" |
| 17 | + "fix-wayland-icon.patch" |
16 | 18 | "${pkgname}.desktop" |
17 | 19 | "${pkgname}.sh") |
18 | 20 | sha256sums=('15181b472547e34d893604c8d64a9e6a356cabe2624020be1e61f26d4b4aedb2' |
19 | | - 'a8945d93cacbe189b538da601b3f6ace0588c3b126236e763e8f2010005513bb' |
20 | | - 'f9ca69e16223b3dcfa0d8ae9dbbff231255482d85f0d72ddcc5033dac890741e') |
| 21 | + '7faa4450d82737b7b0b15a4ce82b79e1ab1fe3c79c88b4779919d64d454c9d1c' |
| 22 | + '232835a84d6a54a06c2114a01333dfbe3a29405abc3e598df64a784a99a919c6' |
| 23 | + '291f50480f5a61bc9c68db7d44cd0412071128706baa868a9cb854f8779a1980') |
21 | 24 |
|
22 | 25 | prepare() { |
23 | | - source /usr/share/nvm/init-nvm.sh |
24 | | - sed -i "s/@ELECTRON@/${_electron}/" "${pkgname}.sh" |
| 26 | + sed -e " |
| 27 | + s/@electronversion@/${_electronversion}/g |
| 28 | + s/@appname@/${pkgname}/g |
| 29 | + s/@runname@/app.asar/g |
| 30 | + s/@cfgdirname@/${_pkgname}/g |
| 31 | + s/@options@/env ELECTRON_OZONE_PLATFORM_HINT=auto/g |
| 32 | + " -i "${srcdir}/${pkgname}.sh" |
25 | 33 |
|
26 | | - cd "${_name}-${pkgver}" |
| 34 | + cd "${srcdir}/${_reponame}-${pkgver}" |
| 35 | + |
| 36 | + # Fix the window title bar icon |
| 37 | + patch -Np1 -i "${srcdir}/fix-wayland-icon.patch" |
| 38 | + |
| 39 | + export npm_config_cache="$srcdir/npm_cache" |
27 | 40 | export ELECTRON_SKIP_BINARY_DOWNLOAD=1 |
28 | | - nvm install |
29 | | - npm install |
| 41 | + export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" |
| 42 | + |
| 43 | + NODE_ENV=development npm ci |
30 | 44 | } |
31 | 45 |
|
32 | 46 | build() { |
33 | | - cd "${_name}-${pkgver}" |
34 | | - npm run build |
35 | | - npx electron-builder --linux --dir \ |
36 | | - -c.electronDist="/usr/lib/${_electron}" \ |
37 | | - -c.electronVersion="$(cat /usr/lib/${_electron}/version)" |
| 47 | + cd "${srcdir}/${_reponame}-${pkgver}" |
| 48 | + |
| 49 | + export npm_config_cache="$srcdir/npm_cache" |
| 50 | + export ELECTRON_SKIP_BINARY_DOWNLOAD=1 |
| 51 | + export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" |
| 52 | + electronDist="/usr/lib/electron${_electronversion}" |
| 53 | + |
| 54 | + npm run buildFrontend:prod:es6 |
| 55 | + npm run electron:build |
| 56 | + |
| 57 | + find .tmp/angular-dist -name '*.map' -type f -delete |
| 58 | + |
| 59 | + pushd node_modules |
| 60 | + |
| 61 | + # Mobile Native Bridge Plugin |
| 62 | + rm -rf @capacitor |
| 63 | + |
| 64 | + find -name '*.map' -type f -print -delete |
| 65 | + find -name '*.c' -type f -print -delete |
| 66 | + find -name '*.h' -type f -print -delete |
| 67 | + find -name '*.ts' -type f -print -delete |
| 68 | + find -name '*.cts' -type f -print -delete |
| 69 | + find -name '*.md' -type f -print -delete |
| 70 | + find -name test.js -type f -print -delete |
| 71 | + |
| 72 | + find -type d -name 'Tests' -prune -exec rm -rf {} + |
| 73 | + |
| 74 | + find . -type d -empty -print -delete |
| 75 | + |
| 76 | + popd |
| 77 | + |
| 78 | + NODE_ENV=production npm exec -c "electron-builder --linux dir -c.electronDist=${electronDist} -c.electronVersion=${SYSTEM_ELECTRON_VERSION}" |
38 | 79 | } |
39 | 80 |
|
40 | 81 | package() { |
41 | | - cd "${_name}-${pkgver}" |
| 82 | + cd "${srcdir}/${_reponame}-${pkgver}" |
| 83 | + |
42 | 84 | install -Dm644 .tmp/app-builds/linux-unpacked/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname}" |
43 | 85 | cp -r .tmp/app-builds/linux-unpacked/resources/app.asar.unpacked "${pkgdir}/usr/lib/${pkgname}" |
| 86 | + |
44 | 87 | install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" |
45 | 88 | install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications" |
46 | 89 | for i in 16 32 48 64 128 256 512 1024; do |
47 | 90 | install -Dm644 "build/icons/${i}x${i}.png" "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${pkgname}.png" |
48 | 91 | done |
| 92 | + |
49 | 93 | install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" |
50 | 94 | } |
0 commit comments