From a35b320f1a8b2238a126edcb478d0512c538360a Mon Sep 17 00:00:00 2001 From: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com> Date: Sun, 17 Sep 2023 15:27:19 -0700 Subject: [PATCH 1/4] Fix color toning layers being hidden Request resizing of tool widgets after being attached to the tool panel. --- rtgui/toolpanelcoord.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 77ac26d57..c957f605a 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -856,10 +856,15 @@ ToolPanelCoordinator::updateToolPanel( } FoldableToolPanel *tool_panel = getFoldableToolPanel(*new_tool_trees_iter); - if (tool_panel->getParent()) { + const bool reparent = tool_panel->getParent(); + if (reparent) { tool_panel->getParent()->remove(*tool_panel->getExpander()); } addPanel(panelBox, tool_panel, level); + if (!reparent) { + // If attaching for the first time, update the widget sizes. + tool_panel->getExpander()->check_resize(); + } } // Update the child tools. From d276a56b1006d18863dd6745f274dbd90a8fe59c Mon Sep 17 00:00:00 2001 From: Desmis Date: Thu, 12 Oct 2023 06:59:33 +0200 Subject: [PATCH 2/4] Local adjustments - improvment Dehaze with black (#6860) * Local Dehaze black * Enable black * Change threshold black - publish_pre_dev_labels ladehazeblack --- .github/workflows/appimage.yml | 2 +- .github/workflows/windows.yml | 2 +- rtdata/languages/default | 2 ++ rtengine/improcfun.h | 4 +++- rtengine/ipdehaze.cc | 9 ++++++++- rtengine/iplocallab.cc | 30 +++++++++++++++++++++++++++++- rtengine/procparams.cc | 6 +++++- rtengine/procparams.h | 1 + rtgui/locallabtools.h | 3 +++ rtgui/locallabtools2.cc | 17 +++++++++++++++++ rtgui/paramsedited.cc | 7 +++++++ rtgui/paramsedited.h | 1 + 12 files changed, 78 insertions(+), 6 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 0d3c76399..c9965b9b3 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -12,7 +12,7 @@ on: workflow_dispatch: env: - publish_pre_dev_labels: '[]' + publish_pre_dev_labels: '["Beep6581:ladehazeblack"]' jobs: build: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8b73d7548..8080f64b1 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,7 +12,7 @@ on: workflow_dispatch: env: - publish_pre_dev_labels: '[]' + publish_pre_dev_labels: '["Beep6581:ladehazeblack"]' jobs: build: diff --git a/rtdata/languages/default b/rtdata/languages/default index 11191bedd..185191bcd 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1447,6 +1447,7 @@ HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Local Contrast - Lightness HISTORY_MSG_LOCALCONTRAST_RADIUS;Local Contrast - Radius HISTORY_MSG_LOCALLAB_TE_PIVOT;Local - Equalizer pivot +HISTORY_MSG_LOCAL_DEHAZE_BLACK;Local - Dehaze - black HISTORY_MSG_LOCAL_GAMUTMUNSEL;Local - SC - Avoid Color Shift HISTORY_MSG_METADATA_MODE;Metadata copy mode HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrast threshold @@ -2876,6 +2877,7 @@ TP_LOCALLAB_DARKRETI;Darkness TP_LOCALLAB_DEHAFRA;Dehaze TP_LOCALLAB_DEHAZ;Strength TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +TP_LOCALLAB_DEHAZE_BLACK;Black TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. TP_LOCALLAB_DELTAD;Delta balance TP_LOCALLAB_DELTAEC;ΔE Image mask diff --git a/rtengine/improcfun.h b/rtengine/improcfun.h index ea11e40bd..62dfba0a0 100644 --- a/rtengine/improcfun.h +++ b/rtengine/improcfun.h @@ -364,6 +364,8 @@ enum class BlurType { float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax, float& meantm, float& stdtm, float& meanreti, float& stdreti, float &fab, float &highresi, float &nresi, float &highresi46, float &nresi46, float &Lhighresi, float &Lnresi, float &Lhighresi46, float &Lnresi46); + + void tone_eqdehaz(ImProcFunctions *ipf, Imagefloat *rgb, int whits, int blacks, const Glib::ustring &workingProfile, double scale, bool multithread); void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk); void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy); @@ -489,7 +491,7 @@ enum class BlurType { void BadpixelsLab(LabImage * lab, double radius, int thresh, float chrom); void dehaze(Imagefloat *rgb, const procparams::DehazeParams &dehazeParams); - void dehazeloc(Imagefloat *rgb, const procparams::DehazeParams &dehazeParams); + void dehazeloc(Imagefloat *rgb, const procparams::DehazeParams &dehazeParams, int sk, int sp); void ToneMapFattal02(Imagefloat *rgb, const procparams::FattalToneMappingParams &fatParams, int detail_level, int Lalone, float **Lum, int WW, int HH, int algo); void localContrast(LabImage *lab, float **destination, const procparams::LocalContrastParams &localContrastParams, bool fftwlc, double scale); void colorToningLabGrid(LabImage *lab, int xstart, int xend, int ystart, int yend, bool MultiThread); diff --git a/rtengine/ipdehaze.cc b/rtengine/ipdehaze.cc index 5ccec4a1e..b5403080e 100644 --- a/rtengine/ipdehaze.cc +++ b/rtengine/ipdehaze.cc @@ -454,7 +454,7 @@ void ImProcFunctions::dehaze(Imagefloat *img, const DehazeParams &dehazeParams) } } -void ImProcFunctions::dehazeloc(Imagefloat *img, const DehazeParams &dehazeParams) +void ImProcFunctions::dehazeloc(Imagefloat *img, const DehazeParams &dehazeParams, int sk, int sp) { //J.Desmis 12 2019 - this version derived from ART, is slower than the main from maximum 10% - probably use of SSE //Probably Ingo could solved this problem in some times @@ -476,6 +476,13 @@ void ImProcFunctions::dehazeloc(Imagefloat *img, const DehazeParams &dehazeParam float ambient[3]; float maxDistance = 0.f; + int whit = 0; + int blac = params->locallab.spots.at(sp).dehazeblack; + + if(blac != 0) { + ImProcFunctions::tone_eqdehaz(this, img, whit, blac, params->icm.workingProfile, sk, multiThread); + } + { array2D& R = dark; // R and dark can safely use the same buffer, which is faster and reduces memory allocations/deallocations array2D G(W, H); diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index 75bb03267..bf7d1a391 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -2303,6 +2303,34 @@ void ImProcFunctions::loccont(int bfw, int bfh, LabImage* tmp1, float rad, float } } +void ImProcFunctions::tone_eqdehaz(ImProcFunctions *ipf, Imagefloat *rgb, int whits, int blacks, const Glib::ustring &workingProfile, double scale, bool multithread) +{ + ToneEqualizerParams params; + params.enabled = true; + params.regularization = 0.f; + params.pivot = 0.f; + double blred = 0.4; + params.bands[0] = blred * blacks; + int bla = abs(blacks); + int threshblawhi = 50; + int threshblawhi2 = 85; + if(bla > threshblawhi) { + params.bands[1] = blred * sign(blacks) * (bla - threshblawhi); + } + if(bla > threshblawhi2) { + params.bands[2] = blred * sign(blacks) * (bla - threshblawhi2); + } + + params.bands[4] = whits; + int whi = abs(whits); + if(whi > threshblawhi) { + params.bands[3] = sign(whits) * (whi - threshblawhi); + } + + ipf->toneEqualizer(rgb, params, workingProfile, scale, multithread); +} + + void sigmoidla (float &valj, float thresj, float lambda) { //thres : shifts the action of sigmoid to darker tones or lights @@ -14412,7 +14440,7 @@ void ImProcFunctions::Lab_Local( dehazeParams.saturation = lp.dehazeSaturation; dehazeParams.depth = lp.depth; lab2rgb(*bufexpfin, *tmpImage.get(), params->icm.workingProfile); - dehazeloc(tmpImage.get(), dehazeParams); + dehazeloc(tmpImage.get(), dehazeParams, sk, sp); rgb2lab(*tmpImage.get(), *bufexpfin, params->icm.workingProfile); transit_shapedetect2(sp, 0.f, 0.f, call, 30, bufexporig.get(), bufexpfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index 05788399e..f029b88b0 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -3828,6 +3828,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : equilret(false), loglin(true), dehazeSaturation(50.0), + dehazeblack(0.0), softradiusret(40.0), CCmaskreticurve{ static_cast(FCT_MinMaxCPoints), @@ -5043,6 +5044,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && equilret == other.equilret && loglin == other.loglin && dehazeSaturation == other.dehazeSaturation + && dehazeblack == other.dehazeblack && softradiusret == other.softradiusret && CCmaskreticurve == other.CCmaskreticurve && LLmaskreticurve == other.LLmaskreticurve @@ -6927,6 +6929,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->equilret, "Locallab", "Equilret_" + index_str, spot.equilret, keyFile); saveToKeyfile(!pedited || spot_edited->loglin, "Locallab", "Loglin_" + index_str, spot.loglin, keyFile); saveToKeyfile(!pedited || spot_edited->dehazeSaturation, "Locallab", "dehazeSaturation_" + index_str, spot.dehazeSaturation, keyFile); + saveToKeyfile(!pedited || spot_edited->dehazeblack, "Locallab", "dehazeblack_" + index_str, spot.dehazeblack, keyFile); saveToKeyfile(!pedited || spot_edited->softradiusret, "Locallab", "Softradiusret_" + index_str, spot.softradiusret, keyFile); saveToKeyfile(!pedited || spot_edited->CCmaskreticurve, "Locallab", "CCmaskretiCurve_" + index_str, spot.CCmaskreticurve, keyFile); saveToKeyfile(!pedited || spot_edited->LLmaskreticurve, "Locallab", "LLmaskretiCurve_" + index_str, spot.LLmaskreticurve, keyFile); @@ -9143,7 +9146,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Inversret_" + index_str, spot.inversret, spotEdited.inversret); assignFromKeyfile(keyFile, "Locallab", "Equilret_" + index_str, spot.equilret, spotEdited.equilret); assignFromKeyfile(keyFile, "Locallab", "Loglin_" + index_str, spot.loglin, spotEdited.loglin); - assignFromKeyfile(keyFile, "Locallab", "dehazeSaturation" + index_str, spot.dehazeSaturation, spotEdited.dehazeSaturation); + assignFromKeyfile(keyFile, "Locallab", "dehazeSaturation_" + index_str, spot.dehazeSaturation, spotEdited.dehazeSaturation); + assignFromKeyfile(keyFile, "Locallab", "dehazeblack_" + index_str, spot.dehazeblack, spotEdited.dehazeblack); assignFromKeyfile(keyFile, "Locallab", "Softradiusret_" + index_str, spot.softradiusret, spotEdited.softradiusret); assignFromKeyfile(keyFile, "Locallab", "CCmaskretiCurve_" + index_str, spot.CCmaskreticurve, spotEdited.CCmaskreticurve); assignFromKeyfile(keyFile, "Locallab", "LLmaskretiCurve_" + index_str, spot.LLmaskreticurve, spotEdited.LLmaskreticurve); diff --git a/rtengine/procparams.h b/rtengine/procparams.h index 7390ddc1e..f2c63ea2d 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -1403,6 +1403,7 @@ struct LocallabParams { bool equilret; bool loglin; double dehazeSaturation; + double dehazeblack; double softradiusret; std::vector CCmaskreticurve; std::vector LLmaskreticurve; diff --git a/rtgui/locallabtools.h b/rtgui/locallabtools.h index 1664d1839..627be34bd 100644 --- a/rtgui/locallabtools.h +++ b/rtgui/locallabtools.h @@ -940,6 +940,7 @@ private: Adjuster* const dehaz; Adjuster* const depth; Adjuster* const dehazeSaturation; + Adjuster* const dehazeblack; Gtk::Frame* const retiFrame; Adjuster* const str; Gtk::CheckButton* const loglin; @@ -991,6 +992,8 @@ private: DiagonalCurveEditor* const Lmaskretishape; Gtk::CheckButton* const inversret; + rtengine::ProcEvent Evlocallabdehazeblack; + sigc::connection loglinConn, retinexMethodConn, fftwretiConn, equilretConn, showmaskretiMethodConn, enaretiMaskConn, enaretiMasktmapConn, inversretConn; public: diff --git a/rtgui/locallabtools2.cc b/rtgui/locallabtools2.cc index a2c18ee08..252f95caf 100644 --- a/rtgui/locallabtools2.cc +++ b/rtgui/locallabtools2.cc @@ -796,6 +796,7 @@ LocallabRetinex::LocallabRetinex(): dehaz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DEHAZ"), -100, 100, 1, 0))), depth(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DEPTH"), 0, 100, 1, 25))), dehazeSaturation(Gtk::manage(new Adjuster(M("TP_DEHAZE_SATURATION"), 0, 100, 1, 50))), + dehazeblack(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DEHAZE_BLACK"), -65., 100., 1., 0.))), retiFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RETIFRA")))), str(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STR"), 0., 100., 0.2, 0.))), loglin(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_LOGLIN")))), @@ -848,6 +849,10 @@ LocallabRetinex::LocallabRetinex(): Lmaskretishape(static_cast(mask2retiCurveEditorG->addCurve(CT_Diagonal, "L(L)"))), inversret(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_INVERS")))) { + + auto m = ProcEventMapper::getInstance(); + Evlocallabdehazeblack = m->newEvent(AUTOEXP, "HISTORY_MSG_LOCAL_DEHAZE_BLACK"); + set_orientation(Gtk::ORIENTATION_VERTICAL); const LocallabParams::LocallabSpot defSpot; @@ -857,6 +862,7 @@ LocallabRetinex::LocallabRetinex(): dehazeSaturation->setAdjusterListener(this); depth->setAdjusterListener(this); + dehazeblack->setAdjusterListener(this); retiFrame->set_label_align(0.025, 0.5); @@ -991,6 +997,7 @@ LocallabRetinex::LocallabRetinex(): dehaBox->pack_start(*dehaz); dehaBox->pack_start(*depth); dehaBox->pack_start(*dehazeSaturation); + dehaBox->pack_start(*dehazeblack); dehaFrame->add(*dehaBox); auxBox->add(*dehaFrame); ToolParamBlock* const deharetiBox = Gtk::manage(new ToolParamBlock()); @@ -1247,6 +1254,7 @@ void LocallabRetinex::read(const rtengine::procparams::ProcParams* pp, const Par dehaz->setValue((double)spot.dehaz); depth->setValue((double)spot.depth); dehazeSaturation->setValue((double)spot.dehazeSaturation); + dehazeblack->setValue((double)spot.dehazeblack); str->setValue(spot.str); loglin->set_active(spot.loglin); sensih->setValue((double)spot.sensih); @@ -1325,6 +1333,7 @@ void LocallabRetinex::write(rtengine::procparams::ProcParams* pp, ParamsEdited* spot.dehaz = dehaz->getIntValue(); spot.depth = depth->getIntValue(); spot.dehazeSaturation = dehazeSaturation->getIntValue(); + spot.dehazeblack = dehazeblack->getValue(); spot.str = str->getValue(); spot.loglin = loglin->get_active(); spot.sensih = sensih->getIntValue(); @@ -1383,6 +1392,7 @@ void LocallabRetinex::setDefaults(const rtengine::procparams::ProcParams* defPar // Set default values for adjuster widgets dehaz->setDefault((double)defSpot.dehaz); dehazeSaturation->setDefault((double)defSpot.dehazeSaturation); + dehazeblack->setDefault((double)defSpot.dehazeblack); depth->setDefault((double)defSpot.depth); str->setDefault(defSpot.str); sensih->setDefault((double)defSpot.sensih); @@ -1438,6 +1448,13 @@ void LocallabRetinex::adjusterChanged(Adjuster* a, double newval) } } + if (a == dehazeblack) { + if (listener) { + listener->panelChanged(Evlocallabdehazeblack, + dehazeblack->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + if (a == depth) { if (listener) { listener->panelChanged(Evlocallabdepth, diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index 7516d9a4a..fe88b70c7 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -1478,6 +1478,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).equilret = locallab.spots.at(j).equilret && pSpot.equilret == otherSpot.equilret; locallab.spots.at(j).loglin = locallab.spots.at(j).loglin && pSpot.loglin == otherSpot.loglin; locallab.spots.at(j).dehazeSaturation = locallab.spots.at(j).dehazeSaturation && pSpot.dehazeSaturation == otherSpot.dehazeSaturation; + locallab.spots.at(j).dehazeblack = locallab.spots.at(j).dehazeblack && pSpot.dehazeblack == otherSpot.dehazeblack; locallab.spots.at(j).softradiusret = locallab.spots.at(j).softradiusret && pSpot.softradiusret == otherSpot.softradiusret; locallab.spots.at(j).CCmaskreticurve = locallab.spots.at(j).CCmaskreticurve && pSpot.CCmaskreticurve == otherSpot.CCmaskreticurve; locallab.spots.at(j).LLmaskreticurve = locallab.spots.at(j).LLmaskreticurve && pSpot.LLmaskreticurve == otherSpot.LLmaskreticurve; @@ -4933,6 +4934,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).dehazeSaturation = mods.locallab.spots.at(i).dehazeSaturation; } + if (locallab.spots.at(i).dehazeblack) { + toEdit.locallab.spots.at(i).dehazeblack = mods.locallab.spots.at(i).dehazeblack; + } + if (locallab.spots.at(i).softradiusret) { toEdit.locallab.spots.at(i).softradiusret = mods.locallab.spots.at(i).softradiusret; } @@ -7864,6 +7869,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : equilret(v), loglin(v), dehazeSaturation(v), + dehazeblack(v), softradiusret(v), CCmaskreticurve(v), LLmaskreticurve(v), @@ -8559,6 +8565,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) equilret = v; loglin = v; dehazeSaturation = v; + dehazeblack = v; softradiusret = v; CCmaskreticurve = v; LLmaskreticurve = v; diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h index 7013da788..2a776f87b 100644 --- a/rtgui/paramsedited.h +++ b/rtgui/paramsedited.h @@ -776,6 +776,7 @@ public: bool equilret; bool loglin; bool dehazeSaturation; + bool dehazeblack; bool softradiusret; bool CCmaskreticurve; bool LLmaskreticurve; From ae236073e2b146f443d69ef9d1a543cfa901ea24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= <4973094+kmilos@users.noreply.github.com> Date: Thu, 12 Oct 2023 16:28:56 +0200 Subject: [PATCH 3/4] Streamline Windows build action Use pacboy for msystem independent install Use build directory directly from CMake Remove lensfun patch (included upstream) --- .github/workflows/windows.yml | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8080f64b1..e926b9cab 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -35,21 +35,22 @@ jobs: with: location: C:\msys2 update: true + msystem: MINGW64 install: | gzip git intltool - mingw-w64-x86_64-gcc - mingw-w64-x86_64-make - mingw-w64-x86_64-pkg-config - mingw-w64-x86_64-cmake - mingw-w64-x86_64-ninja - mingw-w64-x86_64-gtkmm3 - mingw-w64-x86_64-lcms2 - mingw-w64-x86_64-fftw - mingw-w64-x86_64-lensfun - mingw-w64-x86_64-libiptcdata - mingw-w64-x86_64-exiv2 + pacboy: | + cc:p + pkgconf:p + cmake:p + ninja:p + gtkmm3:p + lcms2:p + fftw:p + lensfun:p + libiptcdata:p + exiv2:p - name: Configure build run: | @@ -63,11 +64,6 @@ jobs: echo "Cache suffix is '$CACHE_SUFFIX'." fi - echo "Making build directory." - mkdir build - echo "Changing working directory to the build directory." - cd build - echo "Running CMake configure." cmake \ -G "Ninja" \ @@ -75,21 +71,18 @@ jobs: -DCACHE_NAME_SUFFIX="$CACHE_SUFFIX" \ -DPROC_TARGET_NUMBER="1" \ -DLENSFUNDBDIR="share/lensfun" \ - .. + -S . -B build echo "Recording filtered ref name." echo "REF_NAME_FILTERED=$REF_NAME_FILTERED" >> "$(cygpath -u $GITHUB_ENV)" - name: Build RawTherapee - working-directory: ./build run: | echo "Running CMake install." - cmake --build . --target install + cmake --build build --target install - name: Include Lensfun run: | - echo "Patching lensfun-update-data script." - sed -i 's/HTTPError\(, ValueError\)/URLError\1/' $(which lensfun-update-data) echo "Updating Lensfun database." lensfun-update-data echo "Creating Lensfun directory in the build directory." From 72bf271214cdfb2648ef3eeb8852d8c861a625d8 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Fri, 13 Oct 2023 23:04:33 +0200 Subject: [PATCH 4/4] Removed gzip from windows.yml workflow #6864 gzip is now included as part of the MSYS2 base install. --- .github/workflows/windows.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e926b9cab..1143c948d 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -37,7 +37,6 @@ jobs: update: true msystem: MINGW64 install: | - gzip git intltool pacboy: |