2023-11-11 14:40:32 +00:00
|
|
|
{ stdenv
|
2021-08-07 20:49:29 +00:00
|
|
|
, lib
|
|
|
|
, fetchurl
|
2020-07-13 17:38:02 +00:00
|
|
|
, cmake
|
|
|
|
, qtbase
|
2023-11-11 14:40:32 +00:00
|
|
|
, wrapQtAppsHook
|
2020-07-13 17:38:02 +00:00
|
|
|
}:
|
|
|
|
|
2023-11-11 14:40:32 +00:00
|
|
|
let
|
|
|
|
isQt6 = lib.versions.major qtbase.version == "6";
|
|
|
|
cmakeName = if isQt6 then "KDSoap-qt6" else "KDSoap";
|
|
|
|
in stdenv.mkDerivation rec {
|
2020-07-13 17:38:02 +00:00
|
|
|
pname = "kdsoap";
|
2024-01-11 05:05:10 +00:00
|
|
|
version = "2.2.0";
|
2020-07-13 17:38:02 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "https://github.com/KDAB/KDSoap/releases/download/kdsoap-${version}/kdsoap-${version}.tar.gz";
|
2024-01-11 05:05:10 +00:00
|
|
|
sha256 = "sha256-2e8RlIRCGXyfpEvW+63IQrcoCmDfxAV3r2b97WN681Y=";
|
2020-07-13 17:38:02 +00:00
|
|
|
};
|
2021-08-07 20:49:29 +00:00
|
|
|
|
2020-07-13 17:38:02 +00:00
|
|
|
outputs = [ "out" "dev" ];
|
2021-08-07 20:49:29 +00:00
|
|
|
|
2023-11-11 14:40:32 +00:00
|
|
|
nativeBuildInputs = [ cmake wrapQtAppsHook ];
|
2021-08-07 20:49:29 +00:00
|
|
|
|
2020-07-13 17:38:02 +00:00
|
|
|
buildInputs = [ qtbase ];
|
2021-08-07 20:49:29 +00:00
|
|
|
|
2023-11-11 14:40:32 +00:00
|
|
|
cmakeFlags = [ (lib.cmakeBool "KDSoap_QT6" isQt6) ];
|
|
|
|
|
2020-07-13 17:38:02 +00:00
|
|
|
postInstall = ''
|
2023-11-11 14:40:32 +00:00
|
|
|
moveToOutput bin/kdwsdl2cpp* "$dev"
|
2024-01-22 08:20:40 +00:00
|
|
|
substituteInPlace "$out/lib/cmake/${cmakeName}/KDSoapTargets-release.cmake" \
|
|
|
|
--replace $out/bin $dev/bin
|
2020-07-13 17:38:02 +00:00
|
|
|
'';
|
2021-08-07 20:49:29 +00:00
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Qt-based client-side and server-side SOAP component";
|
|
|
|
longDescription = ''
|
|
|
|
KD Soap is a Qt-based client-side and server-side SOAP component.
|
|
|
|
|
|
|
|
It can be used to create client applications for web services and also
|
|
|
|
provides the means to create web services without the need for any further
|
|
|
|
component such as a dedicated web server.
|
|
|
|
'';
|
|
|
|
license = with licenses; [ gpl2 gpl3 lgpl21 ];
|
|
|
|
maintainers = [ maintainers.ttuegel ];
|
|
|
|
};
|
2020-07-13 17:38:02 +00:00
|
|
|
}
|