FreeBSD Bugzilla – Attachment 163001 Details for
Bug 204461
[patch] devel/libxs - build with base toolchain whenever possible
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to remove USE_GCC=yes from devel/libxs
patch-libxs (text/plain), 8.99 KB, created by
Don Lewis
on 2015-11-11 08:27:20 UTC
(
hide
)
Description:
patch to remove USE_GCC=yes from devel/libxs
Filename:
MIME Type:
Creator:
Don Lewis
Created:
2015-11-11 08:27:20 UTC
Size:
8.99 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (revision 401180) >+++ Makefile (working copy) >@@ -3,7 +3,7 @@ > > PORTNAME= libxs > PORTVERSION= 1.2.0 >-PORTREVISION= 4 >+PORTREVISION= 5 > CATEGORIES= devel > MASTER_SITES= http://download.crossroads.io/ > >@@ -13,9 +13,8 @@ > LICENSE= GPLv3 > > GNU_CONFIGURE= yes >-USES= pathfix pkgconfig libtool >+USES= compiler:features pathfix pkgconfig libtool > USE_LDCONFIG= yes >-USE_GCC= yes > > OPTIONS_DEFINE= DEBUG DOCS PLUGINS ZMQ > EXTERNAL_DESC= PGM extension from ports >@@ -26,8 +25,33 @@ > OPTIONS_RADIO_PGM= INTERNAL EXTERNAL > OPTIONS_DEFAULT=PLUGINS > >-.include <bsd.port.options.mk> >+.include <bsd.port.pre.mk> > >+.if ${COMPILER_TYPE} == clang >+. if ${COMPILER_FEATURES:Mlibstdc++} >+# FreeBSD 9 built with clang as the default compiler >+. if exists(/usr/bin/gcc) >+# Use base gcc if it exists >+CC= gcc >+CPP= gcpp >+CXX= g++ >+. else >+# Punt and use ports gcc and hope for the best >+USE_GCC= yes >+. endif >+. elif ${COMPILER_VERSION} < 36 >+# Allow declaration of map and multimap iterator with incomplete mapped type >+# by applying upstream change r231119 to a copy of our local c++ headers. >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-map >+CPPFLAGS+= -I${WRKSRC}/map-fix >+ >+post-extract: >+ ${MKDIR} ${WRKSRC}/map-fix >+ ${CP} /usr/include/c++/v1/__tree /usr/include/c++/v1/map \ >+ ${WRKSRC}/map-fix/. >+. endif >+.endif >+ > .if ${PORT_OPTIONS:MDEBUG} > CONFIGURE_ARGS+= --enable-debug > .endif >@@ -75,4 +99,4 @@ > ${WRKSRC}/configure > .endif > >-.include <bsd.port.mk> >+.include <bsd.port.post.mk> >Index: files/extra-patch-map >=================================================================== >--- files/extra-patch-map (nonexistent) >+++ files/extra-patch-map (working copy) >@@ -0,0 +1,165 @@ >+--- map-fix/__tree.orig 2015-11-10 21:58:57.802092405 -0800 >++++ map-fix/__tree 2015-11-10 21:59:00.724090284 -0800 >+@@ -622,8 +622,6 @@ >+ { >+ typedef _NodePtr __node_pointer; >+ typedef typename pointer_traits<__node_pointer>::element_type __node; >+- typedef typename __node::base __node_base; >+- typedef typename __node_base::pointer __node_base_pointer; >+ >+ __node_pointer __ptr_; >+ >+@@ -652,17 +650,21 @@ >+ {return pointer_traits<pointer>::pointer_to(__ptr_->__value_);} >+ >+ _LIBCPP_INLINE_VISIBILITY >+- __tree_iterator& operator++() >+- {__ptr_ = static_cast<__node_pointer>(__tree_next(static_cast<__node_base_pointer>(__ptr_))); >+- return *this;} >++ __tree_iterator& operator++() { >++ __ptr_ = static_cast<__node_pointer>( >++ __tree_next(static_cast<typename __node::base::pointer>(__ptr_))); >++ return *this; >++ } >+ _LIBCPP_INLINE_VISIBILITY >+ __tree_iterator operator++(int) >+ {__tree_iterator __t(*this); ++(*this); return __t;} >+ >+ _LIBCPP_INLINE_VISIBILITY >+- __tree_iterator& operator--() >+- {__ptr_ = static_cast<__node_pointer>(__tree_prev(static_cast<__node_base_pointer>(__ptr_))); >+- return *this;} >++ __tree_iterator& operator--() { >++ __ptr_ = static_cast<__node_pointer>( >++ __tree_prev(static_cast<typename __node::base::pointer>(__ptr_))); >++ return *this; >++ } >+ _LIBCPP_INLINE_VISIBILITY >+ __tree_iterator operator--(int) >+ {__tree_iterator __t(*this); --(*this); return __t;} >+@@ -691,14 +693,6 @@ >+ { >+ typedef _ConstNodePtr __node_pointer; >+ typedef typename pointer_traits<__node_pointer>::element_type __node; >+- typedef typename __node::base __node_base; >+- typedef typename pointer_traits<__node_pointer>::template >+-#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES >+- rebind<__node_base> >+-#else >+- rebind<__node_base>::other >+-#endif >+- __node_base_pointer; >+ >+ __node_pointer __ptr_; >+ >+@@ -743,17 +737,39 @@ >+ {return pointer_traits<pointer>::pointer_to(__ptr_->__value_);} >+ >+ _LIBCPP_INLINE_VISIBILITY >+- __tree_const_iterator& operator++() >+- {__ptr_ = static_cast<__node_pointer>(__tree_next(static_cast<__node_base_pointer>(__ptr_))); >+- return *this;} >++ __tree_const_iterator& operator++() { >++ typedef typename pointer_traits<__node_pointer>::template >++#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES >++ rebind<typename __node::base> >++#else >++ rebind<typename __node::base>::other >++#endif >++ __node_base_pointer; >++ >++ __ptr_ = static_cast<__node_pointer>( >++ __tree_next(static_cast<__node_base_pointer>(__ptr_))); >++ return *this; >++ } >++ >+ _LIBCPP_INLINE_VISIBILITY >+ __tree_const_iterator operator++(int) >+ {__tree_const_iterator __t(*this); ++(*this); return __t;} >+ >+ _LIBCPP_INLINE_VISIBILITY >+- __tree_const_iterator& operator--() >+- {__ptr_ = static_cast<__node_pointer>(__tree_prev(static_cast<__node_base_pointer>(__ptr_))); >+- return *this;} >++ __tree_const_iterator& operator--() { >++ typedef typename pointer_traits<__node_pointer>::template >++#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES >++ rebind<typename __node::base> >++#else >++ rebind<typename __node::base>::other >++#endif >++ __node_base_pointer; >++ >++ __ptr_ = static_cast<__node_pointer>( >++ __tree_prev(static_cast<__node_base_pointer>(__ptr_))); >++ return *this; >++ } >++ >+ _LIBCPP_INLINE_VISIBILITY >+ __tree_const_iterator operator--(int) >+ {__tree_const_iterator __t(*this); --(*this); return __t;} >+--- map-fix/map.orig 2015-11-10 21:24:49.362267208 -0800 >++++ map-fix/map 2015-11-10 21:25:09.501230487 -0800 >+@@ -644,14 +644,25 @@ >+ >+ #endif >+ >++template <class _Tp> >++struct __extract_key_value_types; >++ >++template <class _Key, class _Tp> >++struct __extract_key_value_types<__value_type<_Key, _Tp> > >++{ >++ typedef _Key const __key_type; >++ typedef _Tp __mapped_type; >++}; >++ >+ template <class _TreeIterator> >+ class _LIBCPP_TYPE_VIS_ONLY __map_iterator >+ { >+ _TreeIterator __i_; >+ >+ typedef typename _TreeIterator::__pointer_traits __pointer_traits; >+- typedef const typename _TreeIterator::value_type::value_type::first_type __key_type; >+- typedef typename _TreeIterator::value_type::value_type::second_type __mapped_type; >++ typedef typename _TreeIterator::value_type __value_type; >++ typedef typename __extract_key_value_types<__value_type>::__key_type __key_type; >++ typedef typename __extract_key_value_types<__value_type>::__mapped_type __mapped_type; >+ public: >+ typedef bidirectional_iterator_tag iterator_category; >+ typedef pair<__key_type, __mapped_type> value_type; >+@@ -715,8 +726,9 @@ >+ _TreeIterator __i_; >+ >+ typedef typename _TreeIterator::__pointer_traits __pointer_traits; >+- typedef const typename _TreeIterator::value_type::value_type::first_type __key_type; >+- typedef typename _TreeIterator::value_type::value_type::second_type __mapped_type; >++ typedef typename _TreeIterator::value_type __value_type; >++ typedef typename __extract_key_value_types<__value_type>::__key_type __key_type; >++ typedef typename __extract_key_value_types<__value_type>::__mapped_type __mapped_type; >+ public: >+ typedef bidirectional_iterator_tag iterator_category; >+ typedef pair<__key_type, __mapped_type> value_type; >+@@ -736,10 +748,9 @@ >+ _LIBCPP_INLINE_VISIBILITY >+ __map_const_iterator(_TreeIterator __i) _NOEXCEPT : __i_(__i) {} >+ _LIBCPP_INLINE_VISIBILITY >+- __map_const_iterator( >+- __map_iterator<typename _TreeIterator::__non_const_iterator> __i) >+- _NOEXCEPT >+- : __i_(__i.__i_) {} >++ __map_const_iterator(__map_iterator< >++ typename _TreeIterator::__non_const_iterator> __i) _NOEXCEPT >++ : __i_(__i.__i_) {} >+ >+ _LIBCPP_INLINE_VISIBILITY >+ reference operator*() const {return __i_->__cc;} >+@@ -829,7 +840,7 @@ >+ typedef typename __alloc_traits::const_pointer const_pointer; >+ typedef typename __alloc_traits::size_type size_type; >+ typedef typename __alloc_traits::difference_type difference_type; >+- typedef __map_iterator<typename __base::iterator> iterator; >++ typedef __map_iterator<typename __base::iterator> iterator; >+ typedef __map_const_iterator<typename __base::const_iterator> const_iterator; >+ typedef _VSTD::reverse_iterator<iterator> reverse_iterator; >+ typedef _VSTD::reverse_iterator<const_iterator> const_reverse_iterator; > >Property changes on: files/extra-patch-map >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 204461
:
163001
|
163006