diff --git a/media-libs/libcuefile/files/libcuefile-477-cmake4.patch b/media-libs/libcuefile/files/libcuefile-477-cmake4.patch new file mode 100644 index 0000000000000..406f2e9728364 --- /dev/null +++ b/media-libs/libcuefile/files/libcuefile-477-cmake4.patch @@ -0,0 +1,21 @@ +Bump cmake min to 3.20 and add explicit extensions for CMP0115 +https://bugs.gentoo.org/953935 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.4) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.20) + + project(libcuefile C) + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,7 +1,7 @@ + add_definitions(-DYY_NEVER_INTERACTIVE) + include_directories(${libcuefile_SOURCE_DIR}/include) + +-add_library(cuefile-shared SHARED cd cdtext cue_parse cue_print cue_scan cuefile time toc toc_parse toc_print toc_scan) ++add_library(cuefile-shared SHARED cd.c cdtext.c cue_parse.c cue_print.c cue_scan.c cuefile.c time.c toc.h toc_parse.c toc_print.c toc_scan.c) + set_target_properties(cuefile-shared PROPERTIES OUTPUT_NAME cuefile CLEAN_DIRECT_OUTPUT 1 VERSION 0.0.0 SOVERSION 0) + + install(TARGETS cuefile-shared LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") diff --git a/media-libs/libcuefile/files/libcuefile-477-mathmeaning.patch b/media-libs/libcuefile/files/libcuefile-477-mathmeaning.patch new file mode 100644 index 0000000000000..1aa7e25106769 --- /dev/null +++ b/media-libs/libcuefile/files/libcuefile-477-mathmeaning.patch @@ -0,0 +1,23 @@ +patch from opensuse: https://build.opensuse.org/projects/openSUSE:Leap:15.6:Update/packages/libcuefile/files/mathmeaning.patch +clang-22 error: +chained comparison 'X < Y <= Z' does not behave the same as a mathematical expression +--- a/src/cd.c ++++ b/src/cd.c +@@ -173,7 +173,7 @@ int cd_get_ntrack (Cd *cd) + + Track *cd_get_track (Cd *cd, int i) + { +- if (0 < i <= cd->ntrack) ++ if ((0 < i) && (i <= cd->ntrack)) + return cd->track[i - 1]; + + return NULL; +@@ -306,7 +306,7 @@ int track_get_nindex (Track *track) + + long track_get_index (Track *track, int i) + { +- if (0 <= i < track->nindex) ++ if ((0 <= i) && (i < track->nindex)) + return track->index[i]; + + return -1; diff --git a/media-libs/libcuefile/libcuefile-477-r4.ebuild b/media-libs/libcuefile/libcuefile-477-r4.ebuild new file mode 100644 index 0000000000000..19fed65f4222b --- /dev/null +++ b/media-libs/libcuefile/libcuefile-477-r4.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +# svn export http://svn.musepack.net/libcuefile/trunk libcuefile-${PV} +# tar -cJf libcuefile-${PV}.tar.xz libcuefile-${PV} + +DESCRIPTION="Cue File library from Musepack" +HOMEPAGE="https://www.musepack.net/" +SRC_URI="https://dev.gentoo.org/~ssuominen/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +PATCHES=( + "${FILESDIR}"/${PN}-static-libs.patch + "${FILESDIR}"/${PN}-477-clang16.patch + "${FILESDIR}"/${PN}-477-mathmeaning.patch + "${FILESDIR}"/${PN}-477-cmake4.patch +) + +src_install() { + cmake_src_install + + insinto /usr/include + doins -r include/cuetools +}