diff options
Diffstat (limited to 'source/t/xfig')
-rw-r--r-- | source/t/xfig/slack-desc | 19 | ||||
-rw-r--r-- | source/t/xfig/xfig-3.2.4-mkstemp.diff | 331 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.3d-international-std-fonts.diff | 49 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.3d-xcolor.diff | 10 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.3d-xim.diff | 33 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.4-gcc4.diff | 11 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.4-locale.diff | 117 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.4-null.diff | 64 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.4-quiet.diff | 183 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.4-urw-fonts.diff | 152 | ||||
-rw-r--r-- | source/t/xfig/xfig.3.2.4.diff | 530 | ||||
-rwxr-xr-x | source/t/xfig/xfig.SlackBuild | 98 | ||||
-rw-r--r-- | source/t/xfig/xfig.docs.location.diff | 11 | ||||
-rw-r--r-- | source/t/xfig/xfig.fig.ad.diff | 30 | ||||
-rw-r--r-- | source/t/xfig/xfig.no.pdf.ref.diff | 13 | ||||
-rw-r--r-- | source/t/xfig/xfig.no.xfig_ref_en.pdf.diff | 10 |
16 files changed, 1661 insertions, 0 deletions
diff --git a/source/t/xfig/slack-desc b/source/t/xfig/slack-desc new file mode 100644 index 000000000..85d1fefde --- /dev/null +++ b/source/t/xfig/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +xfig: xfig (interactive drawing tool) +xfig: +xfig: This package contains the binary for xfig, an interactive drawing tool +xfig: under X. Xfig can create fig, epsf, and LaTeX files with various +xfig: options. You also have to install the transfig package (transfig.tgz) +xfig: so that xfig can export fig files as epsf and LaTeX files. This +xfig: package also contains a set of basic examples of fig files. +xfig: +xfig: +xfig: +xfig: diff --git a/source/t/xfig/xfig-3.2.4-mkstemp.diff b/source/t/xfig/xfig-3.2.4-mkstemp.diff new file mode 100644 index 000000000..cf6bf2283 --- /dev/null +++ b/source/t/xfig/xfig-3.2.4-mkstemp.diff @@ -0,0 +1,331 @@ +--- xfig.3.2.4/f_readeps.c ++++ xfig.3.2.4/f_readeps.c 2003-05-06 12:07:54.000000000 +0200 +@@ -258,7 +258,7 @@ + char buf[300]; + FILE *tmpfp, *pixfile, *gsfile; + char *psnam, *driver; +- int status, wid, ht, nbitmap; ++ int status, wid, ht, nbitmap, fd; + char tmpfile[PATH_MAX], + pixnam[PATH_MAX], + errnam[PATH_MAX], +@@ -274,8 +274,12 @@ + /* re-open the pipe */ + close_picfile(file, filetype); + file = open_picfile(file, &filetype, PIPEOK, pixnam); +- sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-eps", getpid()); +- if ((tmpfp = fopen(tmpfile, "wb")) == NULL) { ++ snprintf(tmpfile, sizeof(tmpfile), "%s/xfig-eps.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(tmpfile)) == -1 || (tmpfp = fdopen(fd, "wb")) == NULL) { ++ if (fd != -1) { ++ unlink(tmpfile); ++ close(fd); ++ } + file_msg("Couldn't open tmp file %s, %s", tmpfile, strerror(errno)); + return False; + } +@@ -284,9 +288,21 @@ + fclose(tmpfp); + } + /* make name /TMPDIR/xfig-pic.pix */ +- sprintf(pixnam, "%s/%s%06d.pix", TMPDIR, "xfig-pic", getpid()); ++ snprintf(pixnam, sizeof(pixnam), "%s/xfig-pic.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(pixnam)) == -1) { ++ file_msg("Couldn't open tmp file %s, %s", pixnam, strerror(errno)); ++ return False; ++ } ++ close(fd); ++ + /* and file name for any error messages from gs */ +- sprintf(errnam, "%s/%s%06d.err", TMPDIR, "xfig-pic", getpid()); ++ snprintf(errnam, sizeof(errnam), "%s/xfig-picerr.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(errnam)) == -1) { ++ file_msg("Couldn't open tmp file %s, %s", errnam, strerror(errno)); ++ return False; ++ } ++ close(fd); ++ + /* generate gs command line */ + /* for monochrome, use pbm */ + if (tool_cells <= 2 || appres.monochrome) { +--- xfig.3.2.4/f_readgif.c ++++ xfig.3.2.4/f_readgif.c 2003-05-06 11:56:53.000000000 +0200 +@@ -75,7 +75,7 @@ + char buf[BUFLEN],pcxname[PATH_MAX]; + FILE *giftopcx; + struct Cmap localColorMap[MAX_COLORMAP_SIZE]; +- int i, stat, size; ++ int i, stat, size, fd; + int useGlobalColormap; + unsigned int bitPixel, red, green, blue; + unsigned char c; +@@ -172,7 +172,13 @@ + /* now call giftopnm and ppmtopcx */ + + /* make name for temp output file */ +- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid()); ++ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(pcxname)) == -1) { ++ file_msg("Cannot create temporary file\n"); ++ return FileInvalid; ++ } ++ close(fd); ++ + /* make command to convert gif to pcx into temp file */ + sprintf(buf, "giftopnm | ppmtopcx > %s 2> /dev/null", pcxname); + if ((giftopcx = popen(buf,"w" )) == 0) { +--- xfig.3.2.4/f_readppm.c ++++ xfig.3.2.4/f_readppm.c 2003-05-06 11:56:53.000000000 +0200 +@@ -33,10 +33,16 @@ + { + char buf[BUFLEN],pcxname[PATH_MAX]; + FILE *giftopcx; +- int stat, size; ++ int stat, size, fd; + + /* make name for temp output file */ +- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid()); ++ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(pcxname)) == -1) { ++ file_msg("Cannot open temp file %s: %s\n", pcxname, strerror(errno)); ++ return FileInvalid; ++ } ++ close(fd); ++ + /* make command to convert gif to pcx into temp file */ + sprintf(buf, "ppmtopcx > %s 2> /dev/null", pcxname); + if ((giftopcx = popen(buf,"w" )) == 0) { +--- xfig.3.2.4/f_readtif.c ++++ xfig.3.2.4/f_readtif.c 2003-05-06 11:56:53.000000000 +0200 +@@ -32,11 +32,16 @@ + { + char buf[2*PATH_MAX+40],pcxname[PATH_MAX]; + FILE *tiftopcx; +- int stat; ++ int stat, fd; + + /* make name for temp output file */ +- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid()); +- ++ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(pcxname)) == -1) { ++ file_msg("Cannot open temp file %s: %s\n", pcxname, strerror(errno)); ++ return FileInvalid; ++ } ++ close(fd); ++ + /* make command to convert tif to pnm then to pcx into temp file */ + /* for some reason, tifftopnm requires a file and can't work in a pipe */ + sprintf(buf, "tifftopnm %s 2> /dev/null | ppmtopcx > %s 2> /dev/null", +--- xfig.3.2.4/f_util.c ++++ xfig.3.2.4/f_util.c 2003-05-06 12:13:22.000000000 +0200 +@@ -902,14 +902,20 @@ + char *name; + { + char line[RC_BUFSIZ+1], *tok; ++ int fd; + + /* make a temp filename in the user's home directory so we + can just rename it to .xfigrc after creating it */ +- sprintf(tmpname, "%s/%s%06d", userhome, "xfig-xfigrc", getpid()); +- tmpf = fopen(tmpname,"wb"); +- if (tmpf == 0) { +- file_msg("Can't make temporary file for .xfigrc - error: %s",strerror(errno)); +- return -1; ++ snprintf(tmpname, sizeof(tmpname), "%s/xfig-xfigrc.XXXXXX", userhome); ++ ++ if ((fd = mkstemp(tmpname)) == -1 || (tmpf = fdopen(fd, "wb")) == NULL) { ++ file_msg("Can't make temporary file for .xfigrc - error: %s", ++ strerror(errno)); ++ if (fd != -1) { ++ unlink(tmpname); ++ close(fd); ++ } ++ return -1; + } + /* read the .xfigrc file and write all to temp file except file names */ + xfigrc = fopen(xfigrc_name,"r"); +--- xfig.3.2.4/main.c ++++ xfig.3.2.4/main.c 2003-05-06 11:56:53.000000000 +0200 +@@ -621,8 +621,10 @@ + update_figs = False; + + /* get the TMPDIR environment variable for temporary files */ +- if ((TMPDIR = getenv("XFIGTMPDIR"))==NULL) +- TMPDIR = "/tmp"; ++ if ((TMPDIR = getenv("XFIGTMPDIR"))==NULL) { ++ if ((TMPDIR = getenv("TMPDIR")) == NULL) ++ TMPDIR = "/tmp"; ++ } + + /* first check args to see if user wants to scale the figure as it is + read in and make sure it is a resonable (positive) number */ +@@ -1631,7 +1633,14 @@ + if (userhome != NULL && *strcpy(cut_buf_name, userhome) != '\0') { + strcat(cut_buf_name, "/.xfig"); + } else { +- sprintf(cut_buf_name, "%s/xfig%06d", TMPDIR, getpid()); ++ int fd; ++ sprintf(cut_buf_name, "%s/xfig.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(cut_buf_name)) == -1) { ++ fprintf(stderr, "Can't create temporary file for cut_buff: %s\n", ++ strerror(errno)); ++ exit(0); ++ } ++ close(fd); + } + } + +--- xfig.3.2.4/mode.c ++++ xfig.3.2.4/mode.c 2003-05-06 11:56:53.000000000 +0200 +@@ -93,7 +93,7 @@ + + int cur_exp_lang; /* gets initialized in main.c */ + Boolean batch_exists = False; +-char batch_file[32]; ++char batch_file[PATH_MAX]; + + /*******************************************************************/ + /* If you change the order of the lang_items[] you must change the */ +--- xfig.3.2.4/u_print.c ++++ xfig.3.2.4/u_print.c 2003-05-06 12:18:47.000000000 +0200 +@@ -85,9 +85,16 @@ + char syspr[2*PATH_MAX+200]; + char tmpfile[PATH_MAX]; + char *name; ++ int fd; + +- sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-print", getpid()); ++ snprintf(tmpfile, sizeof(tmpfile), "%s/xfig-print.XXXXXX", TMPDIR); + warnexist = False; ++ if ((fd = mkstemp(tmpfile)) == -1) { ++ file_msg("Can't open temp file %s: %s\n", tmpfile, strerror(errno)); ++ return; ++ } ++ close(fd); ++ + init_write_tmpfile(); + if (write_file(tmpfile, False)) { + end_write_tmpfile(); +@@ -166,14 +173,21 @@ + char tmp_name[PATH_MAX]; + char tmp_fig_file[PATH_MAX]; + char *outfile, *name, *real_lang; ++ int fd; + + /* if file exists, ask if ok */ + if (!ok_to_write(file, "EXPORT")) + return (1); + +- sprintf(tmp_fig_file, "%s/%s%06d", TMPDIR, "xfig-fig", getpid()); +- /* write the fig objects to a temporary file */ ++ snprintf(tmp_fig_file, sizeof(tmp_fig_file), "%s/xfig-fig.XXXXXX", TMPDIR); + warnexist = False; ++ if ((fd = mkstemp(tmp_fig_file)) == -1) { ++ file_msg("Can't open temp file %s: %s\n", tmp_fig_file, ++ strerror(errno)); ++ return 1; ++ } ++ close(fd); ++ + init_write_tmpfile(); + if (write_file(tmp_fig_file, False)) { + end_write_tmpfile(); +@@ -491,10 +505,16 @@ + char errfname[PATH_MAX]; + FILE *errfile; + char str[400]; +- int status; ++ int status, fd; + + /* make temp filename for any errors */ +- sprintf(errfname, "%s/xfig-export%06d.err", TMPDIR, getpid()); ++ snprintf(errfname, sizeof(errfname), "%s/xfig-export.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(errfname)) == -1) { ++ file_msg("Can't open temp file %s: %s\n", errfname, strerror(errno)); ++ return 1; ++ } ++ close(fd); ++ + /* direct any output from fig2dev to this file */ + strcat(command, " 2> "); + strcat(command, errfname); +--- xfig.3.2.4/w_print.c ++++ xfig.3.2.4/w_print.c 2003-05-06 12:20:46.000000000 +0200 +@@ -289,9 +289,10 @@ + Widget w; + { + FILE *infp,*outfp; +- char tmp_exp_file[32]; ++ char tmp_exp_file[PATH_MAX]; + char str[255]; + char backgrnd[10], grid[80]; ++ int fd; + + if (writing_batch || emptyfigure_msg(print_msg)) + return; +@@ -300,11 +301,20 @@ + /* this could happen if the user presses the button too fast */ + writing_batch = True; + +- /* make a temporary name to write the batch stuff to */ +- sprintf(batch_file, "%s/%s%06d", TMPDIR, "xfig-batch", getpid()); + /* make a temporary name to write this figure to */ +- sprintf(tmp_exp_file, "%s/%s%06d", TMPDIR, "xfig-exp", getpid()); +- batch_exists = True; ++ snprintf(tmp_exp_file, sizeof(tmp_exp_file), "%s/xfig-exp.XXXXXX", ++ TMPDIR); ++ ++ if (batch_exists != True) { ++ /* make a temporary name to write the batch stuff to */ ++ sprintf(batch_file, "%s/xfig-batch.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(batch_file)) == -1) { ++ file_msg("Error creating temporary file"); ++ return; ++ } ++ close(fd); ++ batch_exists = True; ++ } + if (!print_popup) + create_print_panel(w); + +@@ -317,6 +327,12 @@ + /* make a #rrggbb string from the background color */ + make_rgb_string(export_background_color, backgrnd); + ++ if ((fd = mkstemp(tmp_exp_file)) == -1) { ++ file_msg("Error creating temporary file"); ++ return; ++ } ++ close(fd); ++ + /* get grid params and assemble into fig2dev parm */ + get_grid_spec(grid, print_grid_minor_text); + +--- xfig.3.2.4/w_srchrepl.c ++++ xfig.3.2.4/w_srchrepl.c 2003-05-06 11:56:53.000000000 +0200 +@@ -795,7 +795,7 @@ + char *cmd; + char str[300]; + FILE *fp; +- int len, i; ++ int len, i, fd; + Boolean done = FALSE; + static int lines = 0; + +@@ -811,9 +811,12 @@ + } + lines = 0; + +- sprintf(filename, "%s/xfig-spell.%d", TMPDIR, (int)getpid()); +- fp = fopen(filename, "w"); +- if (fp == NULL) { ++ snprintf(filename, sizeof(filename), "%s/xfig-spell.XXXXXX", TMPDIR); ++ if ((fd = mkstemp(filename)) == -1 || (fp = fdopen(fd, "w")) == NULL) { ++ if (fd != -1) { ++ unlink(filename); ++ close(fd); ++ } + file_msg("Can't open temporary file: %s: %s\n", filename, strerror(errno)); + } else { + /* locate all text objects and write them to file fp */ diff --git a/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff b/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff new file mode 100644 index 000000000..5dbdc2e6e --- /dev/null +++ b/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff @@ -0,0 +1,49 @@ +diff -ru xfig.3.2.3d.orig/main.c xfig.3.2.3d/main.c +--- xfig.3.2.3d.orig/main.c 2001-01-25 22:49:19.000000000 +0100 ++++ xfig.3.2.3d/main.c 2003-05-09 11:58:41.000000000 +0200 +@@ -259,18 +259,36 @@ + XtOffset(appresPtr, always_use_fontset), XtRBoolean, (caddr_t) & false}, + {"fixedFontSet", "FontSet", XtRFontSet, sizeof(XFontSet), + XtOffset(appresPtr, fixed_fontset), XtRString, +- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*," +- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" }, ++ (caddr_t) "-URW-Nimbus Roman No9 L-medium-r-normal--34-*-*-*-*-*-*-*," ++ "-kochi-mincho-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0," ++ "-baekmukttf-batang-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0," ++ "-*-times-medium-r-normal--34-*-*-*-*-*-*-*," ++ "-*-*-medium-r-normal--34-*-*-*-*-*-*-*,*--34-*" ++ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*," ++ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" ++ }, + {"normalFontSet", "NormalFontSet", XtRFontSet, sizeof(XFontSet), + XtOffset(appresPtr, normal_fontset), XtRString, +- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*," +- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*," +- "-*-*-*-r-*--16-*-*-*-*-*-*-*" }, ++ (caddr_t) "-URW-Nimbus Roman No9 L-medium-r-normal--34-*-*-*-*-*-*-*," ++ "-kochi-mincho-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0," ++ "-baekmukttf-batang-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0," ++ "-*-times-medium-r-normal--34-*-*-*-*-*-*-*," ++ "-*-*-medium-r-normal--34-*-*-*-*-*-*-*," ++ "-*-*-*-r-*--34-*-*-*-*-*-*-*" ++ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*," ++ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" ++ }, + {"boldFontSet", "BoldFontSet", XtRFontSet, sizeof(XFontSet), + XtOffset(appresPtr, bold_fontset), XtRString, +- (caddr_t) "-*-times-bold-r-normal--16-*-*-*-*-*-*-*," +- "-*-*-bold-r-normal--16-*-*-*-*-*-*-*," +- "-*-*-*-r-*--16-*-*-*-*-*-*-*" }, ++ (caddr_t) "-URW-Nimbus Roman No9 L-bold-r-normal--34-*-*-*-*-*-*-*," ++ "-kochi-gothic-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0," ++ "-baekmukttf-dotum-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0," ++ "-*-times-bold-r-normal--34-*-*-*-*-*-*-*," ++ "-*-*-bold-r-normal--34-*-*-*-*-*-*-*," ++ "-*-*-*-r-*--34-*-*-*-*-*-*-*" ++ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*," ++ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" ++ }, + {"fontSetSize", "FontSetSize", XtRInt, sizeof(int), + XtOffset(appresPtr, fontset_size), XtRImmediate, (caddr_t)0 }, + {"inputStyle", "InputStyle", XtRString, sizeof(char *), + diff --git a/source/t/xfig/xfig.3.2.3d-xcolor.diff b/source/t/xfig/xfig.3.2.3d-xcolor.diff new file mode 100644 index 000000000..11be8a56e --- /dev/null +++ b/source/t/xfig/xfig.3.2.3d-xcolor.diff @@ -0,0 +1,10 @@ +--- w_color.c ++++ w_color.c +@@ -1288,6 +1288,7 @@ + + create_cell(indx, color) + int indx; ++ XColor color; + { + char labl[5]; + diff --git a/source/t/xfig/xfig.3.2.3d-xim.diff b/source/t/xfig/xfig.3.2.3d-xim.diff new file mode 100644 index 000000000..918d00d9f --- /dev/null +++ b/source/t/xfig/xfig.3.2.3d-xim.diff @@ -0,0 +1,33 @@ +--- xfig.3.2.3d/d_text.c ++++ xfig.3.2.3d/d_text.c +@@ -1485,6 +1485,7 @@ + int i; + XVaNestedList preedit_att, status_att; + XPoint spot; ++ char *modifier_list; + + preferred_style = style_notuseful; + if (strncasecmp(appres.xim_input_style, "OverTheSpot", 3) == 0) +@@ -1501,6 +1502,10 @@ + if (preferred_style == style_notuseful) return; + + if (appres.DEBUG) fprintf(stderr, "initialize_input_method()...\n"); ++ ++ if((modifier_list = XSetLocaleModifiers("")) == NULL) { ++ /* printf("Warning: XSetLocaleModifiers() failed.\n"); */ ++ } + + xim_im = XOpenIM(XtDisplay(w), NULL, NULL, NULL); + if (xim_im == NULL) { +@@ -1517,7 +1522,10 @@ + if (xim_style == 0) xim_style = style_root; + } + } +- if (xim_style != preferred_style) { ++ if (xim_style != preferred_style ++ && *modifier_list != '\0' ++ && ! strstr(modifier_list,"@im=local") ++ && ! strstr(modifier_list,"@im=none")) { + fprintf(stderr, "xfig: this input-method doesn't support %s input style\n", + appres.xim_input_style); + if (xim_style == 0) { diff --git a/source/t/xfig/xfig.3.2.4-gcc4.diff b/source/t/xfig/xfig.3.2.4-gcc4.diff new file mode 100644 index 000000000..d8b8597ff --- /dev/null +++ b/source/t/xfig/xfig.3.2.4-gcc4.diff @@ -0,0 +1,11 @@ +--- w_color.c ++++ w_color.c 2005/08/31 10:42:32 +@@ -1057,7 +1057,7 @@ + { + F_compound *c; + int i, count; +- char buf[10]; ++ char buf[11]; + + /* keep array of counts of each color */ + for (i=0; i<num_usr_cols; i++) diff --git a/source/t/xfig/xfig.3.2.4-locale.diff b/source/t/xfig/xfig.3.2.4-locale.diff new file mode 100644 index 000000000..5bb9f9252 --- /dev/null +++ b/source/t/xfig/xfig.3.2.4-locale.diff @@ -0,0 +1,117 @@ +--- main.c ++++ main.c 2006-07-31 17:56:25.000000000 +0200 +@@ -62,6 +62,7 @@ + #ifdef I18N + #include <X11/keysym.h> + #include <locale.h> ++#include <langinfo.h> + #endif /* I18N */ + + /* EXPORTS */ +@@ -709,11 +710,6 @@ main(argc, argv) + } + } + +-#ifdef I18N +- setlocale(LC_ALL, ""); +- XtSetLanguageProc(NULL, NULL, NULL); +-#endif /* I18N */ +- + /* + * save the command line arguments + */ +@@ -807,6 +803,10 @@ main(argc, argv) + } + + #ifdef I18N ++ if (NULL == strcasestr(nl_langinfo(CODESET),"ANSI") && ++ NULL == strcasestr(nl_langinfo(CODESET),"ISO-8859-1")) ++ appres.international = True; ++ + /************************************************************/ + /* if the international option has been set, set the locale */ + /************************************************************/ +@@ -1523,6 +1523,11 @@ setup_visual(argc_p, argv, args) + */ + tool = XtAppInitialize (&tool_app, "Fig", options, XtNumber (options), argc_p, argv, + (String *) NULL, args, 0); ++#ifdef I18N ++ setlocale(LC_ALL, ""); ++ setlocale(LC_NUMERIC, "C"); ++ XtSetLanguageProc(tool_app, NULL, NULL); ++#endif /* I18N */ + /* save important info */ + tool_d = XtDisplay(tool); + tool_s = XtScreen(tool); +--- u_print.c ++++ u_print.c 2006-11-16 12:45:46.000000000 +0000 +@@ -15,6 +15,7 @@ + * + */ + ++#include <locale.h> + #include "fig.h" + #include "resources.h" + #include "mode.h" +@@ -75,6 +76,7 @@ char *shell_protect_string(string) + return(buf); + } + ++void + print_to_printer(printer, backgrnd, mag, print_all_layers, grid, params) + char printer[]; + char *backgrnd; +@@ -111,6 +113,8 @@ print_to_printer(printer, backgrnd, mag, + name = shell_protect_string(cur_filename); + + #ifdef I18N ++ /* set the numeric locale to C so we set decimal points for numbers */ ++ setlocale(LC_NUMERIC, "C"); + sprintf(tmpcmd, "%s %s -L ps -z %s -m %f %s -n %s", + fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "", + #else +@@ -119,6 +123,10 @@ print_to_printer(printer, backgrnd, mag, + #endif /* I18N */ + paper_sizes[appres.papersize].sname, mag/100.0, + appres.landscape ? "-l xxx" : "-p xxx", name); ++#ifdef I18N ++ /* reset to original locale */ ++ setlocale(LC_NUMERIC, ""); ++#endif /* I18N */ + + if (appres.correct_font_size) + strcat(tmpcmd," -F "); +@@ -223,9 +231,13 @@ print_to_file(file, lang, mag, xoff, yof + + /* start with the command, language and internationalization, if applicable */ + #ifdef I18N ++ /* set the numeric locale to C so we set decimal points for numbers */ ++ setlocale(LC_NUMERIC, "C"); + sprintf(prcmd, "%s %s -L %s -m %f ", + fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "", + real_lang, mag/100.0); ++ /* reset to original locale */ ++ setlocale(LC_NUMERIC, ""); + #else + sprintf(prcmd, "%s -L %s -m %f ", fig2dev_cmd, real_lang, mag/100.0); + #endif /* I18N */ +@@ -324,6 +336,8 @@ print_to_file(file, lang, mag, xoff, yof + strcat(tmp_name,"_t"); + /* make it automatically input the postscript/pdf part (-p option) */ + #ifdef I18N ++ /* set the numeric locale to C so we set decimal points for numbers */ ++ setlocale(LC_NUMERIC, "C"); + sprintf(prcmd, "%s %s -L %s -E %d -p %s -m %f ", + fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "", + #else +@@ -332,6 +346,10 @@ print_to_file(file, lang, mag, xoff, yof + #endif /* I18N */ + !strcmp(lang,"pstex")? "pstex_t": "pdftex_t", + appres.encoding, outfile, mag/100.0); ++#ifdef I18N ++ /* reset to original locale */ ++ setlocale(LC_NUMERIC, ""); ++#endif /* I18N */ + /* add the -D +list if user doesn't want all layers printed */ + if (!print_all_layers) + strcat(prcmd, layers); diff --git a/source/t/xfig/xfig.3.2.4-null.diff b/source/t/xfig/xfig.3.2.4-null.diff new file mode 100644 index 000000000..46120af18 --- /dev/null +++ b/source/t/xfig/xfig.3.2.4-null.diff @@ -0,0 +1,64 @@ +--- w_dir.c ++++ w_dir.c 2004-03-22 12:17:21.000000000 +0000 +@@ -126,6 +126,8 @@ + { + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + strcpy(CurrentSelectionName, ret_struct->string); + FirstArg(XtNstring, CurrentSelectionName); + if (browse_up) { +@@ -160,6 +162,8 @@ + { + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + strcpy(CurrentSelectionName, ret_struct->string); + DoChangeDir(CurrentSelectionName); + } +--- w_library.c ++++ w_library.c 2004-03-22 12:19:10.000000000 +0000 +@@ -461,6 +461,8 @@ + int new_obj; + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + new_obj = ret_struct->list_index; + if (icons_made) { + /* unhighlight the current view icon */ +--- w_srchrepl.c ++++ w_srchrepl.c 2004-03-22 12:20:38.000000000 +0000 +@@ -894,6 +894,8 @@ + { + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + ++ if (!ret_struct) ++ return; + /* save the selected word */ + strcpy(selected_word, ret_struct->string); + /* copy the word to the correct_word ascii widget */ +--- w_style.c ++++ w_style.c 2004-03-22 12:13:00.000000000 +0000 +@@ -585,7 +585,8 @@ + + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + +- current_family = ret_struct->list_index; ++ if (ret_struct) ++ current_family = ret_struct->list_index; + current_style = -1; + style_update (); + } +@@ -598,7 +599,8 @@ + { + XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data; + +- current_style = ret_struct->list_index; ++ if (ret_struct) ++ current_style = ret_struct->list_index; + style_update (); + cur_updatemask = set_style (¤t_family_set[current_family].style[current_style]); + diff --git a/source/t/xfig/xfig.3.2.4-quiet.diff b/source/t/xfig/xfig.3.2.4-quiet.diff new file mode 100644 index 000000000..36086eaf4 --- /dev/null +++ b/source/t/xfig/xfig.3.2.4-quiet.diff @@ -0,0 +1,183 @@ +--- main.c ++++ main.c 2004-08-25 14:21:34.000000000 +0200 +@@ -1018,6 +1018,11 @@ + setup_sizes(init_canv_wd, init_canv_ht); + } + ++ (void) init_tool_menus(); ++ (void) init_tool_style_panel(); ++ (void) init_tool_ind_pannel(); ++ (void) init_tool_canvas(); ++ + (void) init_main_menus(tool_form, arg_filename); + (void) init_msg(tool_form); + (void) init_mousefun(tool_form); +--- w_canvas.c ++++ w_canvas.c 2004-08-25 14:20:40.000000000 +0200 +@@ -173,6 +173,13 @@ + ~Meta<Key>:EventCanv()\n\ + <Expose>:ExposeCanv()\n"; + ++void ++init_tool_canvas(void) ++{ ++ XtAppAddActions(tool_app, canvas_actions, XtNumber(canvas_actions)); ++} ++ ++int + init_canvas(tool) + Widget tool; + { +@@ -193,7 +200,6 @@ + canvas_middlebut_proc = null_proc; + canvas_rightbut_proc = null_proc; + canvas_kbd_proc = canvas_locmove_proc = null_proc; +- XtAppAddActions(tool_app, canvas_actions, XtNumber(canvas_actions)); + XtAugmentTranslations(canvas_sw, + XtParseTranslationTable(canvas_translations)); + #ifndef NO_COMPKEYDB +@@ -204,13 +210,14 @@ + } + + /* at this point, the canvas widget is realized so we can get the window from it */ +- ++void + setup_canvas() + { + init_grid(); + reset_clip_window(); + } + ++void + canvas_selected(tool, event, params, nparams) + Widget tool; + XButtonEvent *event; +--- w_canvas.h ++++ w_canvas.h 2004-08-25 14:21:18.000000000 +0200 +@@ -35,9 +35,12 @@ + extern void toggle_show_borders(); + extern void clear_canvas(); + +-extern canvas_selected(); ++extern void canvas_selected(); + extern void paste_primary_selection(); + ++extern void init_tool_canvas(void); ++extern int init_canvas(Widget tool); ++ + extern int clip_xmin, clip_ymin, clip_xmax, clip_ymax; + extern int clip_width, clip_height; + extern int cur_x, cur_y; +--- w_cmdpanel.c ++++ w_cmdpanel.c 2004-08-25 14:26:00.000000000 +0200 +@@ -204,6 +204,13 @@ + + /* command panel */ + void ++init_tool_menus(void) ++{ ++ /* add actions to position the menus if the user uses an accelerator */ ++ XtAppAddActions(tool_app, menu_actions, XtNumber(menu_actions)); ++} ++ ++void + init_main_menus(tool, filename) + Widget tool; + char *filename; +@@ -212,6 +219,7 @@ + Widget beside = NULL; + DeclareArgs(11); + ++ + FirstArg(XtNborderWidth, 0); + NextArg(XtNcolormap, tool_cm); + NextArg(XtNdefaultDistance, 0); +@@ -246,8 +254,6 @@ + filename_balloon_trigger, (XtPointer) name_panel); + XtAddEventHandler(name_panel, LeaveWindowMask, False, + filename_unballoon, (XtPointer) name_panel); +- /* add actions to position the menus if the user uses an accelerator */ +- XtAppAddActions(tool_app, menu_actions, XtNumber(menu_actions)); + refresh_view_menu(); + } + +--- w_cmdpanel.h ++++ w_cmdpanel.h 2004-08-25 14:10:45.000000000 +0200 +@@ -33,6 +33,8 @@ + extern int num_main_menus(); + extern Widget create_menu_item(); + extern void refresh_view_menu(); ++extern void init_tool_menus(void); ++extern void init_main_menus(Widget tool, char* filename); + + /* def for menu */ + +--- w_indpanel.c ++++ w_indpanel.c 2004-08-25 14:12:57.000000000 +0200 +@@ -476,6 +476,12 @@ + static ind_sw_info upd_sw_info, upd_set_sw_info, upd_clr_sw_info, upd_tog_sw_info; + + void ++init_tool_ind_pannel(void) ++{ ++ XtAppAddActions(tool_app, ind_actions, XtNumber(ind_actions)); ++} ++ ++void + init_ind_panel(tool) + Widget tool; + { +@@ -626,8 +632,6 @@ + ind_box = XtCreateManagedWidget("ind_box", boxWidgetClass, ind_panel, + Args, ArgCount); + +- XtAppAddActions(tool_app, ind_actions, XtNumber(ind_actions)); +- + for (i = 0; i < NUM_IND_SW; ++i) { + sw = &ind_switches[i]; + sw->panel = (Widget) NULL; /* not created yet */ +--- w_indpanel.h ++++ w_indpanel.h 2004-08-25 14:14:07.000000000 +0200 +@@ -34,6 +34,9 @@ + extern void wheel_inc_zoom(), wheel_dec_zoom(); + #endif /* WHEELMOUSE */ + ++extern void init_tool_ind_pannel(void); ++extern void init_ind_panel(Widget tool); ++ + /* size of buttons in indicator panel */ + #define DEF_IND_SW_HT 34 + #define DEF_IND_SW_WD 64 +--- w_style.c ++++ w_style.c 2004-08-25 14:05:33.000000000 +0200 +@@ -759,6 +759,12 @@ + /**********************************/ + + void ++init_tool_style_panel(void) ++{ ++ XtAppAddActions (tool_app, style_actions, XtNumber (style_actions)); ++} ++ ++void + init_manage_style_panel (void) + { + char buf[50]; +@@ -966,7 +972,6 @@ + XtAddCallback (style_close_style, XtNcallback, + (XtCallbackProc) close_style, (XtPointer) NULL); + +- XtAppAddActions (tool_app, style_actions, XtNumber (style_actions)); + style_update (); + } + +--- w_style.h ++++ w_style.h 2004-08-25 14:06:27.000000000 +0200 +@@ -14,6 +14,7 @@ + * + */ + ++extern void init_tool_style_panel(void); + extern void init_manage_style_panel(void); + extern void setup_manage_style_panel(void); + extern void popup_manage_style_panel(void); diff --git a/source/t/xfig/xfig.3.2.4-urw-fonts.diff b/source/t/xfig/xfig.3.2.4-urw-fonts.diff new file mode 100644 index 000000000..396dead55 --- /dev/null +++ b/source/t/xfig/xfig.3.2.4-urw-fonts.diff @@ -0,0 +1,152 @@ +--- u_fonts.c ++++ u_fonts.c 2005-10-06 18:55:22.000000000 +0200 +@@ -21,7 +21,9 @@ + + /* X11 font names */ + +-struct _xfstruct x_fontinfo[NUM_FONTS] = { ++struct _xfstruct x_fontinfo[NUM_FONTS]; ++ ++struct _xfstruct x_adobe_fontinfo[NUM_FONTS] = { + {"-*-times-medium-r-normal--", (struct xfont*) NULL}, + {"-*-times-medium-i-normal--", (struct xfont*) NULL}, + {"-*-times-bold-r-normal--", (struct xfont*) NULL}, +@@ -59,6 +61,44 @@ + {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL}, + }; + ++struct _xfstruct x_urw_fontinfo[NUM_FONTS] = { ++ {"-URW-*Nimbus Roman No9 L-medium-r-normal--", (struct xfont*) NULL}, /* Times-Roman */ ++ {"-URW-*Nimbus Roman No9 L-medium-i-normal--", (struct xfont*) NULL}, /* Times-Italic */ ++ {"-URW-*Nimbus Roman No9 L-bold-r-normal--", (struct xfont*) NULL}, /* Times-Bold */ ++ {"-URW-*Nimbus Roman No9 L-bold-i-normal--", (struct xfont*) NULL}, /* Times-BoldItalic */ ++ {"-URW-*Gothic L-medium-r-normal--", (struct xfont*) NULL}, /* AvantGarde-Book */ ++ {"-URW-*Gothic L-medium-o-normal--", (struct xfont*) NULL}, /* AvantGarde-BookOblique */ ++ {"-URW-*Gothic L-*bold-r-normal--", (struct xfont*) NULL}, /* AvantGarde-Demi */ ++ {"-URW-*Gothic L-*bold-o-normal--", (struct xfont*) NULL}, /* AvantGarde-DemiOblique */ ++ {"-URW-*Bookman L-medium-r-normal--", (struct xfont*) NULL}, /* Bookman-Light */ ++ {"-URW-*Bookman L-medium-i-normal--", (struct xfont*) NULL}, /* Bookman-LightItalic */ ++ {"-URW-*Bookman L-*bold-r-normal--", (struct xfont*) NULL}, /* Bookman-Demi */ ++ {"-URW-*Bookman L-*bold-i-normal--", (struct xfont*) NULL}, /* Bookman-DemiItalic */ ++ {"-URW-*Nimbus Mono L-medium-r-normal--", (struct xfont*) NULL}, /* Courier */ ++ {"-URW-*Nimbus Mono L-medium-o-normal--", (struct xfont*) NULL}, /* Courier-Oblique */ ++ {"-URW-*Nimbus Mono L-bold-r-normal--", (struct xfont*) NULL}, /* Courier-Bold */ ++ {"-URW-*Nimbus Mono L-bold-o-normal--", (struct xfont*) NULL}, /* Courier-BoldOblique */ ++ {"-URW-*Nimbus Sans L-medium-r-normal--", (struct xfont*) NULL}, /* Helvetica */ ++ {"-URW-*Nimbus Sans L-medium-o-normal--", (struct xfont*) NULL}, /* Helvetica-Oblique */ ++ {"-URW-*Nimbus Sans L-bold-r-normal--", (struct xfont*) NULL}, /* Helvetica-Bold */ ++ {"-URW-*Nimbus Sans L-bold-o-normal--", (struct xfont*) NULL}, /* Helvetica-BoldOblique */ ++ {"-URW-*Nimbus Sans L-medium-r-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow */ ++ {"-URW-*Nimbus Sans L-medium-o-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-Oblique */ ++ {"-URW-*Nimbus Sans L-bold-r-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-Bold */ ++ {"-URW-*Nimbus Sans L-bold-o-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-BoldOblique */ ++ {"-URW-*Century Schoolbook L-medium-r-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Roman */ ++ {"-URW-*Century Schoolbook L-medium-i-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Italic */ ++ {"-URW-*Century Schoolbook L-bold-r-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Bold */ ++ {"-URW-*Century Schoolbook L-bold-i-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-BoldItalic */ ++ {"-URW-*Palladio L-medium-r-normal--", (struct xfont*) NULL}, /* Palatino-Roman */ ++ {"-URW-*Palladio L-medium-i-normal--", (struct xfont*) NULL}, /* Palatino-Italic */ ++ {"-URW-*Palladio L-bold-r-normal--", (struct xfont*) NULL}, /* Palatino-Bold */ ++ {"-URW-*Palladio L-bold-i-normal--", (struct xfont*) NULL}, /* Palatino-BoldItalic */ ++ {"-URW-*Standard Symbols L-medium-r-normal--", (struct xfont*) NULL}, /* Symbol */ ++ {"-URW-*Chancery L-medium-i-normal--", (struct xfont*) NULL}, /* ZapfChancery-MediumItalic */ ++ {"-URW-*Dingbats-medium-r-normal--", (struct xfont*) NULL}, /* ZapfDingbats */ ++}; ++ + /* Use the following font names for any font that doesn't exist in the table above. + * These come with the Open Group X distribution so they should be a common set. + * +--- u_fonts.h ++++ u_fonts.h 2005-10-06 19:19:30.000000000 +0200 +@@ -32,9 +32,6 @@ + + extern int psfontnum(); + extern int latexfontnum(); +-extern struct _xfstruct x_fontinfo[], x_backup_fontinfo[]; +-extern struct _fstruct ps_fontinfo[]; +-extern struct _fstruct latex_fontinfo[]; + + /* element of linked list for each font + The head of list is for the different font NAMES, +@@ -61,5 +58,12 @@ + * sizes */ + }; + ++extern struct _xfstruct x_fontinfo[]; ++extern struct _xfstruct x_urw_fontinfo[]; ++extern struct _xfstruct x_adobe_fontinfo[]; ++extern struct _xfstruct x_backup_fontinfo[]; ++extern struct _fstruct ps_fontinfo[]; ++extern struct _fstruct latex_fontinfo[]; ++ + int x_fontnum(); + #endif /* U_FONTS_H */ +--- w_drawprim.c ++++ w_drawprim.c 2005-10-06 19:12:02.000000000 +0200 +@@ -99,6 +99,22 @@ + appres.buttonFont, appres.normalFont); + button_font = XLoadQueryFont(tool_d, appres.normalFont); + } ++ ++ /* ++ * Check for URW fonts, if not found use Adobe fonts ++ */ ++ strcpy(template,x_urw_fontinfo[0].template); ++ strcat(template,"0-0-*-*-*-*-"); ++ if (strstr(template,"ymbol") == NULL && strstr(template,"ingbats") == NULL) ++ strcat(template,"ISO8859-*"); ++ else ++ strcat(template,"*-*"); ++ if ((fontlist = XListFonts(tool_d, template, 1, &count)) == (char**)0) ++ memcpy(&x_fontinfo, &x_adobe_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS); ++ else ++ memcpy(&x_fontinfo, &x_urw_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS); ++ XFreeFontNames(fontlist); ++ + /* + * Now initialize the font structure for the X fonts corresponding to the + * Postscript fonts for the canvas. OpenWindows can use any LaserWriter +@@ -119,8 +135,8 @@ + strcpy(template,x_fontinfo[0].template); /* nope, check for font size 0 */ + strcat(template,"0-0-*-*-*-*-"); + /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */ +- if (strstr(template,"symbol") == NULL && +- strstr(template,"zapf dingbats") == NULL) ++ if (strstr(template,"ymbol") == NULL && ++ strstr(template,"ingbats") == NULL) + strcat(template,"ISO8859-*"); + else + strcat(template,"*-*"); +@@ -139,8 +155,8 @@ + strcpy(template,x_fontinfo[f].template); + strcat(template,"*-*-*-*-*-*-"); + /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */ +- if (strstr(template,"symbol") == NULL && +- strstr(template,"zapf dingbats") == NULL) ++ if (strstr(template,"ymbol") == NULL && ++ strstr(template,"ingbats") == NULL) + strcat(template,"ISO8859-*"); + else + strcat(template,"*-*"); +@@ -287,8 +303,8 @@ + /* attach pointsize to font name */ + strcat(template,"%d-*-*-*-*-*-"); + /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */ +- if (strstr(template,"symbol") == NULL && +- strstr(template,"zapf dingbats") == NULL) ++ if (strstr(template,"ymbol") == NULL && ++ strstr(template,"ingbats") == NULL) + strcat(template,"ISO8859-*"); + else + strcat(template,"*-*"); +@@ -299,8 +315,8 @@ + strcpy(template,x_backup_fontinfo[fnum].template); + strcat(template,"%d-*-*-*-*-*-"); + /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */ +- if (strstr(template,"symbol") == NULL && +- strstr(template,"zapf dingbats") == NULL) ++ if (strstr(template,"ymbol") == NULL && ++ strstr(template,"ingbats") == NULL) + strcat(template,"ISO8859-*"); + else + strcat(template,"*-*"); diff --git a/source/t/xfig/xfig.3.2.4.diff b/source/t/xfig/xfig.3.2.4.diff new file mode 100644 index 000000000..821243a65 --- /dev/null +++ b/source/t/xfig/xfig.3.2.4.diff @@ -0,0 +1,530 @@ +--- Fig-color.ad ++++ Fig-color.ad 2008-04-13 20:50:28.000000000 +0200 +@@ -76,6 +76,12 @@ Fig*MenuButton*background: gray83 + ! in the color editor popup + Fig*mixedEdit.background: gray83 + ++Fig*mode_panel.background: gray67 ++Fig*mode_panel*topShadow:: white ++Fig*mode_panel*bottomShadow: gray17 ++Fig*mode_panel*topShadowPixel: white ++Fig*mode_panel*bottomShadowPixel: gray17 ++ + Fig*cancel.background: gray88 + Fig*dismiss.background: gray88 + Fig*commands*background: gray88 +@@ -85,12 +91,35 @@ Fig*horizontal.background: gray88 + + Fig*topruler.background: gray95 + Fig*sideruler.background: gray95 ++Fig*topruler.foreground: black ++Fig*sideruler.foreground: black + + ! file panel and scrollbar + + Fig*FigList*background: gray95 + Fig*List*background: gray95 +-Fig*Scrollbar.background: gray95 ++Fig*Scrollbar.background: gray77 ++Fig*Scrollbar.foreground: gray37 ++Fig*ScrollbarBackground: gray67 ++Fig*ScrollbarForeground: gray37 ++ ++Fig*horizontal.shadowWidth: 2 ++Fig*horizontal.topShadowPixel: gray95 ++Fig*horizontal.bottomShadowPixel: gray37 ++Fig*horizontal.topShadow: gray95 ++Fig*horizontal.bottomShadow: gray37 ++ ++Fig*Scrollbar.shadowWidth: 2 ++Fig*Scrollbar.topShadow: gray95 ++Fig*Scrollbar.bottomShadow: gray37 ++Fig*Scrollbar.topShadowPixel: gray95 ++Fig*Scrollbar.bottomShadowPixel: gray37 ++ ++Fig*stdColor.shadowWidth: 2 ++Fig*stdColor.topShadow: gray95 ++Fig*stdColor.bottomShadow: gray37 ++Fig*stdColor.topShadowPixel: gray95 ++Fig*stdColor.bottomShadowPixel: gray37 + + Fig*Label.background: gray80 + Fig*ind_box.background: gray80 +--- Fig.ad ++++ Fig.ad 2008-04-13 20:50:28.000000000 +0200 +@@ -10,6 +10,8 @@ Fig.version: 3.2.4 + + Fig*AllowShellResize: false + ++Fig.inches: false ++ + ! Image editor - can edit imported image + Fig.image_editor: xv + +@@ -20,7 +22,7 @@ Fig.ghostscript: gs + ! This is for viewing the xfig html reference. + ! For netscape, this command will open the help pages in a running netscape, + ! or start a new netscape if one isn't already running +-Fig.browser: netscape -remote 'openFile(%f)' || netscape %f ++Fig.browser: /usr/bin/firefox %f + + ! pdfviewer - put your favorite pdf viewer here. + ! This is for viewing the xfig how-to guide and man pages +@@ -99,60 +101,62 @@ Fig.internalborderwidth: 1 + ! I include both for compatibility. Be sure to change both values when + ! modifying them. + +- Fig*horizontal.shadowWidth: 0 +- Fig*horizontal.topShadowPixel: black +- Fig*horizontal.bottomShadowPixel: white +- Fig*horizontal.topShadow: black +- Fig*horizontal.bottomShadow: white ++Fig*horizontal.shadowWidth: 0 ++Fig*horizontal.topShadowPixel: black ++Fig*horizontal.bottomShadowPixel: white ++Fig*horizontal.topShadow: black ++Fig*horizontal.bottomShadow: white + + ! the following is done so the widget set doesn't try to make shades of + ! the scrollbar shadows (even though the width is 0 it takes more colors) +- Fig*Scrollbar.shadowWidth: 0 +- Fig*Scrollbar.topShadow: black +- Fig*Scrollbar.bottomShadow: white +- Fig*Scrollbar.topShadowPixel: black +- Fig*Scrollbar.bottomShadowPixel: white ++ ++Fig*Scrollbar.shadowWidth: 0 ++Fig*Scrollbar.topShadow: black ++Fig*Scrollbar.bottomShadow: white ++Fig*Scrollbar.topShadowPixel: black ++Fig*Scrollbar.bottomShadowPixel: white + + ! this is for the standard color buttons in the color panel +- Fig*stdColor.shadowWidth: 2 +- Fig*stdColor.topShadow: black +- Fig*stdColor.bottomShadow: white +- Fig*stdColor.topShadowPixel: black +- Fig*stdColor.bottomShadowPixel: white ++ ++Fig*stdColor.shadowWidth: 2 ++Fig*stdColor.topShadow: black ++Fig*stdColor.bottomShadow: white ++Fig*stdColor.topShadowPixel: black ++Fig*stdColor.bottomShadowPixel: white + + ! turn off any shadows for the user color cells +- Fig*colorMemory.shadowWidth: 0 ++Fig*colorMemory.shadowWidth: 0 + + ! You may need or want to adjust the highlight thickness for the mode + ! and indicator panels depending on the results. If it is too thick + ! it will erase part of the button graphics. +- Fig*mode_panel*highlightThickness: 1 +- Fig*ind_panel.ind_box.button_form.button.highlightThickness: 1 ++Fig*mode_panel*highlightThickness: 1 ++Fig*ind_panel.ind_box.button_form.button.highlightThickness: 1 + ! Same for the popup panels from the indicator panel +- Fig*set_indicator_panel*Command.highlightThickness: 1 ++Fig*set_indicator_panel*Command.highlightThickness: 1 + + ! If you use the 3D Athena widget set and the small icons for the mode panel + ! (because you have a small screen; see Imakefile) you may want to reduce + ! the shadow width to 1 or 0. Uncomment the following in that case: +-! Fig*mode_panel*shadowWidth: 1 ++Fig*mode_panel*shadowWidth: 1 + + ! The following is for the update marker in the upper-right corner of the + ! indicator buttons. You may not want any highlight thickness because + ! the boxes are so small. +- Fig*ind_panel.ind_box.button_form.update.highlightThickness: 0 ++Fig*ind_panel.ind_box.button_form.update.highlightThickness: 1 + + ! This sets the shadows for the spinner arrows +- Fig*spinup.shadowWidth: 2 +- Fig*spindown.shadowWidth: 2 ++Fig*spinup.shadowWidth: 0 ++Fig*spindown.shadowWidth: 0 + + ! This gets rid of that funny black line that sometimes borders the canvas + +- Fig*canvas.shadowWidth: 0 ++Fig*canvas.shadowWidth: 0 + + !if on monochrome server, or no Fig-color app-defaults file + ! This background resource shows between the buttons like a border +- Fig*mode_panel.background: black +- Fig*mode_panel.foreground: black ++Fig*mode_panel.background: black ++Fig*mode_panel.foreground: black + + ! Specify a private Compose key database file. If this resource contains a "/" + ! then the wired-in name of the xfig global directory won't be prefixed to it. +--- Imakefile ++++ Imakefile 2008-04-13 20:52:35.000000000 +0200 +@@ -49,7 +49,7 @@ XCOMM Redefine the following if your PNG + XCOMM are in different places + + PNGLIBDIR = $(USRLIBDIR) +-PNGINC = -I/usr/local/include ++PNGINC = -I/usr/include + + XCOMM If don't want JPEG support, comment out the #define USEJPEG line + XCOMM Uncomment the #define for USEJPEG if you want to be able to import +@@ -68,8 +68,8 @@ XCOMM You must have version 5b or newer + + #ifdef USEJPEG + #ifdef USEINSTALLEDJPEG +-JPEGLIBDIR = /usr/local/lib +-JPEGINC = -I/usr/include/X11 ++JPEGLIBDIR = /usr/lib ++JPEGINC = -I/usr/include + #else + JPEGLIBDIR = ../jpeg + JPEGINC = -I$(JPEGLIBDIR) +@@ -87,8 +87,8 @@ XCOMM in /contrib/libraries. + XCOMM Change XPMLIBDIR if necessary to point to the xpm library (libXpm) + XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h) + +-XCOMM #define USEXPM +-XCOMM #define USEXPM_ICON ++#define USEXPM ++#define USEXPM_ICON + + #ifdef USEXPM + XPMLIBDIR = $(USRLIBDIR) +@@ -105,17 +105,20 @@ XCOMM the 3d Athena Widget Set (highly r + XCOMM Then be sure to change the XAW3DINC to point to the directory where your + XCOMM 3D Athena widget headers are located + +-XCOMM #define XAW3D ++#define XAW3D + + #ifdef XAW3D + XAW3DINC = -I/usr/include/X11/Xaw3d + DUSEXAW3D = -DXAW3D + XAWLIB = -lXaw3d ++#else ++XAWSRC = SmeBSB.c SimpleMenu.c ++XAWOBJ = SmeBSB.o SimpleMenu.o + #endif + + XCOMM Uncomment the following if you have a wheel mouse. See docs for description. + +-XCOMM #define WHEELMOUSE ++#define WHEELMOUSE + + #ifdef WHEELMOUSE + DUSEWHEELMOUSE = -DWHEELMOUSE +@@ -154,7 +157,7 @@ XCOMM uncomment the following line if yo + XCOMM inline functions. With the "INLINE" keyword, you should notice that + XCOMM the display will be a bit faster in complex figures + +-XCOMM USEINLINE = -DUSE_INLINE ++USEINLINE = -DUSE_INLINE + + XCOMM use (and change) the following if you want the multi-key data base file + XCOMM somewhere other than the standard X11 library directory +@@ -166,7 +169,7 @@ XFIGLIBDIR = $(LIBDIR)/xfig + + XCOMM XFIGDOCDIR tells where the html and pdf documentation should go + XCOMM XFIGDOCDIR = $(DOCDIR)/xfig +-XFIGDOCDIR = /usr/share/doc/xfig ++XFIGDOCDIR = /usr/share/doc/packages/xfig + + XCOMM MANDIR tells where the standard man pages should go (no need to change it + XCOMM if you want the man pages installed in the standard place on your system +@@ -200,7 +203,7 @@ XCOMM instead. + XCOMM Add `-DCACHE_SIZE_LIMIT=xxxx' where xxxx is the cache size in kilobytes. + XCOMM A cache size of zero turns caching off. + +-CACHE = -DCACHE_BITMAPS -DCACHE_SIZE_LIMIT=300 ++CACHE = -DCACHE_BITMAPS -DCACHE_SIZE_LIMIT=512 -DMAXNUMPTS=50000 -DBSDLPR + + XCOMM For SYSV systems with BSD-style printer command which use lpr instead of + XCOMM lp (SGI is one such machine), add -DBSDLPR to the DEFINES variable +@@ -214,6 +217,7 @@ XCOMM number of vertices. + XCOMM If you want a compiler other than "cc", define it here + + XCOMM CC = /opt/SUNWspro/bin/cc ++CC = gcc + + XCOMM ***************************************************** + XCOMM ***************************************************** +@@ -234,7 +238,7 @@ DEPLIBJPEG = $(JPEGLIBDIR)/libjpeg.a + #endif /* USEJPEG */ + + #ifdef I18N +-I18N_DEFS = -DI18N -DSETLOCALE ++I18N_DEFS = -DI18N + I18N_SRC = w_i18n.c + I18N_OBJ = w_i18n.o + #endif +@@ -304,7 +308,7 @@ XFIGSRC = d_arc.c d_arcbox.c d_box.c d_e + w_export.c w_file.c w_fontbits.c w_fontpanel.c w_grid.c w_icons.c \ + w_indpanel.c w_library.c w_modepanel.c w_mousefun.c w_msgpanel.c \ + w_print.c w_rottext.c w_rulers.c w_setup.c w_style.c w_util.c w_zoom.c \ +- $(I18N_SRC) SmeCascade.c SmeBSB.c SimpleMenu.c ++ $(I18N_SRC) SmeCascade.c $(XAWSRC) + + XFIGOBJ = d_arc.o d_arcbox.o d_box.o d_ellipse.o d_picobj.o \ + d_subspline.o d_line.o d_regpoly.o d_spline.o d_text.o \ +@@ -326,7 +330,7 @@ XFIGOBJ = d_arc.o d_arcbox.o d_box.o d_e + w_export.o w_file.o w_fontbits.o w_fontpanel.o w_grid.o w_icons.o \ + w_indpanel.o w_library.o w_modepanel.o w_mousefun.o w_msgpanel.o \ + w_print.o w_rottext.o w_rulers.o w_setup.o w_style.o w_util.o w_zoom.o \ +- $(I18N_OBJ) SmeCascade.o SmeBSB.o SimpleMenu.o ++ $(I18N_OBJ) SmeCascade.o $(XAWOBJ) + + XCOMM Other dependencies should be handled by "make depend" + +--- e_addpt.c ++++ e_addpt.c 2008-04-13 20:50:28.000000000 +0200 +@@ -52,6 +52,7 @@ point_adding_selected() + force_nopositioning(); + force_anglegeom(); + constrained = MOVE_ARB; ++ reset_action_on(); + } + + static void +--- e_align.c ++++ e_align.c 2008-04-13 20:50:28.000000000 +0200 +@@ -63,6 +63,7 @@ align_selected() + canvas_middlebut_proc = init_align_canvas; + canvas_rightbut_proc = null_proc; + set_cursor(pick15_cursor); ++ reset_action_on(); + } + + /* align objects to the whole canvas */ +--- e_arrow.c ++++ e_arrow.c 2008-04-13 20:50:28.000000000 +0200 +@@ -47,6 +47,7 @@ arrow_head_selected() + canvas_middlebut_proc = point_search_middle; + canvas_rightbut_proc = null_proc; + set_cursor(pick9_cursor); ++ reset_action_on(); + } + + static void +--- e_break.c ++++ e_break.c 2008-04-13 20:50:28.000000000 +0200 +@@ -43,6 +43,7 @@ break_selected() + canvas_middlebut_proc = object_search_middle; + canvas_rightbut_proc = null_proc; + set_cursor(pick15_cursor); ++ reset_action_on(); + } + + static void +@@ -82,8 +83,10 @@ init_break(p, type, x, y, px, py, loc_ta + list_delete_compound(&objects.compounds, cur_c); + tail(&objects, &object_tails); + append_objects(&objects, cur_c, &object_tails); ++#if 0 + /* add the depths from this compound */ + add_compound_depth(cur_c); ++#endif + toggle_markers_in_compound(cur_c); + set_tags(cur_c, loc_tag); + set_action(F_BREAK); +--- e_convert.c ++++ e_convert.c 2008-04-13 20:50:28.000000000 +0200 +@@ -47,6 +47,7 @@ convert_selected() + canvas_middlebut_proc = null_proc; + canvas_rightbut_proc = point_search_right; + set_cursor(pick15_cursor); ++ reset_action_on(); + } + + static void +--- e_deletept.c ++++ e_deletept.c 2008-04-13 20:50:28.000000000 +0200 +@@ -43,6 +43,7 @@ delete_point_selected() + canvas_middlebut_proc = null_proc; + canvas_rightbut_proc = null_proc; + set_cursor(pick9_cursor); ++ reset_action_on(); + } + + static void +--- e_flip.c ++++ e_flip.c 2008-04-13 20:50:28.000000000 +0200 +@@ -61,6 +61,7 @@ flip_ud_selected() + setcenter = 0; + setanchor = 0; + flip_selected(); ++ reset_action_on(); + } + + void +@@ -76,6 +77,7 @@ flip_lr_selected() + setcenter = 0; + setanchor = 0; + flip_selected(); ++ reset_action_on(); + } + + static void +--- e_movept.c ++++ e_movept.c 2008-04-13 20:50:28.000000000 +0200 +@@ -80,6 +80,7 @@ move_point_selected() + canvas_rightbut_proc = null_proc; + set_cursor(pick9_cursor); + force_anglegeom(); ++ reset_action_on(); + } + + static void +--- e_rotate.c ++++ e_rotate.c 2008-04-13 20:50:28.000000000 +0200 +@@ -94,6 +94,7 @@ rotate_selected() + canvas_middlebut_proc = object_search_middle; + canvas_rightbut_proc = set_unset_center; + set_cursor(pick15_cursor); ++ reset_action_on(); + } + + static void +--- e_update.c ++++ e_update.c 2008-04-13 20:50:28.000000000 +0200 +@@ -64,6 +64,7 @@ update_selected() + set_cursor(pick9_cursor); + /* manage on the update buttons */ + manage_update_buts(); ++ reset_action_on(); + } + + static int +--- fig.h ++++ fig.h 2008-04-13 20:50:28.000000000 +0200 +@@ -26,6 +26,7 @@ extern char *my_strdup(); + #if defined(ultrix) || defined(__bsdi__) || defined(Mips) || defined(apollo) + #include <sys/types.h> /* for stat structure */ + #endif ++#include <sys/param.h> + #include <sys/stat.h> + + #if defined(__convex__) && defined(__STDC__) +--- mode.h ++++ mode.h 2008-04-13 20:50:28.000000000 +0200 +@@ -19,7 +19,7 @@ + #define MODE_H + + #define F_NULL 0 +-#define FIRST_DRAW_MODE F_CIRCLE_BY_RAD ++#define FIRST_DRAW_MODE F_CIRCLE_BY_RAD + #define F_CIRCLE_BY_RAD 1 + #define F_CIRCLE_BY_DIA 2 + #define F_ELLIPSE_BY_RAD 3 +@@ -38,7 +38,7 @@ + #define F_PICOBJ 16 + #define F_PLACE_LIB_OBJ 17 + +-#define FIRST_EDIT_MODE F_GLUE ++#define FIRST_EDIT_MODE F_GLUE + #define F_GLUE 30 + #define F_BREAK 31 + #define F_SCALE 32 +--- w_canvas.c ++++ w_canvas.c 2008-04-13 20:50:28.000000000 +0200 +@@ -536,6 +536,7 @@ reset_click_counter(widget, closure, eve + + /* clear the canvas - this can't be called to clear a pixmap, only a window */ + ++void + clear_canvas() + { + /* clear the splash graphic if it is still on the screen */ +--- w_canvas.h ++++ w_canvas.h 2008-04-13 20:50:28.000000000 +0200 +@@ -33,6 +33,7 @@ extern void toggle_show_balloons(); + extern void toggle_show_lengths(); + extern void toggle_show_vertexnums(); + extern void toggle_show_borders(); ++extern void clear_canvas(); + + extern void canvas_selected(); + extern void paste_primary_selection(); +--- w_menuentry.c ++++ w_menuentry.c 2008-04-13 20:50:28.000000000 +0200 +@@ -170,7 +170,8 @@ Region region; + gc = entry->sme_bsb.norm_gray_gc; + } + +- if (entry->sme_bsb.label != NULL) { ++/* if (entry->sme_bsb.label != NULL) { */ ++ if (entry->sme_bsb.label == XtName((Widget)(entry))) { + int x_loc = entry->sme_bsb.left_margin; + int len = strlen(entry->sme_bsb.label); + char * label = entry->sme_bsb.label; +--- w_srchrepl.c ++++ w_srchrepl.c 2008-04-13 20:50:28.000000000 +0200 +@@ -56,7 +56,6 @@ There is currently no way to undo replac + #include "w_util.h" + #include "u_create.h" + #include <stdarg.h> +- + #define MAX_MISSPELLED_WORDS 200 + #define SEARCH_WIDTH 496 /* width of search message and results */ + +--- w_util.c ++++ w_util.c 2008-04-13 20:50:28.000000000 +0200 +@@ -1102,7 +1102,7 @@ check_action_on() + finish_text_input(0,0,0);/* finish up any text input */ + else { + if (cur_mode == F_PLACE_LIB_OBJ) +- cancel_place_lib_obj(); ++ cancel_place_lib_obj(0, 0, 0); + else { + put_msg("Finish (or cancel) the current operation before changing modes"); + beep(); +--- Doc/xfig.html ++++ Doc/xfig.html 2008-04-13 20:50:28.000000000 +0200 +@@ -848,6 +848,20 @@ between all buttons and panels (default + </DL> + <P> + ++<B>-international</B> ++ ++<DL COMPACT> ++<DT><DD> ++Switch on international support (mainly Japanese ++and Korean), users of ISO Latin 1 (ISO-8859-1) ++probably should not use this, therefore the international ++support is switched off by default for locales using ISO-8859-1* ++codesets. For all other locales this option is already used ++by default. ++</DL> ++ ++<P> ++ + + <B>-jpeg</B>[<B>_quality</B>] + +@@ -2208,6 +2222,7 @@ inches boolean true + -metric (false) + installowncmap boolean false -installowncmap + internalborderwidth integer 1 -internalBW ++international boolean false -international + jpeg_quality integer 75 -jpeg_quality + justify boolean false -left (false), + -right (true) +--- Doc/xfig.man ++++ Doc/xfig.man 2008-04-13 20:50:28.000000000 +0200 +@@ -531,6 +531,15 @@ Use lines of width + between all buttons and panels (default = 1). + .\"------- + .At ++.BR \-international ++.Ap ++Switch on international support (mainly Japanese and Korean), ++users of ISO Latin 1 (ISO-8859-1) probably should not use this, ++therefore the international support is switched off by default ++for locales using ISO-8859-1* codesets. For all other locales this ++option is already used by default. ++.\"------- ++.At + .BR \-jpeg [ _quality ] + .I quality + .Ap diff --git a/source/t/xfig/xfig.SlackBuild b/source/t/xfig/xfig.SlackBuild new file mode 100755 index 000000000..010106ad0 --- /dev/null +++ b/source/t/xfig/xfig.SlackBuild @@ -0,0 +1,98 @@ +#!/bin/sh + +# Copyright 2007,2008,2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +VERSION=3.2.4 +ARCH=${ARCH:-x86_64} +BUILD=${BUILD:-3} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-xfig +rm -rf $PKG +mkdir -p $PKG $TMP + +cd $TMP +rm -rf xfig.$VERSION +tar xvf $CWD/xfig.$VERSION.full.tar.bz2 || exit 1 +cd xfig.$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 2775 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +zcat $CWD/xfig-3.2.4-mkstemp.diff.gz | patch -E -p1 --verbose || exit 1 +zcat $CWD/xfig.3.2.3d-international-std-fonts.diff.gz | patch -E -p1 --verbose || exit 1 +zcat $CWD/xfig.3.2.3d-xcolor.diff.gz | patch -E -p0 --verbose || exit 1 +zcat $CWD/xfig.3.2.3d-xim.diff.gz | patch -E -p1 --verbose || exit 1 +zcat $CWD/xfig.3.2.4-gcc4.diff.gz | patch -E -p0 --verbose || exit 1 +zcat $CWD/xfig.3.2.4-locale.diff.gz | patch -E -p0 --verbose || exit 1 +zcat $CWD/xfig.3.2.4-null.diff.gz | patch -E -p0 --verbose || exit 1 +zcat $CWD/xfig.3.2.4-quiet.diff.gz | patch -E -p0 --verbose || exit 1 +zcat $CWD/xfig.3.2.4-urw-fonts.diff.gz | patch -E -p0 --verbose || exit 1 +zcat $CWD/xfig.3.2.4.diff.gz | patch -E -p0 --verbose || exit 1 +# Eliminate menu choice for non-distributed (redundant) PDF documentation: +zcat $CWD/xfig.no.pdf.ref.diff.gz | patch -E -p1 --verbose || exit 1 +# Don't install PDF reference manual because the HTML manual is the same thing +# (and also includes a Japanese translation): +zcat $CWD/xfig.no.xfig_ref_en.pdf.diff.gz | patch -E -p1 --verbose || exit 1 +# Use Firefox and xpdf, not netscape and acroread: +zcat $CWD/xfig.fig.ad.diff.gz | patch -E -p1 --verbose || exit 1 +zcat $CWD/xfig.docs.location.diff.gz | patch -E -p1 --verbose || exit 1 + +xmkmf +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 +make install.man DESTDIR=$PKG || exit 1 +make install.libs DESTDIR=$PKG || exit 1 +make install.html DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +gzip -9 $PKG/usr/man/man1/* + +mkdir -p $PKG/usr/doc/xfig-$VERSION +cp -a \ + CHANGES FIGAPPS LATEX.AND.XFIG README \ + $PKG/usr/doc/xfig-$VERSION +( cd $PKG/usr/doc/xfig-$VERSION + ln -sf /usr/lib${LIBDIRSUFFIX}/X11/xfig/Libraries Libraries +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/xfig-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/t/xfig/xfig.docs.location.diff b/source/t/xfig/xfig.docs.location.diff new file mode 100644 index 000000000..78385c06c --- /dev/null +++ b/source/t/xfig/xfig.docs.location.diff @@ -0,0 +1,11 @@ +--- ./Imakefile.orig 2007-02-19 03:29:55.000000000 -0600 ++++ ./Imakefile 2007-02-19 03:32:49.000000000 -0600 +@@ -169,7 +169,7 @@ + + XCOMM XFIGDOCDIR tells where the html and pdf documentation should go + XCOMM XFIGDOCDIR = $(DOCDIR)/xfig +-XFIGDOCDIR = /usr/share/doc/packages/xfig ++XFIGDOCDIR = /usr/doc/xfig-3.2.4 + + XCOMM MANDIR tells where the standard man pages should go (no need to change it + XCOMM if you want the man pages installed in the standard place on your system diff --git a/source/t/xfig/xfig.fig.ad.diff b/source/t/xfig/xfig.fig.ad.diff new file mode 100644 index 000000000..a6a763a15 --- /dev/null +++ b/source/t/xfig/xfig.fig.ad.diff @@ -0,0 +1,30 @@ +--- ./Fig.ad.orig 2007-02-19 03:01:42.000000000 -0600 ++++ ./Fig.ad 2007-02-19 03:05:49.000000000 -0600 +@@ -22,16 +22,24 @@ + ! This is for viewing the xfig html reference. + ! For netscape, this command will open the help pages in a running netscape, + ! or start a new netscape if one isn't already running +-Fig.browser: /usr/bin/firefox %f ++! Fig.browser: netscape -remote 'openFile(%f)' || netscape %f ++! This example might work the same for SeaMonkey: ++! Fig.browser: seamonkey -remote 'openFile(%f)' || seamonkey %f ++! By default, let's try Firefox: ++Fig.browser: firefox %f + + ! pdfviewer - put your favorite pdf viewer here. + ! This is for viewing the xfig how-to guide and man pages +-Fig.pdfviewer: acroread %f ++! Fig.pdfviewer: acroread %f ++! Fig.pdfviewer: kpdf %f ++Fig.pdfviewer: xpdf %f + + ! Spell check program - put your favorite spelling check program here. + ! It must write the misspelled words to standard output. + +-Fig.spellcheckcommand: spell %f ++! Fig.spellcheckcommand: spell %f ++! Fig.spellcheckcommand: aspell -a %f ++Fig.spellcheckcommand: aspell -a %f + + ! delay before spinner automatically counts when pressed (milliseconds) + Fig.spinner_delay: 1000 diff --git a/source/t/xfig/xfig.no.pdf.ref.diff b/source/t/xfig/xfig.no.pdf.ref.diff new file mode 100644 index 000000000..5e694ab8c --- /dev/null +++ b/source/t/xfig/xfig.no.pdf.ref.diff @@ -0,0 +1,13 @@ +--- ./w_cmdpanel.c.orig 2006-08-14 18:53:22.000000000 -0500 ++++ ./w_cmdpanel.c 2006-08-14 18:55:02.000000000 -0500 +@@ -176,7 +176,9 @@ + /* Tom Sato said that the Japanese version of the pdf looked ugly so we'll not distribute it now */ + {"Xfig Reference (PDF, Japanese)...", 0, launch_refpdf_jp} + #else +- {"Xfig Reference (PDF)...", 0, launch_refpdf_en}, ++ /* Why both a PDF and an HTML that are the same? Remove redundant option */ ++ /* and don't distribute the English PDF with the Slackware package. */ ++ /* {"Xfig Reference (PDF)...", 0, launch_refpdf_en}, */ + #endif /* FIXED_JAPANESE_PDF */ + {"Xfig Man Pages (HTML)...", 5, launch_man}, + {"How-To Guide (PDF)...", 0, launch_howto}, diff --git a/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff b/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff new file mode 100644 index 000000000..e0b9f9efc --- /dev/null +++ b/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff @@ -0,0 +1,10 @@ +--- ./Imakefile.orig 2002-12-19 11:57:11.000000000 -0600 ++++ ./Imakefile 2006-08-14 19:20:56.000000000 -0500 +@@ -408,7 +408,6 @@ + @(cd Doc ; \ + echo Copying pdf and html files to $(DESTDIR)$(XFIGDOCDIR) ; \ + $(INSTALL) -m 644 -c xfig_man.html $(DESTDIR)$(XFIGDOCDIR) ; \ +- $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \ + $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \ + if [ -d $(DESTDIR)$(XFIGDOCDIR)/html ]; then set +x; \ + else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGDOCDIR)/html ); fi ; \ |