commit:     6ec4b1a29d4437ae3ad00a722cb71cf25cbfed50
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  5 12:36:37 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Mar  5 12:38:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ec4b1a2

mail-filter/mailfilter: Fix parallel build issue

Closes: https://bugs.gentoo.org/649514
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../files/0.8.4-fix-parallel-build.patch           | 113 +++++++++++++++++++++
 mail-filter/mailfilter/mailfilter-0.8.4.ebuild     |   2 +
 2 files changed, 115 insertions(+)

diff --git a/mail-filter/mailfilter/files/0.8.4-fix-parallel-build.patch 
b/mail-filter/mailfilter/files/0.8.4-fix-parallel-build.patch
new file mode 100644
index 00000000000..f697f94e450
--- /dev/null
+++ b/mail-filter/mailfilter/files/0.8.4-fix-parallel-build.patch
@@ -0,0 +1,113 @@
+https://github.com/nondeterministic/mailfilter/commit/4b3991b1334d83d5f209723ab3ec58d168baff2d
+
+https://bugs.gentoo.org/649514
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -31,15 +31,11 @@ bin_PROGRAMS = mailfilter
+ rcfile.cc: rcfile.ll rcparser.hh
+          $(LEX) $(AM_LFLAGS) -Prc -o$@ $<
+ 
+-# The final `touch' is necessary to be able to invoke flex/bison more
+-# than once and to not confuse the ../ylwrap script.
+-rcparser.hh: y.tab.c
+-y.tab.c: rcfile.yy
+-         $(YACC) -p rc $(YFLAGS) -o$@ $<;   \
+-         mv -f y.tab.c rcparser.cc;         \
+-         mv -f y.tab.h rcparser.hh;         \
+-         $(CXXCOMPILE) -c rcparser.cc;      \
+-         touch y.tab.c
++rcparser.hh: rcparser.cc
++rcparser.cc: rcfile.yy
++                 $(YACC) $(YFLAGS) -b rc -p rc $<;  \
++                 mv rc.tab.c rcparser.cc; \
++                 mv rc.tab.h rcparser.hh
+ 
+ # Almost the same as above, but this time for the RFC 822 parser:
+ rfc822.cc: rfc822.ll rfc822parser.hh
+@@ -47,58 +43,41 @@ rfc822.cc: rfc822.ll rfc822parser.hh
+ 
+ rfc822parser.hh: rfc822parser.cc
+ rfc822parser.cc: rfc822.yy
+-                 $(YACC) $(YFLAGS) -p rfc -o$@ $<;  \
+-                 $(CXXCOMPILE) -c rfc822parser.cc;  \
+-                 touch y.tab.c
++                 $(YACC) $(YFLAGS) -b rfc -p rfc $<;  \
++                 mv rfc.tab.c rfc822parser.cc; \
++                 mv rfc.tab.h rfc822parser.hh
+ 
+-# This thing is a workaround to avoid compile errors.
+-# We always re-generate the source from the flex/bison input, so it
+-# always matches the installed versions and does not lead to errors.
+-CLEANFILES = rcfile.cc rcparser.hh rcparser.cc y.tab.c ylwrap    \
+-             rfc822parser.output rfc822parser.cc rfc822parser.hh \
+-           rfc822.cc y.output
+-
+-nodist_mailfilter_SOURCES = rcfile.cc rcparser.hh y.tab.c rfc822.cc
+-
+-nodist_mailfilter_OBJECTS = y.tab.$(OBJEXT)
+-
+-# Looks like automake still wants to distribute rcfile.cc, even if it
+-# is in nodist_*_sources.
+-dist-hook:
+-      rm -f $(distdir)/rcfile.cc                              \
+-            $(distdir)/rfc822parser.cc                        \
+-            $(distdir)/rfcparser.cc
++CLEANFILES = *.output
+ 
+ # If this gets updated, remember to update the doxygen.in config file!
+-mailfilter_SOURCES =  md5c.c md5.h                            \
+-                      defines.hh                              \
+-                      rcfile.ll rcfile.hh                     \
+-                      rfc822.ll                               \
+-                      mailfilter.hh mailfilter.cc             \
+-                      header.hh header.cc                     \
+-                      weeder.hh weeder.cc                     \
+-                      preferences.hh preferences.cc           \
+-                      feedback.hh feedback.cc                 \
+-                      filter.hh filter.cc                     \
+-                      score.hh score.cc                       \
+-                      account.hh account.cc                   \
+-                      protocol.hh protocol.cc                 \
+-                      connection.hh                           \
+-                      socket.hh socket.cc                     \
+-                      pop3.hh pop3.cc                         \
+-                      apop.hh apop.cc                         \
++mailfilter_SOURCES =  md5c.c md5.h                              \
++                      defines.hh                                \
++                      rcfile.ll rcfile.hh                       \
++                      rcparser.hh rcparser.cc                   \
++                      rfc822.ll rfc822parser.hh rfc822parser.cc \
++                      mailfilter.hh mailfilter.cc               \
++                      header.hh header.cc                       \
++                      weeder.hh weeder.cc                       \
++                      preferences.hh preferences.cc             \
++                      feedback.hh feedback.cc                   \
++                      filter.hh filter.cc                       \
++                      score.hh score.cc                         \
++                      account.hh account.cc                     \
++                      protocol.hh protocol.cc                   \
++                      connection.hh                             \
++                      socket.hh socket.cc                       \
++                      pop3.hh pop3.cc                           \
++                      apop.hh apop.cc                           \
+                       imap.hh imap.cc
+ 
+ if !GETOPT
+ mailfilter_SOURCES += getopt.c getopt1.c getopt.h
+ endif
+ 
+-mailfilter_LDADD = rcparser.o rfc822parser.o
+-
+-INCLUDES = -I$(includedir)                                      \
+-      -I$(srcdir) -I$(top_srcdir)/include -I$(top_srcdir)     \
+-      -DLOCALEDIR=\"$(datadir)/locale\"                       \
+-      -I$(top_srcdir)/intl                                    \
+-      -I$(top_builddir) -I$(top_builddir)/include -I.
++AM_CPPFLAGS = -I$(includedir)                                     \
++            -I$(srcdir) -I$(top_srcdir)/include -I$(top_srcdir) \
++            -DLOCALEDIR=\"$(datadir)/locale\"                   \
++            -I$(top_srcdir)/intl                                \
++            -I$(top_builddir) -I$(top_builddir)/include -I.
+ 
+ LIBS = @LEXLIB@ @LIBS@

diff --git a/mail-filter/mailfilter/mailfilter-0.8.4.ebuild 
b/mail-filter/mailfilter/mailfilter-0.8.4.ebuild
index 734c41d0b39..330a2031c7c 100644
--- a/mail-filter/mailfilter/mailfilter-0.8.4.ebuild
+++ b/mail-filter/mailfilter/mailfilter-0.8.4.ebuild
@@ -16,6 +16,8 @@ DEPEND="sys-devel/flex
        ssl? ( dev-libs/openssl:* )"
 RDEPEND=""
 
+PATCHES=( "${FILESDIR}"/0.8.4-fix-parallel-build.patch )
+
 src_configure() {
        econf $(use_with ssl openssl)
 }

Reply via email to