summaryrefslogtreecommitdiff
path: root/media-gfx/rawtherapee
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-18 20:11:57 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-18 20:11:57 +0000
commitb30bf80580f09f15ee6686ff818cd36d923e1291 (patch)
tree273782d0605a08ce382dcf09078d11ed800cca58 /media-gfx/rawtherapee
parent51e7ea94956939599972c733f5b65fe71c7eb857 (diff)
gentoo auto-resync : 18:02:2023 - 20:11:56
Diffstat (limited to 'media-gfx/rawtherapee')
-rw-r--r--media-gfx/rawtherapee/Manifest4
-rw-r--r--media-gfx/rawtherapee/files/RT_5.8_fix_crop.patch221
-rw-r--r--media-gfx/rawtherapee/files/RT_5.8_glibc234.patch683
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.8-r4.ebuild85
4 files changed, 0 insertions, 993 deletions
diff --git a/media-gfx/rawtherapee/Manifest b/media-gfx/rawtherapee/Manifest
index 0ec44cc4d0f5..70d7874e0a51 100644
--- a/media-gfx/rawtherapee/Manifest
+++ b/media-gfx/rawtherapee/Manifest
@@ -1,7 +1,3 @@
-AUX RT_5.8_fix_crop.patch 9040 BLAKE2B 740d181229fc5677735870d5b4f1b1887ae63aeb7242a038de15c726ee00b3e7b975ba099c2cb3d0e874790fcb8813cf7ab0418e2dddba17227afb6d7ab37d19 SHA512 0d62164d24a87318c7eac65003ede4b05845286dc1d39395239ee713d66011e3aba5caf18bc9e3240caacfa5cebd00b329e4e82fe9a8dccc5643538de0aa0538
-AUX RT_5.8_glibc234.patch 20080 BLAKE2B b6712195ba1d44c7c01d86b8d67c3649d13d3bb74077d2bb78741a99b1f9ee4a0aa1bbfe36488127a8982d50e36de09e26419cb02c979e7aa6362c3232232af1 SHA512 330ee4b1ef29dc6ec3e58dd3f5686f0ee935a2efbfb3ba55a9eeeac4ece7ff5594b7adfe7a9272d342fa5cbbe0387869a234e20baff25e4263963778015f4a4d
-DIST rawtherapee-5.8.tar.xz 12653148 BLAKE2B f6d4b9b177ad3b6a32b460ecfc7caf5d42a01b5dd4f24da29739f5a2e5936a8d36f9857c0e24bca11f077ab0626f08bbad59ef756792d12f93ef9516427cd2c4 SHA512 bc79586cd937dcaefc053e65faa2162de887d514e44980956d937c157c6d55c4f6e6a7a9b8f91f2d657ed2054814737b96d5d741674c1e5a961d7177433efe4e
DIST rawtherapee-5.9.tar.xz 16219076 BLAKE2B 32039d6927eb4a4efbb49f3ad2bd019bd9f73c92a5e7125b7c560aaf7b6a42a5f1a2f67b24a713e4b255867539eda2bf63ea4e988453ec9634c917a11432a7fb SHA512 0d848a36293eb5cac3212910eaf1d011315269c6bbe780c4c2e5f91719721e25a7d1678a7e4453fa4a9694618978b04828612dc03e1d50cb9c11ad4d238e7ca8
-EBUILD rawtherapee-5.8-r4.ebuild 1940 BLAKE2B 5a7ff48ce1fdcd4571ca2d79f4b6f9616171ef87f7ac5cbe6576aae577e8f6ea355af0a271cedca3faa6b88c1124d6e262834a1ba13eebf196b328ce6d8507b5 SHA512 671123c1d257b2fb331492f9ace111ee9947cf4b88c0f6e4bb3ea245a7e7bea4f77acd95fc21140d58223c61ab172916c058262c9ede2e08c3059bbdbd31bfa5
EBUILD rawtherapee-5.9-r2.ebuild 1853 BLAKE2B 42fd47c79e57fc2631a53f60f63158560212ddb65a44148cdfe42ae8ddcc998799f7ef25a18e6cff4e0bb2231387c6ab01c8e842a48241de31d6aa104aafbff2 SHA512 2cc270b5adee8609f16ef8bc0c3779832466bb51e09cefa6bd5e6f63035b0ab8c0a52335421841cade91d502c2823ade52ce17d91cf7e41ea991fbf46cc3fe5f
MISC metadata.xml 396 BLAKE2B 21d743fc4870d7d6aa5a712581eff1e2d1a200718008c450f10a41ad7c95008cb1a45f882db1fbc98a9561645f27cee31c1f077d12b9e359a8527b31ce2785bc SHA512 174b118efc92edf6e412e3b0720d850ce65683b3025a7dec30596c82de071b05a25d796df2159a6e81a3571704984d53710999431d53e163207e77d95ceda2b7
diff --git a/media-gfx/rawtherapee/files/RT_5.8_fix_crop.patch b/media-gfx/rawtherapee/files/RT_5.8_fix_crop.patch
deleted file mode 100644
index 24cbfdcb41db..000000000000
--- a/media-gfx/rawtherapee/files/RT_5.8_fix_crop.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From 15db8cdb57161d57af8307bf85aeda02ea69ddde Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fl=C3=B6ssie?= <floessie.mail@gmail.com>
-Date: Sun, 5 Apr 2020 11:26:47 +0200
-Subject: [PATCH] Guard accesses to `Crop::crop_ratios` (#5701)
-
----
- rtgui/crop.cc | 125 +++++++++++++++++++++++++++++++++++---------------
- rtgui/crop.h | 11 ++---
- 2 files changed, 92 insertions(+), 44 deletions(-)
-
-diff --git a/rtgui/crop.cc b/rtgui/crop.cc
-index d9d496523..f092f07a5 100644
---- a/rtgui/crop.cc
-+++ b/rtgui/crop.cc
-@@ -16,6 +16,8 @@
- * You should have received a copy of the GNU General Public License
- * along with RawTherapee. If not, see <https://www.gnu.org/licenses/>.
- */
-+#include <vector>
-+
- #include "crop.h"
-
- #include "options.h"
-@@ -46,39 +48,82 @@ inline void get_custom_ratio(int w, int h, double &rw, double &rh)
-
- } // namespace
-
-+class Crop::CropRatios final
-+{
-+public:
-+ CropRatios() :
-+ ratios{
-+ {M("GENERAL_ASIMAGE"), 0.0},
-+ {M("GENERAL_CURRENT"), -1.0},
-+ {"3:2", 3.0 / 2.0}, // L1.5, P0.666...
-+ {"4:3", 4.0 / 3.0}, // L1.333..., P0.75
-+ {"16:9", 16.0 / 9.0}, // L1.777..., P0.5625
-+ {"16:10", 16.0 / 10.0}, // L1.6, P0.625
-+ {"1:1", 1.0 / 1.0}, // L1, P1
-+ {"2:1", 2.0 / 1.0}, // L2, P0.5
-+ {"3:1", 3.0 / 1.0}, // L3, P0.333...
-+ {"4:1", 4.0 / 1.0}, // L4, P0.25
-+ {"5:1", 5.0 / 1.0}, // L5, P0.2
-+ {"6:1", 6.0 / 1.0}, // L6, P0.1666...
-+ {"7:1", 7.0 / 1.0}, // L7, P0.142...
-+ {"4:5", 4.0 / 5.0}, // L1.25, P0.8
-+ {"5:7", 5.0 / 7.0}, // L1.4, P0.714...
-+ {"6:7", 6.0 / 7.0}, // L1.166..., P0.857...
-+ {"6:17", 6.0 / 17.0}, // L2.833..., P0.352...
-+ {"24:65 - XPAN", 24.0 / 65.0}, // L2.708..., P0.369...
-+ {"1.414 - DIN EN ISO 216", 1.414}, // L1.414, P0.707...
-+ {"3.5:5", 3.5 / 5.0}, // L1.428..., P0.7
-+ {"8.5:11 - US Letter", 8.5 / 11.0}, // L1.294..., P0.772...
-+ {"9.5:12", 9.5 / 12.0}, // L1.263..., P0.791...
-+ {"10:12", 10.0 / 12.0}, // L1.2, P0.833...
-+ {"11:14", 11.0 / 14.0}, // L1.272..., P0.785...
-+ {"11:17 - Tabloid", 11.0 / 17.0}, // L1.545..., P0.647...
-+ {"13:19", 13.0 / 19.0}, // L1.461..., P0.684...
-+ {"17:22", 17.0 / 22.0}, // L1.294..., P0.772...
-+ {"45:35 - ePassport", 45.0 / 35.0}, // L1.285,... P0.777...
-+ {"64:27", 64.0 / 27.0}, // L2.370..., P0.421...
-+ }
-+ {
-+ }
-+
-+ std::vector<Glib::ustring> getLabels() const
-+ {
-+ std::vector<Glib::ustring> res;
-+
-+ res.reserve(ratios.size());
-+
-+ for (const auto& ratio : ratios) {
-+ res.push_back(ratio.label);
-+ }
-+
-+ return res;
-+ }
-+
-+ double getValue(std::size_t index) const
-+ {
-+ return
-+ index < ratios.size()
-+ ? ratios[index].value
-+ : ratios[0].value;
-+ }
-+
-+ void updateCurrentRatio(double value)
-+ {
-+ ratios[1].value = value;
-+ }
-+
-+private:
-+ struct CropRatio {
-+ Glib::ustring label;
-+ double value;
-+ };
-+
-+ std::vector<CropRatio> ratios;
-+};
-+
- Crop::Crop():
- FoldableToolPanel(this, "crop", M("TP_CROP_LABEL"), false, true),
-- crop_ratios{
-- {M("GENERAL_ASIMAGE"), 0.0},
-- {M("GENERAL_CURRENT"), -1.0},
-- {"3:2", 3.0 / 2.0}, // L1.5, P0.666...
-- {"4:3", 4.0 / 3.0}, // L1.333..., P0.75
-- {"16:9", 16.0 / 9.0}, // L1.777..., P0.5625
-- {"16:10", 16.0 / 10.0}, // L1.6, P0.625
-- {"1:1", 1.0 / 1.0}, // L1, P1
-- {"2:1", 2.0 / 1.0}, // L2, P0.5
-- {"3:1", 3.0 / 1.0}, // L3, P0.333...
-- {"4:1", 4.0 / 1.0}, // L4, P0.25
-- {"5:1", 5.0 / 1.0}, // L5, P0.2
-- {"6:1", 6.0 / 1.0}, // L6, P0.1666...
-- {"7:1", 7.0 / 1.0}, // L7, P0.142...
-- {"4:5", 4.0 / 5.0}, // L1.25, P0.8
-- {"5:7", 5.0 / 7.0}, // L1.4, P0.714...
-- {"6:7", 6.0 / 7.0}, // L1.166..., P0.857...
-- {"6:17", 6.0 / 17.0}, // L2.833..., P0.352...
-- {"24:65 - XPAN", 24.0 / 65.0}, // L2.708..., P0.369...
-- {"1.414 - DIN EN ISO 216", 1.414}, // L1.414, P0.707...
-- {"3.5:5", 3.5 / 5.0}, // L1.428..., P0.7
-- {"8.5:11 - US Letter", 8.5 / 11.0}, // L1.294..., P0.772...
-- {"9.5:12", 9.5 / 12.0}, // L1.263..., P0.791...
-- {"10:12", 10.0 / 12.0}, // L1.2, P0.833...
-- {"11:14", 11.0 / 14.0}, // L1.272..., P0.785...
-- {"11:17 - Tabloid", 11.0 / 17.0}, // L1.545..., P0.647...
-- {"13:19", 13.0 / 19.0}, // L1.461..., P0.684...
-- {"17:22", 17.0 / 22.0}, // L1.294..., P0.772...
-- {"45:35 - ePassport", 45.0 / 35.0}, // L1.285,... P0.777...
-- {"64:27", 64.0 / 27.0}, // L2.370..., P0.421...
-- },
-+ crop_ratios(new CropRatios),
- opt(0),
- wDirty(true),
- hDirty(true),
-@@ -229,8 +274,8 @@ Crop::Crop():
- // ppigrid END
-
- // Populate the combobox
-- for (const auto& crop_ratio : crop_ratios) {
-- ratio->append (crop_ratio.label);
-+ for (const auto& label : crop_ratios->getLabels()) {
-+ ratio->append (label);
- }
-
- ratio->set_active (0);
-@@ -354,7 +399,10 @@ void Crop::read (const ProcParams* pp, const ParamsEdited* pedited)
- setDimensions (pp->crop.x + pp->crop.w, pp->crop.y + pp->crop.h);
- }
-
-- const bool flip_orientation = pp->crop.fixratio && crop_ratios[ratio->get_active_row_number()].value > 0 && crop_ratios[ratio->get_active_row_number()].value < 1.0;
-+ const bool flip_orientation =
-+ pp->crop.fixratio
-+ && crop_ratios->getValue(ratio->get_active_row_number()) > 0
-+ && crop_ratios->getValue(ratio->get_active_row_number()) < 1.0;
-
- if (pp->crop.orientation == "Landscape") {
- orientation->set_active (flip_orientation ? 1 : 0);
-@@ -469,7 +517,10 @@ void Crop::write (ProcParams* pp, ParamsEdited* pedited)
- }
-
- // for historical reasons we store orientation different if ratio is written as 2:3 instead of 3:2, but in GUI 'landscape' is always long side horizontal regardless of the ratio is written short or long side first.
-- const bool flip_orientation = fixr->get_active() && crop_ratios[ratio->get_active_row_number()].value > 0 && crop_ratios[ratio->get_active_row_number()].value < 1.0;
-+ const bool flip_orientation =
-+ fixr->get_active()
-+ && crop_ratios->getValue(ratio->get_active_row_number()) > 0
-+ && crop_ratios->getValue(ratio->get_active_row_number()) < 1.0;
-
- if (orientation->get_active_row_number() == 0) {
- pp->crop.orientation = flip_orientation ? "Portrait" : "Landscape";
-@@ -1501,7 +1552,7 @@ double Crop::getRatio () const
- return r;
- }
-
-- r = crop_ratios[ratio->get_active_row_number()].value;
-+ r = crop_ratios->getValue(ratio->get_active_row_number());
- if (!r) {
- r = maxh <= maxw ? float(maxh)/float(maxw) : float(maxw)/float(maxh);
- }
-@@ -1539,5 +1590,5 @@ void Crop::updateCurrentRatio()
- double rw, rh;
- get_custom_ratio(w->get_value(), h->get_value(), rw, rh);
- customRatioLabel->set_text(Glib::ustring::compose("%1:%2", rw, rh));
-- crop_ratios[1].value = double(w->get_value())/double(h->get_value());
-+ crop_ratios->updateCurrentRatio(static_cast<double>(w->get_value()) / static_cast<double>(h->get_value()));
- }
-diff --git a/rtgui/crop.h b/rtgui/crop.h
-index b9221a803..c6636b917 100644
---- a/rtgui/crop.h
-+++ b/rtgui/crop.h
-@@ -18,7 +18,7 @@
- */
- #pragma once
-
--#include <vector>
-+#include <memory>
-
- #include <gtkmm.h>
-
-@@ -91,16 +91,13 @@ class Crop final :
- void rotateCrop (int deg, bool hflip, bool vflip);
-
- private:
-- struct CropRatio {
-- Glib::ustring label;
-- double value;
-- };
--
-- std::vector<CropRatio> crop_ratios;
-+ class CropRatios;
-
- void adjustCropToRatio();
- void updateCurrentRatio();
-
-+ const std::unique_ptr<CropRatios> crop_ratios;
-+
- Gtk::CheckButton* fixr;
- MyComboBoxText* ratio;
- MyComboBoxText* orientation;
diff --git a/media-gfx/rawtherapee/files/RT_5.8_glibc234.patch b/media-gfx/rawtherapee/files/RT_5.8_glibc234.patch
deleted file mode 100644
index 791183e20d52..000000000000
--- a/media-gfx/rawtherapee/files/RT_5.8_glibc234.patch
+++ /dev/null
@@ -1,683 +0,0 @@
-diff -udHrN -- a/RT_5.8_glibc234.patch b/RT_5.8_glibc234.patch
---- a/RT_5.8_glibc234.patch 1970-01-01 01:00:00.000000000 +0100
-+++ b/RT_5.8_glibc234.patch 2021-08-04 18:50:22.142646367 +0200
-@@ -0,0 +1,334 @@
-+diff --git a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc
-+index ddd4b6172..1132b4e01 100644
-+--- a/rtengine/canon_cr3_decoder.cc
-++++ b/rtengine/canon_cr3_decoder.cc
-+@@ -670,7 +670,7 @@ std::uint32_t _byteswap_ulong(std::uint32_t x)
-+ #endif
-+
-+ struct LibRaw_abstract_datastream {
-+- IMFILE* ifp;
-++ rtengine::IMFILE* ifp;
-+
-+ void lock()
-+ {
-+diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc
-+index ef0b4e8dc..13a6b054a 100644
-+--- a/rtengine/dcraw.cc
-++++ b/rtengine/dcraw.cc
-+@@ -1963,7 +1963,7 @@ void CLASS phase_one_load_raw_c()
-+ #endif
-+ {
-+ int len[2], pred[2];
-+- IMFILE ifpthr = *ifp;
-++ rtengine::IMFILE ifpthr = *ifp;
-+ ifpthr.plistener = nullptr;
-+
-+ #ifdef _OPENMP
-+@@ -3317,7 +3317,7 @@ void CLASS sony_arw2_load_raw()
-+ {
-+ uchar *data = new (std::nothrow) uchar[raw_width + 1];
-+ merror(data, "sony_arw2_load_raw()");
-+- IMFILE ifpthr = *ifp;
-++ rtengine::IMFILE ifpthr = *ifp;
-+ int pos = ifpthr.pos;
-+ ushort pix[16];
-+
-+@@ -6331,7 +6331,7 @@ int CLASS parse_tiff_ifd (int base)
-+ unsigned sony_curve[] = { 0,0,0,0,0,4095 };
-+ unsigned *buf, sony_offset=0, sony_length=0, sony_key=0;
-+ struct jhead jh;
-+-/*RT*/ IMFILE *sfp;
-++/*RT*/ rtengine::IMFILE *sfp;
-+ /*RT*/ int pana_raw = 0;
-+
-+ if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0])
-+@@ -6895,7 +6895,7 @@ it under the terms of the one of two licenses as you choose:
-+ fread (buf, sony_length, 1, ifp);
-+ sony_decrypt (buf, sony_length/4, 1, sony_key);
-+ sfp = ifp;
-+-/*RT*/ ifp = fopen (buf, sony_length);
-++/*RT*/ ifp = rtengine::fopen (buf, sony_length);
-+ // if ((ifp = tmpfile())) {
-+ // fwrite (buf, sony_length, 1, ifp);
-+ // fseek (ifp, 0, SEEK_SET);
-+@@ -7203,7 +7203,7 @@ void CLASS parse_external_jpeg()
-+ {
-+ const char *file, *ext;
-+ char *jname, *jfile, *jext;
-+-/*RT*/ IMFILE *save=ifp;
-++/*RT*/ rtengine::IMFILE *save=ifp;
-+
-+ ext = strrchr (ifname, '.');
-+ file = strrchr (ifname, '/');
-+@@ -7231,7 +7231,7 @@ void CLASS parse_external_jpeg()
-+ *jext = '0';
-+ }
-+ if (strcmp (jname, ifname)) {
-+-/*RT*/ if ((ifp = fopen (jname))) {
-++/*RT*/ if ((ifp = rtengine::fopen (jname))) {
-+ // if ((ifp = fopen (jname, "rb"))) {
-+ if (verbose)
-+ fprintf (stderr,_("Reading metadata from %s ...\n"), jname);
-+diff --git a/rtengine/dcraw.h b/rtengine/dcraw.h
-+index 10c7b9ba6..bc009e67c 100644
-+--- a/rtengine/dcraw.h
-++++ b/rtengine/dcraw.h
-+@@ -73,7 +73,7 @@ public:
-+
-+ protected:
-+ int exif_base, ciff_base, ciff_len;
-+- IMFILE *ifp;
-++ rtengine::IMFILE *ifp;
-+ FILE *ofp;
-+ short order;
-+ const char *ifname;
-+@@ -125,7 +125,7 @@ protected:
-+ int cur_buf_size; // buffer size
-+ uchar *cur_buf; // currently read block
-+ int fillbytes; // Counter to add extra byte for block size N*16
-+- IMFILE *input;
-++ rtengine::IMFILE *input;
-+ struct int_pair grad_even[3][41]; // tables of gradients
-+ struct int_pair grad_odd[3][41];
-+ ushort *linealloc;
-+@@ -278,7 +278,7 @@ void parse_redcine();
-+ class getbithuff_t
-+ {
-+ public:
-+- getbithuff_t(DCraw *p,IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
-++ getbithuff_t(DCraw *p,rtengine::IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
-+ unsigned operator()(int nbits, ushort *huff);
-+
-+ private:
-+@@ -288,7 +288,7 @@ private:
-+ DCraw *parent;
-+ unsigned bitbuf;
-+ int vbits, reset;
-+- IMFILE *&ifp;
-++ rtengine::IMFILE *&ifp;
-+ unsigned &zero_after_ff;
-+ };
-+ getbithuff_t getbithuff;
-+@@ -296,7 +296,7 @@ getbithuff_t getbithuff;
-+ class nikbithuff_t
-+ {
-+ public:
-+- explicit nikbithuff_t(IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
-++ explicit nikbithuff_t(rtengine::IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
-+ void operator()() {bitbuf = vbits = 0;};
-+ unsigned operator()(int nbits, ushort *huff);
-+ unsigned errorCount() { return errors; }
-+@@ -309,7 +309,7 @@ private:
-+ }
-+ unsigned bitbuf, errors;
-+ int vbits;
-+- IMFILE *&ifp;
-++ rtengine::IMFILE *&ifp;
-+ };
-+ nikbithuff_t nikbithuff;
-+
-+@@ -377,7 +377,7 @@ void parse_qt (int end);
-+ // ph1_bithuff(int nbits, ushort *huff);
-+ class ph1_bithuff_t {
-+ public:
-+- ph1_bithuff_t(DCraw *p, IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
-++ ph1_bithuff_t(DCraw *p, rtengine::IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
-+ unsigned operator()(int nbits, ushort *huff);
-+ unsigned operator()(int nbits);
-+ unsigned operator()();
-+@@ -411,7 +411,7 @@ private:
-+ }
-+
-+ short &order;
-+- IMFILE* const ifp;
-++ rtengine::IMFILE* const ifp;
-+ UINT64 bitbuf;
-+ int vbits;
-+ };
-+@@ -429,11 +429,11 @@ void nokia_load_raw();
-+
-+ class pana_bits_t{
-+ public:
-+- pana_bits_t(IMFILE *i, unsigned &u, unsigned enc):
-++ pana_bits_t(rtengine::IMFILE *i, unsigned &u, unsigned enc):
-+ ifp(i), load_flags(u), vbits(0), encoding(enc) {}
-+ unsigned operator()(int nbits, unsigned *bytes=nullptr);
-+ private:
-+- IMFILE *ifp;
-++ rtengine::IMFILE *ifp;
-+ unsigned &load_flags;
-+ uchar buf[0x4000];
-+ int vbits;
-+diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc
-+index 7dde668eb..e551c9aad 100644
-+--- a/rtengine/dfmanager.cc
-++++ b/rtengine/dfmanager.cc
-+@@ -540,7 +540,7 @@ std::vector<badPix> *DFManager::getHotPixels ( const std::string &mak, const std
-+
-+ int DFManager::scanBadPixelsFile( Glib::ustring filename )
-+ {
-+- FILE *file = fopen( filename.c_str(), "r" );
-++ FILE *file = ::fopen( filename.c_str(), "r" );
-+
-+ if( !file ) {
-+ return false;
-+diff --git a/rtengine/myfile.cc b/rtengine/myfile.cc
-+index 842766dcf..2321d18bb 100644
-+--- a/rtengine/myfile.cc
-++++ b/rtengine/myfile.cc
-+@@ -70,7 +70,7 @@ int munmap(void *start, size_t length)
-+
-+ #ifdef MYFILE_MMAP
-+
-+-IMFILE* fopen (const char* fname)
-++rtengine::IMFILE* rtengine::fopen (const char* fname)
-+ {
-+ int fd;
-+
-+@@ -123,13 +123,13 @@ IMFILE* fopen (const char* fname)
-+ return mf;
-+ }
-+
-+-IMFILE* gfopen (const char* fname)
-++rtengine::IMFILE* rtengine::gfopen (const char* fname)
-+ {
-+ return fopen(fname);
-+ }
-+ #else
-+
-+-IMFILE* fopen (const char* fname)
-++rtengine::IMFILE* rtengine::fopen (const char* fname)
-+ {
-+
-+ FILE* f = g_fopen (fname, "rb");
-+@@ -152,7 +152,7 @@ IMFILE* fopen (const char* fname)
-+ return mf;
-+ }
-+
-+-IMFILE* gfopen (const char* fname)
-++rtengine::IMFILE* rtengine::gfopen (const char* fname)
-+ {
-+
-+ FILE* f = g_fopen (fname, "rb");
-+@@ -176,7 +176,7 @@ IMFILE* gfopen (const char* fname)
-+ }
-+ #endif //MYFILE_MMAP
-+
-+-IMFILE* fopen (unsigned* buf, int size)
-++rtengine::IMFILE* rtengine::fopen (unsigned* buf, int size)
-+ {
-+
-+ IMFILE* mf = new IMFILE;
-+@@ -190,7 +190,7 @@ IMFILE* fopen (unsigned* buf, int size)
-+ return mf;
-+ }
-+
-+-void fclose (IMFILE* f)
-++void rtengine::fclose (IMFILE* f)
-+ {
-+ #ifdef MYFILE_MMAP
-+
-+@@ -207,7 +207,7 @@ void fclose (IMFILE* f)
-+ delete f;
-+ }
-+
-+-int fscanf (IMFILE* f, const char* s ...)
-++int rtengine::fscanf (IMFILE* f, const char* s ...)
-+ {
-+ // fscanf not easily wrapped since we have no terminating \0 at end
-+ // of file data and vsscanf() won't tell us how many characters that
-+@@ -253,7 +253,7 @@ int fscanf (IMFILE* f, const char* s ...)
-+ }
-+
-+
-+-char* fgets (char* s, int n, IMFILE* f)
-++char* rtengine::fgets (char* s, int n, IMFILE* f)
-+ {
-+
-+ if (f->pos >= f->size) {
-+@@ -270,7 +270,7 @@ char* fgets (char* s, int n, IMFILE* f)
-+ return s;
-+ }
-+
-+-void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
-++void rtengine::imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
-+ {
-+ f->plistener = plistener;
-+ f->progress_range = progress_range;
-+@@ -278,7 +278,7 @@ void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, doub
-+ f->progress_current = 0;
-+ }
-+
-+-void imfile_update_progress(IMFILE *f)
-++void rtengine::imfile_update_progress(IMFILE *f)
-+ {
-+ if (!f->plistener || f->progress_current < f->progress_next) {
-+ return;
-+diff --git a/rtengine/myfile.h b/rtengine/myfile.h
-+index 34b90c525..ae14ce31a 100644
-+--- a/rtengine/myfile.h
-++++ b/rtengine/myfile.h
-+@@ -30,8 +30,6 @@ namespace rtengine
-+
-+ class ProgressListener;
-+
-+-}
-+-
-+ struct IMFILE {
-+ int fd;
-+ ssize_t pos;
-+@@ -141,3 +139,5 @@ inline unsigned char* fdata(int offset, IMFILE* f)
-+
-+ int fscanf (IMFILE* f, const char* s ...);
-+ char* fgets (char* s, int n, IMFILE* f);
-++
-++}
-+diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc
-+index 8dc998862..cf500474f 100644
-+--- a/rtengine/rtthumbnail.cc
-++++ b/rtengine/rtthumbnail.cc
-+@@ -1965,7 +1965,7 @@ bool Thumbnail::writeImage (const Glib::ustring& fname)
-+
-+ Glib::ustring fullFName = fname + ".rtti";
-+
-+- FILE* f = g_fopen (fullFName.c_str (), "wb");
-++ FILE* f = ::g_fopen (fullFName.c_str (), "wb");
-+
-+ if (!f) {
-+ return false;
-+@@ -2008,7 +2008,7 @@ bool Thumbnail::readImage (const Glib::ustring& fname)
-+ return false;
-+ }
-+
-+- FILE* f = g_fopen(fullFName.c_str (), "rb");
-++ FILE* f = ::g_fopen(fullFName.c_str (), "rb");
-+
-+ if (!f) {
-+ return false;
-+@@ -2239,7 +2239,7 @@ bool Thumbnail::writeData (const Glib::ustring& fname)
-+ return false;
-+ }
-+
-+- FILE *f = g_fopen (fname.c_str (), "wt");
-++ FILE *f = ::g_fopen (fname.c_str (), "wt");
-+
-+ if (!f) {
-+ if (settings->verbose) {
-+@@ -2262,7 +2262,7 @@ bool Thumbnail::readEmbProfile (const Glib::ustring& fname)
-+ embProfile = nullptr;
-+ embProfileLength = 0;
-+
-+- FILE* f = g_fopen (fname.c_str (), "rb");
-++ FILE* f = ::g_fopen (fname.c_str (), "rb");
-+
-+ if (f) {
-+ if (!fseek (f, 0, SEEK_END)) {
-+@@ -2290,7 +2290,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname)
-+ {
-+
-+ if (embProfileData) {
-+- FILE* f = g_fopen (fname.c_str (), "wb");
-++ FILE* f = ::g_fopen (fname.c_str (), "wb");
-+
-+ if (f) {
-+ fwrite (embProfileData, 1, embProfileLength, f);
-diff -udHrN -- a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc
---- a/rtengine/canon_cr3_decoder.cc 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/canon_cr3_decoder.cc 2021-08-07 11:43:50.725202017 +0200
-@@ -662,7 +662,7 @@
- #endif
-
- struct LibRaw_abstract_datastream {
-- IMFILE* ifp;
-+ rtengine::IMFILE* ifp;
-
- void lock()
- {
-diff -udHrN -- a/rtengine/dcraw.cc b/rtengine/dcraw.cc
---- a/rtengine/dcraw.cc 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/dcraw.cc 2021-08-07 11:43:50.736202141 +0200
-@@ -2025,7 +2025,7 @@
- #endif
- {
- int len[2], pred[2];
-- IMFILE ifpthr = *ifp;
-+ rtengine::IMFILE ifpthr = *ifp;
- ifpthr.plistener = nullptr;
-
- #ifdef _OPENMP
-@@ -3380,7 +3380,7 @@
- {
- uchar *data = new (std::nothrow) uchar[raw_width + 1];
- merror(data, "sony_arw2_load_raw()");
-- IMFILE ifpthr = *ifp;
-+ rtengine::IMFILE ifpthr = *ifp;
- int pos = ifpthr.pos;
- ushort pix[16];
-
-@@ -6394,7 +6394,7 @@
- unsigned sony_curve[] = { 0,0,0,0,0,4095 };
- unsigned *buf, sony_offset=0, sony_length=0, sony_key=0;
- struct jhead jh;
--/*RT*/ IMFILE *sfp;
-+/*RT*/ rtengine::IMFILE *sfp;
- /*RT*/ int pana_raw = 0;
-
- if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0])
-@@ -6958,7 +6958,7 @@
- fread (buf, sony_length, 1, ifp);
- sony_decrypt (buf, sony_length/4, 1, sony_key);
- sfp = ifp;
--/*RT*/ ifp = fopen (buf, sony_length);
-+/*RT*/ ifp = rtengine::fopen (buf, sony_length);
- // if ((ifp = tmpfile())) {
- // fwrite (buf, sony_length, 1, ifp);
- // fseek (ifp, 0, SEEK_SET);
-@@ -7264,7 +7264,7 @@
- {
- const char *file, *ext;
- char *jname, *jfile, *jext;
--/*RT*/ IMFILE *save=ifp;
-+/*RT*/ rtengine::IMFILE *save=ifp;
-
- ext = strrchr (ifname, '.');
- file = strrchr (ifname, '/');
-@@ -7292,7 +7292,7 @@
- *jext = '0';
- }
- if (strcmp (jname, ifname)) {
--/*RT*/ if ((ifp = fopen (jname))) {
-+/*RT*/ if ((ifp = rtengine::fopen (jname))) {
- // if ((ifp = fopen (jname, "rb"))) {
- if (verbose)
- fprintf (stderr,_("Reading metadata from %s ...\n"), jname);
-diff -udHrN -- a/rtengine/dcraw.h b/rtengine/dcraw.h
---- a/rtengine/dcraw.h 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/dcraw.h 2021-08-07 11:43:50.737202152 +0200
-@@ -73,7 +73,7 @@
-
- protected:
- int exif_base, ciff_base, ciff_len;
-- IMFILE *ifp;
-+ rtengine::IMFILE *ifp;
- FILE *ofp;
- short order;
- const char *ifname;
-@@ -125,7 +125,7 @@
- int cur_buf_size; // buffer size
- uchar *cur_buf; // currently read block
- int fillbytes; // Counter to add extra byte for block size N*16
-- IMFILE *input;
-+ rtengine::IMFILE *input;
- struct int_pair grad_even[3][41]; // tables of gradients
- struct int_pair grad_odd[3][41];
- ushort *linealloc;
-@@ -278,7 +278,7 @@
- class getbithuff_t
- {
- public:
-- getbithuff_t(DCraw *p,IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
-+ getbithuff_t(DCraw *p,rtengine::IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
- unsigned operator()(int nbits, ushort *huff);
-
- private:
-@@ -288,7 +288,7 @@
- DCraw *parent;
- unsigned bitbuf;
- int vbits, reset;
-- IMFILE *&ifp;
-+ rtengine::IMFILE *&ifp;
- unsigned &zero_after_ff;
- };
- getbithuff_t getbithuff;
-@@ -296,7 +296,7 @@
- class nikbithuff_t
- {
- public:
-- explicit nikbithuff_t(IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
-+ explicit nikbithuff_t(rtengine::IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
- void operator()() {bitbuf = vbits = 0;};
- unsigned operator()(int nbits, ushort *huff);
- unsigned errorCount() { return errors; }
-@@ -309,7 +309,7 @@
- }
- unsigned bitbuf, errors;
- int vbits;
-- IMFILE *&ifp;
-+ rtengine::IMFILE *&ifp;
- };
- nikbithuff_t nikbithuff;
-
-@@ -378,7 +378,7 @@
- // ph1_bithuff(int nbits, ushort *huff);
- class ph1_bithuff_t {
- public:
-- ph1_bithuff_t(DCraw *p, IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
-+ ph1_bithuff_t(DCraw *p, rtengine::IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
- unsigned operator()(int nbits, ushort *huff);
- unsigned operator()(int nbits);
- unsigned operator()();
-@@ -412,7 +412,7 @@
- }
-
- short &order;
-- IMFILE* const ifp;
-+ rtengine::IMFILE* const ifp;
- UINT64 bitbuf;
- int vbits;
- };
-@@ -430,11 +430,11 @@
-
- class pana_bits_t{
- public:
-- pana_bits_t(IMFILE *i, unsigned &u, unsigned enc):
-+ pana_bits_t(rtengine::IMFILE *i, unsigned &u, unsigned enc):
- ifp(i), load_flags(u), vbits(0), encoding(enc) {}
- unsigned operator()(int nbits, unsigned *bytes=nullptr);
- private:
-- IMFILE *ifp;
-+ rtengine::IMFILE *ifp;
- unsigned &load_flags;
- uchar buf[0x4000];
- int vbits;
-diff -udHrN -- a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc
---- a/rtengine/dfmanager.cc 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/dfmanager.cc 2021-08-07 11:43:50.738202163 +0200
-@@ -540,7 +540,7 @@
-
- int DFManager::scanBadPixelsFile( Glib::ustring filename )
- {
-- FILE *file = fopen( filename.c_str(), "r" );
-+ FILE *file = ::fopen( filename.c_str(), "r" );
-
- if( !file ) {
- return false;
-diff -udHrN -- a/rtengine/myfile.cc b/rtengine/myfile.cc
---- a/rtengine/myfile.cc 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/myfile.cc 2021-08-07 11:43:50.738202163 +0200
-@@ -70,7 +70,7 @@
-
- #ifdef MYFILE_MMAP
-
--IMFILE* fopen (const char* fname)
-+rtengine::IMFILE* rtengine::fopen (const char* fname)
- {
- int fd;
-
-@@ -123,13 +123,13 @@
- return mf;
- }
-
--IMFILE* gfopen (const char* fname)
-+rtengine::IMFILE* rtengine::gfopen (const char* fname)
- {
- return fopen(fname);
- }
- #else
-
--IMFILE* fopen (const char* fname)
-+rtengine::IMFILE* rtengine::fopen (const char* fname)
- {
-
- FILE* f = g_fopen (fname, "rb");
-@@ -152,7 +152,7 @@
- return mf;
- }
-
--IMFILE* gfopen (const char* fname)
-+rtengine::IMFILE* rtengine::gfopen (const char* fname)
- {
-
- FILE* f = g_fopen (fname, "rb");
-@@ -176,7 +176,7 @@
- }
- #endif //MYFILE_MMAP
-
--IMFILE* fopen (unsigned* buf, int size)
-+rtengine::IMFILE* rtengine::fopen (unsigned* buf, int size)
- {
-
- IMFILE* mf = new IMFILE;
-@@ -190,7 +190,7 @@
- return mf;
- }
-
--void fclose (IMFILE* f)
-+void rtengine::fclose (IMFILE* f)
- {
- #ifdef MYFILE_MMAP
-
-@@ -207,7 +207,7 @@
- delete f;
- }
-
--int fscanf (IMFILE* f, const char* s ...)
-+int rtengine::fscanf (IMFILE* f, const char* s ...)
- {
- // fscanf not easily wrapped since we have no terminating \0 at end
- // of file data and vsscanf() won't tell us how many characters that
-@@ -253,7 +253,7 @@
- }
-
-
--char* fgets (char* s, int n, IMFILE* f)
-+char* rtengine::fgets (char* s, int n, IMFILE* f)
- {
-
- if (f->pos >= f->size) {
-@@ -270,7 +270,7 @@
- return s;
- }
-
--void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
-+void rtengine::imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
- {
- f->plistener = plistener;
- f->progress_range = progress_range;
-@@ -278,7 +278,7 @@
- f->progress_current = 0;
- }
-
--void imfile_update_progress(IMFILE *f)
-+void rtengine::imfile_update_progress(IMFILE *f)
- {
- if (!f->plistener || f->progress_current < f->progress_next) {
- return;
-diff -udHrN -- a/rtengine/myfile.h b/rtengine/myfile.h
---- a/rtengine/myfile.h 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/myfile.h 2021-08-07 11:43:50.739202175 +0200
-@@ -30,8 +30,6 @@
-
- class ProgressListener;
-
--}
--
- struct IMFILE {
- int fd;
- ssize_t pos;
-@@ -141,3 +139,5 @@
-
- int fscanf (IMFILE* f, const char* s ...);
- char* fgets (char* s, int n, IMFILE* f);
-+
-+}
-diff -udHrN -- a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc
---- a/rtengine/rtthumbnail.cc 2020-02-04 07:39:52.000000000 +0100
-+++ b/rtengine/rtthumbnail.cc 2021-08-07 12:02:02.091503230 +0200
-@@ -1922,7 +1922,7 @@
-
- Glib::ustring fullFName = fname + ".rtti";
-
-- FILE* f = g_fopen (fullFName.c_str (), "wb");
-+ FILE* f = ::g_fopen (fullFName.c_str (), "wb");
-
- if (!f) {
- return false;
-@@ -1965,7 +1965,7 @@
- return false;
- }
-
-- FILE* f = g_fopen(fullFName.c_str (), "rb");
-+ FILE* f = ::g_fopen(fullFName.c_str (), "rb");
-
- if (!f) {
- return false;
-@@ -2191,7 +2191,7 @@
- return false;
- }
-
-- FILE *f = g_fopen (fname.c_str (), "wt");
-+ FILE *f = ::g_fopen (fname.c_str (), "wt");
-
- if (!f) {
- if (settings->verbose) {
-@@ -2214,7 +2214,7 @@
- embProfile = nullptr;
- embProfileLength = 0;
-
-- FILE* f = g_fopen (fname.c_str (), "rb");
-+ FILE* f = ::g_fopen (fname.c_str (), "rb");
-
- if (f) {
- if (!fseek (f, 0, SEEK_END)) {
-@@ -2242,7 +2242,7 @@
- {
-
- if (embProfileData) {
-- FILE* f = g_fopen (fname.c_str (), "wb");
-+ FILE* f = ::g_fopen (fname.c_str (), "wb");
-
- if (f) {
- fwrite (embProfileData, 1, embProfileLength, f);
-@@ -2257,7 +2257,7 @@
- bool Thumbnail::readAEHistogram (const Glib::ustring& fname)
- {
-
-- FILE* f = g_fopen(fname.c_str(), "rb");
-+ FILE* f = ::g_fopen(fname.c_str(), "rb");
-
- if (!f) {
- aeHistogram.reset();
-@@ -2280,7 +2280,7 @@
- {
-
- if (aeHistogram) {
-- FILE* f = g_fopen (fname.c_str (), "wb");
-+ FILE* f = ::g_fopen (fname.c_str (), "wb");
-
- if (f) {
- fwrite (&aeHistogram[0], 1, (65536 >> aeHistCompression)*sizeof (aeHistogram[0]), f);
diff --git a/media-gfx/rawtherapee/rawtherapee-5.8-r4.ebuild b/media-gfx/rawtherapee/rawtherapee-5.8-r4.ebuild
deleted file mode 100644
index 95411c1105e7..000000000000
--- a/media-gfx/rawtherapee/rawtherapee-5.8-r4.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=${P/_rc/-rc}
-inherit cmake flag-o-matic toolchain-funcs xdg-utils
-
-DESCRIPTION="A powerful cross-platform raw image processing program"
-HOMEPAGE="https://www.rawtherapee.com/"
-SRC_URI="https://rawtherapee.com/shared/source/${MY_P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="openmp tcmalloc"
-
-RDEPEND="
- dev-cpp/atkmm:0
- dev-cpp/cairomm:=
- dev-cpp/glibmm:=
- dev-cpp/gtkmm:3.0
- dev-cpp/pangomm:=
- dev-libs/expat
- dev-libs/glib:=
- dev-libs/libsigc++:2
- gnome-base/librsvg
- media-libs/lcms:2
- media-libs/lensfun
- media-libs/libcanberra[gtk3]
- media-libs/libiptcdata
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/tiff:=
- sci-libs/fftw:3.0=
- sys-libs/zlib
- x11-libs/gtk+:3
- tcmalloc? ( dev-util/google-perftools )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/RT_5.8_fix_crop.patch"
- "${FILESDIR}/RT_5.8_glibc234.patch"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_configure() {
- # upstream tested that "fast-math" give wrong results, so filter it
- # https://bugs.gentoo.org/show_bug.cgi?id=606896#c2
- filter-flags -ffast-math
- # -Ofast enable "fast-math" both in gcc and clang
- replace-flags -Ofast -O3
- # In case we add an ebuild for klt we can (i)use that one,
- # see http://cecas.clemson.edu/~stb/klt/
- local mycmakeargs=(
- -DOPTION_OMP=$(usex openmp)
- -DDOCDIR=/usr/share/doc/${PF}
- -DCREDITSDIR=/usr/share/${PN}
- -DLICENCEDIR=/usr/share/${PN}
- -DCACHE_NAME_SUFFIX=""
- -DWITH_SYSTEM_KLT="off"
- -DENABLE_TCMALLOC=$(usex tcmalloc)
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}