diff --git a/Gnuplot6.pdf b/Gnuplot6.pdf index d3bfb74..06fe66a 100644 --- a/Gnuplot6.pdf +++ b/Gnuplot6.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:547b8990f12ef68ccb2bdceaa42357b2924dae53d42d19e8ea62dab058696a7e -size 4041349 +oid sha256:a3f929870bbeebb4eb83fae7976947b0cb4d99faee12686813d2e4d16b2fcfe9 +size 4022910 diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..ba02297 --- /dev/null +++ b/_constraints @@ -0,0 +1,7 @@ + + + + 4 + + + diff --git a/fix4bug1240325.patch b/fix4bug1240325.patch deleted file mode 100644 index 19ca63c..0000000 --- a/fix4bug1240325.patch +++ /dev/null @@ -1,75 +0,0 @@ -commit b456a3ef618f55a20b3071d336cb20514274f1d4 -Author: Ethan A Merritt -Date: Tue Mar 11 12:31:54 2025 -0700 - - guard against invalid read from plot->labels - - If a plot style uses points and the point chosen has PT_CHARACTER - then the program looks for a possible font in plot->labels->font. - These plot styles contain a flag bit HAS_POINT (gp_types.h). - The program makes sure to initialize plot->labels for these styles. - However a problem arises when a plot style that doesn't use points - nevertheless triggers this same attempted font lookup by using a - linetype that happens to use pointtype PT_CHARACTER. - I think this is only possible with 'splot' but I added parallel - checks for 'plot' as well. - - Bug 2776 - -diff --git src/boundary.c src/boundary.c -index e787de3f1..941635f7a 100644 ---- src/boundary.c -+++ src/boundary.c -@@ -1468,7 +1468,7 @@ do_key_sample_point( - (*t->pointsize)(pointsize); - if (on_page(xl + key_point_offset, yl)) { - if (this_plot->lp_properties.p_type == PT_CHARACTER) { -- if (this_plot->labels->textcolor.type != TC_DEFAULT) -+ if (this_plot->labels && this_plot->labels->textcolor.type != TC_DEFAULT) - apply_pm3dcolor(&(this_plot->labels->textcolor)); - (*t->put_text) (xl + key_point_offset, yl, - this_plot->lp_properties.p_char); -diff --git src/graph3d.c src/graph3d.c -index bda614b7a..74ae8d558 100644 ---- src/graph3d.c -+++ src/graph3d.c -@@ -2164,7 +2164,7 @@ plot3d_points(struct surface_points *plot) - /* Set whatever we can that applies to every point in the loop */ - if (plot->lp_properties.p_type == PT_CHARACTER) { - ignore_enhanced(TRUE); -- if (plot->labels->font && plot->labels->font[0]) -+ if (plot->labels && plot->labels->font && plot->labels->font[0]) - (*t->set_font) (plot->labels->font); - (*t->justify_text) (CENTRE); - } -@@ -2260,7 +2260,7 @@ plot3d_points(struct surface_points *plot) - - /* Return to initial state */ - if (plot->lp_properties.p_type == PT_CHARACTER) { -- if (plot->labels->font && plot->labels->font[0]) -+ if (plot->labels && plot->labels->font && plot->labels->font[0]) - (*t->set_font) (""); - ignore_enhanced(FALSE); - } -diff --git src/graphics.c src/graphics.c -index 083cb61f4..f68ef7096 100644 ---- src/graphics.c -+++ src/graphics.c -@@ -2649,7 +2649,7 @@ plot_points(struct curve_points *plot) - /* Set whatever we can that applies to every point in the loop */ - if (plot->lp_properties.p_type == PT_CHARACTER) { - ignore_enhanced(TRUE); -- if (plot->labels->font && plot->labels->font[0]) -+ if (plot->labels && plot->labels->font && plot->labels->font[0]) - (*t->set_font) (plot->labels->font); - (*t->justify_text) (CENTRE); - } -@@ -2781,7 +2781,7 @@ plot_points(struct curve_points *plot) - - /* Return to initial state */ - if (plot->lp_properties.p_type == PT_CHARACTER) { -- if (plot->labels->font && plot->labels->font[0]) -+ if (plot->labels && plot->labels->font && plot->labels->font[0]) - (*t->set_font) (""); - ignore_enhanced(FALSE); - } diff --git a/fix4bug1240326.patch b/fix4bug1240326.patch deleted file mode 100644 index a1dff47..0000000 --- a/fix4bug1240326.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit 226809aebb345e74d371bb43a2b434b490be527a -Author: Ethan A Merritt -Date: Wed Jan 15 11:56:13 2025 -0800 - - dumb: more stringent tests against y bound of dumb terminal charcell array - - Bug 2756 - -diff --git term/dumb.trm term/dumb.trm -index 498e27fc6..fdc94fbf5 100644 ---- term/dumb.trm -+++ term/dumb.trm -@@ -801,7 +801,7 @@ DUMB_put_text(unsigned int x, unsigned int y, const char *str) - { - int i, length; - -- if (y > dumb_ymax) -+ if (y < 0 || y > dumb_ymax) - return; - - length = gp_strlen(str); -@@ -949,7 +949,7 @@ ENHdumb_FLUSH() - y += i; - - /* print the string fragment, perhaps invisibly */ -- if (ENHdumb_show && y < dumb_ymax) { -+ if (ENHdumb_show && (0 <= y && y < dumb_ymax)) { - for (i = 0; i < len && x < dumb_xmax; i++, x++) { - utf8_copy_one( (char *)(&DUMB_PIXEL(x, y)), gp_strchrn(str,i)); - #ifndef NO_DUMB_COLOR_SUPPORT diff --git a/fix4bug1240327.patch b/fix4bug1240327.patch deleted file mode 100644 index 5f44224..0000000 --- a/fix4bug1240327.patch +++ /dev/null @@ -1,84 +0,0 @@ -commit b78cc829a18e9436daaa859c96f3970157f3171e -Author: Ethan A Merritt -Date: Tue Jan 14 21:23:19 2025 -0800 - - use snprintf to protect against garbage user-supplied mouse format - - Bug 2754 - -diff --git src/mouse.c src/mouse.c -index 4d1362130..95266738b 100644 ---- src/mouse.c -+++ src/mouse.c -@@ -270,7 +270,7 @@ static void alert(void); - static void MousePosToGraphPosReal(int xx, int yy, double *x, double *y, double *x2, double *y2); - static char *xy_format(void); - static char *zoombox_format(void); --static char *GetAnnotateString(char *s, double x, double y, int mode, char *fmt); -+static char *GetAnnotateString(char *s, size_t len, double x, double y, int mode, char *fmt); - static char *xDateTimeFormat(double x, char *b, int mode); - static void GetRulerString(char *p, double x, double y); - static void apply_zoom(struct t_zoom * z); -@@ -524,7 +524,7 @@ zoombox_format() - /* formats the information for an annotation (middle mouse button clicked) - */ - static char * --GetAnnotateString(char *s, double x, double y, int mode, char *fmt) -+GetAnnotateString(char *s, size_t len, double x, double y, int mode, char *fmt) - { - if (axis_array[FIRST_X_AXIS].datatype == DT_DMS - || axis_array[FIRST_Y_AXIS].datatype == DT_DMS) { -@@ -579,11 +579,11 @@ GetAnnotateString(char *s, double x, double y, int mode, char *fmt) - r = rmin + x/cos(phi); - - if (fmt) -- sprintf(s, fmt, theta, r); -+ snprintf(s, len, fmt, theta, r); - else - sprintf(s, "theta: %.1f%s r: %g", theta, degree_sign, r); - } else if ((mode == MOUSE_COORDINATES_ALT) && fmt) { -- sprintf(s, fmt, x, y); /* user defined format */ -+ snprintf(s, len, fmt, x, y); /* user defined format */ - } else if (mode == MOUSE_COORDINATES_FUNCTION) { - /* EXPERIMENTAL !!! */ - t_value original_x, original_y; -@@ -606,7 +606,7 @@ GetAnnotateString(char *s, double x, double y, int mode, char *fmt) - gpfree_string(&readout); - } else { - /* Default format ("set mouse mouseformat" is not active) */ -- sprintf(s, xy_format(), x, y); /* usual x,y values */ -+ snprintf(s, len, xy_format(), x, y); /* usual x,y values */ - } - return s + strlen(s); - } -@@ -1020,10 +1020,10 @@ UpdateStatuslineWithMouseSetting(mouse_setting_t * ms) - strcat(format, ms->fmt); - strcat(format, ", "); - strcat(format, ms->fmt); -- sprintf(s0, format, surface_rot_x, surface_rot_z, surface_scale, surface_zscale); -+ snprintf(s0, 255, format, surface_rot_x, surface_rot_z, surface_scale, surface_zscale); - } else if (!TICS_ON(axis_array[SECOND_X_AXIS].ticmode) && !TICS_ON(axis_array[SECOND_Y_AXIS].ticmode)) { - /* only first X and Y axis are in use */ -- sp = GetAnnotateString(s0, real_x, real_y, mouse_mode, mouse_alt_string); -+ sp = GetAnnotateString(s0, 255, real_x, real_y, mouse_mode, mouse_alt_string); - if (ruler.on) - GetRulerString(sp, real_x, real_y); - } else { -@@ -2286,7 +2286,7 @@ event_buttonrelease(struct gp_event_t *ge) - * only place, if the user didn't drag (rotate) the plot */ - - if (!is_3d_plot || !motion) { -- GetAnnotateString(s0, real_x, real_y, mouse_mode, mouse_alt_string); -+ GetAnnotateString(s0, 255, real_x, real_y, mouse_mode, mouse_alt_string); - term->set_clipboard(s0); - if (display_ipc_commands()) { - fprintf(stderr, "put `%s' to clipboard.\n", s0); -@@ -2302,7 +2302,7 @@ event_buttonrelease(struct gp_event_t *ge) - /* draw temporary annotation or label. For 3d plots this is - * only done if the user didn't drag (scale) the plot */ - if (!is_3d_plot || !motion) { -- GetAnnotateString(s0, real_x, real_y, mouse_mode, mouse_alt_string); -+ GetAnnotateString(s0, 255, real_x, real_y, mouse_mode, mouse_alt_string); - if (mouse_setting.label) { - if (modifier_mask & Mod_Ctrl) { - remove_label(mouse_x, mouse_y); diff --git a/fix4bug1240328.patch b/fix4bug1240328.patch deleted file mode 100644 index a3bd9b0..0000000 --- a/fix4bug1240328.patch +++ /dev/null @@ -1,107 +0,0 @@ -commit ed647df512786b3c94429dd5c864715301e03ea5 -Author: Ethan A Merritt -Date: Tue Mar 11 16:31:23 2025 -0700 - - guard against trying to format a huge number as a time - - The time formatting code does not handle time_in_seconds > 1.e12 - (sometime in the year 33658). - - Bug 2779 - -diff --git src/mouse.c src/mouse.c -index ba0609290..a6110f5ff 100644 ---- src/mouse.c -+++ src/mouse.c -@@ -619,6 +619,11 @@ static char * - xDateTimeFormat(double x, char *b, int mode) - { - struct tm tm; -+ if (fabs(x) > 1.e12) { /* Some time in the year 33688 */ -+ int_warn(NO_CARET, "time value out of range"); -+ *b = '\0'; -+ return b; -+ } - - switch (mode) { - case MOUSE_COORDINATES_XDATE: -commit 3270021820ff6ac7a6d77b77fe69777129937994 -Author: Ethan A Merritt -Date: Wed Mar 12 19:56:13 2025 -0700 - - check valid range on time value before trying to format it - - Absurdly large time values (number of seconds) cause failures in the - routines that populate a time structure and format the result. - The program does complain about an invalid time value but only - after the failures have already occurred. - E.g. - print strftime("%Y", 1.e14) - - Now a check for fabs(time) > 1.e12 is the first thing in f_strftime(). - - Bug 2779 - -diff --git src/internal.c src/internal.c -index 53be8d409..2d8812e49 100644 ---- src/internal.c -+++ src/internal.c -@@ -1905,30 +1905,37 @@ f_strftime(union argument *arg) - int_error(NO_CARET, - "First parameter to strftime must be a format string"); - -- /* Prepare format string. -- * Make sure the resulting string not empty by adding a space. -- * Otherwise, the return value of gstrftime doesn't give enough -- * information. -- */ -- fmtlen = strlen(fmt.v.string_val) + 1; -- fmtstr = gp_alloc(fmtlen + 1, "f_strftime: fmt"); -- strncpy(fmtstr, fmt.v.string_val, fmtlen); -- strncat(fmtstr, " ", fmtlen); -- buflen = 80 + 2*fmtlen; -- buffer = gp_alloc(buflen, "f_strftime: buffer"); -- -- /* Get time_str */ -- length = gstrftime(buffer, buflen, fmtstr, real(&val)); -- if (length == 0 || length >= buflen) -- int_error(NO_CARET, "String produced by time format is too long"); -- -- /* Remove trailing space */ -- assert(buffer[length-1] == ' '); -- buffer[length-1] = NUL; -+ /* Range check */ -+ if (!(fabs(real(&val)) < 1.e12)) { -+ int_warn(NO_CARET, "time value out of range"); -+ buffer = strdup(" "); -+ -+ } else { -+ /* Prepare format string. -+ * Make sure the resulting string not empty by adding a space. -+ * Otherwise, the return value of gstrftime doesn't give enough -+ * information. -+ */ -+ fmtlen = strlen(fmt.v.string_val) + 1; -+ fmtstr = gp_alloc(fmtlen + 1, "f_strftime: fmt"); -+ strncpy(fmtstr, fmt.v.string_val, fmtlen); -+ strncat(fmtstr, " ", fmtlen); -+ buflen = 80 + 2*fmtlen; -+ buffer = gp_alloc(buflen, "f_strftime: buffer"); -+ -+ /* Get time_str */ -+ length = gstrftime(buffer, buflen, fmtstr, real(&val)); -+ if (length == 0 || length >= buflen) -+ int_error(NO_CARET, "String produced by time format is too long"); -+ -+ /* Remove trailing space */ -+ assert(buffer[length-1] == ' '); -+ buffer[length-1] = NUL; -+ free(fmtstr); -+ } - - gpfree_string(&val); - gpfree_string(&fmt); -- free(fmtstr); - - push(Gstring(&val, buffer)); - free(buffer); diff --git a/fix4bug1240329.patch b/fix4bug1240329.patch deleted file mode 100644 index 6c75565..0000000 --- a/fix4bug1240329.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit b2343fd02c4fff94957f0151b73daa0a1f7fec49 -Author: Ethan A Merritt -Date: Tue Jan 14 21:54:14 2025 -0800 - - canvas: handle nonlinear x2 or y2 axis with an incomplete definition - - Actually "handle" means "ignore". - But now it doesn't segfault trying to probe a non-existant link function. - - Bug 2755 - -diff --git term/canvas.trm term/canvas.trm -index a919b09bd..bfe567832 100644 ---- term/canvas.trm -+++ term/canvas.trm -@@ -646,7 +646,7 @@ CANVAS_text() - } else - fprintf(gpoutfile, "gnuplot.plot_axis_x2min = \"none\"\n"); - if (axis_array[SECOND_X_AXIS].linked_to_primary -- && axis_array[FIRST_X_AXIS].link_udf->at) { -+ && axis_array[FIRST_X_AXIS].link_udf && axis_array[FIRST_X_AXIS].link_udf->at) { - fprintf(gpoutfile, "gnuplot.x2_mapping = function(x) { return x; };"); - fprintf(gpoutfile, " // replace returned value with %s\n", - axis_array[FIRST_X_AXIS].link_udf->definition); -@@ -657,7 +657,7 @@ CANVAS_text() - } else - fprintf(gpoutfile, "gnuplot.plot_axis_y2min = \"none\"\n"); - if (axis_array[SECOND_Y_AXIS].linked_to_primary -- && axis_array[FIRST_Y_AXIS].link_udf->at) { -+ && axis_array[FIRST_Y_AXIS].link_udf && axis_array[FIRST_Y_AXIS].link_udf->at) { - fprintf(gpoutfile, "gnuplot.y2_mapping = function(y) { return y; };"); - fprintf(gpoutfile, " // replace returned value with %s\n", - axis_array[FIRST_Y_AXIS].link_udf->definition); diff --git a/fix4bug1240330.patch b/fix4bug1240330.patch deleted file mode 100644 index bd87bd0..0000000 --- a/fix4bug1240330.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit af96c2c1b20383684b1ec2084dab7936f7053031 -Author: Ethan A Merritt -Date: Tue Jan 14 20:56:37 2025 -0800 - - x11: protect against double fclose() if two errors in a row - - Bug 2753 - -diff --git term/x11.trm term/x11.trm -index 18ad4ad85..cbe01dd0e 100644 ---- term/x11.trm -+++ term/x11.trm -@@ -854,8 +854,9 @@ X11_atexit() - /* dont wait(), since they might be -persist */ - X11_ipc = NULL; - #ifdef PIPE_IPC -- close(ipc_back_fd); -- ipc_back_fd = -1; -+ if (ipc_back_fd >= 0) -+ close(ipc_back_fd); -+ ipc_back_fd = IPC_BACK_CLOSED; - #endif - } - } -@@ -1374,7 +1375,8 @@ X11_graphics() - #ifdef PIPE_IPC - /* if we know the outboard driver has stopped, restart it */ - if (ipc_back_fd == IPC_BACK_CLOSED) { -- fclose(X11_ipc); -+ if (X11_ipc > 0) -+ fclose(X11_ipc); - X11_ipc = NULL; - X11_init(); - } diff --git a/gnuplot-4.6.0-demo.diff b/gnuplot-4.6.0-demo.diff index 0bc0303..4edb02f 100644 --- a/gnuplot-4.6.0-demo.diff +++ b/gnuplot-4.6.0-demo.diff @@ -115,7 +115,7 @@ envptr = loadpath; --- src/show.c +++ src/show.c 2020-07-17 07:25:00.022670914 +0000 -@@ -1139,6 +1139,15 @@ show_version(FILE *fp) +@@ -1138,6 +1138,15 @@ show_version(FILE *fp) p /* type "help seeking-assistance" */ ); diff --git a/gnuplot-4.6.0.dif b/gnuplot-4.6.0.dif index d6289c8..fe1e9e2 100644 --- a/gnuplot-4.6.0.dif +++ b/gnuplot-4.6.0.dif @@ -93,7 +93,7 @@ --- gnuplot-6.0.0/src/plot.c +++ gnuplot-6.0.0/src/plot.c 2024-01-08 09:16:58.124450437 +0000 -@@ -298,6 +298,22 @@ main(int argc_orig, char **argv) +@@ -299,6 +299,22 @@ main(int argc_orig, char **argv) rl_getc_function = getc_wrapper; #endif diff --git a/gnuplot-6.0.2.tar.gz b/gnuplot-6.0.2.tar.gz deleted file mode 100644 index 8fecdb9..0000000 --- a/gnuplot-6.0.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f68a3b0bbb7bbbb437649674106d94522c00bf2f285cce0c19c3180b1ee7e738 -size 7637308 diff --git a/gnuplot-6.0.3-backward_compat.patch b/gnuplot-6.0.3-backward_compat.patch new file mode 100644 index 0000000..ee520f3 --- /dev/null +++ b/gnuplot-6.0.3-backward_compat.patch @@ -0,0 +1,15 @@ +--- + src/command.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- src/command.c ++++ src/command.c 2025-06-11 08:00:24.047462255 +0000 +@@ -2638,7 +2638,7 @@ reread_command() + #ifdef BACKWARD_COMPATIBILITY + FILE *fp; + c_token++; +- if (evaluate_inside_functionblock || multiplot || multiplot_playback) ++ if (evaluate_inside_functionblock || in_multiplot || multiplot_playback) + int_error(NO_CARET, "reread command not possible here"); + fp = lf_top(); + if (fp != (FILE *) NULL) diff --git a/gnuplot-6.0.3.tar.gz b/gnuplot-6.0.3.tar.gz new file mode 100644 index 0000000..50b29c9 --- /dev/null +++ b/gnuplot-6.0.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec52e3af8c4083d4538152b3f13db47f6d29929a3f6ecec5365c834e77f251ab +size 7616904 diff --git a/gnuplot-doc.changes b/gnuplot-doc.changes index 79f423b..f45dbab 100644 --- a/gnuplot-doc.changes +++ b/gnuplot-doc.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Wed Jun 11 08:02:18 UTC 2025 - Dr. Werner Fink + +- Add patch gnuplot-6.0.3-backward_compat.patch + +------------------------------------------------------------------- +Wed Jun 11 06:45:38 UTC 2025 - Dr. Werner Fink + +- Update to gnuplot 6.0.3 + * NEW backport "contourfill {at base} {fs {no}border}" + * NEW backport "save changes " + This variant saves only the differences between the current + state and the state at the start of the session. + * NEW backport "plot ... if (filter_condition)" + Input lines that satisfy the if condition are processed as usual. + Lines that fail are essentially ignored. + * NEW backport watchpoint label improvements from 6.1 + Each watch target can have its own label, generated by a user function + * CHANGE 3D polygon objects can have per-object fill border properties. + The restriction that all 3D polygons share a single set of + properties from "set pm3d" remains true for "splot with polygons". + * CHANGE multiplot mousing and replot improvements back-ported from version 6.1 + * CHANGE wxt: remove --with-wx-multithreaded configuration option + * CHANGE restrictions on watchpoint function target removed; any function is OK + * CHANGE "with hsteps" takes default width from "set boxwidth" + * CHANGE column(0) returns an integer (not complex) value + * FIX Support for combined hidden3d + pm3d depthorder back-ported from 6.1 + This allows placing contours on a depth-sorted pm3d surface Bug 2762 + * FIX "with yerrorbars" error bar span should not affect OUTRANGE Bug 2749 + * FIX qt: opaque key caused incorrect interactive toggling Bug 2761 + * FIX 6.0.2 regression in "splot ... using 1:2:3:4 lc palette" Bug 2784 + * FIX placement of category labels along x-axis of boxplots Bug 2789 + * FIX qt, cairo: "set colorbox invert" produced empty colorbox + * FIX placement of minor tics along logscale axis with narrow range Bug 2765 + * FIX OK to have missing corners in an image from a sparse matrix Bug 2791 + * FIX error handling for various cases involving function blocks Bug 2797 +- Remove patches now upstream + * fix4bug1240325.patch + * fix4bug1240326.patch + * fix4bug1240327.patch + * fix4bug1240328.patch + * fix4bug1240329.patch + * fix4bug1240330.patch + +------------------------------------------------------------------- +Wed May 28 08:56:43 UTC 2025 - Antonio Larrosa + +- Build with qt6 instead of qt5 +- Add _constraints file to make sure there's enough disk space + for building +- Use gcc-13 when building for Leap since qt6 needs a C++17 + compiler + ------------------------------------------------------------------- Mon May 12 12:14:33 UTC 2025 - Dr. Werner Fink diff --git a/gnuplot.changes b/gnuplot.changes index 79f423b..f45dbab 100644 --- a/gnuplot.changes +++ b/gnuplot.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Wed Jun 11 08:02:18 UTC 2025 - Dr. Werner Fink + +- Add patch gnuplot-6.0.3-backward_compat.patch + +------------------------------------------------------------------- +Wed Jun 11 06:45:38 UTC 2025 - Dr. Werner Fink + +- Update to gnuplot 6.0.3 + * NEW backport "contourfill {at base} {fs {no}border}" + * NEW backport "save changes " + This variant saves only the differences between the current + state and the state at the start of the session. + * NEW backport "plot ... if (filter_condition)" + Input lines that satisfy the if condition are processed as usual. + Lines that fail are essentially ignored. + * NEW backport watchpoint label improvements from 6.1 + Each watch target can have its own label, generated by a user function + * CHANGE 3D polygon objects can have per-object fill border properties. + The restriction that all 3D polygons share a single set of + properties from "set pm3d" remains true for "splot with polygons". + * CHANGE multiplot mousing and replot improvements back-ported from version 6.1 + * CHANGE wxt: remove --with-wx-multithreaded configuration option + * CHANGE restrictions on watchpoint function target removed; any function is OK + * CHANGE "with hsteps" takes default width from "set boxwidth" + * CHANGE column(0) returns an integer (not complex) value + * FIX Support for combined hidden3d + pm3d depthorder back-ported from 6.1 + This allows placing contours on a depth-sorted pm3d surface Bug 2762 + * FIX "with yerrorbars" error bar span should not affect OUTRANGE Bug 2749 + * FIX qt: opaque key caused incorrect interactive toggling Bug 2761 + * FIX 6.0.2 regression in "splot ... using 1:2:3:4 lc palette" Bug 2784 + * FIX placement of category labels along x-axis of boxplots Bug 2789 + * FIX qt, cairo: "set colorbox invert" produced empty colorbox + * FIX placement of minor tics along logscale axis with narrow range Bug 2765 + * FIX OK to have missing corners in an image from a sparse matrix Bug 2791 + * FIX error handling for various cases involving function blocks Bug 2797 +- Remove patches now upstream + * fix4bug1240325.patch + * fix4bug1240326.patch + * fix4bug1240327.patch + * fix4bug1240328.patch + * fix4bug1240329.patch + * fix4bug1240330.patch + +------------------------------------------------------------------- +Wed May 28 08:56:43 UTC 2025 - Antonio Larrosa + +- Build with qt6 instead of qt5 +- Add _constraints file to make sure there's enough disk space + for building +- Use gcc-13 when building for Leap since qt6 needs a C++17 + compiler + ------------------------------------------------------------------- Mon May 12 12:14:33 UTC 2025 - Dr. Werner Fink diff --git a/gnuplot.spec b/gnuplot.spec index 4be0c39..83db8c0 100644 --- a/gnuplot.spec +++ b/gnuplot.spec @@ -33,11 +33,16 @@ BuildRequires: ImageMagick BuildRequires: automake BuildRequires: cairo-devel BuildRequires: fdupes +%if 0%{?suse_version} == 1500 +BuildRequires: gcc13-PIE +BuildRequires: gcc13-c++ +%else BuildRequires: gcc-c++ +%endif BuildRequires: glib2-devel -BuildRequires: libqt5-linguist-devel BuildRequires: lua-devel BuildRequires: netpbm +BuildRequires: qt6-linguist-devel %if 0%{?is_opensuse} BuildRequires: openspecfun-devel %endif @@ -46,11 +51,12 @@ BuildRequires: plotutils-devel BuildRequires: readline-devel BuildRequires: wxGTK3-devel >= 3 BuildRequires: zziplib -BuildRequires: pkgconfig(Qt5Core) -BuildRequires: pkgconfig(Qt5Gui) -BuildRequires: pkgconfig(Qt5Network) -BuildRequires: pkgconfig(Qt5PrintSupport) -BuildRequires: pkgconfig(Qt5Svg) +BuildRequires: pkgconfig(Qt6Core) +BuildRequires: pkgconfig(Qt6Core5Compat) +BuildRequires: pkgconfig(Qt6Gui) +BuildRequires: pkgconfig(Qt6Network) +BuildRequires: pkgconfig(Qt6PrintSupport) +BuildRequires: pkgconfig(Qt6Svg) BuildRequires: pkgconfig(caca) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gdlib) @@ -85,7 +91,7 @@ BuildRequires: tex(textgreek.sty) BuildRequires: tex(upquote.sty) %endif URL: https://www.gnuplot.info/ -Version: 6.0.2 +Version: 6.0.3 Release: 0 %global underscore 6 %if "%{flavor}" == "" @@ -115,12 +121,7 @@ Patch4: gnuplot-4.6.0-demo.diff Patch5: gnuplot-wx3.diff Patch6: gnuplot-QtCore-PIC.dif Patch7: gnuplot-PIE.patch -Patch25: fix4bug1240325.patch -Patch26: fix4bug1240326.patch -Patch27: fix4bug1240327.patch -Patch28: fix4bug1240328.patch -Patch29: fix4bug1240329.patch -Patch30: fix4bug1240330.patch +Patch8: gnuplot-6.0.3-backward_compat.patch Patch84: fix4bug1241684.patch %define _x11lib %{_libdir} %define _x11data %{_datadir}/X11 @@ -157,12 +158,7 @@ cp %{_sourcedir}/picins.sty docs %patch -P5 -p1 -b .w3x %patch -P6 -p0 -b .pic %patch -P7 -p1 -b .pie -%patch -P25 -p0 -b .p25 -%patch -P26 -p0 -b .p26 -%patch -P27 -p0 -b .p27 -%patch -P28 -p0 -b .p28 -%patch -P29 -p0 -b .p29 -%patch -P30 -p0 -b .p30 +%patch -P8 -p0 -b .multiplot %patch -P84 -p0 -b .p84 %build @@ -181,6 +177,10 @@ autoreconf -fi export CFLAGS="$CFLAGS -DDIST_CONTACT='https://bugzilla.suse.com/'" %endif %endif +%if 0%{?suse_version} == 1500 + export CC=gcc-13 + export CXX=g++-13 +%endif %if "%{flavor}" == "" mkdir bin @@ -222,10 +222,10 @@ autoreconf -fi --with-metapost \ --with-regis \ --with-amos=%{_libdir} \ - --with-qt=qt5 + --with-qt=qt6 %if "%{flavor}" == "" - make %{?_smp_mflags} UIC=/usr/bin/uic-qt5 MOC=/usr/bin/moc-qt5 RCC=/usr/bin/rcc-qt5 LRELEASE=/usr/bin/lrelease-qt5 + make %{?_smp_mflags} UIC=%{_qt6_libexecdir}/uic MOC=%{_qt6_libexecdir}/moc RCC=%{_qt6_libexecdir}/rcc LRELEASE=/usr/bin/lrelease6 %endif %if "%{flavor}" == "doc"