URI: 
       tnet-libs/rb_libtorren;net-p2p/ctorrent;x11-terms/cool-retro-term: Remove. - parlay - yet another gentoo overlay
  HTML git clone https://git.parazyd.org/parlay
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit 4ef8667993fe1abb761ee55573a4292c475d1a85
   DIR parent 0a8d8e186750173e4ec67293df39e801549e46d4
  HTML Author: parazyd <parazyd@dyne.org>
       Date:   Thu,  4 Aug 2016 20:14:11 +0200
       
       net-libs/rb_libtorren;net-p2p/ctorrent;x11-terms/cool-retro-term: Remove.
       
       Diffstat:
         M README.md                           |       6 ++++--
         D net-libs/rb_libtorrent/Manifest     |       2 --
         D net-libs/rb_libtorrent/rb_libtorre… |      82 -------------------------------
         D net-libs/rb_libtorrent/rb_libtorre… |     106 ------------------------------
         D net-p2p/ctorrent/Manifest           |       1 -
         D net-p2p/ctorrent/ctorrent-3.3.2-r3… |      33 -------------------------------
         D net-p2p/ctorrent/files/ctorrent-3.… |      38 -------------------------------
         D net-p2p/ctorrent/files/ctorrent-3.… |      17 -----------------
         D net-p2p/ctorrent/files/ctorrent-CV… |     364 -------------------------------
         D x11-terms/cool-retro-term/cool-ret… |      37 -------------------------------
       
       10 files changed, 4 insertions(+), 682 deletions(-)
       ---
   DIR diff --git a/README.md b/README.md
       t@@ -4,14 +4,16 @@ Yet another Gentoo overlay
        * app-crypt
                * steghide
                * tomb
       +* app-laptop
       +        * tp_smapi
       +* app-misc
       +        * tbt
        * mail-client
                * mutt-kz
        * media-video
                * simplescreenrecorder
        * net-analyzer
                * ettercap
       -* net-libs
       -        * rb_libtorrent
        * net-wireless
                * aircrack-ng
                * pixiewps
   DIR diff --git a/net-libs/rb_libtorrent/Manifest b/net-libs/rb_libtorrent/Manifest
       t@@ -1,2 +0,0 @@
       -DIST libtorrent-rasterbar-0.16.17.tar.gz 3018881 SHA256 67a1d29c626d991d6e39c2f9828ca70c4053d057070ce01fff9b4ad37e64aff0 SHA512 532b2438e24c3ecad239480a1bd6241a0d73d40f8d5bdcf61ddfcee1a41f1644c9004d4f234968efd50158224219b78852ec936a05b75b15f3442b594460cdd6 WHIRLPOOL 755e201741ed77cf91cb0976cbaa83c645647341d2cfe40564552599f2792ba76bd02e82a94669d80b199f1a1d6290824686d2bb52d6b0da8663d2274176f3eb
       -DIST rb_libtorrent-1.0.9.tar.gz 2977503 SHA256 f4eadcbc779edc590d0162b0188c1b179d2cc72519c3756989ef925e376ddecd SHA512 0980ebb5567310ad6f235899770cfc7a23ef754f5a8513e1baa8bbec139ff26006a6b47a1cca62e45da496b901c6646eee3dd76ab4bb5410ce3fc119e717c072 WHIRLPOOL 7c6862d9d4fbc27d6de04cba8ac605dbffafcf1b26a3519bc94964727416655450b74cb62928f27fa568dcc163c8a599ca78f080a86171b6e1283d9b794924b8
   DIR diff --git a/net-libs/rb_libtorrent/rb_libtorrent-0.16.17.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-0.16.17.ebuild
       t@@ -1,82 +0,0 @@
       -# Copyright 1999-2015 Gentoo Foundation
       -# Distributed under the terms of the GNU General Public License v2
       -# $Id$
       -
       -EAPI="4"
       -PYTHON_DEPEND="python? 2:2.7"
       -PYTHON_USE_WITH="threads"
       -PYTHON_USE_WITH_OPT="python"
       -
       -inherit multilib python versionator
       -
       -MY_P=${P/rb_/}
       -MY_P=${MY_P/torrent/torrent-rasterbar}
       -S=${WORKDIR}/${MY_P}
       -
       -DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability"
       -HOMEPAGE="http://libtorrent.org"
       -SRC_URI="mirror://sourceforge/libtorrent/${MY_P}.tar.gz"
       -
       -LICENSE="BSD"
       -SLOT="0"
       -KEYWORDS="amd64 arm ppc ppc64 sparc x86 ~x86-fbsd"
       -IUSE="debug doc examples python ssl libressl static-libs test"
       -RESTRICT="test"
       -
       -DEPEND=">=dev-libs/boost-1.48[python?,threads(+)]
       -        >=sys-devel/libtool-2.2
       -        sys-libs/zlib
       -        examples? ( !net-p2p/mldonkey )
       -        ssl? (
       -                !libressl? ( dev-libs/openssl )
       -                libressl? ( dev-libs/libressl )
       -        )"
       -RDEPEND="${DEPEND}"
       -
       -pkg_setup() {
       -        if use python; then
       -                python_set_active_version 2
       -                python_pkg_setup
       -        fi
       -}
       -
       -src_prepare() {
       -        use python && python_convert_shebangs -r 2 .
       -}
       -
       -src_configure() {
       -        local myconf
       -
       -        # bug 441842
       -        myconf="--disable-silent-rules"
       -
       -        # use multi-threading versions of boost libs
       -        if has_version '>=dev-libs/boost-1.52.0-r1'; then
       -                myconf+=" --with-boost-python=boost_python-${PYTHON_ABI}"
       -        else
       -                myconf+=" --with-boost-system=boost_system-mt \
       -                        --with-boost-python=boost_python-${PYTHON_ABI}-mt"
       -        fi
       -
       -        local LOGGING
       -        use debug && myconf+=" --enable-logging=verbose"
       -
       -        econf $(use_enable debug) \
       -                $(use_enable test tests) \
       -                $(use_enable examples) \
       -                $(use_enable python python-binding) \
       -                $(use_enable ssl encryption) \
       -                $(use_enable static-libs static) \
       -                --with-boost-libdir=/usr/$(get_libdir) \
       -                --with-boost-system=boost_system-mt \
       -                ${myconf}
       -}
       -
       -src_install() {
       -        emake DESTDIR="${D}" install
       -        use static-libs || find "${D}" -name '*.la' -exec rm -f {} +
       -        dodoc ChangeLog AUTHORS NEWS README
       -        if use doc; then
       -                dohtml docs/*
       -        fi
       -}
   DIR diff --git a/net-libs/rb_libtorrent/rb_libtorrent-1.0.9-r1.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-1.0.9-r1.ebuild
       t@@ -1,106 +0,0 @@
       -# Copyright 1999-2016 Gentoo Foundation
       -# Distributed under the terms of the GNU General Public License v2
       -# $Id$
       -
       -EAPI=6
       -
       -PYTHON_COMPAT=( python2_7 python3_{4,5} )
       -PYTHON_REQ_USE="threads"
       -DISTUTILS_OPTIONAL=true
       -DISTUTILS_IN_SOURCE_BUILD=true
       -
       -inherit autotools distutils-r1 versionator
       -
       -MY_PV=$(replace_all_version_separators '_' )
       -S=${WORKDIR}/libtorrent-libtorrent-${MY_PV}
       -
       -DESCRIPTION="C++ BitTorrent implementation focusing on efficiency and scalability"
       -HOMEPAGE="http://libtorrent.org"
       -SRC_URI="https://github.com/arvidn/libtorrent/archive/libtorrent-${MY_PV}.tar.gz -> rb_libtorrent-${PV}.tar.gz"
       -
       -LICENSE="BSD"
       -SLOT="0"
       -KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
       -IUSE="debug +dht doc examples python +ssl libressl static-libs test"
       -
       -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
       -
       -RDEPEND="
       -        >=dev-libs/boost-1.53:=[threads]
       -        sys-libs/zlib
       -        virtual/libiconv
       -        examples? ( !net-p2p/mldonkey )
       -        ssl? (
       -                !libressl? ( dev-libs/openssl:0= )
       -                libressl? ( dev-libs/libressl:0= )
       -        )
       -        python? (
       -                ${PYTHON_DEPS}
       -                dev-libs/boost:=[python,${PYTHON_USEDEP}]
       -        )"
       -DEPEND="${RDEPEND}
       -        >=sys-devel/libtool-2.2"
       -
       -RESTRICT="test"
       -
       -src_prepare() {
       -        default
       -
       -        # make sure lib search dir points to the main `S` dir and not to python copies
       -        sed -i "s|-L[^ ]*/src/\.libs|-L${S}/src/.libs|" \
       -                -- 'bindings/python/link_flags.in' || die
       -
       -        # needed or else eautoreconf fails
       -        mkdir build-aux && cp {m4,build-aux}/config.rpath || die
       -
       -        eautoreconf
       -
       -        use python && python_copy_sources
       -}
       -
       -src_configure() {
       -        local myeconfargs=(
       -                --disable-silent-rules # bug 441842
       -                --with-boost-system=mt
       -                --with-libiconv
       -                $(use_enable debug)
       -                $(usex debug "--enable-logging=verbose" "")
       -                $(use_enable dht)
       -                $(use_enable examples)
       -                $(use_enable ssl encryption)
       -                $(use_enable static-libs static)
       -                $(use_enable test tests)
       -        )
       -        econf "${myeconfargs[@]}"
       -
       -        python_configure() {
       -                local myeconfargs+=(
       -                        --enable-python-binding
       -                        --with-boost-python=yes
       -                )
       -                econf "${myeconfargs[@]}"
       -        }
       -        use python && distutils-r1_src_configure
       -}
       -
       -src_compile() {
       -        default
       -
       -        python_compile() {
       -                cd "${BUILD_DIR}/../bindings/python" || die
       -                distutils-r1_python_compile
       -        }
       -        use python && distutils-r1_src_compile
       -}
       -
       -src_install() {
       -        use doc && HTML_DOCS+=( "${S}"/docs )
       -
       -        default
       -
       -        python_install() {
       -                cd "${BUILD_DIR}/../bindings/python" || die
       -                distutils-r1_python_install
       -        }
       -        use python && distutils-r1_src_install
       -}
   DIR diff --git a/net-p2p/ctorrent/Manifest b/net-p2p/ctorrent/Manifest
       t@@ -1 +0,0 @@
       -DIST ctorrent-dnh3.3.2.tar.gz 219053 SHA256 c87366c91475931f75b924119580abd06a7b3cb3f00fef47346552cab1e24863 SHA512 e59b2b899b8603e42a5754d5ce65f661b135b8e107140e0472af379b2b06ee2985239ed0ebf19dcaef788e617b99eac35ad32ad2d10352e2fcf5a6dc084d27dd WHIRLPOOL e89518e8fccd27e91027b954e0a25367536ebab1d91a959d51229a6779cdd0649154536df61316b88c4d9f236af90e0638d81df5c56d8230a4081a35604dc910
   DIR diff --git a/net-p2p/ctorrent/ctorrent-3.3.2-r3.ebuild b/net-p2p/ctorrent/ctorrent-3.3.2-r3.ebuild
       t@@ -1,33 +0,0 @@
       -# Copyright 1999-2015 Gentoo Foundation
       -# Distributed under the terms of the GNU General Public License v2
       -# $Id$
       -
       -EAPI="5"
       -
       -inherit eutils
       -
       -MY_P="${PN}-dnh${PV}"
       -
       -DESCRIPTION="Enhanced CTorrent is a BitTorrent console client written in C and C++"
       -HOMEPAGE="http://www.rahul.net/dholmes/ctorrent/"
       -SRC_URI="mirror://sourceforge/dtorrent/${MY_P}.tar.gz"
       -
       -LICENSE="GPL-2"
       -SLOT="0"
       -KEYWORDS="~amd64 ~arm ~ppc ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
       -IUSE="libressl"
       -
       -S=${WORKDIR}/${MY_P}
       -
       -DEPEND="
       -        !libressl? ( dev-libs/openssl:= )
       -        libressl? ( dev-libs/libressl:= )
       -"
       -
       -RDEPEND="${DEPEND}"
       -
       -src_prepare() {
       -        epatch "${FILESDIR}"/${PN}-CVE-2009-1759.patch
       -        epatch "${FILESDIR}"/${P}-negative-ints.patch
       -        epatch "${FILESDIR}"/${P}-empty-path-components.patch
       -}
   DIR diff --git a/net-p2p/ctorrent/files/ctorrent-3.3.2-empty-path-components.patch b/net-p2p/ctorrent/files/ctorrent-3.3.2-empty-path-components.patch
       t@@ -1,38 +0,0 @@
       -rTorrent sometimes creates invalid torrents which has empty path components.
       -the bitorrent spec allows for "" strings, but they make no sense in paths.
       -so instead of always adding a / in between, skip them.  ugh.
       -
       -for example:
       -dict {
       -        'info' => dict {
       -                'name' => str = "some dir" (len = 8)
       -                'files' => list [
       -                        dict {
       -                                'length' => int = 12345567
       -                                'path' => list [
       -                                        str = "" (len = 0)
       -                                        str = "foo.bin" (len = 7)
       -                                ]
       -                        }
       -                        ...
       -                ]
       -                ...
       -        }
       -        ...
       -}
       -
       -ctorrent will then try to fetch the file "/some dir/foo.bin" instead of
       -"some dir/foo.bin" (relative to $PWD).
       -
       ---- a/bencode.cpp
       -+++ b/bencode.cpp
       -@@ -258,7 +258,8 @@
       -     n -= r; 
       -     if( 'e' == *pb ) break;
       -     if( pathname >= endmax ) return 0;
       --    *pathname++ = PATH_SP;
       -+    if (q)
       -+      *pathname++ = PATH_SP;
       -   }
       -   *pathname = '\0';
       -   return (pb - b + 1);
   DIR diff --git a/net-p2p/ctorrent/files/ctorrent-3.3.2-negative-ints.patch b/net-p2p/ctorrent/files/ctorrent-3.3.2-negative-ints.patch
       t@@ -1,17 +0,0 @@
       -allow negative integers ... should fix random "error, initial meta info failed"
       -
       -https://sourceforge.net/tracker/?func=detail&aid=3159066&group_id=202532&atid=981959
       -
       ---- ctorrent-dnh3.3.2/bencode.cpp
       -+++ ctorrent-dnh3.3.2/bencode.cpp
       -@@ -44,6 +44,10 @@
       -     p++; len--;
       -   }
       - 
       -+  if( *p == '-'){
       -+    p++; len--;
       -+  }
       -+
       -   for(psave = p; len && isdigit(*p); p++,len--) ;
       - 
       -   if(!len || MAX_INT_SIZ < (p - psave) || *p != endchar) return 0;
   DIR diff --git a/net-p2p/ctorrent/files/ctorrent-CVE-2009-1759.patch b/net-p2p/ctorrent/files/ctorrent-CVE-2009-1759.patch
       t@@ -1,364 +0,0 @@
       -Patch for CVE-2009-1759.
       -Source: Upstream SVN, rev 302 from the drorrent-3 branch.
       -
       -Index: bencode.h
       -===================================================================
       ---- bencode.h        (revision 300)
       -+++ bencode.h        (revision 302)
       -@@ -25,7 +25,7 @@
       - size_t decode_list(const char *b,size_t len,const char *keylist);
       - size_t decode_rev(const char *b,size_t len,const char *keylist);
       - size_t decode_query(const char *b,size_t len,const char *keylist,const char **ps,size_t *pi,int64_t *pl,int method);
       --size_t decode_list2path(const char *b, size_t n, char *pathname);
       -+size_t decode_list2path(const char *b, size_t n, char *pathname, size_t maxlen);
       - size_t bencode_buf(const char *str,size_t len,FILE *fp);
       - size_t bencode_str(const char *str, FILE *fp);
       - size_t bencode_int(const uint64_t integer, FILE *fp);
       -Index: bencode.cpp
       -===================================================================
       ---- bencode.cpp        (revision 300)
       -+++ bencode.cpp        (revision 302)
       -@@ -233,22 +233,28 @@
       -   return bencode_end_dict_list(fp);
       - }
       - 
       --size_t decode_list2path(const char *b, size_t n, char *pathname)
       -+size_t decode_list2path(const char *b, size_t n, char *pathname, size_t maxlen)
       - {
       -   const char *pb = b;
       -   const char *s = (char *) 0;
       -+  const char *endmax = pathname + maxlen - 1;
       -   size_t r,q;
       - 
       -   if( 'l' != *pb ) return 0;
       -   pb++;
       -   n--;
       -   if( !n ) return 0;
       --  for(; n;){
       -+  while( n && pathname < endmax ){
       -     if(!(r = buf_str(pb, n, &s, &q)) ) return 0;
       -+    if( q >= maxlen ) return 0;
       -     memcpy(pathname, s, q);
       -     pathname += q;
       --    pb += r; n -= r; 
       --    if( 'e' != *pb ){*pathname = PATH_SP, pathname++;} else break;
       -+    maxlen -= q;
       -+    pb += r;
       -+    n -= r; 
       -+    if( 'e' == *pb ) break;
       -+    if( pathname >= endmax ) return 0;
       -+    *pathname++ = PATH_SP;
       -   }
       -   *pathname = '\0';
       -   return (pb - b + 1);
       -Index: btfiles.cpp
       -===================================================================
       ---- btfiles.cpp        (revision 300)
       -+++ btfiles.cpp        (revision 302)
       -@@ -449,7 +449,8 @@
       -   return 0;
       - }
       - 
       --int btFiles::BuildFromMI(const char *metabuf, const size_t metabuf_len, const char *saveas)
       -+int btFiles::BuildFromMI(const char *metabuf, const size_t metabuf_len,
       -+  const char *saveas, unsigned char exam_only)
       - {
       -   char path[MAXPATHLEN];
       -   const char *s, *p;
       -@@ -458,11 +459,19 @@
       -   int f_warned = 0;
       - 
       -   if( !decode_query(metabuf, metabuf_len, "info|name", &s, &q, (int64_t*)0,
       --      QUERY_STR) || MAXPATHLEN <= q )
       -+        QUERY_STR) || MAXPATHLEN <= q ){
       -+    errno = EINVAL;
       -     return -1;
       -+  }
       - 
       -   memcpy(path, s, q);
       -   path[q] = '\0';
       -+  if( !exam_only &&
       -+      (PATH_SP == path[0] || '/' == path[0] || 0==strncmp("..", path, 2)) ){
       -+    CONSOLE.Warning(1, "error, unsafe path \"%s\" in torrent data", path);
       -+    errno = EINVAL;
       -+    return -1;
       -+  }
       - 
       -   r = decode_query(metabuf, metabuf_len, "info|files", (const char**)0, &q,
       -                    (int64_t*)0, QUERY_POS);
       -@@ -471,21 +480,31 @@
       -     BTFILE *pbf_last = (BTFILE*) 0; 
       -     BTFILE *pbf = (BTFILE*) 0;
       -     size_t dl;
       -+    unsigned long nfiles = 0;
       -+
       -     if( decode_query(metabuf,metabuf_len,"info|length",
       --                    (const char**) 0,(size_t*) 0,(int64_t*) 0,QUERY_LONG) )
       -+                    (const char**) 0,(size_t*) 0,(int64_t*) 0,QUERY_LONG) ){
       -+      errno = EINVAL;
       -       return -1;
       -+    }
       - 
       -     if( saveas ){
       -       m_directory = new char[strlen(saveas) + 1];
       - #ifndef WINDOWS
       --      if(!m_directory) return -1;
       -+      if( !m_directory ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -       strcpy(m_directory,saveas);
       -     }else{
       -       int f_conv;
       -       char *tmpfn = new char[strlen(path)*2+5];
       - #ifndef WINDOWS
       --      if( !tmpfn ) return -1;
       -+      if( !tmpfn ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -       if( f_conv = ConvertFilename(tmpfn, path, strlen(path)*2+5) ){
       -         if( arg_flg_convert_filenames ){
       -@@ -493,6 +512,7 @@
       - #ifndef WINDOWS
       -           if( !m_directory ){
       -             delete []tmpfn;
       -+            errno = ENOMEM;
       -             return -1;
       -           }
       - #endif
       -@@ -507,7 +527,10 @@
       -       if( !f_conv || !arg_flg_convert_filenames ){
       -         m_directory = new char[strlen(path) + 1];
       - #ifndef WINDOWS
       --        if( !m_directory ) return -1;
       -+        if( !m_directory ){
       -+          errno = ENOMEM;
       -+          return -1;
       -+        }
       - #endif
       -         strcpy(m_directory,path);
       -       }
       -@@ -517,24 +540,50 @@
       -     p = metabuf + r + 1; 
       -     q--;
       -     for(; q && 'e' != *p; p += dl, q -= dl){
       --      if(!(dl = decode_dict(p, q, (const char*) 0)) ) return -1;
       --      if( !decode_query(p, dl, "length", (const char**) 0,
       --                       (size_t*) 0,&t,QUERY_LONG) ) return -1;
       -+      if( !(dl = decode_dict(p, q, (const char*) 0)) ||
       -+          !decode_query(p, dl, "length", (const char**) 0, (size_t*) 0, &t,
       -+                        QUERY_LONG) ){
       -+        errno = EINVAL;
       -+        return -1;
       -+      }
       -       pbf = _new_bfnode();
       - #ifndef WINDOWS
       --      if( !pbf ) return -1;
       -+      if( !pbf ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -+      nfiles++;
       -       pbf->bf_length = t;
       -       m_total_files_length += t;
       -       r = decode_query(p, dl, "path", (const char **)0, &n, (int64_t*)0,
       -                        QUERY_POS);
       --      if( !r ) return -1;
       --      if(!decode_list2path(p + r, n, path)) return -1;
       -+      if( !r || !decode_list2path(p + r, n, path, sizeof(path)) ){
       -+        CONSOLE.Warning(1,
       -+          "error, invalid path in torrent data for file %lu at offset %llu",
       -+          nfiles, m_total_files_length - t);
       -+        delete pbf;
       -+        errno = EINVAL;
       -+        return -1;
       -+      }
       -+      if( !exam_only &&
       -+          (PATH_SP == path[0] || '/' == path[0] || 0==strncmp("..", path, 2)) ){
       -+        CONSOLE.Warning(1,
       -+          "error, unsafe path \"%s\" in torrent data for file %lu",
       -+          path, nfiles);
       -+        delete pbf;
       -+        errno = EINVAL;
       -+        return -1;
       -+      }
       - 
       -+
       -       int f_conv;
       -       char *tmpfn = new char[strlen(path)*2+5];
       - #ifndef WINDOWS
       --      if( !tmpfn ) return -1;
       -+      if( !tmpfn ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -       if( f_conv = ConvertFilename(tmpfn, path, strlen(path)*2+5) ){
       -         if( arg_flg_convert_filenames ){
       -@@ -542,6 +591,7 @@
       - #ifndef WINDOWS
       -           if( !pbf->bf_filename ){
       -             delete []tmpfn;
       -+            errno = ENOMEM;
       -             return -1;
       -           }
       - #endif
       -@@ -556,7 +606,10 @@
       -       if( !f_conv || !arg_flg_convert_filenames ){
       -         pbf->bf_filename = new char[strlen(path) + 1];
       - #ifndef WINDOWS
       --        if( !pbf->bf_filename ) return -1;
       -+        if( !pbf->bf_filename ){
       -+          errno = ENOMEM;
       -+          return -1;
       -+        }
       - #endif
       -         strcpy(pbf->bf_filename, path);
       -       }
       -@@ -564,30 +617,42 @@
       -       pbf_last = pbf;
       -     }
       -   }else{
       --    if( !decode_query(metabuf,metabuf_len,"info|length",
       --                     (const char**) 0,(size_t*) 0,&t,QUERY_LONG) )
       -+    if( !decode_query(metabuf,metabuf_len, "info|length",
       -+                      (const char**)0, (size_t*) 0, &t, QUERY_LONG) ){
       -+      errno = EINVAL;
       -       return -1;
       -+    }
       -     m_btfhead = _new_bfnode();
       - #ifndef WINDOWS
       --    if( !m_btfhead) return -1;
       -+    if( !m_btfhead ){
       -+      errno = ENOMEM;
       -+      return -1;
       -+    }
       - #endif
       -     m_btfhead->bf_length = m_total_files_length = t;
       -     if( saveas ){
       -       m_btfhead->bf_filename = new char[strlen(saveas) + 1];
       - #ifndef WINDOWS
       --      if(!m_btfhead->bf_filename ) return -1;
       -+      if( !m_btfhead->bf_filename ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -       strcpy(m_btfhead->bf_filename, saveas);
       -     }else if( arg_flg_convert_filenames ){
       -       char *tmpfn = new char[strlen(path)*2+5];
       - #ifndef WINDOWS
       --      if( !tmpfn ) return -1;
       -+      if( !tmpfn ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -       ConvertFilename(tmpfn, path, strlen(path)*2+5);
       -       m_btfhead->bf_filename = new char[strlen(tmpfn) + 1];
       - #ifndef WINDOWS
       -       if( !m_btfhead->bf_filename ){
       -         delete []tmpfn;
       -+        errno = ENOMEM;
       -         return -1;
       -       }
       - #endif
       -@@ -596,7 +661,10 @@
       -     }else{
       -       m_btfhead->bf_filename = new char[strlen(path) + 1];
       - #ifndef WINDOWS
       --      if(!m_btfhead->bf_filename ) return -1;
       -+      if( !m_btfhead->bf_filename ){
       -+        errno = ENOMEM;
       -+        return -1;
       -+      }
       - #endif
       -       strcpy(m_btfhead->bf_filename, path);
       -     }
       -@@ -694,6 +762,32 @@
       - size_t btFiles::FillMetaInfo(FILE* fp)
       - {
       -   BTFILE *p;
       -+  const char *refname, *s;
       -+  char path[MAXPATHLEN];
       -+
       -+  refname = m_directory ? m_directory : m_btfhead->bf_filename;
       -+  while( (s = strchr(refname, PATH_SP)) && *(s + 1) ){
       -+    refname = s + 1;
       -+  }
       -+  if( m_directory && '.' == *refname ){
       -+    char dir[MAXPATHLEN];
       -+    if( getcwd(dir, sizeof(dir)) && 0==chdir(m_directory) ){
       -+      if( getcwd(path, sizeof(path)) ){
       -+        refname = path;
       -+        while( (s = strchr(refname, PATH_SP)) && *(s + 1) ){
       -+          refname = s + 1;
       -+        }
       -+      }
       -+      chdir(dir);
       -+    }
       -+  }
       -+  if( '/' == *refname || '\0' == *refname || '.' == *refname ){
       -+    CONSOLE.Warning(1, "error, inappropriate file or directory name \"%s\"",
       -+      m_directory ? m_directory : m_btfhead->bf_filename);
       -+    errno = EINVAL;
       -+    return 0;
       -+  }
       -+
       -   if( m_directory ){
       -     // multi files
       -     if( bencode_str("files", fp) != 1 ) return 0;
       -@@ -715,16 +809,15 @@
       -     if(bencode_end_dict_list(fp) != 1 ) return 0;
       -     
       -     if(bencode_str("name", fp) != 1) return 0;
       --    return bencode_str(m_directory, fp);
       --    
       -+    return bencode_str(refname, fp);
       -   }else{
       -     if( bencode_str("length", fp) != 1 ) return 0;
       -     if( bencode_int(m_btfhead->bf_length, fp) != 1) return 0;
       -     
       -     if( bencode_str("name", fp) != 1 ) return 0;
       --    return bencode_str(m_btfhead->bf_filename, fp);
       -+    return bencode_str(refname, fp);
       -   }
       --  return 1;
       -+  return 0;
       - }
       - 
       - 
       -Index: btcontent.cpp
       -===================================================================
       ---- btcontent.cpp        (revision 300)
       -+++ btcontent.cpp        (revision 302)
       -@@ -357,7 +357,11 @@
       - 
       -   cfg_req_queue_length = (m_piece_length / cfg_req_slice_size) * 2 - 1;
       - 
       --  if( m_btfiles.BuildFromMI(b, flen, saveas) < 0 ) ERR_RETURN();
       -+  if( m_btfiles.BuildFromMI(b, flen, saveas, arg_flg_exam_only) < 0 ){
       -+    if( EINVAL == errno )
       -+      CONSOLE.Warning(1, "Torrent metainfo file data is invalid or unusable.");
       -+    ERR_RETURN();
       -+  }
       - 
       -   delete []b;
       -   b = (char *)0;
       -Index: btfiles.h
       -===================================================================
       ---- btfiles.h        (revision 300)
       -+++ btfiles.h        (revision 302)
       -@@ -61,7 +61,7 @@
       -   
       -   int BuildFromFS(const char *pathname);
       -   int BuildFromMI(const char *metabuf, const size_t metabuf_len,
       --                  const char *saveas);
       -+                  const char *saveas, unsigned char exam_only);
       - 
       -   char *GetDataName() const;
       -   uint64_t GetTotalLength() const { return m_total_files_length; }
   DIR diff --git a/x11-terms/cool-retro-term/cool-retro-term-9999.ebuild b/x11-terms/cool-retro-term/cool-retro-term-9999.ebuild
       t@@ -1,37 +0,0 @@
       -# Copyright 1999-2016 Gentoo Foundation
       -# Distributed under the terms of the GNU General Public License v2
       -# $Id$
       -
       -EAPI=6
       -
       -inherit qmake-utils git-r3
       -
       -DESCRIPTION="A good looking terminal emulator which mimics the old cathode display"
       -HOMEPAGE="https://github.com/Swordfish90/cool-retro-term"
       -
       -EGIT_REPO_URI="git://github.com/Swordfish90/${PN}.git"
       -
       -LICENSE="GPL-3"
       -SLOT="0"
       -KEYWORDS=""
       -IUSE=""
       -
       -DEPEND="
       -        dev-qt/qtquickcontrols:5[widgets]
       -        dev-qt/qtgraphicaleffects:5
       -        dev-qt/qtdeclarative:5[localstorage]
       -"
       -
       -RDEPEND="${DEPEND}"
       -
       -src_configure() {
       -        local myeqmakeargs=(
       -                PREFIX="${EPREFIX}/usr"
       -        )
       -        eqmake5 ${myeqmakeargs[@]}
       -}
       -
       -src_install() {
       -        emake INSTALL_ROOT="${D}" install || die
       -}
       -