From 06a594d9e023a0b431cd224b5bd1c149e58713f7 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sun, 29 Dec 2019 19:34:01 +0000 Subject: user/kio-extras: Bump to 19.12.0, fix NFS support (thanks @smaeul) --- user/kio-extras/APKBUILD | 21 ++--- user/kio-extras/D17205-nfs-tirpc.patch | 143 +++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 10 deletions(-) create mode 100644 user/kio-extras/D17205-nfs-tirpc.patch (limited to 'user') diff --git a/user/kio-extras/APKBUILD b/user/kio-extras/APKBUILD index c95ecc194..724c374d6 100644 --- a/user/kio-extras/APKBUILD +++ b/user/kio-extras/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox # Maintainer: A. Wilcox pkgname=kio-extras -pkgver=19.08.2 +pkgver=19.12.0 pkgrel=0 pkgdesc="KIO plugins for various data tasks" url="https://www.kde.org/" @@ -13,13 +13,15 @@ depends_dev="qt5-qtbase-dev qt5-qtsvg-dev karchive-dev kconfig-dev kio-dev kconfigwidgets-dev kcoreaddons-dev kdbusaddons-dev kdoctools-dev kiconthemes-dev ki18n-dev solid-dev kbookmarks-dev kguiaddons-dev kdnssd-dev kpty-dev kactivities-dev phonon-dev libtirpc-dev - taglib-dev libmtp-dev gperf khtml-dev syntax-highlighting-dev" + taglib-dev libmtp-dev gperf khtml-dev syntax-highlighting-dev + kactivities-stats-dev" makedepends="$depends_dev cmake extra-cmake-modules shared-mime-info" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.kde.org/stable/applications/$pkgver/src/kio-extras-$pkgver.tar.xz" +source="https://download.kde.org/stable/release-service/$pkgver/src/kio-extras-$pkgver.tar.xz + D17205-nfs-tirpc.patch + " build() { - cd "$builddir" if [ "$CBUILD" != "$CHOST" ]; then CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" fi @@ -28,20 +30,19 @@ build() { -DCMAKE_INSTALL_LIBDIR=lib \ -DBUILD_SHARED_LIBS=True \ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - ${CMAKE_CROSSOPTS} + -DCMAKE_CXX_FLAGS="$CXXFLAGS -I/usr/include/tirpc" \ + -DCMAKE_C_FLAGS="$CFLAGS -I/usr/include/tirpc" \ + ${CMAKE_CROSSOPTS} . make } check() { - cd "$builddir" CTEST_OUTPUT_ON_FAILURE=TRUE ctest } package() { - cd "$builddir" make DESTDIR="$pkgdir" install } -sha512sums="a7a7e9c0ef5e9539b810484027ef7febf81487ea258d5e2e857b2cfa1d59ba1fed52245a0f18fabf9c79c67b3ec3825e32ee1415b818a0ef942067d9516f39fc kio-extras-19.08.2.tar.xz" +sha512sums="0aeb0186da8f4d24ba9020d49f9204ec3fdf3a20aa42a0e6fcc769ae99cba36b3e63d02d56cfd105c66f009f08274fc117219c0296749cf95aad52e4fb7e17eb kio-extras-19.12.0.tar.xz +dbc58b5d8a7783d5697a24fe6232f0aa3d6222cf15eeb8ce94f0ea99c81dce067ab1ef20261f77107cc9f75ecae506458a828a5ad3437b589ca00b93ad52b1e2 D17205-nfs-tirpc.patch" diff --git a/user/kio-extras/D17205-nfs-tirpc.patch b/user/kio-extras/D17205-nfs-tirpc.patch new file mode 100644 index 000000000..b12c0a2c5 --- /dev/null +++ b/user/kio-extras/D17205-nfs-tirpc.patch @@ -0,0 +1,143 @@ +Subject: Build kio_nfs against standalone libtirpc +From: asturmlechner +Date: Wed 28 Nov 07:41:00 UTC 2018 + +Summary + +Since glibc-2.26, cmake skipped over nfs when standalone tirpc +was installed in tirpc subdir (as done by Debian, Fedora, Arch, Gentoo...) + +Use FindTIRPC and make kio_nfs optional that way +FindTIRPC taken from https://phabricator.kde.org/D12761 + +Test Plan + +Built with libtirpc successfully. + +https://phabricator.kde.org/D17205 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -132,6 +132,11 @@ + set_package_properties(KF5KHtml PROPERTIES TYPE OPTIONAL + PURPOSE "Needed to build the man kioslave" + ) ++ ++ find_package(TIRPC) ++ set_package_properties(TIRPC PROPERTIES TYPE OPTIONAL ++ PURPOSE "Needed to build the NFS kioslave" ++ ) + else() + # FIXME: on windows we ignore support until trash gets integrated + endif() +@@ -174,9 +179,7 @@ + if(Gperf_FOUND AND KF5KHtml_FOUND) + add_subdirectory( man ) + endif() +- check_include_files(rpc/rpc.h HAVE_RPC_RPC_H) +- add_feature_info("NFS kioslave" HAVE_RPC_RPC_H "The RPC library is needed to build the NFS kioslave") +- if(HAVE_RPC_RPC_H) ++ if(TIRPC_FOUND) + add_subdirectory( nfs ) + endif() + endif() +diff --git a/cmake/FindTIRPC.cmake b/cmake/FindTIRPC.cmake +new file mode 100644 +--- /dev/null ++++ b/cmake/FindTIRPC.cmake +@@ -0,0 +1,60 @@ ++# - Try to find TI-RPC ++# ++# The following variables will be available once found : ++# ++# TIRPC_INCLUDE_DIRS - The TI-RPC headers location ++# TIRPC_LIBRARIES - Link these to use TI-RPC ++# TIRPC_VERSION - The TIRPC version ++# ++#============================================================================= ++# Copyright (c) 2017 Christophe Giboudeaux ++# ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# ++# 1. Redistributions of source code must retain the copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# 3. The name of the author may not be used to endorse or promote products ++# derived from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++#============================================================================= ++ ++find_package(PkgConfig QUIET) ++pkg_check_modules(PC_TIRPC libtirpc) ++ ++find_path(TIRPC_INCLUDE_DIRS ++ NAMES netconfig.h ++ PATH_SUFFIXES tirpc ++ HINTS ${PC_TIRPC_INCLUDE_DIRS} ++) ++ ++find_library(TIRPC_LIBRARIES ++ NAMES tirpc ++ HINTS ${PC_TIRPC_LIBRARY_DIRS} ++) ++ ++set(TIRPC_VERSION ${PC_TIRPC_VERSION}) ++ ++include(FindPackageHandleStandardArgs) ++ ++find_package_handle_standard_args(TIRPC ++ REQUIRED_VARS TIRPC_LIBRARIES TIRPC_INCLUDE_DIRS ++ VERSION_VAR TIRPC_VERSION ++) ++ ++mark_as_advanced(TIRPC_INCLUDE_DIRS TIRPC_LIBRARIES) +diff --git a/nfs/CMakeLists.txt b/nfs/CMakeLists.txt +--- a/nfs/CMakeLists.txt ++++ b/nfs/CMakeLists.txt +@@ -1,10 +1,12 @@ + ## Check for XDR functions +-include(CheckFunctionExists) ++include(CheckSymbolExists) + +-CHECK_FUNCTION_EXISTS(xdr_u_int64_t HAVE_XDR_U_INT64_T) +-CHECK_FUNCTION_EXISTS(xdr_uint64_t HAVE_XDR_UINT64_T) +-CHECK_FUNCTION_EXISTS(xdr_u_hyper HAVE_XDR_U_HYPER) +-CHECK_FUNCTION_EXISTS(xdr_u_longlong_t HAVE_XDR_U_LONGLONG_T) ++set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${TIRPC_LIBRARIES}) ++set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${TIRPC_INCLUDE_DIRS}) ++check_symbol_exists(xdr_u_int64_t "rpc/xdr.h" HAVE_XDR_U_INT64_T) ++check_symbol_exists(xdr_uint64_t "rpc/xdr.h" HAVE_XDR_UINT64_T) ++check_symbol_exists(xdr_u_hyper "rpc/xdr.h" HAVE_XDR_U_HYPER) ++check_symbol_exists(xdr_u_longlong_t "rpc/xdr.h" HAVE_XDR_U_LONGLONG_T) + + if (NOT HAVE_XDR_U_INT64_T AND NOT HAVE_XDR_UINT64_T AND NOT HAVE_XDR_U_HYPER AND NOT HAVE_XDR_U_LONGLONG_T) + message(FATAL_ERROR "Could not find 64-bit XDR datatype functions!") +@@ -24,9 +26,10 @@ + endif (HAVE_XDR_U_LONGLONG_T) + + add_definitions(-DTRANSLATION_DOMAIN=\"kio5_nfs\") ++include_directories(${TIRPC_INCLUDE_DIRS}) + + add_library(kio_nfs MODULE kio_nfs.cpp nfsv2.cpp nfsv3.cpp rpc_nfs3_prot_xdr.c rpc_nfs2_prot_xdr.c) +-target_link_libraries(kio_nfs KF5::KIOCore KF5::I18n Qt5::Network) ++target_link_libraries(kio_nfs KF5::KIOCore KF5::I18n Qt5::Network ${TIRPC_LIBRARIES}) + set_target_properties(kio_nfs PROPERTIES OUTPUT_NAME "nfs") + + install(TARGETS kio_nfs DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kio) + -- cgit v1.2.3-60-g2f50