depot/third_party/nixpkgs/pkgs/by-name/gs/gsoap/package.nix

72 lines
2.1 KiB
Nix

{
lib,
stdenv,
fetchurl,
autoreconfHook,
unzip,
m4,
bison,
flex,
openssl,
zlib,
buildPackages,
}:
let
majorVersion = "2.8";
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in
stdenv.mkDerivation rec {
pname = "gsoap";
version = "${majorVersion}.108";
src = fetchurl {
url = "mirror://sourceforge/project/gsoap2/gsoap-${majorVersion}/gsoap_${version}.zip";
sha256 = "0x58bwlclk7frv03kg8bp0pm7zl784samvbzskrnr7dl5v866nvl";
};
buildInputs = [
openssl
zlib
];
nativeBuildInputs = [
autoreconfHook
bison
flex
m4
unzip
];
# Parallel building doesn't work as of 2.8.49
enableParallelBuilding = false;
# Future versions of automake require subdir-objects if the source is structured this way
# As of 2.8.49 (maybe earlier) this is needed to silence warnings
prePatch = ''
substituteInPlace configure.ac \
--replace 'AM_INIT_AUTOMAKE([foreign])' 'AM_INIT_AUTOMAKE([foreign subdir-objects])'
${lib.optionalString isCross ''
substituteInPlace gsoap/wsdl/Makefile.am \
--replace-fail 'SOAP=$(top_builddir)/gsoap/src/soapcpp2$(EXEEXT)' 'SOAP=${lib.getExe' buildPackages.gsoap "soapcpp2"}'
''}
'';
meta = with lib; {
description = "C/C++ toolkit for SOAP web services and XML-based applications";
homepage = "http://www.cs.fsu.edu/~engelen/soap.html";
# gsoap is dual/triple licensed (see homepage for details):
# 1. gSOAP Public License 1.3 (based on Mozilla Public License 1.1).
# Components NOT covered by the gSOAP Public License are:
# - wsdl2h tool and its source code output,
# - soapcpp2 tool and its source code output,
# - UDDI code,
# - the webserver example code in gsoap/samples/webserver,
# - and several example applications in the gsoap/samples directory.
# 2. GPLv2 covers all of the software
# 3. Proprietary commercial software development license (removes GPL
# restrictions)
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ bjornfor ];
};
}