ports/69988: [PATCH] ghostscript-gnu fails to build with current after gcc 3.4 import
Johan Karlsson
k at numeri.campus.luth.se
Wed Aug 4 08:10:27 UTC 2004
>Number: 69988
>Category: ports
>Synopsis: [PATCH] ghostscript-gnu fails to build with current after gcc 3.4 import
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Wed Aug 04 08:10:24 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Johan Karlsson
>Release: FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD numeri.campus.luth.se 5.2-CURRENT FreeBSD 5.2-CURRENT #4: Tue Aug 3 16:40:54 CEST 2004 k at numeri.campus.luth.se:/home/builds/home/k/FreeBSD-src/current/src/sys/NUMERI-WITNESS i386
>Description:
The port print/ghostscript-gnu fails to build after the import
of gcc 3.4.
>How-To-Repeat:
Try to build on a recent -currnt.
>Fix:
I had to modify two of the patches and add a third.
In the attached shar archive you can find the three
new patches.
Note that I did not test build this on older releases
but I see no reason why this should not work.
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# files/patch-eplaser:gdevescv.c
# files/patch-eplaser:gdevesmv.c
# files/patch-src:gdevhl12.c
#
echo x - files/patch-eplaser:gdevescv.c
sed 's/^X//' >files/patch-eplaser:gdevescv.c << 'END-of-files/patch-eplaser:gdevescv.c'
X--- eplaser/gdevescv.c.orig Mon May 17 07:25:19 2004
X+++ eplaser/gdevescv.c Wed Aug 4 09:33:09 2004
X@@ -37,10 +37,6 @@
X
X */
X
X-#include <stdlib.h>
X-#include <unistd.h>
X-#include <string.h>
X-
X #include "math_.h"
X #include "gx.h"
X #include "gserrors.h"
X@@ -62,6 +58,10 @@
X #include "gspath.h"
X #include "gzpath.h"
X
X+#include <stdlib.h>
X+#include <unistd.h>
X+#include <string.h>
X+
X /* ---------------- Device definition ---------------- */
X
X /* Device procedures */
X@@ -342,6 +342,16 @@
X };
X
X /* Vector device implementation */
X+#if GS_VERSION_MAJOR >= 8
X+private int escv_beginpage(gx_device_vector * vdev);
X+private int escv_setfillcolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
X+private int escv_setstrokecolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
X+private int escv_setdash(gx_device_vector * vdev, const float *pattern,
X+ uint count, floatp offset);
X+private int escv_setflat(gx_device_vector * vdev, floatp flatness);
X+private int escv_setlogop(gx_device_vector * vdev, gs_logical_operation_t lop,
X+ gs_logical_operation_t diff);
X+#else
X private int escv_beginpage(P1(gx_device_vector * vdev));
X private int escv_setfillcolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
X private int escv_setstrokecolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
X@@ -350,10 +360,25 @@
X private int escv_setflat(P2(gx_device_vector * vdev, floatp flatness));
X private int escv_setlogop(P3(gx_device_vector * vdev, gs_logical_operation_t lop,
X gs_logical_operation_t diff));
X+#endif
X private int escv_vector_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed x1,
X fixed y1, gx_path_type_t type);
X private int escv_vector_dopath(gx_device_vector * vdev, const gx_path * ppath,
X gx_path_type_t type);
X+#if GS_VERSION_MAJOR >= 8
X+private int escv_beginpath(gx_device_vector * vdev, gx_path_type_t type);
X+private int escv_moveto(gx_device_vector * vdev, floatp x0, floatp y0,
X+ floatp x, floatp y, gx_path_type_t type);
X+private int escv_lineto(gx_device_vector * vdev, floatp x0, floatp y0,
X+ floatp x, floatp y, gx_path_type_t type);
X+private int escv_curveto(gx_device_vector * vdev, floatp x0, floatp y0,
X+ floatp x1, floatp y1, floatp x2, floatp y2,
X+ floatp x3, floatp y3, gx_path_type_t type);
X+private int escv_closepath(gx_device_vector * vdev, floatp x, floatp y,
X+ floatp x_start, floatp y_start, gx_path_type_t type);
X+
X+private int escv_endpath(gx_device_vector * vdev, gx_path_type_t type);
X+#else
X private int escv_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
X private int escv_moveto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
X floatp x, floatp y, gx_path_type_t type));
X@@ -366,6 +391,7 @@
X floatp x_start, floatp y_start, gx_path_type_t type));
X
X private int escv_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
X+#endif
X private int escv_setlinewidth(gx_device_vector * vdev, floatp width);
X private int escv_setlinecap(gx_device_vector * vdev, gs_line_cap cap);
X private int escv_setlinejoin(gx_device_vector * vdev, gs_line_join join);
X@@ -1671,7 +1697,7 @@
X gs_logical_operation_t lop, const gx_clip_path * pcpath)
X {
X gx_device_vector const *vdev = (gx_device_vector *) dev;
X- gx_device_escv const *pdev = (gx_device_escv *) dev;
X+ gx_device_escv *pdev = (gx_device_escv *) dev;
X stream *s = gdev_vector_stream(vdev);
X
X if (w <= 0 || h <= 0) return 0;
END-of-files/patch-eplaser:gdevescv.c
echo x - files/patch-eplaser:gdevesmv.c
sed 's/^X//' >files/patch-eplaser:gdevesmv.c << 'END-of-files/patch-eplaser:gdevesmv.c'
X--- eplaser/gdevesmv.c.orig Mon May 17 07:25:19 2004
X+++ eplaser/gdevesmv.c Wed Aug 4 09:33:09 2004
X@@ -34,10 +34,6 @@
X
X */
X
X-#include <stdlib.h>
X-#include <unistd.h>
X-#include <string.h>
X-
X #include "math_.h"
X #include "gx.h"
X #include "gserrors.h"
X@@ -59,6 +55,10 @@
X #include "gspath.h"
X #include "gzpath.h"
X
X+#include <stdlib.h>
X+#include <unistd.h>
X+#include <string.h>
X+
X /* ---------------- Device definition ---------------- */
X
X /* Device procedures */
X@@ -428,6 +428,16 @@
X
X
X /* Vector device implementation */
X+#if GS_VERSION_MAJOR >= 8
X+private int esmv_beginpage(gx_device_vector * vdev);
X+private int esmv_setfillcolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
X+private int esmv_setstrokecolor(gx_device_vector * vdev, const gx_drawing_color * pdc);
X+private int esmv_setdash(gx_device_vector * vdev, const float *pattern,
X+ uint count, floatp offset);
X+private int esmv_setflat(gx_device_vector * vdev, floatp flatness);
X+private int esmv_setlogop(gx_device_vector * vdev, gs_logical_operation_t lop,
X+ gs_logical_operation_t diff);
X+#else
X private int esmv_beginpage(P1(gx_device_vector * vdev));
X private int esmv_setfillcolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
X private int esmv_setstrokecolor(P2(gx_device_vector * vdev, const gx_drawing_color * pdc));
X@@ -436,10 +446,25 @@
X private int esmv_setflat(P2(gx_device_vector * vdev, floatp flatness));
X private int esmv_setlogop(P3(gx_device_vector * vdev, gs_logical_operation_t lop,
X gs_logical_operation_t diff));
X+#endif
X private int esmv_vector_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed x1,
X fixed y1, gx_path_type_t type);
X private int esmv_vector_dopath(gx_device_vector * vdev, const gx_path * ppath,
X gx_path_type_t type);
X+#if GS_VERSION_MAJOR >= 8
X+private int esmv_beginpath(gx_device_vector * vdev, gx_path_type_t type);
X+private int esmv_moveto(gx_device_vector * vdev, floatp x0, floatp y0,
X+ floatp x, floatp y, gx_path_type_t type);
X+private int esmv_lineto(gx_device_vector * vdev, floatp x0, floatp y0,
X+ floatp x, floatp y, gx_path_type_t type);
X+private int esmv_curveto(gx_device_vector * vdev, floatp x0, floatp y0,
X+ floatp x1, floatp y1, floatp x2, floatp y2,
X+ floatp x3, floatp y3, gx_path_type_t type);
X+private int esmv_closepath(gx_device_vector * vdev, floatp x, floatp y,
X+ floatp x_start, floatp y_start, gx_path_type_t type);
X+
X+private int esmv_endpath(gx_device_vector * vdev, gx_path_type_t type);
X+#else
X private int esmv_beginpath(P2(gx_device_vector * vdev, gx_path_type_t type));
X private int esmv_moveto(P6(gx_device_vector * vdev, floatp x0, floatp y0,
X floatp x, floatp y, gx_path_type_t type));
X@@ -452,6 +477,7 @@
X floatp x_start, floatp y_start, gx_path_type_t type));
X
X private int esmv_endpath(P2(gx_device_vector * vdev, gx_path_type_t type));
X+#endif
X private int esmv_setlinewidth(gx_device_vector * vdev, floatp width);
X private int esmv_setlinecap(gx_device_vector * vdev, gs_line_cap cap);
X private int esmv_setlinejoin(gx_device_vector * vdev, gs_line_join join);
X@@ -1771,7 +1797,7 @@
X gs_logical_operation_t lop, const gx_clip_path * pcpath)
X {
X gx_device_vector const *vdev = (gx_device_vector *) dev;
X- gx_device_esmv const *pdev = (gx_device_esmv *) dev;
X+ gx_device_esmv *pdev = (gx_device_esmv *) dev;
X stream *s = gdev_vector_stream(vdev);
X gx_color_index color = gx_dc_pure_color(pdcolor);
X char obuf[64];
END-of-files/patch-eplaser:gdevesmv.c
echo x - files/patch-src:gdevhl12.c
sed 's/^X//' >files/patch-src:gdevhl12.c << 'END-of-files/patch-src:gdevhl12.c'
X--- src/gdevhl12.c.orig Tue Aug 3 20:29:56 2004
X+++ src/gdevhl12.c Tue Aug 3 20:30:38 2004
X@@ -641,6 +641,7 @@
X tray_pcl = "\033&l2H";
X break;
X default:
X+ break;
X }
X if (pdev->PageCount == 0) {
X /* initialize printer */
END-of-files/patch-src:gdevhl12.c
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list