diff options
author | tytan652 | 2022-01-10 22:48:21 +0100 |
---|---|---|
committer | tytan652 | 2022-01-11 08:23:45 +0100 |
commit | c4a2b9ff292f94e0eb86736841fe4e1a99da76c5 (patch) | |
tree | 99af9fdd88090088de1ea665f760bcb0e4568d38 | |
parent | 1df4f519389d8cbc5b1c4b13d3e61f17b7d08ea0 (diff) | |
download | aur-c4a2b9ff292f94e0eb86736841fe4e1a99da76c5.tar.gz |
build: Less embedded deps
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | FindLibMPDClient.cmake | 21 | ||||
-rw-r--r-- | FindTaglib.cmake | 92 | ||||
-rw-r--r-- | PKGBUILD | 26 | ||||
-rw-r--r-- | deps_CMakeLists.txt | 2 |
5 files changed, 141 insertions, 15 deletions
@@ -1,22 +1,27 @@ pkgbase = obs-tuna pkgdesc = Get song info from right within obs pkgver = 1.6.1 - pkgrel = 2 + pkgrel = 3 url = https://obsproject.com/forum/resources/tuna.843/ arch = i686 arch = x86_64 arch = aarch64 license = GPL2 makedepends = cmake + makedepends = vlc makedepends = git depends = obs-studio + depends = libmpdclient + depends = taglib conflicts = obs-plugin-tuna-bin conflicts = obs-plugin-tuna-git source = tuna::git+https://github.com/univrsal/tuna.git#tag=v1.6.1 - source = taglib::git+https://github.com/taglib/taglib - source = libmpdclient::git+https://github.com/MusicPlayerDaemon/libmpdclient - sha256sums = SKIP - sha256sums = SKIP + source = FindLibMPDClient.cmake + source = FindTaglib.cmake + source = deps_CMakeLists.txt sha256sums = SKIP + sha256sums = 7a98baa9bcaddbb76cf00d11b3765fec4a696d2d793ef25c04939941e44cf4dc + sha256sums = 8b6b5627dee73246eff61de3189d7ed33fe6c81c19373851feafe98421ffb3ae + sha256sums = 6b90db87873aa90d1127200e0a23a7eb0a3bebad1c110fb698a1e421a06c6758 pkgname = obs-tuna diff --git a/FindLibMPDClient.cmake b/FindLibMPDClient.cmake new file mode 100644 index 000000000000..b384e6d65371 --- /dev/null +++ b/FindLibMPDClient.cmake @@ -0,0 +1,21 @@ +find_package(PkgConfig QUIET) +pkg_check_modules(PC_LIBMPDCLIENT QUIET libmpdclient) + +find_path(LIBMPDCLIENT_INCLUDE_DIR + NAMES mpd/version.h + HINTS ${PC_LIBMPDCLIENT_INCLUDEDIR} ${PC_LIBMPDCLIENT_INCLUDE_DIRS}) + +find_library(LIBMPDCLIENT_LIBRARY + NAMES mpdclient libmpdclient + HINTS ${PC_LIBMPDCLIENT_LIBDIR} ${PC_LIBMPDCLIENT_LIBRARY_DIRS}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LibMPDClient + REQUIRED_VARS LIBMPDCLIENT_LIBRARY LIBMPDCLIENT_INCLUDE_DIR) + +if (LIBMPDCLIENT_FOUND) + set(LIBMPDCLIENT_LIBRARIES ${LIBMPDCLIENT_LIBRARY}) + set(LIBMPDCLIENT_INCLUDE_DIRS ${LIBMPDCLIENT_INCLUDE_DIR}/mpd) +endif () + +mark_as_advanced(LIBMPDCLIENT_INCLUDE_DIR LIBMPDCLIENT_LIBRARY) diff --git a/FindTaglib.cmake b/FindTaglib.cmake new file mode 100644 index 000000000000..e3a0014fccba --- /dev/null +++ b/FindTaglib.cmake @@ -0,0 +1,92 @@ +# 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 + +#[=======================================================================[.rst: +FindTaglib +---------- + +Try to find the Taglib library. + +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 +#]=======================================================================] + +find_package(PkgConfig QUIET) + +pkg_check_modules(PC_TAGLIB QUIET taglib) + +find_path(Taglib_INCLUDE_DIRS + NAMES tag.h + PATH_SUFFIXES taglib + HINTS ${PC_TAGLIB_INCLUDEDIR} +) + +find_library(Taglib_LIBRARIES + NAMES tag + HINTS ${PC_TAGLIB_LIBDIR} +) + +set(Taglib_VERSION ${PC_TAGLIB_VERSION}) + +if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION) + if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h") + file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H) + + 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}) + + 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() +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" +) @@ -12,29 +12,35 @@ fi _pluginname=tuna pkgname=obs-$_pluginname pkgver=1.6.1 -pkgrel=2 +pkgrel=3 arch=("i686" "x86_64" "aarch64") pkgdesc="Get song info from right within obs" url="https://obsproject.com/forum/resources/tuna.843/" license=('GPL2') -depends=("obs-studio") -makedepends=("cmake" "git") +depends=("obs-studio" "libmpdclient" "taglib") +makedepends=("cmake" "vlc" "git") conflicts=("obs-plugin-tuna-bin" "obs-plugin-tuna-git") source=( "$_pluginname::git+https://github.com/univrsal/tuna.git#tag=v$pkgver" - "taglib::git+https://github.com/taglib/taglib" - "libmpdclient::git+https://github.com/MusicPlayerDaemon/libmpdclient") + "FindLibMPDClient.cmake" + "FindTaglib.cmake" + "deps_CMakeLists.txt") sha256sums=( "SKIP" - "SKIP" - "SKIP" + "7a98baa9bcaddbb76cf00d11b3765fec4a696d2d793ef25c04939941e44cf4dc" + "8b6b5627dee73246eff61de3189d7ed33fe6c81c19373851feafe98421ffb3ae" + "6b90db87873aa90d1127200e0a23a7eb0a3bebad1c110fb698a1e421a06c6758" ) prepare() { cd $_pluginname - git config submodule.deps/taglib.url $srcdir/taglib - git config submodule.deps/libmpdclient.url $srcdir/libmpdclient - git submodule update + + cp $srcdir/FindLibMPDClient.cmake cmake/external/. + cp $srcdir/FindTaglib.cmake cmake/external/. + cp $srcdir/deps_CMakeLists.txt deps/CMakeLists.txt + + sed -i '29 a find_package(LibMPDClient REQUIRED)\nfind_package(Taglib REQUIRED)\nfind_package(LibVLC REQUIRED)' CMakeLists.txt + sed -i '40 a include_directories(${LIBVLC_INCLUDE_DIRS})' CMakeLists.txt } build() { diff --git a/deps_CMakeLists.txt b/deps_CMakeLists.txt new file mode 100644 index 000000000000..67170e432e0a --- /dev/null +++ b/deps_CMakeLists.txt @@ -0,0 +1,2 @@ +set(MONGOOSE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/mongoose CACHE STRING "" FORCE) +set(MONGOOSE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/mongoose/mongoose.c CACHE STRING "" FORCE) |