1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-28 05:29:48 +00:00

Michael Reifenberger's xfig port.

Submitted by:	mr
This commit is contained in:
Jordan K. Hubbard 1994-11-23 14:23:28 +00:00
parent add4d062ba
commit cc2878b642
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=483
10 changed files with 446 additions and 0 deletions

View File

@ -0,0 +1,8 @@
#This is xfig Version 2.1.8
#By mr
DISTNAME= xfig
DISTFILES= xfig.2.1.8.tar.Z
MASTER_SITES= ftp://ftp.x.org/contrib/applications/drawing_tools/xfig/
USE_IMAKE= YES
.include <bsd.port.mk>

View File

@ -0,0 +1,8 @@
*** fig.h.orig Wed Nov 23 02:13:41 1994
--- fig.h Wed Nov 23 02:19:18 1994
***************
*** 223,225 ****
extern int sys_nerr;
- extern char *sys_errlist[];
--- 223,224 ----

View File

@ -0,0 +1 @@
Xfig - A drwing program. Version 2.1.8

View File

@ -0,0 +1,197 @@
===============================================================
XFIG - Facility for Interactive Generation of figures under X11
===============================================================
Xfig is a menu-driven tool that allows the user to draw and manipulate objects
interactively in an X window. The resulting pictures can be saved, printed
on postscript printers or converted to a variety of other formats (e.g. to
allow inclusion in LaTeX documents).
This file contains some notes about installing xfig, the directory
'Examples' contains some example figures and the 'Doc' directory contains
some further documentation including the manual in troff -man format.
Please report any bugs, fixes, contributions, etc. to:
Brian V. Smith (bvsmith@lbl.gov)
===================
INSTALLATION NOTES:
===================
1. Edit the Imakefile if you need to customize it (see following notes)
2. Type "make Makefile" or "xmkmf" if you have xmkmf
3. Type "make install" (if you don't do this step, be sure to install resources)
4. Type "make install.man"
5. For X11R5 color implementations, specify "*customization: -color" in your
.Xdefaults or .Xresources file.
NOTE: this only works under X11R5.
If your system doesn't have strstr(), add the flag -DNOSTRSTR in the Imakefile
in the DEFINES line.
If your system doesn't have strtol(), add the flag -DNOSTRTOL in the Imakefile
in the DEFINES line.
If you are running on an IBM RS/6000 with AIX 3.2, add the flag -DDPS in the
Imakefile and uncomment the line that says
LOCAL_LIBRARIES = -ldps XawClientLibs
and you will see the full PostScript object when using EPS objects.
The maximum width of the top ruler is set to 1020 pixels and the height of the
side ruler to 860 pixels. If your server can handle pixmaps larger than this
and you need longer/taller rulers, you may set the maximum allowed in your
Imakefile with -DMAX_TOPRULER_WD=1160 (or whatever value you wish) and
-DMAX_SIDERULER_HT=1024 (or whatever value you wish).
The SMOOTHMOTION option toggles between two methods for tracking the
cursor. The first way (SMOOTHMOTION) just uses the (x,y) information given
in the X pointer motion event. If your display server doesn't implement
motion compression this is very slow for large movements of the mouse
pointer because X sends back lots of small movement events, each of which
causes the rubberband box to be erased and redrawn. The alternative
way (not SMOOTHMOTION) queries the position of the X cursor whenever
a motion event is received and if you make a large movement and then
stop actually turns out to involve less work even though the XQueryPointer
call is quite slow.
The SMOOTHMOTION flag MIGHT be necessary for older versions of OpenWindows on
certain machines if the performance is slow when moving or drawing objects.
----------------------
Printing your figures:
----------------------
The program to translate your figure into one of many printer languages
(Postscript, LaTex, etc) is called fig2dev and is part of the TransFig
package by Micah Beck.
It is available from export.lcs.mit.edu in /contrib/transfig.tar.Z or
ftp.cs.cornell.edu in the directory /pub/fig.
See the man pages for more information.
If you have a SYSV system but use BSD-style printing (lpr instead of lp) you
must define -DBSDLPR in the Imakefile/Makefile.
-----------------
OpenWindows users
-----------------
Xfig now automatically looks for the OpenWindows style of font names
(e.g. times-roman-13) and uses those when available so the -DOPENWIN flag
is no longer necessary
There is no need to compile with the -DOPENWIN_BUG flag anymore for
OpenWindows 2.0 (or any version of OpenWindows for that matter).
----------------------------------------------
Possible problems encountered installing xfig:
----------------------------------------------
PROBLEM:
When using LaTeX fonts in Xfig I always end up with postscript
fonts instead rather than, say, Computer Modern.
POSSIBLE CAUSE AND SOLUTION:
To put fonts under the control of LaTeX when generating PS, you must
tag the text object as "special" and then use the pstex output mode.
This mode forces special text objects to be passed through to LaTeX,
allowing the use of Math mode and CM fonts among other things.
PROBLEM:
xfig hangs when pressing the Text or Update button.
POSSIBLE CAUSE AND SOLUTION:
Increase the height of the indicator panel by changing init_ind_panel()
where it says:
i = DEF_IND_SW_HT+4*INTERNAL_BW+14; /* allow for thickness of scrollbar */
Try increasing the 14 to 16 or 20 and see if that fixes it. Please
send me email if you have to do this and tell me the value you used.
________________________________________________________________________________
PROBLEM:
On a DEC Alpha the compiler may complain about something like: ".mask
must have pcreg from .frame set if any bits are set in .mask or .fmask"
in the file u_bound.c.
POSSIBLE CAUSE AND SOLUTION:
Set the optimization level to -O1 at least for that file.
________________________________________________________________________________
PROBLEM:
On Sun machines the linker may give erroneous error messages about
the following symbols being undefined:
ld: Undefined symbol
_get_applicationShellWidgetClass
_get_wmShellWidgetClass
This may be ignored as it is a problem with the Sun shared libraries
and the way X11 builds the shared Xmu library. It doesn't affect the
operation of xfig.
________________________________________________________________________________
PROBLEM:
The window oscillates and fights with the window manager when
I click on a mode button or try to resize the xfig window.
POSSIBLE CAUSE AND SOLUTION:
Perhaps the following resource has been set
*allowShellResize: true
because another program requires it to be true.
Change the resource to be specific to the programs which need it,
or set the following resource:
Fig*allowShellResize: false
Note: this is in the Fig.ad file that comes with xfig, which is
installed when you do a "make install".
________________________________________________________________________________
PROBLEM:
Openwindows sometimes loses track of xfig's icon.
POSSIBLE CAUSE AND SOLUTION:
Cause unknown, here is a temporary kludge. Place the line:
Fig*iconPixmap: ..../your_lib_area/fig.icon.X
in your .Xdefaults file and copy fig.icon.X into your lib area.
________________________________________________________________________________
PROBLEM:
When compiling on an HP 750 running HP-UX 8.05, the compiler dies with
a bus error in the file u_undo.c.
POSSIBLE CAUSE AND SOLUTION:
There is a bug in the HP compiler. Workaround the problem by adding
an extra statement between two statements in u_undo.c:
Original:
undo_glue()
{
list_delete_compound(&objects.compounds, saved_objects.compounds);
tail(&objects, &object_tails);
New:
undo_glue()
{
list_delete_compound(&objects.compounds, saved_objects.compounds);
>>> /* HP-UX 8.05 compiler bug fix -- don't ask */
>>> last_action = last_action;
tail(&objects, &object_tails);
________________________________________________________________________________
PROBLEMS:
o Ellipses are rotated in the wrong direction when printing.
o When exporting a figure to Encapsulated Postscript, it always
comes out in Portrait mode even if you select Landscape.
o When batching together several figures and printing as one file,
only the first one prints.
POSSIBLE CAUSE AND SOLUTION:
Get the newest version of TransFig (version 2.1.5 or later).
________________________________________________________________________________
PROBLEMS:
On HP machines, the capitalization of some letters in the text window
in the edit popup for text objects are wrong.
POSSIBLE CAUSE AND SOLUTION:
Make sure that the CompKeyDB file has the lowercase letter definitions
BEFORE the uppercase definitions. This should be the case for the
CompKeyDB file shipped with xfig 2.1.5 and later.

View File

@ -0,0 +1,9 @@
@cwd /usr/X11R6
@owner bin
@group bin
@mode 755
/bin/xfig
@mode 644
lib/X11/xfig/CompKeyDB
lib/X11/app-defaults/Fig
lib/X11/app-defaults/Fig-color

8
graphics/xfig/Makefile Normal file
View File

@ -0,0 +1,8 @@
#This is xfig Version 2.1.8
#By mr
DISTNAME= xfig
DISTFILES= xfig.2.1.8.tar.Z
MASTER_SITES= ftp://ftp.x.org/contrib/applications/drawing_tools/xfig/
USE_IMAKE= YES
.include <bsd.port.mk>

View File

@ -0,0 +1,8 @@
*** fig.h.orig Wed Nov 23 02:13:41 1994
--- fig.h Wed Nov 23 02:19:18 1994
***************
*** 223,225 ****
extern int sys_nerr;
- extern char *sys_errlist[];
--- 223,224 ----

View File

@ -0,0 +1 @@
Xfig - A drwing program. Version 2.1.8

197
graphics/xfig/pkg-descr Normal file
View File

@ -0,0 +1,197 @@
===============================================================
XFIG - Facility for Interactive Generation of figures under X11
===============================================================
Xfig is a menu-driven tool that allows the user to draw and manipulate objects
interactively in an X window. The resulting pictures can be saved, printed
on postscript printers or converted to a variety of other formats (e.g. to
allow inclusion in LaTeX documents).
This file contains some notes about installing xfig, the directory
'Examples' contains some example figures and the 'Doc' directory contains
some further documentation including the manual in troff -man format.
Please report any bugs, fixes, contributions, etc. to:
Brian V. Smith (bvsmith@lbl.gov)
===================
INSTALLATION NOTES:
===================
1. Edit the Imakefile if you need to customize it (see following notes)
2. Type "make Makefile" or "xmkmf" if you have xmkmf
3. Type "make install" (if you don't do this step, be sure to install resources)
4. Type "make install.man"
5. For X11R5 color implementations, specify "*customization: -color" in your
.Xdefaults or .Xresources file.
NOTE: this only works under X11R5.
If your system doesn't have strstr(), add the flag -DNOSTRSTR in the Imakefile
in the DEFINES line.
If your system doesn't have strtol(), add the flag -DNOSTRTOL in the Imakefile
in the DEFINES line.
If you are running on an IBM RS/6000 with AIX 3.2, add the flag -DDPS in the
Imakefile and uncomment the line that says
LOCAL_LIBRARIES = -ldps XawClientLibs
and you will see the full PostScript object when using EPS objects.
The maximum width of the top ruler is set to 1020 pixels and the height of the
side ruler to 860 pixels. If your server can handle pixmaps larger than this
and you need longer/taller rulers, you may set the maximum allowed in your
Imakefile with -DMAX_TOPRULER_WD=1160 (or whatever value you wish) and
-DMAX_SIDERULER_HT=1024 (or whatever value you wish).
The SMOOTHMOTION option toggles between two methods for tracking the
cursor. The first way (SMOOTHMOTION) just uses the (x,y) information given
in the X pointer motion event. If your display server doesn't implement
motion compression this is very slow for large movements of the mouse
pointer because X sends back lots of small movement events, each of which
causes the rubberband box to be erased and redrawn. The alternative
way (not SMOOTHMOTION) queries the position of the X cursor whenever
a motion event is received and if you make a large movement and then
stop actually turns out to involve less work even though the XQueryPointer
call is quite slow.
The SMOOTHMOTION flag MIGHT be necessary for older versions of OpenWindows on
certain machines if the performance is slow when moving or drawing objects.
----------------------
Printing your figures:
----------------------
The program to translate your figure into one of many printer languages
(Postscript, LaTex, etc) is called fig2dev and is part of the TransFig
package by Micah Beck.
It is available from export.lcs.mit.edu in /contrib/transfig.tar.Z or
ftp.cs.cornell.edu in the directory /pub/fig.
See the man pages for more information.
If you have a SYSV system but use BSD-style printing (lpr instead of lp) you
must define -DBSDLPR in the Imakefile/Makefile.
-----------------
OpenWindows users
-----------------
Xfig now automatically looks for the OpenWindows style of font names
(e.g. times-roman-13) and uses those when available so the -DOPENWIN flag
is no longer necessary
There is no need to compile with the -DOPENWIN_BUG flag anymore for
OpenWindows 2.0 (or any version of OpenWindows for that matter).
----------------------------------------------
Possible problems encountered installing xfig:
----------------------------------------------
PROBLEM:
When using LaTeX fonts in Xfig I always end up with postscript
fonts instead rather than, say, Computer Modern.
POSSIBLE CAUSE AND SOLUTION:
To put fonts under the control of LaTeX when generating PS, you must
tag the text object as "special" and then use the pstex output mode.
This mode forces special text objects to be passed through to LaTeX,
allowing the use of Math mode and CM fonts among other things.
PROBLEM:
xfig hangs when pressing the Text or Update button.
POSSIBLE CAUSE AND SOLUTION:
Increase the height of the indicator panel by changing init_ind_panel()
where it says:
i = DEF_IND_SW_HT+4*INTERNAL_BW+14; /* allow for thickness of scrollbar */
Try increasing the 14 to 16 or 20 and see if that fixes it. Please
send me email if you have to do this and tell me the value you used.
________________________________________________________________________________
PROBLEM:
On a DEC Alpha the compiler may complain about something like: ".mask
must have pcreg from .frame set if any bits are set in .mask or .fmask"
in the file u_bound.c.
POSSIBLE CAUSE AND SOLUTION:
Set the optimization level to -O1 at least for that file.
________________________________________________________________________________
PROBLEM:
On Sun machines the linker may give erroneous error messages about
the following symbols being undefined:
ld: Undefined symbol
_get_applicationShellWidgetClass
_get_wmShellWidgetClass
This may be ignored as it is a problem with the Sun shared libraries
and the way X11 builds the shared Xmu library. It doesn't affect the
operation of xfig.
________________________________________________________________________________
PROBLEM:
The window oscillates and fights with the window manager when
I click on a mode button or try to resize the xfig window.
POSSIBLE CAUSE AND SOLUTION:
Perhaps the following resource has been set
*allowShellResize: true
because another program requires it to be true.
Change the resource to be specific to the programs which need it,
or set the following resource:
Fig*allowShellResize: false
Note: this is in the Fig.ad file that comes with xfig, which is
installed when you do a "make install".
________________________________________________________________________________
PROBLEM:
Openwindows sometimes loses track of xfig's icon.
POSSIBLE CAUSE AND SOLUTION:
Cause unknown, here is a temporary kludge. Place the line:
Fig*iconPixmap: ..../your_lib_area/fig.icon.X
in your .Xdefaults file and copy fig.icon.X into your lib area.
________________________________________________________________________________
PROBLEM:
When compiling on an HP 750 running HP-UX 8.05, the compiler dies with
a bus error in the file u_undo.c.
POSSIBLE CAUSE AND SOLUTION:
There is a bug in the HP compiler. Workaround the problem by adding
an extra statement between two statements in u_undo.c:
Original:
undo_glue()
{
list_delete_compound(&objects.compounds, saved_objects.compounds);
tail(&objects, &object_tails);
New:
undo_glue()
{
list_delete_compound(&objects.compounds, saved_objects.compounds);
>>> /* HP-UX 8.05 compiler bug fix -- don't ask */
>>> last_action = last_action;
tail(&objects, &object_tails);
________________________________________________________________________________
PROBLEMS:
o Ellipses are rotated in the wrong direction when printing.
o When exporting a figure to Encapsulated Postscript, it always
comes out in Portrait mode even if you select Landscape.
o When batching together several figures and printing as one file,
only the first one prints.
POSSIBLE CAUSE AND SOLUTION:
Get the newest version of TransFig (version 2.1.5 or later).
________________________________________________________________________________
PROBLEMS:
On HP machines, the capitalization of some letters in the text window
in the edit popup for text objects are wrong.
POSSIBLE CAUSE AND SOLUTION:
Make sure that the CompKeyDB file has the lowercase letter definitions
BEFORE the uppercase definitions. This should be the case for the
CompKeyDB file shipped with xfig 2.1.5 and later.

9
graphics/xfig/pkg-plist Normal file
View File

@ -0,0 +1,9 @@
@cwd /usr/X11R6
@owner bin
@group bin
@mode 755
/bin/xfig
@mode 644
lib/X11/xfig/CompKeyDB
lib/X11/app-defaults/Fig
lib/X11/app-defaults/Fig-color