Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package request: amarok #49953

Open
Eloitor opened this issue Apr 21, 2024 · 18 comments
Open

Package request: amarok #49953

Eloitor opened this issue Apr 21, 2024 · 18 comments
Labels
request Package request

Comments

@Eloitor
Copy link
Contributor

Eloitor commented Apr 21, 2024

Package name

amarok

Package homepage

https://amarok.kde.org/

Description

Powerful music player for KDE

Does the requested package meet the package requirements?

System, Compiled

Is the requested package released?

Yes

@Eloitor Eloitor added the request Package request label Apr 21, 2024
@MechDR
Copy link

MechDR commented Apr 23, 2024

This is never gonna be accepted in repos. Stable version (2.9.0) requires qt4-devel in CmakeLists.txt

find_package( Qt4 4.8.3 COMPONENTS QtCore QtGui QtScript QtSvg QtXml REQUIRED )
if(WITH_QTWEBKIT)
    find_package( Qt4 COMPONENTS QtWebkit REQUIRED)
endif()

Qt4 is not part of the Void packages or templates, support for Qt4 has been dropped and I don't believe it was ever a part of the Void repos or xbps-src.

Here's a dirty repack of Amarok builds for Ubuntu.

# Template file for 'amarok'
pkgname=amarok
version=2.9.0
revision=1
archs="i686 x86_64 armv7l aarch64 ppc64"
short_desc="Amarok is a powerful music player for Linux, Unix and Windows with an intuitive interface."
maintainer="someone <someone@some.one>"
license="GPL-2.0-or-later"
homepage="https://amarok.kde.org/"

case "${XBPS_TARGET_MACHINE}" in
	i686)
		distfiles="https://web.archive.org/web/20240423093955/http://launchpadlibrarian.net/361089251/amarok_${version}-0ubuntu2_i386.deb"
		checksum="12bfe9cb4b0cac8bd511d120c32707004992f1e38e538daec6a5f12b8d53c0a6"
		;;
	x86_64)
		distfiles="https://web.archive.org/web/20240423093032/http://launchpadlibrarian.net/361089537/amarok_${version}-0ubuntu2_amd64.deb"
		checksum="bd64a0b11a2f141c5ed769a6055f0eb0123c944f3897ab3a79385aacfaa62d4e"
		;;
	armv7l)
		distfiles="https://web.archive.org/web/20240423094800/http://launchpadlibrarian.net/361090115/amarok_${version}-0ubuntu2_armhf.deb"
		checksum="d717a8d551f5a8b996305abee37444fbfffb73699f210ef47224636034aa9567"
		;;
	aarch64)
		distfiles="https://web.archive.org/web/20240423093825/http://launchpadlibrarian.net/361090149/amarok_${version}-0ubuntu2_arm64.deb"
		checksum="81b761afdbd5ed245e08610cf381893679b6a3c1e22899d70db2ab59100e99da"
		;;
	ppc64)
		distfiles="https://web.archive.org/web/20240423095017/http://launchpadlibrarian.net/361088804/amarok_${version}-0ubuntu2_ppc64el.deb"
		checksum="814401fb073f0bc93cc18f81cacb77e58b89ab4a88d612e4b1a2f44a5cb4a164"
		;;
esac

do_build () {
	mkdir -p ${wrksrc}/usr
	mv -f ${wrksrc}/bin ${wrksrc}/usr/bin
}

do_install() {
	vcopy lib /
	vcopy share /
	vcopy usr /
}

But it requires so many old libraries, so many dependencies unresolved...

SONAME: libkdeui.so.5 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libkdecore.so.5 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtGui.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtCore.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libplasma.so.3 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtDBus.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libkcmutils.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libkio.so.5 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libsolid.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtNetwork.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libkdnssd.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libthreadweaver.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libqjson.so.0 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtOpenGL.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtSvg.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libkdewebkit.so.5 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtWebKit.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtXml.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtSql.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: liblastfm.so.1 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libmygpo-qt.so.1 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libmysqlclient.so.20 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libkfile.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libphonon.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libktexteditor.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtScript.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libQtScriptTools.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libofa.so.0 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libavformat.so.57 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libavcodec.so.57 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libavutil.so.55 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libknewstuff3.so.4 <-> UNKNOWN PKG PLEASE FIX!
SONAME: libqca.so.2 <-> UNKNOWN PKG PLEASE FIX!

And these depends will probably depend on other depreciated depends, so... is it doable? Yes. Is it worth it? No. Even if you just repackage from deb/rpm, it'll still take a lot of time and effort. And some of those libs need to communicate with online services, most of them won't (not up to date protocols, things change), and even if they do, they're still insecure for online communication.

@Eloitor
Copy link
Contributor Author

Eloitor commented Apr 23, 2024

Thank you for your effort!

From his website

After possibly some 3.0.x bugfix releases, an effort will be made to port to Qt6/KF6, and hopefully have such version available in this year still.

@MechDR
Copy link

MechDR commented Apr 23, 2024

Well, if things change and they do transfer to Qt6/KF6, then yes, this would be more easy to do.

@mvf
Copy link
Contributor

mvf commented May 3, 2024

Amarok 3.0 based on Qt5 is out: Release announcement

@MechDR
Copy link

MechDR commented May 8, 2024

OK, I think I got this working... I'll need a day or two more.

Rough draft.

# Template file for 'amarok'
pkgname=amarok
version=3.0.0
revision=1
#build_style=cmake
#configure_args=".. -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix`"
#build_wrksrc="${pkgname}-${version}-build"
hostmakedepends="cmake-bootstrap cmake extra-cmake-modules ninja pkg-config gettext-devel
 taglib-devel fftw-devel qt5-devel qt5-tools-devel qt5-declarative-devel qt5-svg-devel
 qt5-webengine-devel qt5-webchannel-devel qt5-quickcontrols2-devel qt5-location-devel kde5
 attica-devel karchive-devel kcodecs-devel kconfig-devel kconfigwidgets-devel
 kcoreaddons-devel kcrash-devel kdbusaddons-devel kdeclarative-devel kdnssd-devel
 kdoctools-devel kglobalaccel-devel kguiaddons-devel ki18n-devel kiconthemes-devel
 kcmutils-devel kio-devel knewstuff-devel knotifications-devel kpackage-devel ksolid-devel
 ktexteditor-devel threadweaver-devel kwidgetsaddons-devel kwindowsystem-devel"
makedepends=""
short_desc="Amarok is a free, cross-platform, versatile, powerful and feature-rich music player."
maintainer="someone <someone@some.one>"
license="GPL-2.0-or-later"
homepage="https://amarok.kde.org/"
distfiles="https://download.kde.org/stable/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
checksum="14a87678305fad76a0a1daca555a6775ffa642e5ebbcccecd91f497093992c1c"

post_extract() {
	mkdir -p ${wrksrc}/${pkgname}-${version}-build
}

do_configure() {
	cd ${wrksrc}/${pkgname}-${version}-build
	cmake .. -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix`
}

do_build() {
	cd ${wrksrc}/${pkgname}-${version}-build
	make
}

do_install() {
	cd ${wrksrc}/${pkgname}-${version}-build
	make install
}

@MechDR
Copy link

MechDR commented May 15, 2024

I managed to package it as well, but it seems something is wrong. I get this when trying to run it.

Amarok_Error

When I run it with --debug-audio, I get this from the terminal.

"PulseSupport(2): Probing for PulseAudio..."
"PulseSupport(2): context_state_callback Authorizing"
"PulseSupport(2): context_state_callback Setting Name"
"PulseSupport(2): context_state_callback Ready"
"PulseSupport(2): Failed to initialize device manager extension: Not supported"
"PulseSupport(2): Falling back to single device mode"
"PulseSupport(2): context_state_callback Terminated"
"PulseSupport(2): PulseAudio probe complete."
"PulseSupport(2): PulseAudio support enabled"
"PulseSupport(2): Enabled Breakdown: mEnabled: Yes, s_pulseActive Yes"
PHONON-GST Using GStreamer 1.24.2
PHONON-GST AudioOutput using "pulsesink"
PHONON-GST AudioOutput using "pulsesink"
"PulseSupport(2): Initialising streamindex {7ff94ae0-c163-4d7d-8ddb-135c9f62e8da}"
PHONON-GST Backend connected Phonon::Gstreamer::MediaObject to Phonon::Gstreamer::AudioOutput
PHONON-GST Fading to 1
PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState)
PHONON-GST   Transitioning to state "ready"
PHONON-GST   State change
PHONON-GST   BEGIN: void Phonon::Gstreamer::MediaObject::handleDurationChange(qint64)
PHONON-GST     -1
PHONON-GST   END__: void Phonon::Gstreamer::MediaObject::handleDurationChange(qint64) [Took: 0s]
PHONON-GST   BEGIN: void Phonon::Gstreamer::MediaObject::handleStateChange(GstState, GstState)
PHONON-GST     Moving from "null"  Phonon::LoadingState  to "ready"  Phonon::StoppedState 
PHONON-GST     BEGIN: void Phonon::Gstreamer::MediaObject::loadingComplete()
PHONON-GST     END__: void Phonon::Gstreamer::MediaObject::loadingComplete() [Took: 0s]
PHONON-GST   END__: void Phonon::Gstreamer::MediaObject::handleStateChange(GstState, GstState) [Took: 0s]
PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0s]
PHONON-GST Backend connected Phonon::Gstreamer::MediaObject to Phonon::Gstreamer::VolumeFaderEffect
PHONON-GST Backend connected Phonon::Gstreamer::VolumeFaderEffect to Phonon::Gstreamer::AudioOutput
PHONON-GST Fading to 1
PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState)
PHONON-GST   Transitioning to state "ready"
PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0s]
PHONON-GST Backend connected Phonon::Gstreamer::VolumeFaderEffect to Phonon::Gstreamer::VolumeFaderEffect
PHONON-GST Backend connected Phonon::Gstreamer::VolumeFaderEffect to Phonon::Gstreamer::AudioOutput
PHONON-GST Backend connected Phonon::Gstreamer::VolumeFaderEffect to Phonon::Gstreamer::AudioDataOutput
"PulseSupport(2): context_state_callback Authorizing"
"PulseSupport(2): context_state_callback Setting Name"
"PulseSupport(2): context_state_callback Ready"
"PulseSupport(2): Phonon Output Stream {7ff94ae0-c163-4d7d-8ddb-135c9f62e8da} is gone at the PA end. Marking it as invalid in our cache as we may reuse it."
"PulseSupport(2): Found PulseAudio stream index 87 for Phonon Output Stream {7ff94ae0-c163-4d7d-8ddb-135c9f62e8da}"
"PulseSupport(2): Failed to initialize device manager extension: Not supported"
"PulseSupport(2): context_state_callback Terminated"

And then the GUI error pops up.

Anyone know what the problem might be? I managed to solve a part of it (the debug info was longer) by installing phonon-qt5-backend-gstreamer, but that didn't solve it all the way.

I've made some modifications to the Amarok template since the last time I posted the template, here is what I used now.

# Template file for 'amarok'
pkgname=amarok
version=3.0.0
revision=1
#build_style=cmake
#configure_args=".. -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix`"
#build_wrksrc="${pkgname}-${version}-build"
hostmakedepends="cmake-bootstrap cmake extra-cmake-modules ninja pkg-config ffmpeg-devel libmygpo-qt-devel libgpod-devel libmtp-devel libcurl-devel loudmouth-devel
 gettext-devel taglib-devel fftw-devel qt5-devel qt5-tools-devel qt5-declarative-devel
 qt5-svg-devel qt5-plugin-mysql qt5-plugin-sqlite qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-tds
 libmariadbclient-devel qt5-webengine-devel qt5-webchannel-devel qt5-quickcontrols2-devel
 qt5-location-devel kde5 attica-devel karchive-devel kcodecs-devel kconfig-devel
 kconfigwidgets-devel kcoreaddons-devel kcrash-devel kdbusaddons-devel kdeclarative-devel
 kdnssd-devel kdoctools-devel kglobalaccel-devel kguiaddons-devel ki18n-devel kiconthemes-devel
 kcmutils-devel kio-devel knewstuff-devel knotifications-devel kpackage-devel ksolid-devel
 ktexteditor-devel threadweaver-devel kwidgetsaddons-devel kwindowsystem-devel"
makedepends=""
depends="phonon-qt5-backend-gstreamer"
short_desc="Amarok is a free, cross-platform, versatile, powerful and feature-rich music player."
maintainer="someone <someone@some.one>"
license="GPL-2.0-or-later"
homepage="https://amarok.kde.org/"
distfiles="https://download.kde.org/stable/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
checksum="14a87678305fad76a0a1daca555a6775ffa642e5ebbcccecd91f497093992c1c"

post_extract() {
	mkdir -p ${wrksrc}/${pkgname}-${version}-build
	mkdir -p ${DESTDIR}/etc
}

do_configure() {
	cd ${wrksrc}/${pkgname}-${version}-build
	cmake -DCMAKE_INSTALL_PREFIX="${DESTDIR}/usr" -DCMAKE_BUILD_TYPE=debugfull ..
}

do_build() {
	cd ${wrksrc}/${pkgname}-${version}-build
	make -j8
}

do_install() {
	cd ${wrksrc}/${pkgname}-${version}-build
	make install
	mv -f ${DESTDIR}/usr/etc/* ${DESTDIR}/etc
	rm -rf ${DESTDIR}/usr/etc
}

Could someone build and see if they get the same error as me? Thanks!

@mvf
Copy link
Contributor

mvf commented May 16, 2024

First I'd try removing all functions from the template and go with build_style=cmake, without configure_args. This builds for me, and the package looks intact at first glance (e.g., no /usr/etc in there).

Can't install right now though, because I don't want KDE messing with my Qt apps. Maybe I'll set up a VM when I find the time.

@MechDR
Copy link

MechDR commented May 16, 2024

The functions were just for testing, the final was supposed to have just build_style=cmake, configure_args and build_wrksrc, but the build_wrksrc didn't get parsed by xbps-src (or maybe I didn't define it properly, IDK), so I just thought I'd try and see if it can build like this, then clean up the template and just use the built in variables.

It actually does make the /usr/etc dir when installing, but I just moved it to the root of $DESTDIR (as it should be).

The building is not the actual problem, it builds without problems on x86_64 (needs a bit more work for cross), the problem is, it won't run, lol 😄.

EDIT: When adding phonon-qt5-backend-gstreamer to depends, that seems to cut down on the errors generated. Still, it won't detect any plugins 🤷.

@mvf
Copy link
Contributor

mvf commented May 16, 2024

Agreed, building is probably not the issue. But it's not impossible either. At least with build_style, there's no /usr/etc, so there has to be something different with the install target. The build_style also uses ninja rather than make.

the final was supposed to have [...] build_wrksrc

Built fine without build_wrksrc over here.

@MechDR
Copy link

MechDR commented May 16, 2024

Could you post your template? See exactly what you changed? Thanks 😉.

@MechDR
Copy link

MechDR commented May 20, 2024

@mvf yes, you're correct, it does make the build more correct, build files are placed in /usr, except for /etc.

Will try and install it tomorrow, see what happens (it's kinda late here right now).

@MechDR
Copy link

MechDR commented May 24, 2024

I think this one is OK. Cross-builds, but to 64-bit arches only becasue qt5-webengine can't be cross-built to 32-bit arches from a 64-bit OS (word size mismatch). But, you can cross-build from 32-bit i686 to (at least) armv7l (glibc and musl, tested). About the rest of the 32-bit, IDK, I haven't tried.

pkgname=amarok
version=3.0.0
revision=1
build_style=cmake
configure_args="-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -DCMAKE_BUILD_TYPE=debugfull"
hostmakedepends="glib-devel extra-cmake-modules pkg-config gettext-devel python3
 qt5-tools-devel kcoreaddons-devel kpackage-devel"
makedepends="qt5-declarative-devel qt5-quickcontrols2-devel qt5-webengine-devel
 qt5-webchannel-devel qt5-location-devel qt5-plugin-odbc qt5-plugin-mysql qt5-plugin-pgsql
 qt5-plugin-sqlite qt5-plugin-tds qt5-svg-devel libglvnd-devel taglib-devel taglib-extras-devel
 libmariadbclient-devel ffmpeg-devel libgpod-devel gdk-pixbuf-devel libmygpo-qt-devel
 libmtp-devel libcurl-devel loudmouth-devel fftw-devel liblastfm-qt5-devel karchive-devel
 attica-devel kcodecs-devel kconfig-devel kconfigwidgets-devel kcrash-devel kdbusaddons-devel
 kdeclarative-devel kdnssd-devel kdoctools-devel kglobalaccel-devel kguiaddons-devel ki18n-devel
 kiconthemes-devel kcmutils-devel kio-devel knewstuff-devel knotifications-devel ksolid-devel
 ktexteditor-devel threadweaver-devel kwidgetsaddons-devel kwindowsystem-devel"
depends="phonon-qt5-backend-gstreamer"
short_desc="Amarok is a free, cross-platform, versatile, powerful and feature-rich music player."
maintainer="someone <someone@some.one>"
license="GPL-2.0-or-later"
homepage="https://amarok.kde.org/"
distfiles="https://download.kde.org/stable/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
checksum="14a87678305fad76a0a1daca555a6775ffa642e5ebbcccecd91f497093992c1c"

post_extract() {
	if [ ! -z "${CROSS_BUILD}" ]; then
		ln -sf ${XBPS_CROSS_BASE}/usr/include/taglib-extras /usr/include/taglib-extras
	fi
}

do_clean() {
	if [ ! -z "${CROSS_BUILD}" ]; then
		rm -f /usr/include/taglib-extras
	fi
}

@MechDR
Copy link

MechDR commented May 24, 2024

Some icons are missing though...

Screenshot_2024-05-25_01-44-02

@MechDR
Copy link

MechDR commented May 25, 2024

A minor update, breeze-icons included.

# Template file for 'amarok'
pkgname=amarok
version=3.0.0
revision=1
build_style=cmake
configure_args="-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -DCMAKE_BUILD_TYPE=debugfull"
hostmakedepends="glib-devel extra-cmake-modules pkg-config gettext-devel python3
 qt5-tools-devel kcoreaddons-devel kpackage-devel"
makedepends="qt5-declarative-devel qt5-quickcontrols2-devel qt5-webengine-devel
 qt5-webchannel-devel qt5-location-devel qt5-plugin-odbc qt5-plugin-mysql qt5-plugin-pgsql
 qt5-plugin-sqlite qt5-plugin-tds qt5-svg-devel libglvnd-devel taglib-devel taglib-extras-devel
 libmariadbclient-devel ffmpeg-devel libgpod-devel gdk-pixbuf-devel libmygpo-qt-devel
 libmtp-devel libcurl-devel loudmouth-devel fftw-devel liblastfm-qt5-devel karchive-devel
 attica-devel kcodecs-devel kconfig-devel kconfigwidgets-devel kcrash-devel kdbusaddons-devel
 kdeclarative-devel kdnssd-devel kdoctools-devel kglobalaccel-devel kguiaddons-devel ki18n-devel
 kiconthemes-devel kcmutils-devel kio-devel knewstuff-devel knotifications-devel ksolid-devel
 ktexteditor-devel threadweaver-devel kwidgetsaddons-devel kwindowsystem-devel"
depends="phonon-qt5-backend-gstreamer breeze-icons"
short_desc="Amarok is a free, cross-platform, versatile, powerful and feature-rich music player."
maintainer="someone <someone@some.one>"
license="GPL-2.0-or-later"
homepage="https://amarok.kde.org/"
distfiles="https://download.kde.org/stable/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
checksum="14a87678305fad76a0a1daca555a6775ffa642e5ebbcccecd91f497093992c1c"

post_extract() {
	if [ ! -z "${CROSS_BUILD}" ]; then
		ln -sf ${XBPS_CROSS_BASE}/usr/include/taglib-extras /usr/include/taglib-extras
	fi
}

do_clean() {
	if [ ! -z "${CROSS_BUILD}" ]; then
		rm -f /usr/include/taglib-extras
	fi
}

Screenshot_2024-05-25_02-10-58

@artenax
Copy link

artenax commented Jun 8, 2024

I built it in Ubuntu 22.04 and want to share my experience, maybe it will help you.

  1. Only works with mariadb, not sqlite.
  2. In /usr/bin/phononsettings (part of the phonon4qt5settings package) I changed “Phonon VLC” to “Phonon GStreamer”, otherwise there was segfault when trying to play any file.
  3. I had to install/update:
    utfcpp 4.0.5 (needed to build taglib)
    taglib 2.0.1
    taglib-extras 1.0.1 (with Arch Linux patch)

@MechDR
Copy link

MechDR commented Jun 9, 2024

It works fine on all of the rigs I installed it. Built it for x86_64 and i686 glibc. Have built it for other arches and libcs, but I haven't tested those.

@SumOys
Copy link
Contributor

SumOys commented Jan 11, 2025

I used the template here and it works great. I had to add libKF5DNSSD.so.5 back into shlibs since it's now in the removed-packages. I could only get it to build for x86_64/glibc. musl and aarch64 wouldn't build.

I have the x86_64 packages in this repo if anyone wants them: https://bpvl.battlepenguin.com/

@MechDR
Copy link

MechDR commented Jan 30, 2025

I've made some adjustments to the template since I posted the previous template.

# Template file for 'amarok'
pkgname=amarok
version=3.1.0
revision=1
build_style=cmake
configure_args="-DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -DCMAKE_BUILD_TYPE=debugfull"
hostmakedepends="glib-devel extra-cmake-modules pkg-config gettext-devel python3
 qt5-tools-devel kcoreaddons-devel kpackage-devel taglib-extras-devel"
makedepends="qt5-declarative-devel qt5-quickcontrols2-devel qt5-webengine-devel
 qt5-webchannel-devel qt5-location-devel qt5-plugin-odbc qt5-plugin-mysql qt5-plugin-pgsql
 qt5-plugin-sqlite qt5-plugin-tds qt5-svg-devel libglvnd-devel taglib-devel taglib-extras-devel
 libmariadbclient-devel ffmpeg-devel libgpod-devel gdk-pixbuf-devel libmygpo-qt-devel
 libmtp-devel libcurl-devel loudmouth-devel fftw-devel liblastfm-qt5-devel karchive-devel
 attica-devel kcodecs-devel kconfig-devel kconfigwidgets-devel kcrash-devel kdbusaddons-devel
 kdeclarative-devel kdnssd-devel kdoctools-devel kglobalaccel-devel kguiaddons-devel ki18n-devel
 kiconthemes-devel kcmutils-devel kio-devel knewstuff-devel knotifications-devel ksolid-devel
 ktexteditor-devel threadweaver-devel kwidgetsaddons-devel kwindowsystem-devel"
depends="phonon-qt5-backend-gstreamer breeze-icons"
short_desc="Amarok is a free, cross-platform, versatile, powerful and feature-rich music player."
maintainer="someone <someone@some.one>"
license="GPL-2.0-or-later"
homepage="https://amarok.kde.org/"
distfiles="https://download.kde.org/stable/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
checksum="c97b9967fa8f15b8e9f4dfb66184cac6a7ec9dc665a105bc5168d8e720fe16eb"
shlib_provides="libKF5DNSSD.so.5"

I managed to crossbuild 3.1.0 like this to x86_64, x86_64-musl, aarch64, aarch64-musl, i686, i686-musl, armv7l, armv7l-musl (the i686-musl natively even). You have to crossbuild from compatible environments though. For example, you crossbuild from x86_64-musl to aarch64-musl, i686-musl to armv7l-musl, i686 to armv7l, etc. Basically, the word size and libc has to be the same of the build environment and the target. Use the -A (build arch/word size/libc) and -a (target arch/word size/libc) in xbps-src for the crossbuilds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
request Package request
Projects
None yet
Development

No branches or pull requests

5 participants