diff --git a/srcpkgs/dolphin/patches/0001-Fix-musl-build-by-using-fts-from-external-library.patch b/srcpkgs/dolphin/patches/0001-Fix-musl-build-by-using-fts-from-external-library.patch new file mode 100644 index 00000000000..339f573c42b --- /dev/null +++ b/srcpkgs/dolphin/patches/0001-Fix-musl-build-by-using-fts-from-external-library.patch @@ -0,0 +1,61 @@ +From 32a5f1c041d00cdd0246cf7e764a447588f30f3a Mon Sep 17 00:00:00 2001 +From: Bart Ribbers +Date: Wed, 9 Aug 2023 14:07:46 +0200 +Subject: [PATCH] Fix musl build by using fts_* from external library + +musl does not support fts. There is however a standalone package that +can be used, but it must be linked against. This commit adds a check +that makes sure to link to the external library if it is required. +--- + CMakeLists.txt | 17 +++++++++++++++++ + src/CMakeLists.txt | 2 ++ + 2 files changed, 19 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8a0b97c635..0a655babb3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,8 @@ include(GenerateExportHeader) + include(FeatureSummary) + include(ECMQtDeclareLoggingCategory) + include(ECMDeprecationSettings) ++include(CheckIncludeFiles) ++include(CheckLibraryExists) + + ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHIN + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h" +@@ -150,6 +152,21 @@ else() + set(HAVE_TERMINAL TRUE) + endif() + ++# Compatibility with platforms without native fts (e.g. musl) ++check_include_files("sys/types.h;sys/stat.h;fts.h" HAVE_FTS_H) ++if(HAVE_FTS_H) ++ check_function_exists(fts_open HAVE_FTS_OPEN) ++ if(NOT HAVE_FTS_OPEN) ++ check_library_exists(fts fts_open "" HAVE_LIB_FTS) ++ endif() ++endif() ++ ++if(HAVE_LIB_FTS) ++ set(FTS_LIB fts) ++else() ++ set(FTS_LIB "") ++endif() ++ + add_subdirectory(src) + add_subdirectory(doc) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 62c70ba79..b8cda5c82 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -210,6 +210,8 @@ target_link_libraries( + KF5::WindowSystem + KF5::WidgetsAddons + KF5::Codecs ++ ++ ${FTS_LIB} + ) + + if(HAVE_BALOO) diff --git a/srcpkgs/dolphin/template b/srcpkgs/dolphin/template index 02d3be5840e..3d76c113071 100644 --- a/srcpkgs/dolphin/template +++ b/srcpkgs/dolphin/template @@ -1,6 +1,6 @@ # Template file for 'dolphin' pkgname=dolphin -version=23.04.0 +version=23.08.0 revision=1 build_style=cmake configure_args="-DBUILD_TESTING=OFF" @@ -15,8 +15,12 @@ license="GPL-2.0-or-later, GFDL-1.2-or-later" homepage="https://kde.org/applications/en/system/org.kde.dolphin" changelog="https://kde.org/announcements/changelogs/gear/${version}/#dolphin" distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz" -checksum=cd49268a3b0309253587d424fbdffe25b26c951df7e6932a42f48cf34b006c50 +checksum=4ab0f3ee83c0c62f7346031780d46a57d4002f6585c2de3fadfa6708e4ff59de if [ "$CROSS_BUILD" ]; then LDFLAGS=" -Wl,-rpath-link,../bin" fi + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + makedepends+=" musl-fts-devel" +fi