summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-nntp
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-nntp')
-rw-r--r--net-nntp/brag/Manifest1
-rw-r--r--net-nntp/brag/brag-1.4.3.ebuild26
-rw-r--r--net-nntp/brag/metadata.xml8
-rw-r--r--net-nntp/hellanzb/Manifest1
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-Choose_interface_to_bind_on.patch52
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-Fix_conf_file_search_path.patch31
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-datafiles.patch13
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-fix_multiples_hosts.diff107
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-gettinggroup.patch14
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-python_26_fixes.patch90
-rw-r--r--net-nntp/hellanzb/files/hellanzb-0.13-twisted-10.0.0.patch36
-rw-r--r--net-nntp/hellanzb/files/hellanzb.conf19
-rw-r--r--net-nntp/hellanzb/files/hellanzb.init41
-rw-r--r--net-nntp/hellanzb/hellanzb-0.13-r8.ebuild74
-rw-r--r--net-nntp/hellanzb/metadata.xml18
-rw-r--r--net-nntp/inn/Manifest3
-rw-r--r--net-nntp/inn/files/inn-2.5.3-ar.patch37
-rw-r--r--net-nntp/inn/files/inn-2.5.3-tests.patch19
-rw-r--r--net-nntp/inn/files/innd22
-rw-r--r--net-nntp/inn/files/innd-r123
-rw-r--r--net-nntp/inn/inn-2.5.3-r1.ebuild280
-rw-r--r--net-nntp/inn/inn-2.5.3-r2.ebuild287
-rw-r--r--net-nntp/inn/inn-2.5.4.ebuild287
-rw-r--r--net-nntp/inn/inn-2.5.5.ebuild287
-rw-r--r--net-nntp/inn/metadata.xml10
-rw-r--r--net-nntp/kwooty/Manifest1
-rw-r--r--net-nntp/kwooty/kwooty-1.1.0.ebuild28
-rw-r--r--net-nntp/kwooty/metadata.xml11
-rw-r--r--net-nntp/leafnode/Manifest2
-rw-r--r--net-nntp/leafnode/files/fetchnews.cron10
-rw-r--r--net-nntp/leafnode/files/leafnode.xinetd12
-rw-r--r--net-nntp/leafnode/files/texpire.cron10
-rw-r--r--net-nntp/leafnode/leafnode-1.11.10.ebuild48
-rw-r--r--net-nntp/leafnode/leafnode-1.11.8.ebuild48
-rw-r--r--net-nntp/leafnode/metadata.xml8
-rw-r--r--net-nntp/metadata.xml39
-rw-r--r--net-nntp/newspost/Manifest1
-rw-r--r--net-nntp/newspost/files/CAN-2005-0101.patch11
-rw-r--r--net-nntp/newspost/files/newspost-2.1.1-glibc-2.10.patch57
-rw-r--r--net-nntp/newspost/files/newspost-2.1.1-nntp.patch69
-rw-r--r--net-nntp/newspost/metadata.xml5
-rw-r--r--net-nntp/newspost/newspost-2.1.1-r3.ebuild35
-rw-r--r--net-nntp/nzb/Manifest2
-rw-r--r--net-nntp/nzb/metadata.xml10
-rw-r--r--net-nntp/nzb/nzb-0.2.ebuild27
-rw-r--r--net-nntp/nzb/nzb-0.3.ebuild27
-rw-r--r--net-nntp/nzbget/Manifest7
-rw-r--r--net-nntp/nzbget/files/nzbget-11.0-header.patch10
-rw-r--r--net-nntp/nzbget/files/nzbget-13.0_pre1042-gzip-endif.patch18
-rw-r--r--net-nntp/nzbget/files/nzbget-14.0_pre1145-tinfo.patch18
-rw-r--r--net-nntp/nzbget/files/nzbget-9.0_pre477-buffer-overflows.patch42
-rw-r--r--net-nntp/nzbget/files/nzbget.confd15
-rw-r--r--net-nntp/nzbget/files/nzbget.initd34
-rw-r--r--net-nntp/nzbget/metadata.xml20
-rw-r--r--net-nntp/nzbget/nzbget-10.2.ebuild110
-rw-r--r--net-nntp/nzbget/nzbget-11.0.ebuild108
-rw-r--r--net-nntp/nzbget/nzbget-12.0-r1.ebuild106
-rw-r--r--net-nntp/nzbget/nzbget-13.0.ebuild108
-rw-r--r--net-nntp/nzbget/nzbget-14.0.ebuild107
-rw-r--r--net-nntp/nzbget/nzbget-14.1.ebuild107
-rw-r--r--net-nntp/nzbget/nzbget-14.2.ebuild107
-rw-r--r--net-nntp/pan/Manifest1
-rw-r--r--net-nntp/pan/files/pan-0.139-pan.desktop.patch31
-rw-r--r--net-nntp/pan/metadata.xml5
-rw-r--r--net-nntp/pan/pan-0.139.ebuild49
-rw-r--r--net-nntp/sabnzbd/Manifest5
-rw-r--r--net-nntp/sabnzbd/files/growler-support-gntp-1.0.patch33
-rw-r--r--net-nntp/sabnzbd/files/par2cmdline.patch12
-rw-r--r--net-nntp/sabnzbd/files/sabnzbd14
-rw-r--r--net-nntp/sabnzbd/files/sabnzbd.confd6
-rw-r--r--net-nntp/sabnzbd/files/sabnzbd.ini14
-rw-r--r--net-nntp/sabnzbd/files/sabnzbd.initd99
-rw-r--r--net-nntp/sabnzbd/files/use-system-configobj-and-feedparser.patch44
-rw-r--r--net-nntp/sabnzbd/metadata.xml16
-rw-r--r--net-nntp/sabnzbd/sabnzbd-0.7.16.ebuild117
-rw-r--r--net-nntp/sabnzbd/sabnzbd-0.7.17.ebuild117
-rw-r--r--net-nntp/sabnzbd/sabnzbd-0.7.18.ebuild117
-rw-r--r--net-nntp/sabnzbd/sabnzbd-0.7.19.ebuild117
-rw-r--r--net-nntp/sabnzbd/sabnzbd-0.7.20.ebuild117
-rw-r--r--net-nntp/slrn/Manifest2
-rw-r--r--net-nntp/slrn/files/slrn-1.0.0_pre18-make.patch36
-rw-r--r--net-nntp/slrn/files/slrn-1.0.2-make.patch36
-rw-r--r--net-nntp/slrn/metadata.xml11
-rw-r--r--net-nntp/slrn/slrn-1.0.1.ebuild40
-rw-r--r--net-nntp/slrn/slrn-1.0.2.ebuild42
-rw-r--r--net-nntp/slrnconf/Manifest1
-rw-r--r--net-nntp/slrnconf/metadata.xml5
-rw-r--r--net-nntp/slrnconf/slrnconf-0.8.4.ebuild33
-rw-r--r--net-nntp/sn/Manifest1
-rw-r--r--net-nntp/sn/files/sn-0.3.8-parallel-make.patch56
-rw-r--r--net-nntp/sn/files/sn-0.3.8-qa.patch21
-rw-r--r--net-nntp/sn/metadata.xml5
-rw-r--r--net-nntp/sn/sn-0.3.8.ebuild48
-rw-r--r--net-nntp/suck/Manifest1
-rw-r--r--net-nntp/suck/metadata.xml5
-rw-r--r--net-nntp/suck/suck-4.3.2.ebuild48
-rw-r--r--net-nntp/tin/Manifest3
-rw-r--r--net-nntp/tin/metadata.xml12
-rw-r--r--net-nntp/tin/tin-2.0.1-r1.ebuild95
-rw-r--r--net-nntp/tin/tin-2.2.1.ebuild93
-rw-r--r--net-nntp/tin/tin-2.3.1.ebuild93
-rw-r--r--net-nntp/ubh/Manifest1
-rw-r--r--net-nntp/ubh/metadata.xml8
-rw-r--r--net-nntp/ubh/ubh-2.5.ebuild25
-rw-r--r--net-nntp/xrn/Manifest1
-rw-r--r--net-nntp/xrn/metadata.xml5
-rw-r--r--net-nntp/xrn/xrn-9.02.ebuild70
107 files changed, 4875 insertions, 0 deletions
diff --git a/net-nntp/brag/Manifest b/net-nntp/brag/Manifest
new file mode 100644
index 000000000000..495577931b3a
--- /dev/null
+++ b/net-nntp/brag/Manifest
@@ -0,0 +1 @@
+DIST brag-1.4.3.tar.gz 18230 SHA256 f2c8110c38805c31ad181f4737c26e766dc8ecfa2bce158197b985be892cece6
diff --git a/net-nntp/brag/brag-1.4.3.ebuild b/net-nntp/brag/brag-1.4.3.ebuild
new file mode 100644
index 000000000000..fb8a19a89de7
--- /dev/null
+++ b/net-nntp/brag/brag-1.4.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Brag collects and assembles multipart binary attachments from newsgroups"
+HOMEPAGE="http://brag.sourceforge.net/"
+SRC_URI="mirror://sourceforge/brag/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE=""
+
+RDEPEND="
+ dev-lang/tcl:0
+ app-text/uudeview"
+
+src_compile() { :; }
+
+src_install() {
+ dobin brag
+ dodoc CHANGES README
+ doman brag.1
+}
diff --git a/net-nntp/brag/metadata.xml b/net-nntp/brag/metadata.xml
new file mode 100644
index 000000000000..a1e90794ffc0
--- /dev/null
+++ b/net-nntp/brag/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-news</herd>
+ <upstream>
+ <remote-id type="sourceforge">brag</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-nntp/hellanzb/Manifest b/net-nntp/hellanzb/Manifest
new file mode 100644
index 000000000000..1f70809ac417
--- /dev/null
+++ b/net-nntp/hellanzb/Manifest
@@ -0,0 +1 @@
+DIST hellanzb-0.13.tar.gz 163698 SHA256 565b08725eb92ac1e278fa7df2c7b27b21588c4e24c140fddbec4a5625159127
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-Choose_interface_to_bind_on.patch b/net-nntp/hellanzb/files/hellanzb-0.13-Choose_interface_to_bind_on.patch
new file mode 100644
index 000000000000..a254a9d23c9a
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-Choose_interface_to_bind_on.patch
@@ -0,0 +1,52 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 001-Choose_interface_to_bind_on
+## by Adam Cécile (Le_Vert) <gandalf@le-vert.net>
+##
+## DP: Add a Hellanzb.XMLRPC_SERVER option which allowusers to set on which
+## DP: IP address XMLRPC server will be binded.
+
+@DPATCH@
+diff -u hellanzb-0.11/Hellanzb/HellaXMLRPC/__init__.py hellanzb-0.11/Hellanzb/HellaXMLRPC/__init__.py.new
+--- hellanzb-0.11/Hellanzb/HellaXMLRPC/__init__.py 2007-01-30 03:51:05.000000000 +0100
++++ hellanzb-0.11/Hellanzb/HellaXMLRPC/__init__.py.new 2007-02-10 15:19:14.000000000 +0100
+@@ -597,9 +597,9 @@
+ try:
+ if SECURE:
+ secure = HtPasswdWrapper(hxmlrpcs, 'hellanzb', Hellanzb.XMLRPC_PASSWORD, 'hellanzb XML RPC')
+- reactor.listenTCP(Hellanzb.XMLRPC_PORT, Site(secure))
++ reactor.listenTCP(Hellanzb.XMLRPC_PORT, Site(secure), 50, Hellanzb.XMLRPC_SERVER_BIND)
+ else:
+- reactor.listenTCP(Hellanzb.XMLRPC_PORT, Site(hxmlrpcs))
++ reactor.listenTCP(Hellanzb.XMLRPC_PORT, Site(hxmlrpcs), 50, Hellanzb.XMLRPC_SERVER_BIND)
+ except CannotListenError, cle:
+ error(str(cle))
+ raise FatalError('Cannot bind to XML RPC port, is another hellanzb queue daemon already running?')
+
+diff -u hellanzb-0.11/etc/hellanzb.conf.sample hellanzb-0.11/etc/hellanzb.conf.sample.new
+--- hellanzb-0.11/etc/hellanzb.conf.sample 2007-01-30 03:51:05.000000000 +0100
++++ hellanzb-0.11/etc/hellanzb.conf.sample.new 2007-02-10 15:18:10.000000000 +0100
+@@ -151,6 +151,10 @@
+ # Hostname for the XMLRPC client to connect to. By default, localhost
+ Hellanzb.XMLRPC_SERVER = 'localhost'
+
++# IP address on which the XMLRPC Server will be binded to.
++# Type '0.0.0.0' for any interfaces, '127.0.0.1' will disable remote access
++Hellanzb.XMLRPC_SERVER_BIND = '127.0.0.1'
++
+ # Port number the XML RPC server will listen on, and the client will connect to.
+ # Set to 'None' (without the quotes!) for no XML RPC server
+ Hellanzb.XMLRPC_PORT = 8760
+diff -u hellanzb-0.11/Hellanzb/Core.py hellanzb-0.11/Hellanzb/Core.py.new
+--- hellanzb-0.11/Hellanzb/Core.py 2007-01-30 03:51:05.000000000 +0100
++++ hellanzb-0.11/Hellanzb/Core.py.new 2007-02-10 15:18:10.000000000 +0100
+@@ -113,7 +106,9 @@
+
+ if not hasattr(Hellanzb, 'SKIP_UNRAR') or Hellanzb.SKIP_UNRAR is None:
+ Hellanzb.SKIP_UNRAR = False
+-
++ if not hasattr(Hellanzb, 'XMLRPC_SERVER_BIND') or Hellanzb.XMLRPC_SERVER_BIND is None:
++ print 'Warning: Hellanzb.XMLRPC_SERVER_BIND is not set, bind to 127.0.0.1'
++ Hellanzb.XMLRPC_SERVER_BIND = '127.0.0.1'
+
+ if not hasattr(Hellanzb, 'SMART_PAR'):
+ Hellanzb.SMART_PAR = True
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-Fix_conf_file_search_path.patch b/net-nntp/hellanzb/files/hellanzb-0.13-Fix_conf_file_search_path.patch
new file mode 100644
index 000000000000..ee22dd20c1ed
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-Fix_conf_file_search_path.patch
@@ -0,0 +1,31 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 000-Fix_conf_file_search_path by
+## Adam Cécile (Le_Vert) <gandalf@le-vert.net>
+##
+## DP: Search for configuration file in $HOME/.hellanzb/ or /etc/
+
+@DPATCH@
+
+diff -u hellanzb-0.11/Hellanzb/Core.py hellanzb-0.11/Hellanzb/Core.py.new
+--- hellanzb-0.11/Hellanzb/Core.py 2007-02-10 15:01:50.000000000 +0100
++++ hellanzb-0.11/Hellanzb/Core.py.new 2007-02-10 15:05:48.000000000 +0100
+@@ -33,16 +33,9 @@
+ else:
+ error('Unable to load specified config file: ' + optionalConfigFile)
+ sys.exit(1)
+-
+- # look for conf in this order: sys.prefix, ./, or ./etc/
+- confDirs = [os.path.join(sys.prefix, 'etc')]
+- try:
+- confDirs.append(os.path.join(os.getcwd(), 'etc'))
+- confDirs.append(os.getcwd())
+- except OSError, ose:
+- if ose.errno != 2:
+- raise
+- # OSError: [Errno 2] No such file or directory. cwd doesn't exist
++
++ # Look for conf file in /etc or $HOME/.hellanzb
++ confDirs = [ os.path.expanduser('~') + '/.hellanzb', '/etc' ]
+
+ # hard coding preferred Darwin config file location, kind of lame. but I'd rather do
+ # this then make an etc dir in os x's Python.framework directory
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-datafiles.patch b/net-nntp/hellanzb/files/hellanzb-0.13-datafiles.patch
new file mode 100644
index 000000000000..88c5899c5b8e
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-datafiles.patch
@@ -0,0 +1,13 @@
+Index: hellanzb-0.13/setup.py
+===================================================================
+--- hellanzb-0.13.orig/setup.py
++++ hellanzb-0.13/setup.py
+@@ -38,8 +38,6 @@ def runSetup():
+ packages = [ 'Hellanzb', 'Hellanzb.NZBLeecher', 'Hellanzb.HellaXMLRPC',
+ 'Hellanzb.external', 'Hellanzb.external.elementtree' ],
+ scripts = [ 'hellanzb.py' ],
+- data_files = [ ( 'etc', [ 'etc/hellanzb.conf.sample' ] ),
+- ( 'share/doc/hellanzb', [ 'CHANGELOG', 'CREDITS', 'README', 'LICENSE' ] ) ],
+ )
+ py2app_options = dict(
+ app = [ 'hellanzb.py' ],
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-fix_multiples_hosts.diff b/net-nntp/hellanzb/files/hellanzb-0.13-fix_multiples_hosts.diff
new file mode 100644
index 000000000000..5cf39c311a82
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-fix_multiples_hosts.diff
@@ -0,0 +1,107 @@
+diff -r bdbcba80e0fa Hellanzb/NZBLeecher/Protocol.py
+--- a/Hellanzb/NZBLeecher/Protocol.py Wed Nov 14 10:00:29 2007 +0100
++++ b/Hellanzb/NZBLeecher/Protocol.py Thu Nov 22 22:32:04 2007 +0100
+@@ -27,18 +27,14 @@ PHI = 1.6180339887498948 # (1 + math.sqr
+ PHI = 1.6180339887498948 # (1 + math.sqrt(5)) / 2
+ class NZBLeecherFactory(ReconnectingClientFactory):
+
+- def __init__(self, username, password, activeTimeout, antiIdleTimeout, hostname,
++ def __init__(self, username, password, activeTimeout, antiIdleTimeout,
+ serverPoolName, skipGroupCmd, fillServerPriority = 0, color = None):
+ self.username = username
+ self.password = password
+ self.antiIdleTimeout = antiIdleTimeout
+ self.activeTimeout = activeTimeout
+- self.hostname = hostname
+ self.serverPoolName = serverPoolName
+ self.fillServerPriority = fillServerPriority
+-
+- self.host = None
+- self.port = None
+
+ # statistics for the current session (sessions end when downloading stops on all
+ # clients). sessionReadBytes and sessionStartime are used to calculate the average
+@@ -88,6 +84,7 @@ class NZBLeecherFactory(ReconnectingClie
+ p.factory = self
+ p.id = self.clientIds[0]
+ self.clientIds.remove(p.id)
++ p.host, p.port = addr.host, addr.port
+
+ # All clients inherit the factory's anti idle timeout setting
+ # FIXME: I don't think there's any reason to copy these values to the
+@@ -323,7 +320,7 @@ class NZBLeecher(NNTPClient, TimeoutMixi
+ "Override for notification when authInfoFailed() action fails"
+ debug(str(self) + ' AUTHINFO failed: ' + str(err))
+ # FIXME: This gives us too much scroll. Need to only do it selectively
+- #error(self.factory.hostname + '[' + str(self.id).zfill(2) + '] Authorization failed: ' + str(err))
++ #error(self.host + '[' + str(self.id).zfill(2) + '] Authorization failed: ' + str(err))
+ self.transport.loseConnection()
+
+ def connectionMade(self):
+@@ -428,7 +425,7 @@ class NZBLeecher(NNTPClient, TimeoutMixi
+ login """
+ if self.username == None and self.password == None:
+ warn('Could not MODE READER on no auth server (%s:%i), returned: %s' % \
+- (self.factory.host, self.factory.port, str(err)))
++ (self.host, self.port, str(err)))
+ reactor.callLater(0, self.fetchNextNZBSegment)
+ elif not self.isLoggedIn:
+ self.setReaderAfterLogin = True
+diff -r bdbcba80e0fa Hellanzb/NZBLeecher/__init__.py
+--- a/Hellanzb/NZBLeecher/__init__.py Wed Nov 14 10:00:29 2007 +0100
++++ b/Hellanzb/NZBLeecher/__init__.py Thu Nov 22 22:32:04 2007 +0100
+@@ -122,30 +122,28 @@ def connectServer(serverName, serverDict
+ connectionCount = 0
+ hosts = serverDict['hosts']
+ connections = int(serverDict['connections'])
++ antiIdle = int(setWithDefault(serverDict, 'antiIdle', defaultAntiIdle))
++ idleTimeout = int(setWithDefault(serverDict, 'idleTimeout', defaultIdleTimeout))
++ skipGroupCmd = setWithDefault(serverDict, 'skipGroupCmd', False)
++ fillServer = setWithDefault(serverDict, 'fillserver', 0)
++ useSSL = setWithDefault(serverDict, 'ssl', False)
++
++ nsf = NZBLeecherFactory(serverDict['username'], serverDict['password'],
++ idleTimeout, antiIdle, serverName, skipGroupCmd,
++ fillServer)
++ color = nsf.color
++ Hellanzb.nsfs.append(nsf)
++
++ preWrappedNsf = nsf
++ nsf = HellaThrottlingFactory(nsf)
+
+ for host in hosts:
+- antiIdle = int(setWithDefault(serverDict, 'antiIdle', defaultAntiIdle))
+- idleTimeout = int(setWithDefault(serverDict, 'idleTimeout', defaultIdleTimeout))
+- skipGroupCmd = setWithDefault(serverDict, 'skipGroupCmd', False)
+- fillServer = setWithDefault(serverDict, 'fillserver', 0)
+- useSSL = setWithDefault(serverDict, 'ssl', False)
+-
+- nsf = NZBLeecherFactory(serverDict['username'], serverDict['password'],
+- idleTimeout, antiIdle, host, serverName, skipGroupCmd,
+- fillServer)
+- color = nsf.color
+- Hellanzb.nsfs.append(nsf)
+-
+ split = host.split(':')
+ host = split[0]
+ if len(split) == 2:
+ port = int(split[1])
+ else:
+ port = 119
+- nsf.host, nsf.port = host, port
+-
+- preWrappedNsf = nsf
+- nsf = HellaThrottlingFactory(nsf)
+
+ ctxf = None
+ if useSSL:
+@@ -195,7 +193,8 @@ def connectServer(serverName, serverDict
+ if antiIdle == 0:
+ preWrappedNsf.leecherConnectors.append(connector)
+ connectionCount += 1
+- preWrappedNsf.setConnectionCount(connectionCount)
++
++ preWrappedNsf.setConnectionCount(connectionCount)
+
+ if antiIdle == 0:
+ action = ''
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-gettinggroup.patch b/net-nntp/hellanzb/files/hellanzb-0.13-gettinggroup.patch
new file mode 100644
index 000000000000..2f7af1ad1a96
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-gettinggroup.patch
@@ -0,0 +1,14 @@
+diff -r 92936345c3f5 Hellanzb/NZBLeecher/Protocol.py
+--- a/Hellanzb/NZBLeecher/Protocol.py Mon Aug 18 10:38:55 2008 +0200
++++ b/Hellanzb/NZBLeecher/Protocol.py Mon Aug 18 11:34:20 2008 +0200
+@@ -655,7 +655,7 @@
+ reactor.callInThread(decode, segment)
+
+ def gotGroup(self, group):
+- group = group[3]
++ group = self.gettingGroup
+ self.activeGroups.append(group)
+ self.gettingGroup = None
+ debug(str(self) + ' got GROUP: ' + group)
+
+
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-python_26_fixes.patch b/net-nntp/hellanzb/files/hellanzb-0.13-python_26_fixes.patch
new file mode 100644
index 000000000000..4f981adedbb3
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-python_26_fixes.patch
@@ -0,0 +1,90 @@
+https://bugs.gentoo.org/show_bug.cgi?id=262881
+
+Index: Hellanzb/Growl.py
+===================================================================
+--- Hellanzb/Growl.py (Revision 1094)
++++ Hellanzb/Growl.py (Arbeitskopie)
+@@ -7,7 +7,13 @@
+ __contributors__ = "Ingmar J Stein (Growl Team)"
+
+ import struct
+-import md5
++
++# The md5 module has been deprecated as of Python 2.6.
++try:
++ from hashlib import md5
++except ImportError:
++ from md5 import md5
++
+ from socket import AF_INET, SOCK_DGRAM, socket
+
+ GROWL_UDP_PORT=9887
+@@ -51,7 +57,7 @@
+ self.data += encoded
+ for default in self.defaults:
+ self.data += struct.pack("B", default)
+- self.checksum = md5.new()
++ self.checksum = md5()
+ self.checksum.update(self.data)
+ if self.password:
+ self.checksum.update(self.password)
+@@ -89,7 +95,7 @@
+ self.data += self.title
+ self.data += self.description
+ self.data += self.application
+- self.checksum = md5.new()
++ self.checksum = md5()
+ self.checksum.update(self.data)
+ if password:
+ self.checksum.update(password)
+Index: Hellanzb/Util.py
+===================================================================
+--- Hellanzb/Util.py (Revision 1094)
++++ Hellanzb/Util.py (Arbeitskopie)
+@@ -28,9 +28,6 @@
+
+ class FatalError(Exception):
+ """ An error that will cause the program to exit """
+- def __init__(self, message):
+- self.args = [message]
+- self.message = message
+
+ class EmptyForThisPool(Empty):
+ """ The queue is empty in terms of our current serverPool, but there are still segments to
+Index: Hellanzb/HellaXMLRPC/HtPasswdAuth.py
+===================================================================
+--- Hellanzb/HellaXMLRPC/HtPasswdAuth.py (Revision 1094)
++++ Hellanzb/HellaXMLRPC/HtPasswdAuth.py (Arbeitskopie)
+@@ -8,7 +8,13 @@
+ (c) Copyright 2005 Philip Jenvey
+ [See end of file]
+ """
+-import md5
++
++# The md5 module has been deprecated as of Python 2.6.
++try:
++ from hashlib import md5
++except ImportError:
++ from md5 import md5
++
+ from twisted.web import static
+ from twisted.web.resource import Resource
+
+@@ -70,7 +76,7 @@
+
+ self.user = user
+
+- m = md5.new()
++ m = md5()
+ m.update(password)
+ del password
+ self.passwordDigest = m.digest()
+@@ -90,7 +96,7 @@
+ def authenticateUser(self, request):
+ username, password = request.getUser(), request.getPassword()
+
+- m = md5.new()
++ m = md5()
+ m.update(password)
+
+ authenticated = username == self.user and self.passwordDigest == m.digest()
diff --git a/net-nntp/hellanzb/files/hellanzb-0.13-twisted-10.0.0.patch b/net-nntp/hellanzb/files/hellanzb-0.13-twisted-10.0.0.patch
new file mode 100644
index 000000000000..e1a57892ceef
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb-0.13-twisted-10.0.0.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/show_bug.cgi?id=316725
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=573221
+
+--- xmlrpc.py 2010-03-10 18:29:19.000000000 -0600
++++ /usr/share/pyshared/Hellanzb/HellaXMLRPC/xmlrpc.py 2010-03-10 18:30:03.000000000 -0600
+@@ -31,7 +31,7 @@
+ from twisted.python import log, reflect
+
+ import twisted.copyright
+-if twisted.copyright.version >= '2.0.0':
++if twisted.copyright.version >= '2.0.0' or twisted.copyright.version >= '10.0.0':
+ from twisted.web import http
+ else:
+ from twisted.protocols import http
+--- HtPasswdAuth.py 2010-03-10 18:30:29.000000000 -0600
++++ /usr/share/pyshared/Hellanzb/HellaXMLRPC/HtPasswdAuth.py 2010-03-10 18:30:49.000000000 -0600
+@@ -19,7 +19,7 @@
+ from twisted.web.resource import Resource
+
+ import twisted.copyright
+-if twisted.copyright.version >= '2.0.0':
++if twisted.copyright.version >= '2.0.0' or twisted.copyright.version >= '10.0.0':
+ from twisted.web import http
+ else:
+ from twisted.protocols import http
+--- HellaReactor.py 2010-03-10 18:22:34.000000000 -0600
++++ /usr/share/pyshared/Hellanzb/HellaReactor.py 2010-03-10 18:30:07.000000000 -0600
+@@ -9,7 +9,7 @@
+ import Hellanzb, sys, time
+
+ import twisted.copyright
+-if twisted.copyright.version >= '2.0.0':
++if twisted.copyright.version >= '2.0.0' or twisted.copyright.version >= '10.0.0':
+ from twisted.internet.selectreactor import SelectReactor
+ from twisted.internet.selectreactor import _NO_FILENO
+ from twisted.internet.selectreactor import _NO_FILEDESC
diff --git a/net-nntp/hellanzb/files/hellanzb.conf b/net-nntp/hellanzb/files/hellanzb.conf
new file mode 100644
index 000000000000..e6553f89a76b
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb.conf
@@ -0,0 +1,19 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# /etc/conf.d/hellanzb
+# Config file for hellanzb init script
+
+# Which user to run hellanzb as, you should change this.
+HELLA_USER="root"
+HELLA_GROUP="root"
+
+# Location of config file, create a copy from /etc/hellanzb.conf for this.
+# Make sure the user specified above can read this file.
+HELLA_CONFIGFILE="/etc/hellanzb.conf"
+
+# Specify some other cli-options to hellanzb.py if you want.
+HELLA_OPTS=""
+
+# All the other options to hellanzb can be configured in ${CONFIG_FILE}.
diff --git a/net-nntp/hellanzb/files/hellanzb.init b/net-nntp/hellanzb/files/hellanzb.init
new file mode 100644
index 000000000000..be318d56c49d
--- /dev/null
+++ b/net-nntp/hellanzb/files/hellanzb.init
@@ -0,0 +1,41 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+opts="start stop"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting hellanzb"
+ if ! check_config ; then
+ eend 1
+ return 1
+ fi
+ if [ "${RC_CMD}" = "restart" ] ; then
+ sleep 1 # wait for socket to be released
+ fi
+
+ start-stop-daemon --start -c ${HELLA_USER} \
+ -g ${HELLA_GROUP} --name hellanzb.py \
+ --exec /usr/bin/hellanzb.py -- \
+ -D -c ${HELLA_CONFIGFILE} ${HELLA_OPTS} &> /dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping hellanzb"
+ /usr/bin/hellanzb.py shutdown &> /dev/null
+ eend $?
+}
+
+check_config() {
+ if [ ! -e ${HELLA_CONFIGFILE} ] ; then
+ eerror "ERROR: can't find ${HELLA_CONFIGFILE}."
+ return 1
+ else
+ return 0
+ fi
+}
diff --git a/net-nntp/hellanzb/hellanzb-0.13-r8.ebuild b/net-nntp/hellanzb/hellanzb-0.13-r8.ebuild
new file mode 100644
index 000000000000..4e7159c3cd1e
--- /dev/null
+++ b/net-nntp/hellanzb/hellanzb-0.13-r8.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+
+inherit distutils eutils
+
+DESCRIPTION="Retrieves and processes .nzb files"
+HOMEPAGE="http://www.hellanzb.com/"
+SRC_URI="http://www.hellanzb.com/distfiles/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+IUSE="libnotify ssl"
+
+RDEPEND=">=dev-python/twisted-core-2.0
+ dev-python/twisted-web
+ || ( app-arch/unrar
+ app-arch/rar )
+ app-arch/par2cmdline
+ ssl? ( dev-python/pyopenssl )
+ libnotify? ( dev-python/notify-python )"
+
+DEPEND=""
+
+DOCS="CHANGELOG CREDITS PKG-INFO README"
+PYTHON_MODNAME="Hellanzb"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ distutils_src_prepare
+
+ epatch "${FILESDIR}/${P}-datafiles.patch"
+ epatch "${FILESDIR}/${P}-Fix_conf_file_search_path.patch"
+ epatch "${FILESDIR}/${P}-Choose_interface_to_bind_on.patch"
+ epatch "${FILESDIR}/${P}-fix_multiples_hosts.diff"
+ epatch "${FILESDIR}/${P}-gettinggroup.patch"
+ epatch "${FILESDIR}/${P}-python_26_fixes.patch"
+ epatch "${FILESDIR}/${P}-twisted-10.0.0.patch"
+}
+
+src_install() {
+ distutils_src_install
+
+ newconfd "${FILESDIR}/hellanzb.conf" hellanzb
+ newinitd "${FILESDIR}/hellanzb.init" hellanzb
+
+ insinto etc
+ doins etc/hellanzb.conf.sample
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+
+ elog "You can start hellanzb in the background automatically by using"
+ elog "the init-script. To do this, add it to your default runlevel:"
+ elog ""
+ elog " rc-update add hellanzb default"
+ elog ""
+ elog "Use this command to start the daemon now:"
+ elog ""
+ elog " /etc/init.d/hellanzb start"
+ elog ""
+ elog "You will have to config /etc/conf.d/hellanzb before the init-script"
+ elog "will work. It is recommended that you change the user under which"
+ elog "the daemon will run."
+}
diff --git a/net-nntp/hellanzb/metadata.xml b/net-nntp/hellanzb/metadata.xml
new file mode 100644
index 000000000000..12beccf5f895
--- /dev/null
+++ b/net-nntp/hellanzb/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-news</herd>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <longdescription lang="en">
+ hellanzb is a Python application designed for *nix environments that
+ retrieves nzb files and fully processes them. The goal being to make
+ getting files from Usenet (e.g.: Giganews Newsgroups) as hands-free as
+ possible. Once fully installed, all thats required is moving an nzb file
+ to the queue directory. The rest; fetching, par-checking, un-raring,
+ etc. is taken care of by hellanzb.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/net-nntp/inn/Manifest b/net-nntp/inn/Manifest
new file mode 100644
index 000000000000..00dc8d70d58b
--- /dev/null
+++ b/net-nntp/inn/Manifest
@@ -0,0 +1,3 @@
+DIST inn-2.5.3.tar.gz 2412119 SHA256 60f0042b144499680cc577a4330aeaac5dac20c5994649c0e945d32b5f8dbcf1 SHA512 e579944571f0ec4fcdbf86de8458342075ce08f60df046bc8c45969b39f396ede8f5034f734542e1c64fb7792ae01c117c6a7af170fe5a43e1d0b2693f34d392 WHIRLPOOL a6d08020bfc458ad52567d225f14ef2f92fd605767c7ae4292724e3a3f49e1b42630fd787e7f79aae8a16d236479cef13b9531862eae050db839d3d0530f7999
+DIST inn-2.5.4.tar.gz 2408600 SHA256 5b62240c3074f2f38b3bcc656c343c587f2a923ec9d45e19f0d4ce269cb3f3f4 SHA512 f632599d009e8965d1b0ce7fef84dfbe48034c3a86825694a5ca4311123347647f9a4b534cff59820437f619ec09867bcff16f8f18c705e056eeea6493bc5441 WHIRLPOOL a313cb90e5dd55f4db5b70ede6b6d98561d2601f8d27e1b9b3983b90491b5ab300f0571d5fc1ac74f7892997ff6219189c863b122d569fe8673f3fcd13b0b67a
+DIST inn-2.5.5.tar.gz 2419841 SHA256 4245602c2c30fd3fe38513e9403c8d0ea4eb76256961591f97da630c341053bf SHA512 aada60b15952810fa31c3b2078b4ca1b1e560cee348cc81d076e0ba1f8b785497310d60aca89b9ecc4af85a1493eefa8a2b976cb349b8ea96482c93cbcf049f1 WHIRLPOOL b931d0f6a1e60b0157fafcc269e84d4f1f6c914ca7b95799be1a99feeec5c5568e41a9c7384da122d05eac7393d457a612be9ffbb79a01122e0c37c1de76785a
diff --git a/net-nntp/inn/files/inn-2.5.3-ar.patch b/net-nntp/inn/files/inn-2.5.3-ar.patch
new file mode 100644
index 000000000000..ac4f8158c44f
--- /dev/null
+++ b/net-nntp/inn/files/inn-2.5.3-ar.patch
@@ -0,0 +1,37 @@
+Use system AR.
+
+Gentoo bug #461254.
+
+--- lib/Makefile
++++ lib/Makefile
+@@ -53,7 +53,7 @@
+ -rpath $(PATHLIB) -version-info 2:0:0
+
+ libinn.a: $(OBJECTS)
+- ar r $@ $(OBJECTS)
++ $(AR) r $@ $(OBJECTS)
+ $(RANLIB) libinn.a
+
+ .c.o .c.lo:
+--- storage/Makefile
++++ storage/Makefile
+@@ -55,7 +55,7 @@
+ -rpath $(PATHLIB) -version-info 2:0:0
+
+ libstorage.a: $(OBJECTS)
+- ar r $@ $(OBJECTS)
++ $(AR) r $@ $(OBJECTS)
+ $(RANLIB) libstorage.a
+
+ # Make.methods is included in the distribution tarball since some non-GNU
+--- history/Makefile
++++ history/Makefile
+@@ -51,7 +51,7 @@
+ -rpath $(PATHLIB) -version-info 2:0:0
+
+ libinnhist.a: $(OBJECTS)
+- ar r $@ $(OBJECTS)
++ $(AR) r $@ $(OBJECTS)
+ $(RANLIB) libinnhist.a
+
+ # Try to set up these rules so that buildconfig is only run once.
diff --git a/net-nntp/inn/files/inn-2.5.3-tests.patch b/net-nntp/inn/files/inn-2.5.3-tests.patch
new file mode 100644
index 000000000000..6511508308d6
--- /dev/null
+++ b/net-nntp/inn/files/inn-2.5.3-tests.patch
@@ -0,0 +1,19 @@
+Certain filesystems (such as reiserfs) cannot properly report
+the number of free inodes. In this case, inndf reports an absurdly
+high number instead of nothing, which standard df does.
+There seems to be some confusion about which FOO_MAX is returned,
+so this patch adds an actual value known to be returned.
+
+See bug #348490.
+
+--- tests/util/inndf.t
++++ tests/util/inndf.t
+@@ -62,7 +62,7 @@
+ real=`df -i . | sed 1d | awk '{ print $4 }'`
+ fi
+ try=`$inndf -i .`
+- if [ "$try" = 4294967295 ] ; then
++ if [ "$try" = 4294967295 ] || [ "$try" = 2147483647 ] ; then
+ printcount "ok"
+ else
+ diff=`expr "$real" - "$try"`
diff --git a/net-nntp/inn/files/innd b/net-nntp/inn/files/innd
new file mode 100644
index 000000000000..b22ce0946d5d
--- /dev/null
+++ b/net-nntp/inn/files/innd
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting innd"
+ checkpath -d -m 0755 -o news:news /var/run/news
+ start-stop-daemon --start --user news --exec /usr/lib/news/bin/rc.news
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping innd"
+ start-stop-daemon --start --user news --exec /usr/lib/news/bin/rc.news -- stop
+ sleep 2
+ eend $?
+}
diff --git a/net-nntp/inn/files/innd-r1 b/net-nntp/inn/files/innd-r1
new file mode 100644
index 000000000000..1169a6755b8b
--- /dev/null
+++ b/net-nntp/inn/files/innd-r1
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checkpath -d -m 0755 -o news:news /run/news
+ start-stop-daemon --start --user news --pidfile /run/news/${SVCNAME}.pid \
+ --exec /usr/lib/news/bin/rc.news
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --start --user news --exec /usr/lib/news/bin/rc.news -- stop
+ sleep 2
+ eend $?
+}
diff --git a/net-nntp/inn/inn-2.5.3-r1.ebuild b/net-nntp/inn/inn-2.5.3-r1.ebuild
new file mode 100644
index 000000000000..7c45a9fc6646
--- /dev/null
+++ b/net-nntp/inn/inn-2.5.3-r1.ebuild
@@ -0,0 +1,280 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils multilib python-single-r1 ssl-cert
+
+DESCRIPTION="The Internet News daemon, fully featured NNTP server"
+HOMEPAGE="https://www.isc.org/software/inn"
+SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz"
+
+# GPL-2 only for init script
+LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl"
+
+DEPEND="
+ virtual/mta
+ dev-perl/MIME-tools
+ sys-libs/pam
+ sys-libs/zlib
+ kerberos? ( virtual/krb5 )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )
+ ssl? ( dev-libs/openssl )
+ python? ( ${PYTHON_DEPS} )
+ berkdb? ( sys-libs/db )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-tests.patch
+
+ sed -e 's: -B .OLD::' -i Makefile.global.in || die
+
+ # Do not treat LDFLAGS as if it contained libraries to link to
+ sed -e 's:LDFLAGS::g' -i m4/python.m4 || die
+
+ # We do not have the biff service, but we do have comsat
+ sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix=/usr/$(get_libdir)/news \
+ --sysconfdir=/etc/news \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-control-dir=/usr/$(get_libdir)/news/bin/control \
+ --with-filter-dir=/usr/$(get_libdir)/news/bin/filter \
+ --with-db-dir=/var/spool/news/db \
+ --with-doc-dir=/usr/share/doc/${PF} \
+ --with-spool-dir=/var/spool/news \
+ --with-log-dir=/var/log/news \
+ --with-run-dir=/var/run/news \
+ --with-tmp-dir=/var/spool/news/tmp \
+ --disable-libtool \
+ --with-gnu-ld \
+ --enable-setgid-inews \
+ --enable-uucp-rnews \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with kerberos kerberos /usr) \
+ $(use_with sasl) \
+ $(use_with ssl openssl) \
+ $(use_with berkdb berkeleydb /usr) \
+ $(use_enable ipv6) \
+ $(use_enable !inntaggedhash largefiles) \
+ $(use_enable inntaggedhash tagged-hash) \
+ $(use_enable innkeywords keywords)
+}
+
+src_install() {
+ emake DESTDIR="${D}/" P="" SPECIAL="" install
+
+ chown -R root:0 \
+ "${D}"/usr/$(get_libdir)/news/$(get_libdir) \
+ "${D}"/usr/$(get_libdir)/news/include \
+ "${D}"/usr/share/doc \
+ "${D}"/usr/share/man \
+ || die
+ chmod 644 "${D}"/etc/news/* || die
+ chmod 640 \
+ "${D}"/etc/news/control.ctl \
+ "${D}"/etc/news/expire.ctl \
+ "${D}"/etc/news/incoming.conf \
+ "${D}"/etc/news/nntpsend.ctl \
+ "${D}"/etc/news/passwd.nntp \
+ "${D}"/etc/news/readers.conf \
+ || die
+
+ # Prevent old db/* files from being overwritten
+ insinto /usr/share/inn/dbexamples
+ newins site/active.minimal active
+ newins site/newsgroups.minimal newsgroups
+
+ keepdir \
+ /var/log/news \
+ /var/spool/news/archive \
+ /var/spool/news/articles \
+ /var/spool/news/db \
+ /var/spool/news/incoming \
+ /var/spool/news/incoming/bad \
+ /var/spool/news/innfeed \
+ /var/spool/news/outgoing \
+ /var/spool/news/overview \
+ /var/spool/news/tmp
+
+ fowners news:news /var/log/news
+
+ dodoc ChangeLog MANIFEST README* doc/checklist
+ use ipv6 && dodoc doc/IPv6-info
+
+ # So other programs can build against INN
+ insinto /usr/$(get_libdir)/news/include
+ doins include/*.h
+
+ doinitd "${FILESDIR}"/innd
+
+ rm -r "${D}"/var/run
+}
+
+pkg_postinst() {
+ for db_file in active newsgroups
+ do
+ [[ -f ${ROOT}/var/spool/news/db/${db_file} ]] && continue
+
+ if [[ -f ${ROOT}/usr/share/inn/dbexamples/${db_file} ]]
+ then
+ cp "${ROOT}"/usr/share/inn/dbexamples/${db_file} \
+ "${ROOT}"/var/spool/news/db/${db_file}
+ else
+ touch "${ROOT}"/var/spool/news/db/${db_file}
+ fi
+
+ chown news:news "${ROOT}"/var/spool/news/db/${db_file}
+ chmod 664 "${ROOT}"/var/spool/news/db/${db_file}
+ done
+
+ elog "Do not forget to update your cron entries, and also run"
+ elog "makedbz if you need to. If this is a first-time installation"
+ elog "a minimal active file has been installed. You will need to"
+ elog "touch history and run 'makedbz -i' to initialize the history"
+ elog "database. See INSTALL for more information."
+ elog
+ elog "You need to assign a real shell to the news user, or else"
+ elog "starting inn will fail. You can use 'usermod -s /bin/bash news'"
+ elog "for this."
+
+ if use ssl
+ then
+ install_cert /etc/news/cert/cert
+ chown news:news \
+ "${ROOT}"/etc/news/cert/cert.{crt,csr,key,pem}
+
+ elog
+ elog "You may want to start nnrpd manually for native ssl support."
+ elog "If you choose to do so, automating this with a bootscript might"
+ elog "also be a good choice."
+ elog "Have a look at man nnrpd for valid parameters."
+ elog
+ elog "The certificate location in /etc/news/sasl.conf has been changed"
+ elog "to /etc/news/cert!"
+
+ fi
+}
+
+pkg_postrm() {
+ elog
+ elog "If you want your newsspool or altered configuration files"
+ elog "to be removed, please do so now manually."
+ elog
+}
+
+pkg_config() {
+ NEWSSPOOL_DIR="${ROOT}/var/spool/news"
+ NEWS_SHELL="$( awk -F':' '/^news:/ {print $7;}' ${ROOT}/etc/passwd )"
+ NEWS_ERRFLAG="0"
+
+ if [[ ${NEWS_SHELL} == /bin/false || ${NEWS_SHELL} == /dev/null ]]; then
+ einfo "Changing shell to /bin/bash for user news..."
+ usermod -s /bin/bash news
+ else
+ einfo "Shell for user news unchanged ('${NEWS_SHELL}')."
+ if [[ ${NEWS_SHELL} != /bin/sh && ${NEWS_SHELL} != /bin/bash ]]; then
+ ewarn "You might want to change it to '/bin/bash', though."
+ fi
+ fi
+
+ if [[ ! -e ${NEWSSPOOL_DIR}/db/history ]]; then
+ if [[ ! -f ${NEWSSPOOL_DIR}/db/history.dir \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.pag \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.hash \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.index ]]
+ then
+ einfo "Building history database ..."
+
+ touch "${NEWSSPOOL_DIR}"/db/history
+ chown news:news "${NEWSSPOOL_DIR}"/db/history
+ chmod 644 "${NEWSSPOOL_DIR}"/db/history
+
+ einfo "Running makedbz -i ..."
+ su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i"
+
+ einfo "Moving files into place ..."
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \
+ "${NEWSSPOOL_DIR}"/db/history.dir
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \
+ "${NEWSSPOOL_DIR}"/db/history.pag
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \
+ "${NEWSSPOOL_DIR}"/db/history.hash
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \
+ "${NEWSSPOOL_DIR}"/db/history.index
+
+ einfo "Running makehistory ..."
+ su - news -c /usr/$(get_libdir)/news/bin/makehistory
+ else
+ NEWS_ERRFLAG="1"
+ eerror "Your installation seems to be screwed up."
+ eerror "${NEWSSPOOL_DIR}/db/history does not exist, but there's"
+ eerror "one of the files history.dir, history.hash or history.index"
+ eerror "within ${NEWSSPOOL_DIR}/db."
+ eerror "Use your backup to restore the history database."
+ fi
+ else
+ einfo "${NEWSSPOOL_DIR}/db/history found."
+ einfo "Leaving history database as it is."
+ fi
+
+ INNCFG_INODES=$(
+ sed /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:'
+ )
+ INNSPOOL_INODES=$(
+ df -Pi ${NEWSSPOOL_DIR} | \
+ sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 1 d'
+ )
+ if [[ ${INNCFG_INODES} -gt ${INNSPOOL_INODES} ]]; then
+ ewarn "Setting innwatchspoolinodes to zero, because the filesystem behind"
+ ewarn "$NEWSSPOOL_DIR works without inodes."
+ ewarn
+ cp /etc/news/inn.conf /etc/news/inn.conf.OLD
+ einfo "A copy of your old inn.conf has been saved to /etc/news/inn.conf.OLD."
+ sed -i /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:'
+ chown news:news /etc/news/inn.conf
+ chmod 644 /etc/news/inn.conf
+ fi
+
+ INNCHECK_LINES=$(
+ su - news -c "/usr/$(get_libdir)/news/bin/inncheck | wc -l"
+ )
+ if [[ ${INNCHECK_LINES} -gt 0 ]]; then
+ NEWS_ERRFLAG="1"
+ ewarn "inncheck most certainly found an error."
+ ewarn "Please check its output:"
+ eerror "`su - news -c /usr/$(get_libdir)/news/bin/inncheck`"
+ fi
+
+ if [[ ${NEWS_ERRFLAG} -gt 0 ]]; then
+ eerror "There were one or more errors/warnings checking your"
+ eerror "configuration. Please read inn's documentation and"
+ eerror "fix them accordingly."
+ else
+ einfo "INN configuration tests passed successfully."
+ ewarn "Please ensure you have configured inn properly."
+ fi
+}
diff --git a/net-nntp/inn/inn-2.5.3-r2.ebuild b/net-nntp/inn/inn-2.5.3-r2.ebuild
new file mode 100644
index 000000000000..5921291d5661
--- /dev/null
+++ b/net-nntp/inn/inn-2.5.3-r2.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils multilib python-single-r1 ssl-cert toolchain-funcs
+
+DESCRIPTION="The Internet News daemon, fully featured NNTP server"
+HOMEPAGE="https://www.isc.org/software/inn"
+SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz"
+
+# GPL-2 only for init script
+LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ virtual/mta
+ dev-perl/MIME-tools
+ sys-libs/pam
+ sys-libs/zlib
+ kerberos? ( virtual/krb5 )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )
+ ssl? ( dev-libs/openssl )
+ python? ( ${PYTHON_DEPS} )
+ berkdb? ( sys-libs/db )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-ar.patch
+ epatch "${FILESDIR}"/${P}-tests.patch
+
+ sed -e 's: -B .OLD::' -i Makefile.global.in || die
+
+ # Do not treat LDFLAGS as if it contained libraries to link to
+ sed -e 's:LDFLAGS::g' -i m4/python.m4 || die
+
+ # We do not have the biff service, but we do have comsat
+ sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+
+ econf \
+ --prefix=/usr/$(get_libdir)/news \
+ --sysconfdir=/etc/news \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-control-dir=/usr/$(get_libdir)/news/bin/control \
+ --with-filter-dir=/usr/$(get_libdir)/news/bin/filter \
+ --with-db-dir=/var/spool/news/db \
+ --with-doc-dir=/usr/share/doc/${PF} \
+ --with-spool-dir=/var/spool/news \
+ --with-log-dir=/var/log/news \
+ --with-run-dir=/run/news \
+ --with-tmp-dir=/var/spool/news/tmp \
+ --disable-libtool \
+ --with-gnu-ld \
+ --enable-setgid-inews \
+ --enable-uucp-rnews \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with kerberos kerberos /usr) \
+ $(use_with sasl) \
+ $(use_with ssl openssl) \
+ $(use_with berkdb berkeleydb /usr) \
+ $(use_enable ipv6) \
+ $(use_enable !inntaggedhash largefiles) \
+ $(use_enable inntaggedhash tagged-hash) \
+ $(use_enable innkeywords keywords)
+}
+
+src_install() {
+ emake DESTDIR="${D}/" P="" SPECIAL="" install
+
+ chown -R root:0 \
+ "${D}"/usr/$(get_libdir)/news/$(get_libdir) \
+ "${D}"/usr/$(get_libdir)/news/include \
+ "${D}"/usr/share/doc \
+ "${D}"/usr/share/man \
+ || die
+ chmod 644 "${D}"/etc/news/* || die
+ chmod 640 \
+ "${D}"/etc/news/control.ctl \
+ "${D}"/etc/news/expire.ctl \
+ "${D}"/etc/news/incoming.conf \
+ "${D}"/etc/news/innfeed.conf \
+ "${D}"/etc/news/nntpsend.ctl \
+ "${D}"/etc/news/passwd.nntp \
+ "${D}"/etc/news/readers.conf \
+ || die
+
+ # Prevent old db/* files from being overwritten
+ insinto /usr/share/inn/dbexamples
+ newins site/active.minimal active
+ newins site/newsgroups.minimal newsgroups
+
+ keepdir \
+ /var/log/news \
+ /var/spool/news/archive \
+ /var/spool/news/articles \
+ /var/spool/news/db \
+ /var/spool/news/incoming \
+ /var/spool/news/incoming/bad \
+ /var/spool/news/innfeed \
+ /var/spool/news/outgoing \
+ /var/spool/news/overview \
+ /var/spool/news/tmp
+
+ fowners news:news /var/log/news
+
+ dodoc ChangeLog MANIFEST README* doc/checklist
+ use ipv6 && dodoc doc/IPv6-info
+
+ # So other programs can build against INN
+ insinto /usr/$(get_libdir)/news/include
+ doins include/*.h
+
+ newinitd "${FILESDIR}"/innd-r1 innd
+}
+
+pkg_postinst() {
+ for db_file in active newsgroups
+ do
+ [[ -f ${ROOT}var/spool/news/db/${db_file} ]] && continue
+
+ if [[ -f ${ROOT}usr/share/inn/dbexamples/${db_file} ]]
+ then
+ cp "${ROOT}"usr/share/inn/dbexamples/${db_file} \
+ "${ROOT}"var/spool/news/db/${db_file}
+ else
+ touch "${ROOT}"var/spool/news/db/${db_file}
+ fi
+
+ chown news:news "${ROOT}"var/spool/news/db/${db_file}
+ chmod 664 "${ROOT}"var/spool/news/db/${db_file}
+ done
+
+ elog "It is recommended to run emerge --config ${CATEGORY}/${PN}"
+ elog "now to finish setting up this package."
+ elog
+ elog "Do not forget to update your cron entries, and also run"
+ elog "makedbz if you need to. If this is a first-time installation"
+ elog "a minimal active file has been installed. You will need to"
+ elog "touch history and run 'makedbz -i' to initialize the history"
+ elog "database. See INSTALL for more information."
+ elog
+ elog "You need to assign a real shell to the news user, or else"
+ elog "starting inn will fail. You can use 'usermod -s /bin/bash news'"
+ elog "for this."
+
+ if use ssl
+ then
+ install_cert /etc/news/cert/cert
+ chown news:news \
+ "${ROOT}"etc/news/cert/cert.{crt,csr,key,pem}
+
+ elog
+ elog "You may want to start nnrpd manually for native ssl support."
+ elog "If you choose to do so, automating this with a bootscript might"
+ elog "also be a good choice."
+ elog "Have a look at man nnrpd for valid parameters."
+ elog
+ elog "The certificate location in /etc/news/sasl.conf has been changed"
+ elog "to /etc/news/cert!"
+
+ fi
+}
+
+pkg_postrm() {
+ elog
+ elog "If you want your newsspool or altered configuration files"
+ elog "to be removed, please do so now manually."
+ elog
+}
+
+pkg_config() {
+ NEWSSPOOL_DIR="${ROOT}var/spool/news"
+ NEWS_SHELL="$( awk -F':' '/^news:/ {print $7;}' ${ROOT}etc/passwd )"
+ NEWS_ERRFLAG="0"
+
+ if [[ ${NEWS_SHELL} == /bin/false || ${NEWS_SHELL} == /dev/null ]]; then
+ einfo "Changing shell to /bin/bash for user news..."
+ usermod -s /bin/bash news
+ else
+ einfo "Shell for user news unchanged ('${NEWS_SHELL}')."
+ if [[ ${NEWS_SHELL} != /bin/sh && ${NEWS_SHELL} != /bin/bash ]]; then
+ ewarn "You might want to change it to '/bin/bash', though."
+ fi
+ fi
+
+ if [[ ! -e ${NEWSSPOOL_DIR}/db/history ]]; then
+ if [[ ! -f ${NEWSSPOOL_DIR}/db/history.dir \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.pag \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.hash \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.index ]]
+ then
+ einfo "Building history database ..."
+
+ touch "${NEWSSPOOL_DIR}"/db/history
+ chown news:news "${NEWSSPOOL_DIR}"/db/history
+ chmod 644 "${NEWSSPOOL_DIR}"/db/history
+
+ einfo "Running makedbz -i ..."
+ su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i"
+
+ einfo "Moving files into place ..."
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \
+ "${NEWSSPOOL_DIR}"/db/history.dir
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \
+ "${NEWSSPOOL_DIR}"/db/history.pag
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \
+ "${NEWSSPOOL_DIR}"/db/history.hash
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \
+ "${NEWSSPOOL_DIR}"/db/history.index
+
+ einfo "Running makehistory ..."
+ su - news -c /usr/$(get_libdir)/news/bin/makehistory
+ else
+ NEWS_ERRFLAG="1"
+ eerror "Your installation seems to be screwed up."
+ eerror "${NEWSSPOOL_DIR}/db/history does not exist, but there's"
+ eerror "one of the files history.dir, history.hash or history.index"
+ eerror "within ${NEWSSPOOL_DIR}/db."
+ eerror "Use your backup to restore the history database."
+ fi
+ else
+ einfo "${NEWSSPOOL_DIR}/db/history found."
+ einfo "Leaving history database as it is."
+ fi
+
+ INNCFG_INODES=$(
+ sed /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:'
+ )
+ INNSPOOL_INODES=$(
+ df -Pi ${NEWSSPOOL_DIR} | \
+ sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 1 d'
+ )
+ if [[ ${INNCFG_INODES} -gt ${INNSPOOL_INODES} ]]; then
+ ewarn "Setting innwatchspoolinodes to zero, because the filesystem behind"
+ ewarn "$NEWSSPOOL_DIR works without inodes."
+ ewarn
+ cp /etc/news/inn.conf /etc/news/inn.conf.OLD
+ einfo "A copy of your old inn.conf has been saved to /etc/news/inn.conf.OLD."
+ sed -i /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:'
+ chown news:news /etc/news/inn.conf
+ chmod 644 /etc/news/inn.conf
+ fi
+
+ INNCHECK_LINES=$(
+ su - news -c "/usr/$(get_libdir)/news/bin/inncheck | wc -l"
+ )
+ if [[ ${INNCHECK_LINES} -gt 0 ]]; then
+ NEWS_ERRFLAG="1"
+ ewarn "inncheck most certainly found an error."
+ ewarn "Please check its output:"
+ eerror "`su - news -c /usr/$(get_libdir)/news/bin/inncheck`"
+ fi
+
+ if [[ ${NEWS_ERRFLAG} -gt 0 ]]; then
+ eerror "There were one or more errors/warnings checking your"
+ eerror "configuration. Please read inn's documentation and"
+ eerror "fix them accordingly."
+ else
+ einfo "INN configuration tests passed successfully."
+ ewarn "Please ensure you have configured inn properly."
+ fi
+}
diff --git a/net-nntp/inn/inn-2.5.4.ebuild b/net-nntp/inn/inn-2.5.4.ebuild
new file mode 100644
index 000000000000..a76c4d97da47
--- /dev/null
+++ b/net-nntp/inn/inn-2.5.4.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils multilib python-single-r1 ssl-cert toolchain-funcs
+
+DESCRIPTION="The Internet News daemon, fully featured NNTP server"
+HOMEPAGE="https://www.isc.org/software/inn"
+SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz"
+
+# GPL-2 only for init script
+LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ virtual/mta
+ dev-perl/MIME-tools
+ sys-libs/pam
+ sys-libs/zlib
+ kerberos? ( virtual/krb5 )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )
+ ssl? ( dev-libs/openssl )
+ python? ( ${PYTHON_DEPS} )
+ berkdb? ( sys-libs/db )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.5.3-ar.patch
+ epatch "${FILESDIR}"/${PN}-2.5.3-tests.patch
+
+ sed -e 's: -B .OLD::' -i Makefile.global.in || die
+
+ # Do not treat LDFLAGS as if it contained libraries to link to
+ sed -e 's:LDFLAGS::g' -i m4/python.m4 || die
+
+ # We do not have the biff service, but we do have comsat
+ sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+
+ econf \
+ --prefix=/usr/$(get_libdir)/news \
+ --sysconfdir=/etc/news \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-control-dir=/usr/$(get_libdir)/news/bin/control \
+ --with-filter-dir=/usr/$(get_libdir)/news/bin/filter \
+ --with-db-dir=/var/spool/news/db \
+ --with-doc-dir=/usr/share/doc/${PF} \
+ --with-spool-dir=/var/spool/news \
+ --with-log-dir=/var/log/news \
+ --with-run-dir=/run/news \
+ --with-tmp-dir=/var/spool/news/tmp \
+ --disable-libtool \
+ --with-gnu-ld \
+ --enable-setgid-inews \
+ --enable-uucp-rnews \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with kerberos kerberos /usr) \
+ $(use_with sasl) \
+ $(use_with ssl openssl) \
+ $(use_with berkdb berkeleydb /usr) \
+ $(use_enable ipv6) \
+ $(use_enable !inntaggedhash largefiles) \
+ $(use_enable inntaggedhash tagged-hash) \
+ $(use_enable innkeywords keywords)
+}
+
+src_install() {
+ emake DESTDIR="${D}/" P="" SPECIAL="" install
+
+ chown -R root:0 \
+ "${D}"/usr/$(get_libdir)/news/$(get_libdir) \
+ "${D}"/usr/$(get_libdir)/news/include \
+ "${D}"/usr/share/doc \
+ "${D}"/usr/share/man \
+ || die
+ chmod 644 "${D}"/etc/news/* || die
+ chmod 640 \
+ "${D}"/etc/news/control.ctl \
+ "${D}"/etc/news/expire.ctl \
+ "${D}"/etc/news/incoming.conf \
+ "${D}"/etc/news/innfeed.conf \
+ "${D}"/etc/news/nntpsend.ctl \
+ "${D}"/etc/news/passwd.nntp \
+ "${D}"/etc/news/readers.conf \
+ || die
+
+ # Prevent old db/* files from being overwritten
+ insinto /usr/share/inn/dbexamples
+ newins site/active.minimal active
+ newins site/newsgroups.minimal newsgroups
+
+ keepdir \
+ /var/log/news \
+ /var/spool/news/archive \
+ /var/spool/news/articles \
+ /var/spool/news/db \
+ /var/spool/news/incoming \
+ /var/spool/news/incoming/bad \
+ /var/spool/news/innfeed \
+ /var/spool/news/outgoing \
+ /var/spool/news/overview \
+ /var/spool/news/tmp
+
+ fowners news:news /var/log/news
+
+ dodoc ChangeLog MANIFEST README* doc/checklist
+ use ipv6 && dodoc doc/IPv6-info
+
+ # So other programs can build against INN
+ insinto /usr/$(get_libdir)/news/include
+ doins include/*.h
+
+ newinitd "${FILESDIR}"/innd-r1 innd
+}
+
+pkg_postinst() {
+ for db_file in active newsgroups
+ do
+ [[ -f ${ROOT}var/spool/news/db/${db_file} ]] && continue
+
+ if [[ -f ${ROOT}usr/share/inn/dbexamples/${db_file} ]]
+ then
+ cp "${ROOT}"usr/share/inn/dbexamples/${db_file} \
+ "${ROOT}"var/spool/news/db/${db_file}
+ else
+ touch "${ROOT}"var/spool/news/db/${db_file}
+ fi
+
+ chown news:news "${ROOT}"var/spool/news/db/${db_file}
+ chmod 664 "${ROOT}"var/spool/news/db/${db_file}
+ done
+
+ elog "It is recommended to run emerge --config ${CATEGORY}/${PN}"
+ elog "now to finish setting up this package."
+ elog
+ elog "Do not forget to update your cron entries, and also run"
+ elog "makedbz if you need to. If this is a first-time installation"
+ elog "a minimal active file has been installed. You will need to"
+ elog "touch history and run 'makedbz -i' to initialize the history"
+ elog "database. See INSTALL for more information."
+ elog
+ elog "You need to assign a real shell to the news user, or else"
+ elog "starting inn will fail. You can use 'usermod -s /bin/bash news'"
+ elog "for this."
+
+ if use ssl
+ then
+ install_cert /etc/news/cert/cert
+ chown news:news \
+ "${ROOT}"etc/news/cert/cert.{crt,csr,key,pem}
+
+ elog
+ elog "You may want to start nnrpd manually for native ssl support."
+ elog "If you choose to do so, automating this with a bootscript might"
+ elog "also be a good choice."
+ elog "Have a look at man nnrpd for valid parameters."
+ elog
+ elog "The certificate location in /etc/news/sasl.conf has been changed"
+ elog "to /etc/news/cert!"
+
+ fi
+}
+
+pkg_postrm() {
+ elog
+ elog "If you want your newsspool or altered configuration files"
+ elog "to be removed, please do so now manually."
+ elog
+}
+
+pkg_config() {
+ NEWSSPOOL_DIR="${ROOT}var/spool/news"
+ NEWS_SHELL="$( awk -F':' '/^news:/ {print $7;}' ${ROOT}etc/passwd )"
+ NEWS_ERRFLAG="0"
+
+ if [[ ${NEWS_SHELL} == /bin/false || ${NEWS_SHELL} == /dev/null ]]; then
+ einfo "Changing shell to /bin/bash for user news..."
+ usermod -s /bin/bash news
+ else
+ einfo "Shell for user news unchanged ('${NEWS_SHELL}')."
+ if [[ ${NEWS_SHELL} != /bin/sh && ${NEWS_SHELL} != /bin/bash ]]; then
+ ewarn "You might want to change it to '/bin/bash', though."
+ fi
+ fi
+
+ if [[ ! -e ${NEWSSPOOL_DIR}/db/history ]]; then
+ if [[ ! -f ${NEWSSPOOL_DIR}/db/history.dir \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.pag \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.hash \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.index ]]
+ then
+ einfo "Building history database ..."
+
+ touch "${NEWSSPOOL_DIR}"/db/history
+ chown news:news "${NEWSSPOOL_DIR}"/db/history
+ chmod 644 "${NEWSSPOOL_DIR}"/db/history
+
+ einfo "Running makedbz -i ..."
+ su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i"
+
+ einfo "Moving files into place ..."
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \
+ "${NEWSSPOOL_DIR}"/db/history.dir
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \
+ "${NEWSSPOOL_DIR}"/db/history.pag
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \
+ "${NEWSSPOOL_DIR}"/db/history.hash
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \
+ "${NEWSSPOOL_DIR}"/db/history.index
+
+ einfo "Running makehistory ..."
+ su - news -c /usr/$(get_libdir)/news/bin/makehistory
+ else
+ NEWS_ERRFLAG="1"
+ eerror "Your installation seems to be screwed up."
+ eerror "${NEWSSPOOL_DIR}/db/history does not exist, but there's"
+ eerror "one of the files history.dir, history.hash or history.index"
+ eerror "within ${NEWSSPOOL_DIR}/db."
+ eerror "Use your backup to restore the history database."
+ fi
+ else
+ einfo "${NEWSSPOOL_DIR}/db/history found."
+ einfo "Leaving history database as it is."
+ fi
+
+ INNCFG_INODES=$(
+ sed /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:'
+ )
+ INNSPOOL_INODES=$(
+ df -Pi ${NEWSSPOOL_DIR} | \
+ sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 1 d'
+ )
+ if [[ ${INNCFG_INODES} -gt ${INNSPOOL_INODES} ]]; then
+ ewarn "Setting innwatchspoolinodes to zero, because the filesystem behind"
+ ewarn "$NEWSSPOOL_DIR works without inodes."
+ ewarn
+ cp /etc/news/inn.conf /etc/news/inn.conf.OLD
+ einfo "A copy of your old inn.conf has been saved to /etc/news/inn.conf.OLD."
+ sed -i /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:'
+ chown news:news /etc/news/inn.conf
+ chmod 644 /etc/news/inn.conf
+ fi
+
+ INNCHECK_LINES=$(
+ su - news -c "/usr/$(get_libdir)/news/bin/inncheck | wc -l"
+ )
+ if [[ ${INNCHECK_LINES} -gt 0 ]]; then
+ NEWS_ERRFLAG="1"
+ ewarn "inncheck most certainly found an error."
+ ewarn "Please check its output:"
+ eerror "`su - news -c /usr/$(get_libdir)/news/bin/inncheck`"
+ fi
+
+ if [[ ${NEWS_ERRFLAG} -gt 0 ]]; then
+ eerror "There were one or more errors/warnings checking your"
+ eerror "configuration. Please read inn's documentation and"
+ eerror "fix them accordingly."
+ else
+ einfo "INN configuration tests passed successfully."
+ ewarn "Please ensure you have configured inn properly."
+ fi
+}
diff --git a/net-nntp/inn/inn-2.5.5.ebuild b/net-nntp/inn/inn-2.5.5.ebuild
new file mode 100644
index 000000000000..a76c4d97da47
--- /dev/null
+++ b/net-nntp/inn/inn-2.5.5.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils multilib python-single-r1 ssl-cert toolchain-funcs
+
+DESCRIPTION="The Internet News daemon, fully featured NNTP server"
+HOMEPAGE="https://www.isc.org/software/inn"
+SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz"
+
+# GPL-2 only for init script
+LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ virtual/mta
+ dev-perl/MIME-tools
+ sys-libs/pam
+ sys-libs/zlib
+ kerberos? ( virtual/krb5 )
+ sasl? ( >=dev-libs/cyrus-sasl-2 )
+ ssl? ( dev-libs/openssl )
+ python? ( ${PYTHON_DEPS} )
+ berkdb? ( sys-libs/db )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.5.3-ar.patch
+ epatch "${FILESDIR}"/${PN}-2.5.3-tests.patch
+
+ sed -e 's: -B .OLD::' -i Makefile.global.in || die
+
+ # Do not treat LDFLAGS as if it contained libraries to link to
+ sed -e 's:LDFLAGS::g' -i m4/python.m4 || die
+
+ # We do not have the biff service, but we do have comsat
+ sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR
+
+ econf \
+ --prefix=/usr/$(get_libdir)/news \
+ --sysconfdir=/etc/news \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --with-control-dir=/usr/$(get_libdir)/news/bin/control \
+ --with-filter-dir=/usr/$(get_libdir)/news/bin/filter \
+ --with-db-dir=/var/spool/news/db \
+ --with-doc-dir=/usr/share/doc/${PF} \
+ --with-spool-dir=/var/spool/news \
+ --with-log-dir=/var/log/news \
+ --with-run-dir=/run/news \
+ --with-tmp-dir=/var/spool/news/tmp \
+ --disable-libtool \
+ --with-gnu-ld \
+ --enable-setgid-inews \
+ --enable-uucp-rnews \
+ $(use_with perl) \
+ $(use_with python) \
+ $(use_with kerberos kerberos /usr) \
+ $(use_with sasl) \
+ $(use_with ssl openssl) \
+ $(use_with berkdb berkeleydb /usr) \
+ $(use_enable ipv6) \
+ $(use_enable !inntaggedhash largefiles) \
+ $(use_enable inntaggedhash tagged-hash) \
+ $(use_enable innkeywords keywords)
+}
+
+src_install() {
+ emake DESTDIR="${D}/" P="" SPECIAL="" install
+
+ chown -R root:0 \
+ "${D}"/usr/$(get_libdir)/news/$(get_libdir) \
+ "${D}"/usr/$(get_libdir)/news/include \
+ "${D}"/usr/share/doc \
+ "${D}"/usr/share/man \
+ || die
+ chmod 644 "${D}"/etc/news/* || die
+ chmod 640 \
+ "${D}"/etc/news/control.ctl \
+ "${D}"/etc/news/expire.ctl \
+ "${D}"/etc/news/incoming.conf \
+ "${D}"/etc/news/innfeed.conf \
+ "${D}"/etc/news/nntpsend.ctl \
+ "${D}"/etc/news/passwd.nntp \
+ "${D}"/etc/news/readers.conf \
+ || die
+
+ # Prevent old db/* files from being overwritten
+ insinto /usr/share/inn/dbexamples
+ newins site/active.minimal active
+ newins site/newsgroups.minimal newsgroups
+
+ keepdir \
+ /var/log/news \
+ /var/spool/news/archive \
+ /var/spool/news/articles \
+ /var/spool/news/db \
+ /var/spool/news/incoming \
+ /var/spool/news/incoming/bad \
+ /var/spool/news/innfeed \
+ /var/spool/news/outgoing \
+ /var/spool/news/overview \
+ /var/spool/news/tmp
+
+ fowners news:news /var/log/news
+
+ dodoc ChangeLog MANIFEST README* doc/checklist
+ use ipv6 && dodoc doc/IPv6-info
+
+ # So other programs can build against INN
+ insinto /usr/$(get_libdir)/news/include
+ doins include/*.h
+
+ newinitd "${FILESDIR}"/innd-r1 innd
+}
+
+pkg_postinst() {
+ for db_file in active newsgroups
+ do
+ [[ -f ${ROOT}var/spool/news/db/${db_file} ]] && continue
+
+ if [[ -f ${ROOT}usr/share/inn/dbexamples/${db_file} ]]
+ then
+ cp "${ROOT}"usr/share/inn/dbexamples/${db_file} \
+ "${ROOT}"var/spool/news/db/${db_file}
+ else
+ touch "${ROOT}"var/spool/news/db/${db_file}
+ fi
+
+ chown news:news "${ROOT}"var/spool/news/db/${db_file}
+ chmod 664 "${ROOT}"var/spool/news/db/${db_file}
+ done
+
+ elog "It is recommended to run emerge --config ${CATEGORY}/${PN}"
+ elog "now to finish setting up this package."
+ elog
+ elog "Do not forget to update your cron entries, and also run"
+ elog "makedbz if you need to. If this is a first-time installation"
+ elog "a minimal active file has been installed. You will need to"
+ elog "touch history and run 'makedbz -i' to initialize the history"
+ elog "database. See INSTALL for more information."
+ elog
+ elog "You need to assign a real shell to the news user, or else"
+ elog "starting inn will fail. You can use 'usermod -s /bin/bash news'"
+ elog "for this."
+
+ if use ssl
+ then
+ install_cert /etc/news/cert/cert
+ chown news:news \
+ "${ROOT}"etc/news/cert/cert.{crt,csr,key,pem}
+
+ elog
+ elog "You may want to start nnrpd manually for native ssl support."
+ elog "If you choose to do so, automating this with a bootscript might"
+ elog "also be a good choice."
+ elog "Have a look at man nnrpd for valid parameters."
+ elog
+ elog "The certificate location in /etc/news/sasl.conf has been changed"
+ elog "to /etc/news/cert!"
+
+ fi
+}
+
+pkg_postrm() {
+ elog
+ elog "If you want your newsspool or altered configuration files"
+ elog "to be removed, please do so now manually."
+ elog
+}
+
+pkg_config() {
+ NEWSSPOOL_DIR="${ROOT}var/spool/news"
+ NEWS_SHELL="$( awk -F':' '/^news:/ {print $7;}' ${ROOT}etc/passwd )"
+ NEWS_ERRFLAG="0"
+
+ if [[ ${NEWS_SHELL} == /bin/false || ${NEWS_SHELL} == /dev/null ]]; then
+ einfo "Changing shell to /bin/bash for user news..."
+ usermod -s /bin/bash news
+ else
+ einfo "Shell for user news unchanged ('${NEWS_SHELL}')."
+ if [[ ${NEWS_SHELL} != /bin/sh && ${NEWS_SHELL} != /bin/bash ]]; then
+ ewarn "You might want to change it to '/bin/bash', though."
+ fi
+ fi
+
+ if [[ ! -e ${NEWSSPOOL_DIR}/db/history ]]; then
+ if [[ ! -f ${NEWSSPOOL_DIR}/db/history.dir \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.pag \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.hash \
+ && ! -f ${NEWSSPOOL_DIR}/db/history.index ]]
+ then
+ einfo "Building history database ..."
+
+ touch "${NEWSSPOOL_DIR}"/db/history
+ chown news:news "${NEWSSPOOL_DIR}"/db/history
+ chmod 644 "${NEWSSPOOL_DIR}"/db/history
+
+ einfo "Running makedbz -i ..."
+ su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i"
+
+ einfo "Moving files into place ..."
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \
+ "${NEWSSPOOL_DIR}"/db/history.dir
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \
+ "${NEWSSPOOL_DIR}"/db/history.pag
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \
+ "${NEWSSPOOL_DIR}"/db/history.hash
+ [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \
+ mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \
+ "${NEWSSPOOL_DIR}"/db/history.index
+
+ einfo "Running makehistory ..."
+ su - news -c /usr/$(get_libdir)/news/bin/makehistory
+ else
+ NEWS_ERRFLAG="1"
+ eerror "Your installation seems to be screwed up."
+ eerror "${NEWSSPOOL_DIR}/db/history does not exist, but there's"
+ eerror "one of the files history.dir, history.hash or history.index"
+ eerror "within ${NEWSSPOOL_DIR}/db."
+ eerror "Use your backup to restore the history database."
+ fi
+ else
+ einfo "${NEWSSPOOL_DIR}/db/history found."
+ einfo "Leaving history database as it is."
+ fi
+
+ INNCFG_INODES=$(
+ sed /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:'
+ )
+ INNSPOOL_INODES=$(
+ df -Pi ${NEWSSPOOL_DIR} | \
+ sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 1 d'
+ )
+ if [[ ${INNCFG_INODES} -gt ${INNSPOOL_INODES} ]]; then
+ ewarn "Setting innwatchspoolinodes to zero, because the filesystem behind"
+ ewarn "$NEWSSPOOL_DIR works without inodes."
+ ewarn
+ cp /etc/news/inn.conf /etc/news/inn.conf.OLD
+ einfo "A copy of your old inn.conf has been saved to /etc/news/inn.conf.OLD."
+ sed -i /etc/news/inn.conf \
+ -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:'
+ chown news:news /etc/news/inn.conf
+ chmod 644 /etc/news/inn.conf
+ fi
+
+ INNCHECK_LINES=$(
+ su - news -c "/usr/$(get_libdir)/news/bin/inncheck | wc -l"
+ )
+ if [[ ${INNCHECK_LINES} -gt 0 ]]; then
+ NEWS_ERRFLAG="1"
+ ewarn "inncheck most certainly found an error."
+ ewarn "Please check its output:"
+ eerror "`su - news -c /usr/$(get_libdir)/news/bin/inncheck`"
+ fi
+
+ if [[ ${NEWS_ERRFLAG} -gt 0 ]]; then
+ eerror "There were one or more errors/warnings checking your"
+ eerror "configuration. Please read inn's documentation and"
+ eerror "fix them accordingly."
+ else
+ einfo "INN configuration tests passed successfully."
+ ewarn "Please ensure you have configured inn properly."
+ fi
+}
diff --git a/net-nntp/inn/metadata.xml b/net-nntp/inn/metadata.xml
new file mode 100644
index 000000000000..93a158225936
--- /dev/null
+++ b/net-nntp/inn/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+<use>
+ <flag name='innkeywords'>Enable automatic keyword generation support</flag>
+ <flag name='inntaggedhash'>Use tagged hash table for history (disables large
+ file support)</flag>
+</use>
+</pkgmetadata>
diff --git a/net-nntp/kwooty/Manifest b/net-nntp/kwooty/Manifest
new file mode 100644
index 000000000000..95fa8d9e9a44
--- /dev/null
+++ b/net-nntp/kwooty/Manifest
@@ -0,0 +1 @@
+DIST kwooty-1.1.0.tar.gz 304450 SHA256 578d0e976edd3ccbea6dabd486878a2b0b357d4b69884865eb4149b3a5564981 SHA512 54e93b54045104f89b56fd670677708439bf18dae42f00d6c2fcf546802aa9eeab3a47c0a16e259ba081eacdb57e176fd48ec25dbaf53037898d85f63d959ab5 WHIRLPOOL 7ed200a37f719cb05398fb7f787c6c6c4888dcf66e260032878d8dada3604c8b60f2da47373545e8ef04c3bc191acb5bd3f8940308f040cca8385f1779589f90
diff --git a/net-nntp/kwooty/kwooty-1.1.0.ebuild b/net-nntp/kwooty/kwooty-1.1.0.ebuild
new file mode 100644
index 000000000000..300c3366ecb1
--- /dev/null
+++ b/net-nntp/kwooty/kwooty-1.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+KDE_LINGUAS="cs de fr"
+
+inherit kde4-base
+
+DESCRIPTION="Friendly nzb linux usenet binary client"
+HOMEPAGE="http://kwooty.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="4"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+DEPEND="
+ $(add_kdebase_dep libkworkspace)
+"
+RDEPEND="
+ ${DEPEND}
+ app-arch/unrar
+ app-arch/par2cmdline
+"
+
+DOCS=( README.txt TODO )
diff --git a/net-nntp/kwooty/metadata.xml b/net-nntp/kwooty/metadata.xml
new file mode 100644
index 000000000000..2cf8d8693355
--- /dev/null
+++ b/net-nntp/kwooty/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>net-news</herd>
+ <upstream>
+ <remote-id type="sourceforge">kwooty</remote-id>
+ <remote-id type="gitorious">kwooty</remote-id>
+ <bugs-to>http://sourceforge.net/tracker/?group_id=285032</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/net-nntp/leafnode/Manifest b/net-nntp/leafnode/Manifest
new file mode 100644
index 000000000000..a2486deb0168
--- /dev/null
+++ b/net-nntp/leafnode/Manifest
@@ -0,0 +1,2 @@
+DIST leafnode-1.11.10.tar.bz2 493480 SHA256 d75ba79961a8900b273eb74c3ad6976bf9fd64c2fa0284273e65f98190c5f2bc SHA512 efffbe9a3fe10da64ebfaff31738b66e9783923ea119e2f792bc0e7e1811d570e85c5ddec17af6787333958deeee3af9bec87d1312c37eb19e355147dfa721ae WHIRLPOOL ed47717d7c2a6d21ba0b07f0daf5a5c716ff90034ea3747d57958163142eb154778267b9c370082b0e5a8e7e35942b3334bd6ff9f9d476186e27d838e2a26897
+DIST leafnode-1.11.8.tar.bz2 504617 SHA256 543d921549a811cbd4a7763b241af7dcfe5722ab1d6b7515c88f680833876e22 SHA512 93f8af5f3e99e7a55f0e8cbd9ceb22d7f3d82f8683e3390c2ee646e686aba7a748caa038f4aef27cd1934d46a5a49c0b29bd317926b7dffeae138607184e7bfb WHIRLPOOL 8848645ac2ef24bb9836a4026c1c5c528d659f45b2f9f49fe2bb63ba41267c42279ba18c52c2bcbea8eaaece55475936dda25b27897830967db57ca314e948dd
diff --git a/net-nntp/leafnode/files/fetchnews.cron b/net-nntp/leafnode/files/fetchnews.cron
new file mode 100644
index 000000000000..cd4569e6d656
--- /dev/null
+++ b/net-nntp/leafnode/files/fetchnews.cron
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# Uncomment the following if you want to regularly
+# fetch new messages from your news server.
+#
+#
+# This is part of the leafnode package.
+#
+
+#/usr/sbin/fetchnews
diff --git a/net-nntp/leafnode/files/leafnode.xinetd b/net-nntp/leafnode/files/leafnode.xinetd
new file mode 100644
index 000000000000..fc36ecaaaa03
--- /dev/null
+++ b/net-nntp/leafnode/files/leafnode.xinetd
@@ -0,0 +1,12 @@
+# default: off
+# description: Leafnode - accepts connections on port 119 (NNTP)
+
+service nntp
+{
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = news
+ server = /usr/sbin/leafnode
+ disable = yes
+}
diff --git a/net-nntp/leafnode/files/texpire.cron b/net-nntp/leafnode/files/texpire.cron
new file mode 100644
index 000000000000..643da1ee9000
--- /dev/null
+++ b/net-nntp/leafnode/files/texpire.cron
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# Uncomment the following if you want to
+# clean up your news spool regularly.
+#
+#
+# This is part of the leafnode package.
+#
+
+#/usr/sbin/texpire
diff --git a/net-nntp/leafnode/leafnode-1.11.10.ebuild b/net-nntp/leafnode/leafnode-1.11.10.ebuild
new file mode 100644
index 000000000000..997ee679a97f
--- /dev/null
+++ b/net-nntp/leafnode/leafnode-1.11.10.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="A USENET software package designed for small sites"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+HOMEPAGE="http://leafnode.sourceforge.net/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="ipv6"
+
+DEPEND=">=dev-libs/libpcre-3.9"
+RDEPEND="${DEPEND}
+ virtual/inetd"
+DOCS=( CREDITS ChangeLog FAQ.txt FAQ.pdf INSTALL NEWS README-daemontools UNINSTALL-daemontools README README-MAINTAINER README-FQDN )
+
+src_configure() {
+ econf \
+ --sysconfdir=/etc/leafnode \
+ --localstatedir=/var \
+ --with-spooldir=/var/spool/news \
+ $(use_with ipv6)
+}
+
+src_install() {
+ default
+
+ keepdir \
+ /var/lock/news \
+ /var/lib/news \
+ /var/spool/news/{failed.postings,interesting.groups,leaf.node,out.going,temp.files} \
+ /var/spool/news/message.id/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
+
+ fowners -R news:news /var/{lib,spool}/news
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/leafnode.xinetd leafnode-nntp
+
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}"/fetchnews.cron fetchnews
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}"/texpire.cron texpire
+
+ dohtml FAQ.html FAQ.xml README-FQDN.html
+}
diff --git a/net-nntp/leafnode/leafnode-1.11.8.ebuild b/net-nntp/leafnode/leafnode-1.11.8.ebuild
new file mode 100644
index 000000000000..8c2f11be83b2
--- /dev/null
+++ b/net-nntp/leafnode/leafnode-1.11.8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="A USENET software package designed for small sites"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+HOMEPAGE="http://leafnode.sourceforge.net/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="ipv6"
+
+DEPEND=">=dev-libs/libpcre-3.9"
+RDEPEND="${DEPEND}
+ virtual/inetd"
+DOCS=( CREDITS ChangeLog FAQ.txt FAQ.pdf INSTALL NEWS README-daemontools UNINSTALL-daemontools README README-MAINTAINER README-FQDN )
+
+src_configure() {
+ econf \
+ --sysconfdir=/etc/leafnode \
+ --localstatedir=/var \
+ --with-spooldir=/var/spool/news \
+ $(use_with ipv6)
+}
+
+src_install() {
+ default
+
+ keepdir \
+ /var/lock/news \
+ /var/lib/news \
+ /var/spool/news/{failed.postings,interesting.groups,leaf.node,out.going,temp.files} \
+ /var/spool/news/message.id/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
+
+ fowners -R news:news /var/{lib,spool}/news
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/leafnode.xinetd leafnode-nntp
+
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}"/fetchnews.cron fetchnews
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}"/texpire.cron texpire
+
+ dohtml FAQ.html FAQ.xml README-FQDN.html
+}
diff --git a/net-nntp/leafnode/metadata.xml b/net-nntp/leafnode/metadata.xml
new file mode 100644
index 000000000000..a1f1b73219d4
--- /dev/null
+++ b/net-nntp/leafnode/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-news</herd>
+ <upstream>
+ <remote-id type="sourceforge">leafnode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-nntp/metadata.xml b/net-nntp/metadata.xml
new file mode 100644
index 000000000000..fb6c7192915b
--- /dev/null
+++ b/net-nntp/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The net-nntp category contains NNTP (Network News Transfer Protocol)
+ software.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie net-nntp enthält Software für das Network News Transfer Protocol
+ (NNTP).
+ </longdescription>
+ <longdescription lang="es">
+ La categoría net-nntp contiene software NNTP (Network News Transfer
+ Protocol).
+ </longdescription>
+ <longdescription lang="ja">
+ net-nntpカテゴリーにはネットワーク・ニュース・トランスファー・プロトコルの
+ ソフトウェアが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De net-nntp categorie bevat applicaties voor NNTP (Network News Transfer Protocol).
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm net-nntp chứa các phần mềm NNTP (Network News Transfer Protocol).
+ </longdescription>
+ <longdescription lang="it">
+ La categoria net-nntp contiene software NNTP (Network News Transfer
+ Protocol).
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria net-nntp contém programas de NNTP (Network News
+ Transfer Protocol).
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria net-nntp zawiera oprogramowanie związane z NNTP (Network News
+ Transfer Protocol).
+ </longdescription>
+</catmetadata>
+
diff --git a/net-nntp/newspost/Manifest b/net-nntp/newspost/Manifest
new file mode 100644
index 000000000000..b61217691003
--- /dev/null
+++ b/net-nntp/newspost/Manifest
@@ -0,0 +1 @@
+DIST newspost-2.1.1.tar.gz 61412 SHA256 bdd1ae83d7459d2cdd726115c028405fce33f9b60e71b88969f82fbc02672be7 SHA512 d7f5b583ef5619a65e87f2ce2edbad307d60da7f29e5c6bef8eaa7c757f97f82f08654409a75ea7b28e5575fd267af57cbc170f467f6737f701bfbd6bd4b2f66 WHIRLPOOL 7ab7e3a39b300ab262293be4933105b2796d85ae8af919a22adf164754bcc598abe9c75974aa99670e3037d211189b78385771128c2d4b871700f52f7bba9ad8
diff --git a/net-nntp/newspost/files/CAN-2005-0101.patch b/net-nntp/newspost/files/CAN-2005-0101.patch
new file mode 100644
index 000000000000..2bfdfc2c190d
--- /dev/null
+++ b/net-nntp/newspost/files/CAN-2005-0101.patch
@@ -0,0 +1,11 @@
+--- base/socket.c.orig Tue Jan 18 11:08:02 2005
++++ base/socket.c Tue Jan 18 11:10:08 2005
+@@ -126,7 +126,7 @@
+
+ i = 0;
+ pi = buffer;
+- while (TRUE) {
++ while (read_count < STRING_BUFSIZE - 1) {
+ retval = read(sockfd, pi, 1);
+ if(retval < 0)
+ ui_socket_error(errno);
diff --git a/net-nntp/newspost/files/newspost-2.1.1-glibc-2.10.patch b/net-nntp/newspost/files/newspost-2.1.1-glibc-2.10.patch
new file mode 100644
index 000000000000..fdaa78cbefb7
--- /dev/null
+++ b/net-nntp/newspost/files/newspost-2.1.1-glibc-2.10.patch
@@ -0,0 +1,57 @@
+diff -ur newspost-2.1.1.orig/base/newspost.c newspost-2.1.1/base/newspost.c
+--- newspost-2.1.1.orig/base/newspost.c 2003-04-23 18:33:23.000000000 +0300
++++ newspost-2.1.1/base/newspost.c 2009-08-06 14:46:41.000000000 +0300
+@@ -342,7 +342,7 @@
+ file = fopen(filename, "r");
+ if (file != NULL) {
+ while (!feof(file)) {
+- line = getline(line, file);
++ line = get_line(line, file);
+ if(line == NULL){
+ text_buffer = buff_add(text_buffer, "\r\n");
+ continue;
+diff -ur newspost-2.1.1.orig/base/utils.c newspost-2.1.1/base/utils.c
+--- newspost-2.1.1.orig/base/utils.c 2009-08-06 14:44:35.000000000 +0300
++++ newspost-2.1.1/base/utils.c 2009-08-06 14:45:20.000000000 +0300
+@@ -43,7 +43,7 @@
+ return NULL;
+ }
+
+-Buff * getline(Buff *buff, FILE *file){
++Buff * get_line(Buff *buff, FILE *file){
+ int c = fgetc(file);
+ buff = buff_free(buff);
+ while(TRUE){
+diff -ur newspost-2.1.1.orig/base/utils.h newspost-2.1.1/base/utils.h
+--- newspost-2.1.1.orig/base/utils.h 2003-02-08 17:09:41.000000000 +0200
++++ newspost-2.1.1/base/utils.h 2009-08-06 14:45:13.000000000 +0300
+@@ -26,7 +26,7 @@
+ file_entry * file_entry_alloc();
+ file_entry * file_entry_free(file_entry *fe);
+
+-Buff * getline(Buff *buff, FILE *file);
++Buff * get_line(Buff *buff, FILE *file);
+ Buff *buff_add(Buff *buff, char *data, ... );
+ Buff * buff_free(Buff *buff);
+ Buff *buff_create(Buff *buff, char *data, ... );
+diff -ur newspost-2.1.1.orig/ui/options.c newspost-2.1.1/ui/options.c
+--- newspost-2.1.1.orig/ui/options.c 2003-04-23 18:33:33.000000000 +0300
++++ newspost-2.1.1/ui/options.c 2009-08-06 14:46:31.000000000 +0300
+@@ -332,7 +332,7 @@
+ file = fopen(filename->data, "r");
+ if (file != NULL) {
+ while (!feof(file)) {
+- line = getline(line, file);
++ line = get_line(line, file);
+ linenum++;
+ if(line == NULL) continue;
+
+@@ -429,7 +429,7 @@
+ linenum = 0;
+ while (linenum < 8) {
+ linenum++;
+- line = getline(line, file);
++ line = get_line(line, file);
+ if(line == NULL) continue;
+
+ switch (linenum) {
diff --git a/net-nntp/newspost/files/newspost-2.1.1-nntp.patch b/net-nntp/newspost/files/newspost-2.1.1-nntp.patch
new file mode 100644
index 000000000000..8779e8f36b47
--- /dev/null
+++ b/net-nntp/newspost/files/newspost-2.1.1-nntp.patch
@@ -0,0 +1,69 @@
+--- newspost-2.1.1.orig/base/nntp.c
++++ newspost-2.1.1/base/nntp.c
+@@ -26,6 +26,10 @@
+ *** Public Routines
+ **/
+
++int _nntp_post(const char *subject, newspost_data *data,
++ const char *buffer, long length,
++ boolean no_ui_updates);
++
+ boolean nntp_logon(newspost_data *data) {
+ char buffer[STRING_BUFSIZE];
+
+@@ -78,6 +82,35 @@
+ int nntp_post(const char *subject, newspost_data *data,
+ const char *buffer, long length,
+ boolean no_ui_updates) {
++ int retval = _nntp_post(subject, data, buffer, length, no_ui_updates);
++
++ if (retval == POSTING_FAILED-64) {
++ /* try log out then back in */
++ ui_nntp_posting_retry();
++ nntp_logoff();
++ socket_close();
++ sleep(5);
++
++ /* create the socket */
++ ui_socket_connect_start(data->address->data);
++ retval = socket_create(data->address->data, data->port);
++ if (retval < 0)
++ return retval;
++ ui_socket_connect_done();
++
++ ui_nntp_logon_start(data->address->data);
++ if (nntp_logon(data) == FALSE)
++ return POSTING_FAILED;
++ ui_nntp_logon_done();
++
++ retval = _nntp_post(subject, data, buffer, length, no_ui_updates);
++ }
++ return retval;
++}
++
++int _nntp_post(const char *subject, newspost_data *data,
++ const char *buffer, long length,
++ boolean no_ui_updates) {
+ char response[STRING_BUFSIZE];
+ const char *pi;
+ long i, chunksize;
+@@ -95,7 +128,7 @@
+ if (strncmp(response, NNTP_PROCEED_WITH_POST, 3) != 0) {
+ /* this shouldn't really happen */
+ ui_nntp_unknown_response(response);
+- return POSTING_FAILED;
++ return POSTING_FAILED-64;
+ }
+
+ buff = buff_add(buff, "From: %s\r\n", data->from->data);
+--- newspost-2.1.1.orig/base/utils.c
++++ newspost-2.1.1/base/utils.c
+@@ -44,7 +44,7 @@
+ }
+
+ Buff * getline(Buff *buff, FILE *file){
+- char c = fgetc(file);
++ int c = fgetc(file);
+ buff = buff_free(buff);
+ while(TRUE){
+ if((c == '\n')
diff --git a/net-nntp/newspost/metadata.xml b/net-nntp/newspost/metadata.xml
new file mode 100644
index 000000000000..4d0ebe73a55f
--- /dev/null
+++ b/net-nntp/newspost/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+</pkgmetadata>
diff --git a/net-nntp/newspost/newspost-2.1.1-r3.ebuild b/net-nntp/newspost/newspost-2.1.1-r3.ebuild
new file mode 100644
index 000000000000..a6b7232902d8
--- /dev/null
+++ b/net-nntp/newspost/newspost-2.1.1-r3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A usenet binary autoposter for unix"
+HOMEPAGE="http://newspost.unixcab.org/"
+SRC_URI="http://newspost.unixcab.org/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+src_prepare() {
+ # Should fix some problems with unexpected server replies, cf. bug 185468
+ epatch "${FILESDIR}"/${P}-nntp.patch
+ epatch "${FILESDIR}"/CAN-2005-0101.patch
+ epatch "${FILESDIR}"/${P}-glibc-2.10.patch
+
+ sed -e "/-strip newspost/d" -i Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LIBS="${LDFLAGS}" main
+}
+
+src_install () {
+ dobin newspost
+ doman man/man1/newspost.1
+ dodoc CHANGES README
+}
diff --git a/net-nntp/nzb/Manifest b/net-nntp/nzb/Manifest
new file mode 100644
index 000000000000..d270810c07cd
--- /dev/null
+++ b/net-nntp/nzb/Manifest
@@ -0,0 +1,2 @@
+DIST nzb-0.2.tar.gz 44351 SHA256 df27606e8e016485a7e9cfb3aa7a2cea9f453d1f26901c02d53731ef0c816497 SHA512 3bfafa8a971a996661e542e72fb63f63530d7efd7e3814a87c3f822764837a151b1c0279bd718a3cafc925d759d8cf338537ba80618014b24a9b836da990f435 WHIRLPOOL 5ce9af8113e97a62e22983dd98cedb2910f4b3789a447c3579a76dc26b84d0647d0749a92632a63db963ee320b0c22859380b83e56018aec0b571d700114d461
+DIST nzb-0.3.tar.gz 47596 SHA256 29811cfc6bd3d972683b33b7410ddfcbfe829269e12894a7b2ab2392b9b2c050 SHA512 f0c7c3d2825a98439848b895074d5a8c66264d90f87b8e988ea21405c4a01546d8fda5024aefbc7c0e6ff7fb45b8f29202516fd20a375c1fc0e999595da95ee3 WHIRLPOOL 8ec6733c089447f502407cde57896f0d2489afa2bd378f4845efb9f5257a4958861f4f037cb9e398409d6ceca9a6bbe2e1fffd8fcb03d1baa2937df1d35102b9
diff --git a/net-nntp/nzb/metadata.xml b/net-nntp/nzb/metadata.xml
new file mode 100644
index 000000000000..3344595f6cf7
--- /dev/null
+++ b/net-nntp/nzb/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <herd>net-news</herd>
+ <upstream>
+ <remote-id type="sourceforge">nzb</remote-id>
+ <bugs-to>http://sourceforge.net/tracker/?group_id=113793</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/net-nntp/nzb/nzb-0.2.ebuild b/net-nntp/nzb/nzb-0.2.ebuild
new file mode 100644
index 000000000000..879a8b104623
--- /dev/null
+++ b/net-nntp/nzb/nzb-0.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils qt4-r2
+
+DESCRIPTION="A binary news grabber"
+HOMEPAGE="http://www.nzb.fi/"
+SRC_URI="mirror://sourceforge/nzb/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+RDEPEND="${DEPEND}"
+
+DOCS="ChangeLog"
+
+src_install() {
+ qt4-r2_src_install
+ doicon images/nzb.png
+ make_desktop_entry nzb
+}
diff --git a/net-nntp/nzb/nzb-0.3.ebuild b/net-nntp/nzb/nzb-0.3.ebuild
new file mode 100644
index 000000000000..326027447afc
--- /dev/null
+++ b/net-nntp/nzb/nzb-0.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils qt4-r2
+
+DESCRIPTION="A binary news grabber"
+HOMEPAGE="http://www.nzb.fi/"
+SRC_URI="mirror://sourceforge/nzb/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+RDEPEND="${DEPEND}"
+
+DOCS=( ChangeLog )
+
+src_install() {
+ qt4-r2_src_install
+ doicon images/nzb.png
+ make_desktop_entry nzb
+}
diff --git a/net-nntp/nzbget/Manifest b/net-nntp/nzbget/Manifest
new file mode 100644
index 000000000000..43534e41f468
--- /dev/null
+++ b/net-nntp/nzbget/Manifest
@@ -0,0 +1,7 @@
+DIST nzbget-10.2.tar.gz 671808 SHA256 c9b878744c162e7721ffc8b048a2e4550a8ed8da6e706ee4cbd026ed2d612ec2 SHA512 be37d8a3a1a7899885a4186dba3bf5cee46ef325c60a0e09e9102a38f5b7694bf6e02d0794cb68a226111f4813c4d61354790710340b446edca5216f3c441b01 WHIRLPOOL 14e82696dc410caedba4b56f4c0dbab11533b981b2e5d98440de47467982d14817cb697893c0eedef4095b0dffb821bf5a878db86928b1df2afb6b88065a1990
+DIST nzbget-11.0.tar.gz 694197 SHA256 27abacf6c604969dc987b7e50689caef22a65dbb1690b020b0c6d147ae123b3d SHA512 ea3d16abb1cb0b31691c9ce5493276c6e5432f72c52ad05a7fc8ed72aafd251a725d4c87454430243cea6d79d1bd19fdfad8699727a7bd44917ad1d7bf75e323 WHIRLPOOL 5fec598b9c4441873b8d220454fb911c99e0a52a3ab45220583bced347918175cdc7a348fbddd85b2514798d4aa711941932d2fcb0df3cb9f59355070ecc5be7
+DIST nzbget-12.0.tar.gz 1114126 SHA256 023c4e3b9c7e920d9ea72b60135b438ce13543454f79984c06fd15365b9a882e SHA512 2b6be81ea60108fdb609738eb719e98af97ffcab706a5c38b6b668ff85d42609f5a3eb85f0e2dc97547bf88ef249fa9060ef4583c0b57ac7fb39e139fa897294 WHIRLPOOL 62fcdb1d9bf9a39f52aef1087ecfcc5158089a73955e357288ab6bb387c7fd0987a8178ece2424634e28478af29fdf086b622730b93771970d7f297bfe11a5be
+DIST nzbget-13.0.tar.gz 1229936 SHA256 666f5244f31f10333a18450e7a6c1ac729ac68594042236711ba99dd32e78f8e SHA512 f7b38002551a7580267f47f0fa902744c27ed497b4f2a53c34c1ac463e3d54e25c9f6b9e59ac1b8861a3f7f933fcb5d0badd3819be15cc52d615f086c6297377 WHIRLPOOL eae4a4281ff06f8d3d816f913a43f4d07331a948aae7181f9e7e365a8132ee39765626a5a11926b1078db69655146620c7690952101ab128999e0e98046bf50e
+DIST nzbget-14.0.tar.gz 1333744 SHA256 41d243617f3523dcba86676ff1193fa361562aecdfa100ebc01bf57bc26d38e5 SHA512 98433a5bb6ca3b06bbd3d67fbd12c96a84140fb1ae64b9001dec17b55d2ac1cb25e7e1bd0849e0b7bdbdc03243b4b9e7b2fb7b3ecade67bd98376504e3822225 WHIRLPOOL 02e07e18a81f215ec9df540f91a6487a45220d7e72d73f490754ffc1b98ae40bd11ab174e3b5044de1e9faadc67c396791183d27d4614d9933eecf3766ef065a
+DIST nzbget-14.1.tar.gz 1332334 SHA256 a16b816b61f7035cc373e9b77094ca474d5b7b7f7ceff5fa8818249181db4b18 SHA512 fae938529bb3968c0161f63ec3af07f844a8128b61abf6298457a4878ac0d47541d76730c8a068509fa091b102de07c9d28dcd668a8192fcfac60980f69be56d WHIRLPOOL 9e9636b67d0af7780d2cc8f897465f5a2e23cd8695b3bd982e3e9f78d68adb34f84faf59253044c7b2f95db737cf59207b35cf312d1f1825fe4b9ecce2e4014f
+DIST nzbget-14.2.tar.gz 1332612 SHA256 bb24afb47dc01766c5e5c02d7565190082c6e13ffed565969a2ec52e21104677 SHA512 0e1e9c1307927f6ac4772d9138901893a9782fad137756ca40617ea7e8dd7946f2927f3f5303d676d09920de0a005cb1313292fda0c5d0288d73fc8e0f949516 WHIRLPOOL 7fb9c5c44515e1ed4a02213af6f8a13e41452a85a710ba9e59483c8c95b9d9bc1f2c475f81d0a75ab982292fccd5ce797f2396fe09ec7339d31ea551f3c36a4e
diff --git a/net-nntp/nzbget/files/nzbget-11.0-header.patch b/net-nntp/nzbget/files/nzbget-11.0-header.patch
new file mode 100644
index 000000000000..ad65208b61d1
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget-11.0-header.patch
@@ -0,0 +1,10 @@
+--- nzbget-11.0/ParCoordinator.cpp
++++ nzbget-11.0/ParCoordinator.cpp
+@@ -35,6 +35,7 @@
+ #include <string.h>
+ #include <stdio.h>
+ #include <stdarg.h>
++#include <ctype.h>
+ #ifdef WIN32
+ #include <direct.h>
+ #else
diff --git a/net-nntp/nzbget/files/nzbget-13.0_pre1042-gzip-endif.patch b/net-nntp/nzbget/files/nzbget-13.0_pre1042-gzip-endif.patch
new file mode 100644
index 000000000000..be09a1e9dda3
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget-13.0_pre1042-gzip-endif.patch
@@ -0,0 +1,18 @@
+Index: daemon/util/Util.cpp
+===================================================================
+--- daemon/util/Util.cpp (revision 1046)
++++ daemon/util/Util.cpp (working copy)
+@@ -2368,6 +2368,7 @@
+
+ return zlError;
+ }
++#endif
+
+ Tokenizer::Tokenizer(const char* szDataString, const char* szSeparators)
+ {
+@@ -2423,5 +2424,3 @@
+ }
+ return szToken;
+ }
+-
+-#endif
diff --git a/net-nntp/nzbget/files/nzbget-14.0_pre1145-tinfo.patch b/net-nntp/nzbget/files/nzbget-14.0_pre1145-tinfo.patch
new file mode 100644
index 000000000000..e6cd13f6ffc1
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget-14.0_pre1145-tinfo.patch
@@ -0,0 +1,18 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,6 +46,7 @@
+ AC_PATH_PROG(MAKE, make, $FALSE)
+ AC_PROG_INSTALL
+
++PKG_PROG_PKG_CONFIG()
+
+ dnl
+ dnl Do all tests with c++ compiler.
+@@ -291,6 +292,7 @@
+ if test "$FOUND" = "no"; then
+ AC_MSG_ERROR([Couldn't find curses headers (ncurses.h or curses.h)])
+ fi
++ PKG_CHECK_MODULES(ncurses,ncurses,LIBS="$LIBS $ncurses_LIBS",)
+ AC_SEARCH_LIBS([refresh], [ncurses curses],,
+ AC_ERROR([Couldn't find curses library]))
+ else
diff --git a/net-nntp/nzbget/files/nzbget-9.0_pre477-buffer-overflows.patch b/net-nntp/nzbget/files/nzbget-9.0_pre477-buffer-overflows.patch
new file mode 100644
index 000000000000..ca26fc141bc2
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget-9.0_pre477-buffer-overflows.patch
@@ -0,0 +1,42 @@
+--- nzbget-9.0-testing/RemoteClient.cpp
++++ nzbget-9.0-testing/RemoteClient.cpp
+@@ -541,20 +541,20 @@
+ {
+ if (szParameters[0] == '\0')
+ {
+- strncat(szParameters, " (", 1024);
++ strncat(szParameters, " (", sizeof(szParameters) - strlen(szParameters) - 1);
+ }
+ else
+ {
+- strncat(szParameters, ", ", 1024);
++ strncat(szParameters, ", ", sizeof(szParameters) - strlen(szParameters) - 1);
+ }
+ NZBParameter* pNZBParameter = *it;
+- strncat(szParameters, pNZBParameter->GetName(), 1024);
+- strncat(szParameters, "=", 1024);
+- strncat(szParameters, pNZBParameter->GetValue(), 1024);
++ strncat(szParameters, pNZBParameter->GetName(), sizeof(szParameters) - strlen(szParameters) - 1);
++ strncat(szParameters, "=", sizeof(szParameters) - strlen(szParameters) - 1);
++ strncat(szParameters, pNZBParameter->GetValue(), sizeof(szParameters) - strlen(szParameters) - 1);
+ }
+ if (szParameters[0] != '\0')
+ {
+- strncat(szParameters, ")", 1024);
++ strncat(szParameters, ")", sizeof(szParameters) - strlen(szParameters) - 1);
+ }
+
+ if (!szPattern || ((MatchedNZBInfo*)pGroupInfo->GetNZBInfo())->m_bMatch)
+@@ -672,10 +672,10 @@
+
+ if (ntohl(ListResponse.m_iPostJobCount) > 0 || ntohl(ListResponse.m_bPostPaused))
+ {
+- strncat(szServerState, strlen(szServerState) > 0 ? ", Post-Processing" : "Post-Processing", sizeof(szServerState));
++ strncat(szServerState, strlen(szServerState) > 0 ? ", Post-Processing" : "Post-Processing", sizeof(szServerState) - strlen(szServerState) - 1);
+ if (ntohl(ListResponse.m_bPostPaused))
+ {
+- strncat(szServerState, " paused", sizeof(szServerState));
++ strncat(szServerState, " paused", sizeof(szServerState) - strlen(szServerState) - 1);
+ }
+ }
+
diff --git a/net-nntp/nzbget/files/nzbget.confd b/net-nntp/nzbget/files/nzbget.confd
new file mode 100644
index 000000000000..ee8f38c1aefd
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget.confd
@@ -0,0 +1,15 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# /etc/conf.d/nzbget
+# Config file for nzbget init script
+
+# Which user to run nzbget as
+NZBGET_USER="nzbget"
+NZBGET_GROUP="nzbget"
+
+# Location of config file
+NZBGET_CONFIGFILE="/etc/nzbgetd.conf"
+
+# Other options
+NZBGET_OPTS=""
diff --git a/net-nntp/nzbget/files/nzbget.initd b/net-nntp/nzbget/files/nzbget.initd
new file mode 100644
index 000000000000..736e7a528b65
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+extra_started_commands="pause unpause"
+
+start() {
+ ebegin "Starting nzbget"
+ checkpath -d -m 0755 -o "${NZBGET_USER}:${NZBGET_GROUP}" /run/nzbget
+ start-stop-daemon --quiet --start --user "${NZBGET_USER}" \
+ --group "${NZBGET_GROUP}" --exec /usr/bin/nzbget -- \
+ --configfile "${NZBGET_CONFIGFILE}" --daemon \
+ ${NZBGET_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping nzbget"
+ /usr/bin/nzbget --configfile "${NZBGET_CONFIGFILE}" --quit >/dev/null
+ eend $?
+}
+
+pause() {
+ ebegin "Pausing nzbget"
+ /usr/bin/nzbget --configfile "${NZBGET_CONFIGFILE}" --pause >/dev/null
+ eend $?
+}
+
+unpause() {
+ ebegin "Unpausing nzbget"
+ /usr/bin/nzbget --configfile "${NZBGET_CONFIGFILE}" --unpause >/dev/null
+ eend $?
+}
diff --git a/net-nntp/nzbget/metadata.xml b/net-nntp/nzbget/metadata.xml
new file mode 100644
index 000000000000..09a844118d2e
--- /dev/null
+++ b/net-nntp/nzbget/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>net-news</herd>
+ <maintainer>
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+ </maintainer>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <longdescription>A command-line based binary newsgrabber supporting .nzb files.</longdescription>
+ <use>
+ <flag name="parcheck">Enable support for checking PAR archives</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">nzbget</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-nntp/nzbget/nzbget-10.2.ebuild b/net-nntp/nzbget/nzbget-10.2.ebuild
new file mode 100644
index 000000000000..ac4d3cddae50
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-10.2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools user
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib "
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ sed -i 's:^PostProcess=.*:#PostProcess=/usr/share/nzbget/nzbget-postprocess.sh:' \
+ nzbget.conf || die
+
+ sed -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ epatch "${FILESDIR}"/${PN}-9.0_pre477-buffer-overflows.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ --disable-libpar2-bugfixes-check \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ exeinto /usr/share/nzbget
+ doexe nzbget-postprocess.sh
+
+ # remove duplicate script/config
+ rm "${D}"/usr/share/nzbget/nzbget.conf
+ rm "${D}"/usr/bin/nzbget-postprocess.sh
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners root:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+}
diff --git a/net-nntp/nzbget/nzbget-11.0.ebuild b/net-nntp/nzbget/nzbget-11.0.ebuild
new file mode 100644
index 000000000000..ed47010975ff
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-11.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools user
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib "
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+ sed -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ epatch "${FILESDIR}"/${PN}-9.0_pre477-buffer-overflows.patch
+ epatch "${FILESDIR}"/${P}-header.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ --disable-libpar2-bugfixes-check \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ # remove duplicate script/config
+ rm "${D}"/usr/share/nzbget/nzbget.conf || die
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners root:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+ fi
+}
diff --git a/net-nntp/nzbget/nzbget-12.0-r1.ebuild b/net-nntp/nzbget/nzbget-12.0-r1.ebuild
new file mode 100644
index 000000000000..a64db3182b01
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-12.0-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools user
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib"
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+ sed \
+ -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ -e 's:^WebDir=.*:WebDir=/usr/share/nzbget/webui:' \
+ -e 's:^ConfigTemplate=.*:ConfigTemplate=/usr/share/nzbget/nzbget.conf:' \
+ -e 's:^DaemonUsername=.*:DaemonUsername=nzbget:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ --disable-libpar2-bugfixes-check \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners nzbget:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+ fi
+}
diff --git a/net-nntp/nzbget/nzbget-13.0.ebuild b/net-nntp/nzbget/nzbget-13.0.ebuild
new file mode 100644
index 000000000000..74faece74214
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-13.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools user eutils
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib"
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+ sed \
+ -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ -e 's:^WebDir=.*:WebDir=/usr/share/nzbget/webui:' \
+ -e 's:^ConfigTemplate=.*:ConfigTemplate=/usr/share/nzbget/nzbget.conf:' \
+ -e 's:^DaemonUsername=.*:DaemonUsername=nzbget:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ epatch "${FILESDIR}"/${PN}-13.0_pre1042-gzip-endif.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ --disable-libpar2-bugfixes-check \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners nzbget:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+ fi
+}
diff --git a/net-nntp/nzbget/nzbget-14.0.ebuild b/net-nntp/nzbget/nzbget-14.0.ebuild
new file mode 100644
index 000000000000..e4ca4563db76
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-14.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils user
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib"
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-14.0_pre1145-tinfo.patch
+
+ sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+ sed \
+ -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ -e 's:^WebDir=.*:WebDir=/usr/share/nzbget/webui:' \
+ -e 's:^ConfigTemplate=.*:ConfigTemplate=/usr/share/nzbget/nzbget.conf:' \
+ -e 's:^DaemonUsername=.*:DaemonUsername=nzbget:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners nzbget:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+ fi
+}
diff --git a/net-nntp/nzbget/nzbget-14.1.ebuild b/net-nntp/nzbget/nzbget-14.1.ebuild
new file mode 100644
index 000000000000..e564dcfee2be
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-14.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils user
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib"
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-14.0_pre1145-tinfo.patch
+
+ sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+ sed \
+ -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ -e 's:^WebDir=.*:WebDir=/usr/share/nzbget/webui:' \
+ -e 's:^ConfigTemplate=.*:ConfigTemplate=/usr/share/nzbget/nzbget.conf:' \
+ -e 's:^DaemonUsername=.*:DaemonUsername=nzbget:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners nzbget:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+ fi
+}
diff --git a/net-nntp/nzbget/nzbget-14.2.ebuild b/net-nntp/nzbget/nzbget-14.2.ebuild
new file mode 100644
index 000000000000..092726eadb10
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-14.2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils user
+
+MY_P=${P/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug gnutls ncurses parcheck ssl zlib"
+
+RDEPEND="dev-libs/libxml2
+ ncurses? ( sys-libs/ncurses )
+ parcheck? (
+ app-arch/libpar2
+ dev-libs/libsigc++:2
+ )
+ ssl? (
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl )
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${P/_pre*/-testing}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-14.0_pre1145-tinfo.patch
+
+ sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+ sed \
+ -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+ -e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+ -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \
+ -e 's:^WebDir=.*:WebDir=/usr/share/nzbget/webui:' \
+ -e 's:^ConfigTemplate=.*:ConfigTemplate=/usr/share/nzbget/nzbget.conf:' \
+ -e 's:^DaemonUsername=.*:DaemonUsername=nzbget:' \
+ "${S}"/nzbget.conf > "${S}"/nzbgetd.conf || die
+
+ sed -i "/^dist_doc_DATA/d" Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable ncurses curses) \
+ $(use_enable parcheck) \
+ $(use_enable ssl tls) \
+ $(use_enable zlib gzip) \
+ --with-tlslib=$(usex gnutls GnuTLS OpenSSL)
+}
+
+src_install() {
+ default
+
+ # remove unneeded service script
+ rm "${D}"/usr/sbin/nzbgetd || die
+
+ insinto /etc
+ doins nzbget.conf
+ doins nzbgetd.conf
+
+ keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+ keepdir /var/log/nzbget
+
+ newinitd "${FILESDIR}"/nzbget.initd nzbget
+ newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+ enewgroup nzbget
+ enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+ fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+ fperms 750 /var/lib/nzbget/{queue,tmp}
+ fperms 770 /var/lib/nzbget/{dst,nzb}
+
+ fowners nzbget:nzbget /var/log/nzbget
+ fperms 750 /var/log/nzbget
+
+ fowners nzbget:nzbget /etc/nzbgetd.conf
+ fperms 640 /etc/nzbgetd.conf
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog
+ elog "Please add users that you want to be able to use the system-wide"
+ elog "nzbget daemon to the nzbget group. To access the daemon run nzbget"
+ elog "with the --configfile /etc/nzbgetd.conf option."
+ elog
+ fi
+}
diff --git a/net-nntp/pan/Manifest b/net-nntp/pan/Manifest
new file mode 100644
index 000000000000..ac377db5571a
--- /dev/null
+++ b/net-nntp/pan/Manifest
@@ -0,0 +1 @@
+DIST pan-0.139.tar.bz2 1523907 SHA256 bf5f320f997f582d7ac823e3e854393307161a92e7014d2135e6e2674d144bb9 SHA512 7c6c5f3f54de475e0b5778cc33b6c46f18cb1100d89eab6ea2a6279492cb95a85226ccd6dba1abb43092b78f7cb100cea3215edb21c7813d624e84104b119a81 WHIRLPOOL b8c05cdabff893895370128dad53e19e29a348f3921c394af1a26210ebd9b89e4772dfb926685a549fc9d667c6cdc39fdf32b043a8761488f9f3a77d52aa52df
diff --git a/net-nntp/pan/files/pan-0.139-pan.desktop.patch b/net-nntp/pan/files/pan-0.139-pan.desktop.patch
new file mode 100644
index 000000000000..1b1de5c4b3db
--- /dev/null
+++ b/net-nntp/pan/files/pan-0.139-pan.desktop.patch
@@ -0,0 +1,31 @@
+From 1dba05f87839a6fa347414a800824812f2642554 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Heinrich=20M=C3=BCller?= <henmull@src.gnome.org>
+Date: Wed, 25 Jul 2012 19:36:44 +0200
+Subject: [PATCH] https://bugzilla.gnome.org/show_bug.cgi?id=680468
+
+---
+ pan.desktop.in | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/pan.desktop.in b/pan.desktop.in
+index 4660140..4bbeca5 100644
+--- a/pan.desktop.in
++++ b/pan.desktop.in
+@@ -1,10 +1,10 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+-_Name=Pan Newsreader
++_Name=Pan
++_GenericName=Newsreader
+ _Comment=Read and Post Usenet Articles
+ Exec=pan
+-Icon=pan.png
++Icon=pan
+ Terminal=false
+ Type=Application
+-Categories=GTK;Application;Network;News
++Categories=GTK;Network;News;
+ StartupNotify=false
+--
+1.8.0
+
diff --git a/net-nntp/pan/metadata.xml b/net-nntp/pan/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/net-nntp/pan/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/net-nntp/pan/pan-0.139.ebuild b/net-nntp/pan/pan-0.139.ebuild
new file mode 100644
index 000000000000..77d2bbfba935
--- /dev/null
+++ b/net-nntp/pan/pan-0.139.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="A newsreader for GNOME"
+HOMEPAGE="http://pan.rebelbase.com/"
+SRC_URI="http://pan.rebelbase.com/download/releases/${PV}/source/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 hppa ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+IUSE="dbus gnome-keyring libnotify spell ssl"
+
+RDEPEND=">=dev-libs/glib-2.26:2
+ >=x11-libs/gtk+-2.16:2
+ dev-libs/gmime:2.6
+ gnome-keyring? ( >=gnome-base/libgnome-keyring-3.2 )
+ libnotify? ( >=x11-libs/libnotify-0.4.1 )
+ spell? (
+ >=app-text/enchant-1.6
+ >=app-text/gtkspell-2.0.7:2 )
+ ssl? ( >=net-libs/gnutls-3 )"
+
+DEPEND="${RDEPEND}
+ app-text/gnome-doc-utils
+ >=dev-util/intltool-0.35.5
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ # in next release
+ epatch "${FILESDIR}/${P}-pan.desktop.patch"
+}
+
+src_configure() {
+ econf \
+ --without-gtk3 \
+ $(use_with dbus) \
+ $(use_enable gnome-keyring gkr) \
+ $(use_with spell gtkspell) \
+ $(use_enable libnotify) \
+ $(use_with ssl gnutls)
+}
diff --git a/net-nntp/sabnzbd/Manifest b/net-nntp/sabnzbd/Manifest
new file mode 100644
index 000000000000..4bfb2182cfb6
--- /dev/null
+++ b/net-nntp/sabnzbd/Manifest
@@ -0,0 +1,5 @@
+DIST SABnzbd-0.7.16-src.tar.gz 2275768 SHA256 2c50496c8be81ac4498944a5209b2c6b3bdfecc48cf4e0df54552c5d985e5772 SHA512 ae97f093c34a100ab92949eb25a48db4c7d7d06c1fc082d3e8390d84e15dbdbbe4e682f47532cb84571039caab9aed377957522fa07b6a0f49c368eb77d66144 WHIRLPOOL 470f300f9f7b5f833d14c8170aee8690cddcfb9e442c3d9a6d108b155d6b2f7afab19010a7bf650c31e4ade5ca680433245a9c226948b52d8301861f5dc35965
+DIST SABnzbd-0.7.17-src.tar.gz 2310300 SHA256 a501517dbaf161deab2153118ff3b44512ee1d8984c3603bf17c593cf080eb09 SHA512 5f8ad391f698f5c8c069ea9a4be59124096ebd24793889db215cbc678dfd572c974083acd0d21b8b776d55cb9ebd8553952147ec2cd1768f3aab66cfba4ebaf3 WHIRLPOOL 6ec6a531c683607d36b533a1ae078ef87e5afdaa02e08588c8b5f045e735a1aa64c234e71c5d7218d15fed0eb64ef12f1a280ef65ed208b0d7a5e1408997fbca
+DIST SABnzbd-0.7.18-src.tar.gz 2317137 SHA256 aa05697d901b3e334e92f274b2e8788973059840be656a1545e8f2a4b070b014 SHA512 db7606be913fc89cdea0c037594b614c16f3887b32d1133c5f7a6c92f3dac5bec2250972e35941cd462e65bb29e91db2a43ff1e6624d827223afb957ec7922fe WHIRLPOOL 313e74425555af3dc86e111440974fefef42531018faad14a2a39649cef21a2b2d1d5a917c4ec13089ef9a46a2c31fe56b544ae0fa72628497782be756e8014f
+DIST SABnzbd-0.7.19-src.tar.gz 2386744 SHA256 31ad0ae24db3873011db816e1b100f4429734b2260f4c669b7261d2f85717487 SHA512 383788d87a3ee4e69ba818f6614f6929aa328d1153b746e04736868de598ee35e556a07cced7c74bc89c54fe77c1e52c4cdde8ed37d536a09bd1c605c551b9e7 WHIRLPOOL fbf1ab129a403011bd6957272d348fd745621e9c13f46f3988362bb8bb7a6ceb26b57253978ec5f5ae97c2ea942ba80ff1cab0ca1d1f99d33a1c55fc03b0dad9
+DIST SABnzbd-0.7.20-src.tar.gz 2389762 SHA256 20b3a4613a0ecdede4fdfeb628ae806e458ac1a6fb684306328dd4ed1faf8742 SHA512 51ea888fcb7b49156cb719cb4fe75725d69acd726097d8b2526d6af87d0404bf08d0ab4b82f25dae7ac9a52d6c639e57a145bf5af6005fa435ad31f239a716d5 WHIRLPOOL 2686160be649c051ac1186481dae1e876650fbc91fe3ea1ab2d1569baea51f0ab7d0be6c7942b9facd6e5f856ab24ab36d1dc2f55dc645f06be275b2e43abb4b
diff --git a/net-nntp/sabnzbd/files/growler-support-gntp-1.0.patch b/net-nntp/sabnzbd/files/growler-support-gntp-1.0.patch
new file mode 100644
index 000000000000..560b88a18d49
--- /dev/null
+++ b/net-nntp/sabnzbd/files/growler-support-gntp-1.0.patch
@@ -0,0 +1,33 @@
+From 96b4891d2323cb44f479bc94d1410348b1468298 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 24 Jun 2013 19:03:17 -0400
+Subject: [PATCH] growler: support >=gntp-1.0
+
+Fixes Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=474540
+---
+ sabnzbd/growler.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/sabnzbd/growler.py b/sabnzbd/growler.py
+index d250703..f39bb44 100644
+--- a/sabnzbd/growler.py
++++ b/sabnzbd/growler.py
+@@ -31,7 +31,14 @@ import sabnzbd
+ import sabnzbd.cfg
+ from sabnzbd.encoding import unicoder, latin1
+ from sabnzbd.constants import NOTIFY_KEYS
+-from gntp import GNTPRegister
++
++try:
++ # <= version 0.6
++ from gntp import GNTPRegister
++except ImportError:
++ # >= version 1.0
++ from gntp.core import GNTPRegister
++
+ from gntp.notifier import GrowlNotifier
+ try:
+ import Growl
+--
+1.8.1.5
+
diff --git a/net-nntp/sabnzbd/files/par2cmdline.patch b/net-nntp/sabnzbd/files/par2cmdline.patch
new file mode 100644
index 000000000000..d5648eb57aea
--- /dev/null
+++ b/net-nntp/sabnzbd/files/par2cmdline.patch
@@ -0,0 +1,12 @@
+--- sabnzbd/newsunpack.py.orig 2013-07-07 13:29:12.000000000 +0200
++++ sabnzbd/newsunpack.py 2013-08-02 20:16:22.286697000 +0200
+@@ -966,7 +966,7 @@
+
+ # Append the wildcard for this set
+ wildcard = '%s*' % os.path.join(os.path.split(parfile)[0], setname)
+- if single or len(globber(wildcard, None)) < 2:
++ if len(globber(wildcard, None)) < 2:
+ # Support bizarre naming conventions
+ wildcard = os.path.join(os.path.split(parfile)[0], '*')
+ command.append(wildcard)
+
diff --git a/net-nntp/sabnzbd/files/sabnzbd b/net-nntp/sabnzbd/files/sabnzbd
new file mode 100644
index 000000000000..ccc1a67fcf71
--- /dev/null
+++ b/net-nntp/sabnzbd/files/sabnzbd
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+pyexe=python2.7
+
+if [ ! -x /usr/bin/${pyexe} ]; then
+ pyexe=python2.6
+fi
+
+if [ ! -x /usr/bin/${pyexe} ]; then
+ echo "No suitable python executable found in /usr/sbin (python2.6 || python2.7)"
+ exit 1
+fi
+
+cd /usr/share/sabnzbd && /usr/bin/${pyexe} SABnzbd.py $*
diff --git a/net-nntp/sabnzbd/files/sabnzbd.confd b/net-nntp/sabnzbd/files/sabnzbd.confd
new file mode 100644
index 000000000000..ec40168657bd
--- /dev/null
+++ b/net-nntp/sabnzbd/files/sabnzbd.confd
@@ -0,0 +1,6 @@
+SABNZBD_CONFIGFILE=/etc/sabnzbd/sabnzbd.ini
+SABNZBD_USER=sabnzbd
+SABNZBD_GROUP=sabnzbd
+
+# 0 - error/warnings, 1 - info, 2 - debug
+SABNZBD_LOGGING=1
diff --git a/net-nntp/sabnzbd/files/sabnzbd.ini b/net-nntp/sabnzbd/files/sabnzbd.ini
new file mode 100644
index 000000000000..1ce776f86c18
--- /dev/null
+++ b/net-nntp/sabnzbd/files/sabnzbd.ini
@@ -0,0 +1,14 @@
+__version__ = 19
+[misc]
+log_dir = /var/log/sabnzbd
+admin_dir = /var/lib/sabnzbd/admin
+cache_dir = /var/lib/sabnzbd/cache
+complete_dir = /var/lib/sabnzbd/complete
+download_dir = /var/lib/sabnzbd/download
+dirscan_dir = /var/lib/sabnzbd/dirscan
+nzb_backup_dir = /var/lib/sabnzbd/backup
+auto_browser = 0
+host = 0.0.0.0
+port = 8080
+[growl]
+growl_enable = 0
diff --git a/net-nntp/sabnzbd/files/sabnzbd.initd b/net-nntp/sabnzbd/files/sabnzbd.initd
new file mode 100644
index 000000000000..5cfc91b9e70a
--- /dev/null
+++ b/net-nntp/sabnzbd/files/sabnzbd.initd
@@ -0,0 +1,99 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+RUNDIR=/var/run/sabnzbd
+
+depend() {
+ need net
+}
+
+get_var() {
+ echo $(sed -n \
+ '/^\[misc]/,/^'$1'/ s/^'$1' = \([[:alnum:].]\+\)[\r|\n|\r\n]*$/\1/p' \
+ "${SABNZBD_CONFIGFILE}")
+}
+
+get_port() {
+ if [ "$(get_var 'enable_https')" -eq 1 ]; then
+ echo $(get_var 'https_port')
+ else
+ echo $(get_var 'port')
+ fi
+}
+
+get_addr() {
+ local host=$(get_var 'host')
+ local protocol='http'
+
+ [ "${host}" == "0.0.0.0" ] && host=localhost
+ [ "$(get_var 'enable_https')" -eq 1 ] && protocol='https'
+
+ echo "${protocol}://${host}:$(get_port)"
+}
+
+get_pidfile() {
+ echo "${RUNDIR}/sabnzbd-$(get_port).pid"
+}
+
+start() {
+ ebegin "Starting SABnzbd"
+
+ checkpath -q -d -o ${SABNZBD_USER}:${SABNZBD_GROUP} -m 0770 "${RUNDIR}"
+
+ start-stop-daemon \
+ --quiet \
+ --start \
+ --user ${SABNZBD_USER} \
+ --group ${SABNZBD_GROUP} \
+ --name sabnzbd \
+ --background \
+ --pidfile "$(get_pidfile)" \
+ --exec /usr/bin/sabnzbd \
+ -- \
+ --config-file "${SABNZBD_CONFIGFILE}" \
+ --logging "${SABNZBD_LOGGING}" \
+ --daemon \
+ --pid "${RUNDIR}"
+
+ eend $?
+}
+
+start_pre() {
+ if [ "$RC_CMD" == "restart" ]; then
+ local pidfile=$(get_pidfile)
+ while [ -e ${pidfile} ]; do
+ sleep 1
+ done
+ fi
+
+ return 0
+}
+
+stop() {
+ local api_key=$(get_var 'api_key')
+ local addr=$(get_addr)
+ local rc=1
+
+ ebegin "Stopping SABnzbd @ ${addr}"
+ # This can only work if we have enabled the API
+ if [ -n "${api_key}" -a "$(get_var 'disable_api_key')" -ne 1 ]; then
+ local ret
+ einfo "Attempting web-based shutdown @ ${addr}"
+
+ # SABnzbd will return "ok" if shutdown is successful
+ ret=$(/usr/bin/curl -k -s "${addr}/sabnzbd/api?mode=shutdown&apikey=${api_key}")
+ [ "${ret}" == "ok" ] && rc=0
+ fi
+
+ if [ "${rc}" -ne 0 ]; then
+ einfo "Falling back to SIGTERM, this may not work if you restarted via the web interface"
+ start-stop-daemon \
+ --stop \
+ --pidfile $(get_pidfile) \
+ --retry SIGTERM/1/SIGKILL/5
+ rc=$?
+ fi
+
+ eend ${rc}
+}
diff --git a/net-nntp/sabnzbd/files/use-system-configobj-and-feedparser.patch b/net-nntp/sabnzbd/files/use-system-configobj-and-feedparser.patch
new file mode 100644
index 000000000000..a55a54a01093
--- /dev/null
+++ b/net-nntp/sabnzbd/files/use-system-configobj-and-feedparser.patch
@@ -0,0 +1,44 @@
+From 89cb8b86fb087bc4706478ce4ec3ad5fd19602e6 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Thu, 3 Jan 2013 04:10:37 -0500
+Subject: [PATCH] use system configobj and feedparser
+
+---
+ sabnzbd/config.py | 4 +++-
+ sabnzbd/rss.py | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/sabnzbd/config.py b/sabnzbd/config.py
+index c3fc54c..cce2b14 100644
+--- a/sabnzbd/config.py
++++ b/sabnzbd/config.py
+@@ -23,10 +23,12 @@ import os
+ import logging
+ import threading
+ import shutil
++
++import configobj
++
+ import sabnzbd.misc
+ from sabnzbd.constants import CONFIG_VERSION, NORMAL_PRIORITY, DEFAULT_PRIORITY
+ from sabnzbd.utils import listquote
+-from sabnzbd.utils import configobj
+ from sabnzbd.decorators import synchronized
+
+ CONFIG_LOCK = threading.Lock()
+diff --git a/sabnzbd/rss.py b/sabnzbd/rss.py
+index 6fe6f5b..19a5d0f 100644
+--- a/sabnzbd/rss.py
++++ b/sabnzbd/rss.py
+@@ -35,7 +35,7 @@ from sabnzbd.misc import cat_convert, sanitize_foldername, wildcard_to_re, cat_t
+ import sabnzbd.emailer as emailer
+ from sabnzbd.encoding import latin1, unicoder, xml_name
+
+-import sabnzbd.utils.feedparser as feedparser
++import feedparser
+
+ __RSS = None # Global pointer to RSS-scanner instance
+
+--
+1.7.3.4
+
diff --git a/net-nntp/sabnzbd/metadata.xml b/net-nntp/sabnzbd/metadata.xml
new file mode 100644
index 000000000000..3ae021381fad
--- /dev/null
+++ b/net-nntp/sabnzbd/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jsbronder@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="rar">Add support for extracting rar files</flag>
+ <flag name="ssl">Add support for SSL web interface</flag>
+ <flag name="unzip">Add support for extracting zip files</flag>
+ <flag name="yenc">Use yenc to speed up nntp encoding and decoding</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">sabnzbdplus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-nntp/sabnzbd/sabnzbd-0.7.16.ebuild b/net-nntp/sabnzbd/sabnzbd-0.7.16.ebuild
new file mode 100644
index 000000000000..4d8ee3bce7a4
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-0.7.16.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Require python-2 with sqlite USE flag
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="sqlite"
+
+inherit eutils python user
+
+MY_P="${P/sab/SAB}"
+
+DESCRIPTION="Binary newsgrabber with web-interface"
+HOMEPAGE="http://www.sabnzbd.org/"
+SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz"
+
+# Sabnzbd is GPL-2 but bundles software with the following licenses.
+LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rar +ssl unzip +yenc"
+
+# Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not
+# be in python's sitedir. See: http://wiki.sabnzbd.org/unix-packaging
+
+# TODO: still bundled but not in protage:
+# kronos, rarfile, rsslib, ssmtplib, listquote, json-py, msgfmt
+# pynewsleecher
+#
+# Also note that cherrypy is still bundled. It's near impossible to find
+# out where the bundled and heavily patched version came from (pulled from
+# cherrypy subversion, patched somewhere, then imported to sabnzbd and patched
+# further. Upstream is planning on making this easier with 0.8.0.
+# https://github.com/sabnzbd/sabnzbd/issues/47
+
+RDEPEND="
+ >=app-arch/par2cmdline-0.4
+ >=dev-python/cheetah-2.0.1
+ dev-python/configobj
+ dev-python/feedparser
+ dev-python/gntp
+ dev-python/pythonutils
+ net-misc/wget
+ rar? ( || ( app-arch/unrar app-arch/rar ) )
+ ssl? ( dev-python/pyopenssl )
+ unzip? ( >=app-arch/unzip-5.5.2 )
+ yenc? ( dev-python/yenc )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ HOMEDIR="/var/lib/${PN}"
+ python_set_active_version 2
+ python_pkg_setup
+
+ # Create sabnzbd group
+ enewgroup ${PN}
+ # Create sabnzbd user, put in sabnzbd group
+ enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/use-system-configobj-and-feedparser.patch
+ epatch "${FILESDIR}"/growler-support-gntp-1.0.patch
+ epatch "${FILESDIR}"/par2cmdline.patch
+
+ # remove bundled modules
+ rm -r sabnzbd/utils/{feedparser,configobj}.py || die
+ rm -r gntp || die
+ rm licenses/License-{feedparser,configobj,gntp}.txt || die
+}
+
+src_install() {
+ local d
+
+ dodir /usr/share/${PN}/sabnzbd
+ insinto /usr/share/${PN}/
+ doins SABnzbd.py
+ fperms +x /usr/share/${PN}/SABnzbd.py
+ dobin "${FILESDIR}"/sabnzbd
+
+ for d in cherrypy email icons interfaces locale po sabnzbd tools util; do
+ insinto /usr/share/${PN}/${d}
+ doins -r ${d}/*
+ done
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+
+ diropts -o ${PN} -g ${PN}
+ dodir /etc/${PN}
+ dodir /var/log/${PN}
+
+ insinto "/etc/${PN}"
+ insopts -m 0600 -o ${PN} -g ${PN}
+ doins "${FILESDIR}/${PN}.ini"
+
+ dodoc {ABOUT,CHANGELOG,ISSUES,README}.txt Sample-PostProc.sh licenses/*
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/share/${PN}
+
+ einfo "Default directory: ${HOMEDIR}"
+ einfo ""
+ einfo "Run: gpasswd -a <user> sabnzbd"
+ einfo "to add a user to the sabnzbd group so it can edit sabnzbd files"
+ einfo ""
+ einfo "By default sabnzbd will listen on 127.0.0.1:8080"
+}
+
+pkg_postrm() {
+ python_mod_cleanup /usr/share/${PN}
+}
diff --git a/net-nntp/sabnzbd/sabnzbd-0.7.17.ebuild b/net-nntp/sabnzbd/sabnzbd-0.7.17.ebuild
new file mode 100644
index 000000000000..4d8ee3bce7a4
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-0.7.17.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Require python-2 with sqlite USE flag
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="sqlite"
+
+inherit eutils python user
+
+MY_P="${P/sab/SAB}"
+
+DESCRIPTION="Binary newsgrabber with web-interface"
+HOMEPAGE="http://www.sabnzbd.org/"
+SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz"
+
+# Sabnzbd is GPL-2 but bundles software with the following licenses.
+LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rar +ssl unzip +yenc"
+
+# Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not
+# be in python's sitedir. See: http://wiki.sabnzbd.org/unix-packaging
+
+# TODO: still bundled but not in protage:
+# kronos, rarfile, rsslib, ssmtplib, listquote, json-py, msgfmt
+# pynewsleecher
+#
+# Also note that cherrypy is still bundled. It's near impossible to find
+# out where the bundled and heavily patched version came from (pulled from
+# cherrypy subversion, patched somewhere, then imported to sabnzbd and patched
+# further. Upstream is planning on making this easier with 0.8.0.
+# https://github.com/sabnzbd/sabnzbd/issues/47
+
+RDEPEND="
+ >=app-arch/par2cmdline-0.4
+ >=dev-python/cheetah-2.0.1
+ dev-python/configobj
+ dev-python/feedparser
+ dev-python/gntp
+ dev-python/pythonutils
+ net-misc/wget
+ rar? ( || ( app-arch/unrar app-arch/rar ) )
+ ssl? ( dev-python/pyopenssl )
+ unzip? ( >=app-arch/unzip-5.5.2 )
+ yenc? ( dev-python/yenc )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ HOMEDIR="/var/lib/${PN}"
+ python_set_active_version 2
+ python_pkg_setup
+
+ # Create sabnzbd group
+ enewgroup ${PN}
+ # Create sabnzbd user, put in sabnzbd group
+ enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/use-system-configobj-and-feedparser.patch
+ epatch "${FILESDIR}"/growler-support-gntp-1.0.patch
+ epatch "${FILESDIR}"/par2cmdline.patch
+
+ # remove bundled modules
+ rm -r sabnzbd/utils/{feedparser,configobj}.py || die
+ rm -r gntp || die
+ rm licenses/License-{feedparser,configobj,gntp}.txt || die
+}
+
+src_install() {
+ local d
+
+ dodir /usr/share/${PN}/sabnzbd
+ insinto /usr/share/${PN}/
+ doins SABnzbd.py
+ fperms +x /usr/share/${PN}/SABnzbd.py
+ dobin "${FILESDIR}"/sabnzbd
+
+ for d in cherrypy email icons interfaces locale po sabnzbd tools util; do
+ insinto /usr/share/${PN}/${d}
+ doins -r ${d}/*
+ done
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+
+ diropts -o ${PN} -g ${PN}
+ dodir /etc/${PN}
+ dodir /var/log/${PN}
+
+ insinto "/etc/${PN}"
+ insopts -m 0600 -o ${PN} -g ${PN}
+ doins "${FILESDIR}/${PN}.ini"
+
+ dodoc {ABOUT,CHANGELOG,ISSUES,README}.txt Sample-PostProc.sh licenses/*
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/share/${PN}
+
+ einfo "Default directory: ${HOMEDIR}"
+ einfo ""
+ einfo "Run: gpasswd -a <user> sabnzbd"
+ einfo "to add a user to the sabnzbd group so it can edit sabnzbd files"
+ einfo ""
+ einfo "By default sabnzbd will listen on 127.0.0.1:8080"
+}
+
+pkg_postrm() {
+ python_mod_cleanup /usr/share/${PN}
+}
diff --git a/net-nntp/sabnzbd/sabnzbd-0.7.18.ebuild b/net-nntp/sabnzbd/sabnzbd-0.7.18.ebuild
new file mode 100644
index 000000000000..4d8ee3bce7a4
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-0.7.18.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Require python-2 with sqlite USE flag
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="sqlite"
+
+inherit eutils python user
+
+MY_P="${P/sab/SAB}"
+
+DESCRIPTION="Binary newsgrabber with web-interface"
+HOMEPAGE="http://www.sabnzbd.org/"
+SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz"
+
+# Sabnzbd is GPL-2 but bundles software with the following licenses.
+LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rar +ssl unzip +yenc"
+
+# Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not
+# be in python's sitedir. See: http://wiki.sabnzbd.org/unix-packaging
+
+# TODO: still bundled but not in protage:
+# kronos, rarfile, rsslib, ssmtplib, listquote, json-py, msgfmt
+# pynewsleecher
+#
+# Also note that cherrypy is still bundled. It's near impossible to find
+# out where the bundled and heavily patched version came from (pulled from
+# cherrypy subversion, patched somewhere, then imported to sabnzbd and patched
+# further. Upstream is planning on making this easier with 0.8.0.
+# https://github.com/sabnzbd/sabnzbd/issues/47
+
+RDEPEND="
+ >=app-arch/par2cmdline-0.4
+ >=dev-python/cheetah-2.0.1
+ dev-python/configobj
+ dev-python/feedparser
+ dev-python/gntp
+ dev-python/pythonutils
+ net-misc/wget
+ rar? ( || ( app-arch/unrar app-arch/rar ) )
+ ssl? ( dev-python/pyopenssl )
+ unzip? ( >=app-arch/unzip-5.5.2 )
+ yenc? ( dev-python/yenc )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ HOMEDIR="/var/lib/${PN}"
+ python_set_active_version 2
+ python_pkg_setup
+
+ # Create sabnzbd group
+ enewgroup ${PN}
+ # Create sabnzbd user, put in sabnzbd group
+ enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/use-system-configobj-and-feedparser.patch
+ epatch "${FILESDIR}"/growler-support-gntp-1.0.patch
+ epatch "${FILESDIR}"/par2cmdline.patch
+
+ # remove bundled modules
+ rm -r sabnzbd/utils/{feedparser,configobj}.py || die
+ rm -r gntp || die
+ rm licenses/License-{feedparser,configobj,gntp}.txt || die
+}
+
+src_install() {
+ local d
+
+ dodir /usr/share/${PN}/sabnzbd
+ insinto /usr/share/${PN}/
+ doins SABnzbd.py
+ fperms +x /usr/share/${PN}/SABnzbd.py
+ dobin "${FILESDIR}"/sabnzbd
+
+ for d in cherrypy email icons interfaces locale po sabnzbd tools util; do
+ insinto /usr/share/${PN}/${d}
+ doins -r ${d}/*
+ done
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+
+ diropts -o ${PN} -g ${PN}
+ dodir /etc/${PN}
+ dodir /var/log/${PN}
+
+ insinto "/etc/${PN}"
+ insopts -m 0600 -o ${PN} -g ${PN}
+ doins "${FILESDIR}/${PN}.ini"
+
+ dodoc {ABOUT,CHANGELOG,ISSUES,README}.txt Sample-PostProc.sh licenses/*
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/share/${PN}
+
+ einfo "Default directory: ${HOMEDIR}"
+ einfo ""
+ einfo "Run: gpasswd -a <user> sabnzbd"
+ einfo "to add a user to the sabnzbd group so it can edit sabnzbd files"
+ einfo ""
+ einfo "By default sabnzbd will listen on 127.0.0.1:8080"
+}
+
+pkg_postrm() {
+ python_mod_cleanup /usr/share/${PN}
+}
diff --git a/net-nntp/sabnzbd/sabnzbd-0.7.19.ebuild b/net-nntp/sabnzbd/sabnzbd-0.7.19.ebuild
new file mode 100644
index 000000000000..4d8ee3bce7a4
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-0.7.19.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Require python-2 with sqlite USE flag
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="sqlite"
+
+inherit eutils python user
+
+MY_P="${P/sab/SAB}"
+
+DESCRIPTION="Binary newsgrabber with web-interface"
+HOMEPAGE="http://www.sabnzbd.org/"
+SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz"
+
+# Sabnzbd is GPL-2 but bundles software with the following licenses.
+LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rar +ssl unzip +yenc"
+
+# Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not
+# be in python's sitedir. See: http://wiki.sabnzbd.org/unix-packaging
+
+# TODO: still bundled but not in protage:
+# kronos, rarfile, rsslib, ssmtplib, listquote, json-py, msgfmt
+# pynewsleecher
+#
+# Also note that cherrypy is still bundled. It's near impossible to find
+# out where the bundled and heavily patched version came from (pulled from
+# cherrypy subversion, patched somewhere, then imported to sabnzbd and patched
+# further. Upstream is planning on making this easier with 0.8.0.
+# https://github.com/sabnzbd/sabnzbd/issues/47
+
+RDEPEND="
+ >=app-arch/par2cmdline-0.4
+ >=dev-python/cheetah-2.0.1
+ dev-python/configobj
+ dev-python/feedparser
+ dev-python/gntp
+ dev-python/pythonutils
+ net-misc/wget
+ rar? ( || ( app-arch/unrar app-arch/rar ) )
+ ssl? ( dev-python/pyopenssl )
+ unzip? ( >=app-arch/unzip-5.5.2 )
+ yenc? ( dev-python/yenc )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ HOMEDIR="/var/lib/${PN}"
+ python_set_active_version 2
+ python_pkg_setup
+
+ # Create sabnzbd group
+ enewgroup ${PN}
+ # Create sabnzbd user, put in sabnzbd group
+ enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/use-system-configobj-and-feedparser.patch
+ epatch "${FILESDIR}"/growler-support-gntp-1.0.patch
+ epatch "${FILESDIR}"/par2cmdline.patch
+
+ # remove bundled modules
+ rm -r sabnzbd/utils/{feedparser,configobj}.py || die
+ rm -r gntp || die
+ rm licenses/License-{feedparser,configobj,gntp}.txt || die
+}
+
+src_install() {
+ local d
+
+ dodir /usr/share/${PN}/sabnzbd
+ insinto /usr/share/${PN}/
+ doins SABnzbd.py
+ fperms +x /usr/share/${PN}/SABnzbd.py
+ dobin "${FILESDIR}"/sabnzbd
+
+ for d in cherrypy email icons interfaces locale po sabnzbd tools util; do
+ insinto /usr/share/${PN}/${d}
+ doins -r ${d}/*
+ done
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+
+ diropts -o ${PN} -g ${PN}
+ dodir /etc/${PN}
+ dodir /var/log/${PN}
+
+ insinto "/etc/${PN}"
+ insopts -m 0600 -o ${PN} -g ${PN}
+ doins "${FILESDIR}/${PN}.ini"
+
+ dodoc {ABOUT,CHANGELOG,ISSUES,README}.txt Sample-PostProc.sh licenses/*
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/share/${PN}
+
+ einfo "Default directory: ${HOMEDIR}"
+ einfo ""
+ einfo "Run: gpasswd -a <user> sabnzbd"
+ einfo "to add a user to the sabnzbd group so it can edit sabnzbd files"
+ einfo ""
+ einfo "By default sabnzbd will listen on 127.0.0.1:8080"
+}
+
+pkg_postrm() {
+ python_mod_cleanup /usr/share/${PN}
+}
diff --git a/net-nntp/sabnzbd/sabnzbd-0.7.20.ebuild b/net-nntp/sabnzbd/sabnzbd-0.7.20.ebuild
new file mode 100644
index 000000000000..4d8ee3bce7a4
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-0.7.20.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+# Require python-2 with sqlite USE flag
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="sqlite"
+
+inherit eutils python user
+
+MY_P="${P/sab/SAB}"
+
+DESCRIPTION="Binary newsgrabber with web-interface"
+HOMEPAGE="http://www.sabnzbd.org/"
+SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz"
+
+# Sabnzbd is GPL-2 but bundles software with the following licenses.
+LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rar +ssl unzip +yenc"
+
+# Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not
+# be in python's sitedir. See: http://wiki.sabnzbd.org/unix-packaging
+
+# TODO: still bundled but not in protage:
+# kronos, rarfile, rsslib, ssmtplib, listquote, json-py, msgfmt
+# pynewsleecher
+#
+# Also note that cherrypy is still bundled. It's near impossible to find
+# out where the bundled and heavily patched version came from (pulled from
+# cherrypy subversion, patched somewhere, then imported to sabnzbd and patched
+# further. Upstream is planning on making this easier with 0.8.0.
+# https://github.com/sabnzbd/sabnzbd/issues/47
+
+RDEPEND="
+ >=app-arch/par2cmdline-0.4
+ >=dev-python/cheetah-2.0.1
+ dev-python/configobj
+ dev-python/feedparser
+ dev-python/gntp
+ dev-python/pythonutils
+ net-misc/wget
+ rar? ( || ( app-arch/unrar app-arch/rar ) )
+ ssl? ( dev-python/pyopenssl )
+ unzip? ( >=app-arch/unzip-5.5.2 )
+ yenc? ( dev-python/yenc )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ HOMEDIR="/var/lib/${PN}"
+ python_set_active_version 2
+ python_pkg_setup
+
+ # Create sabnzbd group
+ enewgroup ${PN}
+ # Create sabnzbd user, put in sabnzbd group
+ enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}"
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/use-system-configobj-and-feedparser.patch
+ epatch "${FILESDIR}"/growler-support-gntp-1.0.patch
+ epatch "${FILESDIR}"/par2cmdline.patch
+
+ # remove bundled modules
+ rm -r sabnzbd/utils/{feedparser,configobj}.py || die
+ rm -r gntp || die
+ rm licenses/License-{feedparser,configobj,gntp}.txt || die
+}
+
+src_install() {
+ local d
+
+ dodir /usr/share/${PN}/sabnzbd
+ insinto /usr/share/${PN}/
+ doins SABnzbd.py
+ fperms +x /usr/share/${PN}/SABnzbd.py
+ dobin "${FILESDIR}"/sabnzbd
+
+ for d in cherrypy email icons interfaces locale po sabnzbd tools util; do
+ insinto /usr/share/${PN}/${d}
+ doins -r ${d}/*
+ done
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+
+ diropts -o ${PN} -g ${PN}
+ dodir /etc/${PN}
+ dodir /var/log/${PN}
+
+ insinto "/etc/${PN}"
+ insopts -m 0600 -o ${PN} -g ${PN}
+ doins "${FILESDIR}/${PN}.ini"
+
+ dodoc {ABOUT,CHANGELOG,ISSUES,README}.txt Sample-PostProc.sh licenses/*
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/share/${PN}
+
+ einfo "Default directory: ${HOMEDIR}"
+ einfo ""
+ einfo "Run: gpasswd -a <user> sabnzbd"
+ einfo "to add a user to the sabnzbd group so it can edit sabnzbd files"
+ einfo ""
+ einfo "By default sabnzbd will listen on 127.0.0.1:8080"
+}
+
+pkg_postrm() {
+ python_mod_cleanup /usr/share/${PN}
+}
diff --git a/net-nntp/slrn/Manifest b/net-nntp/slrn/Manifest
new file mode 100644
index 000000000000..c2fc3cf10c1d
--- /dev/null
+++ b/net-nntp/slrn/Manifest
@@ -0,0 +1,2 @@
+DIST slrn-1.0.1.tar.gz 1529545 SHA256 06b4a060939ec3077e5a060c7a2556747c96061a24eec2c09e1feacd5dbeaae6 SHA512 fd2eecb7a82c078b401a8cf8c0e54166d508418f4064c3b074a33dcf2aa1c7a38ce324fee108c5d14e63a385fb6e45b82477f24f9a359870160d12ecb39440b5 WHIRLPOOL e124630d69713351647aa3b908b5a4fe27449d7d9ebde1ce1fb9f52a8aefb61888be7b2290fbfef3db6adf4c3acade3d117921f73245f26ee3e7fe3713a81d82
+DIST slrn-1.0.2.tar.bz2 995433 SHA256 99acbc51e7212ccc5c39556fa8ec6ada772f0bb5cc45a3bb90dadb8fe764fb59 SHA512 264dce88622e544356782c483f3639252ba57408d79775b2cd3ea06962ea3ebc568bc45ed19f1690c66b5b71d82eadeebd62a0bad656b1339ab7b80eb3f3cc5f WHIRLPOOL 831cce64c22fb42d7b6f3ecd6b19e8b6e26b9a25a5c1b75aeea74b9368b09bf5abc8acfc86b7651e528e9db20c4586ba56a05d18ee2c094d752947f832f31e0f
diff --git a/net-nntp/slrn/files/slrn-1.0.0_pre18-make.patch b/net-nntp/slrn/files/slrn-1.0.0_pre18-make.patch
new file mode 100644
index 000000000000..bd3bf682cfe4
--- /dev/null
+++ b/net-nntp/slrn/files/slrn-1.0.0_pre18-make.patch
@@ -0,0 +1,36 @@
+--- slrn/src/Makefile.in.orig
++++ slrn/src/Makefile.in
+@@ -152,7 +152,7 @@
+ $(MKINSDIR) $(DEST_SLRN_LIB_DIR)
+ $(MKINSDIR) $(DEST_SLRN_SLANG_DIR)
+ # $(MKINSDIR) $(DEST_CONFDIR)
+-installdocs:
++installdocs: installdirs
+ @for i in $(MAN_FILES); \
+ do \
+ echo $(INSTALL_DATA) $$i $(DEST_MANDIR)/man1/; \
+@@ -185,7 +185,7 @@
+ exit 1; \
+ fi; \
+ done
+-installslang:
++installslang: installdirs
+ @files=$(CONF_FILES); \
+ for i in $$files; \
+ do \
+@@ -203,11 +203,11 @@
+ exit 1; \
+ fi; \
+ done
+-installlocales:
++installlocales: installdirs
+ cd ../po; $(MAKE) DESTDIR=$(DESTDIR) LOCALEDIR=$(LOCALEDIR) install
+-installbin:
+- $(INSTALL) -m 755 -s $(OBJDIR)/slrn $(DEST_BINDIR)
+- -$(INSTALL) -m 755 -s $(OBJDIR)/slrnpull $(DEST_BINDIR)
++installbin: installdirs
++ $(INSTALL) -m 755 $(OBJDIR)/slrn $(DEST_BINDIR)
++ -$(INSTALL) -m 755 $(OBJDIR)/slrnpull $(DEST_BINDIR)
+ install: all installdirs installbin installdocs installslang installlocales
+
+ # The symlinks target is for my own private use. It simply creates the object
diff --git a/net-nntp/slrn/files/slrn-1.0.2-make.patch b/net-nntp/slrn/files/slrn-1.0.2-make.patch
new file mode 100644
index 000000000000..e03fbb472c36
--- /dev/null
+++ b/net-nntp/slrn/files/slrn-1.0.2-make.patch
@@ -0,0 +1,36 @@
+--- slrn-1.0.2/src/Makefile.in
++++ slrn-1.0.2/src/Makefile.in
+@@ -153,7 +153,7 @@
+ $(MKINSDIR) $(DEST_SLRN_LIB_DIR)
+ $(MKINSDIR) $(DEST_SLRN_SLANG_DIR)
+ # $(MKINSDIR) $(DEST_CONFDIR)
+-installdocs:
++installdocs: installdirs
+ @for i in $(MAN_FILES); \
+ do \
+ echo $(INSTALL_DATA) $$i $(DEST_MANDIR)/man1/; \
+@@ -186,7 +186,7 @@
+ exit 1; \
+ fi; \
+ done
+-installslang:
++installslang: installdirs
+ @files=$(CONF_FILES); \
+ for i in $$files; \
+ do \
+@@ -204,11 +204,11 @@
+ exit 1; \
+ fi; \
+ done
+-installlocales:
++installlocales: installdirs
+ -cd ../po; $(MAKE) DESTDIR=$(DESTDIR) LOCALEDIR=$(LOCALEDIR) install
+-installbin:
+- $(INSTALL) -m 755 -s $(OBJDIR)/slrn $(DEST_BINDIR)
+- -$(INSTALL) -m 755 -s $(OBJDIR)/slrnpull $(DEST_BINDIR)
++installbin: installdirs
++ $(INSTALL) -m 755 $(OBJDIR)/slrn $(DEST_BINDIR)
++ -$(INSTALL) -m 755 $(OBJDIR)/slrnpull $(DEST_BINDIR)
+ install: all installdirs installbin installdocs installslang installlocales
+
+ # The symlinks target is for my own private use. It simply creates the object
diff --git a/net-nntp/slrn/metadata.xml b/net-nntp/slrn/metadata.xml
new file mode 100644
index 000000000000..948fa2966431
--- /dev/null
+++ b/net-nntp/slrn/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+<use>
+ <flag name='uudeview'>Add support for yEnc coding and more using
+ <pkg>dev-libs/uulib</pkg></flag>
+ <flag name='canlock'>Add support for cancel locks via
+ <pkg>net-libs/canlock</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/net-nntp/slrn/slrn-1.0.1.ebuild b/net-nntp/slrn/slrn-1.0.1.ebuild
new file mode 100644
index 000000000000..234ff7286232
--- /dev/null
+++ b/net-nntp/slrn/slrn-1.0.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils
+
+MY_P="${PN}_${PV/_/~}"
+
+DESCRIPTION="A s-lang based newsreader"
+HOMEPAGE="http://slrn.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="canlock nls ssl uudeview"
+
+RDEPEND="virtual/mta
+ app-arch/sharutils
+ >=sys-libs/slang-2.1.3
+ canlock? ( net-libs/canlock )
+ ssl? ( dev-libs/openssl )
+ uudeview? ( dev-libs/uulib )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.0_pre18-make.patch
+}
+
+src_configure() {
+ econf \
+ --with-docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --with-slrnpull \
+ $(use_with canlock) \
+ $(use_with uudeview uu) \
+ $(use_enable nls) \
+ $(use_with ssl)
+}
diff --git a/net-nntp/slrn/slrn-1.0.2.ebuild b/net-nntp/slrn/slrn-1.0.2.ebuild
new file mode 100644
index 000000000000..7c582a5aeb2e
--- /dev/null
+++ b/net-nntp/slrn/slrn-1.0.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools-utils
+
+MY_P="${PN}_${PV/_/~}"
+
+DESCRIPTION="A s-lang based newsreader"
+HOMEPAGE="http://slrn.sourceforge.net/"
+SRC_URI="http://jedsoft.org/releases/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="canlock nls ssl uudeview"
+
+RDEPEND="virtual/mta
+ app-arch/sharutils
+ >=sys-libs/slang-2.1.3
+ canlock? ( net-libs/canlock )
+ ssl? ( dev-libs/openssl )
+ uudeview? ( dev-libs/uulib )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+PATCHES=( "${FILESDIR}"/${P}-make.patch )
+
+src_configure() {
+ local myeconfargs=(
+ --with-docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --with-slrnpull
+ $(use_with canlock)
+ $(use_with uudeview uu)
+ $(use_enable nls)
+ $(use_with ssl)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/net-nntp/slrnconf/Manifest b/net-nntp/slrnconf/Manifest
new file mode 100644
index 000000000000..f429e55c3843
--- /dev/null
+++ b/net-nntp/slrnconf/Manifest
@@ -0,0 +1 @@
+DIST slrnconf-0.8.4.tar.bz2 43938 RMD160 1b6ac61be97144ff3acb9fcb734bd11c9e7d9b0e SHA1 9debd601059cfd71a5d0b2476a2a3ef985630bd8 SHA256 105d9caed12b44fb0fa662415a156ef38388b4e3fe27fa3d9be34c580ccd3e76
diff --git a/net-nntp/slrnconf/metadata.xml b/net-nntp/slrnconf/metadata.xml
new file mode 100644
index 000000000000..4d0ebe73a55f
--- /dev/null
+++ b/net-nntp/slrnconf/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+</pkgmetadata>
diff --git a/net-nntp/slrnconf/slrnconf-0.8.4.ebuild b/net-nntp/slrnconf/slrnconf-0.8.4.ebuild
new file mode 100644
index 000000000000..d5066f5b9bb3
--- /dev/null
+++ b/net-nntp/slrnconf/slrnconf-0.8.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="slrnconf is a graphical configuration utility for the newsreader slrn"
+HOMEPAGE="http://home.arcor.de/kaffeetisch/slrnconf.html"
+SRC_URI="http://home.arcor.de/kaffeetisch/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="dev-lang/perl
+ dev-perl/gtk2-perl
+ dev-perl/Parse-RecDescent
+ net-nntp/slrn"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4"
+
+src_unpack() {
+ unpack ${A}
+
+ sed -i -e 's/^install: all$/install:/' ${S}/Makefile
+}
+
+src_compile() {
+ make PREFIX=/usr || die "make failed"
+}
+
+src_install() {
+ make PREFIX=${D}/usr install || die "make install failed"
+}
diff --git a/net-nntp/sn/Manifest b/net-nntp/sn/Manifest
new file mode 100644
index 000000000000..bae801711304
--- /dev/null
+++ b/net-nntp/sn/Manifest
@@ -0,0 +1 @@
+DIST sn-0.3.8.tar.bz2 97751 RMD160 63c6d492104447dfaeb7f15569c50080ef0276f4 SHA1 854a7422e0d37e0e9f1891e663efadc196e08661 SHA256 8ce7c77d587814993ca27d5bbf2bb8b2ad13111995b6113dc917484596dbddf0
diff --git a/net-nntp/sn/files/sn-0.3.8-parallel-make.patch b/net-nntp/sn/files/sn-0.3.8-parallel-make.patch
new file mode 100644
index 000000000000..d94e21897781
--- /dev/null
+++ b/net-nntp/sn/files/sn-0.3.8-parallel-make.patch
@@ -0,0 +1,56 @@
+--- sn-0.3.8/Makefile.orig
++++ sn-0.3.8/Makefile
+@@ -94,39 +94,39 @@
+ ar rc $@ $^
+ ranlib $@
+
+-snsplit: snsplit.o sn.a
++snsplit: snsplit.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snscan: snscan.o sn.a
++snscan: snscan.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS) $(ZLIB)
+ sncat: snscan
+ ln -s snscan sncat
+ sncancel: snscan
+ ln -s snscan sncancel
+-snprimedb: snprimedb.o sn.a
++snprimedb: snprimedb.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-sndumpdb: sndumpdb.o sn.a
++sndumpdb: sndumpdb.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snntpd: snntpd.o post.o commands.o list.o sn.a
++snntpd: snntpd.o post.o commands.o list.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS) $(ZLIB)
+-snsend: snsend.o sn.a
++snsend: snsend.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS) $(ZLIB)
+ snstore: snsend
+ ln -s snsend snstore
+-snfetch: snfetch.o sn.a
++snfetch: snfetch.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snexpire: snexpire.o sn.a
++snexpire: snexpire.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snmail: snmail.o sn.a
++snmail: snmail.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snget: snget.o get.o sn.a
++snget: snget.o get.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-sngetd: sngetd.o get.o sn.a
++sngetd: sngetd.o get.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snnewgroup: snnewgroup.o sn.a
++snnewgroup: snnewgroup.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-sndelgroup: sndelgroup.o sn.a
++sndelgroup: sndelgroup.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+-snlockf: snlockf.o
++snlockf: snlockf.o sn.a lib/libstuff.a
+ $(LD) `cat cc-flags` $^ -o $@ $(LIBS)
+
+ %: %.in sed-cmd
diff --git a/net-nntp/sn/files/sn-0.3.8-qa.patch b/net-nntp/sn/files/sn-0.3.8-qa.patch
new file mode 100644
index 000000000000..52a25ebcd83e
--- /dev/null
+++ b/net-nntp/sn/files/sn-0.3.8-qa.patch
@@ -0,0 +1,21 @@
+--- lib/readln.c
++++ lib/readln.c
+@@ -9,6 +9,7 @@
+ * Get a single line from an fd.
+ */
+
++#include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+
+--- lib/cmdopen.c
++++ lib/cmdopen.c
+@@ -6,6 +6,7 @@
+ */
+
+ #include <unistd.h>
++#include <stdlib.h>
+ #include <fcntl.h>
+ #include <sys/wait.h>
+
diff --git a/net-nntp/sn/metadata.xml b/net-nntp/sn/metadata.xml
new file mode 100644
index 000000000000..4d0ebe73a55f
--- /dev/null
+++ b/net-nntp/sn/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+</pkgmetadata>
diff --git a/net-nntp/sn/sn-0.3.8.ebuild b/net-nntp/sn/sn-0.3.8.ebuild
new file mode 100644
index 000000000000..44224c6424d0
--- /dev/null
+++ b/net-nntp/sn/sn-0.3.8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Hassle-free Usenet news system for small sites"
+SRC_URI="http://infa.abo.fi/~patrik/sn/files/${P}.tar.bz2"
+HOMEPAGE="http://infa.abo.fi/~patrik/sn/"
+
+KEYWORDS="~amd64 x86 ~ppc"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-qa.patch
+ epatch "${FILESDIR}"/${P}-parallel-make.patch
+
+ sed -i -e 's/-g -Wall -pedantic -O/-Wall -pedantic/' Makefile || die
+}
+
+src_compile() {
+ emake cc-flags
+ echo ${CFLAGS} >>cc-flags
+
+ emake CC="$(tc-getCC)" LD="$(tc-getCC) ${LDFLAGS}" \
+ SNROOT=/var/spool/news \
+ BINDIR=/usr/sbin \
+ MANDIR=/usr/share/man
+}
+
+src_install() {
+ dodir /var/spool/news /usr/sbin /usr/share/man/man8
+ mknod -m 600 "${D}"/var/spool/news/.fifo p
+ emake install \
+ SNROOT="${D}"/var/spool/news \
+ BINDIR="${D}"/usr/sbin \
+ MANDIR="${D}"/usr/share/man
+ dodoc CHANGES FAQ INSTALL* INTERNALS README* THANKS TODO
+ fowners news:news /var/spool/news{,/.fifo}
+}
diff --git a/net-nntp/suck/Manifest b/net-nntp/suck/Manifest
new file mode 100644
index 000000000000..e74f24a36cdc
--- /dev/null
+++ b/net-nntp/suck/Manifest
@@ -0,0 +1 @@
+DIST suck-4.3.2.tar.gz 187560 SHA256 c98dd04d1fe6914867fa509821243d5e63d1159a238f38f6c01e19e266b51788
diff --git a/net-nntp/suck/metadata.xml b/net-nntp/suck/metadata.xml
new file mode 100644
index 000000000000..4d0ebe73a55f
--- /dev/null
+++ b/net-nntp/suck/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+</pkgmetadata>
diff --git a/net-nntp/suck/suck-4.3.2.ebuild b/net-nntp/suck/suck-4.3.2.ebuild
new file mode 100644
index 000000000000..9b1a9a0f9c96
--- /dev/null
+++ b/net-nntp/suck/suck-4.3.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Grab news from a remote NNTP server and feed them to another"
+HOMEPAGE="http://home.comcast.net/~bobyetman/"
+SRC_URI="http://home.comcast.net/~bobyetman/${P}.tar.gz"
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc x86"
+IUSE="ssl perl"
+
+DEPEND="sys-libs/db
+ perl? ( dev-lang/perl )
+ ssl? ( dev-libs/openssl )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Fix paths to the locations in Gentoo
+ sed -i \
+ -e 's:/usr/lib/news/rnews:/usr/lib/news/bin/rnews:' \
+ -e 's:/usr/news/db/history:/var/spool/news/db/history:' \
+ suck_config.h
+}
+
+src_compile() {
+ use ssl || sed -i -e 's/^SSL_/#SSL_/' Makefile.in
+ use perl || sed -i -e 's/^PERL_/#PERL_/' Makefile.in
+
+ econf || die "econf failed"
+
+ emake phrases.h || die "emake phrases.h failed"
+ emake all lpost || die "emake failed"
+}
+
+src_install() {
+ dobin lmove lpost rpost suck testhost
+ doman man/*
+ dodoc CHANGELOG CONTENTS README*
+ docinto java
+ dodoc java/*
+ docinto perl
+ dodoc perl/*
+ docinto sample
+ dodoc sample/*
+}
diff --git a/net-nntp/tin/Manifest b/net-nntp/tin/Manifest
new file mode 100644
index 000000000000..70726ba7d820
--- /dev/null
+++ b/net-nntp/tin/Manifest
@@ -0,0 +1,3 @@
+DIST tin-2.0.1.tar.bz2 1758848 SHA256 eb4c1e46defb66f02eb64daa0929414c6363d9d4d74ec2458cfc6e781de89b1f SHA512 fc2bd0586e72a2fb4f8a223c0ceeb19e2dfcdb300d463f0f5d4b7367346a032614aa662a4d9d11673269be59cbaeff39fa3fdf7618dd41e965850d137919a386 WHIRLPOOL 1e565e2e6e3f02d2e77ef382066df81fc29ff59691d5defd7752c2bb158fa85207f9a619fd40948ea6a3a5b51caa57638a720ecab40b83de2a6af706a40bc0d2
+DIST tin-2.2.1.tar.xz 1378384 SHA256 a9968d4b43e2faa4ca1f27e5f2211fa261b2884846c909f59aa76cdaa955ddc7 SHA512 2c5b4b50be38c168404ba55c9429355c0dd2232c580116086fa9ea24a8907ad2d71d91b2d1c533bf7ff4d24fd1946d5ba61bc0833b20d5383e013e2f18c10bbd WHIRLPOOL a6cb1674c497e1a08b93d19a508d070635893795a4298f1b04cc35a4254ae88eb27dc4bd1b84d3fbfe56a59d3656ee325777248e832f091d0cd0da83b4fbfd4c
+DIST tin-2.3.1.tar.xz 1381840 SHA256 7d9069fe567f4309ac26dff5334a3c4365c4d2097929a2d47846628e4d8644c6 SHA512 53fecc8fca7c67a7082a1f3f77a868433725a2ad4cc5650cdd522f791cbfc336733db5de3c637606788a2844df7e13e1d3fbae48c15ceaa49e24ea6e297926af WHIRLPOOL f7c0ba02ce4695823b1601f516af305e148de05f345f733d1ef7bbd81c996fe2740e913f32918b5af4e956f25e81c71f943d78906a25df22974f11ba79531a04
diff --git a/net-nntp/tin/metadata.xml b/net-nntp/tin/metadata.xml
new file mode 100644
index 000000000000..65301ea853c4
--- /dev/null
+++ b/net-nntp/tin/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+<use>
+<flag name='cancel-locks'>Enable Cancel-Lock header functionality (also enables USE=evil)</flag>
+<flag name='evil'>Let tin generate a message ID</flag>
+<flag name='forgery'>Cancel messages posted from a different account</flag>
+<flag name='gpg'>Enable <pkg>app-crypt/gpg</pkg> support</flag>
+<flag name='etiquette'>Enable the display off posting etiquettes</flag>
+</use>
+</pkgmetadata>
diff --git a/net-nntp/tin/tin-2.0.1-r1.ebuild b/net-nntp/tin/tin-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..86103571f9ed
--- /dev/null
+++ b/net-nntp/tin/tin-2.0.1-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils toolchain-funcs versionator
+
+DESCRIPTION="A threaded NNTP and spool based UseNet newsreader"
+HOMEPAGE="http://www.tin.org/"
+SRC_URI="ftp://ftp.tin.org/pub/news/clients/tin/v$(get_version_component_range 1-2)/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cancel-locks debug doc +etiquette evil forgery gpg idn ipv6 mime nls sasl socks5 spell unicode"
+
+RDEPEND="
+ dev-libs/libpcre
+ dev-libs/uulib
+ gpg? ( app-crypt/gnupg )
+ idn? ( net-dns/libidn )
+ mime? ( net-mail/metamail )
+ net-misc/urlview
+ nls? ( sys-devel/gettext )
+ sasl? ( virtual/gsasl )
+ socks5? ( net-proxy/dante )
+ sys-libs/ncurses[unicode?]
+ unicode? ( dev-libs/icu:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # Do not strip
+ sed -i src/Makefile.in -e '388s|-s ||g' || die "sed src/Makefile.in failed"
+ sed -i configure.in -e '/CFLAGS/s|-g||g' || die
+ eautoreconf
+}
+
+src_configure() {
+ if use evil || use cancel-locks; then
+ sed -i -e"s/# -DEVIL_INSIDE/-DEVIL_INSIDE/" src/Makefile.in
+ fi
+
+ if use forgery
+ then
+ sed -i -e"s/^CPPFLAGS.*/& -DFORGERY/" src/Makefile.in
+ fi
+
+ local screen="ncurses"
+ use unicode && screen="ncursesw"
+
+ use etiquette || myconf="${myconf} --disable-etiquette"
+
+ tc-export AR CC RANLIB
+
+ econf \
+ $(use_enable cancel-locks) \
+ $(use_enable debug) \
+ $(use_enable gpg pgp-gpg) \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with mime metamail /usr) \
+ $(use_with socks5 socks) $(use_with socks5) \
+ $(use_with spell ispell /usr) \
+ --disable-mime-strict-charset \
+ --enable-echo \
+ --enable-nntp-only \
+ --enable-prototypes \
+ --with-coffee \
+ --with-nntp-default-server="${TIN_DEFAULT_SERVER:-${NNTPSERVER:-news.gmane.org}}" \
+ --with-pcre=/usr \
+ --with-screen=${screen} \
+ ${myconf}
+}
+
+src_compile() {
+ emake build
+}
+
+src_install() {
+ default
+
+ # File collision?
+ rm -f "${ED}"/usr/share/man/man5/{mbox,mmdf}.5
+
+ dodoc doc/{CHANGES{,.old},CREDITS,TODO,WHATSNEW}
+ use doc && dodoc doc/{*.sample,*.txt}
+
+ insinto /etc/tin
+ doins doc/tin.defaults
+}
diff --git a/net-nntp/tin/tin-2.2.1.ebuild b/net-nntp/tin/tin-2.2.1.ebuild
new file mode 100644
index 000000000000..c4e719ba599f
--- /dev/null
+++ b/net-nntp/tin/tin-2.2.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs versionator
+
+TIN_PV=$(get_version_component_range 1-2)
+DESCRIPTION="A threaded NNTP and spool based UseNet newsreader"
+HOMEPAGE="http://www.tin.org/"
+SRC_URI="ftp://ftp.tin.org/pub/news/clients/tin/v${TIN_PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cancel-locks debug doc +etiquette evil forgery gpg idn ipv6 mime nls sasl socks5 spell unicode"
+
+RDEPEND="
+ dev-libs/libpcre
+ dev-libs/uulib
+ gpg? ( app-crypt/gnupg )
+ idn? ( net-dns/libidn )
+ mime? ( net-mail/metamail )
+ net-misc/urlview
+ nls? ( sys-devel/gettext )
+ sasl? ( virtual/gsasl )
+ socks5? ( net-proxy/dante )
+ sys-libs/ncurses[unicode?]
+ unicode? ( dev-libs/icu:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ sed -i src/Makefile.in -e 's| -s | |g' || die
+ sed -i configure -e '/CFLAGS/s|-g||g' || die
+}
+
+src_configure() {
+ if use evil || use cancel-locks; then
+ sed -i -e"s/# -DEVIL_INSIDE/-DEVIL_INSIDE/" src/Makefile.in
+ fi
+
+ if use forgery
+ then
+ sed -i -e"s/^CPPFLAGS.*/& -DFORGERY/" src/Makefile.in
+ fi
+
+ local screen="ncurses"
+ use unicode && screen="ncursesw"
+
+ tc-export AR CC RANLIB
+
+ econf \
+ $(use_enable cancel-locks) \
+ $(use_enable debug) \
+ $(use_enable etiquette) \
+ $(use_enable gpg pgp-gpg) \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with mime metamail /usr) \
+ $(use_with socks5 socks) $(use_with socks5) \
+ $(use_with spell ispell /usr) \
+ --disable-mime-strict-charset \
+ --enable-echo \
+ --enable-nntp-only \
+ --enable-prototypes \
+ --with-coffee \
+ --with-nntp-default-server="${TIN_DEFAULT_SERVER:-${NNTPSERVER:-news.gmane.org}}" \
+ --with-pcre=/usr \
+ --with-screen=${screen}
+}
+
+src_compile() {
+ emake build
+}
+
+src_install() {
+ default
+
+ # File collision?
+ rm -f "${ED}"/usr/share/man/man5/{mbox,mmdf}.5
+
+ dodoc doc/{CHANGES{,.old},CREDITS,TODO,WHATSNEW}
+ use doc && dodoc doc/{*.sample,*.txt}
+
+ insinto /etc/tin
+ doins doc/tin.defaults
+}
diff --git a/net-nntp/tin/tin-2.3.1.ebuild b/net-nntp/tin/tin-2.3.1.ebuild
new file mode 100644
index 000000000000..45b4e61ba327
--- /dev/null
+++ b/net-nntp/tin/tin-2.3.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs versionator
+
+TIN_PV=$(get_version_component_range 1-2)
+DESCRIPTION="A threaded NNTP and spool based UseNet newsreader"
+HOMEPAGE="http://www.tin.org/"
+SRC_URI="ftp://ftp.tin.org/pub/news/clients/tin/v${TIN_PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cancel-locks debug doc +etiquette evil forgery gpg idn ipv6 mime nls sasl socks5 spell unicode"
+
+RDEPEND="
+ dev-libs/libpcre
+ dev-libs/uulib
+ gpg? ( app-crypt/gnupg )
+ idn? ( net-dns/libidn )
+ mime? ( net-mail/metamail )
+ net-misc/urlview
+ nls? ( sys-devel/gettext )
+ sasl? ( virtual/gsasl )
+ socks5? ( net-proxy/dante )
+ sys-libs/ncurses[unicode?]
+ unicode? ( dev-libs/icu:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ sed -i src/Makefile.in -e 's| -s | |g' || die
+ sed -i configure -e '/CFLAGS/s|-g||g' || die
+}
+
+src_configure() {
+ if use evil || use cancel-locks; then
+ sed -i -e"s/# -DEVIL_INSIDE/-DEVIL_INSIDE/" src/Makefile.in
+ fi
+
+ if use forgery
+ then
+ sed -i -e"s/^CPPFLAGS.*/& -DFORGERY/" src/Makefile.in
+ fi
+
+ local screen="ncurses"
+ use unicode && screen="ncursesw"
+
+ tc-export AR CC RANLIB
+
+ econf \
+ $(use_enable cancel-locks) \
+ $(use_enable debug) \
+ $(use_enable etiquette) \
+ $(use_enable gpg pgp-gpg) \
+ $(use_enable ipv6) \
+ $(use_enable nls) \
+ $(use_with mime metamail /usr) \
+ $(use_with socks5 socks) $(use_with socks5) \
+ $(use_with spell ispell /usr) \
+ --disable-mime-strict-charset \
+ --enable-echo \
+ --enable-nntp-only \
+ --enable-prototypes \
+ --with-coffee \
+ --with-nntp-default-server="${TIN_DEFAULT_SERVER:-${NNTPSERVER:-news.gmane.org}}" \
+ --with-pcre=/usr \
+ --with-screen=${screen}
+}
+
+src_compile() {
+ emake build
+}
+
+src_install() {
+ default
+
+ # File collision?
+ rm -f "${ED}"/usr/share/man/man5/{mbox,mmdf}.5
+
+ dodoc doc/{CHANGES{,.old},CREDITS,TODO,WHATSNEW}
+ use doc && dodoc doc/{*.sample,*.txt}
+
+ insinto /etc/tin
+ doins doc/tin.defaults
+}
diff --git a/net-nntp/ubh/Manifest b/net-nntp/ubh/Manifest
new file mode 100644
index 000000000000..715cc2208923
--- /dev/null
+++ b/net-nntp/ubh/Manifest
@@ -0,0 +1 @@
+DIST ubh-2.5.tar.gz 42235 RMD160 b5e7c81bacaae8d4044b93a4b6d37ded0d0630ac SHA1 ba2ee22efe9e45556e819aeb20dde52530f22cca SHA256 9ee39955999ab7e0d3e99b70868e4dc564c8af9d74cfc9ef84854f8a93a109b6
diff --git a/net-nntp/ubh/metadata.xml b/net-nntp/ubh/metadata.xml
new file mode 100644
index 000000000000..2264ee301e33
--- /dev/null
+++ b/net-nntp/ubh/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription></longdescription>
+</pkgmetadata>
diff --git a/net-nntp/ubh/ubh-2.5.ebuild b/net-nntp/ubh/ubh-2.5.ebuild
new file mode 100644
index 000000000000..b3fdbff73168
--- /dev/null
+++ b/net-nntp/ubh/ubh-2.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="The Usenet Binary Harvester"
+HOMEPAGE="http://ubh.sourceforge.net/"
+SRC_URI="http://ubh.sourceforge.net/download/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~ppc ~x86"
+DEPEND=">=virtual/perl-libnet-1.0607
+ >=dev-perl/News-Newsrc-1.07
+ >=dev-perl/IO-stringy-1.220
+ >=virtual/perl-MIME-Base64-2.12
+ >=dev-perl/MailTools-1.15
+ >=dev-perl/MIME-tools-5.411
+ >=dev-perl/string-crc32-1.2"
+
+src_install() {
+ dobin ubh || die "dobin failed"
+ dohtml doc/ubh.html || die "dohtml failed"
+ insinto /usr/share/${P}
+ doins examples/{newsrc,ubhrc} || die "doins failed"
+}
diff --git a/net-nntp/xrn/Manifest b/net-nntp/xrn/Manifest
new file mode 100644
index 000000000000..5223d7f1764a
--- /dev/null
+++ b/net-nntp/xrn/Manifest
@@ -0,0 +1 @@
+DIST xrn-9.02.tgz 362615 SHA256 5fc44883bf94538def846669ebabcc95a710e46531f071ac432d0f9cadc56677
diff --git a/net-nntp/xrn/metadata.xml b/net-nntp/xrn/metadata.xml
new file mode 100644
index 000000000000..4d0ebe73a55f
--- /dev/null
+++ b/net-nntp/xrn/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-news</herd>
+</pkgmetadata>
diff --git a/net-nntp/xrn/xrn-9.02.ebuild b/net-nntp/xrn/xrn-9.02.ebuild
new file mode 100644
index 000000000000..02acf624b9be
--- /dev/null
+++ b/net-nntp/xrn/xrn-9.02.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="A small and fast news reader for X"
+HOMEPAGE="http://www.mit.edu/people/jik/software/xrn.html"
+SRC_URI="ftp://sipb.mit.edu/pub/${PN}/${P}.tgz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="x86"
+IUSE=""
+
+RDEPEND="x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXp
+ x11-libs/libXpm
+ x11-libs/libXt"
+DEPEND="${RDEPEND}
+ x11-misc/imake
+ >=sys-apps/sed-4"
+
+src_compile() {
+ # English is the default language, but french and german are also
+ # supported, however only one language may be supported at a time:
+ local lingua
+ for lingua in ${LINGUAS} en ; do
+ case "${lingua}" in
+ en*)
+ MY_LANG="english"
+ break # Breaks the for loop.
+ ;;
+ fr*)
+ MY_LANG="french"
+ break # Breaks the for loop.
+ ;;
+ de*)
+ MY_LANG="german"
+ break # Breaks the for loop.
+ ;;
+ esac
+ done
+
+ # Bugs to Gentoo bugzilla:
+ sed -i \
+ -e "s,bug-xrn@kamens.brookline.ma.us,http://bugs.gentoo.org/," \
+ -e "s,\(#ifndef CONFIG_H_IS_OK\),#define CONFIG_H_IS_OK\n\1," \
+ config.h
+
+ # Generate Makefile:
+ xmkmf || die "xmkmf failed"
+
+ # Use our own CFLAGS and our desired language:
+ emake -j1 CDEBUGFLAGS="${CFLAGS}" LANGUAGE="${MY_LANG}" || die "emake failed"
+}
+
+src_install() {
+ dobin xrn || die "dobin failed"
+ dodoc README README.Linux TODO CREDITS COMMON-PROBLMS || die "dodoc failed"
+
+ # Default settings:
+ insinto /etc/X11/app-defaults
+ newins XRn.ad XRn
+
+ newman xrn.man xrn.1
+}