diff --git a/lang/gforth/Makefile b/lang/gforth/Makefile index aba8fcb1d346..25cfa31644bb 100644 --- a/lang/gforth/Makefile +++ b/lang/gforth/Makefile @@ -1,79 +1,83 @@ PORTNAME= gforth PORTVERSION= 0.7.3 PORTREVISION= 15 CATEGORIES= lang MASTER_SITES= http://www.complang.tuwien.ac.at/forth/gforth/ \ GNU +PATCH_SITES= https://cgit.git.savannah.gnu.org/cgit/gforth.git/patch/?id=e664cb01&dummy=/:c1 \ + https://cgit.git.savannah.gnu.org/cgit/gforth.git/patch/?id=4284a265&dummy=/:c2 +PATCHFILES= gforth-git-e664cb01.patch:-p1:c1 gforth-git-4284a265.patch:-p1:c2 + MAINTAINER= danfe@FreeBSD.org -COMMENT= Fast and portable Forth system +COMMENT= Fast and portable ANS Forth 94 implementation WWW= https://www.gnu.org/software/gforth/gforth.html LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libavcall.so:devel/libffcall \ libffi.so:devel/libffi \ libltdl.so:devel/libltdl USES= gmake libtool:build localbase makeinfo USE_GCC= yes USE_LDCONFIG= ${PREFIX}/lib/gforth/${PORTVERSION}/libcc-named GNU_CONFIGURE= yes CONFIGURE_ENV= GFORTHHIST=${WRKSRC} MAKE_ENV= GFORTHHIST=${WRKSRC} ALL_TARGET= kernel/version.fs more info TEST_TARGET= check -MAKE_JOBS_UNSAFE=yes +MAKE_JOBS_UNSAFE= /bin/sh: ./gforth: not found STRIP= #none PLIST_SUB= PORTVERSION=${PORTVERSION} \ WORDSIZE=${WORDSIZE} BYTEORDER=${BYTEORDER} PORTDOCS= AUTHORS BUGS Benchres COPYING COPYING.DOC \ INSTALL INSTALL.BINDIST NEWS README \ NEWS.vmgen README.vmgen ToDo INFO= gforth vmgen OPTIONS_DEFINE= DOCS .include .if ${ARCH} == i386 || ${ARCH} == powerpc || ${ARCH} == armv6 || ${ARCH} == armv7 WORDSIZE=32 .else WORDSIZE=64 .endif .if ${ARCH} == powerpc || ${ARCH} == powerpc64 BYTEORDER=b .else BYTEORDER=l .endif post-patch: ${REINPLACE_CMD} 's:@CC@:& -I${LOCALBASE}/include -L${LOCALBASE}/lib:' \ ${WRKSRC}/envos.fs.in ${REINPLACE_CMD} '/ checkone/d' ${WRKSRC}/Makefile.in post-install: install-doc remove-empty-files remove-empty-dirs install-doc: .if ${PORT_OPTIONS:MDOCS} @${MKDIR} ${STAGEDIR}${DOCSDIR} . for filename in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${filename} ${STAGEDIR}${DOCSDIR} . endfor .endif # Remove unused file remove-empty-files: @${RM} ${STAGEDIR}${DATADIR}/site-forth/siteinit.fs # Remove unused directories remove-empty-dirs: @${FIND} -d ${STAGEDIR}${DATADIR}/${PORTVERSION}/arch/ -type d -empty -delete .include diff --git a/lang/gforth/distinfo b/lang/gforth/distinfo index ff5a69b7ebfb..c10726e5db38 100644 --- a/lang/gforth/distinfo +++ b/lang/gforth/distinfo @@ -1,2 +1,7 @@ +TIMESTAMP = 1402700282 SHA256 (gforth-0.7.3.tar.gz) = 2f62f2233bf022c23d01c920b1556aa13eab168e3236b13352ac5e9f18542bb0 SIZE (gforth-0.7.3.tar.gz) = 2523433 +SHA256 (gforth-git-e664cb01.patch) = 93ec083e7ceac20b1cae6337a5a88531a29e0a43c99eda9403c90a3ab7a918b8 +SIZE (gforth-git-e664cb01.patch) = 4890 +SHA256 (gforth-git-4284a265.patch) = c96dadad88135ff7c2e4783ce58a0c4b7869fc7dbb57de733fd599971fd40265 +SIZE (gforth-git-4284a265.patch) = 716 diff --git a/lang/gforth/files/patch-engine_forth.h b/lang/gforth/files/patch-engine_forth.h deleted file mode 100644 index 0ac980204cf2..000000000000 --- a/lang/gforth/files/patch-engine_forth.h +++ /dev/null @@ -1,11 +0,0 @@ ---- engine/forth.h.orig 2013-10-11 21:31:28 UTC -+++ engine/forth.h -@@ -490,7 +490,7 @@ extern double asinh(double r1); - extern double acosh(double r1); - #endif - #ifndef HAVE_ECVT --/* extern char* ecvt(double x, int len, int* exp, int* sign);*/ -+extern char* ecvt(double x, int len, int* exp, int* sign); - #endif - #ifndef HAVE_MEMMOVE - /* extern char *memmove(char *dest, const char *src, long n); */ diff --git a/lang/gforth/files/patch-engine_getopt.h b/lang/gforth/files/patch-engine_getopt.h new file mode 100644 index 000000000000..f7f1a89335e7 --- /dev/null +++ b/lang/gforth/files/patch-engine_getopt.h @@ -0,0 +1,11 @@ +--- engine/getopt.h.orig 2013-10-11 21:31:28 UTC ++++ engine/getopt.h +@@ -95,7 +95,7 @@ struct option + #define optional_argument 2 + + #if __STDC__ +-#if defined(__GNU_LIBRARY__) ++#if defined(__GNU_LIBRARY__) || defined(__FreeBSD__) + /* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ diff --git a/lang/gforth/files/patch-fflib.fs b/lang/gforth/files/patch-fflib.fs deleted file mode 100644 index 9dc464a1e4e5..000000000000 --- a/lang/gforth/files/patch-fflib.fs +++ /dev/null @@ -1,11 +0,0 @@ ---- fflib.fs.orig 2013-10-11 21:31:28 UTC -+++ fflib.fs -@@ -37,7 +37,7 @@ s" callback" add-lib - \c typedef void *Label; - \c typedef Label *Xt; - \c --\c void gforth_callback_ffcall(Xt* fcall, void * alist) -+\c void gforth_callback_ffcall(void* fcall, va_alist alist) - \c { - \c #ifndef HAS_BACKLINK - \c void **gforth_pointers = saved_gforth_pointers; diff --git a/lang/gforth/pkg-descr b/lang/gforth/pkg-descr index 1bd0d0ada712..e52c2c5f7b1a 100644 --- a/lang/gforth/pkg-descr +++ b/lang/gforth/pkg-descr @@ -1,6 +1,6 @@ -Gforth is a fast and portable implementation of the ANS Forth +Gforth is a fast and portable implementation of the ANS Forth (1994) language. It works nicely with the Emacs editor, offers some nice features such as input completion and history and a powerful locals facility, and it even has a manual. Gforth employs traditional -implementation techniques: its inner innerpreter is indirect or +implementation techniques: its inner interpreter is indirect or direct threaded.