aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Weiss <luca@z3ntu.xyz>2020-08-01 20:03:49 +0200
committerLeo <thinkabit.ukim@gmail.com>2020-08-01 18:10:46 +0000
commit575cf95a191264e85364b7e8569d27d1e44b5ff6 (patch)
treea4f97f94d9062c1528d1fc165766ca63a8d6d0e3
parent095c5f0a561c2482bb9147c860ae2643de95adf2 (diff)
downloadaports-575cf95a191264e85364b7e8569d27d1e44b5ff6.tar.gz
aports-575cf95a191264e85364b7e8569d27d1e44b5ff6.tar.bz2
aports-575cf95a191264e85364b7e8569d27d1e44b5ff6.tar.xz
community/ktorrent: fix linking against taglib
-rw-r--r--community/ktorrent/0001-Update-FindTaglib-from-ECM.patch247
-rw-r--r--community/ktorrent/APKBUILD8
2 files changed, 252 insertions, 3 deletions
diff --git a/community/ktorrent/0001-Update-FindTaglib-from-ECM.patch b/community/ktorrent/0001-Update-FindTaglib-from-ECM.patch
new file mode 100644
index 0000000000..4f60f714e3
--- /dev/null
+++ b/community/ktorrent/0001-Update-FindTaglib-from-ECM.patch
@@ -0,0 +1,247 @@
+From f4c1c91d9b091941ebb4dae6aef95bcf9bc1c388 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Sun, 21 Jun 2020 14:19:49 +0200
+Subject: [PATCH] Update FindTaglib from ECM.
+
+This fixes linking for me, there was just nothing in TAGLIB_LIBRARIES
+on my system (taglib in the same custom prefix as KDE code)
+---
+ cmake/modules/FindTaglib.cmake | 191 +++++++++++------------------
+ plugins/mediaplayer/CMakeLists.txt | 3 +-
+ 2 files changed, 74 insertions(+), 120 deletions(-)
+
+diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
+index 13db60b2..1e1b9075 100644
+--- a/cmake/modules/FindTaglib.cmake
++++ b/cmake/modules/FindTaglib.cmake
+@@ -1,135 +1,90 @@
+-# - Try to find the Taglib library
+-# Once done this will define
++#.rst:
++# FindTaglib
++#-----------
+ #
+-# TAGLIB_FOUND - system has the taglib library
+-# TAGLIB_CFLAGS - the taglib cflags
+-# TAGLIB_LIBRARIES - The libraries needed to use taglib
+-
+-# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
++# Try to find the Taglib library.
+ #
+-# Redistribution and use is allowed according to the terms of the BSD license.
+-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+-
+-if(NOT TAGLIB_MIN_VERSION)
+- set(TAGLIB_MIN_VERSION "1.6")
+-endif()
+-
+-if(NOT WIN32)
+- find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
+- ${BIN_INSTALL_DIR}
+- )
+-endif()
+-
+-#reset vars
+-set(TAGLIB_LIBRARIES)
+-set(TAGLIB_CFLAGS)
+-
+-# if taglib-config has been found
+-if(TAGLIBCONFIG_EXECUTABLE)
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
+-
+- if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
+- message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
+- set(TAGLIB_FOUND FALSE)
+- else()
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
+-
+- exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
++# This will define the following variables:
++#
++# ``Taglib_FOUND``
++# True if the system has the taglib library of at least the minimum
++# version specified by the version parameter to find_package()
++# ``Taglib_INCLUDE_DIRS``
++# The taglib include dirs for use with target_include_directories
++# ``Taglib_LIBRARIES``
++# The taglib libraries for use with target_link_libraries()
++# ``Taglib_VERSION``
++# The version of taglib that was found
++#
++# If ``Taglib_FOUND is TRUE, it will also define the following imported
++# target:
++#
++# ``Taglib::Taglib``
++# The Taglib library
++#
++# Since 5.72.0
++#
++# SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org>
++# SPDX-FileCopyrightText: 2019 Heiko Becker <heirecka@exherbo.org>
++# SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org>
++# SPDX-License-Identifier: BSD-3-Clause
+
+- if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
+- set(TAGLIB_FOUND TRUE)
+- endif()
+- string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
+- endif()
+- mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
++find_package(PkgConfig QUIET)
+
+-else()
++pkg_search_module(PC_TAGLIB QUIET taglib)
+
+- find_path(TAGLIB_INCLUDES
+- NAMES
+- tag.h
++find_path(Taglib_INCLUDE_DIRS
++ NAMES tag.h
+ PATH_SUFFIXES taglib
+- PATHS
+- ${KDE4_INCLUDE_DIR}
+- ${INCLUDE_INSTALL_DIR}
+- )
+-
+- if(NOT WIN32)
+- # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX
++ HINTS ${PC_TAGLIB_INCLUDEDIR}
++)
+
+- find_library(TAGLIB_LIBRARIES tag PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
++find_library(Taglib_LIBRARIES
++ NAMES tag
++ HINTS ${PC_TAGLIB_LIBDIR}
++)
+
+- else()
++set(Taglib_VERSION ${PC_TAGLIB_VERSION})
+
+- # 1. get all possible libnames
+- set(args PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
+- set(newargs "")
+- set(libnames_release "")
+- set(libnames_debug "")
++if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION)
++ if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h")
++ file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H)
+
+- list(LENGTH args listCount)
++ string(REGEX MATCH "#define TAGLIB_MAJOR_VERSION[ ]+[0-9]+" TAGLIB_MAJOR_VERSION_MATCH ${TAGLIB_H})
++ string(REGEX MATCH "#define TAGLIB_MINOR_VERSION[ ]+[0-9]+" TAGLIB_MINOR_VERSION_MATCH ${TAGLIB_H})
++ string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+" TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H})
+
+- # just one name
+- list(APPEND libnames_release "tag")
+- list(APPEND libnames_debug "tagd")
+-
+- set(newargs ${args})
+-
+- # search the release lib
+- find_library(TAGLIB_LIBRARIES_RELEASE
+- NAMES ${libnames_release}
+- ${newargs}
+- )
+-
+- # search the debug lib
+- find_library(TAGLIB_LIBRARIES_DEBUG
+- NAMES ${libnames_debug}
+- ${newargs}
+- )
+-
+- if(TAGLIB_LIBRARIES_RELEASE AND TAGLIB_LIBRARIES_DEBUG)
+-
+- # both libs found
+- set(TAGLIB_LIBRARIES optimized ${TAGLIB_LIBRARIES_RELEASE}
+- debug ${TAGLIB_LIBRARIES_DEBUG})
+-
+- else()
+-
+- if(TAGLIB_LIBRARIES_RELEASE)
+-
+- # only release found
+- set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_RELEASE})
+-
+- else()
+-
+- # only debug (or nothing) found
+- set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARIES_DEBUG})
+-
+- endif()
+-
+- endif()
+-
+- mark_as_advanced(TAGLIB_LIBRARIES_RELEASE)
+- mark_as_advanced(TAGLIB_LIBRARIES_DEBUG)
++ string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MAJOR_VERSION "${TAGLIB_MAJOR_VERSION_MATCH}")
++ string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MINOR_VERSION "${TAGLIB_MINOR_VERSION_MATCH}")
++ string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TAGLIB_PATCH_VERSION "${TAGLIB_PATCH_VERSION_MATCH}")
+
++ set(Taglib_VERSION "${TAGLIB_MAJOR_VERSION}.${TAGLIB_MINOR_VERSION}.${TAGLIB_PATCH_VERSION}")
+ endif()
+-
+- include(FindPackageMessage)
+- include(FindPackageHandleStandardArgs)
+- find_package_handle_standard_args(Taglib DEFAULT_MSG TAGLIB_INCLUDES TAGLIB_LIBRARIES)
+-
+ endif()
+
+-
+-if(TAGLIB_FOUND)
+- if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
+- message(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
+- endif()
+-else()
+- if(Taglib_FIND_REQUIRED)
+- message(FATAL_ERROR "Could not find Taglib")
+- endif()
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(Taglib
++ FOUND_VAR
++ Taglib_FOUND
++ REQUIRED_VARS
++ Taglib_LIBRARIES
++ Taglib_INCLUDE_DIRS
++ VERSION_VAR
++ Taglib_VERSION
++)
++
++if (Taglib_FOUND AND NOT TARGET Taglib::Taglib)
++ add_library(Taglib::Taglib UNKNOWN IMPORTED)
++ set_target_properties(Taglib::Taglib PROPERTIES
++ IMPORTED_LOCATION "${Taglib_LIBRARIES}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Taglib_INCLUDE_DIRS}"
++ )
+ endif()
+
++mark_as_advanced(Taglib_LIBRARIES Taglib_INCLUDE_DIRS)
++
++include(FeatureSummary)
++set_package_properties(Taglib PROPERTIES
++ URL "https://taglib.org/"
++ DESCRIPTION "A library for reading and editing the meta-data of audio formats"
++)
+diff --git a/plugins/mediaplayer/CMakeLists.txt b/plugins/mediaplayer/CMakeLists.txt
+index 8bbeeb74..5fbe056f 100644
+--- a/plugins/mediaplayer/CMakeLists.txt
++++ b/plugins/mediaplayer/CMakeLists.txt
+@@ -1,5 +1,4 @@
+ find_package(Taglib REQUIRED)
+-include_directories(${TAGLIB_INCLUDES})
+ #find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Multimedia MultimediaWidgets)
+ #include_directories(${Qt5Multimedia_INCLUDE_DIRS})
+ include_directories(${PHONON_INCLUDES})
+@@ -34,7 +33,7 @@ kcoreaddons_desktop_to_json(ktorrent_mediaplayer ktorrent_mediaplayer.desktop)
+ target_link_libraries(
+ ktorrent_mediaplayer
+ ktcore
+- ${TAGLIB_LIBRARIES}
++ Taglib::Taglib
+ Phonon::phonon4qt5
+ KF5::Torrent
+ KF5::I18n
+--
+2.27.0
+
diff --git a/community/ktorrent/APKBUILD b/community/ktorrent/APKBUILD
index 58739e3fdc..da5e48bfec 100644
--- a/community/ktorrent/APKBUILD
+++ b/community/ktorrent/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=ktorrent
pkgver=5.2.0
-pkgrel=0
+pkgrel=1
arch="all !ppc64le !s390x !armhf" # Limited by plasma-workspace -> libksysguard -> qt5-qtwebengine
arch="$arch !mips !mips64" # Limited by libktorrent
url="https://kde.org/applications/internet/org.kde.ktorrent"
@@ -16,7 +16,8 @@ makedepends="extra-cmake-modules qt5-qtbase-dev kconfig-dev kconfigwidgets-dev
kross-dev kplotting-dev syndication-dev kdewebkit-dev kdnssd-dev
kcompletion-dev plasma-workspace-dev taglib-dev phonon-dev"
checkdepends="xvfb-run"
-source="https://download.kde.org/stable/ktorrent/$pkgver/ktorrent-$pkgver.tar.xz"
+source="https://download.kde.org/stable/ktorrent/$pkgver/ktorrent-$pkgver.tar.xz
+ 0001-Update-FindTaglib-from-ECM.patch"
subpackages="$pkgname-doc $pkgname-lang"
build() {
@@ -38,4 +39,5 @@ package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
-sha512sums="141976612cfe6bf4bd06e96842d7bc51ced7a3ab8e13c25446a00c031054698f851fbb1a31f3425dda5a428408bb1ceb51a4a420eaf2e79193b17a0cc7d7a387 ktorrent-5.2.0.tar.xz"
+sha512sums="141976612cfe6bf4bd06e96842d7bc51ced7a3ab8e13c25446a00c031054698f851fbb1a31f3425dda5a428408bb1ceb51a4a420eaf2e79193b17a0cc7d7a387 ktorrent-5.2.0.tar.xz
+8964c426bd554e6619400582589002d4d1fc731e65faaae7ad300db443b2686c57d0eb940183d9f445202e5be67063b1e4fca2ac115c2be78cb88b88f0022b79 0001-Update-FindTaglib-from-ECM.patch"