0ca93ef0e6
Pull in _FORTIFY_SOURCE=3 stack smashing fix. Without the change on current `master` `rtorrent` crashes at start as: *** buffer overflow detected ***: terminated __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 pthread_kill.c: No such file or directory. (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007ffff7880af3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007ffff7831c86 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff781b8ba in __GI_abort () at abort.c:79 #4 0x00007ffff781c5f5 in __libc_message (fmt=fmt@entry=0x7ffff7992540 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150 #5 0x00007ffff7910679 in __GI___fortify_fail (msg=msg@entry=0x7ffff79924e6 "buffer overflow detected") at fortify_fail.c:24 #6 0x00007ffff790eea4 in __GI___chk_fail () at chk_fail.c:28 #7 0x00007ffff790ea85 in ___snprintf_chk (s=<optimized out>, maxlen=<optimized out>, flag=<optimized out>, slen=<optimized out>, format=<optimized out>) at snprintf_chk.c:29 #8 0x0000000000472acf in utils::Lockfile::try_lock() () #9 0x000000000044b524 in core::DownloadStore::enable(bool) () #10 0x00000000004b1f7b in Control::initialize() () #11 0x000000000043000b in main ()
73 lines
1.4 KiB
Nix
73 lines
1.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, fetchFromGitHub
|
|
, autoreconfHook
|
|
, autoconf-archive
|
|
, cppunit
|
|
, curl
|
|
, libsigcxx
|
|
, libtool
|
|
, libtorrent
|
|
, ncurses
|
|
, openssl
|
|
, pkg-config
|
|
, xmlrpc_c
|
|
, zlib
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "rakshasa-rtorrent";
|
|
version = "0.9.8+date=2022-06-20";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "rakshasa";
|
|
repo = "rtorrent";
|
|
rev = "92bec88d0904bfb31c808085c2fd0f22d0ec8db7";
|
|
hash = "sha256-er7UdIb+flhq0ye76UmomgfHV2ZSBROpXmfrNDHwTWw=";
|
|
};
|
|
|
|
passthru = {
|
|
inherit libtorrent;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
autoconf-archive
|
|
autoreconfHook
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [
|
|
cppunit
|
|
curl
|
|
libsigcxx
|
|
libtool
|
|
libtorrent
|
|
ncurses
|
|
openssl
|
|
xmlrpc_c
|
|
zlib
|
|
];
|
|
|
|
configureFlags = [
|
|
"--with-xmlrpc-c"
|
|
"--with-posix-fallocate"
|
|
];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/share/man/man1 $out/share/doc/rtorrent
|
|
mv doc/old/rtorrent.1 $out/share/man/man1/rtorrent.1
|
|
mv doc/rtorrent.rc $out/share/doc/rtorrent/rtorrent.rc
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://rakshasa.github.io/rtorrent/";
|
|
description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach";
|
|
license = licenses.gpl2Plus;
|
|
maintainers = with maintainers; [ ebzzry codyopel ];
|
|
platforms = platforms.unix;
|
|
mainProgram = "rtorrent";
|
|
};
|
|
}
|