nixpkgs/pkgs/development/libraries/swiften/default.nix
eta 557644a125 swiften: unbreak package using Arch patch and scons flags
The `swiften` XMPP library was broken as of 2019. This commit
fixes it, by copying a patch from the Arch Linux PKGBUILD
(https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/swift)
and by using the same scons flags in that PKGBUILD.
Additionally, we use the SWIFTEN_INSTALLDIR env variable to actually
put something in the output.

Of note is the flag swiften_dll=1, which means that the library
is now built dynamically.
2020-06-16 17:07:12 +01:00

42 lines
1.1 KiB
Nix

{ stdenv, python, fetchurl, openssl, boost, scons }:
stdenv.mkDerivation rec {
pname = "swiften";
version = "4.0.2";
nativeBuildInputs = [ scons.py2 ];
buildInputs = [ python ];
propagatedBuildInputs = [ openssl boost ];
src = fetchurl {
url = "https://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
sha256 = "0w0aiszjd58ynxpacwcgf052zpmbpcym4dhci64vbfgch6wryz0w";
};
patches = [ ./scons.patch ./build-fix.patch ];
sconsFlags = [
"openssl=${openssl.dev}"
"boost_includedir=${boost.dev}/include"
"boost_libdir=${boost.out}/lib"
"boost_bundled_enable=false"
"max_jobs=1"
"optimize=1"
"debug=0"
"swiften_dll=1"
];
preInstall = ''
installTargets="$out"
installFlags+=" SWIFTEN_INSTALLDIR=$out"
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "An XMPP library for C++, used by the Swift client";
homepage = "http://swift.im/swiften.html";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.twey ];
};
}