6 Commits

Author SHA256 Message Date
771b54c9a1 Accepting request 1284714 from Publishing
- Add patch gnuplot-6.0.3-backward_compat.patch 

- Update to gnuplot 6.0.3
  * NEW backport "contourfill {at base} {fs {no}border}"
  * NEW backport "save changes <filename>"
        This variant saves only the differences between the current
        state and the state at the start of the session.
  * NEW backport "plot <data> ... 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

OBS-URL: https://build.opensuse.org/request/show/1284714
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnuplot?expand=0&rev=100
2025-06-11 16:34:29 +00:00
d6a210c2d7 .
OBS-URL: https://build.opensuse.org/package/show/Publishing/gnuplot?expand=0&rev=179
2025-06-11 08:05:15 +00:00
c84631ec1a .
OBS-URL: https://build.opensuse.org/package/show/Publishing/gnuplot?expand=0&rev=178
2025-06-11 08:02:41 +00:00
89f5bba3ad Update to gnuplot 6.0.3
OBS-URL: https://build.opensuse.org/package/show/Publishing/gnuplot?expand=0&rev=177
2025-06-11 06:58:52 +00:00
7f03dfce79 Accepting request 1281784 from Publishing
OBS-URL: https://build.opensuse.org/request/show/1281784
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnuplot?expand=0&rev=99
2025-06-04 18:27:26 +00:00
c8bffd9d8e - 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

OBS-URL: https://build.opensuse.org/package/show/Publishing/gnuplot?expand=0&rev=175
2025-06-02 08:07:12 +00:00
16 changed files with 156 additions and 391 deletions

BIN
Gnuplot6.pdf (Stored with Git LFS)

Binary file not shown.

7
_constraints Normal file
View File

@@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">4</size>
</disk>
</hardware>
</constraints>

View File

@@ -1,75 +0,0 @@
commit b456a3ef618f55a20b3071d336cb20514274f1d4
Author: Ethan A Merritt <merritt@u.washington.edu>
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);
}

View File

@@ -1,30 +0,0 @@
commit 226809aebb345e74d371bb43a2b434b490be527a
Author: Ethan A Merritt <merritt@u.washington.edu>
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

View File

@@ -1,84 +0,0 @@
commit b78cc829a18e9436daaa859c96f3970157f3171e
Author: Ethan A Merritt <merritt@u.washington.edu>
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);

View File

@@ -1,107 +0,0 @@
commit ed647df512786b3c94429dd5c864715301e03ea5
Author: Ethan A Merritt <merritt@u.washington.edu>
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 <merritt@u.washington.edu>
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);

View File

@@ -1,33 +0,0 @@
commit b2343fd02c4fff94957f0151b73daa0a1f7fec49
Author: Ethan A Merritt <merritt@u.washington.edu>
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);

View File

@@ -1,34 +0,0 @@
commit af96c2c1b20383684b1ec2084dab7936f7053031
Author: Ethan A Merritt <merritt@u.washington.edu>
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();
}

View File

@@ -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" */
);

View File

@@ -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

BIN
gnuplot-6.0.2.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -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)

3
gnuplot-6.0.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec52e3af8c4083d4538152b3f13db47f6d29929a3f6ecec5365c834e77f251ab
size 7616904

View File

@@ -1,3 +1,56 @@
-------------------------------------------------------------------
Wed Jun 11 08:02:18 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add patch gnuplot-6.0.3-backward_compat.patch
-------------------------------------------------------------------
Wed Jun 11 06:45:38 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Update to gnuplot 6.0.3
* NEW backport "contourfill {at base} {fs {no}border}"
* NEW backport "save changes <filename>"
This variant saves only the differences between the current
state and the state at the start of the session.
* NEW backport "plot <data> ... 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 <alarrosa@suse.com>
- 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 <werner@suse.de>

View File

@@ -1,3 +1,56 @@
-------------------------------------------------------------------
Wed Jun 11 08:02:18 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add patch gnuplot-6.0.3-backward_compat.patch
-------------------------------------------------------------------
Wed Jun 11 06:45:38 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Update to gnuplot 6.0.3
* NEW backport "contourfill {at base} {fs {no}border}"
* NEW backport "save changes <filename>"
This variant saves only the differences between the current
state and the state at the start of the session.
* NEW backport "plot <data> ... 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 <alarrosa@suse.com>
- 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 <werner@suse.de>

View File

@@ -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"