summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 41862ad924331f2d5cc30842d21601922b7e50e7 (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
# Maintainer: Janne Veteläinen <janne.p.w.vetelainen@gmail.com>

pkgname=vmangos-git
pkgver=r5831.baa6ff835
pkgrel=1
pkgdesc="World of Warcraft Vanilla server emulator"
arch=('x86_64')
url="https://github.com/vmangos/"
license=('GPL2')
depends=(
    'ace'
    'onetbb'
    'mariadb'
)
makedepends=(
    'cmake'
    'git'
    'p7zip'
)
optdepends=('vmangos-setupdb: Pacman hook to (insecurely) set up MariaDB')
backup=(
    'etc/vmangos/mangosd.conf'
    'etc/vmangos/realmd.conf'
)
install="${pkgname}.install"
provides=('vmangos')
conflicts=('vmangos')
source=(
    "${pkgname}::git+https://github.com/vmangos/core.git"
    "worlddb::git+https://github.com/brotalnia/database.git"
    "user.conf"
    "tmpfile.conf"
    "vmangos-realmd.service"
    "vmangos-mangosd.service"
    "vmangos-mangosd.socket"
)
sha256sums=('SKIP'
            'SKIP'
            '8061858ce3617c236cd09e72ab9ccdb39afd1b0f76659fdeead6861d247d5832'
            '4e48db8fa3291429f7b0a5fe7a5a696ddc1809efd781b78355e4d6804d4dadc3'
            'aa4b2d1c10d7228206f17f04a73f16d5a21a98559d9cd609605dfd0b301f0fb9'
            '27e1d0df7920f01c4b9b4781004425d3bfc65a5689afafb46de99d48da6a7734'
            'c3cee4cb049545cb9c0857f8977120d219d8afcf5c1cb0531546d38ecde98783')

pkgver() {
    cd ${srcdir}/${pkgname}
    printf "r%s.%s" $(git rev-list --count HEAD) $(git rev-parse --short HEAD)
}

prepare() {
    cd ${srcdir}/worlddb
    7z e ${srcdir}/worlddb/world_full_14_june_2021.7z

    cd ${srcdir}/${pkgname}/sql/migrations
    ./merge.sh
}

build() {
    cmake -B build -S "${pkgname}" \
        -DSUPPORTED_CLIENT_BUILD=5875 \
        -DUSE_EXTRACTORS=1 \
        -DCMAKE_INSTALL_PREFIX='/usr' \
        -DCONF_DIR='/etc/vmangos'
    cmake --build build
}

package() {
    # Install binaries
    DESTDIR=$pkgdir cmake --install build

    # Rename conf files
    mv ${pkgdir}/etc/vmangos/realmd.conf.dist ${pkgdir}/etc/vmangos/realmd.conf
    mv ${pkgdir}/etc/vmangos/mangosd.conf.dist ${pkgdir}/etc/vmangos/mangosd.conf

    # Edit default directories in conf files
    sed -i 's/^DataDir.*/DataDir = "\/var\/lib\/vmangos"/' ${pkgdir}/etc/vmangos/mangosd.conf
    sed -i 's/^LogsDir.*/LogsDir = "\/var\/log\/vmangos"/' ${pkgdir}/etc/vmangos/mangosd.conf
    sed -i 's/^LogsDir.*/LogsDir = "\/var\/log\/vmangos"/' ${pkgdir}/etc/vmangos/realmd.conf

    # Install vmangos sysuser and systemd service
    install -Dm644 ${srcdir}/user.conf ${pkgdir}/usr/lib/sysusers.d/vmangos.conf
    install -Dm644 ${srcdir}/*.service -t ${pkgdir}/usr/lib/systemd/system
    install -Dm644 ${srcdir}/*.socket -t ${pkgdir}/usr/lib/systemd/system

    # Create vmangos directories in /var
    install -Dm644 ${srcdir}/tmpfile.conf ${pkgdir}/usr/lib/tmpfiles.d/vmangos.conf

    # Install extractor related files
    install -Dm644 ${srcdir}/${pkgname}/contrib/mmap/offmesh.txt -t ${pkgdir}/usr/share/vmangos/extractors/mmap
    install -Dm644 ${srcdir}/${pkgname}/contrib/mmap/config.json -t ${pkgdir}/usr/share/vmangos/extractors/mmap

    # Install sql scripts
    install -Dm644 ${srcdir}/${pkgname}/sql/logon.sql -T ${pkgdir}/usr/share/vmangos/sql/build/realmd.sql
    install -Dm644 ${srcdir}/worlddb/world_full_14_june_2021.sql -T ${pkgdir}/usr/share/vmangos/sql/build/mangos.sql
    install -Dm644 ${srcdir}/${pkgname}/sql/characters.sql -t ${pkgdir}/usr/share/vmangos/sql/build
    install -Dm644 ${srcdir}/${pkgname}/sql/logs.sql -t ${pkgdir}/usr/share/vmangos/sql/build

    install -Dm644 ${srcdir}/${pkgname}/sql/migrations/logon_db_updates.sql -T ${pkgdir}/usr/share/vmangos/sql/migrations/realmd_db_updates.sql
    install -Dm644 ${srcdir}/${pkgname}/sql/migrations/world_db_updates.sql -T ${pkgdir}/usr/share/vmangos/sql/migrations/mangos_db_updates.sql
    install -Dm644 ${srcdir}/${pkgname}/sql/migrations/characters_db_updates.sql -t ${pkgdir}/usr/share/vmangos/sql/migrations
    install -Dm644 ${srcdir}/${pkgname}/sql/migrations/logs_db_updates.sql -t ${pkgdir}/usr/share/vmangos/sql/migrations

    # Install license file
    install -Dm644 ${srcdir}/${pkgname}/LICENSE ${pkgdir}/usr/share/licenses/vmangos/LICENSE
}