commit:     c7035d48a6e57fd9e1673c8724eb8b726ea1bf07
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Fri May  7 16:51:30 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Fri May  7 16:51:30 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7035d48

games-emulation/advancescan: Fix building against GCC 11

Closes: https://bugs.gentoo.org/786792
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../advancescan/advancescan-1.16-r1.ebuild         |   7 +-
 .../advancescan/files/advancescan-1.16-gcc11.patch | 252 +++++++++++++++++++++
 2 files changed, 256 insertions(+), 3 deletions(-)

diff --git a/games-emulation/advancescan/advancescan-1.16-r1.ebuild 
b/games-emulation/advancescan/advancescan-1.16-r1.ebuild
index cebee4ad876..6a0026200b4 100644
--- a/games-emulation/advancescan/advancescan-1.16-r1.ebuild
+++ b/games-emulation/advancescan/advancescan-1.16-r1.ebuild
@@ -7,7 +7,8 @@ inherit autotools
 
 DESCRIPTION="A command line rom manager for MAME, MESS, AdvanceMAME, 
AdvanceMESS and Raine"
 HOMEPAGE="http://advancemame.sourceforge.net/scan-readme.html";
-SRC_URI="mirror://sourceforge/advancemame/${P}.tar.gz
+SRC_URI="
+       mirror://sourceforge/advancemame/${P}.tar.gz
        
https://dev.gentoo.org/~juippis/distfiles/tmp/advancescan-1.16-gcc6.patch";
 
 LICENSE="GPL-2"
@@ -16,13 +17,13 @@ KEYWORDS="~amd64 ~x86"
 
 DEPEND="
        dev-libs/expat
-       sys-libs/zlib
-"
+       sys-libs/zlib"
 RDEPEND="${DEPEND}"
 
 PATCHES=(
        "${FILESDIR}"/${P}-sys-expat.patch
        "${DISTDIR}"/${P}-gcc6.patch
+       "${FILESDIR}"/${P}-gcc11.patch
 )
 
 src_prepare() {

diff --git a/games-emulation/advancescan/files/advancescan-1.16-gcc11.patch 
b/games-emulation/advancescan/files/advancescan-1.16-gcc11.patch
new file mode 100644
index 00000000000..eae86c192d6
--- /dev/null
+++ b/games-emulation/advancescan/files/advancescan-1.16-gcc11.patch
@@ -0,0 +1,252 @@
+--- a/conf.cc
++++ b/conf.cc
+@@ -28,7 +28,7 @@
+ 
+ using namespace std;
+ 
+-static void expand_tree(const string& path, filepath_container& ds) throw 
(error)
++static void expand_tree(const string& path, filepath_container& ds)
+ {
+       DIR* dir = opendir(path.c_str());
+       if (!dir)
+--- a/file.cc
++++ b/file.cc
+@@ -98,7 +98,7 @@
+ /**
+  * Check if a file exists.
+  */
+-bool file_exists(const string& path) throw (error)
++bool file_exists(const string& path)
+ {
+       struct stat s;
+       if (stat(path.c_str(), &s) != 0) {
+@@ -114,7 +114,7 @@
+ /**
+  * Write a whole file.
+  */
+-void file_write(const string& path, const char* data, unsigned size) throw 
(error)
++void file_write(const string& path, const char* data, unsigned size)
+ {
+       FILE* f = fopen(path.c_str(), "wb");
+       if (!f)
+@@ -134,7 +134,7 @@
+ /**
+  * Read a whole file.
+  */
+-void file_read(const string& path, char* data, unsigned size) throw (error)
++void file_read(const string& path, char* data, unsigned size)
+ {
+       file_read(path, data, 0, size);
+ }
+@@ -142,7 +142,7 @@
+ /**
+  * Read a whole file.
+  */
+-void file_read(const string& path, char* data, unsigned offset, unsigned 
size) throw (error)
++void file_read(const string& path, char* data, unsigned offset, unsigned size)
+ {
+       FILE* f = fopen(path.c_str(), "rb");
+       if (!f)
+@@ -166,7 +166,7 @@
+ /**
+  * Get the time of a file.
+  */
+-time_t file_time(const string& path) throw (error)
++time_t file_time(const string& path)
+ {
+       struct stat s;
+       if (stat(path.c_str(), &s)!=0)
+@@ -178,7 +178,7 @@
+ /**
+  * Set the time of a file.
+  */
+-void file_utime(const string& path, time_t tod) throw (error)
++void file_utime(const string& path, time_t tod)
+ {
+       struct utimbuf u;
+ 
+@@ -192,7 +192,7 @@
+ /**
+  * Get the size of a file.
+  */
+-unsigned file_size(const string& path) throw (error)
++unsigned file_size(const string& path)
+ {
+       struct stat s;
+       if (stat(path.c_str(), &s)!=0)
+@@ -204,7 +204,7 @@
+ /**
+  * Get the crc of a file.
+  */
+-crc_t file_crc(const string& path) throw (error)
++crc_t file_crc(const string& path)
+ {
+       unsigned size = file_size(path);
+ 
+@@ -227,7 +227,7 @@
+ /**
+  * Copy a file.
+  */
+-void file_copy(const string& path1, const string& path2) throw (error)
++void file_copy(const string& path1, const string& path2)
+ {
+       unsigned size;
+ 
+@@ -249,7 +249,7 @@
+ /**
+  * Move a file.
+  */
+-void file_move(const string& path1, const string& path2) throw (error)
++void file_move(const string& path1, const string& path2)
+ {
+       if (rename(path1.c_str(), path2.c_str())!=0
+               && errno==EXDEV) {
+@@ -271,7 +271,7 @@
+ /**
+  * Remove a file.
+  */
+-void file_remove(const string& path1) throw (error)
++void file_remove(const string& path1)
+ {
+       if (remove(path1.c_str())!=0) {
+               throw error() << "Failed remove of " << path1;
+@@ -281,7 +281,7 @@
+ /**
+  * Rename a file.
+  */
+-void file_rename(const string& path1, const string& path2) throw (error)
++void file_rename(const string& path1, const string& path2)
+ {
+       if (rename(path1.c_str(), path2.c_str())!=0) {
+               throw error() << "Failed rename of " << path1 << " to " << 
path2;
+@@ -291,7 +291,7 @@
+ /**
+  * Randomize a name file.
+  */
+-string file_randomize(const string& path, int n) throw ()
++string file_randomize(const string& path, int n)
+ {
+       ostringstream os;
+ 
+@@ -310,7 +310,7 @@
+ /**
+  * Get the directory from a path.
+  */
+-string file_dir(const string& path) throw ()
++string file_dir(const string& path)
+ {
+       size_t pos = path.rfind('/');
+       if (pos == string::npos) {
+@@ -323,7 +323,7 @@
+ /**
+  * Get the file name from a path.
+  */
+-string file_name(const string& path) throw ()
++string file_name(const string& path)
+ {
+       size_t pos = path.rfind('/');
+       if (pos == string::npos) {
+@@ -336,7 +336,7 @@
+ /**
+  * Get the basepath (path without extension) from a path.
+  */
+-string file_basepath(const string& path) throw ()
++string file_basepath(const string& path)
+ {
+       size_t dot = path.rfind('.');
+       if (dot == string::npos)
+@@ -348,7 +348,7 @@
+ /**
+  * Get the basename (name without extension) from a path.
+  */
+-string file_basename(const string& path) throw ()
++string file_basename(const string& path)
+ { 
+       string name = file_name(path);
+       size_t dot = name.rfind('.');
+@@ -361,7 +361,7 @@
+ /**
+  * Get the extension from a path.
+  */
+-string file_ext(const string& path) throw ()
++string file_ext(const string& path)
+ { 
+       string name = file_name(path);
+       size_t dot = name.rfind('.');
+@@ -374,7 +374,7 @@
+ /**
+  * Compare two path.
+  */
+-int file_compare(const string& path1, const string& path2) throw ()
++int file_compare(const string& path1, const string& path2)
+ {
+       return strcasecmp(path1.c_str(), path2.c_str());
+ }
+@@ -382,7 +382,7 @@
+ /**
+  * Convert a path to the C format.
+  */
+-string file_adjust(const string& path) throw ()
++string file_adjust(const string& path)
+ {
+       string r;
+       for(unsigned i=0;i<path.length();++i) {
+@@ -400,7 +400,7 @@
+ /**
+  * Make a drectory tree.
+  */
+-void file_mktree(const std::string& path) throw (error)
++void file_mktree(const std::string& path)
+ {
+       string dir = file_dir(path);
+       string name = file_name(path);
+--- a/file.h
++++ b/file.h
+@@ -67,27 +67,27 @@
+ crc_t crc_compute(const char* data, unsigned len);
+ crc_t crc_compute(crc_t pred, const char* data, unsigned len);
+ 
+-bool file_exists(const std::string& file) throw (error);
+-void file_write(const std::string& path, const char* data, unsigned size) 
throw (error);
+-void file_read(const std::string& path, char* data, unsigned size) throw 
(error);
+-void file_read(const std::string& path, char* data, unsigned offset, unsigned 
size) throw (error);
+-time_t file_time(const std::string& path) throw (error);
+-void file_utime(const std::string& path, time_t tod) throw (error);
+-unsigned file_size(const std::string& path) throw (error);
+-crc_t file_crc(const std::string& path) throw (error);
+-void file_copy(const std::string& path1, const std::string& path2) throw 
(error);
+-void file_move(const std::string& path1, const std::string& path2) throw 
(error);
+-void file_remove(const std::string& path1) throw (error);
+-void file_mktree(const std::string& path1) throw (error);
++bool file_exists(const std::string& file);
++void file_write(const std::string& path, const char* data, unsigned size);
++void file_read(const std::string& path, char* data, unsigned size);
++void file_read(const std::string& path, char* data, unsigned offset, unsigned 
size);
++time_t file_time(const std::string& path);
++void file_utime(const std::string& path, time_t tod);
++unsigned file_size(const std::string& path);
++crc_t file_crc(const std::string& path);
++void file_copy(const std::string& path1, const std::string& path2);
++void file_move(const std::string& path1, const std::string& path2);
++void file_remove(const std::string& path1);
++void file_mktree(const std::string& path1);
+ 
+-std::string file_randomize(const std::string& path, int n) throw ();
+-std::string file_name(const std::string& file) throw ();
+-std::string file_dir(const std::string& file) throw ();
+-std::string file_basename(const std::string& file) throw ();
+-std::string file_basepath(const std::string& file) throw ();
+-std::string file_ext(const std::string& file) throw ();
+-int file_compare(const std::string& path1, const std::string& path2) throw ();
+-std::string file_adjust(const std::string& path) throw ();
++std::string file_randomize(const std::string& path, int n);
++std::string file_name(const std::string& file);
++std::string file_dir(const std::string& file);
++std::string file_basename(const std::string& file);
++std::string file_basepath(const std::string& file);
++std::string file_ext(const std::string& file);
++int file_compare(const std::string& path1, const std::string& path2);
++std::string file_adjust(const std::string& path);
+ 
+ #endif
+ 

Reply via email to