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 run
time.
devel/libffi: fix build with lld17
ld: error: version script assignment of 'LIBFFI_BASE_8.0' to symbol
'ffi_type_longdouble' failed: symbol not defined
devel/libffi: fix build with lld 17
As reported in bug 273753#c12, devel/libffi fails to link with lld 17,
at least on i386:
libtool: link: cc -shared -fPIC -DPIC src/.libs/prep_cif.o src/.libs/types.o
src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o
src/.libs/tramp.o src/x86/.libs/ffi.o src/x86/.libs/sysv.o -O2
-fstack-protector-strong -Wl,--version-script -Wl,libffi.map
-fstack-protector-strong -Wl,-soname -Wl,libffi.so.8 -o .libs/libffi.so.8.1.2
ld: error: version script assignment of 'LIBFFI_BASE_8.0' to symbol
'ffi_java_raw_call' failed: symbol not defined
ld: error: version script assignment of 'LIBFFI_CLOSURE_8.0' to symbol
'ffi_prep_java_raw_closure' failed: symbol not defined
ld: error: version script assignment of 'LIBFFI_CLOSURE_8.0' to symbol
'ffi_prep_java_raw_closure_loc' failed: symbol not defined
cc: error: linker command failed with exit code 1 (use -v to see invocation)
This is because the symbols it complains about are not implemented on
i386, due to the FFI_NATIVE_RAW_API define being nonzero.
Fix it by adding more #if statements to libffi.map.in.
PR: 274056
Approved by: kbowling (maintainer)
MFH: 2023Q3
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)
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 )
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
devel/libffi: Revert "Update to 3.4.2"
This is currently awaiting an exp-run and was accidently committed.
I do not intend to bump port epoch unless requested because it will be
re-committed soon.
This reverts commit c0368fd487e049eee259ef74c3a86328b2321429.
devel/libffi: Fix distinfo for GitHub patch
GitHub is now generating a longer short commit ID in the patch.
PR: 262705
Reported by: thetanix (thetanix@gmail.com)
MFH: 2022Q2
Sponsored by: BBOX.io
devel/libffi: Fix abort() on FreeBSD riscv related to __clear_case()
Like on mips, disable the __builtin___clear_cache() call because it triggers
aborts.
PR: 251564
Approved by: zeising
devel/libffi: Add support for powerpc64le-*-freebsd*.
To support the upcoming FreeBSD PowerPC64LE platform, teach libffi about
the new target triple.
Submitted upstream as https://github.com/libffi/libffi/pull/581
Approved by: zeising (maintainer)
Sponsored by: Tag1 Consulting, Inc.
devel/libffi: Fix build on i386 without objdump
FreeBSD 13 does not have any objdump in the default installation, which
causes issues with libffi on i386 with the recent update to llvm 11.
Add a patch originally from upstream, to use readelf instead of objdump.
The patch is for configure.ac originally. I've applied it and rerun
autoreconf and committed the result, instead of adding a dependency on
autoreconf.
Fix devel/libffi321 in the same way. While here, fix the fuzz on a few
other patches, which made it much easier to sort out the configure patch.
Thanks to dim@ for helping me figure out the issue.
MFH: 2020Q3
devel/libffi: fix build on powerpc
Problem:
In file included from src/powerpc/ffi.c:33:
src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this
target
65 | typedef __int128 float128;
| ^~~~~~~~
devel/libffi: fix build on GCC architectures
Use newer GCC:
../src/powerpc/ffi_powerpc.h:65: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'float128'
Install texinfo files (GNU info) into ${PREFIX}/share/info
After a discussion on the mailing list on moving manpages to
${PREFIX}/share/man for consistency with base where it is
installed in usr/share/man, it appeared the same should happen
to GNU info files which were installed under share in base and
not in ports.
Now texinfo is not in base on any of the supported version of FreeBSD
it is possible to proceed to this move and it is easier to do than
the manpage change.
Other benefit than consistency are less patching: all build tools but
cmake are expecting info files to be under share/info and cmake (patched here)
was having an exception for BSD so the patch makes FreeBSD case less
specific for them
Bump revision of all impacted ports
PR: 232907
exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D17816
Apply upstream change from libffi to check for HAVE_AS_X86_PCREL for all
x86 targets. This should eliminate any text relocations, in particular
for the i386 build, making it possible to build the port with lld
without having to use -z notext.
Obtained from: https://github.com/libffi/libffi/pull/174
Approved by: zeising (maintainer)
PR: 214864
MFH: 2017Q4
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
devel/libffi: Fix abort() on ARM related to __clear_cache()
The current FreeBSD/ARM __clear_cache() implementation does nothing #if
__i386__ || __x86_64__ #else abort();
cognet@ advises this is an issue for anything !Apple that is using the
libcompiler_rt provided by Clang on ARM, and requires upstreaming.
Additionally, two Python ports (python26 and python31) use devel/libffi for
unrelated reasons, so this addresses the related PR for those ports too [2].
- Enable STAGE support
- Remove MAN* entries and update pkg-plist accordingly
- Add LICENSE
- Sort USE/USES section
- Use install-strip as the INSTALL_TARGET
PR: ports/149167
PR: ports/184517 [2]
Approved by: maintainer timeout (2 weeks)
This changes almost all the "gnomehack" only USE_GNOME cases to USES= pathfix.
If a port used other USE_GNOME items it was untouched.
The ports that used other USES were fixed by hand.
PR: ports/177081
Reviewed by: bapt
Approved by: portmgr (miwi)
- Update to 3.0.12
- Remove patches that were included upstream
- Rename TEST option to TESTS
- Add TEST_DEPENDS & regression-test: target
- Remove post-build: so tests dont run unconditionally
Approved by: eadler
Discussed with: kwm, milki, flo, pgj
Remove USE_GNOME=gnometarget from ports. It has been a empty keyword since
mid 2008.
PR: ports/159624
Submitted by: Ruslan Mahmatkhanov <cvs-src@yandex.ru>
$CFLAGS are redundant for compiling .s files.
GCC stays quiet, but Clang gives a warning of unused arguments.
The configure check greps for warning, so the check fails.
Remove $CFLAGS to clang doesn't emit the warnings.
PR: ports/152480
Submitted by: me
Patch by: dim@
Approved by: maintainer
Mass-conversion to the USE_AUTOTOOLS New World Order. The code present
in bsd.autotools.mk essentially makes this a no-op given that all the
old variables set a USE_AUTOTOOLS_COMPAT variable, which is parsed in
exactly the same way as USE_AUTOTOOLS itself.
Moreover, USE_AUTOTOOLS has already been extensively tested by the GNOME
team -- all GNOME 2.12.x ports use it.
Preliminary documentation can be found at:
http://people.FreeBSD.org/~ade/autotools.txt
which is in the process of being SGMLized before introduction into the
Porters Handbook.
Light blue touch-paper. Run.
Apply a big libtool patch to allow porters to use the libtool installed by
the libtoolX ports instead of the one included with each port. Ports that
set USE_LIBTOOL_VER=X will now use the ports version of libtool instead of
the included version. To restore previous behavior, use the new macro,
USE_INC_LIBTOOL_VER. Both macros accept the same argument: a libtool version.
For example, to use the ports version of libtool-1.5, add the following to
your Makefile:
USE_LIBTOOL_VER= 15
To use the included version of libtool with extra hacks provided by
libtool-1.5, add the following to your Makefile:
USE_INC_LIBTOOL_VER= 15
With this change, ports that had to add additional libtool hacks to prevent
.la files from being installed or to fix certain threading issues can now
delete those hacks (after appropriate testing, of course).
PR: 63944
Based on work by:eik and marcus
Approved by: ade (autotools maintainer)
Tested by: kris on pointyhat
Bound to be hidden problems: You bet
Whoa there, boy, that's a mighty big commit y'all have there...
Begin autotools sanitization sequence by requiring ports to explicitly
specify which version of {libtool,autoconf,automake} they need, erasing
the concept of a "system default".
For ports-in-waiting:
USE_LIBTOOL=YES -> USE_LIBTOOL_VER=13
USE_AUTOCONF=YES -> USE_AUTOCONF_VER=213
USE_AUTOMAKE=YES -> USE_AUTOMAKE_VER=14
Ports attempting to use the old style system after June 1st 2004 will be
sorely disappointed.