11 : X.h ] { - LibWinH = /usr/include ; -- } else if [ GLOB /usr/local/include/X11 : X.h ] { -- LibWinH = /usr/local/include ; -+ } else if [ GLOB $(LOCALBASE)/include/X11 : X.h ] { -+ LibWinH = $(LOCALBASE)/include ; - } else { - EXIT Unable to locate the X11 include files ; - } -@@ -91,8 +91,8 @@ if $(UNIX) { - LibWinD = /usr/lib64 ; - } else if [ GLOB /usr/lib : libX11.so libX11.a ] { - LibWinD = /usr/lib ; -- } else if [ GLOB /usr/local/lib : libX11.so libX11.a ] { -- LibWinD = /usr/local/lib ; -+ } else if [ GLOB $(LOCALBASE)/lib : libX11.so libX11.a ] { -+ LibWinD = $(LOCALBASE)/lib ; - } else { - ECHO Unable to locate the 64 bit X11 library files ; - } -@@ -103,8 +103,8 @@ if $(UNIX) { - LibWinD = /usr/lib/i386-linux-gnu ; - } else if [ GLOB /usr/lib : libX11.so libX11.a ] { - LibWinD = /usr/lib ; -- } else if [ GLOB /usr/local/lib : libX11.so libX11.a ] { -- LibWinD = /usr/local/lib ; -+ } else if [ GLOB $(LOCALBASE)/lib : libX11.so libX11.a ] { -+ LibWinD = $(LOCALBASE)/lib ; - } else { - ECHO Unable to locate the 32 bit X11 library files ; +@@ -167,7 +167,7 @@ rule CheckForLibrary { + echo "Using system $(UCASE) library" ; + $(UCASE)LIB = ; + $(UCASE)INC = ; +- LINKFLAGS += $(LINKFLAG)$(lcase) ; ++ LINKFLAGS += -L$(LOCALBASE)/lib $(LINKFLAG)$(lcase) ; + HAVE_$(UCASE) = true ; } -@@ -140,11 +140,11 @@ rule CheckForLibrary { - - if ! $(BUILTIN_$(UCASE)) && $(UNIX) { - if [ GLOB /usr/include$(subd) : $(lcase).h $(lcase)lib.h ] -- || [ GLOB /usr/local/include$(subd) : $(lcase).h $(lcase)lib.h ] -+ || [ GLOB $(LOCALBASE)/include$(subd) : $(lcase).h $(lcase)lib.h ] - || [ GLOB /usr/include/x86_64-linux-gnu$(subd) : $(lcase).h $(lcase)lib.h ] - || [ GLOB /usr/include/i386-linux-gnu$(subd) : $(lcase).h $(lcase)lib.h ] { - if [ GLOB /usr/lib : lib$(lcase).so ] || [ GLOB /usr/lib : lib$(lcase).a ] -- || [ GLOB /usr/local/lib : lib$(lcase).so ] || [ GLOB /usr/local/lib : lib$(lcase).a ] -+ || [ GLOB $(LOCALBASE)/lib : lib$(lcase).so ] || [ GLOB /usr/local/lib : lib$(lcase).a ] - || [ GLOB /usr/lib64 : lib$(lcase).so ] || [ GLOB /usr/lib64 : lib$(lcase).a ] - || [ GLOB /usr/lib/x86_64-linux-gnu : lib$(lcase).so ] - || [ GLOB /usr/lib/x86_64-linux-gnu : lib$(lcase).a ] + } diff --git a/graphics/argyllcms/files/patch-gamut_gamut.h b/graphics/argyllcms/files/patch-gamut_gamut.h deleted file mode 100644 index 2b447b336b7b..000000000000 --- a/graphics/argyllcms/files/patch-gamut_gamut.h +++ /dev/null @@ -1,11 +0,0 @@ ---- gamut/gamut.h.orig 2020-08-19 11:32:00 UTC -+++ gamut/gamut.h -@@ -36,7 +36,7 @@ - #define MAXGAMN 10 /* Maximum gamut point neighbors returned */ - #define NSLOTS 6 /* Number of maximum direction slots */ - --struct _vrml *wrl; /* Declared in vrml.h, which may be #included after this */ -+extern struct _vrml *wrl; /* Declared in vrml.h, which may be #included after this */ - - /* ------------------------------------ */ - #define NODE_STRUCT \ diff --git a/graphics/argyllcms/files/patch-gcc5 b/graphics/argyllcms/files/patch-gcc5 deleted file mode 100644 index 96961ddd3737..000000000000 --- a/graphics/argyllcms/files/patch-gcc5 +++ /dev/null @@ -1,20 +0,0 @@ -Description: Fix FTBFS with GCC 5 -Author: James Cowgill -Bug-Debian: https://bugs.debian.org/777779 -Forwarded: no ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- icc/icc.h -+++ icc/icc.h -@@ -100,7 +100,11 @@ - #define CF64PREC "LL" /* Constant precision specifier */ - - #ifndef ATTRIBUTE_NORETURN -+#ifdef _MSC_VER - # define ATTRIBUTE_NORETURN __declspec(noreturn) -+#else -+# define ATTRIBUTE_NORETURN __attribute__((noreturn)) -+#endif - #endif - - #else /* !__STDC_VERSION__ */ diff --git a/graphics/argyllcms/files/patch-mxml b/graphics/argyllcms/files/patch-mxml new file mode 100644 index 000000000000..491b5245f553 --- /dev/null +++ b/graphics/argyllcms/files/patch-mxml @@ -0,0 +1,270 @@ +The changes necessary to use the newer MiniXML version. +Tested against mxml-3.3.1. + + -mi + +--- namedc/namedc.c 2026-02-09 17:25:54.000000000 -0500 ++++ namedc/namedc.c 2026-04-25 22:37:10.093787000 -0400 +@@ -120,10 +120,10 @@ + static mxml_type_t + type_cb(mxml_node_t *node) { +- const char *name = node->value.element.name; ++ const char *name = mxmlGetElement(node); + mxml_node_t *parent = mxmlGetParent(node); + const char *pname = NULL; + + if (parent != NULL) +- pname = parent->value.element.name; ++ pname = mxmlGetElement(parent); + + // printf("~1 type_cb got node named '%s', parent '%s'\n",name,pname); +@@ -345,7 +345,7 @@ + return p->errc = 1; + } +- name = cxf->value.element.name; ++ name = mxmlGetElement(cxf); + +- if ((attr = strchr(cxf->value.element.name, ':')) != NULL) { ++ if ((attr = strchr(name, ':')) != NULL) { + int len = attr - name; + if (len > 99) +@@ -390,5 +390,5 @@ + /* Grab the description */ + if (cxf2) { +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"Palette"))) == NULL ++ if ((node = mxmlFindPath(cxf, pfxp(p, "Palette"))) == NULL + || (name = mxmlElementGetAttr(node, "PaletteName")) == NULL) + name = NULL; +@@ -407,5 +407,5 @@ + + } else { /* else cxf3 */ +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"FileInformation/Description"))) == NULL) ++ if ((node = mxmlFindPath(cxf, pfxp(p,"FileInformation/Description"))) == NULL) + name = NULL; + else +@@ -425,7 +425,7 @@ + + /* Look through the color specifications and see if there are spectral details */ +- pnode = mxmlFindPathNode(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification/WavelengthRange")); ++ pnode = mxmlFindPath(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification/WavelengthRange")); + if (pnode == NULL) +- pnode = mxmlFindPathNode(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification/MeasurementSpec/WavelengthRange")); ++ pnode = mxmlFindPath(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification/MeasurementSpec/WavelengthRange")); + while (pnode != NULL) { + name = mxmlElementGetAttr(pnode, "StartWL"); +@@ -454,5 +454,5 @@ + if (cxf2) { + /* Locate the Palette/ColorSet node */ +- if ((pnode = mxmlFindPathNode(cxf, pfxp(p,"Palette/ColorSet"))) == NULL) { ++ if ((pnode = mxmlFindPath(cxf, pfxp(p,"Palette/ColorSet"))) == NULL) { + snprintf(p->err, NAMEDC_ERRL, "Failed to find Resources/ObjectCollection in '%s'",p->filename); + a1logd(p->log, 1, "read_cxf: %s\n",p->err); +@@ -468,5 +468,5 @@ + } else { + /* Locate the Resources/ObjectCollection node */ +- if ((pnode = mxmlFindPathNode(cxf, pfxp(p,"Resources/ObjectCollection"))) == NULL) { ++ if ((pnode = mxmlFindPath(cxf, pfxp(p,"Resources/ObjectCollection"))) == NULL) { + snprintf(p->err, NAMEDC_ERRL, "Failed to find Resources/ObjectCollection in '%s'",p->filename); + a1logd(p->log, 1, "read_cxf: %s\n",p->err); +@@ -500,7 +500,8 @@ + goto next; + } +- a1logd(p->log, DEB6, "read_cxf: read node '%s'\n",node->value.element.name); ++ a1logd(p->log, DEB6, "read_cxf: read node '%s'\n", name); + +- if (strcmp(node->value.element.name, pfx(p,SampleKey)) != 0) { ++ name = mxmlGetElement(node); ++ if (strcmp(name, pfx(p,SampleKey)) != 0) { + a1logd(p->log, DEB6, "read_cxf: skipping non %s node\n",SampleKey); + goto next; +@@ -776,5 +777,5 @@ + if (cxf2) { + /* Grab the creator */ +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"Preamble/Header/Creator"))) == NULL) ++ if ((node = mxmlFindPath(cxf, pfxp(p, "Preamble/Header/Creator"))) == NULL) + name = NULL; + else +@@ -792,5 +793,5 @@ + + /* Grab the illuminant type */ +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"Palette/ColorSet/CollectionColorSpaceSpecification/ColorSpaceSpecificationSpectrumTristimulus/IlluminationOptions/Illuminant"))) == NULL ++ if ((node = mxmlFindPath(cxf, pfxp(p, "Palette/ColorSet/CollectionColorSpaceSpecification/ColorSpaceSpecificationSpectrumTristimulus/IlluminationOptions/Illuminant"))) == NULL + || (name = mxmlGetOpaque(node)) == NULL) { + a1logd(p->log, 2, "read_cxf: failed to locate Illuminant - assuming D50\n"); +@@ -815,5 +816,5 @@ + + /* Grab the observer type */ +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"Palette/ColorSet/CollectionColorSpaceSpecification/ColorSpaceSpecificationSpectrumTristimulus/FieldOfView"))) == NULL ++ if ((node = mxmlFindPath(cxf, pfxp(p,"Palette/ColorSet/CollectionColorSpaceSpecification/ColorSpaceSpecificationSpectrumTristimulus/FieldOfView"))) == NULL + || (name = mxmlGetOpaque(node)) == NULL) { + a1logd(p->log, 2, "read_cxf: failed to locate FieldOfView - assuming 2 degree\n"); +@@ -835,5 +836,5 @@ + + /* Grab the creator */ +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"FileInformation/Creator"))) == NULL) ++ if ((node = mxmlFindPath(cxf, pfxp(p,"FileInformation/Creator"))) == NULL) + name = NULL; + else +@@ -856,5 +857,5 @@ + /* Look through the color specifications and find the one that matches */ + /* the Lab or XYZ color specification */ +- pnode = mxmlFindPathNode(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification")); ++ pnode = mxmlFindPath(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification")); + while (pnode != NULL) { + name = mxmlElementGetAttr(pnode, "Id"); +@@ -866,5 +867,5 @@ + + /* Grab the illuminant type */ +- if ((node = mxmlFindPathNode(pnode, pfxp(p,"TristimulusSpec/Illuminant"))) == NULL ++ if ((node = mxmlFindPath(pnode, pfxp(p,"TristimulusSpec/Illuminant"))) == NULL + || (name = mxmlGetOpaque(node)) == NULL) { + a1logd(p->log, 2, "read_cxf: failed to locate Illuminant - assuming D50\n"); +@@ -889,5 +890,5 @@ + + /* Grab the first observer type */ +- if ((node = mxmlFindPathNode(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification/TristimulusSpec/Observer"))) == NULL ++ if ((node = mxmlFindPath(cxf, pfxp(p,"Resources/ColorSpecificationCollection/ColorSpecification/TristimulusSpec/Observer"))) == NULL + || (name = mxmlGetOpaque(node)) == NULL) { + a1logd(p->log, 2, "read_cxf: failed to locate Observer - assuming 2 degree\n"); +--- profile/cxf2ti3.c 2026-02-09 17:25:29.000000000 -0500 ++++ profile/cxf2ti3.c 2026-04-26 00:23:21.375782000 -0400 +@@ -88,10 +88,10 @@ + static mxml_type_t + type_cb(mxml_node_t *node) { +- const char *name = node->value.element.name; ++ const char *name = mxmlGetElement(node); + mxml_node_t *parent = mxmlGetParent(node); + const char *pname = NULL; + + if (parent != NULL) +- pname = parent->value.element.name; ++ pname = mxmlGetElement(parent); + + // printf("~1 type_cb got node named '%s', parent '%s'\n",name,pname); +@@ -425,7 +425,7 @@ + error("Top element is not type MXML_ELEMENT in '%s'",inname); + } +- name = cxf->value.element.name; ++ name = mxmlGetElement(cxf); + +- if ((attr = strchr(cxf->value.element.name, ':')) != NULL) { ++ if ((attr = strchr(name, ':')) != NULL) { + int len = attr - name; + if (len > 99) +@@ -471,5 +471,5 @@ + + /* Copy the description */ +- if ((node = mxmlFindPathNode(cxf, pfxp(&ctx,"FileInformation/Description"))) != NULL) { ++ if ((node = mxmlFindPath(cxf, pfxp(&ctx,"FileInformation/Description"))) != NULL) { + name = mxmlGetOpaque(node); + a1logd(g_log, 2, "cxf2ti3: got description '%s'\n",name); +@@ -479,5 +479,5 @@ + + /* Grab the creator */ +- if ((node = mxmlFindPathNode(cxf, pfxp(&ctx,"FileInformation/Creator"))) != NULL) { ++ if ((node = mxmlFindPath(cxf, pfxp(&ctx,"FileInformation/Creator"))) != NULL) { + name = mxmlGetOpaque(node); + a1logd(g_log, 2, "cxf2ti3: got creator '%s'\n",name); +@@ -486,5 +486,5 @@ + } + +- if ((node = mxmlFindPathNode(cxf, pfxp(&ctx,"FileInformation/CreationDate"))) != NULL) { ++ if ((node = mxmlFindPath(cxf, pfxp(&ctx,"FileInformation/CreationDate"))) != NULL) { + name = mxmlGetOpaque(node); + a1logd(g_log, 2, "cxf2ti3: got creation date '%s'\n",name); +@@ -495,12 +495,12 @@ + /* Look through the color specifications and see if there are spectral details */ + a1logd(g_log, 4, "cxf2ti3: Looking through color specifications for spectral details\n"); +- pnode = mxmlFindPathNode(cxf, pfxp(&ctx,"Resources/ColorSpecificationCollection/ColorSpecification/WavelengthRange")); ++ pnode = mxmlFindPath(cxf, pfxp(&ctx,"Resources/ColorSpecificationCollection/ColorSpecification/WavelengthRange")); + if (pnode == NULL) +- pnode = mxmlFindPathNode(cxf, pfxp(&ctx,"Resources/ColorSpecificationCollection/ColorSpecification/MeasurementSpec/WavelengthRange")); ++ pnode = mxmlFindPath(cxf, pfxp(&ctx,"Resources/ColorSpecificationCollection/ColorSpecification/MeasurementSpec/WavelengthRange")); + + if (pnode == NULL) +- pnode = mxmlFindPathNode(cxf, pfxp(&ctx,"Resources/ColourSpecificationCollection/ColourSpecification/WavelengthRange")); ++ pnode = mxmlFindPath(cxf, pfxp(&ctx,"Resources/ColourSpecificationCollection/ColourSpecification/WavelengthRange")); + if (pnode == NULL) +- pnode = mxmlFindPathNode(cxf, pfxp(&ctx,"Resources/ColourSpecificationCollection/ColourSpecification/MeasurementSpec/WavelengthRange")); ++ pnode = mxmlFindPath(cxf, pfxp(&ctx,"Resources/ColourSpecificationCollection/ColourSpecification/MeasurementSpec/WavelengthRange")); + + if (pnode == NULL) +@@ -540,5 +540,5 @@ + + /* Locate the Resources/ObjectCollection node */ +- if ((pnode = mxmlFindPathNode(cxf, pfxp(&ctx,"Resources/ObjectCollection"))) == NULL) { ++ if ((pnode = mxmlFindPath(cxf, pfxp(&ctx,"Resources/ObjectCollection"))) == NULL) { + error("Failed to find Resources/ObjectCollection in '%s'",inname); + } +@@ -564,7 +564,8 @@ + goto next; + } +- a1logd(g_log, 6, "cxf2ti3: read node '%s'\n",node->value.element.name); ++ name = mxmlGetElement(node); ++ a1logd(g_log, 6, "cxf2ti3: read node '%s'\n", name); + +- if (strcmp(node->value.element.name, pfx(&ctx,"Object")) != 0) { ++ if (strcmp(name, pfx(&ctx, "Object")) != 0) { + a1logd(g_log, 6, "cxf2ti3: skipping non %s node\n","Object"); + goto next; +--- profile/ls2ti3.c 2026-02-09 17:25:29.000000000 -0500 ++++ profile/ls2ti3.c 2026-04-26 00:28:35.173791000 -0400 +@@ -59,10 +59,11 @@ + mxml_node_t *parent = mxmlGetParent(node); + const char *pname; +- const char *name = node->value.element.name; ++ const char *name; + + if (parent == NULL) + return MXML_TEXT; + +- pname = parent->value.element.name; ++ name = mxmlGetElement(node); ++ pname = mxmlGetElement(parent); + + // printf("~1 type_cb got pnode '%s' node '%s'\n",pname, name); +@@ -185,5 +186,5 @@ + error("Failed to find top element in '%s'",inname); + +- if (strcmp(top->value.element.name, "builder_color_space") != 0) ++ if (strcmp(mxmlGetElement(top), "builder_color_space") != 0) + error("'%s' doesn't seem to be a LightSpace .bcs file ?",inname); + +@@ -238,5 +239,5 @@ + goto next; + } +- a1logd(g_log, DEB, "read node '%s'\n",node->value.element.name); ++ a1logd(g_log, DEB, "read node '%s'\n", mxmlGetElement(node)); + + if ((attr = mxmlElementGetAttr(node, "frame")) == NULL) { +--- profile/Jamfile 2026-02-09 17:25:29.000000000 -0500 ++++ profile/Jamfile 2026-04-26 01:02:04.153120000 -0400 +@@ -36,4 +36,5 @@ + + LINKFLAGS += $(GUILINKFLAGS) ; ++LINKFLAGS += -lmxml ; + + # Simple profile generator +@@ -53,8 +54,8 @@ + + #CxF to Argyll CGATS format +-Main cxf2ti3 : cxf2ti3.c : : : ../xml : : ../xml/libmxml ; ++Main cxf2ti3 : cxf2ti3.c ; + + #LightSpace to Argyll CGATS format +-Main ls2ti3 : ls2ti3.c : : : ../xml : : ../xml/libmxml ; ++Main ls2ti3 : ls2ti3.c ; + + #Split a .ti3 into two pieces randomly +--- namedc/Jamfile 2026-02-09 17:25:54.000000000 -0500 ++++ namedc/Jamfile 2026-04-26 01:04:05.783387000 -0400 +@@ -12,7 +12,8 @@ + + LINKLIBS = ./libnamedc ../xicc/libxicc ../spectro/libconv ../icc/libicc ../cgats/libcgats +- ../plot/libplot ../numlib/libui ../numlib/libnum ../xml/libmxml ; ++ ../plot/libplot ../numlib/libui ../numlib/libnum ; + + LINKFLAGS += $(GUILINKFLAGS) ; ++LINKFLAGS += -lmxml ; + + # Individual stand alone test of namedc diff --git a/graphics/argyllcms/files/patch-spectro_dispwin.c b/graphics/argyllcms/files/patch-spectro_dispwin.c index 4b1abadcd18a..920042b2e757 100644 --- a/graphics/argyllcms/files/patch-spectro_dispwin.c +++ b/graphics/argyllcms/files/patch-spectro_dispwin.c @@ -1,16 +1,87 @@ -Description: Add check for NULL pointer -Author: Jörg Frings-Fürst -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700253 -Forwarded: http://www.freelists.org/post/argyllcms/dispwin-bad-command-line-option-makes-dispwin-segfault -Reviewed-by: -Last-Update: 2014-09-14 ---- spectro/dispwin.c.orig 2016-09-28 02:59:10 UTC -+++ spectro/dispwin.c -@@ -6055,6 +6055,7 @@ main(int argc, char *argv[]) { +--- spectro/dispwin.c 2026-02-09 17:25:25.000000000 -0500 ++++ spectro/dispwin.c 2026-04-25 21:46:10.494515000 -0400 +@@ -760,5 +760,5 @@ - /* Display number */ - else if (argv[fa][1] == 'd') { -+ if(na == NULL) usage(0,"-d parameter missing"); - if (strncmp(na,"web",3) == 0 - || strncmp(na,"WEB",3) == 0) { - webdisp = 8080; + primary = _XRRGetOutputPrimary(mydisplay, RootWindow(mydisplay,i)); +- debugrr2((errout,"XRRGetOutputPrimary returned XID %x\n",primary)); ++ debugrr2((errout, "XRRGetOutputPrimary returned XID %lx\n", primary)); + + if (primary != None) { +@@ -1000,5 +1000,5 @@ + Atom edid_atom, ret_type; + int ret_format; +- long ret_len = 0, ret_togo; ++ unsigned long ret_len = 0, ret_togo; + unsigned char *atomv = NULL; + int ii; +@@ -1166,5 +1166,5 @@ + Atom edid_atom, ret_type; + int ret_format = 8; +- long ret_len, ret_togo; ++ unsigned long ret_len, ret_togo; + unsigned char *atomv = NULL; + +@@ -1574,5 +1574,6 @@ + + if (nent != p->nent) { +- debugr2((errout,"XF86VidModeGetGammaRampSize number of entries %d inconsistent with previous value\n",nent,p->nent)); ++ debugr2((errout,"XF86VidModeGetGammaRampSize number of entries %d " ++ "inconsistent with previous value of %d\n", nent, p->nent)); + return NULL; + } +@@ -3567,5 +3568,5 @@ + Atom ret_type; + int ret_format; +- long ret_len, ret_togo; ++ unsigned long ret_len, ret_togo; + char aname[30]; + unsigned char *atomv = NULL; /* Profile loaded from/to atom */ +@@ -5439,5 +5440,6 @@ + + if (depth != p->fdepth) { +- debugr2((errout,"new_dispwin: Default Visual red mask 0x%x is not %d bits\n",vinfo->red_mask,p->fdepth)); ++ debugr2((errout, "new_dispwin: Default Visual red mask 0x%lx is not %d bits\n", ++ vinfo->red_mask, p->fdepth)); + XFree(vinfo); + dispwin_del(p); +@@ -5452,5 +5454,6 @@ + + if (depth != p->fdepth) { +- debugr2((errout,"new_dispwin: Default Visual green mask 0x%x is not %d bits\n",vinfo->red_mask,p->fdepth)); ++ debugr2((errout, "new_dispwin: Default Visual green mask 0x%lx is not %d bits\n", ++ vinfo->red_mask, p->fdepth)); + XFree(vinfo); + dispwin_del(p); +@@ -5465,5 +5468,6 @@ + + if (depth != p->fdepth) { +- debugr2((errout,"new_dispwin: Default Visual blue mask 0x%x is not %d bits\n",vinfo->red_mask,p->fdepth)); ++ debugr2((errout, "new_dispwin: Default Visual blue mask 0x%lx is not %d bits\n", ++ vinfo->red_mask, p->fdepth)); + XFree(vinfo); + dispwin_del(p); +@@ -5700,5 +5704,4 @@ + Atom optat; + unsigned int opaque = 0xffffffff; +- unsigned int xid = (unsigned int)rootwindow; /* Hope this is 32 bit */ + XChangeProperty( + p->mydisplay, p->mywindow, +@@ -5707,5 +5710,5 @@ + 32, /* format = bits in type of unsigned int */ + PropModeReplace, /* Change mode */ +- (char *)(&xid), /* Data is Root Window XID */ ++ (void *)(&rootwindow), /* Data is Root Window XID */ + 1 /* Number of elements of data */ + ); +@@ -5714,9 +5717,9 @@ + if ((optat = XInternAtom(p->mydisplay, "_NET_WM_WINDOW_OPACITY", False)) != None) { + XChangeProperty(p->mydisplay, p->mywindow, optat, +- XA_CARDINAL, 32, PropModeReplace, (char *)(&opaque), 1); ++ XA_CARDINAL, 32, PropModeReplace, (void *)(&opaque), 1); + } + if ((optat = XInternAtom(p->mydisplay, "_NET_WM_WINDOW_OPACITY_LOCKED", False)) != None) { + XChangeProperty(p->mydisplay, p->mywindow, optat, +- XA_CARDINAL, 32, PropModeReplace, (char *)(&opaque), 1); ++ XA_CARDINAL, 32, PropModeReplace, (void *)(&opaque), 1); + } + } diff --git a/graphics/argyllcms/files/patch-spectro_vinflate.c b/graphics/argyllcms/files/patch-spectro_vinflate.c deleted file mode 100644 index 15502529e161..000000000000 --- a/graphics/argyllcms/files/patch-spectro_vinflate.c +++ /dev/null @@ -1,31 +0,0 @@ ---- spectro/vinflate.c.orig 2020-08-19 12:08:33 UTC -+++ spectro/vinflate.c -@@ -92,7 +92,7 @@ int vinflate(void); - */ - - #define WSIZE 0x8000 --unsigned int wp; /* current position in slide */ -+extern unsigned int wp; /* current position in slide */ - uch slide[32768]; - - static int vflush_output(unsigned int w) { -@@ -160,8 +160,8 @@ static ush cpdext[] = { /* Extra bits for dist - the stream. - */ - --ulg bb; /* bit buffer */ --unsigned bk; /* bits in bit buffer */ -+extern ulg bb; /* bit buffer */ -+extern unsigned bk; /* bits in bit buffer */ - - ush vmask_bits[] = { - 0x0000, -@@ -239,7 +239,7 @@ int vdbits = 6; /* bits in base distance look - #define N_MAX 288 /* maximum number of codes in any set */ - - --unsigned hufts; /* track memory usage */ -+extern unsigned hufts; /* track memory usage */ - - /* Given a list of code lengths and a maximum table size, make a set of - tables to decode that set of codes. Return zero on success, one if diff --git a/graphics/argyllcms/files/patch-warnings b/graphics/argyllcms/files/patch-warnings new file mode 100644 index 000000000000..9eb998747503 --- /dev/null +++ b/graphics/argyllcms/files/patch-warnings @@ -0,0 +1,275 @@ +--- render/render.c 2026-02-09 17:25:30.000000000 -0500 ++++ render/render.c 2026-04-25 21:57:54.964993000 -0400 +@@ -317,9 +317,9 @@ + #ifdef RENDER_TIFF + TIFF *wh = NULL; +- uint16 samplesperpixel = 0, bitspersample = 0; +- uint16 extrasamples = 0; /* Extra "alpha" samples */ +- uint16 extrainfo[MXCH2D]; /* Info about extra samples */ +- uint16 photometric = 0; +- uint16 inkset = 0xffff; ++ uint16_t samplesperpixel = 0, bitspersample = 0; ++ uint16_t extrasamples = 0; /* Extra "alpha" samples */ ++ uint16_t extrainfo[MXCH2D]; /* Info about extra samples */ ++ uint16_t photometric = 0; ++ uint16_t inkset = 0xffff; + char *inknames = NULL; + #endif +--- ucmm/ucmm.c 2026-02-09 17:25:31.000000000 -0500 ++++ ucmm/ucmm.c 2026-04-25 23:53:58.581849000 -0400 +@@ -438,5 +438,7 @@ + if (ii > recno) /* Track biggest, so we know what to create next */ + recno = ii; +- if ((pp = jc_get_nth_elem(key, 3)) != NULL && strcmp(pp, mname) == 0 && type == jc_string && strcmp(data, mval) == 0) { ++ if ((pp = jc_get_nth_elem(key, 3)) != NULL && ++ strcmp(pp, mname) == 0 && type == jc_string && ++ strcmp((char *)data, mval) == 0) { + /* Found matching record */ + free(pp); +@@ -472,5 +474,5 @@ + debug2((errout,"jcnf locate/get_key failed with error %d\n",ev)); + } +- if ((xprofile = strdup(data)) == NULL) { ++ if ((xprofile = strdup((char *)data)) == NULL) { + debug2((errout,"jcnf get_key malloc failed\n")); + } +@@ -481,6 +483,6 @@ + sprintf(keyn1, "devices/display/%d/%s", recno, mname); + sprintf(keyn2, "devices/display/%d/ICC_PROFILE", recno); +- if ((ev = jc->set_key(jc, -1, keyn1, jc_string, mval, strlen(mval)+1, NULL)) != jc_ok +- || (ev = jc->set_key(jc, -1, keyn2, jc_string, data_name, strlen(data_name)+1, NULL)) != jc_ok) { ++ if ((ev = jc->set_key(jc, -1, keyn1, jc_string, (unsigned char *)mval, strlen(mval)+1, NULL)) != jc_ok ++ || (ev = jc->set_key(jc, -1, keyn2, jc_string, (unsigned char *)data_name, strlen(data_name)+1, NULL)) != jc_ok) { + debug2((errout,"jcnf set_key failed with error %d\n",ev)); + free(mval); +@@ -515,5 +517,5 @@ + if (strcmp(pp,"ICC_PROFILE") != 0 + || type != jc_string +- || strcmp(data, xprofile) != 0) { ++ || strcmp((char *)data, xprofile) != 0) { + free(pp); + continue; +@@ -698,5 +700,5 @@ + && strcmp(pp, mname) == 0 + && type == jc_string +- && strcmp(data, mval) == 0) { ++ && strcmp((char *)data, mval) == 0) { + /* Found matching record */ + free(pp); +@@ -729,5 +731,5 @@ + return ucmm_access_config; + } +- if ((*pprofile = strdup(data)) == NULL) { ++ if ((*pprofile = strdup((char *)data)) == NULL) { + debug2((errout,"jcnf get_key malloc failed\n")); + jc->del(jc); +@@ -766,5 +768,6 @@ + int recno = -1; + int ix; +- ucmm_error ev = ucmm_ok; ++ ucmm_error uev; ++ jc_error ev; + + if (edid != NULL) +@@ -774,7 +777,7 @@ + + /* Locate the config record containing the config file entry. */ +- if ((ev = ucmm_get_monitor_config(&dprof, &recno, &jc, edid, edid_len, display_name, ++ if ((uev = ucmm_get_monitor_config(&dprof, &recno, &jc, edid, edid_len, display_name, + jc_modify, scope)) != ucmm_ok) { +- return ev; ++ return uev; + } + +@@ -828,5 +831,5 @@ + if (strcmp(pp,"ICC_PROFILE") != 0 + || type != jc_string +- || strcmp(data, dprof) != 0) { ++ || strcmp((char *)data, dprof) != 0) { + free(pp); + continue; +--- xicc/tiffgamut.c 2026-02-09 17:25:22.000000000 -0500 ++++ xicc/tiffgamut.c 2026-04-25 23:59:53.426553000 -0400 +@@ -329,6 +329,8 @@ + case JCS_YCCK: + return "YCCK"; ++ default: ++ snprintf(buf, sizeof(buf) - 1, ++ "Unknown JPEG colorspace %d", cspace); + } +- sprintf(buf,"Unknown JPEG colorspace %d",cspace); + return buf; + } +@@ -384,12 +386,12 @@ + TIFF *rh = NULL; + int x, y, width, height; /* Size of image */ +- uint16 samplesperpixel, bitspersample; +- uint16 pconfig, photometric, pmtc; ++ uint16_t samplesperpixel, bitspersample; ++ uint16_t pconfig, photometric, pmtc; + tdata_t *inbuf; + int inbpix = 0; /* Number of pixels in jpeg in buf */ + void (*cvt)(double *out, double *in) = NULL; /* TIFF conversion function, NULL if none */ + icColorSpaceSignature tcs = 0; /* TIFF colorspace */ +- uint16 extrasamples = 0; /* Extra "alpha" samples */ +- uint16 *extrainfo = NULL; /* Info about extra samples */ ++ uint16_t extrasamples = 0; /* Extra "alpha" samples */ ++ uint16_t *extrainfo = NULL; /* Info about extra samples */ + int sign_mask = 0; /* Handling of encoding sign */ + +--- xicc/tiffgmts.c 2026-02-09 17:25:22.000000000 -0500 ++++ xicc/tiffgmts.c 2026-04-26 00:02:06.008046000 -0400 +@@ -314,13 +314,13 @@ + TIFF *rh = NULL; + int x, y, width, height; /* Size of image */ +- uint16 samplesperpixel, bitspersample; +- uint16 pconfig, photometric, pmtc; +- uint16 resunits; ++ uint16_t samplesperpixel, bitspersample; ++ uint16_t pconfig, photometric, pmtc; ++ uint16_t resunits; + float resx, resy; + tdata_t *inbuf; + void (*cvt)(double *out, double *in); /* TIFF conversion function, NULL if none */ + icColorSpaceSignature tcs; /* TIFF colorspace */ +- uint16 extrasamples; /* Extra "alpha" samples */ +- uint16 *extrainfo; /* Info about extra samples */ ++ uint16_t extrasamples; /* Extra "alpha" samples */ ++ uint16_t *extrainfo; /* Info about extra samples */ + int sign_mask; /* Handling of encoding sign */ + +--- imdi/greytiff.c 2026-02-09 17:25:27.000000000 -0500 ++++ imdi/greytiff.c 2026-04-26 00:04:18.213233000 -0400 +@@ -205,7 +205,7 @@ + TIFF *rh = NULL, *wh = NULL; + int x, y, width, height; /* Size of image */ +- uint16 samplesperpixel, bitspersample; +- uint16 pconfig, photometric, pmtc; +- uint16 resunits; ++ uint16_t samplesperpixel, bitspersample; ++ uint16_t pconfig, photometric, pmtc; ++ uint16_t resunits; + float resx, resy; + tdata_t *inbuf, *outbuf, *checkbuf; +--- imdi/cctiff.c 2026-02-09 17:25:26.000000000 -0500 ++++ imdi/cctiff.c 2026-04-26 00:05:58.493232000 -0400 +@@ -351,5 +351,5 @@ + int + ColorSpaceSignature2TiffPhotometric( +-uint16 tags[10], /* Pointer to return array, up to 10 */ ++uint16_t tags[10], /* Pointer to return array, up to 10 */ + icColorSpaceSignature cspace /* Input ICC colorspace */ + ) { +@@ -969,6 +969,8 @@ + case JCS_YCCK: + return "YCCK"; ++ default: ++ snprintf(buf, sizeof(buf) - 1, ++ "Unknown JPEG colorspace %d", cspace); + } +- sprintf(buf,"Unknown JPEG colorspace %d",cspace); + return buf; + } +@@ -1007,13 +1009,13 @@ + + int x, y, width, height; /* Common size of image */ +- uint16 bitspersample; /* Bits per sample */ +- uint16 resunits; ++ uint16_t bitspersample; /* Bits per sample */ ++ uint16_t resunits; + float resx, resy; +- uint16 pconfig; /* Planar configuration */ ++ uint16_t pconfig; /* Planar configuration */ + +- uint16 rsamplesperpixel, wsamplesperpixel; /* Channels per sample */ +- uint16 rphotometric, wphotometric; /* Photometrics */ +- uint16 rextrasamples, wextrasamples; /* Extra "alpha" samples */ +- uint16 *rextrainfo, wextrainfo[MAX_CHAN]; /* Info about extra samples */ ++ uint16_t rsamplesperpixel, wsamplesperpixel; /* Channels per sample */ ++ uint16_t rphotometric, wphotometric; /* Photometrics */ ++ uint16_t rextrasamples, wextrasamples; /* Extra "alpha" samples */ ++ uint16_t *rextrainfo, wextrainfo[MAX_CHAN]; /* Info about extra samples */ + char *rdesc = NULL; /* Existing description */ + char *ddesc = "[ Color corrected by ArgyllCMS ]"; /* Default description */ +@@ -1691,5 +1693,5 @@ + { + int no_pmtc; /* Number of possible photometrics */ +- uint16 pmtc[10]; /* Photometrics of output file */ ++ uint16_t pmtc[10]; /* Photometrics of output file */ + if ((no_pmtc = ColorSpaceSignature2TiffPhotometric(pmtc, + last_colorspace)) == 0) +--- target/filmtarg.c 2026-02-09 17:25:27.000000000 -0500 ++++ target/filmtarg.c 2026-04-26 00:11:20.962318000 -0400 +@@ -194,7 +194,5 @@ + + int +-main(argc,argv) +-int argc; +-char *argv[]; ++main(int argc, char *argv[]) + { + int fa,nfa; /* current argument we're looking at */ +--- target/ifarp.c 2026-02-09 17:25:27.000000000 -0500 ++++ target/ifarp.c 2026-04-26 00:12:58.354474000 -0400 +@@ -831,7 +831,5 @@ + + int +-main(argc,argv) +-int argc; +-char *argv[]; ++main(int argc, char *argv[]) + { + int npoints = 500; +--- target/ofps.c 2026-02-09 17:25:27.000000000 -0500 ++++ target/ofps.c 2026-04-26 00:13:44.527466000 -0400 +@@ -8526,7 +8526,5 @@ + + int +-main(argc,argv) +-int argc; +-char *argv[]; ++main(int argc, char *argv[]) + { + int npoints = 55; +--- target/simplat.c 2026-02-09 17:25:27.000000000 -0500 ++++ target/simplat.c 2026-04-26 00:15:13.359774000 -0400 +@@ -911,7 +911,5 @@ + + int +-main(argc,argv) +-int argc; +-char *argv[]; ++main(int argc, char *argv[]) + { + int npoints = 50; +--- target/simdlat.c 2026-02-09 17:25:27.000000000 -0500 ++++ target/simdlat.c 2026-04-26 00:16:29.160795000 -0400 +@@ -879,7 +879,5 @@ + + int +-main(argc,argv) +-int argc; +-char *argv[]; ++main(int argc, char *argv[]) + { + int npoints = 50; +--- scanin/scanin.c 2026-02-09 17:25:28.000000000 -0500 ++++ scanin/scanin.c 2026-04-26 00:17:29.075659000 -0400 +@@ -168,11 +168,11 @@ + + TIFF *rh = NULL, *wh = NULL; +- uint16 depth, bps; /* Useful depth, bits per sample */ +- uint16 tdepth; /* Total depth including alpha */ +- uint16 pconfig, photometric; +- uint16 rextrasamples; /* Extra "alpha" samples */ +- uint16 *rextrainfo; /* Info about extra samples */ ++ uint16_t depth, bps; /* Useful depth, bits per sample */ ++ uint16_t tdepth; /* Total depth including alpha */ ++ uint16_t pconfig, photometric; ++ uint16_t rextrasamples; /* Extra "alpha" samples */ ++ uint16_t *rextrainfo; /* Info about extra samples */ + int gotres = 0; +- uint16 resunits; ++ uint16_t resunits; + float resx, resy; + diff --git a/graphics/argyllcms/files/patch-yajl b/graphics/argyllcms/files/patch-yajl new file mode 100644 index 000000000000..d9eba3f4464f --- /dev/null +++ b/graphics/argyllcms/files/patch-yajl @@ -0,0 +1,160 @@ +Build against the stock yajl instead of the bundled copy. + + -mi +--- ccast/ccast.c 2026-02-09 17:25:54.000000000 -0500 ++++ ccast/ccast.c 2026-04-25 23:11:46.141616000 -0400 +@@ -30,8 +30,12 @@ + #include "conv.h" + #include "base64.h" +-#include "yajl.h" ++#include + #include "ccpacket.h" + #include "ccmes.h" + #include "ccast.h" ++ ++#define yajl_tree_get_first(parent, key, type) \ ++ yajl_tree_get((parent), (const char *[]){ (key), NULL }, (type)) ++#define YAJL_GET_STRINGDUP(v) (YAJL_IS_STRING(v) ? strdup((v)->u.string) : NULL) + + #undef DEBUG /* [und] */ +--- ccast/ccmes.c 2026-02-09 17:25:54.000000000 -0500 ++++ ccast/ccmes.c 2026-04-25 23:08:23.822112000 -0400 +@@ -37,5 +37,5 @@ + #endif + +-#include "yajl.h" ++#include + #include "conv.h" + #include "ccpacket.h" +@@ -45,4 +45,8 @@ + #undef LOWVERBTRACE /* [und] Low verboseness message trace */ + #undef DEBUG /* [und] Full message trace + debug */ ++ ++ ++#define yajl_tree_get_first(parent, key, type) \ ++ yajl_tree_get((parent), (const char *[]){ (key), NULL }, (type)) *** 204 LINES SKIPPED ***