forked from mirrors/nixpkgs
commit
7da3bba260
46
pkgs/applications/networking/irc/wraith/default.nix
Normal file
46
pkgs/applications/networking/irc/wraith/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ stdenv, fetchurl, openssl }:
|
||||
|
||||
with stdenv;
|
||||
with stdenv.lib;
|
||||
|
||||
mkDerivation rec {
|
||||
name = "wraith-${version}";
|
||||
version = "1.4.6";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz";
|
||||
sha256 = "0vb2hbjmwh040f5yhxvwcfxvgxa0q9zdy9vvddydn8zn782d7wl8";
|
||||
};
|
||||
buildInputs = [ openssl ];
|
||||
patches = [ ./dlopen.patch ];
|
||||
postPatch = ''
|
||||
substituteInPlace src/libssl.cc --subst-var-by openssl ${openssl}
|
||||
substituteInPlace src/libcrypto.cc --subst-var-by openssl ${openssl}
|
||||
'';
|
||||
configureFlags = "--with-openssl=${openssl}";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -a wraith $out/bin/wraith
|
||||
ln -s wraith $out/bin/hub
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "An IRC channel management bot written purely in C/C++";
|
||||
longDescription = ''
|
||||
Wraith is an IRC channel management bot written purely in C/C++. It has
|
||||
been in development since late 2003. It is based on Eggdrop 1.6.12 but has
|
||||
since evolved into something much different at its core. TCL and loadable
|
||||
modules are currently not supported.
|
||||
|
||||
Maintainer's Notes:
|
||||
Copy the binary out of the store before running it with the -C option to
|
||||
configure it. See https://github.com/wraith/wraith/wiki/GettingStarted .
|
||||
|
||||
The binary will not run when moved onto non-NixOS systems; use patchelf
|
||||
to fix its runtime dependenices.
|
||||
'';
|
||||
homepage = http://wraith.botpack.net/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ elitak ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
48
pkgs/applications/networking/irc/wraith/dlopen.patch
Normal file
48
pkgs/applications/networking/irc/wraith/dlopen.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
diff --git a/src/libcrypto.cc b/src/libcrypto.cc
|
||||
index 0339258..68746c8 100644
|
||||
--- a/src/libcrypto.cc
|
||||
+++ b/src/libcrypto.cc
|
||||
@@ -95,17 +95,9 @@ int load_libcrypto() {
|
||||
}
|
||||
|
||||
sdprintf("Loading libcrypto");
|
||||
+ dlerror(); // Clear Errors
|
||||
+ libcrypto_handle = dlopen("@openssl@/lib/libcrypto.so", RTLD_LAZY|RTLD_GLOBAL);
|
||||
|
||||
- bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.0.9.8 libcrypto.so.7 libcrypto.so.6").split(' '));
|
||||
-
|
||||
- for (size_t i = 0; i < libs_list.length(); ++i) {
|
||||
- dlerror(); // Clear Errors
|
||||
- libcrypto_handle = dlopen(bd::String(libs_list[i]).c_str(), RTLD_LAZY|RTLD_GLOBAL);
|
||||
- if (libcrypto_handle) {
|
||||
- sdprintf("Found libcrypto: %s", bd::String(libs_list[i]).c_str());
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
if (!libcrypto_handle) {
|
||||
fprintf(stderr, STR("Unable to find libcrypto\n"));
|
||||
return(1);
|
||||
diff --git a/src/libssl.cc b/src/libssl.cc
|
||||
index b432c7b..8940998 100644
|
||||
--- a/src/libssl.cc
|
||||
+++ b/src/libssl.cc
|
||||
@@ -68,17 +68,9 @@ int load_libssl() {
|
||||
}
|
||||
|
||||
sdprintf("Loading libssl");
|
||||
+ dlerror(); // Clear Errors
|
||||
+ libssl_handle = dlopen("@openssl@/lib/libssl.so", RTLD_LAZY);
|
||||
|
||||
- bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.0.9.8 libssl.so.7 libssl.so.6").split(' '));
|
||||
-
|
||||
- for (size_t i = 0; i < libs_list.length(); ++i) {
|
||||
- dlerror(); // Clear Errors
|
||||
- libssl_handle = dlopen(bd::String(libs_list[i]).c_str(), RTLD_LAZY);
|
||||
- if (libssl_handle) {
|
||||
- sdprintf("Found libssl: %s", bd::String(libs_list[i]).c_str());
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
if (!libssl_handle) {
|
||||
fprintf(stderr, STR("Unable to find libssl\n"));
|
||||
return(1);
|
|
@ -16396,6 +16396,8 @@ in
|
|||
|
||||
wmutils-core = callPackage ../tools/X11/wmutils-core { };
|
||||
|
||||
wraith = callPackage ../applications/networking/irc/wraith { };
|
||||
|
||||
wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };
|
||||
|
||||
x2x = callPackage ../tools/X11/x2x { };
|
||||
|
|
Loading…
Reference in a new issue