commit:     d4a343c2ce203f42978599f260fe53ef5f6c55e5
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 15 10:48:25 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Oct 15 11:47:48 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4a343c2

dev-cpp/libcutl: New package (successor of dev-cpp/libcult)

Package-Manager: portage-2.3.2

 dev-cpp/libcutl/Manifest                           |  1 +
 .../libcutl/files/libcutl-1.10.0-fix-c++14.patch   | 53 ++++++++++++++++++++++
 dev-cpp/libcutl/libcutl-1.10.0.ebuild              | 43 ++++++++++++++++++
 dev-cpp/libcutl/metadata.xml                       |  8 ++++
 4 files changed, 105 insertions(+)

diff --git a/dev-cpp/libcutl/Manifest b/dev-cpp/libcutl/Manifest
new file mode 100644
index 00000000..28f7bb0
--- /dev/null
+++ b/dev-cpp/libcutl/Manifest
@@ -0,0 +1 @@
+DIST libcutl-1.10.0.tar.bz2 763920 SHA256 
125163c670e372b47d5626d54379ff8fbaded6ccd5db77ac0bf5912a4017121c SHA512 
c03f39e87e660fdd07aa9cccb2d82d411ca8226b56475c74b7b2147b90cdb83d13246bc0c09513e407271bcf568d6a08f92c9006e48d1e7f06e4b18dde34dc5f
 WHIRLPOOL 
c7a3ddbf632851a0188db5704883db683e6f720ee324040d5d8af08cdae7cc6e47959efdc15819197f857719f178e1d88c042c2590a43a312c4d45f7a28c4f2d

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 00000000..a6f1a50
--- /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 00000000..16152eb
--- /dev/null
+++ b/dev-cpp/libcutl/libcutl-1.10.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit versionator
+
+DESCRIPTION="A collection of C++ libraries (successor of libcult)"
+HOMEPAGE="http://www.codesynthesis.com/projects/libcutl/";
+SRC_URI="http://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" )
+
+src_prepare() {
+       default
+
+       # remove bundled libs
+       rm -r cutl/details/{boost,expat} || die
+}
+
+src_configure() {
+       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 00000000..d4905c8
--- /dev/null
+++ b/dev-cpp/libcutl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>c...@gentoo.org</email>
+               <name>Gentoo C++ Project</name>
+       </maintainer>
+</pkgmetadata>

Reply via email to