ports/122720: New port: devel/dyncall - dynamic/foreign function call interface library

Tassilo Philipp tphilipp at potion-studios.com
Sun Apr 13 14:30:01 UTC 2008


>Number:         122720
>Category:       ports
>Synopsis:       New port: devel/dyncall - dynamic/foreign function call interface library
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr 13 14:30:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Tassilo Philipp
>Release:        6.3-RELEASE
>Organization:
Potion Studios
>Environment:
FreeBSD 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 01:43:02 UTC 2008 root at palmer.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP amd64
>Description:

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	dyncall
#	dyncall/pkg-plist
#	dyncall/pkg-descr
#	dyncall/distinfo
#	dyncall/Makefile
#
echo c - dyncall
mkdir -p dyncall > /dev/null 2>&1
echo x - dyncall/pkg-plist
sed 's/^X//' >dyncall/pkg-plist << 'END-of-dyncall/pkg-plist'
Xinclude/dyncall.h
Xinclude/dyncall_callf.h
Xinclude/dyncall_config.h
Xinclude/dyncall_macros.h
Xinclude/dyncall_signature.h
Xinclude/dyncall_types.h
Xinclude/dyncall_value.h
Xinclude/dynload.h
Xlib/libdyncall_s.a
Xlib/libdynload_s.a
END-of-dyncall/pkg-plist
echo x - dyncall/pkg-descr
sed 's/^X//' >dyncall/pkg-descr << 'END-of-dyncall/pkg-descr'
XThe dyncall library encapsulates architecture-, OS- and compiler-specific
Xfunction call semantics in a virtual "bind parameters from left to right
Xand then call" interface allowing programmers to call C functions in a
Xcompletely dynamic manner. In other workds, instead of calling a function
Xdirectly, the dyncall library provides a mechanism to push the function
Xparameters manually and to issue the call afterwards.
XThis means, that a program can determine at runtime what function to
Xcall, and what parameters to pass to it. The library is written in C and
Xassembly and provides a very simple C interface to program against.
X
XThe library comes in very handy to power flexible message systems,
Xdynamic function call dispatch mechanisms, closure implementations or
Xeven to bridge different programming languages.
XWhen it comes to language bindings, the dyncall library provides a clean
Xand portable C interface to dynamically issue calls to foreign code using
Xsmall kernels written in assembly. Instead of providing code for every
Xbridged function call, which unnecessarily results in code bloat, only a
Xcouple of instructions are used to invoke every possible call.
X
XWWW: http://www.dyncall.org
END-of-dyncall/pkg-descr
echo x - dyncall/distinfo
sed 's/^X//' >dyncall/distinfo << 'END-of-dyncall/distinfo'
XMD5 (dyncall-0.1.tar.gz) = aaa539cca71f9584df83deae50303198
XSHA256 (dyncall-0.1.tar.gz) = 3c063b272d08818b514b62042166010dcafacb617befad175ce374ed2efc31ef
XSIZE (dyncall-0.1.tar.gz) = 112182
END-of-dyncall/distinfo
echo x - dyncall/Makefile
sed 's/^X//' >dyncall/Makefile << 'END-of-dyncall/Makefile'
X# New ports collection makefile for: dyncall
X# Date created:        05 April 2008
X# Whom:                Tassilo Philipp <tphilipp at potion-studios.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=		dyncall
XPORTVERSION=		0.1
XCATEGORIES=		devel
XMASTER_SITES=		http://www.dyncall.org/r0.1/
X
XMAINTAINER=		tphilipp at potion-studios.com
XCOMMENT=		Highly dynamic multi-platform foreign function call interface library
X
XHAS_CONFIGURE=		yes
X
XMAKEFILE=		${WRKSRC}/BSDmakefile
X
X# There is no install target in the BSD makefile of version 0.1 of the dyncall library, so
X# install it manually.
X
Xdo-install:
X	${CP} ${WRKSRC}/dyncall/dyncall.h           ${PREFIX}/include/dyncall.h
X	${CP} ${WRKSRC}/dyncall/dyncall_callf.h     ${PREFIX}/include/dyncall_callf.h
X	${CP} ${WRKSRC}/dyncall/dyncall_config.h    ${PREFIX}/include/dyncall_config.h
X	${CP} ${WRKSRC}/dyncall/dyncall_macros.h    ${PREFIX}/include/dyncall_macros.h
X	${CP} ${WRKSRC}/dyncall/dyncall_signature.h ${PREFIX}/include/dyncall_signature.h
X	${CP} ${WRKSRC}/dyncall/dyncall_types.h     ${PREFIX}/include/dyncall_types.h
X	${CP} ${WRKSRC}/dyncall/dyncall_value.h     ${PREFIX}/include/dyncall_value.h
X	${CP} ${WRKSRC}/dynload/dynload.h           ${PREFIX}/include/dynload.h
X	${CP} ${WRKSRC}/dyncall/libdyncall_s.a      ${PREFIX}/lib/libdyncall_s.a
X	${CP} ${WRKSRC}/dynload/libdynload_s.a      ${PREFIX}/lib/libdynload_s.a
X
X.include <bsd.port.mk>
END-of-dyncall/Makefile
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list