diff --git a/.gitignore b/.gitignore index 26e4cf7..dcb952e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,2 @@ -xfig.3.2.5b.full.tar.gz -/xfig-icons.tar.gz -/xfig.3.2.5c.full.tar.gz -/xfig_3.2.5.c-8.debian.tar.xz -/xfig-full-3.2.6.tar.xz -/xfig-3.2.6.tar.xz -/xfig-3.2.6a.tar.xz -/xfig-3.2.7a.tar.xz -/xfig-3.2.7b.tar.xz -/xfig-3.2.8a.tar.xz -/xfig-3.2.8b.tar.xz -/xfig-3.2.9.tar.xz -/mcj-xfig-ce9782a404b6a527393839369aac13dcfb66ff16.zip +xfig.3.2.4.full.tar.gz +xfig.3.2.5.full.tar.gz diff --git a/sources b/sources index 221c443..f5e4af5 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (mcj-xfig-ce9782a404b6a527393839369aac13dcfb66ff16.zip) = a0d483d77edb16d869596a53f89783efd232832b4447089227f34ff552836209f595e5cc9f179242386e85f6f8378607433913720aab29b9d69a2a4007404b47 -SHA512 (xfig-icons.tar.gz) = f7d9b314d57994d479712740dcac4a2c924ddacea028db1c6cdeef36fb7d846885c45d21499f7453c750c265eeb5877e4b032454911ce91667ccc550cb2112e5 +fae0c67a3951bd41c057deb63b6aa47a xfig.3.2.5.full.tar.gz diff --git a/xfig-3.2.4-redhat.patch b/xfig-3.2.4-redhat.patch new file mode 100644 index 0000000..3a34abd --- /dev/null +++ b/xfig-3.2.4-redhat.patch @@ -0,0 +1,31 @@ +--- xfig.3.2.4/Fig.ad.redhat 2002-12-19 01:05:41.000000000 +0100 ++++ xfig.3.2.4/Fig.ad 2003-05-06 11:45:15.000000000 +0200 +@@ -11,7 +11,7 @@ + Fig*AllowShellResize: false + + ! Image editor - can edit imported image +-Fig.image_editor: xv ++Fig.image_editor: xdg-open + + ! name of ghostscript (not ghostview) + Fig.ghostscript: gs +@@ -20,16 +20,16 @@ + ! 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: xdg-open %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: xdg-open %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: aspell %f + + ! delay before spinner automatically counts when pressed (milliseconds) + Fig.spinner_delay: 1000 diff --git a/xfig-3.2.5-color-resources.patch b/xfig-3.2.5-color-resources.patch new file mode 100644 index 0000000..4c7d690 --- /dev/null +++ b/xfig-3.2.5-color-resources.patch @@ -0,0 +1,39 @@ +diff -up xfig.3.2.5/Fig-color.ad~ xfig.3.2.5/Fig-color.ad +--- xfig.3.2.5/Fig-color.ad~ 2007-11-16 13:47:45.000000000 +0100 ++++ xfig.3.2.5/Fig-color.ad 2007-11-16 13:47:52.000000000 +0100 +@@ -93,7 +93,7 @@ Fig*sideruler.background: gray95 + + Fig*FigList*background: gray95 + Fig*List*background: gray95 +-Fig*Scrollbar.background: gray95 ++! Fig*Scrollbar.background: gray95 + + Fig*Label.background: gray80 + Fig*ind_box.background: gray80 +@@ -104,8 +104,8 @@ Fig*button_form.update*foreground: red + Fig*upd_ctrl_form.upd_ctrl_btns*shadowWidth: 2 + + !##### Shadows +-Fig*shadowWidth: 1 +-Fig*Label.shadowWidth: 1 ++!Fig*shadowWidth: 1 ++!Fig*Label.shadowWidth: 1 + Fig*horizontal.shadowWidth: 2 + Fig*Scrollbar.shadowWidth: 2 + ! no shadows for update indicators +@@ -136,3 +136,15 @@ Fig*color_box*topShadowPixel: gray80 + + Fig*toggle*bottomShadowPixel: gray80 + Fig*toggle*topShadowPixel: gray50 ++ ++! repare damage done to scrollbar shadows non color resources file ++ ++Fig*horizontal.topShadowPixel: gray95 ++Fig*horizontal.bottomShadowPixel: gray50 ++Fig*horizontal.topShadow: gray95 ++Fig*horizontal.bottomShadow: gray50 ++ ++Fig*Scrollbar.topShadow: gray95 ++Fig*Scrollbar.bottomShadow: gray50 ++Fig*Scrollbar.topShadowPixel: gray95 ++Fig*Scrollbar.bottomShadowPixel: gray50 diff --git a/xfig-3.2.5-enable-Xaw3d.patch b/xfig-3.2.5-enable-Xaw3d.patch new file mode 100644 index 0000000..7f6e1a0 --- /dev/null +++ b/xfig-3.2.5-enable-Xaw3d.patch @@ -0,0 +1,34 @@ +diff -up xfig.3.2.5/Imakefile.no-Xaw3d xfig.3.2.5/Imakefile +--- xfig.3.2.5/Imakefile.no-Xaw3d 2007-11-16 10:38:18.000000000 +0100 ++++ xfig.3.2.5/Imakefile 2007-11-16 10:38:49.000000000 +0100 +@@ -50,16 +50,16 @@ XAPPLOADDIR = /usr/share/X11/app-default + XCOMM Uncomment the following definition for XAW3D if you want to use + XCOMM the 3d Athena Widget Set (highly recommended!) + +-XCOMM #define XAW3D ++#define XAW3D + + XCOMM Uncomment the following if you have David Hawkey's Xaw3D version 1.5E which has + XCOMM some new features, including "Tips", which replace xfig's "help balloons" + +-XCOMM #define XAW3D1_5E ++#define XAW3D1_5E + + #ifdef XAW3D1_5E + DUSEXAW3D = -DXAW3D -DXAW3D1_5E +- XAWLIB = -lXaw3d15e ++ XAWLIB = -lXaw3d + #else + XAW_SRC = w_menuentry.c SmeCascade.c SmeBSB.c SimpleMenu.c + XAW_OBJ = w_menuentry.o SmeCascade.o SmeBSB.o SimpleMenu.o +diff -up xfig.3.2.5/w_library.c.no-Xaw3d xfig.3.2.5/w_library.c +--- xfig.3.2.5/w_library.c.no-Xaw3d 2006-04-03 18:27:30.000000000 +0200 ++++ xfig.3.2.5/w_library.c 2007-11-16 10:38:18.000000000 +0100 +@@ -1029,6 +1029,7 @@ make_library_menu(Widget parent, char *n + Widget menu, entry; + #ifndef XAW3D1_5E + Widget submenu; ++#else + char submenu_name[200]; + #endif /* XAW3D1_5E */ + char menu_name[200]; diff --git a/xfig-3.2.5-fhs.patch b/xfig-3.2.5-fhs.patch new file mode 100644 index 0000000..02b98b6 --- /dev/null +++ b/xfig-3.2.5-fhs.patch @@ -0,0 +1,18 @@ +--- xfig.3.2.5/Imakefile.fhs 2006-10-11 01:19:22.000000000 +0200 ++++ xfig.3.2.5/Imakefile 2007-04-16 14:04:45.000000000 +0200 +@@ -169,13 +169,11 @@ + XFIGLIBDIR = $(LIBDIR)/xfig + + XCOMM XFIGDOCDIR tells where the html and pdf documentation should go +-XCOMM XFIGDOCDIR = $(DOCDIR)/xfig +-XFIGDOCDIR = /usr/local/xfig/doc ++XFIGDOCDIR = $(DOCDIR)/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 +-XCOMM MANDIR = $(MANSOURCEPATH)$(MANSUFFIX) +-MANDIR = /usr/local/xfig/man ++MANDIR = $(MANSOURCEPATH)$(MANSUFFIX) + + XCOMM If your system doesn't have strstr undefine the following definition + XCOMM HAVE_NO_NOSTRSTR = -DNOSTRSTR diff --git a/xfig-3.2.5-mkstemp.diff b/xfig-3.2.5-mkstemp.diff new file mode 100644 index 0000000..c5b1af7 --- /dev/null +++ b/xfig-3.2.5-mkstemp.diff @@ -0,0 +1,311 @@ +--- xfig.3.2.5/f_readtif.c.mkstemp 2005-07-26 18:39:59.000000000 +0200 ++++ xfig.3.2.5/f_readtif.c 2007-04-16 14:05:22.000000000 +0200 +@@ -33,11 +33,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.5/u_print.c.mkstemp 2006-02-24 21:18:11.000000000 +0100 ++++ xfig.3.2.5/u_print.c 2007-04-16 14:05:22.000000000 +0200 +@@ -92,9 +92,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(); +@@ -648,10 +655,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.5/f_util.c.mkstemp 2007-01-16 18:58:18.000000000 +0100 ++++ xfig.3.2.5/f_util.c 2007-04-16 14:05:22.000000000 +0200 +@@ -906,14 +906,20 @@ + int strain_out(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.5/main.c.mkstemp 2007-01-15 01:24:26.000000000 +0100 ++++ xfig.3.2.5/main.c 2007-04-16 14:05:22.000000000 +0200 +@@ -653,8 +653,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 */ +@@ -1669,7 +1671,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.5/w_print.c.mkstemp 2005-07-26 18:40:01.000000000 +0200 ++++ xfig.3.2.5/w_print.c 2007-04-16 14:05:22.000000000 +0200 +@@ -294,9 +294,10 @@ + do_print_batch(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; +@@ -305,11 +306,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); + +@@ -322,6 +332,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, print_grid_major_text); + +--- xfig.3.2.5/f_readppm.c.mkstemp 2005-07-26 18:39:59.000000000 +0200 ++++ xfig.3.2.5/f_readppm.c 2007-04-16 14:05:22.000000000 +0200 +@@ -34,10 +34,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.5/f_readgif.c.mkstemp 2005-07-26 18:39:59.000000000 +0200 ++++ xfig.3.2.5/f_readgif.c 2007-04-16 14:05:22.000000000 +0200 +@@ -76,7 +76,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; +@@ -173,7 +173,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.5/w_srchrepl.c.mkstemp 2005-07-26 18:40:02.000000000 +0200 ++++ xfig.3.2.5/w_srchrepl.c 2007-04-16 14:05:22.000000000 +0200 +@@ -788,7 +788,7 @@ + char *cmd; + char str[300]; + FILE *fp; +- int len, i; ++ int len, i, fd; + Boolean done = FALSE; + static int lines = 0; + +@@ -804,9 +804,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 */ +--- xfig.3.2.5/f_readeps.c.mkstemp 2005-10-31 18:40:38.000000000 +0100 ++++ xfig.3.2.5/f_readeps.c 2007-04-16 14:19:32.000000000 +0200 +@@ -250,11 +250,10 @@ + int urx, llx, ury, lly; + int pdf_flag; + { +- static tempseq = 0; + 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], +@@ -270,8 +269,12 @@ + /* re-open the pipe */ + close_picfile(file, filetype); + file = open_picfile(tmpfile, &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; + } +@@ -280,10 +283,20 @@ + fclose(tmpfp); + } + /* make name /TMPDIR/xfig-pic######.pix */ +- sprintf(pixnam, "%s/%s%06d.pix", TMPDIR, "xfig-pic", tempseq); ++ 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", tempseq); +- tempseq++; ++ 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 */ +--- xfig.3.2.5/mode.c.mkstemp 2005-07-26 18:40:00.000000000 +0200 ++++ xfig.3.2.5/mode.c 2007-04-16 14:05:22.000000000 +0200 +@@ -86,7 +86,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 */ diff --git a/xfig-3.2.5-quiet.patch b/xfig-3.2.5-quiet.patch new file mode 100644 index 0000000..00803fc --- /dev/null +++ b/xfig-3.2.5-quiet.patch @@ -0,0 +1,12 @@ +diff -up xfig.3.2.5/w_drawprim.c~ xfig.3.2.5/w_drawprim.c +--- xfig.3.2.5/w_drawprim.c~ 2007-11-16 13:21:55.000000000 +0100 ++++ xfig.3.2.5/w_drawprim.c 2007-11-16 13:21:55.000000000 +0100 +@@ -512,7 +512,7 @@ void init_gc(void) + gccache[ERASE] = makegc(ERASE, x_fg_color.pixel, x_bg_color.pixel); + gccache[INV_PAINT] = makegc(INV_PAINT, x_fg_color.pixel, x_bg_color.pixel); + /* parse any grid color spec */ +-fprintf(stderr,"color = '%s'\n",appres.grid_color); ++/* fprintf(stderr,"color = '%s'\n",appres.grid_color); */ + XParseColor(tool_d, tool_cm, appres.grid_color, &tmp_color); + if (XAllocColor(tool_d, tool_cm, &tmp_color)==0) { + fprintf(stderr,"Can't allocate color for grid \n"); diff --git a/xfig-3.2.5-urwfonts.patch b/xfig-3.2.5-urwfonts.patch new file mode 100644 index 0000000..7bc766b --- /dev/null +++ b/xfig-3.2.5-urwfonts.patch @@ -0,0 +1,79 @@ +--- xfig.3.2.4/u_fonts.c 2002-09-09 13:36:58.000000000 -0400 ++++ new-xfig-3.2.4/u_fonts.c 2006-10-11 00:29:07.000000000 -0400 +@@ -22,41 +22,41 @@ + /* X11 font names */ + + struct _xfstruct x_fontinfo[NUM_FONTS] = { +- {"-*-times-medium-r-normal--", (struct xfont*) NULL}, +- {"-*-times-medium-i-normal--", (struct xfont*) NULL}, +- {"-*-times-bold-r-normal--", (struct xfont*) NULL}, +- {"-*-times-bold-i-normal--", (struct xfont*) NULL}, +- {"-*-avantgarde-book-r-normal--", (struct xfont*) NULL}, +- {"-*-avantgarde-book-o-normal--", (struct xfont*) NULL}, +- {"-*-avantgarde-demi-r-normal--", (struct xfont*) NULL}, +- {"-*-avantgarde-demi-o-normal--", (struct xfont*) NULL}, +- {"-*-bookman-light-r-normal--", (struct xfont*) NULL}, +- {"-*-bookman-light-i-normal--", (struct xfont*) NULL}, +- {"-*-bookman-demi-r-normal--", (struct xfont*) NULL}, +- {"-*-bookman-demi-i-normal--", (struct xfont*) NULL}, +- {"-*-courier-medium-r-normal--", (struct xfont*) NULL}, +- {"-*-courier-medium-o-normal--", (struct xfont*) NULL}, +- {"-*-courier-bold-r-normal--", (struct xfont*) NULL}, +- {"-*-courier-bold-o-normal--", (struct xfont*) NULL}, +- {"-*-helvetica-medium-r-normal--", (struct xfont*) NULL}, +- {"-*-helvetica-medium-o-normal--", (struct xfont*) NULL}, +- {"-*-helvetica-bold-r-normal--", (struct xfont*) NULL}, +- {"-*-helvetica-bold-o-normal--", (struct xfont*) NULL}, +- {"-*-helvetica-medium-r-narrow--", (struct xfont*) NULL}, +- {"-*-helvetica-medium-o-narrow--", (struct xfont*) NULL}, +- {"-*-helvetica-bold-r-narrow--", (struct xfont*) NULL}, +- {"-*-helvetica-bold-o-narrow--", (struct xfont*) NULL}, +- {"-*-new century schoolbook-medium-r-normal--", (struct xfont*) NULL}, +- {"-*-new century schoolbook-medium-i-normal--", (struct xfont*) NULL}, +- {"-*-new century schoolbook-bold-r-normal--", (struct xfont*) NULL}, +- {"-*-new century schoolbook-bold-i-normal--", (struct xfont*) NULL}, +- {"-*-palatino-medium-r-normal--", (struct xfont*) NULL}, +- {"-*-palatino-medium-i-normal--", (struct xfont*) NULL}, +- {"-*-palatino-bold-r-normal--", (struct xfont*) NULL}, +- {"-*-palatino-bold-i-normal--", (struct xfont*) NULL}, +- {"-*-symbol-medium-r-normal--", (struct xfont*) NULL}, +- {"-*-itc zapf chancery-medium-i-normal--", (struct xfont*) NULL}, +- {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus roman no9 l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-medium-o-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-semibold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw gothic l-semibold-o-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw bookman l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-medium-o-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus mono l-bold-o-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l condensed-medium-r-condensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l condensed-medium-i-condensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l condensed-bold-r-condensed--", (struct xfont*) NULL}, ++ {"-urw-nimbus sans l condensed-bold-i-condensed--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-century schoolbook l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-bold-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw palladio l-bold-i-normal--", (struct xfont*) NULL}, ++ {"-urw-standard symbols l-medium-r-normal--", (struct xfont*) NULL}, ++ {"-urw-urw chancery l-medium-i-normal--", (struct xfont*) NULL}, ++ {"-urw-dingbats-medium-r-normal--", (struct xfont*) NULL}, + }; + + /* Use the following font names for any font that doesn't exist in the table above. diff --git a/xfig-3.2.5-zoom-crash.patch b/xfig-3.2.5-zoom-crash.patch new file mode 100644 index 0000000..49bfbcd --- /dev/null +++ b/xfig-3.2.5-zoom-crash.patch @@ -0,0 +1,60 @@ +diff -up xfig.3.2.5/w_rulers.c~ xfig.3.2.5/w_rulers.c +--- xfig.3.2.5/w_rulers.c~ 2007-12-12 20:28:30.000000000 +0100 ++++ xfig.3.2.5/w_rulers.c 2007-12-12 20:28:30.000000000 +0100 +@@ -1166,7 +1166,7 @@ void reset_topruler(void) + register int i,k; + register tick_info* tk; + register Pixmap p = topruler_pm; +- char number[6]; ++ char number[16]; + int X0,len; + int tickmod, tickskip; + +@@ -1183,7 +1183,7 @@ void reset_topruler(void) + tickmod = 1; + + /* see how big a label is to adjust spacing, if necessary */ +- sprintf(number, "%d%s", (X0+(int)((TOPRULER_WD/zoomscale)))/tickmod, cur_fig_units); ++ snprintf(number, sizeof(number), "%d%s", (X0+(int)((TOPRULER_WD/zoomscale)))/tickmod, cur_fig_units); + len = XTextWidth(roman_font, number, strlen(number)); + while (skipx < (len + 5)/zoomscale) { + skip *= 2; +@@ -1197,11 +1197,11 @@ void reset_topruler(void) + /* string */ + if (i % skipx == 0) { + if ((i/10) % tickmod == 0) +- sprintf(number, "%d%s", i/tickmod, cur_fig_units); ++ snprintf(number, sizeof(number), "%d%s", i/tickmod, cur_fig_units); + else if (i % tickmod == 0) +- sprintf(number, "%d", i/tickmod); ++ snprintf(number, sizeof(number), "%d", i/tickmod); + else +- sprintf(number, precstr, (float)(1.0 * i / tickmod)); ++ snprintf(number, sizeof(number), precstr, (float)(1.0 * i / tickmod)); + /* get length of string to position it */ + len = XTextWidth(roman_font, number, strlen(number)); + /* we center on the number only, letting the minus sign hang out */ +@@ -1425,7 +1425,7 @@ void reset_sideruler(void) + register int i,k; + register tick_info* tk; + register Pixmap p = sideruler_pm; +- char number[6],len; ++ char number[16],len; + int Y0; + int tickmod, tickskip; + +@@ -1456,11 +1456,11 @@ void reset_sideruler(void) + /* string */ + if (i % skipx == 0) { + if ((i/10) % tickmod == 0) +- sprintf(number, "%d%s", i/tickmod, cur_fig_units); ++ snprintf(number, sizeof(number), "%d%s", i/tickmod, cur_fig_units); + else if (i % tickmod == 0) +- sprintf(number, "%d", i/tickmod); ++ snprintf(number, sizeof(number), "%d", i/tickmod); + else +- sprintf(number, precstr, (float)(1.0 * i / tickmod)); ++ snprintf(number, sizeof(number), precstr, (float)(1.0 * i / tickmod)); + /* get length of string to position it */ + len = XTextWidth(roman_font, number, strlen(number)); + /* vertically centered on inch/cm mark */ diff --git a/xfig.3.2.5-Xaw3d.patch b/xfig.3.2.5-Xaw3d.patch new file mode 100644 index 0000000..75799f9 --- /dev/null +++ b/xfig.3.2.5-Xaw3d.patch @@ -0,0 +1,11 @@ +--- xfig.3.2.5/Imakefile.Xaw3d 2007-04-16 14:56:58.000000000 +0200 ++++ xfig.3.2.5/Imakefile 2007-04-16 14:57:26.000000000 +0200 +@@ -50,7 +50,7 @@ + XCOMM Uncomment the following definition for XAW3D if you want to use + XCOMM the 3d Athena Widget Set (highly recommended!) + +-#define XAW3D ++XCOMM #define XAW3D + + XCOMM Uncomment the following if you have David Hawkey's Xaw3D version 1.5E which has + XCOMM some new features, including "Tips", which replace xfig's "help balloons" diff --git a/xfig.3.2.5-modularX.patch b/xfig.3.2.5-modularX.patch new file mode 100644 index 0000000..9f7d871 --- /dev/null +++ b/xfig.3.2.5-modularX.patch @@ -0,0 +1,28 @@ +--- xfig.3.2.5/Imakefile.modularX 2007-04-16 14:27:49.000000000 +0200 ++++ xfig.3.2.5/Imakefile 2007-04-16 14:29:18.000000000 +0200 +@@ -45,7 +45,7 @@ + XCOMM different tree than the "correct" tree that your X system expects. The usual + XCOMM purpose of DESTDIR is to test an install process by installing in a benign area. + +-XCOMM XAPPLOADDIR = /home/user/xfig ++XAPPLOADDIR = /usr/share/X11/app-defaults + + XCOMM Uncomment the following definition for XAW3D if you want to use + XCOMM the 3d Athena Widget Set (highly recommended!) +@@ -166,14 +166,14 @@ + XCOMM XFIGLIBDIR = $(LIBDIR) + + XCOMM use this if you want the multi-key data base file in the standard X11 tree +-XFIGLIBDIR = $(LIBDIR)/xfig ++XFIGLIBDIR = /usr/share/xfig + + XCOMM XFIGDOCDIR tells where the html and pdf documentation should go + XFIGDOCDIR = $(DOCDIR)/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 +-MANDIR = $(MANSOURCEPATH)$(MANSUFFIX) ++MANDIR = /usr/share/man/man1 + + XCOMM If your system doesn't have strstr undefine the following definition + XCOMM HAVE_NO_NOSTRSTR = -DNOSTRSTR diff --git a/xfig.desktop b/xfig.desktop new file mode 100644 index 0000000..3fd49e7 --- /dev/null +++ b/xfig.desktop @@ -0,0 +1,47 @@ +[Desktop Entry] +Encoding=UTF-8 +Categories=Graphics; +MimeType=image/fig;image/x-xfig; +Exec=xfig +Icon=xfig +Type=Application +Name=Xfig +Name[eo]=XDesegno +Name[et]=Ffig +Name[ja]=xfig +Name[no]=X-figur +Comment=Xfig drawing application +Comment[bg]=Xfig ïðîãðàìà çà ðèñóâàíå +Comment[ca]=Aplicació de dibuix Xfig +Comment[cs]=Aplikace pro kreslení vektorových obrázků +Comment[da]=Xfig tegneprogram +Comment[de]=Xfig-Zeichenprogramm +Comment[el]=Xfig +Comment[eo]=Desegnilo "Xfig" +Comment[es]=Aplicación de diseño vectorial (objetos) +Comment[et]=XFig joonistusprogramm +Comment[fi]=Xfig vektoripiirto-ohjelma +Comment[fr]=Programme de dessin objet Xfig +Comment[gl]=Aplicación de debuxo (obxectos) +Comment[he]=Xfig רויצה םושיי +Comment[hr]=Program za crtanje +Comment[hu]=Rajzolóprogram +Comment[is]=Hlutbundið teikniforrit +Comment[it]=Applicazione di disegno Xfig +Comment[lt]=Xfig braižymo programa +Comment[mk]=Едноставна апликација за векторско цртање +Comment[nl]=Xfig-tekenprogramma +Comment[no]=Xfig-tegneprogram +Comment[no_NY]=Teikneprogrammet Xfig +Comment[pl]=Aplikacja do kreślenia +Comment[pt]=Aplicação de desenho +Comment[ro]=Program de desenare vectorială +Comment[ru]=Приложения для рисования векторной графики +Comment[sk]=Xfig aplikácia pre kreslenie vektorových obrázkov +Comment[sl]=Program za risanje Xfig +Comment[sr]=Xfig prgram za vektorsko crtanje +Comment[sv]=Xfig ritprogram +Comment[ta]=Xfig Ũþø ÀÂýÀ¡Î +Comment[tr]=Xfig çizim uygulaması +Comment[uk]=Xfig +Comment[zh_CN.GB2312]=Xfig 绘图应用程序 diff --git a/xfig.png b/xfig.png new file mode 100644 index 0000000..c0d68e9 Binary files /dev/null and b/xfig.png differ diff --git a/xfig.rpmlintrc b/xfig.rpmlintrc deleted file mode 100644 index e87b437..0000000 --- a/xfig.rpmlintrc +++ /dev/null @@ -1,5 +0,0 @@ -addFilter("W: invalid-url Source1") -addFilter("W: no-%check-section") -addFilter("W: files-duplicate /usr/share/") -addFilter("E: non-executable-script /usr/share/xfig/Libraries/Maps/") -addFilter("E: spelling-error") diff --git a/xfig.sh b/xfig.sh new file mode 100644 index 0000000..3df7cea --- /dev/null +++ b/xfig.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -x /usr/bin/xfig-Xaw3d ]; then + cd /usr/share/X11/app-defaults + xrdb -merge Fig-color 2> /dev/null + cd - > /dev/null + exec xfig-Xaw3d "$@" +else + exec xfig-plain "$@" +fi diff --git a/xfig.spec b/xfig.spec index 2443f40..09d0563 100644 --- a/xfig.spec +++ b/xfig.spec @@ -1,27 +1,34 @@ -%global commit ce9782a404b6a527393839369aac13dcfb66ff16 -%global commitdate 20250317 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%define app_defaults_dir %{_datadir}/X11/app-defaults Summary: An X Window System tool for drawing basic vector graphics Name: xfig -Version: 3.2.9a -Release: 3.%{commitdate}git%{shortcommit}%{?dist} +Version: 3.2.5 +Release: 7%{?dist} License: MIT -URL: https://en.wikipedia.org/wiki/Xfig -#Source0: http://downloads.sourceforge.net/mcj/xfig-%%{version}.tar.xz -Source0: https://sourceforge.net/code-snapshots/git/m/mc/mcj/xfig.git/mcj-xfig-%{commit}.zip -Source1: xfig-icons.tar.gz +Group: Applications/Multimedia +URL: http://www.xfig.org/ +Source0: http://www.xfig.org/xfigdist/xfig.%{version}.full.tar.gz +Source1: xfig.png +Source2: xfig.desktop +Source3: xfig.sh + +Patch0: xfig-3.2.4-redhat.patch +Patch1: xfig-3.2.5-fhs.patch +Patch2: xfig-3.2.5-mkstemp.diff +Patch7: xfig.3.2.5-modularX.patch +Patch9: xfig.3.2.5-Xaw3d.patch +Patch10: xfig-3.2.5-enable-Xaw3d.patch +Patch11: xfig-3.2.5-color-resources.patch +Patch12: xfig-3.2.5-quiet.patch +Patch13: xfig-3.2.5-urwfonts.patch +Patch14: xfig-3.2.5-zoom-crash.patch -BuildRequires: make -BuildRequires: gcc libtool -BuildRequires: transfig BuildRequires: libjpeg-devel BuildRequires: libpng-devel -BuildRequires: libtiff-devel +BuildRequires: imake BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel -BuildRequires: libXft-devel BuildRequires: libXaw-devel BuildRequires: libXext-devel BuildRequires: libXi-devel @@ -29,22 +36,12 @@ BuildRequires: libXmu-devel BuildRequires: libXpm-devel BuildRequires: libXt-devel BuildRequires: Xaw3d-devel -BuildRequires: man2html-core ImageMagick -# For eps preview generation -Requires: ghostscript -Requires: transfig -# Used in the UI -Requires: xorg-x11-fonts-misc -# For scalable fonts, inc. Bookman, New Century Schoolbook and Palatino -Requires: urw-base35-fonts-legacy +BuildRequires: desktop-file-utils -# We used to have seperate Xaw3d and non Xaw3d pkgs, now we only have Xaw3d -Obsoletes: %{name}-common < %{version}-%{release} -Provides: %{name}-common = %{version}-%{release} -Obsoletes: %{name}-plain < %{version}-%{release} -Provides: %{name}-plain = %{version}-%{release} -Obsoletes: %{name}-Xaw3d < %{version}-%{release} -Provides: %{name}-Xaw3d = %{version}-%{release} +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Requires: %{name}-common = %{version}-%{release} +Provides: %{name}-executable = %{version}-%{release} %description Xfig is an X Window System tool for creating basic vector graphics, @@ -57,201 +54,395 @@ You should install xfig if you need a simple program to create vector graphics. +%package Xaw3d +Summary: Xaw3d version of xfig +Group: Applications/Multimedia +# for xrdb +Requires: xorg-x11-server-utils +Requires: %{name}-common = %{version}-%{release} +Provides: %{name}-executable = %{version}-%{release} + +%description Xaw3d +Xaw3d version of xfig, an X Window System tool for creating basic vector +graphics, including bezier curves, lines, rulers and more. The Xaw3d version +is a more modern / prettier looking version of the normal xfig program, other +then that it is identical. + + +%package common +Summary: Common xfig files +Group: Applications/Multimedia +Requires: transfig >= 1:3.2.5, xdg-utils, aspell, urw-fonts +# So that this will get uninstalled together with xfig / xfig-Xaw3d +Requires: %{name}-executable = %{version}-%{release} + +%description common +Files common to both the plain Xaw and the Xaw3d version of xfig. + + %prep -%autosetup -p1 -a 1 -n mcj-xfig-%{commit} -for i in doc/html/japanese/button_frame.fig doc/html/japanese/japanese.ps \ - doc/html/animate.js; do - sed -i.orig 's/\r//' $i; touch -r $i.orig $i; rm $i.orig +%setup -q -n xfig.%{version} +%patch0 -p1 -b .redhat +%patch1 -p1 -b .fhs +%patch2 -p1 -b .mkstemp +%patch7 -p1 -b .modularX +%patch9 -p1 -b .Xaw3d +%patch10 -p1 -b .no-Xaw3d +%patch11 -p1 -b .color-resources +%patch12 -p1 -b .quiet +%patch13 -p1 -b .urw +%patch14 -p1 -b .zoom-crash +ln -nfs Doc/xfig.man xfig.man +find -type f -print0 | xargs -0 chmod -x +rm `find Doc -name '*.orig'` Doc/html/*.save Doc/html/images/sav1a0.tmp +sed -i 's/\r//g' Doc/html/index.html +for i in Doc/html/{new_features,new_features.3.2.4,bugs_fixed.3.2.4}.html; do + iconv -f ISO-8859-1 -t UTF8 $i > $i.UTF-8 + mv $i.UTF-8 $i done -autoreconf -i %build -# Fedora's Xaw3d is built with -DXAW_ARROW_SCROLLBARS -export CFLAGS="-DXAW_ARROW_SCROLLBARS $RPM_OPT_FLAGS -fno-strength-reduce -fno-strict-aliasing" -%configure -%make_build +# First build the Xaw3d version +xmkmf +# make sure cmdline option parsing still works despite us renaming the binary +sed -i 's/"xfig"/"xfig-Xaw3d"/' main.c +make XFIGDOCDIR=%{_docdir}/%{name}-%{version} \ + CDEBUGFLAGS="$RPM_OPT_FLAGS -fno-strength-reduce -fno-strict-aliasing" +mv xfig xfig-Xaw3d +make distclean + +# And then build the normal Xaw version +mv Imakefile.no-Xaw3d Imakefile +xmkmf +# make sure cmdline option parsing still works despite us renaming the binary +sed -i 's/"xfig-Xaw3d"/"xfig-plain"/' main.c +make XFIGDOCDIR=%{_docdir}/%{name}-%{version} \ + CDEBUGFLAGS="$RPM_OPT_FLAGS -fno-strength-reduce -fno-strict-aliasing" %install -%make_install INSTALL="install -p" -cp -p README CHANGES FIGAPPS $RPM_BUILD_ROOT%{_docdir}/%{name} +rm -rf %{buildroot} -rm -r $RPM_BUILD_ROOT%{_datadir}/pixmaps -mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,32x32,64x64}/apps -convert %{name}16x16.xpm \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png -convert %{name}32x32.xpm \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png -convert %{name}64x64.xpm \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/%{name}.png +make DESTDIR=%{buildroot} XFIGDOCDIR=%{_docdir}/%{name}-%{version} install.all + +# install the Xaw3d version and the wrapper for the .desktop file +mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}-plain +install -p -m 755 %{SOURCE3} %{buildroot}%{_bindir}/%{name} +install -m 755 %{name}-Xaw3d %{buildroot}%{_bindir} + +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps \ + %{buildroot}%{_datadir}/applications + +install -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps + +desktop-file-install --vendor fedora \ + --dir %{buildroot}%{_datadir}/applications \ + %{SOURCE2} + +# remove app-defaults symlink which gets installed +rm %{buildroot}%{_prefix}/lib*/X11/app-defaults + + +%clean +rm -rf %{buildroot} + + +%post common +update-desktop-database &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun common +update-desktop-database &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi %files -%doc %{_docdir}/%{name} +%defattr(-,root,root,-) +%{_bindir}/%{name}-plain + +%files Xaw3d +%defattr(-,root,root,-) +%{_bindir}/%{name}-Xaw3d + +%files common +%defattr(-,root,root,-) +%doc %{_docdir}/%{name}-%{version} %{_bindir}/%{name} %{_datadir}/%{name} -%{_mandir}/man1/%{name}.1* -%{_datadir}/X11/app-defaults/Fig -%{_datadir}/metainfo/org.xfig.xfig.metainfo.xml -%{_datadir}/applications/org.xfig.xfig.desktop -%{_datadir}/icons/hicolor/??x??/apps/%{name}.png +%{_mandir}/*/* +%{app_defaults_dir}/* +%{_datadir}/applications/fedora-%{name}.desktop +%{_datadir}/icons/hicolor/32x32/apps/%{name}.png %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 3.2.9a-3.20250317gitce9782a -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild +* Thu Feb 28 2008 Hans de Goede 3.2.5-7 +- Fix cmdline parsing (broken by renaming the binary) (bz 435097) -* Sat Jan 17 2026 Fedora Release Engineering - 3.2.9a-2.20250317gitce9782a -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild +* Wed Dec 12 2007 Hans de Goede 3.2.5-6 +- Fix xfig crashing when zooming in a lot (bz 420411) -* Wed Aug 6 2025 Hans de Goede - 3.2.9a-1.20250317gitce9782a -- Update to 3.2.9a + latest git changes to fix build with -std=c11 -- Switch to upstream appdata/metainfo and desktop file -- Drop all patches (all upstreamed) -- Resolves: rhbz#2341567 -- Resolves: rhbz#2385740 +* Fri Nov 16 2007 Hans de Goede 3.2.5-5 +- Also compile a version against Xaw3d instead of plain Xaw, available in the + new xfig-Xaw3d package +- Various specfile cleanups for packaging guidelines compliance +- Remove spurious executable permissions on various files (bz 247424) +- Apply patch fixing problems with xfig not finding fonts (bz 210278) -* Fri Jul 25 2025 Fedora Release Engineering - 3.2.9-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Thu Nov 15 2007 Than Ngo 3.2.5-4 +- fix #201992, xfig crashes in the edit function -* Sun Jan 19 2025 Fedora Release Engineering - 3.2.9-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +* Thu Nov 15 2007 Than Ngo 3.2.5-3 +- fix #201992, xfig crashes in the edit function -* Sat Jul 20 2024 Fedora Release Engineering - 3.2.9-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild +* Fri Oct 05 2007 Than Ngo - 3.2.5-2 +- rh#313321, use xdg-open -* Mon Feb 26 2024 Hans de Goede - 3.2.9-4 -- Fix missing Dingbats and Symbol glyphs -- Resolves: rhbz#2260359 +* Mon Apr 16 2007 Than Ngo - 3.2.5-1.fc7 +- 3.2.5 -* Sat Jan 27 2024 Fedora Release Engineering - 3.2.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +* Wed Jul 12 2006 Jesse Keating - 3.2.4-21.1 +- rebuild -* Thu Jan 18 2024 Mamoru TASAKA - 3.2.9-2 -- Backport upstream patches for upstream 2 issues - - Fix exporting only active layers - - Sanitize a call to realloc (redhat #2252679) +* Tue May 16 2006 Than Ngo 3.2.4-21 +- fix #191816, Xaw3d build problem -* Sat Aug 26 2023 Ranjan Maitra - 3.2.9-1 -- New upstream release 3.2.9 +* Fri May 05 2006 Than Ngo 3.2.4-20 +- fix #169330, wrong docdir +- fix #187902, no parameter negotiation for xfig +- fix #182451, switch xfig's pdf viewer to evince -* Sat Jan 21 2023 Fedora Release Engineering - 3.2.8b-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +* Tue Apr 25 2006 Adam Jackson 3.2.4-19 +- Rebuild for updated imake build rules -* Sat Jul 23 2022 Fedora Release Engineering - 3.2.8b-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild +* Tue Apr 04 2006 Than Ngo 3.2.4-18 +- no parameter negotiation for xfig, fix #187902 -* Sat Jan 22 2022 Fedora Release Engineering - 3.2.8b-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild +* Fri Feb 10 2006 Jesse Keating - 3.2.4-17.2 +- bump again for double-long bug on ppc(64) -* Mon Oct 11 2021 Hans de Goede - 3.2.8b-1 -- New upstream release 3.2.8b +* Tue Feb 07 2006 Jesse Keating - 3.2.4-17.1 +- rebuilt for new gcc4.1 snapshot and glibc changes -* Fri Jul 23 2021 Fedora Release Engineering - 3.2.8a-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +* Wed Dec 21 2005 Than Ngo 3.2.4-17 +- workaround for utf8 -* Sat May 29 2021 Hans de Goede - 3.2.8a-1 -- New upstream release 3.2.8a +* Sun Dec 18 2005 Than Ngo 3.2.4-16 +- add correct app-defaults directory -* Thu Jan 28 2021 Fedora Release Engineering - 3.2.7b-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild +* Fri Dec 09 2005 Jesse Keating +- rebuilt -* Sat Aug 01 2020 Fedora Release Engineering - 3.2.7b-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* Tue Nov 15 2005 Than Ngo 3.2.4-15 +- fix for modular X -* Wed Jul 29 2020 Fedora Release Engineering - 3.2.7b-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* Mon Oct 24 2005 Than Ngo 3.2.4-14 +- enable xpm support #158422 -* Fri Jan 31 2020 Fedora Release Engineering - 3.2.7b-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +* Tue Jul 19 2005 Than Ngo 3.2.4-13 +- buildrequires on xorg-x11-devel -* Thu Jan 16 2020 Hans de Goede - 3.2.7b-1 -- New upstream release 3.2.7b +* Mon Jul 18 2005 Than Ngo 3.2.4-12 +- fix another buffer overflow #163413 -* Sat Jul 27 2019 Fedora Release Engineering - 3.2.7a-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild +* Thu May 19 2005 Than Ngo 3.2.4-11 +- apply patch to fix buffer overflow #158088 -* Sun Feb 03 2019 Fedora Release Engineering - 3.2.7a-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild +* Mon Mar 21 2005 Than Ngo 3.2.4-10 +- fix font warning #116542 -* Fri Jan 11 2019 Hans de Goede - 3.2.7a-2 -- Fix spline drawing (rhbz#1665237) +* Mon Mar 07 2005 Than Ngo 3.2.4-9 +- cleanup -* Mon Oct 29 2018 Hans de Goede - 3.2.7a-1 -- New upstream release 3.2.7a -- Add Requires: transfig to make sure esp export works (rhbz#1642033) -- Switch back to URW fonts so that Bookman, New Century Schoolbook and - Palatino work again. This uses the old version of the URW fonts which are - now packaged as urw-base35-fonts-legacy (rhbz#1523624, rhbz#1551219) -- Trim the changelog +* Sat Mar 05 2005 Than Ngo 3.2.4-8 +- rebuilt -* Sat Jul 14 2018 Fedora Release Engineering - 3.2.6a-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild +* Wed Feb 09 2005 Than Ngo 3.2.4-7 +- rebuilt -* Sat Mar 03 2018 Hans de Goede - 3.2.6a-7 -- Fix font issues take 2 (rhbz#1523624) : - - It turns out the new urw fonts are completely unusuable as X11 core fonts, - stop using them for now (see bug rhbz#1551219) - - Add a patch to use the fallback fonts for non-scalable fonts too, so that - we at least show something somewhat reasonable for Bookman, New Century - Schoolbook and Palatino - - This means that display of Zapf Chancery and Zapf Dingbats currently - falls back to the "fixed" font, which is completely wrong for Dingbats +* Sat Sep 25 2004 Than Ngo 3.2.4-6 +- add mimetype spec #131629 -* Thu Mar 01 2018 Hans de Goede - 3.2.6a-6 -- Fix font issues (rhbz#1523624) : - - Adjust xfig-3.2.5-urwfonts.patch for new font names in urw-base35-fonts - - Except for the symbols font, use the old un-scalable Adobe PCF Symbol font - for now as StandardSymbolsPS.otf from urw-base35-fonts is currently broken - - Add a patch to deal with some fonts being scalable, while Symbol is not - - Note the dingbats font is also broken in urw-base35-fonts, but there is no - replacement for it, so that font is still broken, see rhbz#1534206 -- ghostscript-core no longer exists, instead require ghostscript (rhbz#1536581) -- Remove obsolete icon-cache and desktop-database scriptlets -- Add a patch from Debian fixing some issues with arrows +* Mon Sep 13 2004 Than Ngo 3.2.4-5 +- fix desktop file #131983 -* Fri Feb 09 2018 Fedora Release Engineering - 3.2.6a-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +* Tue Jun 15 2004 Elliot Lee +- rebuilt -* Tue Nov 07 2017 Adam Jackson - 3.2.6a-4 -- Drop unneeded BuildRequires: imake +* Fri Feb 13 2004 Elliot Lee +- rebuilt -* Thu Aug 03 2017 Fedora Release Engineering - 3.2.6a-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild +* Wed Jun 04 2003 Elliot Lee +- rebuilt -* Thu Jul 27 2017 Fedora Release Engineering - 3.2.6a-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild +* Tue Jun 3 2003 Jeff Johnson +- add explicit epoch's where needed. -* Mon Feb 13 2017 Hans de Goede - 3.2.6a-1 -- New upstream release 3.2.6a +* Tue May 6 2003 Than Ngo 3.2.4-1 +- 3.2.4 -* Sun Feb 12 2017 Hans de Goede - 3.2.6-5 -- Build with -DGSBIT to fix eps file preview generation (rhbz#1418560) -- Fix broken screenshot links in appdata +* Wed Jan 22 2003 Tim Powers +- rebuilt -* Sat Feb 11 2017 Fedora Release Engineering - 3.2.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild +* Thu Nov 7 2002 Than Ngo 3.2.3d-11 +- rebuild in new enviroment -* Fri Aug 12 2016 Hans de Goede - 3.2.6-3 -- Switch to non -full (smaller) version of upstream sources, - we package transfig seperately so we do not need the -full version +* Thu Aug 22 2002 Than Ngo 3.2.3d-10 +- close should get fd, not filename -* Thu Aug 11 2016 Hans de Goede - 3.2.6-2 -- Make using metric units the default again +* Wed Jul 31 2002 Than Ngo 3.2.3d-9 +- Fixed typo bug (bug #70347) -* Thu Aug 11 2016 Hans de Goede - 3.2.6-1 -- New upstream release 3.2.6 -- Drop all patches, all fixes are upstream now -- Drop -plain subpackage, only build Xaw3d version -- Update appdata screenshots for xfig.org being gone - (point to http://epb.lbl.gov/xfig/ for now) +* Wed Jul 24 2002 Than Ngo 3.2.3d-8 +- desktop file issue (bug #69543) -* Sun Feb 28 2016 Hans de Goede - 3.2.5-48.c -- Bring in various bugfixes from Debian -- Convert icons to png -- Add appdata +* Tue Jun 25 2002 Than Ngo 3.2.3d-7 +- add patch file using mkstemp (bug #67351) -* Fri Feb 05 2016 Fedora Release Engineering - 3.2.5-47.c -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Fri Jul 13 2001 Than Ngo 3.2.3d-3 +- fix build dependencies (bug #48910) + +* Tue Jul 03 2001 Than Ngo +- fix export to eps when i18n set (bug #45114) +- requires transfig-3.2.3d + +* Fri Jun 15 2001 Than Ngo +- update to 3.2.3d release + +* Tue Jun 12 2001 Than Ngo +- fix to build against XFree86-4.1.0 + +* Tue May 29 2001 Than Ngo +- update to 3.2.3d beta2 fixes (Bug #42597, #42556) +- fix bug when LANG is set, launching help gives a spurious error (Bug #42596) +- fix bug in resource setting (Bug #42595) +- remove some patches, which are included in 3.2.3d beta2 +- fix wrong version number +- use make install.all +- fix fhs problem + +* Wed May 9 2001 Bernhard Rosenkraenzer +- Don't require Netscape at all - use htmlview (which automatically launches + Netscape, Mozilla or Konqueror depending on what is installed/running). + No need to depend on proprietary stuff... + +* Thu Apr 26 2001 Florian La Roche +- do the same for s390x + +* Sat Jan 06 2001 Florian La Roche +- only require /usr/bin/netscape if not on S390 + +* Tue Dec 20 2000 Yukihiro Nakai +- Delete enable_japanese macro and set i18n default. +- Fix Japanese translation in .desktop file + +* Mon Nov 20 2000 Than Ngo +- rebuilt to fix bad dir perms + +* Thu Nov 9 2000 Than Ngo +- fixed f_read, which made xfig stop reading the file after + removing such bad objects. + +* Fri Oct 13 2000 Preston Brown +- improved .desktop entry + +* Thu Aug 24 2000 Yukihiro Nakai +- Add Japanese patch + +* Tue Aug 08 2000 Than Ngo +- fixed dependency problem +- fixed starting xpdf + +* Mon Aug 07 2000 Than Ngo +- fixed for using xpdf instead acroreader (Bug #15621) +- add requires: netscape, display + +* Sat Aug 05 2000 Than Ngo +- update to 3.2.3c (bugs fixed released) +- fix parse_printcap broken (Bug #11147) + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Fri Jun 23 2000 Than Ngo +- xfig crash, if a menu item was clicked (Bug #12855) + +* Sun Jun 18 2000 Than Ngo +- rebuilt in the new build environment +- enable optimization + +* Sat Jun 03 2000 Than Ngo +- fix requires, xfig-3.2.3a requires transfig-2.2.3 or newer +- disable optimization -O2 (gcc-2.96 Bug) on i386 + +* Thu May 18 2000 Preston Brown +- fix buildroot issue in Imakefile + +* Mon May 8 2000 Bernhard Rosenkraenzer +- rebuild with current libXaw3d +- update to 3.2.3a + +* Mon Feb 07 2000 Preston Brown +- rebuild to gzip man pages + +* Fri Jan 14 2000 Preston Brown +- upgrade to beta1 of 2.2.3. Hopefully this fixes outstanding issues. +- no need for vararg fix, commented out + +* Thu Sep 23 1999 Preston Brown +- add icon +- don't compile with optimization on alpha + +* Mon Aug 30 1999 Preston Brown +- converted to use a .desktop file + +* Fri Mar 26 1999 Michael Maher +- added files that were missing. + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 4) +- varargs fix + +* Thu Feb 18 1999 Jeff Johnson +- correct DESTDIRR typo (#962) + +* Wed Dec 30 1998 Cristian Gafton +- build for glibc 2.1 + +* Tue Jul 7 1998 Jeff Johnson +- updated to 3.2.2. + +* Wed Jun 10 1998 Prospector System +- translations modified for de + +* Fri May 08 1998 Prospector System +- translations modified for de, fr, tr + +* Sat Apr 11 1998 Cristian Gafton +- updated for manhattan +- buildroot + +* Thu Oct 23 1997 Marc Ewing +- new version +- messed with config for 5.0 +- updated Requires and Copyright +- added wmconfig + +* Mon Jul 21 1997 Erik Troan +- built against glibc