summaryrefslogtreecommitdiff
path: root/lang/sather/Makefile
diff options
context:
space:
mode:
authorjtb <jtb>2002-05-04 00:45:28 +0000
committerjtb <jtb>2002-05-04 00:45:28 +0000
commitb38c2cc1af86cba1ad7d58b0312a8a07100233cf (patch)
treeeb00cedf08cabf81ae9a18887f6fd24556ef6e91 /lang/sather/Makefile
parentc0f93eaac6ebffdbfb153604f481a86f186b2311 (diff)
downloadpkgsrc-b38c2cc1af86cba1ad7d58b0312a8a07100233cf.tar.gz
Initial import of sather.
Sather is an object oriented language which designed to be simple, efficient, safe, and non-proprietary. It aims to meet the needs of modern research groups and to foster the development of a large, freely available, high-quality library of efficient well-written classes for a wide variety of computational tasks. It was originally based on Eiffel but now incorporates ideas and approaches from several languages. One way of placing it in the "space of languages" is to say that it attempts to be as efficient as C, C++, or Fortran, as elegant and safe as Eiffel or CLU, and to support higher-order functions as well as Common Lisp, Scheme, or Smalltalk. Sather has garbage collection, statically-checked strong typing, multiple inheritance, separate implementation and type inheritance, parameterized classes, dynamic dispatch, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather code can be compiled into C code and can efficiently link with C object files.
Diffstat (limited to 'lang/sather/Makefile')
-rw-r--r--lang/sather/Makefile94
1 files changed, 94 insertions, 0 deletions
diff --git a/lang/sather/Makefile b/lang/sather/Makefile
new file mode 100644
index 00000000000..a590bd23a03
--- /dev/null
+++ b/lang/sather/Makefile
@@ -0,0 +1,94 @@
+# $NetBSD: Makefile,v 1.1.1.1 2002/05/04 00:45:28 jtb Exp $
+
+DISTNAME= sather-1.2.1
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_GNU:=sather/}
+
+MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://www.gnu.org/software/sather/index.html
+COMMENT= Compiler for the Sather object oriented programming language
+
+DEPENDS+= boehm-gc-[0-9]*:../../devel/boehm-gc
+DEPENDS+= tcl-8.3.*:../../lang/tcl
+DEPENDS+= tk-8.3.*:../../x11/tk
+
+USE_GMAKE= # defined
+
+ALL_TARGET= full optional
+
+GC_PREFIX_DEFAULT= ${LOCALBASE}
+EVAL_PREFIX+= GC_PREFIX=boehm-gc
+TCL_PREFIX_DEFAULT= ${LOCALBASE}
+EVAL_PREFIX+= TCL_PREFIX=tcl
+TK_PREFIX_DEFAULT= ${LOCALBASE}
+EVAL_PREFIX+= TK_PREFIX=tk
+
+INFO_FILES= sather.info sather-tutorial.info sather-mode.info
+
+do-configure:
+ for f in ${WRKSRC}/Boot/sacomp.code/Makefile \
+ ${WRKSRC}/Library/System/unix.sa \
+ ${WRKSRC}/System/Common/CONFIG.proto \
+ ${WRKSRC}/System/Platforms/netbsd/CONFIG \
+ ${WRKSRC}/System/Platforms/X/Platform.module \
+ ${WRKSRC}/debian/bin-wrapper \
+ ${WRKSRC}/Browser/Web/convert-1.1 \
+ ${WRKSRC}/Browser/Web/gen_html_class_index \
+ ${WRKSRC}/Browser/Web/gen_html_sa_files \
+ ${WRKSRC}/Browser/Web/gen_html_shortflat \
+ ${WRKSRC}/Browser/Web/gen_html_top_level \
+ ${WRKSRC}/Browser/Web/gen_mml_sa_files \
+ ${WRKSRC}/Browser/Web/gen_mml_shortflat \
+ ${WRKSRC}/Browser/Web/graph2dot; do \
+ ${SED} -e 's:@CC@:${CC}:g' \
+ -e 's:@CFLAGS@:${CFLAGS}:g' \
+ -e 's:@GMAKE@:${GMAKE}:g' \
+ -e 's:@PREFIX@:${PREFIX}:g' \
+ -e 's:@X11BASE@:${X11BASE}:g' \
+ -e 's:@GC_PREFIX@:${GC_PREFIX}:g' \
+ -e 's:@TCL_PREFIX@:${TCL_PREFIX}:g' \
+ -e 's:@TK_PREFIX@:${TK_PREFIX}:g' \
+ $$f > $$f.tmp && ${MV} -f $$f.tmp $$f; \
+ done
+
+post-build:
+ cd ${WRKSRC}/Emacs; ${MAKEINFO} sather.texinfo; \
+ ${MAKEINFO} sather-tutorial.texinfo; \
+ ${MAKEINFO} sather-mode.texinfo
+
+do-install:
+ ${INSTALL_DATA_DIR} ${PREFIX}/lib/sather
+ ${INSTALL_PROGRAM_DIR} ${PREFIX}/lib/sather/Bin
+ cd ${WRKSRC}/Bin; \
+ ${INSTALL_PROGRAM} sacomp sabrowse ${PREFIX}/lib/sather/Bin; \
+ ${INSTALL_SCRIPT} PP gen_html saprep ${PREFIX}/lib/sather/Bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/debian/bin-wrapper \
+ ${PREFIX}/lib/sather/Bin
+ ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${WRKSRC}/Library \
+ ${WRKSRC}/System
+ cd ${PREFIX}/bin; \
+ ${LN} -sf ../lib/sather/Bin/bin-wrapper sacomp; \
+ ${LN} -sf ../lib/sather/Bin/bin-wrapper sabrowse; \
+ cd ${WRKSRC} && ${PAX} -rw Library System/FORBID System/Debug \
+ System/Common/*.c System/Common/*.h \
+ System/Common/*.module System/Common/CONFIG \
+ System/Platforms/f77 System/Platforms/netbsd \
+ System/Platforms/X System/Platforms/dualgui \
+ System/Platforms/gui System/Platforms/tcltk \
+ Browser ${PREFIX}/lib/sather
+ ${FIND} ${PREFIX}/lib/sather -name \*.config -o -name Makefile \
+ -o -name \*.orig | ${XARGS} ${RM} -f
+ ${INSTALL_DATA} ${WRKSRC}/Emacs/*.info* ${PREFIX}/info
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/sather
+ cd ${WRKSRC}/Doc && ${PAX} -rw . ${PREFIX}/share/doc/sather
+ ${INSTALL_MAN} ${WRKSRC}/Doc/man/man1/sacomp.1 ${PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/Doc/man/man1/sabrowse.1 ${PREFIX}/man/man1
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/emacs/site-lisp
+ ${INSTALL_DATA} ${WRKSRC}/Emacs/*.el ${PREFIX}/share/emacs/site-lisp
+
+# should fix this
+post-install:
+ ${RM} -fr ${PREFIX}/lib/sather/System/Platforms/dualgui/dual_gui_server.code/
+
+.include "../../mk/texinfo.mk"
+.include "../../mk/bsd.pkg.mk"