Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package siril for openSUSE:Factory checked in at 2025-07-06 17:14:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/siril (Old) and /work/SRC/openSUSE:Factory/.siril.new.1903 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "siril" Sun Jul 6 17:14:12 2025 rev:25 rq:1290622 version:1.2.6 Changes: -------- --- /work/SRC/openSUSE:Factory/siril/siril.changes 2025-02-06 22:09:46.108854986 +0100 +++ /work/SRC/openSUSE:Factory/.siril.new.1903/siril.changes 2025-07-06 17:18:07.240301901 +0200 @@ -1,0 +2,9 @@ +Thu Jul 3 23:27:32 UTC 2025 - Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de> + +- Fix build with glib 2.84, add patches: + * fix_C_linkage.patch + * fix_glib_284_compat.patch +- Fix ODR violation, add + * fix_odr_violation.patch + +------------------------------------------------------------------- New: ---- fix_C_linkage.patch fix_glib_284_compat.patch fix_odr_violation.patch ----------(New B)---------- New:- Fix build with glib 2.84, add patches: * fix_C_linkage.patch * fix_glib_284_compat.patch New: * fix_C_linkage.patch * fix_glib_284_compat.patch - Fix ODR violation, add New:- Fix ODR violation, add * fix_odr_violation.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ siril.spec ++++++ --- /var/tmp/diff_new_pack.LUqwhh/_old 2025-07-06 17:18:08.084336802 +0200 +++ /var/tmp/diff_new_pack.LUqwhh/_new 2025-07-06 17:18:08.088336968 +0200 @@ -24,6 +24,12 @@ Group: Productivity/Scientific/Physics URL: https://www.siril.org/ Source: https://gitlab.com/free-astro/siril/-/archive/%{version}/siril-%{version}.tar.bz2 +# PATCH-FIX-UPSTREAM - extracted from https://gitlab.com/free-astro/siril/-/commit/763079de767df0e3ae42f51b65f2f25d7ea7b8b8 +Patch0: fix_C_linkage.patch +# PATCH-FIX-UPSTREAM +Patch1: https://gitlab.com/free-astro/siril/-/commit/1041f25fd1d04330626601185907373c2e69e709.patch#/fix_glib_284_compat.patch +# PATCH-FIX-UPSTREAM +Patch2: https://gitlab.com/free-astro/siril/-/commit/241b4b17d83285eb4bf4151dd77198427ac9fde4.patch#/fix_odr_violation.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ ++++++ fix_C_linkage.patch ++++++ >From 763079de767df0e3ae42f51b65f2f25d7ea7b8b8 Mon Sep 17 00:00:00 2001 From: Adrian Knagg-Baugh <aje.ba...@gmail.com> Date: Wed, 31 Jul 2024 09:16:14 +0000 Subject: [PATCH] Refactor deconvolution code (fixes #1202) --- src/core/processing.h | 8 + src/gui/progress_and_log.h | 8 + diff --git a/src/core/processing.h b/src/core/processing.h index 07a067503a..cb1773378e 100644 --- a/src/core/processing.h +++ b/src/core/processing.h @@ -4,6 +4,10 @@ #include "sequence_filtering.h" #include "io/fits_sequence.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * \file processing.h * \brief Manages background computation and parallel image processing. @@ -187,4 +191,8 @@ gpointer generic_sequence_metadata_worker(gpointer args); void kill_child_process(gboolean on_exit); +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/gui/progress_and_log.h b/src/gui/progress_and_log.h index a584bb8ccb..9572d47dee 100644 --- a/src/gui/progress_and_log.h +++ b/src/gui/progress_and_log.h @@ -10,6 +10,10 @@ #define PROGRESS_DONE 1.0 // fill the progress bar #define PROGRESS_TEXT_RESET "" // reset the progress bar's text +#ifdef __cplusplus +extern "C" { +#endif + void initialize_log_tags(); void gui_log_message(const char* msg, const char* color); @@ -17,4 +21,8 @@ void set_progress_bar_data(const char *text, double percent); void set_cursor_waiting(gboolean waiting); void set_cursor(const gchar* cursor_name); +#ifdef __cplusplus +} +#endif + #endif ++++++ fix_glib_284_compat.patch ++++++ >From 1041f25fd1d04330626601185907373c2e69e709 Mon Sep 17 00:00:00 2001 From: cissou8 <ciss...@gmail.com> Date: Mon, 10 Mar 2025 23:30:48 +0100 Subject: [PATCH] fixes #1516 (glib compile error) was due to an update in glib 2.84 that needed had to move some extern C defs around to make it compile again (cherry picked from commit 9186b0c0110aa332a99d578664e69cd26cae953b) --- src/filters/da3d/DA3D.cpp | 4 ++-- src/filters/nlbayes/NlBayes.cpp | 2 -- src/opencv/opencv.h | 8 ++++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/filters/da3d/DA3D.cpp b/src/filters/da3d/DA3D.cpp index b0b222354d..c65ed8d32b 100644 --- a/src/filters/da3d/DA3D.cpp +++ b/src/filters/da3d/DA3D.cpp @@ -15,10 +15,10 @@ #include "WeightMap.hpp" #include "Utils.hpp" #include "DftPatch.hpp" -extern "C" { + #include "core/processing.h" #include "gui/progress_and_log.h" -} + #ifdef _OPENMP #include <omp.h> diff --git a/src/filters/nlbayes/NlBayes.cpp b/src/filters/nlbayes/NlBayes.cpp index 0f77ce05b4..b2394f2e54 100644 --- a/src/filters/nlbayes/NlBayes.cpp +++ b/src/filters/nlbayes/NlBayes.cpp @@ -27,11 +27,9 @@ #include "LibMatrix.h" #include "LibImages.h" #include "Utilities.h" -extern "C" { #include "algos/anscombe.h" #include "core/processing.h" #include "gui/progress_and_log.h" -} #ifdef _OPENMP #include <omp.h> diff --git a/src/opencv/opencv.h b/src/opencv/opencv.h index 0b7fe5191d..3fd3b07c01 100644 --- a/src/opencv/opencv.h +++ b/src/opencv/opencv.h @@ -5,16 +5,16 @@ # include <config.h> #endif -#ifdef __cplusplus -extern "C" { -#endif - #include <stdint.h> #include "registration/registration.h" #include "registration/matching/misc.h" #include "registration/matching/atpmatch.h" #include "gui/progress_and_log.h" +#ifdef __cplusplus +extern "C" { +#endif + WORD *fits_to_bgrbgr_ushort(fits *image); float *fits_to_bgrbgr_float(fits *image); -- GitLab ++++++ fix_odr_violation.patch ++++++ >From 241b4b17d83285eb4bf4151dd77198427ac9fde4 Mon Sep 17 00:00:00 2001 From: Mario Haustein <mario.haust...@hrz.tu-chemnitz.de> Date: Sun, 28 Apr 2024 14:09:19 +0200 Subject: [PATCH] Fix multiple definition of struct options --- src/filters/deconvolution/estimate_kernel.cpp | 2 +- src/filters/deconvolution/estimate_kernel.hpp | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/filters/deconvolution/estimate_kernel.cpp b/src/filters/deconvolution/estimate_kernel.cpp index 777cb26687..45c49b7e31 100644 --- a/src/filters/deconvolution/estimate_kernel.cpp +++ b/src/filters/deconvolution/estimate_kernel.cpp @@ -33,7 +33,7 @@ extern "C" float *estimate_kernel(estk_data *args, int max_threads) { if (!cppfftwmultithreaded) max_threads = 1; img_t<float>::use_threading(max_threads); - options opts; + estimate_kernel_options opts; opts.ks = args->ks; opts.lambda = args->lambda; opts.lambda_ratio = args->lambda_ratio; diff --git a/src/filters/deconvolution/estimate_kernel.hpp b/src/filters/deconvolution/estimate_kernel.hpp index c7a5d1c369..f19d5492d7 100644 --- a/src/filters/deconvolution/estimate_kernel.hpp +++ b/src/filters/deconvolution/estimate_kernel.hpp @@ -56,7 +56,7 @@ void gaussian_downsample(img_t<float>& out, const img_t<float>& _in, float facto } } -struct options { +struct estimate_kernel_options { bool verbose; int ks; float lambda; @@ -81,7 +81,7 @@ template <typename T> class ImagePredictor { public: virtual void solve(img_t<T>& u, const img_t<T>& K, T lambda, T beta_init, T beta_rate, T beta_max, - const options& opts) = 0; + const estimate_kernel_options& opts) = 0; virtual ~ImagePredictor() {} }; @@ -114,7 +114,7 @@ public: } void solve(img_t<T>& u, const img_t<T>& K, - T lambda, T beta_init, T beta_rate, T beta_max, const options& opts) { + T lambda, T beta_init, T beta_rate, T beta_max, const estimate_kernel_options& opts) { assert(K.w % 2); assert(K.h % 2); @@ -177,7 +177,7 @@ public: template <typename T> class KernelEstimator { public: - virtual void solve(img_t<T>& k, const img_t<T>& u, const struct options& opts) = 0; + virtual void solve(img_t<T>& k, const img_t<T>& u, const struct estimate_kernel_options& opts) = 0; virtual ~KernelEstimator() {} }; @@ -198,7 +198,7 @@ public: } // implements Algorithm 3 - void solve(img_t<T>& k, const img_t<T>& u, const struct options& opts) { + void solve(img_t<T>& k, const img_t<T>& u, const struct estimate_kernel_options& opts) { k.resize(ks, ks); // solves the Equation (28) @@ -313,7 +313,7 @@ public: fv = fft::r2c(v); } - void solve(img_t<T>& k, const img_t<T>& u, const struct options& opts) { + void solve(img_t<T>& k, const img_t<T>& u, const struct estimate_kernel_options& opts) { if (k.w != ks || k.h != ks) k.resize(ks, ks); @@ -407,7 +407,7 @@ public: // estimates the sharp image and the kernel from a blurry image and an initialization of u template <typename T> void l0_kernel_estimation(img_t<T>& k, img_t<T>& u, const img_t<T>& v, - const img_t<T>& initu, struct options& opts) { + const img_t<T>& initu, struct estimate_kernel_options& opts) { // static int it = 0; ImagePredictor<T>* sharp_predictor = nullptr; sharp_predictor = new L0ImagePredictor<T>(v); @@ -463,7 +463,7 @@ void l0_kernel_estimation(img_t<T>& k, img_t<T>& u, const img_t<T>& v, // it assumes that the image was previously processed by preprocess_image // the inner loop is implemented in l0_kernel_estimation template <typename T> -void multiscale_l0_kernel_estimation(img_t<T>& k, img_t<T>& u, const img_t<T>& v, struct options& opts) { +void multiscale_l0_kernel_estimation(img_t<T>& k, img_t<T>& u, const img_t<T>& v, struct estimate_kernel_options& opts) { std::vector<img_t<T>> vs; std::vector<int> kernelSizes; printf("Multiscale kernel estimation...\n"); @@ -511,7 +511,7 @@ void multiscale_l0_kernel_estimation(img_t<T>& k, img_t<T>& u, const img_t<T>& v // preprocess the input blurry image as describe in Section 2.1 template <typename T> -void preprocess_image(img_t<T>& out, const img_t<T>& _v, struct options& opts) { +void preprocess_image(img_t<T>& out, const img_t<T>& _v, struct estimate_kernel_options& opts) { img_t<T> v(_v.w, _v.h); // convert to grayscale -- GitLab