-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPKGBUILD
More file actions
97 lines (87 loc) · 2.94 KB
/
Copy pathPKGBUILD
File metadata and controls
97 lines (87 loc) · 2.94 KB
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
# Maintainer: Tim Ebbeke <tim 06 tr (at) gmail dot com>
pkgname=nui-sftp
pkgver=1.3.1
pkgrel=1
pkgdesc="NUI-based SFTP application"
arch=('x86_64')
url="https://github.com/5cript/nui-sftp"
license=('MIT')
depends=(
webkitgtk-6.0
curl
crypto++
libssh
fmt
boost
boost-libs
nlohmann-json
sdbus-cpp
zlib
bzip2
zstd
xz
)
makedepends=(
cmake
ninja
clang
lld
git
python
nodejs
)
options=('!debug')
source=(
"$pkgname::git+$url.git#tag=v${pkgver//_/-}"
"https://s3.g.s4.mega.io/jgemkib4a5fte35rktt5wxrwkw4ejk4ybemkf/nui-scp/images/NUI-SFTP_Logo-01_nopad.svg"
"https://github.com/5cript/nui-sftp/releases/download/v${pkgver}/nui-sftp-linux-frontend_${pkgver}.tar.gz"
"https://s3.g.s4.mega.io/jgemkib4a5fte35rktt5wxrwkw4ejk4ybemkf/nui-scp/icons.tar.gz"
)
sha256sums=(
'a46c1c3ad1551a20005b0a3119d8ff607af046bc0927d7a041a78b558a911417'
'cf0fc442069dfd28bd8b7769da6dfdca92111044ea9817197716ed9bfada3869'
'a8ac5edaac2a1b4ce21d48c90f0c3502572b5f3ec1ed225aa42f5c97c10d1caf'
'30ffa48c3a509e878db31a1e5d80376242852e34d9c2aa3b44d2e3d1da2ce32e'
)
prepare() {
cd "$pkgname"
git submodule update --init --recursive
}
build() {
cd "$pkgname"
cmake -B "$srcdir/$pkgname/build" \
-S "$srcdir/$pkgname" \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DFORCED_PROJECT_VERSION="$pkgver" \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_LINKER=lld \
-DCMAKE_CXX_STANDARD=23 \
-DOMIT_FRONTEND_BUILD=ON \
-DNUI_FETCH_TRAITS=OFF
cmake --build "$srcdir/$pkgname/build"
}
package() {
# Create directories
mkdir -p "$pkgdir"/usr/bin
mkdir -p "$pkgdir"/opt/"$pkgname"
mkdir -p "$pkgdir"/opt/"$pkgname"/bin
mkdir -p "$pkgdir"/opt/"$pkgname"/frontend
mkdir -p "$pkgdir"/opt/"$pkgname"/assets
mkdir -p "$pkgdir"/opt/"$pkgname"/assets/icons
mkdir -p "$pkgdir"/opt/"$pkgname"/themes
# Unpack frontend tarball
tar -xzf "$srcdir/nui-sftp-linux-frontend_${pkgver//_/-}.tar.gz" -C "$pkgdir"/opt/"$pkgname"/frontend --strip-components=1
# Copy files
install -m755 "$srcdir/$pkgname/build/bin/$pkgname" "$pkgdir"/opt/"$pkgname"/bin/"$pkgname"
cp -r "$srcdir/$pkgname/static/assets" "$pkgdir"/opt/"$pkgname"/
install -m644 "$srcdir/$pkgname/LICENSE" "$pkgdir"/opt/"$pkgname"/LICENSE
cp -r "$srcdir/$pkgname/themes/." "$pkgdir"/opt/"$pkgname"/themes/
tar -xzf "$srcdir/icons.tar.gz" -C "$pkgdir"/opt/"$pkgname"/assets/icons --strip-components=0
# Desktop
install -Dm644 "$srcdir/$pkgname/org.nuicpp.nui_sftp.desktop" "$pkgdir"/usr/share/applications/"$pkgname".desktop
install -Dm644 "NUI-SFTP_Logo-01_nopad.svg" "$pkgdir"/usr/share/icons/hicolor/scalable/apps/nui_sftp.svg
install -Dm644 "NUI-SFTP_Logo-01_nopad.svg" "$pkgdir"/opt/"$pkgname"/assets/icons/nui-sftp-logo.svg
ln -s "/opt/$pkgname/bin/$pkgname" "$pkgdir"/usr/bin/"$pkgname"
}