Initial commit

This commit is contained in:
Christian Schendel 2025-08-31 18:08:42 +02:00
commit 2d2582b0a5
Signed by: doppelhelix
GPG key ID: 5874D2437CD5BBB3
8 changed files with 239 additions and 0 deletions

43
.SRCINFO Normal file
View file

@ -0,0 +1,43 @@
pkgbase = cantata-qt6
pkgdesc = Qt6 graphical client for Music Player Daemon (MPD), nullobsi fork
pkgver = 3.3.1
pkgrel = 4
url = https://github.com/nullobsi/cantata
arch = x86_64
arch = i686
arch = aarch64
arch = armv7h
license = GPL-3.0-or-later
makedepends = cmake
makedepends = git
makedepends = qt6-tools
makedepends = vulkan-headers
depends = avahi
depends = bash
depends = ffmpeg
depends = gcc-libs
depends = glibc
depends = hicolor-icon-theme
depends = libcddb
depends = libcdio-paranoia
depends = libebur128
depends = libmtp
depends = libmusicbrainz5
depends = media-player-info
depends = mpg123
depends = perl
depends = perl-uri
depends = qt6-base
depends = qt6-multimedia
depends = qt6-svg
depends = systemd-libs
depends = taglib
depends = udisks2
depends = zlib
optdepends = mpd: Playback
provides = cantata
source = cantata-3.3.1::git+https://github.com/nullobsi/cantata.git#tag=v3.3.1?signed
validpgpkeys = EAAC1F701A83BED288D064DC933A1F44222C2634
sha256sums = c282fd13610e6521696a9caaa5772952b16a9ff2a64192fdc379d9074ebdb96c
pkgname = cantata-qt6

16
.gitignore vendored Normal file
View file

@ -0,0 +1,16 @@
# Ignore everything
*
# But not these files...
!.gitignore
!PKGBUILD
!.SRCINFO
!LICENSE
!chroot-build
!.nvchecker.toml
!/keys
!/keys/pgp
!/keys/pgp/*.asc
!/LICENSES
!/LICENSES/*.txt
!REUSE.toml

4
.nvchecker.toml Normal file
View file

@ -0,0 +1,4 @@
[cantata-qt6]
source = "git"
git = "https://github.com/nullobsi/cantata.git"
prefix = "v"

12
LICENSE Normal file
View file

@ -0,0 +1,12 @@
Copyright Arch Linux Contributors
Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

1
LICENSES/0BSD.txt Symbolic link
View file

@ -0,0 +1 @@
../LICENSE

75
PKGBUILD Normal file
View file

@ -0,0 +1,75 @@
# Maintainer: Christian Schendel <doppelhelix@gmail.com>
# Contributor: Fabio 'Lolix' Loli <fabio.loli@disroot.org> -> https://github.com/FabioLolix
# Contributor: goetzc
# Contributor: Kim Scarborough <sluggo@unknown.nu>
pkgname=cantata-qt6
pkgdesc="Qt6 graphical client for Music Player Daemon (MPD), nullobsi fork"
pkgver=3.3.1
pkgrel=4
url="https://github.com/nullobsi/cantata"
arch=(x86_64 i686 aarch64 armv7h)
license=(
'GPL-3.0-or-later'
)
makedepends=(
cmake
git
qt6-tools
vulkan-headers
)
depends=(
avahi
bash
ffmpeg
gcc-libs
glibc
hicolor-icon-theme
libcddb
libcdio-paranoia
libebur128
libmtp
libmusicbrainz5
media-player-info
mpg123
perl
perl-uri
qt6-base
qt6-multimedia
qt6-svg
systemd-libs
taglib
#taglib-extras
udisks2
zlib
)
optdepends=(
'mpd: Playback'
)
provides=(cantata)
source=("${pkgname%-qt6}-$pkgver::git+$url.git#tag=v${pkgver}?signed")
sha256sums=('c282fd13610e6521696a9caaa5772952b16a9ff2a64192fdc379d9074ebdb96c')
validpgpkeys=('EAAC1F701A83BED288D064DC933A1F44222C2634') # Citlali del Rey <me@nullob.si>
build() {
cmake \
-B build \
-S "${pkgname%-qt6}-$pkgver" -Wno-dev \
-DQT_DIR=/usr/lib/cmake/Qt6 \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBEXECDIR=/usr/bin
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm0644 -t "$pkgdir/usr/share/doc/${pkgname%-qt6}" "$srcdir/${pkgname%-qt6}-$pkgver/INSTALL"
install -Dm0644 -t "$pkgdir/usr/share/doc/${pkgname%-qt6}" "$srcdir/${pkgname%-qt6}-$pkgver/README"
install -Dm0644 -t "$pkgdir/usr/share/doc/${pkgname%-qt6}" "$srcdir/${pkgname%-qt6}-$pkgver/README.md"
install -Dm0644 -t "$pkgdir/usr/share/doc/${pkgname%-qt6}" "$srcdir/${pkgname%-qt6}-$pkgver/TODO"
}
# vim: set ft=sh ts=4 sw=4 et:

23
REUSE.toml Normal file
View file

@ -0,0 +1,23 @@
version = 1
[[annotations]]
path = [
"PKGBUILD",
"README.md",
"keys/**",
".SRCINFO",
".nvchecker.toml",
".gitignore",
"*.install",
"*.sysusers",
"*.tmpfiles",
"*.logrotate",
"*.pam",
"*.service",
"*.socket",
"*.timer",
"*.desktop",
"*.hook",
]
SPDX-FileCopyrightText = "Arch Linux contributors"
SPDX-License-Identifier = "0BSD"

65
chroot-build Executable file
View file

@ -0,0 +1,65 @@
#!/bin/bash
# SPDX-FileCopyrightText: Christian Schendel
# SPDX-License-Identifier: 0BSD
set -euo pipefail
use_tmpfs=true
CHROOT="/tmp/mkarchroot"
check_available_ram() {
if [ "$(awk '/^MemAvailable:/ { print $2; }' /proc/meminfo)" -lt 50000 ]; then
use_tmpfs=false
fi
}
create_chroot_directory() {
if [ $use_tmpfs ]; then
sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs $CHROOT
else
sudo mkdir -p "$CHROOT"
fi
}
create_chroot_environment() {
if [[ ! -d "$CHROOT/root" ]]; then
mkarchroot -M ~/.config/pacman/makepkg.conf "$CHROOT/root" base-devel
fi
}
build_package(){
arch-nspawn "$CHROOT/root" pacman -Syu
if makechrootpkg -c -r "$CHROOT" -- -Asf . ; then
makepkg --printsrcinfo >.SRCINFO
else
delete_chroot_environment && echo -e "\n\e[1;31m==> BUILD FAILED: \e[1;37m$CHROOT removed\e[0m " && exit 1
fi
}
sign_package(){
PACKAGE="$(makepkg --packagelist)"
gpg --use-agent --output "$PACKAGE.sig" --detach-sign "$PACKAGE"
}
delete_chroot_environment() {
if [ "$(stat -f --format=%T "$CHROOT")" == "btrfs" ]; then
{
sudo btrfs subvolume delete "$CHROOT/root/var/lib/portables"
sudo btrfs subvolume delete "$CHROOT/root/var/lib/machines"
sudo btrfs subvolume delete "$CHROOT/root"
sudo rm -Rf $CHROOT
} >>/dev/null 2>&1
elif [ "$(stat -f --format=%T "$CHROOT")" == "tmpfs" ]; then
sudo umount -f $CHROOT
fi
sudo rm -Rf $CHROOT
}
check_available_ram
create_chroot_directory
create_chroot_environment
build_package
sign_package
delete_chroot_environment
# vim: set ts=4 sw=4 et: