blob: 18144f1205d99d7b6ad207ab30ba037bc83e1aee (
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
124
125
126
127
128
129
130
131
|
# Maintainer: Roald Clark <roaldclark@gmail.com>
_name=rune
_pkgname=rune-player
pkgname=rune-player-git
pkgver=1.1.0.20250116.gdd2c97c
pkgrel=1
pkgdesc="The player that blends classic design with modern technology"
arch=('x86_64')
url="https://github.com/Losses/${_name}"
license=('MPL-2.0')
depends=(
'alsa-lib'
'at-spi2-core'
'ayatana-ido'
'cairo'
'dbus'
'fontconfig'
'gcc-libs'
'gdk-pixbuf2'
'glib2'
'glibc'
'gtk3'
'harfbuzz'
'hicolor-icon-theme'
'libayatana-appindicator'
'libayatana-indicator'
'libdbusmenu-glib'
'libepoxy'
'libnotify'
'openssl'
'pango'
'zlib'
)
makedepends=(
# These dependencies may face outdated updates or build errors
# It is recommended to use fvm as an alternative
#
#'flutter-intellij-patch'
#'flutter-target-linux'
#'flutter-tool'
'git'
'patchelf'
'protobuf'
'protoc-gen-dart'
'protoc-gen-prost'
'rustup'
)
makedepends+=(
'clang'
'cmake'
'fvm'
'ninja'
)
provides=("${_pkgname}=${pkgver}")
conflicts=("${_pkgname}")
options=(!lto)
source=(
"${_pkgname}::git+${url}.git"
"${_name}.desktop"
)
sha256sums=('SKIP'
'8c680492966831e2da2968007f2d5d3dbfbf72fdab670592689ac42f37af2121')
pkgver() {
cd "${srcdir}/${_pkgname}"
version=$(git describe --tags --abbrev=0 | sed 's/^v//;s/-.*//')
[[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit 1
printf "%s.%s.g%s" "${version}" "$(TZ=UTC git log -1 --pretty='%cd' --date=format-local:%Y%m%d)" "$(git rev-parse --short HEAD)"
}
prepare() {
cd "${srcdir}/${_pkgname}"
export FVM_CACHE_PATH="${SRCDEST}/fvm-cache"
sed -i '$a\' .gitignore
echo ".fvm/" >> .gitignore
fvm install stable
fvm use stable
fvm flutter --no-version-check config --no-analytics
fvm flutter --no-version-check pub get
}
build() {
cd "${srcdir}/${_pkgname}"
export LDFLAGS="${LDFLAGS} -Wl,--no-as-needed"
export FVM_CACHE_PATH="${SRCDEST}/fvm-cache"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
fvm flutter --no-version-check pub run rinf message
fvm flutter --no-version-check build linux --no-pub --release --verbose
}
package() {
cd "${srcdir}/${_pkgname}"
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/"
pushd assets/icons
#find . \( -path "./android" -o -path "./fluent" -o -path "./macos" \) -prune -o -type f -exec install -v -Dm644 {} ${pkgdir}/usr/share/icons/{} \;
find ./breeze ./gnome -type f -exec install -v -Dm644 {} ${pkgdir}/usr/share/icons/{} \;
cd Papirus
find . -type f -exec install -v -Dm644 {} ${pkgdir}/usr/share/icons/hicolor/{} \;
popd
ln -sfrv ${pkgdir}/usr/share/icons/breeze/apps/1024/${_name}.png ${pkgdir}/usr/share/icons/${_name}.png
cd build/linux/x64/release/bundle
install -Dm755 ${_name} -t "${pkgdir}/usr/lib/${_pkgname}/"
pushd lib
find . -type f -exec install -v -Dm644 {} ${pkgdir}/usr/lib/${_pkgname}/lib/{} \;
popd
pushd data
find . -type f -exec install -v -Dm644 {} ${pkgdir}/usr/lib/${_pkgname}/data/{} \;
popd
install -dm755 "${pkgdir}/usr/bin"
ln -sfrv "${pkgdir}/usr/lib/${_pkgname}/${_name}" "${pkgdir}/usr/bin/${_name}"
# Fix rpath that causes 'Insecure RUNPATH'
for shared_lib in "${pkgdir}/usr/lib/${_pkgname}/lib"/*.so; do
[[ -z $(patchelf --print-rpath "${shared_lib}") ]] && continue
[[ $(patchelf --print-rpath "${shared_lib}") == '$ORIGIN' ]] && continue
patchelf --set-rpath '$ORIGIN' "${shared_lib}"
done
install -Dm644 "${srcdir}/${_name}.desktop" -t "${pkgdir}/usr/share/applications/"
}
|