blob: a55e5ad9610c76a3df3d8852ed0715f0effe2179 (
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
|
# Maintainer: OmegaRogue <omegarogue@omegavoid.codes>
pkgname=artemisrgb-git
pkgver=1.2026.0101.2913
pkgrel=1
url="https://artemis-rgb.com/"
pkgdesc="A universal RGB control software"
arch=("x86_64")
provides=("artemisrgb")
conflicts=("artemisrgb")
license=("custom:PolyForm Noncommercial License 1.0.0")
depends=("dotnet-runtime" "hicolor-icon-theme" "glibc" "bash" "zlib" "fontconfig" "gcc-libs")
makedepends=("dotnet-sdk" "git" "zip")
options=("staticlibs")
source=("git+https://github.com/Artemis-RGB/Artemis"
"git+https://github.com/Artemis-RGB/Artemis.Plugins"
"artemis.desktop"
"artemis.png"
"disable-update.patch")
sha256sums=('SKIP'
'SKIP'
'9ee8184f5794a687e64cc092f6c20eb4063f0ee79366460aec2dc096df8d8fe8'
'35fbb5e33591ba6f845b7d852b3b32d8bca81f55ecd3bb4bf94814aecf0d0b7f'
'8cef43259279f1f79e8ecab894c3bcd68698f094a9acbf548f3b20d03c2a5455')
_nowarn="/nowarn:cs1591,cs8602,cs8604,cs8618,cs8622,cs8601,cs8603,cs0618,cs8605,cs0169"
pkgver() {
cd "$srcdir/Artemis"
local date rev
date="$(git log -1 --format=%cd --date=format:%Y%m%d)"
rev="$(git rev-list --count HEAD)"
printf '1.%s.%s.%s' "${date:0:4}" "${date:4:4}" "$rev"
}
prepare() {
cd "$srcdir/Artemis"
patch -p1 -i "$srcdir/disable-update.patch"
}
build() {
local infover
pushd "$srcdir/Artemis" >/dev/null
BuildDate="$(date --utc +"%Y-%m-%d")"
NumberOfCommitsToday="$(git rev-list --count --after="$BuildDate 00:00" --before="$BuildDate 00:00" HEAD)"
if [[ "$NumberOfCommitsToday" -eq 0 ]]; then
infover="1.$(date --utc +"%Y.%m%d")"
else
infover="1.$(date --utc +"%Y.%m%d").$NumberOfCommitsToday"
fi
popd >/dev/null
dotnet publish --configuration Release --runtime linux-x64 -p:Version="$pkgver" -p:InformationalVersion="$infover" --output build --self-contained ${_nowarn} "$srcdir/Artemis/src/Artemis.UI.Linux/Artemis.UI.Linux.csproj"
mkdir -p "$srcdir/build/Plugins"
for PluginProjFile in $(find "$srcdir/Artemis.Plugins/src" -type f -name "*.csproj"); do
# Build each of the found project files.
Name=$(basename -s .csproj "$PluginProjFile")
echo "Building Plugin $Name"
dotnet publish --configuration Release --runtime linux-x64 -p:Version="$pkgver" -p:InformationalVersion="$infover" --output "$srcdir/build-plugins/$Name" --no-self-contained "$PluginProjFile";
# Copy the plugin directory into the staging directory for app deployment
rm -rf "$srcdir/build/Plugins/$Name"
mkdir -p "$srcdir/build/Plugins/$Name"
cp -a "$srcdir/build-plugins/$Name/." "$srcdir/build/Plugins/$Name/"
done
}
package() {
mkdir -p "$pkgdir/opt"
mkdir -p "$pkgdir/usr/share/"
cp -r --preserve=mode,timestamps "$srcdir/build/" "$pkgdir/opt/${pkgname%-git}"
mkdir -p "$pkgdir/usr/bin"
ln -s "/opt/${pkgname%-git}/Artemis.UI.Linux" "$pkgdir/usr/bin/${pkgname%-git}"
install -Dm644 "$srcdir/Artemis/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
# Icon for .desktop
install -Dm644 "${srcdir}/artemis.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/${pkgname%-git}.png"
# .desktop
install -Dm644 "${srcdir}/artemis.desktop" "${pkgdir}/usr/share/applications/${pkgname%-git}.desktop"
}
|