From 5bdb78c3f0f4d0513b9aa448b0466d347ef39ef0 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Thu, 13 Jan 2022 23:40:42 -0500 Subject: app-office/scribus: backport upstream fix for USE=osg with CPP17 Fixes: 40fd326c118a7eb8ed87a62559dfa9b1266aba97 Closes: https://bugs.gentoo.org/831161 Signed-off-by: Ionen Wolkens --- .../scribus/files/scribus-1.5.7-osg-cpp17.patch | 219 +++++++++++++++++++++ app-office/scribus/scribus-1.5.7.ebuild | 1 + 2 files changed, 220 insertions(+) create mode 100644 app-office/scribus/files/scribus-1.5.7-osg-cpp17.patch (limited to 'app-office') diff --git a/app-office/scribus/files/scribus-1.5.7-osg-cpp17.patch b/app-office/scribus/files/scribus-1.5.7-osg-cpp17.patch new file mode 100644 index 000000000000..21f0c00554d2 --- /dev/null +++ b/app-office/scribus/files/scribus-1.5.7-osg-cpp17.patch @@ -0,0 +1,219 @@ +https://bugs.gentoo.org/831161 +Backport of https://github.com/scribusproject/scribus/commit/80405ce + +From: Jean Ghali +Date: Mon, 10 Jan 2022 20:38:51 +0000 +Subject: [PATCH] Rename byte() to to_byte() in order to avoid potential + conflict with std::byte in c++17 mode +--- a/scribus/third_party/prc/oPRCFile.cc ++++ b/scribus/third_party/prc/oPRCFile.cc +@@ -76,3 +76,3 @@ + // Map [0,1] to [0,255] +-inline uint8_t byte(double r) ++inline uint8_t to_byte(double r) + { +@@ -451,5 +451,5 @@ + { +- tess->rgba_vertices.push_back(byte(lit->color.red)); +- tess->rgba_vertices.push_back(byte(lit->color.green)); +- tess->rgba_vertices.push_back(byte(lit->color.blue)); ++ tess->rgba_vertices.push_back(to_byte(lit->color.red)); ++ tess->rgba_vertices.push_back(to_byte(lit->color.green)); ++ tess->rgba_vertices.push_back(to_byte(lit->color.blue)); + } +@@ -595,19 +595,19 @@ + { +- tessFace->rgba_vertices.push_back(byte(C[1].R)); +- tessFace->rgba_vertices.push_back(byte(C[1].G)); +- tessFace->rgba_vertices.push_back(byte(C[1].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[1].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].A)); + +- tessFace->rgba_vertices.push_back(byte(C[2].R)); +- tessFace->rgba_vertices.push_back(byte(C[2].G)); +- tessFace->rgba_vertices.push_back(byte(C[2].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[2].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].A)); + +- tessFace->rgba_vertices.push_back(byte(C[3].R)); +- tessFace->rgba_vertices.push_back(byte(C[3].G)); +- tessFace->rgba_vertices.push_back(byte(C[3].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[3].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].A)); + } +@@ -622,19 +622,19 @@ + { +- tessFace->rgba_vertices.push_back(byte(C[0].R)); +- tessFace->rgba_vertices.push_back(byte(C[0].G)); +- tessFace->rgba_vertices.push_back(byte(C[0].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[0].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].A)); + +- tessFace->rgba_vertices.push_back(byte(C[2].R)); +- tessFace->rgba_vertices.push_back(byte(C[2].G)); +- tessFace->rgba_vertices.push_back(byte(C[2].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[2].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[2].A)); + +- tessFace->rgba_vertices.push_back(byte(C[3].R)); +- tessFace->rgba_vertices.push_back(byte(C[3].G)); +- tessFace->rgba_vertices.push_back(byte(C[3].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[3].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].A)); + } +@@ -646,19 +646,19 @@ + { +- tessFace->rgba_vertices.push_back(byte(C[3].R)); +- tessFace->rgba_vertices.push_back(byte(C[3].G)); +- tessFace->rgba_vertices.push_back(byte(C[3].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[3].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[3].A)); + +- tessFace->rgba_vertices.push_back(byte(C[1].R)); +- tessFace->rgba_vertices.push_back(byte(C[1].G)); +- tessFace->rgba_vertices.push_back(byte(C[1].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[1].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[1].A)); + +- tessFace->rgba_vertices.push_back(byte(C[0].R)); +- tessFace->rgba_vertices.push_back(byte(C[0].G)); +- tessFace->rgba_vertices.push_back(byte(C[0].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[0].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[0].A)); + } +@@ -1650,17 +1650,17 @@ + { +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].A)); + } +@@ -1794,33 +1794,33 @@ + // first triangle +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][0]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].A)); + // second triangle +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][1]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].A)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].R)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].G)); +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].B)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][2]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].R)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].G)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].B)); + if(tessFace->is_rgba) +- tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].A)); ++ tessFace->rgba_vertices.push_back(to_byte(C[CI[i][3]].A)); + } +@@ -1912,7 +1912,7 @@ + { +- tess->rgba_vertices.push_back(byte(C[CI[i]].R)); +- tess->rgba_vertices.push_back(byte(C[CI[i]].G)); +- tess->rgba_vertices.push_back(byte(C[CI[i]].B)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].R)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].G)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].B)); + if(tess->is_rgba) +- tess->rgba_vertices.push_back(byte(C[CI[i]].A)); ++ tess->rgba_vertices.push_back(to_byte(C[CI[i]].A)); + } diff --git a/app-office/scribus/scribus-1.5.7.ebuild b/app-office/scribus/scribus-1.5.7.ebuild index 5f63eeb1aa19..2d3e677154da 100644 --- a/app-office/scribus/scribus-1.5.7.ebuild +++ b/app-office/scribus/scribus-1.5.7.ebuild @@ -78,6 +78,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.5.6-findhyphen.patch # upstream "${FILESDIR}"/${PN}-1.5.8-harfbuzz-3.patch + "${FILESDIR}"/${PN}-1.5.7-osg-cpp17.patch ) CMAKE_BUILD_TYPE="Release" -- cgit v1.2.3-65-gdbad