Thu Oct 6 08:41:04 2022 UTC ()
gerbera: fix build on systems that use const in second argument to iconv
(nros)
diff -r1.2 -r1.3 pkgsrc/multimedia/gerbera/distinfo
diff -r0 -r1.1 pkgsrc/multimedia/gerbera/patches/patch-CMakeLists.txt
diff -r0 -r1.3 pkgsrc/multimedia/gerbera/patches/patch-src_util_string__converter.cc
--- pkgsrc/multimedia/gerbera/distinfo 2022/07/11 11:49:48 1.2
+++ pkgsrc/multimedia/gerbera/distinfo 2022/10/06 08:41:03 1.3
$NetBSD: patch-CMakeLists.txt,v 1.1 2022/10/06 08:41:03 nros Exp $
* fix build on systems that have const in second argument to iconv
--- CMakeLists.txt.orig 2022-05-03 17:39:25.000000000 +0000
+++ CMakeLists.txt
@@ -326,6 +326,16 @@ target_link_libraries(libgerbera PUBLIC
find_package(Iconv REQUIRED)
target_link_libraries(libgerbera PUBLIC Iconv::Iconv)
+include(CheckPrototypeDefinition)
+set(CMAKE_REQUIRED_LIBRARIES Iconv::Iconv)
+check_prototype_definition(iconv
+ "size_t iconv(iconv_t cd, const char ** src, size_t * srcl, char ** dst, size_t * dstl)"
+ 0 "iconv.h" ICONV_CONST)
+if(ICONV_CONST)
+ target_compile_definitions(libgerbera PRIVATE ICONV_CONST)
+endif()
+unset(CMAKE_REQUIRED_LIBRARIES)
+
find_package(UUID REQUIRED)
target_link_libraries(libgerbera PUBLIC UUID::UUID)
$NetBSD: patch-src_util_string__converter.cc,v 1.3 2022/10/06 08:41:03 nros Exp $
* fix build on systems that have const in second argument to iconv
--- src/util/string_converter.cc.orig 2022-10-06 08:09:22.564707578 +0000
+++ src/util/string_converter.cc
@@ -122,8 +122,8 @@ std::string StringConverter::_convert(co
// log_debug(("iconv: BEFORE: input bytes left: {} output bytes left: {}",
// input_bytes, output_bytes));
#if defined(ICONV_CONST) || defined(SOLARIS)
- int ret = iconv(cd, inputPtr, &input_bytes,
- output_ptr, &output_bytes);
+ int ret = iconv(cd, inputPtr, &inputBytes,
+ outputPtr, &outputBytes);
#else
int ret = iconv(cd, const_cast<char**>(inputPtr), &inputBytes,
outputPtr, &outputBytes);