My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/applications/networking/p2p/twister/default.nix

70 lines
1.7 KiB

{ lib, stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pkg-config, python2
, boost, db, openssl, geoip, libiconv, miniupnpc, srcOnly
}:
let
twisterHTML = srcOnly {
name = "twister-html";
src = fetchFromGitHub {
owner = "miguelfreitas";
repo = "twister-html";
rev = "01e7f7ca9b7e42ed90f91bc42da2c909ca5c0b9b";
sha256 = "sha256-Hi/VAEwujWhKAPaYIuvrxRIuPQa9AYwXiHUGbWxckmk=";
};
};
boostPython = boost.override {
enablePython = true;
python = python2;
};
in stdenv.mkDerivation rec {
pname = "twister";
version = "2019-08-19";
src = fetchFromGitHub {
owner = "miguelfreitas";
repo = "twister-core";
rev = "31faf3f63e461ea0a9b23081567a4a552cf06873";
sha256 = "0xh1lgnl9nd86jr0mp7m8bkd7r5j4d6chd0y73h2xv4aq5sld0sp";
};
configureFlags = [
"--with-libgeoip"
"--with-libiconv"
"--disable-deprecated-functions"
"--enable-tests"
"--enable-python-binding"
"--with-boost-libdir=${boostPython.out}/lib"
];
nativeBuildInputs = [ pkg-config automake autoconf ];
buildInputs = [
libtool python2
boostPython db openssl geoip miniupnpc libiconv
];
postPatch = ''
sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \
src/init.cpp
sed -i -e '/GetDataDir.*html/s|path *= *[^;]*|path = "${twisterHTML}"|' \
src/util.cpp
'';
preConfigure = ''
sh autotool.sh
'';
installPhase = ''
install -vD twisterd "$out/bin/twisterd"
'';
enableParallelBuilding = true;
meta = {
homepage = "http://www.twister.net.co/";
description = "Peer-to-peer microblogging";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
};
}