summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/ptypes')
-rw-r--r--dev-libs/ptypes/Manifest1
-rw-r--r--dev-libs/ptypes/files/2.0.2-gcc41.patch48
-rw-r--r--dev-libs/ptypes/metadata.xml8
-rw-r--r--dev-libs/ptypes/ptypes-2.0.2-r1.ebuild44
4 files changed, 101 insertions, 0 deletions
diff --git a/dev-libs/ptypes/Manifest b/dev-libs/ptypes/Manifest
new file mode 100644
index 000000000000..a60d889a3ca2
--- /dev/null
+++ b/dev-libs/ptypes/Manifest
@@ -0,0 +1 @@
+DIST ptypes-2.0.2.tar.gz 225135 SHA256 7562b62143ca446fff73dfe8ab7c480ff731448b566d1c7841a404c79e20f584 SHA512 c4181640b54abe3fe93eb4fdff9553bf3937097df2ef6276b40758a3cd6590969ab819de0aa05d62e30919263f5484bb8cf19373cacd5b7aa50280880efb6cd4 WHIRLPOOL 32d78bebea8dd6b9b13b403851932aaa2025bd6d76a83a1b3f64aeb19455a8f6a7c92963cc0eef44df17b3a5b2abcc7f41857af172cd287834e4779ea2d1b223
diff --git a/dev-libs/ptypes/files/2.0.2-gcc41.patch b/dev-libs/ptypes/files/2.0.2-gcc41.patch
new file mode 100644
index 000000000000..e36d4a3f3153
--- /dev/null
+++ b/dev-libs/ptypes/files/2.0.2-gcc41.patch
@@ -0,0 +1,48 @@
+diff -Naur ptypes-2.0.2-orig/include/pstreams.h ptypes-2.0.2/include/pstreams.h
+--- ptypes-2.0.2-orig/include/pstreams.h 2006-06-09 09:41:51.000000000 -0400
++++ ptypes-2.0.2/include/pstreams.h 2006-06-09 09:42:30.000000000 -0400
+@@ -266,6 +266,9 @@
+ // internal class used in fdxstm
+ //
+
++class ptpublic fdxstm;
++class unit_thread;
++
+ class ptpublic fdxoutstm: public outstm
+ {
+ friend class fdxstm;
+diff -Naur ptypes-2.0.2-orig/include/ptypes.h ptypes-2.0.2/include/ptypes.h
+--- ptypes-2.0.2-orig/include/ptypes.h 2006-06-09 09:41:51.000000000 -0400
++++ ptypes-2.0.2/include/ptypes.h 2006-06-09 09:42:30.000000000 -0400
+@@ -46,6 +46,10 @@
+ # define VARIANT_TYPECAST_HACK
+ #endif
+
++#if (__GNUC__ == 4)
++# define VARIANT_TYPECAST_HACK
++#endif
++
+
+ // -------------------------------------------------------------------- //
+ // --- string class --------------------------------------------------- //
+@@ -71,6 +75,8 @@
+
+ ptpublic extern char* emptystr;
+
++class ptpublic variant;
++class ptpublic _varray;
+
+ class ptpublic string
+ {
+diff -Naur ptypes-2.0.2-orig/src/pvariant.cxx ptypes-2.0.2/src/pvariant.cxx
+--- ptypes-2.0.2-orig/src/pvariant.cxx 2006-06-09 09:41:51.000000000 -0400
++++ ptypes-2.0.2/src/pvariant.cxx 2006-06-09 09:42:55.000000000 -0400
+@@ -38,7 +38,7 @@
+ protected:
+ int refcount;
+
+- virtual int _varray::compare(const void* key, const void* item) const;
++ virtual int compare(const void* key, const void* item) const;
+
+ friend class variant;
+
diff --git a/dev-libs/ptypes/metadata.xml b/dev-libs/ptypes/metadata.xml
new file mode 100644
index 000000000000..8f74a5e3c99e
--- /dev/null
+++ b/dev-libs/ptypes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">ptypes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/ptypes/ptypes-2.0.2-r1.ebuild b/dev-libs/ptypes/ptypes-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..9829cca9b13a
--- /dev/null
+++ b/dev-libs/ptypes/ptypes-2.0.2-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="PTypes (C++ Portable Types Library), alternative to the STL including multithreading and networking"
+HOMEPAGE="http://www.melikyan.com/ptypes/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+DEPEND=""
+RDEPEND=""
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${PV}-gcc41.patch"
+ sed -i \
+ -e 's/-O2/$(CXXFLAGS)/' \
+ src/Makefile.common wshare/Makefile.common \
+ || die "sed failed"
+}
+
+src_compile() {
+ if ! use debug ; then
+ sed -i \
+ -e 's/^\(DDEBUG\).*/\1=/' \
+ src/Makefile.common wshare/Makefile.common \
+ || die "sed failed"
+ fi
+ emake CXX=$(tc-getCXX) CXXFLAGS="${CXXFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ dolib lib/* || die "Installing libraries"
+ insinto /usr/include
+ doins include/* || die "Installing headers"
+ dohtml -r doc/* || die "Installing documentation"
+}