diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12e19a2..b8c23c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,6 +19,8 @@ jobs: arch: x86_64 - platform: linux/arm64 arch: aarch64 + - platform: linux/386 + arch: pentium4 steps: - uses: actions/checkout@v3 diff --git a/mixxx-git/PKGBUILD b/mixxx-git/PKGBUILD index 92143be..283fb48 100644 --- a/mixxx-git/PKGBUILD +++ b/mixxx-git/PKGBUILD @@ -2,13 +2,14 @@ # Contributor: Gimmeapill # Contributor: regreddit -pkgname=mixxx-git +_pkgname=mixxx +pkgname=$_pkgname-git pkgver=r8881 pkgrel=1 pkgdesc="Digital DJ mixing software. Git master branch (development/alpha)." # TODO: Re-add aarch64 once we figure out a performant way to build it # See https://github.com/fwcd/arch-repo/pull/12 for details -arch=('i686' 'pentium4' 'x86_64') +arch=('x86_64') url="https://mixxx.org/" license=('GPL2') groups=('pro-audio') @@ -46,22 +47,22 @@ depends=( 'wavpack' ) makedepends=('git' 'lv2' 'qt6-tools' 'cmake' 'ninja' 'gtest' 'benchmark') -provides=('mixxx') -conflicts=('mixxx') -source=("${pkgname%-*}::git+https://github.com/mixxxdj/mixxx.git" - 'mixxx.install') +provides=("$_pkgname") +conflicts=("$_pkgname") +source=("$_pkgname::git+https://github.com/mixxxdj/$_pkgname.git" + "$_pkgname.install") sha256sums=('SKIP' '8f2db8c423cce9685df8ce010dc1dfbf48d0961e7a453d40c495220bf3a272ec') -install='mixxx.install' +install="$_pkgname.install" pkgver() { - cd "$srcdir/${pkgname%-*}" + cd "$srcdir/$_pkgname" echo "r$(git log --pretty=oneline --first-parent | wc -l)" } prepare() { - mkdir -p "$srcdir/${pkgname%-*}/build" - cmake -S $srcdir/${pkgname%-*} -G Ninja -B $srcdir/${pkgname%-*}/build \ + mkdir -p "$srcdir/$_pkgname/build" + cmake -S $srcdir/$_pkgname -G Ninja -B $srcdir/$_pkgname/build \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINSTALL_USER_UDEV_RULES=OFF \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -80,16 +81,16 @@ prepare() { } build() { - cmake --build "$srcdir/${pkgname%-*}/build" --parallel "$(nproc)" --target mixxx + cmake --build "$srcdir/$_pkgname/build" --parallel "$(nproc)" --target $_pkgname } check() { - cmake --build "$srcdir/${pkgname%-*}/build" --parallel "$(nproc)" --target mixxx-test - ctest --test-dir "$srcdir/${pkgname%-*}/build" --parallel "$(nproc)" --output-on-failure + cmake --build "$srcdir/$_pkgname/build" --parallel "$(nproc)" --target $_pkgname-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" + install -Dm644 "$srcdir/$_pkgname/res/linux/$_pkgname-usb-uaccess.rules" "$pkgdir/usr/lib/udev/rules.d/99-$_pkgname-usb-uaccess.rules" + DESTDIR="$pkgdir" cmake --install "$srcdir/$_pkgname/build" } diff --git a/mixxx-qt5-git/.SRCINFO b/mixxx-qt5-git/.SRCINFO new file mode 100644 index 0000000..72ef291 --- /dev/null +++ b/mixxx-qt5-git/.SRCINFO @@ -0,0 +1,57 @@ +pkgbase = mixxx-git + pkgdesc = Digital DJ mixing software. Git master branch (development/alpha). + pkgver = r8881 + pkgrel = 1 + url = https://mixxx.org/ + install = mixxx.install + arch = i686 + arch = pentium4 + arch = x86_64 + groups = pro-audio + license = GPL2 + makedepends = git + makedepends = lv2 + makedepends = qt6-tools + makedepends = cmake + makedepends = ninja + makedepends = gtest + makedepends = benchmark + depends = chromaprint + depends = flac + depends = hidapi + depends = lame + depends = libebur128 + depends = libid3tag + depends = libmad + depends = libmodplug + depends = libmp4v2 + depends = libshout + depends = libsndfile + depends = libtheora + depends = libusb + depends = lilv + depends = microsoft-gsl + depends = opusfile + depends = portaudio + depends = portmidi + depends = protobuf + depends = qt6-declarative + depends = qt6-5compat + depends = qt6-svg + depends = qt6-translations + depends = qtkeychain-qt6 + depends = rubberband + depends = soundtouch + depends = taglib + depends = ttf-opensans + depends = ttf-ubuntu-font-family + depends = upower + depends = wavpack + provides = mixxx + conflicts = mixxx + source = mixxx::git+https://github.com/mixxxdj/mixxx.git + source = mixxx.install + sha256sums = SKIP + sha256sums = 8f2db8c423cce9685df8ce010dc1dfbf48d0961e7a453d40c495220bf3a272ec + +pkgname = mixxx-git diff --git a/mixxx-qt5-git/.gitignore b/mixxx-qt5-git/.gitignore new file mode 100644 index 0000000..96ea029 --- /dev/null +++ b/mixxx-qt5-git/.gitignore @@ -0,0 +1 @@ +mixxx diff --git a/mixxx-qt5-git/PKGBUILD b/mixxx-qt5-git/PKGBUILD new file mode 100644 index 0000000..30693a5 --- /dev/null +++ b/mixxx-qt5-git/PKGBUILD @@ -0,0 +1,98 @@ +# Maintainer: Holzhaus +# Contributor: Gimmeapill +# Contributor: regreddit + +_pkgname=mixxx +pkgname=$_pkgname-qt5-git +pkgver=r8881 +pkgrel=1 +pkgdesc="Digital DJ mixing software. Git master branch built with Qt 5 (development/alpha)." +# TODO: Re-add aarch64 once we figure out a performant way to build it +# See https://github.com/fwcd/arch-repo/pull/12 for details +arch=('i686' 'pentium4' 'x86_64') +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' + 'qt5-declarative' + 'qt5-quickcontrols' + 'qt5-quickcontrols2' + 'qt5-svg' + 'qt5-translations' + 'qt5-x11extras' + 'qtkeychain' + 'rubberband' + 'soundtouch' + 'taglib' + 'ttf-opensans' + 'ttf-ubuntu-font-family' + 'upower' + 'wavpack' +) +makedepends=('git' 'lv2' 'qt5-tools' 'cmake' 'ninja' 'gtest' 'benchmark') +provides=("$_pkgname") +conflicts=("$_pkgname") +source=("$_pkgname::git+https://github.com/mixxxdj/$_pkgname.git" + "$_pkgname.install") +sha256sums=('SKIP' + '8f2db8c423cce9685df8ce010dc1dfbf48d0961e7a453d40c495220bf3a272ec') +install="$_pkgname.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 -G Ninja -B $srcdir/$_pkgname/build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_USER_UDEV_RULES=OFF \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DOPTIMIZE=native \ + -DQT6=OFF \ + -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 $_pkgname +} + +check() { + cmake --build "$srcdir/$_pkgname/build" --parallel "$(nproc)" --target $_pkgname-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/$_pkgname-usb-uaccess.rules" "$pkgdir/usr/lib/udev/rules.d/99-$_pkgname-usb-uaccess.rules" + DESTDIR="$pkgdir" cmake --install "$srcdir/$_pkgname/build" +} diff --git a/mixxx-qt5-git/mixxx.install b/mixxx-qt5-git/mixxx.install new file mode 100644 index 0000000..d357f24 --- /dev/null +++ b/mixxx-qt5-git/mixxx.install @@ -0,0 +1,17 @@ +post_install() { + printf "Reloading udev rules...\n" + # udev is not a Mixxx dependency, so let's check if udevadm is available. + if command -v udevadm >/dev/null + then + udevadm trigger + udevadm control --reload-rules + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/packages.txt b/packages.txt index d9031f9..6cbbde5 100644 --- a/packages.txt +++ b/packages.txt @@ -5,5 +5,6 @@ nqptp-git shairport-sync-git swift-bin mixxx-git +mixxx-qt5-git paru yay