Port details |
- dyncall Highly dynamic multi-platform foreign function call interface library
- 1.4_1 devel =3 1.4_1Version of this port present on the latest quarterly branch.
- Maintainer: tphilipp@potion-studios.com
- Port Added: 2008-04-14 00:47:23
- Last Update: 2024-01-10 08:16:01
- Commit Hash: 1b819e4
- People watching this port, also watch:: gxemul, py311-Automat, py311-python-gdsii, py39-PyOpenGL, jdictionary
- License: ISCL
- WWW:
- https://www.dyncall.org
- Description:
- The dyncall library encapsulates architecture-, OS- and compiler-specific
function call semantics in a virtual "bind parameters from left to right
and then call" interface allowing programmers to call C functions in a
completely dynamic manner. In other words, instead of calling a function
directly, the dyncall library provides a mechanism to push the function
parameters manually and to issue the call afterwards.
This means, that a program can determine at runtime what function to
call, and what parameters to pass to it. The library is written in C and
assembly and provides a very simple C interface to program against.
The library comes in very handy to power flexible message systems,
dynamic function call dispatch mechanisms, closure implementations or
even to bridge different programming languages.
When it comes to language bindings, the dyncall library provides a clean
and portable C interface to dynamically issue calls to foreign code using
small kernels written in assembly. Instead of providing code for every
bridged function call, which unnecessarily results in code bloat, only a
couple of instructions are used to invoke every possible call.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- To install the port:
- cd /usr/ports/devel/dyncall/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/dyncall
- pkg install dyncall
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: dyncall
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1670422852
SHA256 (dyncall-1.4.tar.gz) = 14437dbbef3b6dc92483f6507eaf825ab97964a89eecae8cb347a6bec9c32aae
SIZE (dyncall-1.4.tar.gz) = 1515528
Packages (timestamps in pop-ups are UTC):
- This port has no dependencies.
- There are no ports dependent upon this port
Configuration Options:
- No options to configure
- Options name:
- devel_dyncall
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
1.4_1 10 Jan 2024 08:16:01 |
Baptiste Daroussin (bapt) |
MAN?PREFIX: eleminate its usage and move man to share/man |
1.4 11 Oct 2023 18:26:31 |
Piotr Kubaj (pkubaj) |
devel/dyncall: fix build on powerpc
cc -O2 -pipe -fPIC -fstack-protector-strong -fno-strict-aliasing
-I/wrkdirs/usr/ports/devel/dyncall/work/dyncall-1.4/./dyncallback/../dyncall -c
dyncall_thunk.c -o dyncall_thunk.o
In file included from dyncall_thunk.c:38:
./dyncall_thunk_ppc32_sysv.c:28:28: warning: parameter 'x' was not declared,
defaults to 'int'; ISO C99 and later do not support implicit int
[-Wimplicit-int]
static unsigned short hi16(x) { return ( (unsigned short) (((unsigned
int)x)>>16UL) ); }
^
./dyncall_thunk_ppc32_sysv.c:28:23: warning: a function definition without a
prototype is deprecated in all versions of C and is not supported in C2x
[-Wdeprecated-non-prototype]
static unsigned short hi16(x) { return ( (unsigned short) (((unsigned
int)x)>>16UL) ); }
^
./dyncall_thunk_ppc32_sysv.c:29:28: warning: parameter 'x' was not declared,
defaults to 'int'; ISO C99 and later do not support implicit int
[-Wimplicit-int]
static unsigned short lo16(x) { return ( (unsigned short) ((unsigned int)x)
); }
^
./dyncall_thunk_ppc32_sysv.c:29:23: warning: a function definition without a
prototype is deprecated in all versions of C and is not supported in C2x
[-Wdeprecated-non-prototype]
static unsigned short lo16(x) { return ( (unsigned short) ((unsigned int)x)
); }
^
./dyncall_thunk_ppc32_sysv.c:41:26: error: incompatible pointer to integer
conversion passing 'DCThunk *' (aka 'struct DCThunk_ *') to parameter of type
'int' [-Wint-conversion]
p->addr_self_hi = hi16(p);
^
./dyncall_thunk_ppc32_sysv.c:43:26: error: incompatible pointer to integer
conversion passing 'DCThunk *' (aka 'struct DCThunk_ *') to parameter of type
'int' [-Wint-conversion]
p->addr_self_lo = lo16(p); |
1.4 09 Dec 2022 19:18:41 |
Fernando Apesteguía (fernape) Author: Tassilo Philipp |
devel/dyncall: update to 1.4
ChangeLog: https://dyncall.org/changelog
PR: 268222
Reported by: tphilipp@potion-studios.com (maintainer) |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
1.3 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
1.3 18 Dec 2021 17:12:20 |
Li-Wen Hsu (lwhsu) Author: Tassilo Philipp |
devel/dyncall: Update to 1.3
PR: 260491 |
1.2 08 Oct 2021 10:46:15 |
Mikael Urankar (mikael) Author: Tassilo Philipp |
devel/dyncall: Fix build on arm
PR: 258846
Reported by: Robert Clausecker |
1.2 06 Apr 2021 14:31:07 |
Mathieu Arnold (mat) |
Remove # $FreeBSD$ from Makefiles. |
1.2 23 Jan 2021 21:21:18 |
lcook |
devel/dyncall: Update to 1.2
Changes: https://dyncall.org/pub/dyncall/dyncall/file/tip/ChangeLog
PR: 252945
Submitted by: Tassilo Philipp <tphilipp@potion-studios.com> (maintainer)
Approved by: fernape (mentor)
Differential Revision: https://reviews.freebsd.org/D28307 |
1.1 08 Dec 2020 16:04:12 |
linimon |
Mark as BROKEN on riscv64.
Approved by: portmgr (tier-2 blanket)
Obtained from: lonesome.com build testing |
1.1 13 Jan 2020 17:48:02 |
fernape |
devel/dyncall: Update to 1.1
From ChangeLog:
http://hg.dyncall.org/pub/dyncall/dyncall/file/5ac53b2d5f1e/ChangeLog
dyncall:
* support for soft-float MIPS o32 & n64 (big- and little-endian, each)
* x64 System V syscall support
dyncallback:
* support for soft-float MIPS o32 & n64 (big- and little-endian, each)
dynload:
* added UTF-8 support for pathnames on windows
* reliability/stability fix for dlGetLibraryPath() on glibc based platforms
(avoiding
internal use of glibc's bad impl of dlinfo() which doesn't do any error
checking at all)
* Darwin/macos fix for dlGetLibraryPath() to correctly fail on bogus handles
(did return
paths to random libraries under some circumstances, instead of returning an
error) (Only the first 15 lines of the commit message are shown above ) |
1.0 27 Apr 2018 20:59:13 |
fernape |
Update devel/dyncall to 1.0
PR: 227737
Reported by: tphilipp@potion-studios.com (maintainer)
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D15213 |
0.9_1 30 Nov 2017 06:13:35 |
linimon |
For ports that are marked BROKEN on armv6, and also fail to build on
armv7, mark them so.
This is part two of a multipart commit to bring armv7 ports to parity
with armv6.
Approved by: portmgr (tier-2 blanket)
Obtained from: lonesome.com -exp run |
0.9_1 27 May 2017 15:07:12 |
linimon |
Mark some ports failing on armv6, for errors classified as "clang".
While here, pet portlint.
Approved by: portmgr (tier-2 blanket) |
0.9_1 30 Mar 2016 17:30:47 |
riggs |
Add -fPIC to CFLAGS; bump PORTREVISION
PIC is required for this port to work properly. However, the
port's own build system only adds it if CFLAGS is not set in MAKE_ENV.
This adds -fPIC to the pre-defined set of CFLAGS to ensure the port
is properly built.
PR: 208201
Submitted by: tphilipp@potion-studios.com (maintainer) |
0.9 05 Jan 2016 17:11:57 |
rakuco |
Update to 0.9.
PR: 205872
Submitted by: Tassilo Philipp <tphilipp@potion-studios.com> (maintainer) |
0.8 30 Mar 2014 12:50:11 |
pawel |
Update to version 0.8
PR: ports/187913
Submitted by: maintainer |
0.7 19 Feb 2014 08:37:53 |
ehaupt |
Support staging |
20 Sep 2013 17:03:27
|
bapt |
Add NO_STAGE all over the place in preparation for the staging support (cat:
devel part 1) |
0.7 07 Feb 2012 04:25:40 |
miwi |
- Update to 0.7
PR: 164611
Submitted by: maintainer |
0.6 03 Jul 2011 14:59:23 |
ohauer |
-remove MD5 |
0.6 28 Sep 2010 11:50:47 |
decke |
- Update to 0.6
- Master sites updated
PR: ports/150943
Submitted by: Tassilo Philipp <tphilipp at potion-studios dot com>
(maintainer)
Approved by: beat (co-mentor) |
0.5 28 Apr 2010 16:18:12 |
beat |
- Fix build on PowerPC
PR: ports/146043
Submitted by: Andreas Tobler <andreast-list AT fgznet.ch>
Approved by: Tassilo Philipp <tphilipp AT potion-studios.com> (maintainer,
via private mail) |
0.5 01 Apr 2010 10:18:11 |
linimon |
Also broken on powerpc. While here, delete stale alpha definition.
Hat: portmgr |
0.5 09 Feb 2010 19:39:30 |
amdmi3 |
- Update to 0.5
PR: 143672
Submitted by: "Tassilo Philipp" <tphilipp@potion-studios.com> (maintainer) |
0.3 05 Feb 2009 15:21:05 |
amdmi3 |
- Update to 0.3, mark more archs as unsupported
- While here, canonize identation and add tiny improvements (use PORTVERSION in
MASTER_SITES url, no need to use full path in MAKEFILE)
PR: 131223
Submitted by: Tassilo Philipp <tphilipp at potion-studios dot com>
(maintainer) |
0.2 01 Jun 2008 09:42:37 |
olgeni |
Large round of typo fixes in ports/devel (pkg-descr). |
0.2 30 May 2008 20:06:29 |
jadawin |
- Mark BROKEN on sparc64
Approved by: maintainer, mentor (implicit) |
0.2 23 May 2008 15:20:44 |
jadawin |
- Update to 0.2.
PR: ports/123899
Submitted by: Tassilo Philipp <tphilipp potion-studios com>
Approved by: tabthorpe (mentor) |
0.1 14 Apr 2008 00:47:00 |
clsung |
The dyncall library encapsulates architecture-, OS- and compiler-specific
function call semantics in a virtual "bind parameters from left to right
and then call" interface allowing programmers to call C functions in a
completely dynamic manner. In other workds, instead of calling a function
directly, the dyncall library provides a mechanism to push the function
parameters manually and to issue the call afterwards.
This means, that a program can determine at runtime what function to
call, and what parameters to pass to it. The library is written in C and
assembly and provides a very simple C interface to program against.
The library comes in very handy to power flexible message systems,
dynamic function call dispatch mechanisms, closure implementations or
even to bridge different programming languages.
When it comes to language bindings, the dyncall library provides a clean
and portable C interface to dynamically issue calls to foreign code using
small kernels written in assembly. Instead of providing code for every
bridged function call, which unnecessarily results in code bloat, only a
couple of instructions are used to invoke every possible call.
WWW: http://www.dyncall.org
PR: ports/122720
Submitted by: Tassilo Philipp <tphilipp at potion-studios.com> |