graphics/ralcgm: Added (view/convert CGM vector image files).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
parent
3f90f9b40d
commit
f01ffa798d
|
@ -0,0 +1,14 @@
|
|||
ralcgm (view/convert CGM vector image files)
|
||||
|
||||
RAL-CGM is a program to translate or interpret CGM (Computer Graphics
|
||||
Metafile) files, either to a different encoding (Binary, Character or
|
||||
Clear Text) or to view on a terminal or to send to a plotter (PostScript
|
||||
or HPGL).
|
||||
|
||||
It can be used as an ImageMagick or GraphicsMagick delegate to convert
|
||||
from CGM format.
|
||||
|
||||
If you want to compile the example code:
|
||||
|
||||
gcc -o testcgm -I/usr/include/ralcgm \
|
||||
/usr/doc/ralcgm-3.50/examples/testcgm.c -lcgm -lm -lX11
|
|
@ -0,0 +1,86 @@
|
|||
diff -Naur a/include/cgmtek.h b/include/cgmtek.h
|
||||
--- a/include/cgmtek.h 1993-08-10 04:10:54.000000000 -0400
|
||||
+++ b/include/cgmtek.h 2017-12-20 00:25:38.734568061 -0500
|
||||
@@ -187,7 +187,7 @@
|
||||
};
|
||||
|
||||
/* Tektronix colour table variables*/
|
||||
-static n_coltab = DEF_N_COLTAB;
|
||||
+static int n_coltab = DEF_N_COLTAB;
|
||||
static RGBcolour TEKcoltab[MAX_N_COLTAB]; /* The TEK colour table */
|
||||
static Enum TEKcoluse[MAX_N_COLTAB]; /* The TEK colour flags */
|
||||
static Int colset_n; /* Number of colour table entries set */
|
||||
diff -Naur a/src/cgmlib.c b/src/cgmlib.c
|
||||
--- a/src/cgmlib.c 1993-08-10 04:10:34.000000000 -0400
|
||||
+++ b/src/cgmlib.c 2017-12-20 00:33:41.535568880 -0500
|
||||
@@ -38,6 +38,12 @@
|
||||
#define CGMLIB_C
|
||||
#include "cgmlib.h"
|
||||
|
||||
+extern void CGMOhpgl(FILE *, Code, Long*, Float*, char* );
|
||||
+
|
||||
+#ifdef TEK4200
|
||||
+ extern void CGMOtek( FILE*, Code, long *, float *, char * );
|
||||
+#endif
|
||||
+
|
||||
/* Driver Routines */
|
||||
|
||||
#ifdef PROTO
|
||||
diff -Naur a/src/cgmmain.c b/src/cgmmain.c
|
||||
--- a/src/cgmmain.c 1995-06-13 11:32:22.000000000 -0400
|
||||
+++ b/src/cgmmain.c 2017-12-20 00:23:32.606567847 -0500
|
||||
@@ -280,6 +280,7 @@
|
||||
#define OUTMESS (void) fprintf( (FILE *) cgmerr,
|
||||
|
||||
/******************************************************** main *********/
|
||||
+int
|
||||
#ifdef PROTO
|
||||
main ( int argc, char **argv)
|
||||
#else
|
||||
diff -Naur a/src/cgmoxw.c b/src/cgmoxw.c
|
||||
--- a/src/cgmoxw.c 1994-04-15 09:30:07.000000000 -0400
|
||||
+++ b/src/cgmoxw.c 2017-12-20 00:24:37.448567957 -0500
|
||||
@@ -111,6 +111,8 @@
|
||||
|
||||
*/
|
||||
|
||||
+#include <unistd.h>
|
||||
+
|
||||
#define CGMOXW_C
|
||||
#include "cgmout.h"
|
||||
|
||||
diff -Naur a/src/cgmtrap.c b/src/cgmtrap.c
|
||||
--- a/src/cgmtrap.c 1995-06-13 11:33:02.000000000 -0400
|
||||
+++ b/src/cgmtrap.c 2017-12-20 00:27:03.439568205 -0500
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "cgmelem.h"
|
||||
#include "cgmpar.h"
|
||||
#include "cgmpts.h"
|
||||
+#include "cgmgraph.h"
|
||||
|
||||
/* Fixed Limit to the number trapezoids (protect CPU from bug) */
|
||||
#define MAXTRAPS 100000
|
||||
diff -Naur a/src/genbez.c b/src/genbez.c
|
||||
--- a/src/genbez.c 1995-06-16 03:26:44.000000000 -0400
|
||||
+++ b/src/genbez.c 2017-12-20 00:22:46.548567769 -0500
|
||||
@@ -37,7 +37,7 @@
|
||||
BezDir Dir;
|
||||
BezFont Bfont;
|
||||
|
||||
-main()
|
||||
+int main(int argc, char **argv)
|
||||
{
|
||||
FILE *generator, *directory;
|
||||
char *dirname, *genname;
|
||||
diff -Naur a/src/genher.c b/src/genher.c
|
||||
--- a/src/genher.c 1995-06-16 03:26:48.000000000 -0400
|
||||
+++ b/src/genher.c 2017-12-20 00:22:56.659567786 -0500
|
||||
@@ -51,7 +51,7 @@
|
||||
static char *func = "genher";
|
||||
Logical cgmerrcount=FALSE, cgmquiet=FALSE;
|
||||
|
||||
-main()
|
||||
+int main(int argc, char **argv)
|
||||
|
||||
{
|
||||
int last, code, i;
|
|
@ -0,0 +1,413 @@
|
|||
diff -Naur a/data/m_ps.fnt b/data/m_ps.fnt
|
||||
--- a/data/m_ps.fnt 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ b/data/m_ps.fnt 2017-12-19 22:33:27.691556645 -0500
|
||||
@@ -0,0 +1,35 @@
|
||||
+ 1 0013 1947 1 5 5 1 4.5.1 0 0 0 1 Times-Roman
|
||||
+ 2 0013 1947 1 7 5 1 4.5.1 0 0 0 1 Times-Bold
|
||||
+ 3 0013 1947 2 5 5 1 4.5.1 0 0 0 1 Times-Italic
|
||||
+ 4 0013 1947 2 7 5 1 4.5.1 0 0 0 1 Times-BoldItalic
|
||||
+ 5 0013 1921 1 5 5 1 5.1.2 0 0 0 1 Helvetica
|
||||
+ 6 0013 1921 1 7 5 1 5.1.2 0 0 0 1 Helvetica-Bold
|
||||
+ 7 0013 1921 2 5 5 1 5.1.2 0 0 0 1 Helvetica-Oblique
|
||||
+ 8 0013 1921 2 7 5 1 5.1.2 0 0 0 1 Helvetica-BoldOblique
|
||||
+ 9 0013 1970 1 5 5 1 4.6.5 0 0 0 1 Courier
|
||||
+ 10 0013 1970 1 7 5 1 4.6.5 0 0 0 1 Courier-Bold
|
||||
+ 11 0013 1970 2 5 5 1 4.6.5 0 0 0 1 Courier-Oblique
|
||||
+ 12 0013 1970 2 7 5 1 4.6.5 0 0 0 1 Courier-BoldOblique
|
||||
+ 13 0013 1650 1 5 5 1 8.2.0 0 0 0 91 Symbol
|
||||
+ 14 0013 1087 1 5 5 1 4.4.2 0 0 0 1 AvantGarde-Book
|
||||
+ 15 0013 1087 2 5 5 1 4.4.2 0 0 0 1 AvantGarde-BookOblique
|
||||
+ 16 0013 1087 1 6 5 1 4.4.2 0 0 0 1 AvantGarde-Demi
|
||||
+ 17 0013 1087 2 6 5 1 4.4.2 0 0 0 1 AvantGarde-DemiOblique
|
||||
+ 18 0013 1097 1 6 5 1 4.5.2 0 0 0 1 Bookman-Demi
|
||||
+ 19 0013 1097 2 6 5 1 4.5.2 0 0 0 1 Bookman-DemiItalic
|
||||
+ 20 0013 1097 1 4 5 1 4.5.2 0 0 0 1 Bookman-Light
|
||||
+ 21 0013 1097 2 4 5 1 4.5.2 0 0 0 1 Bookman-LightItalic
|
||||
+ 22 0013 1921 1 5 3 1 5.1.2 0 0 0 1 Helvetica-Narrow
|
||||
+ 23 0013 1921 2 7 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-Bold
|
||||
+ 24 0013 1921 1 7 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-BoldOblique
|
||||
+ 25 0013 1921 2 5 3 1 5.1.2 0 0 0 1 Helvetica-Narrow-Oblique
|
||||
+ 26 0013 1106 1 5 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Roman
|
||||
+ 27 0013 1106 2 5 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Italic
|
||||
+ 28 0013 1106 1 7 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-Bold
|
||||
+ 29 0013 1106 2 7 5 1 4.1.3 0 0 0 1 NewCenturySchlbk-BoldItalic
|
||||
+ 30 0013 1276 1 5 5 1 4.4.2 0 0 0 1 Palatino-Roman
|
||||
+ 31 0013 1276 2 5 5 1 4.4.2 0 0 0 1 Palatino-Italic
|
||||
+ 32 0013 1276 1 7 5 1 4.4.2 0 0 0 1 Palatino-Bold
|
||||
+ 33 0013 1276 2 7 5 1 4.4.2 0 0 0 1 Palatino-BoldItalic
|
||||
+ 34 0013 1810 1 5 5 1 8.0.0 0 0 0 92 ZapfDingbats
|
||||
+ 35 0013 1193 2 5 5 1 6.1.1 0 0 0 1 ZapfChancery-MediumItalic
|
||||
diff -Naur a/include/mach.h b/include/mach.h
|
||||
--- a/include/mach.h 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ b/include/mach.h 2017-12-19 22:34:41.145556770 -0500
|
||||
@@ -0,0 +1,33 @@
|
||||
+/* RAL-CGM Interpreter header file
|
||||
+ *
|
||||
+ * Linux specific setting for CGM interpreter
|
||||
+ */
|
||||
+
|
||||
+/* Define Machine */
|
||||
+
|
||||
+#define LINUX
|
||||
+
|
||||
+/* Define Graphics system(s) */
|
||||
+
|
||||
+#define POSTSCRIPT
|
||||
+#define BEZIER
|
||||
+#define HERSHEY
|
||||
+#define XW
|
||||
+
|
||||
+#define DATADIR "../data/"
|
||||
+
|
||||
+#define NAMELGTH 32
|
||||
+#define EXTLGTH 8
|
||||
+
|
||||
+#define Posint64 unsigned long long
|
||||
+#define MALLOCH
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+#ifdef CGMOXW_C /* X-Window specific settings */
|
||||
+
|
||||
+#include <X11/cursorfont.h>
|
||||
+#include <X11/Xlib.h>
|
||||
+#include <X11/Xutil.h>
|
||||
+#include <X11/Xatom.h>
|
||||
+
|
||||
+#endif
|
||||
diff -Naur a/src/Makefile b/src/Makefile
|
||||
--- a/src/Makefile 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ b/src/Makefile 2017-12-19 22:35:58.377556901 -0500
|
||||
@@ -0,0 +1,333 @@
|
||||
+# RAL-CGM Interpreter source Makefile: @(#) Makebase version 3.4
|
||||
+#
|
||||
+# Name of executable module (usually ../bin/ralcgm)
|
||||
+#
|
||||
+MODULE = ../bin/ralcgm
|
||||
+#
|
||||
+# Name of callable library (Optional) (usually ../bin/libcgm.a)
|
||||
+#
|
||||
+LIB = ../bin/libcgm.a
|
||||
+#
|
||||
+# Include file directory (usually ../include)
|
||||
+#
|
||||
+INCLUDE = ../include
|
||||
+#
|
||||
+# Data files directory (usually ../data)
|
||||
+#
|
||||
+DATADIR = ../data
|
||||
+#
|
||||
+# Main Interpreter object file (usually cgmmain.o)
|
||||
+#
|
||||
+MAIN = cgmmain.o
|
||||
+#
|
||||
+#
|
||||
+#
|
||||
+MAKEFILE = Makefile
|
||||
+#
|
||||
+# CGM input encoding - Object files
|
||||
+# Include here files for each encoding that
|
||||
+# may need to be processed; usually
|
||||
+# cgmichar.o cgmitext.o cgmibin.o
|
||||
+#
|
||||
+INPUT = cgmichar.o cgmitext.o cgmibin.o
|
||||
+#
|
||||
+# CGM output encoding - Object files
|
||||
+# Include here files for each encoding that
|
||||
+# may be generated; usually
|
||||
+# cgmochar.o cgmotext.o cgmobin.o
|
||||
+#
|
||||
+OUTPUT = cgmochar.o cgmotext.o cgmobin.o
|
||||
+#
|
||||
+# User callable Library (comment out if not required)
|
||||
+#
|
||||
+CGMLIB = cgmlib.o
|
||||
+#
|
||||
+# Optional Drivers
|
||||
+#
|
||||
+# IGL - Iris Graphics Library
|
||||
+# PS - PostScript
|
||||
+# XW - X-Windows
|
||||
+# VID - Topaz Library
|
||||
+#
|
||||
+IGL = cgmoigl.o
|
||||
+PS = cgmops.o
|
||||
+XW = cgmoxw.o
|
||||
+VID = cgmotpz.o
|
||||
+TEK = cgmotek.o
|
||||
+HPGL = cgmohpgl.o
|
||||
+#
|
||||
+# List of driver files to be used in generating the $(MODULE).
|
||||
+#
|
||||
+# The possible candidates are:
|
||||
+#
|
||||
+# $(OUTPUT) list of CGM output encodings defined above
|
||||
+# $(IGL) Iris graphics library
|
||||
+# $(XW) X-Windows
|
||||
+# $(PS) PostScript
|
||||
+# $(HPGL) HPGL
|
||||
+# $(TEK) Tektronix 4200
|
||||
+# $(VID) Video system
|
||||
+#
|
||||
+DRIVERS = $(PS) $(XW) $(HPGL) $(TEK)
|
||||
+#
|
||||
+# Input utilities Object files
|
||||
+# These provides random access input and convenient
|
||||
+# handling of input attributes
|
||||
+#
|
||||
+ERRUTILS = cgmerr.o
|
||||
+ERRINCLUDES = $(INCLUDE)/cgmerr.h
|
||||
+
|
||||
+FILEUTILS = cgmfile.o
|
||||
+FILEINCLUDES = $(INCLUDE)/cgmfile.h
|
||||
+
|
||||
+GENUTILS = $(FILEUTILS) $(ERRUTILS)
|
||||
+GENINCS = $(FILEINCLUDES) \
|
||||
+ $(ERRINCLUDES)
|
||||
+
|
||||
+RANUTILS = cgmrand.o cgmprof.o
|
||||
+INPUTILS = cgminput.o
|
||||
+#
|
||||
+# Output utility Object files (only needed with output drivers)
|
||||
+# These provide emulation of GDPs, filled areas
|
||||
+# and other graphical operations. Not needed by all drivers
|
||||
+# currently cgmgdp.o is used by XW, IGL & VID
|
||||
+# cgmfill.o & cgmgraph.o are used by IGL only
|
||||
+#
|
||||
+ATTUTILS = cgmatt.o
|
||||
+GDPUTILS = cgmgdp.o
|
||||
+FILUTILS = cgmpoly.o cgmtrap.o cgmfill.o cgmgraph.o
|
||||
+COLRUTILS = cgmcolr.o
|
||||
+CELLUTILS = cgmcell.o
|
||||
+PTSUTILS = cgmpts.o
|
||||
+#
|
||||
+OUTUTILS = $(ATTUTILS) $(GDPUTILS) $(FILUTILS) $(COLRUTILS) $(CELLUTILS) $(PTSUTILS)
|
||||
+#
|
||||
+# Text utility Object files
|
||||
+# These provide software emulation of text and
|
||||
+# generally useful text facilities.
|
||||
+#
|
||||
+# cgmtext.o - general text utility - PS & XW
|
||||
+# cgmfont.o - general font utility - PS & XW
|
||||
+# cgmbez.o - Bezier text - if wanted
|
||||
+# cgmher.o - Hershey text - if wanted
|
||||
+#
|
||||
+FNTUTILS = cgmfont.o
|
||||
+FNTINCLUDES = $(INCLUDE)/cgmfont.h
|
||||
+TEXTUTILS = cgmtext.o
|
||||
+TEXTINCLUDES = $(INCLUDE)/cgmtext.h
|
||||
+#
|
||||
+BEZIER = genbez
|
||||
+BEZUTILS = cgmbez.o
|
||||
+BEZLINK = $(BEZIER).o
|
||||
+BEZDATA = $(DATADIR)/*.bfs
|
||||
+BEZINCLUDES = $(INCLUDE)/cgmbez.h
|
||||
+#
|
||||
+HERSHEY = genher
|
||||
+HERUTILS = cgmher.o
|
||||
+HERLINK = $(HERSHEY).o
|
||||
+HERDATA = $(DATADIR)/*.hfs
|
||||
+HERINCLUDES = $(INCLUDE)/cgmher.h
|
||||
+#
|
||||
+# TXTSYS settings, supported text systems are:
|
||||
+#
|
||||
+# $(HERSHEY)
|
||||
+# $(BEZIER)
|
||||
+#
|
||||
+TXTSYS = $(BEZIER) $(HERSHEY)
|
||||
+#
|
||||
+# TXTUTILS settings, supported text utilities are:
|
||||
+#
|
||||
+# $(HERUTILS)
|
||||
+# $(BEZUTILS)
|
||||
+# List of utility modules required;
|
||||
+#
|
||||
+TXTUTILS = $(BEZUTILS) $(HERUTILS)
|
||||
+#
|
||||
+#
|
||||
+CGMUTILS = $(RANUTILS)\
|
||||
+ $(INPUTILS)\
|
||||
+ $(GENUTILS)\
|
||||
+ $(OUTUTILS)\
|
||||
+ $(TXTUTILS)\
|
||||
+ $(TEXTUTILS)\
|
||||
+ $(FNTUTILS)
|
||||
+#
|
||||
+# Set up names for the modules that make up `ralcgm' and `cgmlib'.
|
||||
+#
|
||||
+RALCGM = $(INPUT)\
|
||||
+ $(OUTPUT)\
|
||||
+ $(DRIVERS)\
|
||||
+ $(CGMUTILS)
|
||||
+
|
||||
+LIBCGM = $(CGMLIB)\
|
||||
+ $(OUTPUT)\
|
||||
+ $(DRIVERS)\
|
||||
+ $(INPUTILS)\
|
||||
+ $(GENUTILS)\
|
||||
+ $(OUTUTILS)\
|
||||
+ $(TXTUTILS)\
|
||||
+ $(TEXTUTILS)\
|
||||
+ $(FNTUTILS)
|
||||
+#
|
||||
+# Local flags for Compiler (system dependent)
|
||||
+#
|
||||
+# Examples: (Iris 3130) -Zf -g -p
|
||||
+# (Iris 4D) -O
|
||||
+# (GNU C on Topaz) -O -m68881 -g
|
||||
+# (Sun 3) -O -fswitch
|
||||
+# (Sun 4) -O
|
||||
+# (Unicos) -O -g
|
||||
+#
|
||||
+CFLAGS = -c -DPOSTSCRIPT="" -DXW="" -DHPGL="" -DTEK4200="" -DBEZIER="" -DHERSHEY=""
|
||||
+#
|
||||
+# Local flags for Linker (system dependent)
|
||||
+# For X-windows, add some extra libraries (comment out otherwise)
|
||||
+#
|
||||
+# Examples: (Iris 3130) -Zg -lm
|
||||
+# (Iris 4D) -lm -lgl_s -lX11_s -lc_s
|
||||
+# (Topaz) -lE -lmalloc -lm
|
||||
+# (Sun 3 or 4) -lm -lX11 -lc
|
||||
+# (Unicos) -lm -lX11 -lnet -lc
|
||||
+# (Unicos - scc) -lm -lX11 -lnet -lsc
|
||||
+#
|
||||
+LFLAGS = -lm -lX11
|
||||
+#
|
||||
+# Common include files
|
||||
+#
|
||||
+GENINCLUDES = $(INCLUDE)/cgmmach.h $(INCLUDE)/mach.h \
|
||||
+ $(INCLUDE)/cgmtypes.h \
|
||||
+ $(INCLUDE)/cgmstruc.h \
|
||||
+ $(INCLUDE)/cgmelem.h \
|
||||
+ $(INCLUDE)/cgmpar.h \
|
||||
+ $(INCLUDE)/cgmtran.h \
|
||||
+ $(INCLUDE)/cgmatt.h
|
||||
+#
|
||||
+# List of includes for the text system; must match the text utility
|
||||
+# .o files given above.
|
||||
+#
|
||||
+INCLUDES = $(GENINCLUDES) $(TXTINCLUDES) $(FNTINCLUDES) \
|
||||
+ $(BEZINCLUDES) $(HERINCLUDES) $(GENINCS)
|
||||
+#
|
||||
+# Define various commands in just one place.
|
||||
+#
|
||||
+# for Unicos LINK = segldr
|
||||
+# AR = bld rv
|
||||
+# all others LINK = cc $(LFLAGS)
|
||||
+# AR = ar rv
|
||||
+#
|
||||
+COMPILE = cc
|
||||
+LINK = cc
|
||||
+AR = ar crs
|
||||
+#
|
||||
+# Main dependencies (should not need altering)
|
||||
+
|
||||
+ralcgm: $(MODULE) $(TXTSYS)
|
||||
+ @echo "$(MODULE) is now made"
|
||||
+
|
||||
+cgmlib: $(LIB) $(TXTSYS)
|
||||
+ @echo "$(LIB) is now made"
|
||||
+
|
||||
+iutils: $(INPUTILS) $(GENUTILS)
|
||||
+
|
||||
+outils: $(OUTUTILS)
|
||||
+
|
||||
+tutils: $(TXTUTILS)
|
||||
+
|
||||
+clean:
|
||||
+ rm -f *.o core a.out $(TXTSYS)
|
||||
+
|
||||
+$(MODULE): $(MAIN) $(RALCGM)
|
||||
+ $(LINK) $(MAIN) $(RALCGM) $(LFLAGS) -o $(MODULE)
|
||||
+ chmod 755 $(MODULE)
|
||||
+
|
||||
+$(LIB): $(LIBCGM)
|
||||
+ $(AR) $(LIB) $(LIBCGM)
|
||||
+ chmod 644 $(LIB)
|
||||
+
|
||||
+# include file dependencies
|
||||
+
|
||||
+$(MAIN): $(INCLUDE)/cgminit.h $(GENINCLUDES) $(MAKEFILE)
|
||||
+
|
||||
+$(CGMLIB): $(INCLUDE)/cgmlib.h $(INCLUDE)/cgminit.h $(INCLUDE)/cgmin.h \
|
||||
+ $(GENINCLUDES) $(MAKEFILE)
|
||||
+
|
||||
+$(INPUT) $(INPUTILS) $(RANUTILS): $(INCLUDE)/cgmin.h $(GENINCLUDES) $(MAKEFILE)
|
||||
+
|
||||
+$(GENUTILS): $(GENINCLUDES)
|
||||
+
|
||||
+$(OUTPUT) $(OUTUTILS): $(GENINCLUDES) $(MAKEFILE)
|
||||
+
|
||||
+$(DRIVERS): $(INCLUDE)/cgmout.h \
|
||||
+ $(INCLUDES) \
|
||||
+ $(MAKEFILE)
|
||||
+
|
||||
+$(FNTUTILS): $(FNTINCLUDES) \
|
||||
+ $(INCLUDE)/cgmufont.h \
|
||||
+ $(TXTINCLUDES) \
|
||||
+ $(MAKEFILE)
|
||||
+
|
||||
+$(TEXTUTILS): $(TEXTINCLUDES) \
|
||||
+ $(FNTINCLUDES) \
|
||||
+ $(MAKEFILE)
|
||||
+
|
||||
+$(ERRUTILS): $(ERRINCLUDES) \
|
||||
+ $(GENINCLUDES) \
|
||||
+ $(MAKEFILE)
|
||||
+
|
||||
+$(BEZUTILS): $(BEZINCLUDES) \
|
||||
+ $(INCLUDE)/cgmubez.h \
|
||||
+ $(GENINCLUDES) \
|
||||
+ $(MAKEFILE)
|
||||
+
|
||||
+$(BEZIER): $(BEZLINK) \
|
||||
+ $(GENINCS) \
|
||||
+ $(INCLUDE)/cgmubez.h \
|
||||
+ $(BEZDATA) \
|
||||
+ $(MAKEFILE)
|
||||
+ $(LINK) $(BEZLINK) $(GENUTILS) $(LFLAGS) -o $(BEZIER)
|
||||
+ ./$(BEZIER)
|
||||
+ chmod 644 $(DATADIR)/*.bfb $(DATADIR)/fontdir.bez
|
||||
+
|
||||
+$(HERUTILS): $(HERINCLUDES) \
|
||||
+ $(INCLUDE)/cgmuher.h \
|
||||
+ $(GENINCLUDES) \
|
||||
+ $(MAKEFILE)
|
||||
+
|
||||
+$(HERSHEY): $(HERLINK) \
|
||||
+ $(GENINCS) \
|
||||
+ $(INCLUDE)/cgmuher.h \
|
||||
+ $(HERDATA) \
|
||||
+ $(MAKEFILE)
|
||||
+ $(LINK) $(HERLINK) $(GENUTILS) $(LFLAGS) -o $(HERSHEY)
|
||||
+ ./$(HERSHEY)
|
||||
+ chmod 644 $(DATADIR)/*.hfb $(DATADIR)/fontdir.her
|
||||
+
|
||||
+$(IGL): $(INCLUDE)/cgmigl.h \
|
||||
+ $(INCLUDE)/cgmgdp.h \
|
||||
+ $(INCLUDE)/cgmfill.h \
|
||||
+ $(INCLUDE)/cgmgraph.h \
|
||||
+ $(INCLUDE)/cgmpoly.h \
|
||||
+ $(INCLUDE)/cgmtrap.h
|
||||
+
|
||||
+$(PS): $(INCLUDE)/cgmps.h \
|
||||
+ $(INCLUDE)/cgmgdp.h \
|
||||
+ $(INCLUDE)/cgmpoly.h \
|
||||
+ $(INCLUDE)/cgmtrap.h
|
||||
+
|
||||
+$(XW): $(INCLUDE)/cgmxw.h \
|
||||
+ $(INCLUDE)/cgmgdp.h
|
||||
+
|
||||
+$(HPGL): $(INCLUDE)/cgmhpgl.h \
|
||||
+ $(INCLUDE)/cgmgdp.h \
|
||||
+ $(INCLUDE)/cgmcolr.h
|
||||
+
|
||||
+$(TEK): $(INCLUDE)/cgmtek.h \
|
||||
+ $(INCLUDE)/cgmgdp.h \
|
||||
+ $(INCLUDE)/cgmcolr.h \
|
||||
+ $(INCLUDE)/cgmcell.h \
|
||||
+ $(INCLUDE)/cgmpts.h
|
||||
+
|
||||
+.c.o:
|
||||
+ $(COMPILE) $(CFLAGS) -I$(INCLUDE) $<
|
||||
+
|
||||
+.SUFFIXES: .c .o
|
|
@ -0,0 +1,240 @@
|
|||
diff -Nur ralcgm-3.50.orig/CGMconfig ralcgm-3.50/CGMconfig
|
||||
--- ralcgm-3.50.orig/CGMconfig Tue Apr 19 11:42:17 1994
|
||||
+++ ralcgm-3.50/CGMconfig Mon Mar 19 23:10:54 2001
|
||||
@@ -111,13 +111,13 @@
|
||||
echo; exit
|
||||
fi
|
||||
|
||||
-systems='sun3|sun4|cray|craypcc|iris|iris4d|indigo|rs6000|hpux|ultrix|decosf|topaz'
|
||||
+systems='sun3|sun4|cray|craypcc|iris|iris4d|indigo|rs6000|hpux|ultrix|decosf|topaz|linux'
|
||||
|
||||
#
|
||||
# Set the echo options - check the system.
|
||||
#
|
||||
case $1 in
|
||||
-sun3|sun4|iris|ultrix|dec|rs6000)
|
||||
+sun3|sun4|iris|ultrix|dec|rs6000|linux)
|
||||
# Berkely echo format
|
||||
el="-n"
|
||||
er=""
|
||||
@@ -269,6 +269,14 @@
|
||||
cflags="-c -O -m68881"
|
||||
lflags="-lE -lmalloc -lm"
|
||||
;;
|
||||
+linux)
|
||||
+ system=linux
|
||||
+ cflags="-c ${OPT}"
|
||||
+ lflags="-lm"
|
||||
+ xw="yes"
|
||||
+ xlib="-lX11"
|
||||
+ ar="ar crs"
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
#
|
||||
@@ -672,31 +680,31 @@
|
||||
echo Your desired system will now be configured.
|
||||
echo
|
||||
|
||||
-oututils="$(ATTUTILS)"
|
||||
+oututils='$(ATTUTILS)'
|
||||
|
||||
if test "$gdpflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(GDPUTILS)"
|
||||
+ oututils=$oututils' $(GDPUTILS)'
|
||||
fi
|
||||
|
||||
if test "$filflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(FILUTILS)"
|
||||
+ oututils=$oututils' $(FILUTILS)'
|
||||
fi
|
||||
|
||||
if test "$colrflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(COLRUTILS)"
|
||||
+ oututils=$oututils' $(COLRUTILS)'
|
||||
fi
|
||||
|
||||
if test "$cellflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(CELLUTILS)"
|
||||
+ oututils=$oututils' $(CELLUTILS)'
|
||||
fi
|
||||
|
||||
if test "$ptsflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(PTSUTILS)"
|
||||
+ oututils=$oututils' $(PTSUTILS)'
|
||||
fi
|
||||
|
||||
sed "/^MODULE =/s!=.*\$!= $module!
|
||||
diff -Nur ralcgm-3.50.orig/CGMinstall ralcgm-3.50/CGMinstall
|
||||
--- ralcgm-3.50.orig/CGMinstall Tue Apr 19 11:42:17 1994
|
||||
+++ ralcgm-3.50/CGMinstall Mon Mar 19 23:10:54 2001
|
||||
@@ -111,13 +111,13 @@
|
||||
echo; exit
|
||||
fi
|
||||
|
||||
-systems='sun3|sun4|cray|craypcc|iris|iris4d|indigo|rs6000|hpux|ultrix|decosf|topaz'
|
||||
+systems='sun3|sun4|cray|craypcc|iris|iris4d|indigo|rs6000|hpux|ultrix|decosf|topaz|linux'
|
||||
|
||||
#
|
||||
# Set the echo options - check the system.
|
||||
#
|
||||
case $1 in
|
||||
-sun3|sun4|iris|ultrix|dec|rs6000)
|
||||
+sun3|sun4|iris|ultrix|dec|rs6000|linux)
|
||||
# Berkely echo format
|
||||
el="-n"
|
||||
er=""
|
||||
@@ -269,6 +269,14 @@
|
||||
cflags="-c -O -m68881"
|
||||
lflags="-lE -lmalloc -lm"
|
||||
;;
|
||||
+linux)
|
||||
+ system=linux
|
||||
+ cflags="-c ${OPT}"
|
||||
+ lflags="-lm"
|
||||
+ xw="yes"
|
||||
+ xlib="-lX11"
|
||||
+ ar="ar crs"
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
#
|
||||
@@ -672,31 +680,31 @@
|
||||
echo Your desired system will now be configured.
|
||||
echo
|
||||
|
||||
-oututils="$(ATTUTILS)"
|
||||
+oututils='$(ATTUTILS)'
|
||||
|
||||
if test "$gdpflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(GDPUTILS)"
|
||||
+ oututils=$oututils' $(GDPUTILS)'
|
||||
fi
|
||||
|
||||
if test "$filflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(FILUTILS)"
|
||||
+ oututils=$oututils' $(FILUTILS)'
|
||||
fi
|
||||
|
||||
if test "$colrflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(COLRUTILS)"
|
||||
+ oututils=$oututils' $(COLRUTILS)'
|
||||
fi
|
||||
|
||||
if test "$cellflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(CELLUTILS)"
|
||||
+ oututils=$oututils' $(CELLUTILS)'
|
||||
fi
|
||||
|
||||
if test "$ptsflag" = "yes"
|
||||
then
|
||||
- oututils=$oututils" $(PTSUTILS)"
|
||||
+ oututils=$oututils' $(PTSUTILS)'
|
||||
fi
|
||||
|
||||
sed "/^MODULE =/s!=.*\$!= $module!
|
||||
diff -Nur ralcgm-3.50.orig/include/cgmmach.h ralcgm-3.50/include/cgmmach.h
|
||||
--- ralcgm-3.50.orig/include/cgmmach.h Mon Jun 12 15:18:12 1995
|
||||
+++ ralcgm-3.50/include/cgmmach.h Mon Mar 19 23:10:54 2001
|
||||
@@ -87,6 +87,9 @@
|
||||
#ifndef Double
|
||||
#define Double double
|
||||
#endif
|
||||
+#ifndef Posint64
|
||||
+#define Posint64 unsigned long
|
||||
+#endif
|
||||
|
||||
/* Define macros for some maths routines which may cause problems */
|
||||
|
||||
diff -Nur ralcgm-3.50.orig/include/mc_linux.h ralcgm-3.50/include/mc_linux.h
|
||||
--- ralcgm-3.50.orig/include/mc_linux.h Thu Jan 1 01:00:00 1970
|
||||
+++ ralcgm-3.50/include/mc_linux.h Mon Mar 19 23:10:54 2001
|
||||
@@ -0,0 +1,33 @@
|
||||
+/* RAL-CGM Interpreter header file
|
||||
+ *
|
||||
+ * Linux specific setting for CGM interpreter
|
||||
+ */
|
||||
+
|
||||
+/* Define Machine */
|
||||
+
|
||||
+#define LINUX
|
||||
+
|
||||
+/* Define Graphics system(s) */
|
||||
+
|
||||
+#define POSTSCRIPT
|
||||
+#define BEZIER
|
||||
+#define HERSHEY
|
||||
+#define XW
|
||||
+
|
||||
+#define DATADIR ""
|
||||
+
|
||||
+#define NAMELGTH 32
|
||||
+#define EXTLGTH 8
|
||||
+
|
||||
+#define Posint64 unsigned long long
|
||||
+#define MALLOCH
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+#ifdef CGMOXW_C /* X-Window specific settings */
|
||||
+
|
||||
+#include <X11/cursorfont.h>
|
||||
+#include <X11/Xlib.h>
|
||||
+#include <X11/Xutil.h>
|
||||
+#include <X11/Xatom.h>
|
||||
+
|
||||
+#endif
|
||||
diff -Nur ralcgm-3.50.orig/src/cgmobin.c ralcgm-3.50/src/cgmobin.c
|
||||
--- ralcgm-3.50.orig/src/cgmobin.c Fri Jun 16 15:10:19 1995
|
||||
+++ ralcgm-3.50/src/cgmobin.c Mon Mar 19 23:11:52 2001
|
||||
@@ -1593,7 +1593,8 @@
|
||||
Enum real_type, real_or_vdc;
|
||||
#endif
|
||||
{
|
||||
- Posint whole, exponent, fract, neg;
|
||||
+ Posint whole, exponent, neg;
|
||||
+ Posint64 fract;
|
||||
Prec prec;
|
||||
Double f;
|
||||
|
||||
@@ -1610,7 +1611,7 @@
|
||||
prec = (real_or_vdc == VDC ? curbin.vdc_whole
|
||||
: curbin.real_whole);
|
||||
whole = (Posint)( neg ? -((floor(x))) : x );
|
||||
- fract = (Posint)( ( neg ? x + (Double)whole : x - (Double)whole )
|
||||
+ fract = (Posint64)( ( neg ? x + (Double)whole : x - (Double)whole )
|
||||
* ( 1L<<prec-2 ) * 4.0 );
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -1669,7 +1670,7 @@
|
||||
exponent--;
|
||||
}
|
||||
}
|
||||
- fract = (Long) ( (f - 1.0) * (Double)(1L<<(prec == 12 ? 52 : 23)) );
|
||||
+ fract = (Posint64) ( (f - 1.0) * (Double)(1L<<(prec == 12 ? 52 : 23)) );
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
diff -Nur ralcgm-3.50.orig/src/cgmrand.c ralcgm-3.50/src/cgmrand.c
|
||||
--- ralcgm-3.50.orig/src/cgmrand.c Tue Jun 13 17:32:50 1995
|
||||
+++ ralcgm-3.50/src/cgmrand.c Mon Mar 19 23:10:54 2001
|
||||
@@ -349,7 +349,11 @@
|
||||
/* Correct any overrun */
|
||||
if(cgmoverrun)
|
||||
{
|
||||
+#ifdef LINUX
|
||||
+ disk_addr.__pos -= cgmoverrun;
|
||||
+#else
|
||||
disk_addr -= cgmoverrun;
|
||||
+#endif
|
||||
cgmoverrun = 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for ralcgm
|
||||
|
||||
# Written by B. Watson (yalhcru@gmail.com)
|
||||
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
PRGNAM=ralcgm
|
||||
VERSION=${VERSION:-3.50}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i586 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "i586" ]; then
|
||||
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
LIBDIRSUFFIX="64"
|
||||
else
|
||||
SLKCFLAGS="-O2"
|
||||
LIBDIRSUFFIX=""
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
mkdir -p $PRGNAM-$VERSION
|
||||
cd $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.Z
|
||||
chown -R root:root .
|
||||
|
||||
# Departure from template here due to annoying perms in the tarball.
|
||||
find . -type d -exec chmod 755 {} \+
|
||||
find . -type f -exec chmod 644 {} \+
|
||||
|
||||
# This SlackBuild owes a great debt to PLD Linux:
|
||||
# git://git.pld-linux.org/packages/ralcgm.git
|
||||
|
||||
# Add "linux" as a supported OS.
|
||||
patch -p1 < $CWD/ralcgm-linux.patch
|
||||
|
||||
# Patch was created by running the interactive config, then diffing against
|
||||
# the un-configured source. Also file locations were edited in mach.h.
|
||||
patch -p1 < $CWD/no_interactive_config.diff
|
||||
|
||||
# Compiler warnings scare me.
|
||||
patch -p1 < $CWD/fix_warnings.diff
|
||||
|
||||
# These 3 stanzas come from PLD's ralcgm.spec:
|
||||
# The genbez and genher tools need to be built with DATADIR set to ../data/
|
||||
make -j1 -C src COMPILE="gcc $SLKCFLAGS" cgmfile.o cgmerr.o genbez genher
|
||||
|
||||
# ..everything else needs it as /usr/share/ralcgm/.
|
||||
sed -i '/^#define *DATADIR/s,"\..*,"/usr/share/ralcgm/",' include/mach.h
|
||||
|
||||
# Clean up, then build for real.
|
||||
rm -f src/cgmfile.o src/cgmerr.o
|
||||
make -C src $PRGNAM cgmlib COMPILE="gcc $SLKCFLAGS"
|
||||
|
||||
# Manual install, since the "install" script doesn't actually install.
|
||||
# Not sure that all the includes are necessary, but they shouldn't do
|
||||
# any harm.
|
||||
mkdir -p $PKG/usr/bin $PKG/usr/lib$LIBDIRSUFFIX $PKG/usr/man/man1 \
|
||||
$PKG/usr/share/$PRGNAM $PKG/usr/include/$PRGNAM
|
||||
install -s -oroot -groot -m0755 bin/$PRGNAM $PKG/usr/bin
|
||||
install -oroot -groot -m0644 bin/libcgm.a $PKG/usr/lib$LIBDIRSUFFIX
|
||||
install -oroot -groot -m0644 data/* $PKG/usr/share/$PRGNAM
|
||||
install -oroot -groot -m0644 include/* $PKG/usr/include/$PRGNAM
|
||||
|
||||
gzip -9c < docs/$PRGNAM.man > $PKG/usr/man/man1/$PRGNAM.1.gz
|
||||
|
||||
# The INSTALL actually has somewhat useful info.
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a README docs/INSTALL examples $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="ralcgm"
|
||||
VERSION="3.50"
|
||||
HOMEPAGE="http://www.agocg.ac.uk/train/cgm/ralcgm.htm"
|
||||
DOWNLOAD="http://web.warwick.ac.uk/ftp/x11/ralcgm-3.50.tar.Z"
|
||||
MD5SUM="c132d8533527c35eb99581ed7cc738db"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="yalhcru@gmail.com"
|
|
@ -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 ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
ralcgm: ralcgm (view/convert CGM vector image files)
|
||||
ralcgm:
|
||||
ralcgm: RAL-CGM is a program to translate or interpret CGM (Computer Graphics
|
||||
ralcgm: Metafile) files, either to a different encoding (Binary, Character
|
||||
ralcgm: or Clear Text) or to view on a terminal or to send to a plotter
|
||||
ralcgm: (PostScript or HPGL).
|
||||
ralcgm:
|
||||
ralcgm: It can be used as an ImageMagick or GraphicsMagick delegate to
|
||||
ralcgm: convert from CGM format.
|
||||
ralcgm:
|
||||
ralcgm:
|
Loading…
Reference in New Issue