summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 43ddc083f9053b65e7075eccf17dc3187fea1238 (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
# Maintainer: Holzhaus <jholthuis@mixxx.org>
# Contributor: Gimmeapill <gimmeapill@gmail.com>
# Contributor: regreddit <nik.martin@gmail.com>

pkgname=mixxx-git
pkgver=r8858
pkgrel=1
pkgdesc="Digital DJ mixing software. Git master branch (development/alpha)."
arch=('i686' 'x86_64' 'aarch64')
url="https://mixxx.org/"
license=('GPL2')
groups=('pro-audio')
depends=(
    'chromaprint'
    'flac'
    'hidapi'
    'lame'
    'libebur128'
    'libid3tag'
    'libmad'
    'libmodplug'
    'libmp4v2'
    'libshout'
    'libsndfile'
    'libtheora'
    'libusb'
    'lilv'
    'microsoft-gsl'
    'opusfile'
    'portaudio'
    'portmidi'
    'protobuf'
    'qt6-declarative'
    'qt6-5compat'
    'qt6-svg'
    'qt6-translations'
    'qtkeychain-qt6'
    'rubberband'
    'soundtouch'
    'taglib'
    'ttf-opensans'
    'ttf-ubuntu-font-family'
    'upower'
    'wavpack'
)
makedepends=('git' 'lv2' 'qt6-tools' 'cmake' 'gtest' 'benchmark')
provides=('mixxx')
conflicts=('mixxx')
source=("${pkgname%-*}::git+https://github.com/mixxxdj/mixxx.git"
        'mixxx.install')
md5sums=('SKIP'
         '321b9cca3ed690fcf57e7ac1e99109c2')
install='mixxx.install'

pkgver() {
    cd "$srcdir/${pkgname%-*}"
    echo "r$(git log --pretty=oneline --first-parent | wc -l)"
}

prepare() {
    mkdir -p "$srcdir/${pkgname%-*}/build"
    cmake -S $srcdir/${pkgname%-*} -B $srcdir/${pkgname%-*}/build \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DINSTALL_USER_UDEV_RULES=OFF \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DOPTIMIZE=native \
    -DQT6=ON \
    -DBULK=ON \
    -DFAAD=ON \
    -DLILV=ON \
    -DFFMPEG=ON \
    -DKEYFINDER=ON \
    -DMAD=ON \
    -DMODPLUG=ON \
    -DOPUS=ON \
    -DQTKEYCHAIN=ON \
    -DWAVPACK=ON
}

build() {
    cmake --build "$srcdir/${pkgname%-*}/build" --parallel "$(nproc)" --target mixxx
}

check() {
    cmake --build "$srcdir/${pkgname%-*}/build" --parallel "$(nproc)" --target mixxx-test
    ctest --test-dir "$srcdir/${pkgname%-*}/build" --parallel "$(nproc)" --output-on-failure
}

package() {
    mkdir -p "$pkgdir/usr/lib/udev/rules.d/"
    install -Dm644 "$srcdir/${pkgname%-*}/res/linux/mixxx-usb-uaccess.rules" "$pkgdir/usr/lib/udev/rules.d/99-mixxx-usb-uaccess.rules"
    DESTDIR="$pkgdir" cmake --install "$srcdir/${pkgname%-*}/build"
}