From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-cpp/libcutl/Manifest | 5 + .../files/libcutl-1.10.0-boost-1.65-tr1.patch | 162 +++++++++++++++++++++ .../libcutl/files/libcutl-1.10.0-fix-c++14.patch | 53 +++++++ dev-cpp/libcutl/libcutl-1.10.0.ebuild | 52 +++++++ dev-cpp/libcutl/metadata.xml | 8 + 5 files changed, 280 insertions(+) create mode 100644 dev-cpp/libcutl/Manifest create mode 100644 dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch create mode 100644 dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch create mode 100644 dev-cpp/libcutl/libcutl-1.10.0.ebuild create mode 100644 dev-cpp/libcutl/metadata.xml (limited to 'dev-cpp/libcutl') diff --git a/dev-cpp/libcutl/Manifest b/dev-cpp/libcutl/Manifest new file mode 100644 index 000000000000..59c52d466548 --- /dev/null +++ b/dev-cpp/libcutl/Manifest @@ -0,0 +1,5 @@ +AUX libcutl-1.10.0-boost-1.65-tr1.patch 4688 BLAKE2B b896957b8a1ff399b51210052df2eb080ef52d887ad6e4734921945c497e172c8f9557c371947f4ba759d50911db4d9b99cd6a62a3765eabb29b0743fa407945 SHA512 0fc264a7e8b19c1da93384ec799cf2f8178af26f2baca53d92530ca6086371a6fc6ba5b7c8134b318846079b99fb2ba8872e1b14ab58da4422e0309bcbfe2b9f +AUX libcutl-1.10.0-fix-c++14.patch 1045 BLAKE2B 91e954048739a53dc5dcf757ee7b3541b958fc30063df2da3ffe47f9c020ee8f80cfde07d351b21ac8ebabb00a84ed5f29b6063082fe18374172129537e0a6a0 SHA512 37033c583b55e66d4edc03e483f01e3c6d331862748eaa23cecc8a24614368d294193642c481ba91d9ee56eed952c6ad0f4997e30ace9e572653b3780be75cec +DIST libcutl-1.10.0.tar.bz2 763920 BLAKE2B 8d6741b19cc7c1d320225b6f412c08d6dd1d975a9f1e2f55914a23b8813e42228616ea525905bcf456f4b6e60a72fbf4128a03275833975ce3b8c87d6e4cb631 SHA512 c03f39e87e660fdd07aa9cccb2d82d411ca8226b56475c74b7b2147b90cdb83d13246bc0c09513e407271bcf568d6a08f92c9006e48d1e7f06e4b18dde34dc5f +EBUILD libcutl-1.10.0.ebuild 1027 BLAKE2B b9c108c5076b18a9b6e10cdd90a6180a0948ec0b39b2190d09a7c2979ecdecb5f12b9c4283d8e5fe78ec665495d6cef6eaa06f765364f9d9f198cd4f05e11bdc SHA512 c05e606af9647aa004d87986bdb2db55f5d58ba26103066df11f9c50f3cf909de7b28298023c61c5fd79c9c8f3430860a91b8203d0decd725c6f69d2c1f42dfd +MISC metadata.xml 249 BLAKE2B 5791e38f31ac36bb4b94c03962980af247ea39c8af739a949749b1b3a7705ce4031ff53f620b1e4d30c44360e3d1d37ccb186ea109ecc1036977e4e0bb3a92e9 SHA512 0b2b2d015d6d3310efdedc20cd12cb2f587c105f1e84b243d3a7dc6337dde082c16683781eba9a0cb09341756f10f651579df35837ee232309a97017ec02cbee diff --git a/dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch b/dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch new file mode 100644 index 000000000000..ebb15ee9b404 --- /dev/null +++ b/dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch @@ -0,0 +1,162 @@ +Use regex from C++11 instead of boost/tr1's version (the latter is gone as of boost 1.65). +Patch: https://svnweb.freebsd.org/ports/head/devel/libcutl/files/patch-cutl_re_re.cxx?view=markup&pathrev=445764 +Bug: https://bugs.gentoo.org/show_bug.cgi?id=630016 + +--- a/cutl/re/re.cxx ++++ b/cutl/re/re.cxx +@@ -9,7 +9,7 @@ + #ifndef LIBCUTL_EXTERNAL_BOOST + # include + #else +-# include ++# include + #endif + + using namespace std; +@@ -40,17 +40,17 @@ + struct basic_regex::impl + { + typedef basic_string string_type; +- typedef tr1::basic_regex regex_type; ++ typedef std::basic_regex regex_type; + typedef typename regex_type::flag_type flag_type; + + impl () {} + impl (regex_type const& r): r (r) {} + impl (string_type const& s, bool icase) + { +- flag_type f (tr1::regex_constants::ECMAScript); ++ flag_type f (std::regex_constants::ECMAScript); + + if (icase) +- f |= tr1::regex_constants::icase; ++ f |= std::regex_constants::icase; + + r.assign (s, f); + } +@@ -118,15 +118,15 @@ + impl_ = s == 0 ? new impl : new impl (*s, icase); + else + { +- impl::flag_type f (tr1::regex_constants::ECMAScript); ++ impl::flag_type f (std::regex_constants::ECMAScript); + + if (icase) +- f |= tr1::regex_constants::icase; ++ f |= std::regex_constants::icase; + + impl_->r.assign (*s, f); + } + } +- catch (tr1::regex_error const& e) ++ catch (std::regex_error const& e) + { + throw basic_format (s == 0 ? "" : *s, e.what ()); + } +@@ -146,15 +146,15 @@ + impl_ = s == 0 ? new impl : new impl (*s, icase); + else + { +- impl::flag_type f (tr1::regex_constants::ECMAScript); ++ impl::flag_type f (std::regex_constants::ECMAScript); + + if (icase) +- f |= tr1::regex_constants::icase; ++ f |= std::regex_constants::icase; + + impl_->r.assign (*s, f); + } + } +- catch (tr1::regex_error const& e) ++ catch (std::regex_error const& e) + { + throw basic_format (s == 0 ? L"" : *s, e.what ()); + } +@@ -166,28 +166,28 @@ + bool basic_regex:: + match (string_type const& s) const + { +- return tr1::regex_match (s, impl_->r); ++ return std::regex_match (s, impl_->r); + } + + template <> + bool basic_regex:: + match (string_type const& s) const + { +- return tr1::regex_match (s, impl_->r); ++ return std::regex_match (s, impl_->r); + } + + template <> + bool basic_regex:: + search (string_type const& s) const + { +- return tr1::regex_search (s, impl_->r); ++ return std::regex_search (s, impl_->r); + } + + template <> + bool basic_regex:: + search (string_type const& s) const + { +- return tr1::regex_search (s, impl_->r); ++ return std::regex_search (s, impl_->r); + } + + template <> +@@ -196,13 +196,13 @@ + string_type const& sub, + bool first_only) const + { +- tr1::regex_constants::match_flag_type f ( +- tr1::regex_constants::format_default); ++ std::regex_constants::match_flag_type f ( ++ std::regex_constants::format_default); + + if (first_only) +- f |= tr1::regex_constants::format_first_only; ++ f |= std::regex_constants::format_first_only; + +- return tr1::regex_replace (s, impl_->r, sub, f); ++ return std::regex_replace (s, impl_->r, sub, f); + } + + template <> +@@ -211,13 +211,13 @@ + string_type const& sub, + bool first_only) const + { +- tr1::regex_constants::match_flag_type f ( +- tr1::regex_constants::format_default); ++ std::regex_constants::match_flag_type f ( ++ std::regex_constants::format_default); + + if (first_only) +- f |= tr1::regex_constants::format_first_only; ++ f |= std::regex_constants::format_first_only; + +- return tr1::regex_replace (s, impl_->r, sub, f); ++ return std::regex_replace (s, impl_->r, sub, f); + } + } + } +--- a/m4/libboost.m4 ++++ b/m4/libboost.m4 +@@ -129,13 +129,13 @@ + AC_DEFUN([LIBBOOST_REGEX], [ + LIBBOOST_LIB([regex],[ + AC_LANG_SOURCE([ +-#include ++#include + + int + main () + { +- std::tr1::regex r ("te.t", std::tr1::regex_constants::ECMAScript); +- return std::tr1::regex_match ("test", r) ? 0 : 1; ++ std::regex r ("te.t", std::regex_constants::ECMAScript); ++ return std::regex_match ("test", r) ? 0 : 1; + } + ])], + [$1], diff --git a/dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch b/dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch new file mode 100644 index 000000000000..a6f1a505485b --- /dev/null +++ b/dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch @@ -0,0 +1,53 @@ +Make dtors noexcept(false) when compiling in C++11 and above. This avoids silent +breakage due to the semantic exception changes between C++98 and C++11. + +--- a/cutl/fs/auto-remove.cxx ++++ b/cutl/fs/auto-remove.cxx +@@ -13,6 +13,9 @@ + { + auto_remove:: + ~auto_remove () ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif + { + if (!canceled_) + { +@@ -23,6 +26,9 @@ + + auto_removes:: + ~auto_removes () ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif + { + if (!canceled_) + { +--- a/cutl/fs/auto-remove.hxx ++++ b/cutl/fs/auto-remove.hxx +@@ -26,7 +26,11 @@ + { + } + +- ~auto_remove (); ++ ~auto_remove () ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif ++ ; + + void + cancel () +@@ -51,7 +55,11 @@ + struct LIBCUTL_EXPORT auto_removes + { + auto_removes (): canceled_ (false) {} +- ~auto_removes (); ++ ~auto_removes () ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif ++ ; + + void + add (path const& p) diff --git a/dev-cpp/libcutl/libcutl-1.10.0.ebuild b/dev-cpp/libcutl/libcutl-1.10.0.ebuild new file mode 100644 index 000000000000..b88f5363b9ee --- /dev/null +++ b/dev-cpp/libcutl/libcutl-1.10.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools flag-o-matic versionator + +DESCRIPTION="A collection of C++ libraries (successor of libcult)" +HOMEPAGE="https://www.codesynthesis.com/projects/libcutl/" +SRC_URI="https://www.codesynthesis.com/download/${PN}/$(get_version_component_range 1-2)/${P}.tar.bz2" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="" + +RDEPEND=" + dev-libs/expat + dev-libs/boost:=" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.10.0-fix-c++14.patch + "${FILESDIR}"/${PN}-1.10.0-boost-1.65-tr1.patch +) + +src_prepare() { + default + + # remove bundled libs + rm -r cutl/details/{boost,expat} || die + + eautoreconf +} + +src_configure() { + # ensure works on GCC 5 and below + # bug 630016 + append-cxxflags -std=c++14 + + econf \ + --disable-static \ + --with-external-boost \ + --with-external-expat +} + +src_install() { + default + + # package provides .pc files + find "${D}" -name '*.la' -delete || die +} diff --git a/dev-cpp/libcutl/metadata.xml b/dev-cpp/libcutl/metadata.xml new file mode 100644 index 000000000000..d4905c84fc34 --- /dev/null +++ b/dev-cpp/libcutl/metadata.xml @@ -0,0 +1,8 @@ + + + + + cpp@gentoo.org + Gentoo C++ Project + + -- cgit v1.2.3