dev-cpp/libcutl: New package (successor of dev-cpp/libcult)
authorDavid Seifert <soap@gentoo.org>
Sat, 15 Oct 2016 10:48:25 +0000 (12:48 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 15 Oct 2016 11:47:48 +0000 (13:47 +0200)
Package-Manager: portage-2.3.2

dev-cpp/libcutl/Manifest [new file with mode: 0644]
dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch [new file with mode: 0644]
dev-cpp/libcutl/libcutl-1.10.0.ebuild [new file with mode: 0644]
dev-cpp/libcutl/metadata.xml [new file with mode: 0644]

diff --git a/dev-cpp/libcutl/Manifest b/dev-cpp/libcutl/Manifest
new file mode 100644 (file)
index 0000000..28f7bb0
--- /dev/null
@@ -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 (file)
index 0000000..a6f1a50
--- /dev/null
@@ -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 (file)
index 0000000..16152eb
--- /dev/null
@@ -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 (file)
index 0000000..d4905c8
--- /dev/null
@@ -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>cpp@gentoo.org</email>
+               <name>Gentoo C++ Project</name>
+       </maintainer>
+</pkgmetadata>