blob: 53d0211042101ebff3752147cbfabfc6f2b8dd73 (
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
|
# Maintainer: Koopa <thekoopakingdom@gmail.com>
# Verification:
# - All scripts are ran through ShellCheck (Ignoring PKGBUILD related false positives.).
# - This PKGBUILD in particular is ran through namcap.
# - Desktop entries are ran through desktop-file-validate.
pkgname='lucas-simpsons-hit-and-run-mod-launcher'
pkgver='1.16.2'
pkgrel='2'
pkgdesc="Mod launcher for The Simpsons: Hit & Run."
arch=(
'x86_64'
'i686'
)
url="https://donutteam.com/"
# The mod launcher uses libraries under the ZLIB and Lua licenses, but it doesn't make sense to
# bundle them with this package because said licenses should be managed by their respective Linux
# packages (e.g. the TinyXML ZLIB license installed by the Linux zlib package.) and Windows licenses
# left up to the Windows program to display.
# The mod launcher itself has no particular license.
license=('unknown')
depends=(
# Zenity is needed for the mod launcher launcher's dialogs shown while installing the runtime.
'zenity'
# Wine is needed to run the mod launcher.
'wine'
# Wine's Mono implementation is needed for booting up an instance of Wine.
'wine-mono'
# Wine's Gecko implementation is needed for booting up an instance of Wine.
'wine_gecko'
# Winetricks is needed to install the .NET 3.5 SP1 runtime required by the mod launcher.
'winetricks'
)
source=(
# Official mod launcher download for the current release.
"$pkgname.zip::https://donutteam.com/apps/\
Lucas'%20Simpsons%20Hit%20&%20Run%20Mod%20Launcher%20${pkgver}.zip"
# Unofficial mod launcher Linux launcher download for the latest master branch.
"$pkgname-linux-launcher.zip::https://github.com/TheKoopaKingdom/\
lucas-simpsons-hit-and-run-mod-launcher-linux-launcher/archive/master.zip"
)
md5sums=(
# Skip the mod launcher ZIP because no hashes are provided by upstream.
"SKIP"
# SKip the mod launcher Linux launcher ZIP because the latest master is subject to change.
"SKIP"
)
package() {
# Stage 1: Install the mod launcher files.
# Install the Windows executable to /usr/lib/lucas-simpsons-hit-and-run-mod-launcher/ because it's
# an executable, but not meant to be ran as-is.
install -Dm644 "Lucas Simpsons Hit & Run Mod Launcher.exe" "$pkgdir/usr/lib/$pkgname/$pkgname.exe"
# Install the default hacks to /usr/lib/lucas-simpsons-hit-and-run-mod-launcher/hacks/ because
# they are, in a sense, shared objects injected into the game, just in a format for the launcher
# Despite this, the permissions for group and other are still set to non-executable because
# are techincally not ordinary shared objects.
install -Dm644 -t "$pkgdir/usr/lib/$pkgname/hacks/" Hacks/*.lmlh
# Install the default mods to /usr/share/lucas-simpsons-hit-and-run-mod-launcher/mods/ because
# they aren't really shared objects, but just data like textures and models.
install -Dm644 -t "$pkgdir/usr/share/$pkgname/mods/" Mods/*.lmlm
# Stage 2: Install the mod launcher Linux launcher files.
cd "$pkgname-linux-launcher-master"
# Install the launchers.
install -Dm655 "$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
install -m655 "the-simpsons-hit-and-run.sh" "$pkgdir/usr/bin/the-simpsons-hit-and-run"
# Install the MIME types.
install -Dm644 "$pkgname.xml" "$pkgdir/usr/share/mime/packages/$pkgname.xml"
# Install the icons.
for SIZE in 16 22 32 48 64 256; do
install -Dm644 "$pkgname-$SIZE.png" \
"$pkgdir/usr/share/icons/hicolor/${SIZE}x${SIZE}/apps/$pkgname.png"
install -Dm644 "the-simpsons-hit-and-run-$SIZE.png" \
"$pkgdir/usr/share/icons/hicolor/${SIZE}x${SIZE}/apps/the-simpsons-hit-and-run.png"
done
# Install the desktop entries.
install -Dm644 "com.donutteam.$pkgname.desktop" \
"$pkgdir/usr/share/applications/com.donutteam.$pkgname.desktop"
install -m644 "the-simpsons-hit-and-run.desktop" \
"$pkgdir/usr/share/applications/the-simpsons-hit-and-run.desktop"
# Install the helper script.
install -m655 "check-for-duplicate-lmlms.sh" "$pkgdir/usr/bin/check-for-duplicate-lmlms"
}
|