summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/kio-extras/APKBUILD21
-rw-r--r--user/kio-extras/D17205-nfs-tirpc.patch143
2 files changed, 154 insertions, 10 deletions
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 <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
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 <christophe@krop.fr>
++#
++#
++# 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)
+