summaryrefslogtreecommitdiff
path: root/graphics/rayshade
diff options
context:
space:
mode:
authoragc <agc@pkgsrc.org>1998-08-24 18:11:40 +0000
committeragc <agc@pkgsrc.org>1998-08-24 18:11:40 +0000
commitccd6deaff165f2cb8e2e0268b39a046477c26caf (patch)
tree4302ecbdba8c7f6202ba5dca8685f549ec7201f3 /graphics/rayshade
parentaf6254c83a0a343de633fbc5e4f5e9bc55b2681e (diff)
downloadpkgsrc-ccd6deaff165f2cb8e2e0268b39a046477c26caf.tar.gz
Addition of rayshade-4.0, an extensible system for creating ray-traced
images using the Utah Raster Toolkit, to the NetBSD packages collection. This was originally taken from the FreeBSD port, but hacked around to work on NetBSD.
Diffstat (limited to 'graphics/rayshade')
-rw-r--r--graphics/rayshade/Makefile39
-rw-r--r--graphics/rayshade/files/config.ans19
-rw-r--r--graphics/rayshade/files/config.h189
-rw-r--r--graphics/rayshade/files/md53
-rw-r--r--graphics/rayshade/patches/patch-aa63
-rw-r--r--graphics/rayshade/patches/patch-ab26
-rw-r--r--graphics/rayshade/patches/patch-ba29
-rw-r--r--graphics/rayshade/pkg/COMMENT1
-rw-r--r--graphics/rayshade/pkg/DESCR3
-rw-r--r--graphics/rayshade/pkg/PLIST36
10 files changed, 408 insertions, 0 deletions
diff --git a/graphics/rayshade/Makefile b/graphics/rayshade/Makefile
new file mode 100644
index 00000000000..9dd650eb36e
--- /dev/null
+++ b/graphics/rayshade/Makefile
@@ -0,0 +1,39 @@
+# $NetBSD: Makefile,v 1.1 1998/08/24 18:11:40 agc Exp $
+# FreeBSD Id: Makefile,v 1.1.1.1 1998/05/26 04:04:11 mph Exp
+#
+
+DISTNAME= rayshade.4.0
+PKGNAME= rayshade-4.0
+CATEGORIES= graphics
+MASTER_SITES= ftp://graphics.stanford.edu/pub/rayshade/ \
+ ftp://ftp.princeton.edu/pub/Graphics/rayshade.4.0/
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= packages@netbsd.org
+
+BUILD_DEPENDS= ${PKGSRCDIR}/graphics/urt/${WRKDIR:T}/include/rle.h:../../graphics/urt:patch
+DEPENDS+= urt-3.1b1:../../graphics/urt
+
+HAS_CONFIGURE= yes
+CONFIGURE_SCRIPT= Configure
+CONFIGURE_ARGS+= < ${WRKDIR}/config.ans
+ALL_TARGET=
+
+pre-configure:
+ ${SED} -e 's|@CFLAGS@|${CFLAGS}|g' -e 's|\$${PREFIX}|${PREFIX}|g' \
+ -e 's|\$${URTDIR}|${.CURDIR}/../../graphics/urt/${WRKDIR:T}|g' \
+ ${FILESDIR}/config.ans > ${WRKDIR}/config.ans
+
+do-install:
+ $(INSTALL_PROGRAM) $(WRKSRC)/rayshade/rayshade $(PREFIX)/bin
+ $(INSTALL_DATA) $(WRKSRC)/libray/libray.a $(PREFIX)/lib
+ ${RANLIB} ${PREFIX}/lib/libray.a
+ $(INSTALL_DATA) $(WRKSRC)/libshade/libshade.a $(PREFIX)/lib
+ ${RANLIB} ${PREFIX}/lib/libshade.a
+ $(MKDIR) $(PREFIX)/share/doc/rayshade
+ $(INSTALL_DATA) $(WRKSRC)/Doc/Guide/* $(PREFIX)/share/doc/rayshade
+ $(INSTALL_DATA) $(WRKSRC)/Doc/quickref.txt $(PREFIX)/share/doc/rayshade
+ $(MKDIR) $(PREFIX)/share/examples/rayshade
+ $(INSTALL_DATA) $(WRKSRC)/Examples/* $(PREFIX)/share/examples/rayshade
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/graphics/rayshade/files/config.ans b/graphics/rayshade/files/config.ans
new file mode 100644
index 00000000000..4725073c076
--- /dev/null
+++ b/graphics/rayshade/files/config.ans
@@ -0,0 +1,19 @@
+
+
+-lm
+clock_t
+
+cc
+@CFLAGS@
+-I${PREFIX}/include -I${URTDIR}/include
+
+${URTDIR}
+${PREFIX}/lib/librle.a
+drand48
+11
+${PREFIX}/bin
+/usr/bin/mkdep
+yacc
+
+y
+
diff --git a/graphics/rayshade/files/config.h b/graphics/rayshade/files/config.h
new file mode 100644
index 00000000000..23f59936f70
--- /dev/null
+++ b/graphics/rayshade/files/config.h
@@ -0,0 +1,189 @@
+/* config.h
+ * This file was produced by running the config.h.SH script, which
+ * gets its values from config.sh, which is generally produced by
+ * running Configure.
+ *
+ * Feel free to modify any of this as the need arises. Note, however,
+ * that running config.h.SH again will wipe out any changes you've made.
+ * For a more permanent change edit config.sh and rerun config.h.SH.
+ */
+
+
+/* EUNICE:
+ * This symbol, if defined, indicates that the program is being compiled
+ * under the EUNICE package under VMS. The program will need to handle
+ * things like files that don't go away the first time you unlink them,
+ * due to version numbering. It will also need to compensate for lack
+ * of a respectable link() command.
+ */
+/* VMS:
+ * This symbol, if defined, indicates that the program is running under
+ * VMS. It is currently only set in conjunction with the EUNICE symbol.
+ */
+/* XENIX:
+ * This symbol, if defined, indicates thet the program is running under
+ * Xenix (at least 3.0 ?).
+ */
+/* BSD:
+ * This symbol, if defined, indicates that the program is running under
+ * a BSD system.
+ */
+/*#undef EUNICE /**/
+/*#undef VMS /**/
+/*#undef XENIX /**/
+#define BSD /**/
+
+/* CPPSTDIN:
+ * This symbol contains the first part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. Typical value of "cc -E" or "/lib/cpp".
+ */
+/* CPPMINUS:
+ * This symbol contains the second part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. This symbol will have the value "-" if CPPSTDIN needs a minus
+ * to specify standard input, otherwise the value is "".
+ */
+#define CPPSTDIN "/usr/bin/cpp"
+#define CPPMINUS ""
+
+/* bzero:
+ * This symbol is maped to memset if the bzero() routine is not
+ * available to set memory to 0.
+ */
+/*#undef bzero(s,l) memset((s),0,(l)) ; /* mapped to memset */
+
+/* CBRT:
+ * This symbol, if defined, indicates that the cbrt() (cube root)
+ * function is available.
+ */
+#define CBRT /**/
+
+/* index:
+ * This preprocessor symbol is defined, along with rindex, if the system
+ * uses the strchr and strrchr routines instead.
+ */
+/* rindex:
+ * This preprocessor symbol is defined, along with index, if the system
+ * uses the strchr and strrchr routines instead.
+ */
+#define index strchr /* cultural */
+#define rindex strrchr /* differences? */
+
+/* MEMSET:
+ * This symbol, if defined, indicates that the memset routine is available
+ * to set blocks of memory. You should always use bzero() instead of
+ * memset() because bzero is remaped to memset if necessary. This means
+ * that a memset() routine must be provided in case MEMSET is not defined
+ * and no bzero() is found.
+ */
+#define MEMSET /**/
+
+/* POPEN:
+ * This symbol, if defined, indicates that the popen routine is
+ * available to open a pipe from a process.
+ */
+#define POPEN /**/
+
+/* RUSAGE:
+ * This symbol, if defined, indicates that the getrusage() routine exists.
+ * Inclusion of <sys/resource.h> and <sys/time.h> may be necessary.
+ */
+#define RUSAGE /**/
+
+/* TIMES:
+ * This symbol, if defined, indicates that the times() routine exists.
+ * Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage().
+ */
+/* CLOCKTYPE:
+ * This symbol holds the type returned by times(). It can be long,
+ * or clock_t on BSD sites (in which case <sys/types.h> should be
+ * included). Moreover, the Clock_t symbol is defined in common.h
+ * and should be used for easy clean reference.
+ */
+#define TIMES /**/
+#define CLOCKTYPE clock_t /**/
+
+/* I_STRING:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
+ */
+#define I_STRING /**/
+
+/* I_SYSRESOURCE:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/resource.h>.
+ */
+#define I_SYSRESOURCE /**/
+
+/* I_SYSTYPES:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/types.h>.
+ */
+#define I_SYSTYPES /**/
+
+/* I_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <time.h>.
+ */
+/* I_SYSTIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/* I_SYSTIMEKERNEL:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h> with KERNEL defined.
+ */
+/*#undef I_TIME /**/
+#define I_SYSTIME /**/
+/*#undef I_SYSTIMEKERNEL /**/
+
+/* nrand:
+ * This macro is to be used to generate uniformly distributed
+ * random numbers over the range [0., 1.].
+ */
+/* seednrand:
+ * This symbol defines the macro to be used in seeding the
+ * random number generator (see nrand).
+ */
+#define nrand() drand48() /**/
+#define seednrand(x) srand48(x) /**/
+
+/* VOIDFLAGS:
+ * This symbol indicates how much support of the void type is given by this
+ * compiler. What various bits mean:
+ *
+ * 1 = supports declaration of void
+ * 2 = supports arrays of pointers to functions returning void
+ * 4 = supports comparisons between pointers to void functions and
+ * addresses of void functions
+ * 8 = suports declaration of generic void pointers
+ *
+ * The package designer should define VOIDUSED to indicate the requirements
+ * of the package. This can be done either by #defining VOIDUSED before
+ * including config.h, or by defining defvoidused in Myinit.U. If the
+ * latter approach is taken, only those flags will be tested. If the
+ * level of void support necessary is not present, defines void to int.
+ */
+#ifndef VOIDUSED
+#define VOIDUSED 11
+#endif
+#define VOIDFLAGS 11
+#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
+#define void int /* is void to be avoided? */
+#define M_VOID /* Xenix strikes again */
+#endif
+
+/* URT:
+ * This symbol, if defined, indicates that the Utah Raster
+ * Toolkit is being used.
+ */
+#define URT /**/
+
+/* I_VARARGS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <stdlib.h>.
+ */
+#define I_STDLIB /**/
+
diff --git a/graphics/rayshade/files/md5 b/graphics/rayshade/files/md5
new file mode 100644
index 00000000000..fc8d6306487
--- /dev/null
+++ b/graphics/rayshade/files/md5
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.1 1998/08/24 18:11:41 agc Exp $
+
+MD5 (rayshade.4.0.tar.Z) = c81f9507c20cd6060a8bdc611a6771ff
diff --git a/graphics/rayshade/patches/patch-aa b/graphics/rayshade/patches/patch-aa
new file mode 100644
index 00000000000..4daa37a46b3
--- /dev/null
+++ b/graphics/rayshade/patches/patch-aa
@@ -0,0 +1,63 @@
+$NetBSD: patch-aa,v 1.1 1998/08/24 18:11:42 agc Exp $
+
+Work around deficiencies in the Configure script:
++ don't test for stdin being a tty
++ NetBSD's ar ts does generate random libs, but you *STILL* need
+to run ranlib, especially on a.out platforms. Comment out ar ts
+test - it's just plain wrong.
+
+*** Configure.orig Sun Feb 9 22:04:23 1992
+--- Configure Sun Mar 8 19:33:26 1998
+@@ -28,10 +28,11 @@
+ PATH=$PATH:'/bsd4.3/usr/bin:/usr/bsd'
+ export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
+
+-if test ! -t 0; then
+- echo "Say 'sh Configure', not 'sh <Configure'"
+- exit 1
+-fi
++# Neither FreeBSD's ports, or NetBSD's packages, want to be interactive
++#if test ! -t 0; then
++# echo "Say 'sh Configure', not 'sh <Configure'"
++# exit 1
++#fi
+
+ (alias) >/dev/null 2>&1 && \
+ echo "(I see you are using the Korn shell. Some ksh's blow up on Configure," && \
+@@ -872,7 +873,7 @@
+ : determine where manual pages are on this system
+ echo " "
+ case "$sysman" in
+- '') sysman=`loc . /usr/man/man1 /usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1 /usr/man/u_man/man1 /usr/share/man/man1 /usr/catman/u_man/man1 /usr/man/l_man/man1 /usr/local/man/u_man/man1 /usr/local/man/l_man/man1 /usr/man/man.L`
++ '') sysman=`loc . /usr/local/man/man1 /usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1 /usr/man/u_man/man1 /usr/share/man/man1 /usr/catman/u_man/man1 /usr/man/l_man/man1 /usr/local/man/u_man/man1 /usr/local/man/l_man/man1 /usr/man/man.L`
+ ;;
+ esac
+ if test -d "$sysman"; then
+@@ -1988,12 +1989,12 @@
+ : see if ar generates random libraries by itself
+ echo " "
+ echo "Checking how to generate random libraries on your machine..."
+-ar rc ran.a /dev/null
+-if ar ts ran.a >/dev/null 2>&1; then
+- echo "ar appears to generate random libraries itself."
+- orderlib=false
+- ranlib=":"
+-else
++#ar rc ran.a /dev/null
++#if ar ts ran.a >/dev/null 2>&1; then
++# echo "ar appears to generate random libraries itself."
++# orderlib=false
++# ranlib=":"
++#else
+ if test -f /usr/bin/ranlib; then
+ ranlib=/usr/bin/ranlib
+ elif test -f /bin/ranlib; then
+@@ -2009,7 +2010,7 @@
+ orderlib=true
+ ranlib=":"
+ fi
+-fi
++#fi
+
+ : determine compiler compiler
+ case "$bison" in
diff --git a/graphics/rayshade/patches/patch-ab b/graphics/rayshade/patches/patch-ab
new file mode 100644
index 00000000000..d5962af9314
--- /dev/null
+++ b/graphics/rayshade/patches/patch-ab
@@ -0,0 +1,26 @@
+$NetBSD: patch-ab,v 1.1 1998/08/24 18:11:43 agc Exp $
+
+*** etc/rsconvert/lex.l.orig Sun Mar 8 18:55:39 1998
+--- etc/rsconvert/lex.l Sun Mar 8 18:56:05 1998
+***************
+*** 22,27 ****
+--- 22,28 ----
+ #include "libcommon/common.h"
+ #include "y.tab.h"
+ %}
++ %option yylineno
+ alpha [a-zA-Z]
+ special [\.\_-]
+ digit [0-9]
+*** libshade/lex.l.orig Sun Mar 8 18:52:11 1998
+--- libshade/lex.l Sun Mar 8 18:53:18 1998
+***************
+*** 29,34 ****
+--- 29,35 ----
+ #include "y.tab.h"
+ extern char *strsave();
+ %}
++ %option yylineno
+ alpha [a-zA-Z]
+ special [\.\_-]
+ digit [0-9]
diff --git a/graphics/rayshade/patches/patch-ba b/graphics/rayshade/patches/patch-ba
new file mode 100644
index 00000000000..fa7940b82f1
--- /dev/null
+++ b/graphics/rayshade/patches/patch-ba
@@ -0,0 +1,29 @@
+$NetBSD: patch-ba,v 1.1 1998/08/24 18:11:44 agc Exp $
+
+*** raypaint/Makefile.SH.orig Sat Mar 28 20:31:28 1998
+--- raypaint/Makefile.SH Sat Mar 28 20:31:55 1998
+***************
+*** 55,65 ****
+
+ #
+ # If using X11, use:
+! #GRAPHICSLIB = -lX11
+
+ #
+ # If you are using GL, use:
+! GRAPHICSLIB = -lgl_s
+
+ LIBRAY = $(LIBRAYDIR)/libray.a
+ LIBSHADE = $(LIBSHADEDIR)/libshade.a
+--- 55,65 ----
+
+ #
+ # If using X11, use:
+! GRAPHICSLIB = -lX11
+
+ #
+ # If you are using GL, use:
+! #GRAPHICSLIB = -lgl_s
+
+ LIBRAY = $(LIBRAYDIR)/libray.a
+ LIBSHADE = $(LIBSHADEDIR)/libshade.a
diff --git a/graphics/rayshade/pkg/COMMENT b/graphics/rayshade/pkg/COMMENT
new file mode 100644
index 00000000000..09890de549e
--- /dev/null
+++ b/graphics/rayshade/pkg/COMMENT
@@ -0,0 +1 @@
+An extensible system for creating ray-traced images.
diff --git a/graphics/rayshade/pkg/DESCR b/graphics/rayshade/pkg/DESCR
new file mode 100644
index 00000000000..eaab43c8b11
--- /dev/null
+++ b/graphics/rayshade/pkg/DESCR
@@ -0,0 +1,3 @@
+Rayshade is a system for generating ray-traced images. Rayshade's main
+function is to read a multi-line ASCII file describing a scene to be
+rendered and produce a file containing the ray traced image.
diff --git a/graphics/rayshade/pkg/PLIST b/graphics/rayshade/pkg/PLIST
new file mode 100644
index 00000000000..9e3ee7502a5
--- /dev/null
+++ b/graphics/rayshade/pkg/PLIST
@@ -0,0 +1,36 @@
+@comment $NetBSD: PLIST,v 1.1 1998/08/24 18:11:45 agc Exp $
+bin/rayshade
+lib/libray.a
+lib/libshade.a
+share/doc/rayshade/README
+share/doc/rayshade/animate.tex
+share/doc/rayshade/camera.tex
+share/doc/rayshade/guide.tex
+share/doc/rayshade/height.tex
+share/doc/rayshade/intro.tex
+share/doc/rayshade/lights.tex
+share/doc/rayshade/objects.tex
+share/doc/rayshade/options.tex
+share/doc/rayshade/preface.tex
+share/doc/rayshade/running.tex
+share/doc/rayshade/surfaces.tex
+share/doc/rayshade/texture.tex
+share/doc/rayshade/transform.tex
+share/doc/rayshade/quickref.txt
+share/examples/rayshade/ashtray.def.ray
+share/examples/rayshade/ashtray.ray
+share/examples/rayshade/balls.ray
+share/examples/rayshade/blob.ray
+share/examples/rayshade/boxball.ray
+share/examples/rayshade/coin.ray
+share/examples/rayshade/csg.ray
+share/examples/rayshade/glass.def.ray
+share/examples/rayshade/glass.ray
+share/examples/rayshade/mtv.ray
+share/examples/rayshade/planet.map
+share/examples/rayshade/planet.ray
+share/examples/rayshade/pool.ray
+share/examples/rayshade/solids.ray
+share/examples/rayshade/stripe.ray
+@dirrm share/doc/rayshade
+@dirrm share/examples/rayshade