diff options
Diffstat (limited to 'net-p2p/ktorrent')
-rw-r--r-- | net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch | 247 | ||||
-rw-r--r-- | net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild | 5 |
2 files changed, 251 insertions, 1 deletions
diff --git a/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch b/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.patch new file mode 100644 index 000000000000..1d02dcbfd9c4 --- /dev/null +++ b/net-p2p/ktorrent/files/ktorrent-5.2.0-taglib-linking.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 +-- +GitLab + diff --git a/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild b/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild index 1bddef4950bd..de82600836ca 100644 --- a/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild +++ b/net-p2p/ktorrent/ktorrent-5.2.0-r1.ebuild @@ -76,7 +76,10 @@ RDEPEND="${COMMON_DEPEND} ) " -PATCHES=( "${FILESDIR}/${P}-fix-start-in-systray.patch" ) # 5.2 branch +PATCHES=( + "${FILESDIR}/${P}-fix-start-in-systray.patch" # 5.2 branch + "${FILESDIR}/${P}-taglib-linking.patch" # 5.2 branch +) src_configure() { local mycmakeargs=( |