From c4c320e2b2998dcc68f52e53e2ff596c02a4750e Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 26 Mar 2023 21:03:37 +0200 Subject: [PATCH] - added libraw patch to build with libraw 0.21.x; release 11 --- oyranos-libraw.patch | 49 ++++++++++++++++++++++++++++++++++++++++++++ oyranos.spec | 8 ++++++-- 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 oyranos-libraw.patch diff --git a/oyranos-libraw.patch b/oyranos-libraw.patch new file mode 100644 index 0000000..36e8d8c --- /dev/null +++ b/oyranos-libraw.patch @@ -0,0 +1,49 @@ +--- oyranos-0.9.5/src/modules/devices/oyranos_cmm_oyRE.cpp.orig 2014-03-07 09:43:25.000000000 +0100 ++++ oyranos-0.9.5/src/modules/devices/oyranos_cmm_oyRE.cpp 2023-03-26 20:23:51.081151779 +0200 +@@ -229,7 +229,7 @@ extern oyCMMapi8_s_ _api8; + + + bool is_raw( int id ); +-int DeviceFromContext(oyConfig_s **config, libraw_output_params_t *params); ++int DeviceFromContext(oyConfig_s **config, libraw_output_params_t *params, libraw_raw_unpack_params_t *rawparams); + int DeviceFromHandle_opt(oyConfig_s *device, oyOption_s *option); + + /* --- implementations --- */ +@@ -1079,7 +1079,7 @@ int Configs_Modify(oyConfigs_s * devices + } else + device_context = *(libraw_output_params_t**)oyOption_GetData(context_opt, NULL, allocateFunc); + +- DeviceFromContext(&device_new, device_context); ++ DeviceFromContext(&device_new, device_context, &rip.imgdata.rawparams); + if(oyOptions_FindString( options, "icc_profile.fallback", 0 )) + /* fallback: try to get color matrix to build a profile */ + p = createMatrixProfile( rip.imgdata.color, +@@ -1445,6 +1445,10 @@ oyCMMinfo_s_ _cmm_module = { + error = oyOptions_SetFromInt( oyConfig_GetOptions(*config,"backend_core"), \ + CMM_BASE_REG OY_SLASH PRFX_LRAW #name, \ + params->name, 0, OY_CREATE_NEW ); ++#define DFC_RAWOPT_ADD_INT(name) if(!error) \ ++ error = oyOptions_SetFromInt( oyConfig_GetOptions(*config,"backend_core"), \ ++ CMM_BASE_REG OY_SLASH PRFX_LRAW #name, \ ++ rawparams->name, 0, OY_CREATE_NEW ); + #define DFC_OPT_ADD_FLOAT_ARR(name, i, n) if(!error) { \ + if (i==n-1) { \ + oyOption_s *opt = oyOption_FromRegistration(CMM_BASE_REG OY_SLASH PRFX_LRAW #name, 0);\ +@@ -1459,7 +1463,7 @@ if (i==n-1) { \ + oyOption_SetFromDouble(opt, params->name, 0, 0); \ + oyOptions_MoveIn(*oyConfig_GetOptions(*config,"backend_core"), &opt, -1); \ + } +-int DeviceFromContext(oyConfig_s **config, libraw_output_params_t *params) ++int DeviceFromContext(oyConfig_s **config, libraw_output_params_t *params, libraw_raw_unpack_params_t *rawparams) + { + int error = 0; + +@@ -1499,7 +1503,7 @@ int DeviceFromContext(oyConfig_s **confi + DFC_OPT_ADD_INT_ARR(greybox,1) //4 + DFC_OPT_ADD_INT_ARR(greybox,2) //4 + DFC_OPT_ADD_INT_ARR(greybox,3) //4 +- DFC_OPT_ADD_INT(shot_select) ++ DFC_RAWOPT_ADD_INT(shot_select) + + return error; + } diff --git a/oyranos.spec b/oyranos.spec index cd8b20a..ccb46f3 100644 --- a/oyranos.spec +++ b/oyranos.spec @@ -8,12 +8,13 @@ Summary: Colour Management System on operating system level Summary(pl.UTF-8): System zarządzania kolorami na poziomie systemu operacyjnego Name: oyranos Version: 0.9.5 -Release: 10 +Release: 11 License: BSD Group: Applications/Graphics Source0: http://downloads.sourceforge.net/oyranos/%{name}-%{version}.tar.bz2 # Source0-md5: f59ef03182597e1e7ba0e434599eb0c4 Patch0: no-mesa10.patch +Patch1: %{name}-libraw.patch URL: http://www.oyranos.org/ BuildRequires: cairo-devel BuildRequires: cmake >= 2.6.4 @@ -36,9 +37,11 @@ BuildRequires: libXcm-devel BuildRequires: libgomp-devel BuildRequires: libltdl-devel BuildRequires: libpng-devel -BuildRequires: libraw-devel +BuildRequires: libraw-devel >= 0.21 BuildRequires: libxml2-devel >= 2 BuildRequires: pkgconfig +BuildRequires: rpm-build >= 4 +BuildRequires: rpmbuild(macros) >= 1.605 BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXfixes-devel BuildRequires: xorg-lib-libXinerama-devel @@ -182,6 +185,7 @@ Dokumentacja API bibliotek Oyranos. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build install -d build -- 2.44.0