1{ stdenv, lib, fetchFromGitHub, pkgconfig, openssl, makeWrapper, python, coreutils }:
2
3stdenv.mkDerivation rec {
4 name = "cipherscan-${version}";
5 version = "2016-08-16";
6
7 src = fetchFromGitHub {
8 owner = "mozilla";
9 repo = "cipherscan";
10 rev = "74dd82e8ad994a140daf79489d3bd1c5ad928d38";
11 sha256 = "16azhlmairnvdz7xmwgvfpn2pzw1p8z7c9b27m07fngqjkpx0mhh";
12 };
13
14 nativeBuildInputs = [ makeWrapper ];
15 buildInputs = [ python ];
16
17 buildPhase = ''
18 substituteInPlace cipherscan --replace '$0' 'cipherscan'
19 '';
20
21 installPhase = ''
22 mkdir -p $out/bin
23
24 cp cipherscan $out/bin
25 cp openssl.cnf $out/bin
26 cp analyze.py $out/bin/cipherscan-analyze
27
28 wrapProgram $out/bin/cipherscan \
29 --set NOAUTODETECT 1 \
30 --set TIMEOUTBIN "${coreutils}/bin/timeout" \
31 --set OPENSSLBIN "${openssl}/bin/openssl"
32 '';
33
34 meta = with lib; {
35 inherit (src.meta) homepage;
36 description = "Very simple way to find out which SSL ciphersuites are supported by a target";
37 license = licenses.mpl20;
38 platforms = platforms.all;
39 maintainers = with maintainers; [ cstrahan fpletz ];
40 };
41}