1{
2 lib,
3 stdenv,
4 fetchurl,
5 openssl,
6}:
7
8stdenv.mkDerivation rec {
9 pname = "wraith";
10 version = "1.4.10";
11 src = fetchurl {
12 url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz";
13 sha256 = "1h8159g6wh1hi69cnhqkgwwwa95fa6z1zrzjl219mynbf6vjjzkw";
14 };
15 hardeningDisable = [ "format" ];
16 buildInputs = [ openssl ];
17 patches = [
18 ./configure.patch
19 ./dlopen.patch
20 ];
21 postPatch = ''
22 substituteInPlace configure --subst-var-by openssl.dev ${openssl.dev} \
23 --subst-var-by openssl-lib ${lib.getLib openssl}
24 substituteInPlace src/libssl.cc --subst-var-by openssl ${lib.getLib openssl}
25 substituteInPlace src/libcrypto.cc --subst-var-by openssl ${lib.getLib openssl}
26 '';
27 installPhase = ''
28 mkdir -p $out/bin
29 cp -a wraith $out/bin/wraith
30 ln -s wraith $out/bin/hub
31 '';
32
33 meta = with lib; {
34 broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
35 description = "IRC channel management bot written purely in C/C++";
36 longDescription = ''
37 Wraith is an IRC channel management bot written purely in C/C++. It has
38 been in development since late 2003. It is based on Eggdrop 1.6.12 but has
39 since evolved into something much different at its core. TCL and loadable
40 modules are currently not supported.
41
42 Maintainer's Notes:
43 Copy the binary out of the store before running it with the -C option to
44 configure it. See https://github.com/wraith/wraith/wiki/GettingStarted .
45
46 The binary will not run when moved onto non-NixOS systems; use patchelf
47 to fix its runtime dependenices.
48 '';
49 homepage = "https://wraith.botpack.net/";
50 license = licenses.gpl2Plus;
51 maintainers = with maintainers; [ elitak ];
52 platforms = platforms.linux;
53 };
54}