summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortytan6522022-01-10 22:48:21 +0100
committertytan6522022-01-11 08:23:45 +0100
commitc4a2b9ff292f94e0eb86736841fe4e1a99da76c5 (patch)
tree99af9fdd88090088de1ea665f760bcb0e4568d38
parent1df4f519389d8cbc5b1c4b13d3e61f17b7d08ea0 (diff)
downloadaur-c4a2b9ff292f94e0eb86736841fe4e1a99da76c5.tar.gz
build: Less embedded deps
-rw-r--r--.SRCINFO15
-rw-r--r--FindLibMPDClient.cmake21
-rw-r--r--FindTaglib.cmake92
-rw-r--r--PKGBUILD26
-rw-r--r--deps_CMakeLists.txt2
5 files changed, 141 insertions, 15 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ee0b32cfbd9d..acd379b6dcb8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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"
+)
diff --git a/PKGBUILD b/PKGBUILD
index f73e2425dc21..2a82ccffd211 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)