diff options
-rw-r--r-- | dev-cpp/libcutl/Manifest | 1 | ||||
-rw-r--r-- | dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch | 53 | ||||
-rw-r--r-- | dev-cpp/libcutl/libcutl-1.10.0.ebuild | 43 | ||||
-rw-r--r-- | dev-cpp/libcutl/metadata.xml | 8 |
4 files changed, 105 insertions, 0 deletions
diff --git a/dev-cpp/libcutl/Manifest b/dev-cpp/libcutl/Manifest new file mode 100644 index 000000000000..28f7bb0415d7 --- /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 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..16152eb391e3 --- /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 000000000000..d4905c84fc34 --- /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>cpp@gentoo.org</email> + <name>Gentoo C++ Project</name> + </maintainer> +</pkgmetadata> |