./devel/libffi, Foreign function interface

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.3nb4, Package name: libffi-3.3nb4, Maintainer: asau

The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a programmer to
call any function specified by a call interface description at

Some programs may not know at the time of compilation what arguments
are to be passed to a function. For instance, an interpreter may be
told at run-time about the number and types of arguments used to call
a given function. Libffi can be used in such programs to provide a
bridge from the interpreter program to compiled code.

Ffi stands for Foreign Function Interface. A foreign function
interface is the popular name for the interface that allows code
written in one language to call code written in another language. The
libffi library really only provides the lowest, machine dependent
layer of a fully featured foreign function interface. A layer must
exist above libffi that handles type conversions for values passed
between the two languages.

Required to build:

Master sites:

SHA1: 8df6cb570c8d6596a67d1c0773bf00650154f7aa
RMD160: 2cd43b66d792f1bad76df2e19a8411beacfcb8e0
Filesize: 1274.869 KB

Version history: (Expand)

CVS history: (Expand)

   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631) | Package updated
Log message:
*: bump PKGREVISION for perl-5.32.
   2020-07-09 11:42:58 by Hauke Fath | Files touched by this commit (3)
Log message:
Do not attempt to build in GO closure support when there is no support
for GO on the platform.

Unbreaks build on Darwin 8.
   2020-05-05 04:46:50 by Izumi Tsutsui | Files touched by this commit (2)
Log message:
libffi: re-add support for NetBSD/sh3el and hppa, from patch-aa rev 1.24.
   2020-04-24 12:19:32 by David Sainty | Files touched by this commit (3)
Log message:
Revert portions of PR/48587 - applied in 2014 to resolve some issue
with building on Irix.  The changes applied to 'configure' introduce
some quite ugly quote nesting that not all shells (E.g. ksh) can

After discussion, prefer to roll back what looks like undesirable and
unnecessary changes, and drop the 'bash' dependency.  My suspicion is
that the old 'configure' patch is unhelpful even for Irix.

The reason for the PR/48587 changes are not clear, given that part of
that patch also selected 'bash' as the shell to use - which should
have made editing the script unnecessary in the first place.

Demonstrating the problem bringing all this to attention, this is what
happens if you are using ksh as the Pkgsrc shell on MacOS X:

===> Building for libffi-3.3nb2
/bin/ksh: : cannot execute [Is a directory]

The cause is this ugly looking quote nesting that was introduced by
patch-configure in PR/48587...

$ BUILD="` grep "^#### $HOST " Makefile | sed -e 's/.*|//' `"
ksh: : cannot execute [Is a directory]
% bash
bash-5.0$ BUILD="` grep "^#### $$HOST " Makefile | sed -e \ 
's/.*|//' `"
bash-5.0$ exit
% sh
sh-3.2$ BUILD="` grep "^#### $$HOST " Makefile | sed -e 's/.*|//' \ 
sh-3.2$ exit

Removing patch-configure results in this much simpler, portable looking

$ BUILD=` grep "^#### $$HOST " Makefile | sed -e 's/.*|//' `

No PKGREVISION bump, this change is not anticipated to affect the
package contents, only the success or failure of the build.
   2020-04-20 12:00:54 by David Sainty | Files touched by this commit (1)
Log message:
Use bash for this build unconditionally, the difficulty in parsing the shell
script is not limited to Irix.

Fixes the build when using ksh (on MacOS) as the preferred shell.

No version bump, this change only repairs outright build failures.
   2020-04-08 15:40:11 by Tobias Nygren | Files touched by this commit (3) | Package updated
Log message:
libffi: fix ARM build

Restore ifdef toggling .eh_frame exception unwinding.
Seems to have been lost in previous update. PR pkg/55107. Bump.
   2020-03-21 17:08:35 by Rin Okuyama | Files touched by this commit (3)
Log message:
Fix build for ILP32 powerpc, which doesn't have 128-bit-length data types.
   2020-03-16 10:35:47 by Rin Okuyama | Files touched by this commit (2)
Log message:
Readd support for NetBSD/mips.