Remove the devel/libc++ and devel/libcxxrt ports.
Since all supported versions of FreeBSD now have libc++ and libcxxrt in
the base system, and these ports were outdated, remove them, and update
any ports that still depended on them:
* graphics/gnash
* textproc/hs-double-conversion
* x11-toolkits/hs-wxc
* math/parmetis
Approved by: portmgr (antoine)
Exp-run by: antoine
PR: 217257
MFH: 2017Q1
The output of tools like awk, date, sort, tr,... depends on the current
locale set by the user. Add LANG=C and LC_ALL=C at the beginning of
bsd.port.mk and export them so all commands are executed with the C locale.
LC_ALL=C overrides all other LC_* variables. LANG is used by setlocale(3)
as default value for LC_* variables, so normally it isn't used when LC_ALL
is set, but there's code out there that looks at LANG directly so it's safer
to set it as well. The only commands not captured by this are !=
assignments before any inclusion of bsd.port.*mk.
Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to
CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a
different locale (e.g. USE_LOCALE=en_US.UTF-8).
PR: 215882
Exp-run by: antoine
Approved by: portmgr (antoine)
devel/libc++: Fix std::is_function<void() const> failed
In file included from /usr/include/c++/v1/string:439:
In file included from /usr/include/c++/v1/algorithm:624:
/usr/include/c++/v1/type_traits:433:76: error: no matching function for call to
'__source'
: public integral_constant<bool,
sizeof(__is_function_imp::__test<_Tp>(__is_function_imp::__source<_Tp>())) == 1>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/type_traits:438:14: note: in instantiation of template class
'std::__1::__libcpp_is_function<void (unsigned char *) const, false>' requested
here
: public __libcpp_is_function<_Tp> {};
^
/usr/include/c++/v1/type_traits:443:97: note: in instantiation of template class
'std::__1::is_function<void (unsigned char *) const>' requested here
template <class _Tp, class _Up> struct __libcpp_is_member_function_pointer<_Tp
_Up::*> : public is_function<_Tp> {};
^
/usr/include/c++/v1/type_traits:446:14: note: in instantiation of template class
'std::__1::__libcpp_is_member_function_pointer<void
(flatbuffers::simple_allocator::*)(unsigned char *) const>' requested here
: public __libcpp_is_member_function_pointer<typename remove_cv<_Tp>::type>
{};
^
PR: 215016
Submitted by: cpm
Reviewed by: dim (maintainer)
Approved by: dim (maintainer), feld (mentor, implicit)
Obtained from: https://reviews.llvm.org/D7573
MFH: 2016Q4
devel/libc++: specific libcxxrt LIB_DEPENDS conditionally
The libcxxrt was unconditionally specified, but pkg(8) would not
register it on FreeBSD 10+ because the libcxxrt.so requirement of the
specification was satisfied by the base libraries.
As a result, Synth would rebuild the libc++ each time becaues there
were more dependency requirements in the port Makefile than the resulting
package, leading Synth to consider the package obsolete.
Since there are already existence tests for setting flags, the solution
is trivial: move LIB_DEPENDS definition inside the conditional blocks.
The resulting package is the same everywhere, and Synth is happy too.
PR: 207756
Submitted by: Andrew Terekhov
Discussed with: dim@, bapt@ (no conclusion, I fixed it myself)
devel/libc++: Mainly fix DragonFly support.
This port was originally fixed in dports using alias:10 but this fix
was faulty. The libc++ headers reference __FreeBSD__ so alias won't
work. It needs to be patched to check __DragonFly__, including a file
that was the subject of EXTRA_PATCHES.
Moreover, the port was installing the .orig files left over from
patching. I remove these in post-patch now.
Update libc++ to r208080
Fix build on FreeBSD 8.4 by using devel/libmissing and new devel/xlocale
Add devel/xlocale which is a striped down version of freebsd's xlocale with just
the minimal
requirements for libc++, initially maintained in libc++'s trunk for solaris
support
Update to r200401
Use libcxxrt from ports if not in base
Add stage support
Convert libc++.so into a ldscript
Create a testing lib/c++/libstdc++ ldscript to cheat with g++
Add llvm's libc++ stdc++ library, which supports c++11.
This is for 9.1-stable so ports can use it. libc++ isn't build by default in
9.x.
Borrow some code from the llvm/clang -devel ports for generating svn checkout
semi automaticly.