commit:     63e58fc53a784c5af3d535781620f893bd7ddbcf
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 08:33:13 2019 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 08:33:13 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63e58fc5

media-sound/mp3check: Fix building against GCC 9

Closes: https://bugs.gentoo.org/685880
Package-Manager: Portage-2.3.67, Repoman-2.3.15
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../files/mp3check-0.8.7-fix-buildsystem.patch        | 17 +++++++++++++++++
 .../mp3check-0.8.7-fix-c++14-operator-delete.patch    | 19 +++++++++++++++++++
 media-sound/mp3check/mp3check-0.8.7.ebuild            | 17 ++++++++---------
 3 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/media-sound/mp3check/files/mp3check-0.8.7-fix-buildsystem.patch 
b/media-sound/mp3check/files/mp3check-0.8.7-fix-buildsystem.patch
new file mode 100644
index 00000000000..86c69c162c4
--- /dev/null
+++ b/media-sound/mp3check/files/mp3check-0.8.7-fix-buildsystem.patch
@@ -0,0 +1,17 @@
+--- a/Makefile
++++ b/Makefile
+@@ -2,12 +2,10 @@
+ # Please see COPYING for license.
+ 
+ # --- config ----------------------------------------------------------------
+-WARN = -Wall -W -g
++WARN = -Wall -W
+ #OPT = -O2
+ OPT =
+-CPPFLAGS = $(ADDITIONAL_CPPFLAGS)
+-CXXFLAGS = $(WARN) $(OPT)
+-CXX = g++
++CXXFLAGS += $(WARN)
+ CC = $(CXX)
+ 
+ # --- default target

diff --git 
a/media-sound/mp3check/files/mp3check-0.8.7-fix-c++14-operator-delete.patch 
b/media-sound/mp3check/files/mp3check-0.8.7-fix-c++14-operator-delete.patch
new file mode 100644
index 00000000000..de19421ac57
--- /dev/null
+++ b/media-sound/mp3check/files/mp3check-0.8.7-fix-c++14-operator-delete.patch
@@ -0,0 +1,19 @@
+https://bugs.gentoo.org/685880
+tstring.cc: In static member function ‘static tstring::Rep* 
tstring::Rep::create(size_t)’:
+tstring.cc:114:39: error: exception cleanup for this placement new selects 
non-placement operator delete [-fpermissive]
+  114 |    Rep *p = new (m - 1 - sizeof(Rep)) Rep;
+      |                                       ^~~
+In file included from tstring.cc:26:
+
+--- a/tstring.h
++++ b/tstring.h
+@@ -75,6 +75,9 @@
+        return ::operator new (size + tmem + 1);}
+       static void operator delete (void *p, size_t) {
+        ::operator delete (p); }
++      // Gentoo Bug #685880
++      static void operator delete (void *p) {
++        ::operator delete (p); }
+       
+       // create a new representation
+       static Rep *create(size_t tmem);

diff --git a/media-sound/mp3check/mp3check-0.8.7.ebuild 
b/media-sound/mp3check/mp3check-0.8.7.ebuild
index ee78058978c..97e7d314e0c 100644
--- a/media-sound/mp3check/mp3check-0.8.7.ebuild
+++ b/media-sound/mp3check/mp3check-0.8.7.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=7
+
 inherit flag-o-matic toolchain-funcs
 
 DESCRIPTION="Checks mp3 files for consistency and prints several errors and 
warnings"
@@ -11,20 +12,18 @@ SRC_URI="https://${PN}.googlecode.com/files/${P}.tgz";
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="amd64 ~ppc x86"
-IUSE=""
 
-src_prepare() {
-       sed -i -e '/^WARN/s:-g::' Makefile || die
-}
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.8.7-fix-buildsystem.patch
+       "${FILESDIR}"/${PN}-0.8.7-fix-c++14-operator-delete.patch
+)
 
 src_configure() {
        # tfiletools.h:59:50: warning: dereferencing type-punned pointer will 
break
        # strict-aliasing rules [-Wstrict-aliasing]
        append-cxxflags -fno-strict-aliasing
-}
 
-src_compile() {
-       emake CXX="$(tc-getCXX)" OPT="${CXXFLAGS}"
+       tc-export CXX
 }
 
 src_install() {

Reply via email to