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-analyzer/postal
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-analyzer/postal')
-rw-r--r--net-analyzer/postal/Manifest1
-rw-r--r--net-analyzer/postal/files/01_postal-0.70-gcc43.patch11
-rw-r--r--net-analyzer/postal/files/02_postal-0.70-nossl.patch72
-rw-r--r--net-analyzer/postal/files/02_postal-0.72-nossl.patch72
-rw-r--r--net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch270
-rw-r--r--net-analyzer/postal/files/04_postal-0.70-warnings.patch17
-rw-r--r--net-analyzer/postal/files/05_postal-0.70-openssl-1.patch30
-rw-r--r--net-analyzer/postal/files/06_postal-0.70-ldflags.patch27
-rw-r--r--net-analyzer/postal/metadata.xml5
-rw-r--r--net-analyzer/postal/postal-0.72.ebuild38
10 files changed, 543 insertions, 0 deletions
diff --git a/net-analyzer/postal/Manifest b/net-analyzer/postal/Manifest
new file mode 100644
index 000000000000..f31942503c24
--- /dev/null
+++ b/net-analyzer/postal/Manifest
@@ -0,0 +1 @@
+DIST postal-0.72.tgz 106720 SHA256 70d59adf8ab006a6ea389d8f276a265de743330458f5c1affb97d86bb0663bad
diff --git a/net-analyzer/postal/files/01_postal-0.70-gcc43.patch b/net-analyzer/postal/files/01_postal-0.70-gcc43.patch
new file mode 100644
index 000000000000..fe577603ad3d
--- /dev/null
+++ b/net-analyzer/postal/files/01_postal-0.70-gcc43.patch
@@ -0,0 +1,11 @@
+--- rabid.cpp.orig 2008-06-15 14:05:19.776258513 +0200
++++ rabid.cpp 2008-06-15 14:05:47.927250506 +0200
+@@ -12,6 +12,8 @@
+ #include <strings.h>
+ #include "postal.h"
+ #include "logit.h"
++#include <cstring>
++
+ #ifdef USE_GNUTLS
+ #include <errno.h>
+ #include <gcrypt.h>
diff --git a/net-analyzer/postal/files/02_postal-0.70-nossl.patch b/net-analyzer/postal/files/02_postal-0.70-nossl.patch
new file mode 100644
index 000000000000..9b4166d4f140
--- /dev/null
+++ b/net-analyzer/postal/files/02_postal-0.70-nossl.patch
@@ -0,0 +1,72 @@
+diff -NrU5 postal-0.69.orig/configure.in postal-0.69/configure.in
+--- postal-0.69.orig/configure.in 2008-04-09 03:08:28.000000000 +0200
++++ postal-0.69/configure.in 2008-04-23 22:37:41.000000000 +0200
+@@ -13,15 +13,28 @@
+ else
+ stripping="-s"
+ fi
+
+ AC_ARG_ENABLE(openssl,
+- [ --disable-openssl disables openssl support],
+- DISABLEOPENSSL=$opensslval, DISABLEOPENSSL=no)
++ [ --disable-openssl disable openssl support],
++ [ if test $enableval = yes; then
++ DISABLEOPENSSL=no
++ else
++ DISABLEOPENSSL=yes
++ fi ]
++ ,
++ [ DISABLEOPENSSL=no ])
++
+ AC_ARG_ENABLE(gnutls,
+- [ --disable-gnutls disables gnutls support],
+- DISABLEGNUTLS=$gnutlsval, DISABLEGNUTLS=no)
++ [ --disable-gnutls disables gnutls support],
++ [if test $enableval = yes; then
++ DISABLEGNUTLS=no
++ else
++ DISABLEGNUTLS=yes
++ fi]
++ ,
++ [ DISABLEGNUTLS=no ])
+
+ dnl Checks for programs.
+ AC_LANG_CPLUSPLUS
+ AC_PROG_CC
+ AC_PROG_CXX
+@@ -118,17 +131,17 @@
+ crypt_ldflags=
+ if [[ "$GNUTLS" = "no" ]]; then
+ gnutls=""
+ else
+ gnutls="#define USE_GNUTLS"
+- crypt_ldflags="$extra_ldflags -lgnutls"
++ crypt_ldflags=" -lgnutls"
+ fi
+ if [[ "$OPENSSL" = "no" ]]; then
+ openssl=""
+ else
+ openssl="#define USE_OPENSSL"
+- crypt_ldflags="$extra_ldflags -lssl -lcrypto"
++ crypt_ldflags=" -lssl -lcrypto"
+ fi
+
+ AC_SUBST(large_file)
+ large_file=""
+
+diff -NrU5 postal-0.69.orig/Makefile.in postal-0.69/Makefile.in
+--- postal-0.69.orig/Makefile.in 2008-04-10 03:19:34.000000000 +0200
++++ postal-0.69/Makefile.in 2008-04-23 22:37:13.000000000 +0200
+@@ -16,11 +16,11 @@
+ INSTALL=@INSTALL@
+
+ TESTEXE=ex-test
+ BASEOBJS=userlist.o thread.o results.o address.o tcp.o cmd5.o mutex.o logit.o expand.o @extra_objs@
+ LFLAGS=-lstdc++ @extra_ldflags@
+-CRYPTLFLAGS=-lstdc++ @crypt_ldflags@
++CRYPTLFLAGS=-lstdc++ @extra_ldflags@ @crypt_ldflags@
+
+
+ ALLOBJS=$(BASEOBJS) smtp.o client.o basictcp.o bhmusers.o smtpserver.o
+
+ postal: postal.cpp $(BASEOBJS) postal.h smtp.o
diff --git a/net-analyzer/postal/files/02_postal-0.72-nossl.patch b/net-analyzer/postal/files/02_postal-0.72-nossl.patch
new file mode 100644
index 000000000000..238dbdbb783d
--- /dev/null
+++ b/net-analyzer/postal/files/02_postal-0.72-nossl.patch
@@ -0,0 +1,72 @@
+diff -NrU5 postal-0.69.orig/configure.in postal-0.69/configure.in
+--- configure.in 2008-04-09 03:08:28.000000000 +0200
++++ configure.in 2008-04-23 22:37:41.000000000 +0200
+@@ -13,15 +13,28 @@
+ else
+ stripping="-s"
+ fi
+
+ AC_ARG_ENABLE(openssl,
+- [ --disable-openssl disables openssl support],
+- DISABLEOPENSSL=$opensslval, DISABLEOPENSSL=no)
++ [ --disable-openssl disable openssl support],
++ [ if test $enableval = yes; then
++ DISABLEOPENSSL=no
++ else
++ DISABLEOPENSSL=yes
++ fi ]
++ ,
++ [ DISABLEOPENSSL=no ])
++
+ AC_ARG_ENABLE(gnutls,
+- [ --disable-gnutls disables gnutls support],
+- DISABLEGNUTLS=$gnutlsval, DISABLEGNUTLS=no)
++ [ --disable-gnutls disables gnutls support],
++ [if test $enableval = yes; then
++ DISABLEGNUTLS=no
++ else
++ DISABLEGNUTLS=yes
++ fi]
++ ,
++ [ DISABLEGNUTLS=no ])
+
+ dnl Checks for programs.
+ AC_LANG_CPLUSPLUS
+ AC_PROG_CC
+ AC_PROG_CXX
+@@ -118,17 +131,17 @@
+ crypt_ldflags=
+ if [[ "$GNUTLS" = "no" ]]; then
+ gnutls=""
+ else
+ gnutls="#define USE_GNUTLS"
+- crypt_ldflags="$extra_ldflags -lgnutls -lgcrypt"
++ crypt_ldflags=" -lgnutls -lgcrypt"
+ fi
+ if [[ "$OPENSSL" = "no" ]]; then
+ openssl=""
+ else
+ openssl="#define USE_OPENSSL"
+- crypt_ldflags="$extra_ldflags -lssl -lcrypto"
++ crypt_ldflags=" -lssl -lcrypto"
+ fi
+
+ AC_SUBST(large_file)
+ large_file=""
+
+diff -NrU5 postal-0.69.orig/Makefile.in postal-0.69/Makefile.in
+--- Makefile.in 2008-04-10 03:19:34.000000000 +0200
++++ Makefile.in 2008-04-23 22:37:13.000000000 +0200
+@@ -16,11 +16,11 @@
+ INSTALL=@INSTALL@
+
+ TESTEXE=ex-test
+ BASEOBJS=userlist.o thread.o results.o address.o tcp.o cmd5.o mutex.o logit.o expand.o @extra_objs@
+ LFLAGS=-lstdc++ @extra_ldflags@
+-CRYPTLFLAGS=-lstdc++ @crypt_ldflags@
++CRYPTLFLAGS=-lstdc++ @extra_ldflags@ @crypt_ldflags@
+
+
+ ALLOBJS=$(BASEOBJS) smtp.o client.o basictcp.o bhmusers.o smtpserver.o
+
+ postal: postal.cpp $(BASEOBJS) postal.h smtp.o
diff --git a/net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch b/net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch
new file mode 100644
index 000000000000..9ad6a036dcda
--- /dev/null
+++ b/net-analyzer/postal/files/03_postal-0.70-c++0x-integrated.patch
@@ -0,0 +1,270 @@
+diff -NrU5 postal-0.69.orig/bhm.cpp postal-0.69/bhm.cpp
+--- postal-0.69.orig/bhm.cpp 2008-04-23 22:39:01.000000000 +0200
++++ postal-0.69/bhm.cpp 2008-04-24 01:31:54.000000000 +0200
+@@ -7,10 +7,11 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <sys/wait.h>
+ #include <signal.h>
+ #include <stdio.h>
++#include <cstdlib>
+ #include <sys/poll.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
+ #include <netinet/ip.h>
+diff -NrU5 postal-0.69.orig/bhmusers.cpp postal-0.69/bhmusers.cpp
+--- postal-0.69.orig/bhmusers.cpp 2008-04-10 03:36:27.000000000 +0200
++++ postal-0.69/bhmusers.cpp 2008-04-24 00:04:07.000000000 +0200
+@@ -1,9 +1,10 @@
+ #include "bhmusers.h"
+ #include <stdio.h>
+ #include <cstring>
+ #include "expand.h"
++#include <cstdlib>
+
+ BHMUsers::BHMUsers(const char *userListFile)
+ {
+ char buf[1024];
+ FILE *fp = fopen(userListFile, "r");
+diff -NrU5 postal-0.69.orig/bhmusers.h postal-0.69/bhmusers.h
+--- postal-0.69.orig/bhmusers.h 2006-09-28 17:20:28.000000000 +0200
++++ postal-0.69/bhmusers.h 2008-04-24 00:14:05.000000000 +0200
+@@ -4,16 +4,21 @@
+ using namespace std;
+
+ #include <string>
+ #include "conf.h"
+
++#ifdef HAVE_STDCXX_0X
++#include <unordered_map>
++#include <tr1/functional_hash.h>
++#else
+ #ifdef HAVE_EXT_HASH_MAP
+ using namespace __gnu_cxx;
+ #include <ext/hash_map>
+ #else
+ #include <hash_map.h>
+ #endif
++#endif
+
+ #include "postal.h"
+
+ typedef enum { eNone = 0, eDefer, eReject, eBounce, eGrey } USER_SMTP_ACTION;
+
+@@ -21,10 +26,13 @@
+ {
+ USER_SMTP_ACTION action;
+ int sync_time;
+ } BHM_DATA;
+
++#ifdef HAVE_STDCXX_0X
++typedef unordered_map<string, BHM_DATA , hash<string> > NAME_MAP;
++#else
+ namespace __gnu_cxx
+ {
+ template<> struct hash< std::string >
+ {
+ size_t operator() ( const std::string &x ) const
+@@ -33,10 +41,11 @@
+ }
+ };
+ }
+
+ typedef hash_map<string, BHM_DATA , hash<string> > NAME_MAP;
++#endif
+
+ class BHMUsers
+ {
+ public:
+ BHMUsers(const char *userListFile);
+diff -NrU5 postal-0.69.orig/configure.in postal-0.69/configure.in
+--- postal-0.69.orig/configure.in 2008-04-23 22:39:01.000000000 +0200
++++ postal-0.69/configure.in 2008-04-24 01:20:35.000000000 +0200
+@@ -155,6 +155,98 @@
+
+ AC_CHECK_HEADERS(vector ext/hash_map)
+
+ dnl Checks for library functions.
+
++AC_DEFUN([AC_COMPILE_STDCXX_0X], [
++ AC_CACHE_CHECK(if g++ supports C++0x features without additional flags,
++ ac_cv_cxx_compile_cxx0x_native,
++ [AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ AC_TRY_COMPILE([
++ template <typename T>
++ struct check
++ {
++ static_assert(sizeof(int) <= sizeof(T), "not big enough");
++ };
++
++ typedef check<check<bool>> right_angle_brackets;
++
++ int a;
++ decltype(a) b;
++
++ typedef check<int> check_type;
++ check_type c;
++ check_type&& cr = c;],,
++ ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
++ AC_LANG_RESTORE
++ ])
++
++ AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x,
++ ac_cv_cxx_compile_cxx0x_cxx,
++ [AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS -std=c++0x"
++ AC_TRY_COMPILE([
++ template <typename T>
++ struct check
++ {
++ static_assert(sizeof(int) <= sizeof(T), "not big enough");
++ };
++
++ typedef check<check<bool>> right_angle_brackets;
++
++ int a;
++ decltype(a) b;
++
++ typedef check<int> check_type;
++ check_type c;
++ check_type&& cr = c;],,
++ ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
++ CXXFLAGS="$ac_save_CXXFLAGS"
++ AC_LANG_RESTORE
++ ])
++
++ AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x,
++ ac_cv_cxx_compile_cxx0x_gxx,
++ [AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS -std=gnu++0x"
++ AC_TRY_COMPILE([
++ template <typename T>
++ struct check
++ {
++ static_assert(sizeof(int) <= sizeof(T), "not big enough");
++ };
++
++ typedef check<check<bool>> right_angle_brackets;
++
++ int a;
++ decltype(a) b;
++
++ typedef check<int> check_type;
++ check_type c;
++ check_type&& cr = c;],,
++ ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
++ CXXFLAGS="$ac_save_CXXFLAGS"
++ AC_LANG_RESTORE
++ ])
++
++ if test "$ac_cv_cxx_compile_cxx0x_native" = yes ||
++ test "$ac_cv_cxx_compile_cxx0x_cxx" = yes ||
++ test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then
++ AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
++ fi
++])
++
++AC_COMPILE_STDCXX_0X
++
++AC_SUBST(cstd)
++cstd=
++if test "$ac_cv_cxx_compile_cxx0x_cxx" = yes; then
++ cstd=-std=c++0x
++fi
++
+ AC_OUTPUT(Makefile postal.h port.h postal.spec sun/pkginfo)
++
+diff -NrU5 postal-0.69.orig/Makefile.in postal-0.69/Makefile.in
+--- postal-0.69.orig/Makefile.in 2008-04-23 22:39:01.000000000 +0200
++++ postal-0.69/Makefile.in 2008-04-24 00:29:40.000000000 +0200
+@@ -8,12 +8,12 @@
+ prefix=@prefix@
+ eprefix=@exec_prefix@
+ WFLAGS=-Wall -W -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wcast-qual -pedantic
+ WPLUS=-Woverloaded-virtual -ffor-scope
+
+-CXX=@CXX@ $(CFLAGS) -O2 -g $(WFLAGS) $(WPLUS)
+-CC=@CC@ $(CFLAGS) -O2 -g $(WFLAGS)
++CXX=@CXX@ @cstd@ $(CFLAGS) $(WFLAGS) $(WPLUS)
++CC=@CC@ $(CFLAGS) $(WFLAGS)
+
+ INSTALL=@INSTALL@
+
+ TESTEXE=ex-test
+ BASEOBJS=userlist.o thread.o results.o address.o tcp.o cmd5.o mutex.o logit.o expand.o @extra_objs@
+diff -NrU5 postal-0.69.orig/postal.cpp postal-0.69/postal.cpp
+--- postal-0.69.orig/postal.cpp 2007-01-14 05:40:23.000000000 +0100
++++ postal-0.69/postal.cpp 2008-04-24 01:30:49.000000000 +0200
+@@ -6,10 +6,11 @@
+ #include "smtp.h"
+ #include <unistd.h>
+ #include <sys/wait.h>
+ #include <signal.h>
+ #include <stdio.h>
++#include <cstdlib>
+ #include "postal.h"
+ #include "logit.h"
+ #ifdef USE_GNUTLS
+ #include <errno.h>
+ #include <gcrypt.h>
+diff -NrU5 postal-0.69.orig/smtp.cpp postal-0.69/smtp.cpp
+--- postal-0.69.orig/smtp.cpp 2008-04-19 00:01:39.000000000 +0200
++++ postal-0.69/smtp.cpp 2008-04-24 00:14:49.000000000 +0200
+@@ -7,10 +7,11 @@
+ #include <time.h>
+ #include "userlist.h"
+ #include "logit.h"
+ #include "results.h"
+ #include <cstring>
++#include <cstdlib>
+
+ smtpData::smtpData()
+ : m_quit("QUIT\r\n")
+ , m_randomLetters("abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890 `~!@#$%^&*()-_=+[]{};:'\"|/?<>,")
+ , m_randomLen(strlen(m_randomLetters))
+diff -NrU5 postal-0.69.orig/smtp.h postal-0.69/smtp.h
+--- postal-0.69.orig/smtp.h 2008-04-19 00:01:23.000000000 +0200
++++ postal-0.69/smtp.h 2008-04-24 00:18:03.000000000 +0200
+@@ -4,16 +4,20 @@
+ using namespace std;
+ #include <string>
+ #include <cstring>
+ #include <time.h>
+ #include "conf.h"
++#ifdef HAVE_STDCXX_0X
++#include <unordered_map>
++#else
+ #ifdef HAVE_EXT_HASH_MAP
+ using namespace __gnu_cxx;
+ #include <ext/hash_map>
+ #else
+ #include <hash_map.h>
+ #endif
++#endif
+ #include "tcp.h"
+ #include "mutex.h"
+
+ class results;
+
+@@ -28,11 +32,15 @@
+ {
+ return (l1 == l2);
+ }
+ };
+
++#ifdef HAVE_STDCXX_0X
++typedef unordered_map<unsigned long, string *, hash<unsigned long>, eqlng> NAME_MAP;
++#else
+ typedef hash_map<unsigned long, string *, hash<unsigned long>, eqlng> NAME_MAP;
++#endif
+
+ class smtpData
+ {
+ public:
+ smtpData();
diff --git a/net-analyzer/postal/files/04_postal-0.70-warnings.patch b/net-analyzer/postal/files/04_postal-0.70-warnings.patch
new file mode 100644
index 000000000000..066cf972cdf7
--- /dev/null
+++ b/net-analyzer/postal/files/04_postal-0.70-warnings.patch
@@ -0,0 +1,17 @@
+diff -NrU5 postal-0.69.orig/bhm.cpp postal-0.69/bhm.cpp
+--- postal-0.69.orig/bhm.cpp 2008-04-23 01:47:25.000000000 +0200
++++ postal-0.69/bhm.cpp 2008-04-23 02:10:17.000000000 +0200
+@@ -67,11 +67,11 @@
+ Logit *debug;
+ } thread_data;
+
+ enum { eFree = 0, eUsed, eFinished };
+
+-int check_sender(CPCCHAR addr)
++int check_sender(CPCCHAR)
+ {
+ return 0;
+ }
+
+ int readCommand(base_tcp &t, char *buf, int bufSize, bool stripCR, int timeout = 60);
+
diff --git a/net-analyzer/postal/files/05_postal-0.70-openssl-1.patch b/net-analyzer/postal/files/05_postal-0.70-openssl-1.patch
new file mode 100644
index 000000000000..5b5c054ac98c
--- /dev/null
+++ b/net-analyzer/postal/files/05_postal-0.70-openssl-1.patch
@@ -0,0 +1,30 @@
+http://bugs.gentoo.org/327937
+
+--- basictcp.h
++++ basictcp.h
+@@ -89,7 +89,11 @@
+
+ #ifdef USE_SSL
+ #ifdef USE_OPENSSL
++ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const SSL_METHOD *m_sslMeth;
++ #else
+ SSL_METHOD *m_sslMeth;
++ #endif
+ SSL_CTX* m_sslCtx;
+ SSL *m_ssl;
+ #else
+--- tcp.h
++++ tcp.h
+@@ -100,7 +100,11 @@
+
+ #ifdef USE_SSL
+ #ifdef USE_OPENSSL
++ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const SSL_METHOD *m_sslMeth;
++ #else
+ SSL_METHOD *m_sslMeth;
++ #endif
+ SSL_CTX* m_sslCtx;
+ SSL *m_ssl;
+ #else
diff --git a/net-analyzer/postal/files/06_postal-0.70-ldflags.patch b/net-analyzer/postal/files/06_postal-0.70-ldflags.patch
new file mode 100644
index 000000000000..7bfb92de7f0d
--- /dev/null
+++ b/net-analyzer/postal/files/06_postal-0.70-ldflags.patch
@@ -0,0 +1,27 @@
+--- Makefile.in~ 2011-06-08 11:38:59.123333174 +0300
++++ Makefile.in 2011-06-08 11:46:02.000000000 +0300
+@@ -24,19 +24,19 @@
+ ALLOBJS=$(BASEOBJS) smtp.o client.o basictcp.o bhmusers.o smtpserver.o
+
+ postal: postal.cpp $(BASEOBJS) postal.h smtp.o
+- $(CXX) postal.cpp $(BASEOBJS) smtp.o -o postal $(CRYPTLFLAGS)
++ $(CXX) $(LDFLAGS) postal.cpp $(BASEOBJS) smtp.o -o postal $(CRYPTLFLAGS)
+
+ rabid: rabid.cpp $(BASEOBJS) postal.h client.o
+- $(CXX) rabid.cpp $(BASEOBJS) client.o -o rabid $(CRYPTLFLAGS)
++ $(CXX) $(LDFLAGS) rabid.cpp $(BASEOBJS) client.o -o rabid $(CRYPTLFLAGS)
+
+ bhm: bhm.cpp userlist.o basictcp.o logit.o results.o mutex.o bhmusers.o postal.h
+- $(CXX) bhm.cpp userlist.o basictcp.o logit.o results.o mutex.o bhmusers.o -o bhm $(CRYPTLFLAGS)
++ $(CXX) $(LDFLAGS) bhm.cpp userlist.o basictcp.o logit.o results.o mutex.o bhmusers.o -o bhm $(CRYPTLFLAGS)
+
+ ex-test: ex-test.cpp expand.o
+- $(CXX) ex-test.cpp expand.o -o ex-test $(LFLAGS)
++ $(CXX) $(LDFLAGS) ex-test.cpp expand.o -o ex-test $(LFLAGS)
+
+ postal-list: postal-list.cpp expand.o
+- $(CXX) postal-list.cpp expand.o -o postal-list $(LFLAGS)
++ $(CXX) $(LDFLAGS) postal-list.cpp expand.o -o postal-list $(LFLAGS)
+
+ install-bin: $(EXE) $(SEXE)
+ mkdir -p $(DESTDIR)$(eprefix)/sbin $(DESTDIR)$(eprefix)/bin
diff --git a/net-analyzer/postal/metadata.xml b/net-analyzer/postal/metadata.xml
new file mode 100644
index 000000000000..940fde8f70ce
--- /dev/null
+++ b/net-analyzer/postal/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-mail</herd>
+</pkgmetadata>
diff --git a/net-analyzer/postal/postal-0.72.ebuild b/net-analyzer/postal/postal-0.72.ebuild
new file mode 100644
index 000000000000..7d827c21f93e
--- /dev/null
+++ b/net-analyzer/postal/postal-0.72.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils
+
+DESCRIPTION="SMTP and POP mailserver benchmark. Supports SSL, randomized user accounts and more"
+HOMEPAGE="http://www.coker.com.au/postal/"
+SRC_URI="http://www.coker.com.au/postal/${P}.tgz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="ssl gnutls"
+#ssl is an alias for openssl. If both ssl and gnutls are enabled, automagic will
+#enable only gnutls.
+DEPEND="ssl? (
+ !gnutls? ( >=dev-libs/openssl-0.9.8g )
+ gnutls? ( >=net-libs/gnutls-2.2.2 )
+ )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/01_${PN}-0.70-gcc43.patch"
+ epatch "${FILESDIR}/02_${PN}-0.72-nossl.patch"
+ epatch "${FILESDIR}/03_${PN}-0.70-c++0x-integrated.patch"
+ epatch "${FILESDIR}/04_${PN}-0.70-warnings.patch"
+ epatch "${FILESDIR}/05_${PN}-0.70-openssl-1.patch"
+ epatch "${FILESDIR}/06_${PN}-0.70-ldflags.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-stripping \
+ $(use_enable ssl openssl) \
+ $(use_enable gnutls)
+}