From 4a666a8f537846950a9e5f041b0c2d309dcb26c5 Mon Sep 17 00:00:00 2001 From: David Roman Date: Mon, 11 Mar 2024 17:10:26 +0100 Subject: media-sound/lms: new package, add 3.50.1 Signed-off-by: David Roman --- media-sound/lms/Manifest | 1 + media-sound/lms/files/lms-fix-lib-dir.patch | 150 +++++++++++++++++++++++++ media-sound/lms/files/lms-optional-tests.patch | 23 ++++ media-sound/lms/files/lms.init | 17 +++ media-sound/lms/lms-3.50.1.ebuild | 70 ++++++++++++ media-sound/lms/metadata.xml | 14 +++ 6 files changed, 275 insertions(+) create mode 100644 media-sound/lms/Manifest create mode 100644 media-sound/lms/files/lms-fix-lib-dir.patch create mode 100644 media-sound/lms/files/lms-optional-tests.patch create mode 100644 media-sound/lms/files/lms.init create mode 100644 media-sound/lms/lms-3.50.1.ebuild create mode 100644 media-sound/lms/metadata.xml (limited to 'media-sound') diff --git a/media-sound/lms/Manifest b/media-sound/lms/Manifest new file mode 100644 index 000000000..f45a59a77 --- /dev/null +++ b/media-sound/lms/Manifest @@ -0,0 +1 @@ +DIST lms-3.50.1.tar.gz 419715 BLAKE2B 80a8c08268d48e4fe8b64f66063cbe925b71288d0604c1395b54fdd35cfe7e815f9f67861cd52ba1934debc04291d96fe85c16ef99108fb9491015cea7562396 SHA512 8787d9a26bddb93d55e42f9b5f5c0295d8c67404e7648c3be620e03ae1e1ed243d87ff978a7c687dd349db4309e858807956bfa804207809c3b2fe3eed87977b diff --git a/media-sound/lms/files/lms-fix-lib-dir.patch b/media-sound/lms/files/lms-fix-lib-dir.patch new file mode 100644 index 000000000..f539b9e89 --- /dev/null +++ b/media-sound/lms/files/lms-fix-lib-dir.patch @@ -0,0 +1,150 @@ +diff --git a/src/libs/av/CMakeLists.txt b/src/libs/av/CMakeLists.txt +index fee1201e..e616260d 100644 +--- a/src/libs/av/CMakeLists.txt ++++ b/src/libs/av/CMakeLists.txt +@@ -26,5 +26,5 @@ target_link_libraries(lmsav PRIVATE + PkgConfig::LIBAV + ) + +-install(TARGETS lmsav DESTINATION lib) ++install(TARGETS lmsav DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/database/CMakeLists.txt b/src/libs/database/CMakeLists.txt +index 7188f977..0b1eb84e 100644 +--- a/src/libs/database/CMakeLists.txt ++++ b/src/libs/database/CMakeLists.txt +@@ -42,7 +42,7 @@ target_link_libraries(lmsdatabase PUBLIC + Wt::Dbo + ) + +-install(TARGETS lmsdatabase DESTINATION lib) ++install(TARGETS lmsdatabase DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(BUILD_TESTING) + add_subdirectory(test) +diff --git a/src/libs/image/CMakeLists.txt b/src/libs/image/CMakeLists.txt +index cb855563..eb48565e 100644 +--- a/src/libs/image/CMakeLists.txt ++++ b/src/libs/image/CMakeLists.txt +@@ -34,5 +34,5 @@ else () + message(FATAL_ERROR "Invalid IMAGE_LIBRARY provided") + endif() + +-install(TARGETS lmsimage DESTINATION lib) ++install(TARGETS lmsimage DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/metadata/CMakeLists.txt b/src/libs/metadata/CMakeLists.txt +index b2502aa3..c6c26521 100644 +--- a/src/libs/metadata/CMakeLists.txt ++++ b/src/libs/metadata/CMakeLists.txt +@@ -28,5 +28,5 @@ target_link_libraries(lmsmetadata PUBLIC + std::filesystem + ) + +-install(TARGETS lmsmetadata DESTINATION lib) ++install(TARGETS lmsmetadata DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/services/auth/CMakeLists.txt b/src/libs/services/auth/CMakeLists.txt +index 0a2eb6a5..edb9c4c2 100644 +--- a/src/libs/services/auth/CMakeLists.txt ++++ b/src/libs/services/auth/CMakeLists.txt +@@ -35,5 +35,5 @@ if (USE_PAM) + target_link_libraries(lmsauth PRIVATE ${PAM_LIBRARIES}) + endif (USE_PAM) + +-install(TARGETS lmsauth DESTINATION lib) ++install(TARGETS lmsauth DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/services/cover/CMakeLists.txt b/src/libs/services/cover/CMakeLists.txt +index 41169c5d..6dc17262 100644 +--- a/src/libs/services/cover/CMakeLists.txt ++++ b/src/libs/services/cover/CMakeLists.txt +@@ -24,5 +24,5 @@ target_link_libraries(lmsservice-cover PUBLIC + std::filesystem + ) + +-install(TARGETS lmsservice-cover DESTINATION lib) ++install(TARGETS lmsservice-cover DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/services/feedback/CMakeLists.txt b/src/libs/services/feedback/CMakeLists.txt +index 02e63624..b7634e77 100644 +--- a/src/libs/services/feedback/CMakeLists.txt ++++ b/src/libs/services/feedback/CMakeLists.txt +@@ -26,4 +26,4 @@ target_link_libraries(lmsfeedback PUBLIC + lmsdatabase + ) + +-install(TARGETS lmsfeedback DESTINATION lib) ++install(TARGETS lmsfeedback DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/src/libs/services/recommendation/CMakeLists.txt b/src/libs/services/recommendation/CMakeLists.txt +index 8244679b..603a66b0 100644 +--- a/src/libs/services/recommendation/CMakeLists.txt ++++ b/src/libs/services/recommendation/CMakeLists.txt +@@ -26,5 +26,5 @@ target_link_libraries(lmsrecommendation PRIVATE + std::filesystem + ) + +-install(TARGETS lmsrecommendation DESTINATION lib) ++install(TARGETS lmsrecommendation DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/services/scanner/CMakeLists.txt b/src/libs/services/scanner/CMakeLists.txt +index 8a0508e9..78d49e73 100644 +--- a/src/libs/services/scanner/CMakeLists.txt ++++ b/src/libs/services/scanner/CMakeLists.txt +@@ -29,5 +29,5 @@ target_link_libraries(lmsscanner PUBLIC + Wt::Wt + ) + +-install(TARGETS lmsscanner DESTINATION lib) ++install(TARGETS lmsscanner DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/services/scrobbling/CMakeLists.txt b/src/libs/services/scrobbling/CMakeLists.txt +index 2f78000a..db065828 100644 +--- a/src/libs/services/scrobbling/CMakeLists.txt ++++ b/src/libs/services/scrobbling/CMakeLists.txt +@@ -26,7 +26,7 @@ target_link_libraries(lmsscrobbling PUBLIC + lmsdatabase + ) + +-install(TARGETS lmsscrobbling DESTINATION lib) ++install(TARGETS lmsscrobbling DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(BUILD_TESTING) + add_subdirectory(test) +diff --git a/src/libs/som/CMakeLists.txt b/src/libs/som/CMakeLists.txt +index 87a2d53f..eeb971d6 100644 +--- a/src/libs/som/CMakeLists.txt ++++ b/src/libs/som/CMakeLists.txt +@@ -17,7 +17,7 @@ target_link_libraries(lmssom PUBLIC + + set_property(TARGET lmssom PROPERTY POSITION_INDEPENDENT_CODE ON) + +-install(TARGETS lmssom DESTINATION lib) ++install(TARGETS lmssom DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(BUILD_TESTING) + add_subdirectory(test) +diff --git a/src/libs/subsonic/CMakeLists.txt b/src/libs/subsonic/CMakeLists.txt +index 07394e94..41afbbb8 100644 +--- a/src/libs/subsonic/CMakeLists.txt ++++ b/src/libs/subsonic/CMakeLists.txt +@@ -56,5 +56,5 @@ target_link_libraries(lmssubsonic PUBLIC + Wt::Wt + ) + +-install(TARGETS lmssubsonic DESTINATION lib) ++install(TARGETS lmssubsonic DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/src/libs/utils/CMakeLists.txt b/src/libs/utils/CMakeLists.txt +index a1f3590d..a12202f9 100644 +--- a/src/libs/utils/CMakeLists.txt ++++ b/src/libs/utils/CMakeLists.txt +@@ -37,7 +37,7 @@ target_link_libraries(lmsutils PUBLIC + Wt::Wt + ) + +-install(TARGETS lmsutils DESTINATION lib) ++install(TARGETS lmsutils DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(BUILD_TESTING) + add_subdirectory(test) diff --git a/media-sound/lms/files/lms-optional-tests.patch b/media-sound/lms/files/lms-optional-tests.patch new file mode 100644 index 000000000..b01dd4ec7 --- /dev/null +++ b/media-sound/lms/files/lms-optional-tests.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 369ef896..0da122b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,11 +10,16 @@ if (UNIX) + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined") + endif () + +-include(CTest) ++option(ENABLE_TESTS "Enable tests" ON) ++ ++if(ENABLE_TESTS) ++ include(CTest) ++ find_package(GTest REQUIRED) ++endif() ++ + find_package(PkgConfig REQUIRED) + find_package(Threads REQUIRED) + find_package(Filesystem REQUIRED) +-find_package(GTest REQUIRED) + find_package(Boost REQUIRED COMPONENTS system program_options) + find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP) + pkg_check_modules(Taglib REQUIRED IMPORTED_TARGET taglib) diff --git a/media-sound/lms/files/lms.init b/media-sound/lms/files/lms.init new file mode 100644 index 000000000..269a37162 --- /dev/null +++ b/media-sound/lms/files/lms.init @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/run/lms.pid" +command="/usr/bin/lms" +command_args="" +command_user="lms:lms" +start_stop_daemon_args="--wait 1000 -b -m \ + -d /var/lms \ + --env OMP_THREAD_LIMIT=1 \ + -1 /var/log/lms/lms.log \ + -2 /var/log/lms/lms.log" + +depend() { + need net +} diff --git a/media-sound/lms/lms-3.50.1.ebuild b/media-sound/lms/lms-3.50.1.ebuild new file mode 100644 index 000000000..a1a3d25f7 --- /dev/null +++ b/media-sound/lms/lms-3.50.1.ebuild @@ -0,0 +1,70 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic pam systemd + +DESCRIPTION="Lightweight Music Server." +HOMEPAGE="http://lms-demo.poupon.dev/ https://github.com/epoupon/lms" +SRC_URI="https://github.com/epoupon/lms/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test stb" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-user/lms + dev-cpp/wt + dev-libs/boost + dev-libs/libconfig[cxx] + media-libs/taglib + media-video/ffmpeg + + !stb? ( media-gfx/graphicsmagick ) + +" + +DEPEND=" + ${RDEPEND} + + stb? ( dev-libs/stb ) +" + +BDEPEND=" + test? ( dev-cpp/gtest ) +" + +PATCHES=( "${FILESDIR}/${PN}-fix-lib-dir.patch" "${FILESDIR}/${PN}-optional-tests.patch" ) + +src_configure() { + append-flags -I/usr/include/stb/deprecated + + local mycmakeargs=( + -DIMAGE_LIBRARY=$(usex stb STB GraphicsMagick++) + -DENABLE_TESTS=$(usex test) + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + systemd_newunit conf/systemd/default.service lms.service + newinitd "${FILESDIR}/lms.init" lms + dopamd conf/pam/lms + mv "${ED}/usr/share/lms/lms.conf" "${ED}/etc/lms.conf" || die + + # Already installed in the proper directory + rm "${ED}/usr/share/lms/default.service" || die + rm "${ED}/usr/share/lms/lms" || die + + keepdir /var/log/lms + fowners -R lms:lms /var/log/lms + + keepdir /var/lms + fowners lms:lms /var/lms +} diff --git a/media-sound/lms/metadata.xml b/media-sound/lms/metadata.xml new file mode 100644 index 000000000..8f5ba3b87 --- /dev/null +++ b/media-sound/lms/metadata.xml @@ -0,0 +1,14 @@ + + + + + davidroman96@gmail.com + David Roman + + + epoupon/lms + + + Use dev-libs/stb graphic library instead of media-gfx/graphicsmagick + + -- cgit v1.2.3-65-gdbad