forked from mirrors/nixpkgs
689a50f3a2
WeeChat also supports Python3 for scripts which should be preferred as CPython2 is about to get EOLed soon: https://weechat.org/scripts/python3/
65 lines
1.8 KiB
Nix
65 lines
1.8 KiB
Nix
{ stdenv, substituteAll, buildEnv, fetchgit, fetchFromGitHub, python3Packages, gmp }:
|
|
|
|
let
|
|
# pure-python-otr (potr) requires an older version of pycrypto, which is
|
|
# not compatible with pycryptodome. Therefore, the latest patched version
|
|
# of pycrypto will be fetched from the Debian project.
|
|
# https://security-tracker.debian.org/tracker/source-package/python-crypto
|
|
|
|
pycrypto = python3Packages.buildPythonPackage rec {
|
|
pname = "pycrypto";
|
|
version = "2.6.1-10";
|
|
|
|
src = fetchgit {
|
|
url = "https://salsa.debian.org/sramacher/python-crypto.git";
|
|
rev = "debian/${version}";
|
|
sha256 = "10rgq8bmjfpiqqa1g1p1hh7pxlxs7x0nawvk6zip0pd6x2vsr661";
|
|
};
|
|
|
|
buildInputs = [ gmp ];
|
|
|
|
preConfigure = ''
|
|
sed -i 's,/usr/include,/no-such-dir,' configure
|
|
sed -i "s!,'/usr/include/'!!" setup.py
|
|
'';
|
|
};
|
|
|
|
potr = python3Packages.potr.overridePythonAttrs (oldAttrs: {
|
|
propagatedBuildInputs = [ pycrypto ];
|
|
});
|
|
in stdenv.mkDerivation rec {
|
|
pname = "weechat-otr";
|
|
version = "1.9.2";
|
|
|
|
src = fetchFromGitHub {
|
|
repo = pname;
|
|
owner = "mmb";
|
|
rev = "v${version}";
|
|
sha256 = "1lngv98y6883vk8z2628cl4d5y8jxy39w8245gjdvshl8g18k5s2";
|
|
};
|
|
|
|
patches = [
|
|
(substituteAll {
|
|
src = ./libpath.patch;
|
|
env = "${buildEnv {
|
|
name = "weechat-otr-env";
|
|
paths = [ potr pycrypto ];
|
|
}}/${python3Packages.python.sitePackages}";
|
|
})
|
|
];
|
|
|
|
passthru.scripts = [ "weechat_otr.py" ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/share
|
|
cp weechat_otr.py $out/share/weechat_otr.py
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "https://github.com/mmb/weechat-otr";
|
|
license = licenses.gpl3;
|
|
maintainers = with maintainers; [ geistesk ];
|
|
description = "WeeChat script for Off-the-Record messaging";
|
|
};
|
|
}
|