From owner-svn-ports-all@freebsd.org Fri Jul 14 15:15:32 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A3D6DA4424; Fri, 14 Jul 2017 15:15:32 +0000 (UTC) (envelope-from rakuco@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3599F69957; Fri, 14 Jul 2017 15:15:32 +0000 (UTC) (envelope-from rakuco@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6EFFVJ7028683; Fri, 14 Jul 2017 15:15:31 GMT (envelope-from rakuco@FreeBSD.org) Received: (from rakuco@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6EFFVcL028680; Fri, 14 Jul 2017 15:15:31 GMT (envelope-from rakuco@FreeBSD.org) Message-Id: <201707141515.v6EFFVcL028680@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rakuco set sender to rakuco@FreeBSD.org using -f From: Raphael Kubo da Costa Date: Fri, 14 Jul 2017 15:15:31 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r445764 - in head/devel/libcutl: . files X-SVN-Group: ports-head X-SVN-Commit-Author: rakuco X-SVN-Commit-Paths: in head/devel/libcutl: . files X-SVN-Commit-Revision: 445764 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jul 2017 15:15:32 -0000 Author: rakuco Date: Fri Jul 14 15:15:30 2017 New Revision: 445764 URL: https://svnweb.freebsd.org/changeset/ports/445764 Log: Stop using boost's tr1 regex implementation. tr1 is gone in the upcoming Boost 1.65. Adjust the code by switching to C++11's header instead. There is similar code in upstream's git repository, but it is mixed with a lot of other changes that make it infeasible to backport them directly. PR: 220715 Reported by: jbeich Added: head/devel/libcutl/files/ head/devel/libcutl/files/patch-configure (contents, props changed) head/devel/libcutl/files/patch-cutl_re_re.cxx (contents, props changed) Modified: head/devel/libcutl/Makefile Modified: head/devel/libcutl/Makefile ============================================================================== --- head/devel/libcutl/Makefile Fri Jul 14 15:05:45 2017 (r445763) +++ head/devel/libcutl/Makefile Fri Jul 14 15:15:30 2017 (r445764) @@ -2,7 +2,7 @@ PORTNAME= libcutl PORTVERSION= 1.10.0 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel MASTER_SITES= http://www.codesynthesis.com/download/${PORTNAME}/${PORTVERSION:R}/ Added: head/devel/libcutl/files/patch-configure ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/libcutl/files/patch-configure Fri Jul 14 15:15:30 2017 (r445764) @@ -0,0 +1,38 @@ +Use regex from C++11 instead of boost/tr1's version (the latter is gone as of +boost 1.65). +--- configure.orig 2015-11-24 13:45:55 UTC ++++ configure +@@ -17554,13 +17554,13 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + +-#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; + } + + _ACEOF +@@ -17631,13 +17631,13 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + + +-#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; + } + + _ACEOF Added: head/devel/libcutl/files/patch-cutl_re_re.cxx ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/libcutl/files/patch-cutl_re_re.cxx Fri Jul 14 15:15:30 2017 (r445764) @@ -0,0 +1,141 @@ +Use regex from C++11 instead of boost/tr1's version (the latter is gone as of +boost 1.65). +--- cutl/re/re.cxx.orig 2017-07-14 14:59:43 UTC ++++ cutl/re/re.cxx +@@ -9,7 +9,7 @@ + #ifndef LIBCUTL_EXTERNAL_BOOST + # include + #else +-# include ++# include + #endif + + using namespace std; +@@ -40,17 +40,17 @@ namespace cutl + 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 @@ namespace cutl + 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 @@ namespace cutl + 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 @@ namespace cutl + 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 @@ namespace cutl + 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 @@ namespace cutl + 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); + } + } + }