summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-cpp
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/ETL-0.04.1511
-rw-r--r--dev-cpp/ETL/ETL-0.04.15.ebuild26
-rw-r--r--dev-cpp/ETL/Manifest3
-rw-r--r--dev-cpp/ETL/metadata.xml11
-rw-r--r--dev-cpp/Manifest.gzbin16425 -> 9204 bytes
-rw-r--r--dev-cpp/antlr-cpp-2.7.714
-rw-r--r--dev-cpp/antlr-cpp-2.7.7-r114
-rw-r--r--dev-cpp/antlr-cpp-3.5.210
-rw-r--r--dev-cpp/antlr-cpp-3.5.2-r19
-rw-r--r--dev-cpp/antlr-cpp/Manifest9
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild105
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-2.7.7.ebuild105
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-3.5.2-r1.ebuild20
-rw-r--r--dev-cpp/antlr-cpp/antlr-cpp-3.5.2.ebuild23
-rw-r--r--dev-cpp/antlr-cpp/files/2.7.7-gcc.patch12
-rw-r--r--dev-cpp/antlr-cpp/files/2.7.7-libtool.patch21
-rw-r--r--dev-cpp/antlr-cpp/metadata.xml11
-rw-r--r--dev-cpp/asio-1.10.812
-rw-r--r--dev-cpp/asio-1.12.112
-rw-r--r--dev-cpp/asio/Manifest5
-rw-r--r--dev-cpp/asio/asio-1.10.8.ebuild45
-rw-r--r--dev-cpp/asio/asio-1.12.1.ebuild48
-rw-r--r--dev-cpp/asio/metadata.xml11
-rw-r--r--dev-cpp/atkmm-2.24.213
-rw-r--r--dev-cpp/atkmm/Manifest3
-rw-r--r--dev-cpp/atkmm/atkmm-2.24.2.ebuild36
-rw-r--r--dev-cpp/atkmm/metadata.xml8
-rw-r--r--dev-cpp/cairomm-1.12.0-r113
-rw-r--r--dev-cpp/cairomm/Manifest3
-rw-r--r--dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild48
-rw-r--r--dev-cpp/cairomm/metadata.xml8
-rw-r--r--dev-cpp/catch-1.11.011
-rw-r--r--dev-cpp/catch-1.999910
-rw-r--r--dev-cpp/catch-2.2.213
-rw-r--r--dev-cpp/catch-999911
-rw-r--r--dev-cpp/catch/Manifest9
-rw-r--r--dev-cpp/catch/catch-1.11.0.ebuild34
-rw-r--r--dev-cpp/catch/catch-1.9999.ebuild29
-rw-r--r--dev-cpp/catch/catch-2.2.2.ebuild49
-rw-r--r--dev-cpp/catch/catch-9999.ebuild35
-rw-r--r--dev-cpp/catch/files/catch-2.2.2-python-automagic.patch25
-rw-r--r--dev-cpp/catch/files/catch-2.2.2-test-python3.patch44
-rw-r--r--dev-cpp/catch/metadata.xml11
-rw-r--r--dev-cpp/clucene-2.3.3.4-r613
-rw-r--r--dev-cpp/clucene/Manifest6
-rw-r--r--dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild63
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch42
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-gcc6.patch28
-rw-r--r--dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch12
-rw-r--r--dev-cpp/clucene/metadata.xml7
-rw-r--r--dev-cpp/commoncpp2-1.8.1-r213
-rw-r--r--dev-cpp/commoncpp2-1.8.1-r313
-rw-r--r--dev-cpp/commoncpp2/Manifest12
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild69
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild72
-rw-r--r--dev-cpp/commoncpp2/files/1.8.0-glibc212.patch12
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch61
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-configure_detect_netfilter.patch14
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-fix-buffer-overflow.patch13
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch52
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch36
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch48
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch11
-rw-r--r--dev-cpp/commoncpp2/metadata.xml8
-rw-r--r--dev-cpp/cpp-hocon-0.1.413
-rw-r--r--dev-cpp/cpp-hocon/Manifest3
-rw-r--r--dev-cpp/cpp-hocon/cpp-hocon-0.1.4.ebuild44
-rw-r--r--dev-cpp/cpp-hocon/metadata.xml14
-rw-r--r--dev-cpp/ctemplate-2.3-r114
-rw-r--r--dev-cpp/ctemplate/Manifest5
-rw-r--r--dev-cpp/ctemplate/ctemplate-2.3-r1.ebuild77
-rw-r--r--dev-cpp/ctemplate/files/70ctemplate-gentoo.el7
-rw-r--r--dev-cpp/ctemplate/files/ctemplate-2.3-fix-build-system.patch29
-rw-r--r--dev-cpp/ctemplate/metadata.xml12
-rw-r--r--dev-cpp/eigen-3.2.8-r214
-rw-r--r--dev-cpp/eigen-3.3.314
-rw-r--r--dev-cpp/eigen-3.3.414
-rw-r--r--dev-cpp/eigen/Manifest9
-rw-r--r--dev-cpp/eigen/eigen-3.2.8-r2.ebuild112
-rw-r--r--dev-cpp/eigen/eigen-3.3.3.ebuild100
-rw-r--r--dev-cpp/eigen/eigen-3.3.4.ebuild100
-rw-r--r--dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch40
-rw-r--r--dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch42
-rw-r--r--dev-cpp/eigen/metadata.xml26
-rw-r--r--dev-cpp/gccxml-0.9.0_pre2013121711
-rw-r--r--dev-cpp/gccxml/Manifest3
-rw-r--r--dev-cpp/gccxml/gccxml-0.9.0_pre20131217.ebuild33
-rw-r--r--dev-cpp/gccxml/metadata.xml8
-rw-r--r--dev-cpp/gconfmm-2.28.3-r113
-rw-r--r--dev-cpp/gconfmm/Manifest3
-rw-r--r--dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild40
-rw-r--r--dev-cpp/gconfmm/metadata.xml8
-rw-r--r--dev-cpp/gflags-2.2.012
-rw-r--r--dev-cpp/gflags-2.2.112
-rw-r--r--dev-cpp/gflags-999910
-rw-r--r--dev-cpp/gflags/Manifest6
-rw-r--r--dev-cpp/gflags/gflags-2.2.0.ebuild36
-rw-r--r--dev-cpp/gflags/gflags-2.2.1.ebuild36
-rw-r--r--dev-cpp/gflags/gflags-9999.ebuild36
-rw-r--r--dev-cpp/gflags/metadata.xml10
-rw-r--r--dev-cpp/glibmm-2.50.113
-rw-r--r--dev-cpp/glibmm-2.52.113
-rw-r--r--dev-cpp/glibmm/Manifest6
-rw-r--r--dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch34
-rw-r--r--dev-cpp/glibmm/glibmm-2.50.1.ebuild65
-rw-r--r--dev-cpp/glibmm/glibmm-2.52.1.ebuild71
-rw-r--r--dev-cpp/glibmm/metadata.xml8
-rw-r--r--dev-cpp/glog-0.3.3-r113
-rw-r--r--dev-cpp/glog-0.3.413
-rw-r--r--dev-cpp/glog-0.3.4-r113
-rw-r--r--dev-cpp/glog-0.3.513
-rw-r--r--dev-cpp/glog/Manifest11
-rw-r--r--dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch56
-rw-r--r--dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch142
-rw-r--r--dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch56
-rw-r--r--dev-cpp/glog/glog-0.3.3-r1.ebuild64
-rw-r--r--dev-cpp/glog/glog-0.3.4-r1.ebuild47
-rw-r--r--dev-cpp/glog/glog-0.3.4.ebuild65
-rw-r--r--dev-cpp/glog/glog-0.3.5.ebuild47
-rw-r--r--dev-cpp/glog/metadata.xml16
-rw-r--r--dev-cpp/gnome-vfsmm-2.26.0-r113
-rw-r--r--dev-cpp/gnome-vfsmm/Manifest3
-rw-r--r--dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild57
-rw-r--r--dev-cpp/gnome-vfsmm/metadata.xml8
-rw-r--r--dev-cpp/gstreamermm-0.10.1113
-rw-r--r--dev-cpp/gstreamermm-1.10.013
-rw-r--r--dev-cpp/gstreamermm/Manifest5
-rw-r--r--dev-cpp/gstreamermm/gstreamermm-0.10.11.ebuild38
-rw-r--r--dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild63
-rw-r--r--dev-cpp/gstreamermm/metadata.xml12
-rw-r--r--dev-cpp/gtest-1.7.0-r112
-rw-r--r--dev-cpp/gtest-1.8.013
-rw-r--r--dev-cpp/gtest-1.8.0-r113
-rw-r--r--dev-cpp/gtest-999911
-rw-r--r--dev-cpp/gtest/Manifest13
-rw-r--r--dev-cpp/gtest/files/configure-fix-pthread-linking.patch93
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch98
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch14
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch40
-rw-r--r--dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch21
-rw-r--r--dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch19
-rw-r--r--dev-cpp/gtest/gtest-1.7.0-r1.ebuild50
-rw-r--r--dev-cpp/gtest/gtest-1.8.0-r1.ebuild68
-rw-r--r--dev-cpp/gtest/gtest-1.8.0.ebuild67
-rw-r--r--dev-cpp/gtest/gtest-9999.ebuild76
-rw-r--r--dev-cpp/gtest/metadata.xml16
-rw-r--r--dev-cpp/gtkglextmm-1.2.0-r113
-rw-r--r--dev-cpp/gtkglextmm-1.2.0-r213
-rw-r--r--dev-cpp/gtkglextmm/Manifest5
-rw-r--r--dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch11
-rw-r--r--dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r1.ebuild42
-rw-r--r--dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild46
-rw-r--r--dev-cpp/gtkglextmm/metadata.xml11
-rw-r--r--dev-cpp/gtkmm-2.24.513
-rw-r--r--dev-cpp/gtkmm-3.22.214
-rw-r--r--dev-cpp/gtkmm/Manifest5
-rw-r--r--dev-cpp/gtkmm/gtkmm-2.24.5.ebuild63
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.22.2.ebuild72
-rw-r--r--dev-cpp/gtkmm/metadata.xml8
-rw-r--r--dev-cpp/gtksourceviewmm-2.10.3-r113
-rw-r--r--dev-cpp/gtksourceviewmm-3.18.013
-rw-r--r--dev-cpp/gtksourceviewmm/Manifest5
-rw-r--r--dev-cpp/gtksourceviewmm/gtksourceviewmm-2.10.3-r1.ebuild48
-rw-r--r--dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0.ebuild34
-rw-r--r--dev-cpp/gtksourceviewmm/metadata.xml11
-rw-r--r--dev-cpp/htmlcxx-0.8612
-rw-r--r--dev-cpp/htmlcxx/Manifest5
-rw-r--r--dev-cpp/htmlcxx/files/0001-strstream-is-deprecated-use-sstream-instead.patch56
-rw-r--r--dev-cpp/htmlcxx/files/0002-Update-css_syntax.y-for-use-with-less-ancient-Bison.patch67
-rw-r--r--dev-cpp/htmlcxx/htmlcxx-0.86.ebuild35
-rw-r--r--dev-cpp/htmlcxx/metadata.xml11
-rw-r--r--dev-cpp/icnc-1.0.10014
-rw-r--r--dev-cpp/icnc/Manifest3
-rw-r--r--dev-cpp/icnc/icnc-1.0.100.ebuild77
-rw-r--r--dev-cpp/icnc/metadata.xml11
-rw-r--r--dev-cpp/libassa-3.5.1-r212
-rw-r--r--dev-cpp/libassa/Manifest5
-rw-r--r--dev-cpp/libassa/files/libassa-3.5.0-fix-tests.patch351
-rw-r--r--dev-cpp/libassa/files/libassa-3.5.1-gcc47.patch12
-rw-r--r--dev-cpp/libassa/libassa-3.5.1-r2.ebuild34
-rw-r--r--dev-cpp/libassa/metadata.xml7
-rw-r--r--dev-cpp/libbinio-1.4-r111
-rw-r--r--dev-cpp/libbinio/Manifest5
-rw-r--r--dev-cpp/libbinio/files/libbinio-1.4-cstdio.patch10
-rw-r--r--dev-cpp/libbinio/files/libbinio-1.4-texi.patch21
-rw-r--r--dev-cpp/libbinio/libbinio-1.4-r1.ebuild32
-rw-r--r--dev-cpp/libbinio/metadata.xml11
-rw-r--r--dev-cpp/libcmis-0.5.2_pre20160820-r114
-rw-r--r--dev-cpp/libcmis-999912
-rw-r--r--dev-cpp/libcmis/Manifest5
-rw-r--r--dev-cpp/libcmis/files/libcmis-0.5.2-fix-gdrive-2fa.patch70
-rw-r--r--dev-cpp/libcmis/libcmis-0.5.2_pre20160820-r1.ebuild85
-rw-r--r--dev-cpp/libcmis/libcmis-9999.ebuild83
-rw-r--r--dev-cpp/libcmis/metadata.xml14
-rw-r--r--dev-cpp/libcutl-1.10.012
-rw-r--r--dev-cpp/libcutl/Manifest5
-rw-r--r--dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch162
-rw-r--r--dev-cpp/libcutl/files/libcutl-1.10.0-fix-c++14.patch53
-rw-r--r--dev-cpp/libcutl/libcutl-1.10.0.ebuild52
-rw-r--r--dev-cpp/libcutl/metadata.xml8
-rw-r--r--dev-cpp/libglademm-2.6.7-r213
-rw-r--r--dev-cpp/libglademm/Manifest3
-rw-r--r--dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild74
-rw-r--r--dev-cpp/libglademm/metadata.xml8
-rw-r--r--dev-cpp/libgnomecanvasmm-2.26.0-r113
-rw-r--r--dev-cpp/libgnomecanvasmm/Manifest3
-rw-r--r--dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild56
-rw-r--r--dev-cpp/libgnomecanvasmm/metadata.xml8
-rw-r--r--dev-cpp/libjson-rpc-cpp-1.1.0-r114
-rw-r--r--dev-cpp/libjson-rpc-cpp-999912
-rw-r--r--dev-cpp/libjson-rpc-cpp/Manifest4
-rw-r--r--dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild67
-rw-r--r--dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-9999.ebuild69
-rw-r--r--dev-cpp/libjson-rpc-cpp/metadata.xml18
-rw-r--r--dev-cpp/libmcpp-2.7.2-r212
-rw-r--r--dev-cpp/libmcpp-2.7.2-r312
-rw-r--r--dev-cpp/libmcpp/Manifest7
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-build-system.patch30
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch33
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch75
-rw-r--r--dev-cpp/libmcpp/libmcpp-2.7.2-r2.ebuild43
-rw-r--r--dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild44
-rw-r--r--dev-cpp/libmcpp/metadata.xml11
-rw-r--r--dev-cpp/libxmlpp-2.40.113
-rw-r--r--dev-cpp/libxmlpp-3.0.113
-rw-r--r--dev-cpp/libxmlpp/Manifest5
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-2.40.1.ebuild37
-rw-r--r--dev-cpp/libxmlpp/libxmlpp-3.0.1.ebuild36
-rw-r--r--dev-cpp/libxmlpp/metadata.xml11
-rw-r--r--dev-cpp/libxsd-frontend-2.0.012
-rw-r--r--dev-cpp/libxsd-frontend/Manifest3
-rw-r--r--dev-cpp/libxsd-frontend/libxsd-frontend-2.0.0.ebuild87
-rw-r--r--dev-cpp/libxsd-frontend/metadata.xml8
-rw-r--r--dev-cpp/lucene++-3.0.714
-rw-r--r--dev-cpp/lucene++/Manifest4
-rw-r--r--dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch37
-rw-r--r--dev-cpp/lucene++/lucene++-3.0.7.ebuild36
-rw-r--r--dev-cpp/lucene++/metadata.xml11
-rw-r--r--dev-cpp/metadata.xml40
-rw-r--r--dev-cpp/metslib-0.5.39
-rw-r--r--dev-cpp/metslib/Manifest3
-rw-r--r--dev-cpp/metslib/metadata.xml8
-rw-r--r--dev-cpp/metslib/metslib-0.5.3.ebuild17
-rw-r--r--dev-cpp/mm-common-0.9.1211
-rw-r--r--dev-cpp/mm-common/Manifest3
-rw-r--r--dev-cpp/mm-common/metadata.xml8
-rw-r--r--dev-cpp/mm-common/mm-common-0.9.12.ebuild18
-rw-r--r--dev-cpp/ms-gsl-1.0.012
-rw-r--r--dev-cpp/ms-gsl/Manifest5
-rw-r--r--dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch35
-rw-r--r--dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch21
-rw-r--r--dev-cpp/ms-gsl/metadata.xml16
-rw-r--r--dev-cpp/ms-gsl/ms-gsl-1.0.0.ebuild32
-rw-r--r--dev-cpp/muParser-2.2.312
-rw-r--r--dev-cpp/muParser-2.2.511
-rw-r--r--dev-cpp/muParser/Manifest6
-rw-r--r--dev-cpp/muParser/files/muParser-1.32-parallel-build.patch15
-rw-r--r--dev-cpp/muParser/metadata.xml17
-rw-r--r--dev-cpp/muParser/muParser-2.2.3.ebuild49
-rw-r--r--dev-cpp/muParser/muParser-2.2.5.ebuild42
-rw-r--r--dev-cpp/pangomm-2.40.113
-rw-r--r--dev-cpp/pangomm/Manifest3
-rw-r--r--dev-cpp/pangomm/metadata.xml8
-rw-r--r--dev-cpp/pangomm/pangomm-2.40.1.ebuild39
-rw-r--r--dev-cpp/picojson-1.3.010
-rw-r--r--dev-cpp/picojson/Manifest3
-rw-r--r--dev-cpp/picojson/metadata.xml11
-rw-r--r--dev-cpp/picojson/picojson-1.3.0.ebuild32
-rw-r--r--dev-cpp/pngpp-0.2.910
-rw-r--r--dev-cpp/pngpp/Manifest4
-rw-r--r--dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch15
-rw-r--r--dev-cpp/pngpp/metadata.xml12
-rw-r--r--dev-cpp/pngpp/pngpp-0.2.9.ebuild34
-rw-r--r--dev-cpp/pstreams-0.7.012
-rw-r--r--dev-cpp/pstreams-0.8.112
-rw-r--r--dev-cpp/pstreams-1.0.012
-rw-r--r--dev-cpp/pstreams-1.0.112
-rw-r--r--dev-cpp/pstreams/Manifest13
-rw-r--r--dev-cpp/pstreams/metadata.xml11
-rw-r--r--dev-cpp/pstreams/pstreams-0.7.0.ebuild42
-rw-r--r--dev-cpp/pstreams/pstreams-0.8.1.ebuild42
-rw-r--r--dev-cpp/pstreams/pstreams-1.0.0.ebuild42
-rw-r--r--dev-cpp/pstreams/pstreams-1.0.1.ebuild42
-rw-r--r--dev-cpp/random123-1.09-r19
-rw-r--r--dev-cpp/random123/Manifest3
-rw-r--r--dev-cpp/random123/metadata.xml12
-rw-r--r--dev-cpp/random123/random123-1.09-r1.ebuild24
-rw-r--r--dev-cpp/rudiments-0.4613
-rw-r--r--dev-cpp/rudiments-0.5113
-rw-r--r--dev-cpp/rudiments/Manifest7
-rw-r--r--dev-cpp/rudiments/files/rudiments-0.46-buildsystem.patch88
-rw-r--r--dev-cpp/rudiments/files/rudiments-0.51-buildsystem.patch86
-rw-r--r--dev-cpp/rudiments/metadata.xml17
-rw-r--r--dev-cpp/rudiments/rudiments-0.46.ebuild42
-rw-r--r--dev-cpp/rudiments/rudiments-0.51.ebuild42
-rw-r--r--dev-cpp/sparsehash-1.1010
-rw-r--r--dev-cpp/sparsehash-2.0.3-r111
-rw-r--r--dev-cpp/sparsehash/Manifest7
-rw-r--r--dev-cpp/sparsehash/files/1.10-gcc46.patch16
-rw-r--r--dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch71
-rw-r--r--dev-cpp/sparsehash/metadata.xml11
-rw-r--r--dev-cpp/sparsehash/sparsehash-1.10.ebuild27
-rw-r--r--dev-cpp/sparsehash/sparsehash-2.0.3-r1.ebuild24
-rw-r--r--dev-cpp/tbb-2017.2016112811
-rw-r--r--dev-cpp/tbb-2017.2017022611
-rw-r--r--dev-cpp/tbb-2018.2018031211
-rw-r--r--dev-cpp/tbb-4.3.2015061111
-rw-r--r--dev-cpp/tbb-4.4.2016080311
-rw-r--r--dev-cpp/tbb/Manifest16
-rw-r--r--dev-cpp/tbb/files/tbb-2017.20161128-build.patch187
-rw-r--r--dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch20
-rw-r--r--dev-cpp/tbb/files/tbb-4.3.20150611-build.patch185
-rw-r--r--dev-cpp/tbb/files/tbb-4.4.20160803-build.patch187
-rw-r--r--dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch15
-rw-r--r--dev-cpp/tbb/metadata.xml18
-rw-r--r--dev-cpp/tbb/tbb-2017.20161128.ebuild144
-rw-r--r--dev-cpp/tbb/tbb-2017.20170226.ebuild144
-rw-r--r--dev-cpp/tbb/tbb-2018.20180312.ebuild144
-rw-r--r--dev-cpp/tbb/tbb-4.3.20150611.ebuild131
-rw-r--r--dev-cpp/tbb/tbb-4.4.20160803.ebuild145
-rw-r--r--dev-cpp/tclap-1.2.112
-rw-r--r--dev-cpp/tclap/Manifest3
-rw-r--r--dev-cpp/tclap/metadata.xml8
-rw-r--r--dev-cpp/tclap/tclap-1.2.1.ebuild24
-rw-r--r--dev-cpp/threadpool-0.2.5-r111
-rw-r--r--dev-cpp/threadpool/Manifest5
-rw-r--r--dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch22
-rw-r--r--dev-cpp/threadpool/metadata.xml11
-rw-r--r--dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild39
-rw-r--r--dev-cpp/tree-2.8111
-rw-r--r--dev-cpp/tree/Manifest4
-rw-r--r--dev-cpp/tree/files/tree-2.62-test.patch17
-rw-r--r--dev-cpp/tree/metadata.xml15
-rw-r--r--dev-cpp/tree/tree-2.81.ebuild41
-rw-r--r--dev-cpp/waylandpp-0.1.013
-rw-r--r--dev-cpp/waylandpp-0.1.213
-rw-r--r--dev-cpp/waylandpp-0.1.413
-rw-r--r--dev-cpp/waylandpp-0.1.513
-rw-r--r--dev-cpp/waylandpp-0.1.613
-rw-r--r--dev-cpp/waylandpp-0.2.213
-rw-r--r--dev-cpp/waylandpp-0.2.313
-rw-r--r--dev-cpp/waylandpp-999911
-rw-r--r--dev-cpp/waylandpp/Manifest16
-rw-r--r--dev-cpp/waylandpp/metadata.xml12
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.1.0.ebuild54
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.1.2.ebuild54
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.1.4.ebuild41
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.1.5.ebuild41
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.1.6.ebuild41
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.2.2.ebuild41
-rw-r--r--dev-cpp/waylandpp/waylandpp-0.2.3.ebuild41
-rw-r--r--dev-cpp/waylandpp/waylandpp-9999.ebuild41
-rw-r--r--dev-cpp/websocketpp-0.7.0-r214
-rw-r--r--dev-cpp/websocketpp/Manifest4
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch28
-rw-r--r--dev-cpp/websocketpp/metadata.xml14
-rw-r--r--dev-cpp/websocketpp/websocketpp-0.7.0-r2.ebuild39
-rw-r--r--dev-cpp/xsd-4.0.013
-rw-r--r--dev-cpp/xsd/Manifest7
-rw-r--r--dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch50
-rw-r--r--dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch59
-rw-r--r--dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch11
-rw-r--r--dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch159
-rw-r--r--dev-cpp/xsd/metadata.xml11
-rw-r--r--dev-cpp/xsd/xsd-4.0.0.ebuild150
-rw-r--r--dev-cpp/yaml-cpp-0.6.212
-rw-r--r--dev-cpp/yaml-cpp/Manifest5
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-CVE-2017-5950.patch45
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-unbundle-gtest.patch70
-rw-r--r--dev-cpp/yaml-cpp/metadata.xml11
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild41
371 files changed, 9906 insertions, 1201 deletions
diff --git a/dev-cpp/ETL-0.04.15 b/dev-cpp/ETL-0.04.15
deleted file mode 100644
index b958f414a6d8..000000000000
--- a/dev-cpp/ETL-0.04.15
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=prepare
-DEPEND=>=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=ETL is a multi-platform class and template library
-EAPI=4
-HOMEPAGE=http://synfig.org
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-2
-SLOT=0
-SRC_URI=mirror://sourceforge/synfig/ETL/0.04.15/ETL-0.04.15.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=faccb4a5e8a3ce3927f1115368c0b485
diff --git a/dev-cpp/ETL/ETL-0.04.15.ebuild b/dev-cpp/ETL/ETL-0.04.15.ebuild
new file mode 100644
index 000000000000..99c1e28128c7
--- /dev/null
+++ b/dev-cpp/ETL/ETL-0.04.15.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools
+
+DESCRIPTION="ETL is a multi-platform class and template library"
+HOMEPAGE="http://synfig.org"
+SRC_URI="mirror://sourceforge/synfig/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i -e 's/CXXFLAGS="`echo $CXXFLAGS | sed s:-g::` $debug_flags"//' \
+ -e 's/CFLAGS="`echo $CFLAGS | sed s:-g::` $debug_flags"//' \
+ m4/subs.m4
+
+ eautoreconf
+}
diff --git a/dev-cpp/ETL/Manifest b/dev-cpp/ETL/Manifest
new file mode 100644
index 000000000000..54313b7f4377
--- /dev/null
+++ b/dev-cpp/ETL/Manifest
@@ -0,0 +1,3 @@
+DIST ETL-0.04.15.tar.gz 362312 BLAKE2B c2afe67486a9154de559a00680b9409ee6b8b2d3312d8c8777906926c3335d4ead3e6d5da6b11771b359caa56917969fd5be7d12c2337872a41c16997421f923 SHA512 647d03f5660703a326357b0f1bb969c1e00f94c51ae72cf036f6618df1e44c6e379244a1a827b4d3c9545455efd81ff1d97254ee159e0f578f544ab856341e6f
+EBUILD ETL-0.04.15.ebuild 568 BLAKE2B 78839f4b6640a1c2ea088ffbb21c556bceb0f54fd7af6a0629b8fc09f6d91edaabf9507919d828290f616622ac61fba3781a4a4c8e3d29595f5cdb84efef8be8 SHA512 923fce80b76bd43033096b887ffd39591d79c2cba6dbf8b1e3789a59559271865c6d3675e4620b28a296af83094cf134674af1b95153d246983a181626332b18
+MISC metadata.xml 322 BLAKE2B f93194ae044574f8c02cdafc05cf99ef8c8b446971ab6ef91f3c6d49429d4f1919234fdef7e566999a4a10170d97933e3f91887f24e57641c31d7f277dc63fcd SHA512 eca4baf7aa303177e49b50b3697edeaec633add9a42adac767ee63a804141d15f07f86bca3d94e13bf6330a6e461ac614c254fbfebdfff86d9aef957443834b6
diff --git a/dev-cpp/ETL/metadata.xml b/dev-cpp/ETL/metadata.xml
new file mode 100644
index 000000000000..b3066d7e8273
--- /dev/null
+++ b/dev-cpp/ETL/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lu_zero@gentoo.org</email>
+ <name>Luca Barbato</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">synfig</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index f40b11397abd..6a3bc896121a 100644
--- a/dev-cpp/Manifest.gz
+++ b/dev-cpp/Manifest.gz
Binary files differ
diff --git a/dev-cpp/antlr-cpp-2.7.7 b/dev-cpp/antlr-cpp-2.7.7
deleted file mode 100644
index eb87935a0953..000000000000
--- a/dev-cpp/antlr-cpp-2.7.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=The ANTLR 2 C++ Runtime
-EAPI=5
-HOMEPAGE=http://www.antlr2.org/
-IUSE=doc examples static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=amd64 ~arm ppc x86
-LICENSE=public-domain
-RDEPEND=!dev-java/antlr:0[cxx]
-RESTRICT=test
-SLOT=2
-SRC_URI=http://www.antlr2.org/download/antlr-2.7.7.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 autotools-multilib f4848d9634439c7203cb7dd3b9650fff autotools-utils 5a4611dfba155b1659528663fad4cd5e desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=8c6cdd908f84188fb40f35e52dd458c1
diff --git a/dev-cpp/antlr-cpp-2.7.7-r1 b/dev-cpp/antlr-cpp-2.7.7-r1
deleted file mode 100644
index a79478b75e9e..000000000000
--- a/dev-cpp/antlr-cpp-2.7.7-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=The ANTLR 2 C++ Runtime
-EAPI=6
-HOMEPAGE=http://www.antlr2.org/
-IUSE=doc examples static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~amd64 ~arm ~ppc ~x86
-LICENSE=public-domain
-RDEPEND=!dev-java/antlr:0[cxx]
-RESTRICT=test
-SLOT=2
-SRC_URI=http://www.antlr2.org/download/antlr-2.7.7.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=c5a51d090daca147fdaa105e0a5a28ea
diff --git a/dev-cpp/antlr-cpp-3.5.2 b/dev-cpp/antlr-cpp-3.5.2
deleted file mode 100644
index 37d05f78261e..000000000000
--- a/dev-cpp/antlr-cpp-3.5.2
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=The ANTLR 3 C++ Runtime
-EAPI=6
-HOMEPAGE=http://www.antlr3.org/
-KEYWORDS=~amd64 ~x86
-LICENSE=BSD
-RDEPEND=!dev-java/antlr:0[cxx]
-SLOT=3.5
-SRC_URI=https://github.com/antlr/antlr3/archive/3.5.2.tar.gz -> antlr-cpp-3.5.2.tar.gz
-_md5_=8e6dcd5d2d885d17d27e904c425ec7a5
diff --git a/dev-cpp/antlr-cpp-3.5.2-r1 b/dev-cpp/antlr-cpp-3.5.2-r1
deleted file mode 100644
index 1da6d2bb47de..000000000000
--- a/dev-cpp/antlr-cpp-3.5.2-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=The ANTLR 3 C++ Runtime
-EAPI=6
-HOMEPAGE=http://www.antlr3.org/
-KEYWORDS=~amd64 ~x86
-LICENSE=BSD
-SLOT=3.5
-SRC_URI=https://github.com/antlr/antlr3/archive/3.5.2.tar.gz -> antlr-cpp-3.5.2.tar.gz
-_md5_=3d69219f4d729e78acfc35b3c8c57d65
diff --git a/dev-cpp/antlr-cpp/Manifest b/dev-cpp/antlr-cpp/Manifest
new file mode 100644
index 000000000000..b4512f0adb22
--- /dev/null
+++ b/dev-cpp/antlr-cpp/Manifest
@@ -0,0 +1,9 @@
+AUX 2.7.7-gcc.patch 402 BLAKE2B be143ebbf062aa2ed59630424e7741ac8105eb3575494639d05fe21471d2764c12fc5c5aa95f7297ed9ad67df7af8c107582f008c5372205fa4bfc991b87d14e SHA512 c94a8fcdce09f5a7cb32c2594728954775812a5eb2487aebe4f1e9203e5db75e391a2214fdb173f33f8616ac5b666e2d4653bc00a3a98b09005333ed2a3b27fd
+AUX 2.7.7-libtool.patch 621 BLAKE2B a0e48b7911bf016dbf1422768cd73e887cded6a9795d8f38d522e3e13b4f0a81f94653d61fb688db4ee1c6d3170035380fc9763b83ae68c28d88ef1902a3b715 SHA512 3f1d68eff40fac13a4f482724456cb8ed801feff71a254871368f22ab98024431c718f3fb35f13da4183bdebe62ece26908a341fe1a945118bf0d78f5d8ea622
+DIST antlr-2.7.7.tar.gz 1816180 BLAKE2B 3a9a51070f8651befeb4d22be344b544e119db34a78522828c2ffc3c481c14b9c7784f0a9997a61f6faedde5b6d1fe12214cfd84fb274f7065f3ffe6a44abf1c SHA512 faa72d2ddcba434ef1233e70c1549e63eba67c00793966322e821cf7f015cccb804448cb92d8fbef0429f59928fad65ec954f8ffbda0acbb8e983de0806d349d
+DIST antlr-cpp-3.5.2.tar.gz 6927126 BLAKE2B 1907229549434dfea6ef1fa915137a2f733bd61f0a40aacb131689df619d1c92e125453ec3d1febc5d92da1841ffbde060af196cff1ca8fb6f4684600375e161 SHA512 e2a0520093fb2a77dcd9d44f26a9fdd612dceaffb398c53b2b8cd29f4630830647ede29e8dd55b434cb2c165b0fd1d77968ec6e6de0798f14d9cdfd9e6fccd99
+EBUILD antlr-cpp-2.7.7-r1.ebuild 2808 BLAKE2B 207d0ecf0e231a7eed984c5d4032d53bd6bd9a5cd169b24797f7ba41fe14218e9051077d6efa5379ed966d006a5008f2ad1e6781d0829bfb31f6f80f35d525b3 SHA512 7fe1f19bdf361adf562f6387df2d66503f6d4c7dbf5bb4d91a029843dc86435dec9ffc1e3ad241c910107fda99d6b0b3591d3dfafd83959e56a5b4f5d7d0f1f2
+EBUILD antlr-cpp-2.7.7.ebuild 2776 BLAKE2B c97cc26c1ceb320716344ad9a0e457f38df3efe0ebd2bf2cf795930a6605ba1aae516015b5cebf675ff05d4dbd263de73c9b1efdad1749b4eb9b6f31fcd229db SHA512 e293605b61353aa5e1cbd6b8be82e1fbb2e19fd10fbce2f791129109c70a9ae97e94438494137fbf5fd59bc3bf51686fc56524a8f37f0cf765d11a49a763c478
+EBUILD antlr-cpp-3.5.2-r1.ebuild 452 BLAKE2B 56646e0ac63748260421e4f602ccc3bc0d49a517df7ef63744b3720e1d30e1eee910438f7edeccf7d0a947df4f155ff026f1dceccfd6202637892ba4f6ddac5d SHA512 cf7b5a9a7588437d423c571f1b14f90959e0d7a9440b3d249464a21898ec4900e066789ceef6acdb7a949a8c5e0600425d1095e0cefb410eebd05c815071b636
+EBUILD antlr-cpp-3.5.2.ebuild 512 BLAKE2B 0a684c17366afec326fb969d17ab3d48fedd4073dadb85669a8f4ffb74dc5ae3a1e7a1fca75fb722bdcdcaf85acebdc000d1cdfd858389a37589a7fb33f42dff SHA512 9335b7840649a2a155084191fd82ac83cbbec389c0682d09442ad56e8202107f72010d85eb50573eb9af3d49dd4fdac71c056764b0c33a098d6042bfb0e102b5
+MISC metadata.xml 313 BLAKE2B 3ddef83abe4413f33dae4c121c76dfdfab2336d433ef94716eced1df9f669f83883b4174d5a472b06ae8fb16c7179094469fe65258646d7dd9094b5c1673a2a3 SHA512 39988a3826d440aa378b455d18ce23230ba1870bf7b7c64123cfdd09c54b112e8586c87d421a2227370c6b4eae385af46ce3a9e4aab3c676fdfdac360fed8265
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild
new file mode 100644
index 000000000000..576b9c51d9d0
--- /dev/null
+++ b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Upstream only installs a static library. The original antlr ebuild
+# built a shared library manually, which isn't so great either. This
+# ebuild applies libtool instead and therefore an autoreconf is
+# required. A couple of errors concerning tr have been seen but the
+# final result still looks good. This also sidesteps bug #554344 plus
+# the need to call einstall.
+
+inherit autotools multilib-minimal
+
+MY_P="${PN%-cpp}-${PV}"
+DESCRIPTION="The ANTLR 2 C++ Runtime"
+HOMEPAGE="http://www.antlr2.org/"
+SRC_URI="http://www.antlr2.org/download/${MY_P}.tar.gz"
+LICENSE="public-domain"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="doc examples static-libs"
+RESTRICT="test" # No tests but test target blows up!
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND="!dev-java/antlr:0[cxx]"
+
+S="${WORKDIR}/${MY_P}"
+ECONF_SOURCE="${S}"
+PATCHES=( "${FILESDIR}"/${PV}-{gcc,libtool}.patch )
+DOCS=( lib/cpp/AUTHORS lib/cpp/ChangeLog lib/cpp/README lib/cpp/TODO )
+
+src_prepare() {
+ # Turn Makefile.in files into libtool-style Makefile.am
+ # files. Countable.hpp is actually missing.
+ local HPP=$(grep -E -o "\w+\.hpp" lib/cpp/antlr/Makefile.in | grep -v "Countable\.hpp" | tr "\n" " " || die)
+ local CPP=$(grep -E -o "\w+\.cpp" lib/cpp/src/Makefile.in | tr "\n" " " || die)
+
+ cat <<EOF > lib/cpp/antlr/Makefile.am || die
+antlr_includedir = \$(includedir)/antlr
+antlr_include_HEADERS = ${HPP}
+EOF
+
+ cat <<EOF > lib/cpp/src/Makefile.am || die
+AM_CPPFLAGS = -I\$(abs_top_srcdir)/lib/cpp
+lib_LTLIBRARIES = libantlr.la
+libantlr_la_LDFLAGS = -version-info 2
+libantlr_la_SOURCES = ${CPP}
+EOF
+
+ default
+
+ mv -v configure.in configure.ac || die
+ mv -v aclocal.m4 acinclude.m4 || die
+
+ # These silly test -z lines break badly under recent autoconfs.
+ sed -i '/AC_PATH_PROG/s/test -z "\$[^"]*" *&& *//' configure.ac || die
+
+ # Delete build files from examples.
+ find examples -name Makefile.in -delete || die
+
+ # Fix make invocations. See bug #256880.
+ find -name "*.in" -exec sed -i 's/@MAKE@/$(MAKE)/g' {} + || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ CONFIG_SHELL="${BASH}" econf \
+ --disable-csharp \
+ --enable-cxx \
+ --disable-examples \
+ --disable-java \
+ --disable-python \
+ --enable-shared \
+ --enable-verbose \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ multilib-minimal_src_compile
+
+ if use doc; then
+ cd "${S}/lib/cpp" || die
+ doxygen -u doxygen.cfg || die
+ doxygen doxygen.cfg || die
+ fi
+}
+
+multilib_src_install() {
+ # We only care about the C++ stuff.
+ emake -C lib/cpp install DESTDIR="${D}"
+}
+
+src_install() {
+ multilib-minimal_src_install
+
+ cd "${S}" || die
+ use doc && dohtml -r lib/cpp/gen_doc/html/
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/cpp/*
+ fi
+}
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-2.7.7.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7.ebuild
new file mode 100644
index 000000000000..38f0da795403
--- /dev/null
+++ b/dev-cpp/antlr-cpp/antlr-cpp-2.7.7.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+# Upstream only installs a static library. The original antlr ebuild
+# built a shared library manually, which isn't so great either. This
+# ebuild applies libtool instead and therefore an autoreconf is
+# required. A couple of errors concerning tr have been seen but the
+# final result still looks good. This also sidesteps bug #554344 plus
+# the need to call einstall.
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils autotools-multilib
+
+MY_P="${PN%-cpp}-${PV}"
+DESCRIPTION="The ANTLR 2 C++ Runtime"
+HOMEPAGE="http://www.antlr2.org/"
+SRC_URI="http://www.antlr2.org/download/${MY_P}.tar.gz"
+LICENSE="public-domain"
+SLOT="2"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="doc examples static-libs"
+RESTRICT="test" # No tests but test target blows up!
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND="!dev-java/antlr:0[cxx]"
+
+S="${WORKDIR}/${MY_P}"
+DOCS=( lib/cpp/AUTHORS lib/cpp/ChangeLog lib/cpp/README lib/cpp/TODO )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-{gcc,libtool}.patch
+
+ mv -v configure.in configure.ac || die
+ mv -v aclocal.m4 acinclude.m4 || die
+
+ # These silly test -z lines break badly under recent autoconfs.
+ sed -i '/AC_PATH_PROG/s/test -z "\$[^"]*" *&& *//' configure.ac || die
+
+ # Delete build files from examples.
+ find examples -name Makefile.in -delete || die
+
+ # Fix make invocations. See bug #256880.
+ find -name "*.in" -exec sed -i 's/@MAKE@/$(MAKE)/g' {} + || die
+
+ # Turn Makefile.in files into libtool-style Makefile.am
+ # files. Countable.hpp is actually missing.
+ local HPP=$(grep -E -o "\w+\.hpp" lib/cpp/antlr/Makefile.in | grep -v "Countable\.hpp" | tr "\n" " " || die)
+ local CPP=$(grep -E -o "\w+\.cpp" lib/cpp/src/Makefile.in | tr "\n" " " || die)
+
+ cat <<EOF > lib/cpp/antlr/Makefile.am || die
+antlr_includedir = \$(includedir)/antlr
+antlr_include_HEADERS = ${HPP}
+EOF
+
+ cat <<EOF > lib/cpp/src/Makefile.am || die
+AM_CPPFLAGS = -I\$(abs_top_srcdir)/lib/cpp
+lib_LTLIBRARIES = libantlr.la
+libantlr_la_LDFLAGS = -version-info 2
+libantlr_la_SOURCES = ${CPP}
+EOF
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-csharp
+ --enable-cxx
+ --disable-examples
+ --disable-java
+ --disable-python
+ --enable-verbose
+ )
+
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-multilib_src_compile
+
+ if use doc; then
+ cd "${S}/lib/cpp" || die
+ doxygen -u doxygen.cfg || die
+ doxygen doxygen.cfg || die
+ fi
+}
+
+multilib_src_install() {
+ # We only care about the C++ stuff.
+ emake -C lib/cpp install DESTDIR="${D}"
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ cd "${S}" || die
+ use doc && dohtml -r lib/cpp/gen_doc/html/
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/cpp/*
+ fi
+}
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-3.5.2-r1.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-3.5.2-r1.ebuild
new file mode 100644
index 000000000000..22d8b1075d1f
--- /dev/null
+++ b/dev-cpp/antlr-cpp/antlr-cpp-3.5.2-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="${PN%-cpp}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="The ANTLR 3 C++ Runtime"
+HOMEPAGE="http://www.antlr3.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="3.5"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${MY_PN}3-${PV}"
+
+src_install() {
+ doheader "${S}"/runtime/Cpp/include/*
+}
diff --git a/dev-cpp/antlr-cpp/antlr-cpp-3.5.2.ebuild b/dev-cpp/antlr-cpp/antlr-cpp-3.5.2.ebuild
new file mode 100644
index 000000000000..de73a6f9bc48
--- /dev/null
+++ b/dev-cpp/antlr-cpp/antlr-cpp-3.5.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="${PN%-cpp}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="The ANTLR 3 C++ Runtime"
+HOMEPAGE="http://www.antlr3.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="3.5"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${MY_PN}3-${PV}"
+
+RDEPEND="!dev-java/antlr:0[cxx]"
+
+src_install() {
+ insinto /usr/include/antlr3
+ doins "${S}"/runtime/Cpp/include/*
+}
diff --git a/dev-cpp/antlr-cpp/files/2.7.7-gcc.patch b/dev-cpp/antlr-cpp/files/2.7.7-gcc.patch
new file mode 100644
index 000000000000..c67d5b6dfcf9
--- /dev/null
+++ b/dev-cpp/antlr-cpp/files/2.7.7-gcc.patch
@@ -0,0 +1,12 @@
+diff -Naur antlr-2.7.7.orig/lib/cpp/antlr/CharScanner.hpp antlr-2.7.7/lib/cpp/antlr/CharScanner.hpp
+--- antlr-2.7.7.orig/lib/cpp/antlr/CharScanner.hpp 2006-11-01 21:37:17.000000000 +0000
++++ antlr-2.7.7/lib/cpp/antlr/CharScanner.hpp 2015-10-06 23:01:53.083655950 +0100
+@@ -10,6 +10,8 @@
+
+ #include <antlr/config.hpp>
+
++#include <cstdio>
++#include <cstring>
+ #include <map>
+
+ #ifdef HAS_NOT_CCTYPE_H
diff --git a/dev-cpp/antlr-cpp/files/2.7.7-libtool.patch b/dev-cpp/antlr-cpp/files/2.7.7-libtool.patch
new file mode 100644
index 000000000000..ea5e809f473f
--- /dev/null
+++ b/dev-cpp/antlr-cpp/files/2.7.7-libtool.patch
@@ -0,0 +1,21 @@
+diff -Naur antlr-2.7.7.orig/configure.in antlr-2.7.7/configure.in
+--- antlr-2.7.7.orig/configure.in 2006-11-01 21:37:18.000000000 +0000
++++ antlr-2.7.7/configure.in 2015-10-11 13:49:09.166308712 +0100
+@@ -13,6 +13,9 @@
+ AC_CONFIG_SRCDIR([LICENSE.txt])
+ AC_CONFIG_AUX_DIR(scripts)
+
++LT_INIT
++AM_INIT_AUTOMAKE
++
+ ## This shall be the very first config file. Do not change
+ ## this.
+ AC_CONFIG_FILES([scripts/config.vars])
+@@ -841,7 +844,6 @@
+ AC_PROG_RANLIB
+
+ test -z "$MKDIR" && AC_PATH_PROG(MKDIR, mkdir$EXEEXT, mkdir$EXEEXT )
+-test -z "$RM" && AC_PATH_PROG(RM, rm$EXEEXT, rm$EXEEXT )
+
+ AX_PATH_PROGS(
+ [TAR],
diff --git a/dev-cpp/antlr-cpp/metadata.xml b/dev-cpp/antlr-cpp/metadata.xml
new file mode 100644
index 000000000000..38b353fb46ac
--- /dev/null
+++ b/dev-cpp/antlr-cpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">antlr/antlr3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/asio-1.10.8 b/dev-cpp/asio-1.10.8
deleted file mode 100644
index 1b4c0b84d3e0..000000000000
--- a/dev-cpp/asio-1.10.8
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install prepare
-DEPEND=dev-libs/boost ssl? ( dev-libs/openssl:0= )
-DESCRIPTION=Asynchronous Network Library
-EAPI=6
-HOMEPAGE=http://asio.sourceforge.net/
-IUSE=doc examples ssl test
-KEYWORDS=alpha amd64 ~arm ~arm64 ~hppa ia64 ppc ppc64 sparc x86
-LICENSE=Boost-1.0
-RDEPEND=dev-libs/boost ssl? ( dev-libs/openssl:0= )
-SLOT=0
-SRC_URI=mirror://sourceforge/asio/asio/asio-1.10.8.tar.bz2
-_md5_=c58cb28c2f6b035276c8f68e14c8bc53
diff --git a/dev-cpp/asio-1.12.1 b/dev-cpp/asio-1.12.1
deleted file mode 100644
index 68173ca73bd9..000000000000
--- a/dev-cpp/asio-1.12.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=install prepare
-DEPEND=dev-libs/boost ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) )
-DESCRIPTION=Asynchronous Network Library
-EAPI=6
-HOMEPAGE=http://asio.sourceforge.net/
-IUSE=doc examples libressl ssl test
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86
-LICENSE=Boost-1.0
-RDEPEND=dev-libs/boost ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) )
-SLOT=0
-SRC_URI=mirror://sourceforge/asio/asio/asio-1.12.1.tar.bz2
-_md5_=f171b32e521466b210e6d9284619b722
diff --git a/dev-cpp/asio/Manifest b/dev-cpp/asio/Manifest
new file mode 100644
index 000000000000..786d7aa44037
--- /dev/null
+++ b/dev-cpp/asio/Manifest
@@ -0,0 +1,5 @@
+DIST asio-1.10.8.tar.bz2 1270332 BLAKE2B 97e4a6a7c8b4562f10af1d122e9b08c12d567fd0447d1951a907f47f77832dcd42df4cb9b5b392feaaa2ea7c79d8bedfcf12e3052957ec012d8bb6b4d1347eb5 SHA512 d870686d2b19bec9925c311f2f0fd370e9797bbad252176a80a998f9c322ecd502b5081826105712e7caf87c03c3e6b70a0e219019e5bff46077d6e8c3c6db09
+DIST asio-1.12.1.tar.bz2 1444246 BLAKE2B d59b47a4dedd8d0892ace6d93c371cb02e16534b41bd490a945785526ad0a11bd6cb15f205bc5702b5a14780876bd92041bffac2898658b40c78ea27d4f37b14 SHA512 a994e1ee9a252d9f8cc2ada0915a9866eeebdd2b1d9a8fd50fa8db06d5ee6277f44a0f83c79f46f939adca43e02373ffee78ff6b1d6ae1798dcb1cd6d56dc568
+EBUILD asio-1.10.8.ebuild 895 BLAKE2B 6f3de4ae224765cd3af5863fabb60f22a9ee060839c64cf6c2269f1cad57229914da5351cf90750522faa99fb362021ccc76fb8ea293859aef3e7465081df761 SHA512 648aa85f02271260fdc7c1ba7d6093c5dba3a172e4585d7d8f8e70dedc111d2bbd57093ebb3e8fc2a85008e5981b17a1861e356efd6102689bdc17f015e75e5a
+EBUILD asio-1.12.1.ebuild 966 BLAKE2B 9b0e88cbc1ed5221620b8822e259764d606be3b40e4d0874f45d714479488902b6e9707433679a4a5ce966bcbb5ed36afa583b6fbbf5f1405e09f6df0daf7c77 SHA512 42f3803e7b5efaba364e35b83420eaefbe86856b1722b3f4b1af4b4404c6bfe7fb2e29b10d5f537eec6d24bcd8b53d26b123e4dff515d1fc7e2903b7ee98f718
+MISC metadata.xml 323 BLAKE2B 91aaf7041f894ff16bd10ee476a29a5da16f275a7791d484abddd8dae337df92293e16b4b2e5938f2418e6f183375e9ec6b38697c9be7207c64a340d3388da94 SHA512 e0633d245fa2f07cca452fca7937a2fbb64b977cae0c291abb52b0a9cc3af1e84fbad6f15135baa9835648959efa4fb68cdb3ec612efcfe856da485658f55595
diff --git a/dev-cpp/asio/asio-1.10.8.ebuild b/dev-cpp/asio/asio-1.10.8.ebuild
new file mode 100644
index 000000000000..6510f168fcde
--- /dev/null
+++ b/dev-cpp/asio/asio-1.10.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Asynchronous Network Library"
+HOMEPAGE="http://asio.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ppc ppc64 sparc x86"
+IUSE="doc examples ssl test"
+
+RDEPEND="dev-libs/boost
+ ssl? ( dev-libs/openssl:0= )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ if ! use test; then
+ # Don't build nor install any examples or unittests
+ # since we don't have a script to run them
+ cat > src/Makefile.in <<-EOF || die
+ all:
+
+ install:
+
+ clean:
+ EOF
+ fi
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( doc/. )
+ default
+
+ if use examples; then
+ # Get rid of the object files
+ emake clean
+ dodoc -r src/examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-cpp/asio/asio-1.12.1.ebuild b/dev-cpp/asio/asio-1.12.1.ebuild
new file mode 100644
index 000000000000..9a8a2d25af2c
--- /dev/null
+++ b/dev-cpp/asio/asio-1.12.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Asynchronous Network Library"
+HOMEPAGE="http://asio.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc examples libressl ssl test"
+
+RDEPEND="dev-libs/boost
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ if ! use test; then
+ # Don't build nor install any examples or unittests
+ # since we don't have a script to run them
+ cat > src/Makefile.in <<-EOF || die
+ all:
+
+ install:
+
+ clean:
+ EOF
+ fi
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( doc/. )
+ default
+
+ if use examples; then
+ # Get rid of the object files
+ emake clean
+ dodoc -r src/examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-cpp/asio/metadata.xml b/dev-cpp/asio/metadata.xml
new file mode 100644
index 000000000000..73002f23cba4
--- /dev/null
+++ b/dev-cpp/asio/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">asio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/atkmm-2.24.2 b/dev-cpp/atkmm-2.24.2
deleted file mode 100644
index 46941de68a33..000000000000
--- a/dev-cpp/atkmm-2.24.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=>=dev-cpp/glibmm-2.46.2:2[doc?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/atk-2.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ interface for the ATK library
-EAPI=5
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
-LICENSE=LGPL-2.1+
-RDEPEND=>=dev-cpp/glibmm-2.46.2:2[doc?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/atk-2.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] !<dev-cpp/gtkmm-2.22.0
-SLOT=0
-SRC_URI=mirror://gnome/sources/atkmm/2.24/atkmm-2.24.2.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=59bc6fa62053b41fc3e08295669f7b8a
diff --git a/dev-cpp/atkmm/Manifest b/dev-cpp/atkmm/Manifest
new file mode 100644
index 000000000000..892fd020a23a
--- /dev/null
+++ b/dev-cpp/atkmm/Manifest
@@ -0,0 +1,3 @@
+DIST atkmm-2.24.2.tar.xz 849784 BLAKE2B 2cd96268cf727de1ebe83428e98f1d21f8dbd1a72ef01be80ec28d169ff0ae9ac375bbbd1a530f3c47b60b49a40e317fe39645d74f6be3c017edcb9735bc0236 SHA512 427714cdf3b10e3f9bc36df09c4b05608d295f5895fb1e079b9bd84afdf7bf1cfdec6794ced7f1e35bd430b76f87792df4ee63c515071a2ea6e3e51e672cdbe2
+EBUILD atkmm-2.24.2.ebuild 852 BLAKE2B 26f9d3d5ded68cb0da224ed19cb04771bc148d29b4dc312da97bd2e5c133f90efe086bbe12626b844120a13f131a7c85478e07c90aa292b8c92667e269475ed1 SHA512 17fcb05ffaf5b624a7157b7e08c918818785a05c99a9c8cb76a5128e68d53d197c517a9f93309f17e98562536207c558bb5c72f7cc5984b202bb9dd5e98601db
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/atkmm/atkmm-2.24.2.ebuild b/dev-cpp/atkmm/atkmm-2.24.2.ebuild
new file mode 100644
index 000000000000..476255eef9f5
--- /dev/null
+++ b/dev-cpp/atkmm/atkmm-2.24.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for the ATK library"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+COMMON_DEPEND="
+ >=dev-cpp/glibmm-2.46.2:2[doc?,${MULTILIB_USEDEP}]
+ >=dev-libs/atk-2.18.0[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+ !<dev-cpp/gtkmm-2.22.0
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(multilib_native_use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-cpp/atkmm/metadata.xml b/dev-cpp/atkmm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/atkmm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/cairomm-1.12.0-r1 b/dev-cpp/cairomm-1.12.0-r1
deleted file mode 100644
index b5a6d7253c0c..000000000000
--- a/dev-cpp/cairomm-1.12.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=>=x11-libs/cairo-1.12.10[aqua=,svg=,X=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.5.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig doc? ( app-doc/doxygen dev-libs/libxslt media-gfx/graphviz ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for the Cairo vector graphics library
-EAPI=5
-HOMEPAGE=https://cairographics.org/cairomm/
-IUSE=aqua doc +svg X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris
-LICENSE=LGPL-2+
-RDEPEND=>=x11-libs/cairo-1.12.10[aqua=,svg=,X=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.5.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=0
-SRC_URI=mirror://gnome/sources/cairomm/1.12/cairomm-1.12.0.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=d30f2e9c59d87ac89b66417041ee13bf
diff --git a/dev-cpp/cairomm/Manifest b/dev-cpp/cairomm/Manifest
new file mode 100644
index 000000000000..1c815867ae12
--- /dev/null
+++ b/dev-cpp/cairomm/Manifest
@@ -0,0 +1,3 @@
+DIST cairomm-1.12.0.tar.xz 789588 BLAKE2B 4c864705ce4b232a3dcaf7251cf22f7f9ac2f964253552cdac5a115bc7e085f38a58375e33f99ea03105b59d056a53e91ea9234c4c6b49d8701c01c8a1e12dc2 SHA512 750e05f079c2ee9786d1a1ddb66ff90405549a82aeb542d585f904f7147994a451950a77ecb563f290cf2358f7010360ab03d9aa3a319651615c48bd25aeb7e8
+EBUILD cairomm-1.12.0-r1.ebuild 1248 BLAKE2B fd76aa075911840f816a0105f86b289f10e3fa0479cc86b1beb79a308ae5211f169c63dc02f211e26dfe2b8ca80a5d3cd9ad903954af193eb77b0d512fac60e1 SHA512 e86684c05b8c963227e46b882218f840fcda445f3669f8bcac5a94c2d7544d029f53b1d4cef4664fdf52c78319006a42666e83679b452a2ee84dca525e514eb8
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild b/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..cd7789e4703f
--- /dev/null
+++ b/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ bindings for the Cairo vector graphics library"
+HOMEPAGE="https://cairographics.org/cairomm/"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="aqua doc +svg X"
+
+RDEPEND="
+ >=x11-libs/cairo-1.12.10[aqua=,svg=,X=,${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.5.1:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-libs/libxslt
+ media-gfx/graphviz )
+"
+
+src_prepare() {
+ # don't waste time building examples because they are marked as "noinst"
+ sed -i 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' Makefile.in || die
+
+ # don't waste time building tests
+ # they require the boost Unit Testing framework, that's not in base boost
+ sed -i 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' Makefile.in || die
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ --disable-tests \
+ $(multilib_native_use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-cpp/cairomm/metadata.xml b/dev-cpp/cairomm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/cairomm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/catch-1.11.0 b/dev-cpp/catch-1.11.0
deleted file mode 100644
index 22009becb073..000000000000
--- a/dev-cpp/catch-1.11.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Modern C++ header-only framework for unit-tests
-EAPI=6
-HOMEPAGE=https://github.com/catchorg/Catch2
-KEYWORDS=~amd64 ~x86
-LICENSE=Boost-1.0
-SLOT=0
-SRC_URI=https://github.com/catchorg/Catch2/archive/v1.11.0.tar.gz -> Catch-1.11.0.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=98985c73a0f06c9bc63aa215699af297
diff --git a/dev-cpp/catch-1.9999 b/dev-cpp/catch-1.9999
deleted file mode 100644
index 38a7c87f01f8..000000000000
--- a/dev-cpp/catch-1.9999
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=Modern C++ header-only framework for unit-tests
-EAPI=6
-HOMEPAGE=https://github.com/catchorg/Catch2
-IUSE=test
-LICENSE=Boost-1.0
-SLOT=0
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=9893bc9a366b475112b345978b1e9152
diff --git a/dev-cpp/catch-2.2.2 b/dev-cpp/catch-2.2.2
deleted file mode 100644
index d65ba7f3229c..000000000000
--- a/dev-cpp/catch-2.2.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=test? ( || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 ) ) dev-util/ninja >=dev-util/cmake-3.9.6
-DESCRIPTION=Modern C++ header-only framework for unit-tests
-EAPI=6
-HOMEPAGE=https://github.com/catchorg/Catch2
-IUSE=test
-KEYWORDS=~amd64 ~x86
-LICENSE=Boost-1.0
-RESTRICT=!test? ( test )
-SLOT=0
-SRC_URI=https://github.com/catchorg/Catch2/archive/v2.2.2.tar.gz -> Catch2-2.2.2.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=51e1c71c07ee04c9c8e55bbfa6539306
diff --git a/dev-cpp/catch-9999 b/dev-cpp/catch-9999
deleted file mode 100644
index a57be8962c24..000000000000
--- a/dev-cpp/catch-9999
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=dev-util/ninja >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=Modern C++ header-only framework for unit-tests
-EAPI=6
-HOMEPAGE=https://github.com/catchorg/Catch2
-IUSE=test
-LICENSE=Boost-1.0
-RESTRICT=!test? ( test )
-SLOT=0
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=86abc7bbffd8c7d6e38c0b9f18a4ef47
diff --git a/dev-cpp/catch/Manifest b/dev-cpp/catch/Manifest
new file mode 100644
index 000000000000..3dc8f92f2bf6
--- /dev/null
+++ b/dev-cpp/catch/Manifest
@@ -0,0 +1,9 @@
+AUX catch-2.2.2-python-automagic.patch 1096 BLAKE2B c1c5ae6cc0fa4f8066255581ab29bed966f4051eea79941c0a0f3e51f3639894b216dcc229de2ca932f0e41b8c3277f687d5d4dd2d226a2872f58ea486b9315f SHA512 d6b7198f60e45a52a40496eeecc1b34f5394af5dcccbaa7b2afa3af674d83f05a258311f151147ee8fcacae7764c4d742a92591c910a7beedfba5c71f547dfdc
+AUX catch-2.2.2-test-python3.patch 1521 BLAKE2B 6329f5d4995216e685c3404ef99fea1deed0be3e5f4849e7b24448b7a6c3d2aab47442a29dadbf0684888360c4a5a2e09667d765182a8a5f9245e64c7723cb34 SHA512 ca4ba7bfd87edcd06775d4d3fc7f19eb7188f95c73f4f26a08ddddd63a86249e2f4e3380b6a7cf449f1d6a32a6181557d5f82af6f79ca0c315b72fa9f7198166
+DIST Catch-1.11.0.tar.gz 376132 BLAKE2B 23a1a6292dd91ec1c71923b4902b42b59ff6be5227b666f68ef0dc33756a58a63edd70a9b139dda0b1860c2b7a0cfec7ab9262e6447eff3184cfe28ea9b0aa77 SHA512 33085c2671f78c7562eace909564b2730eabcaf4490cd463402e66ab4ac2be1fe4fe360916c11aa589ba4a010622444126ee2ae747783b5869b5d7276361f132
+DIST Catch2-2.2.2.tar.gz 497244 BLAKE2B d5073d56b9399bd7f50bafc7758e60e31ba4434e229f92ca92cd04257f4a54cec925ad3180cc964c4f69edbaa7fc14f8af8e828421e2bb2b4f6c59eaea5cc06d SHA512 ab91036c6c3ace087d0382ce99f26b2c30a4b75d52f285619ca282a618470fe388afe47495f3b2764268d600c6834c60ba464483d06f3a1c4316c099477c8e38
+EBUILD catch-1.11.0.ebuild 725 BLAKE2B 49c5034310812a931d9155d0aa3d791c30ab1f381c14bf102a26e23cd7c24ca97c4d4b7b11c8c859e665fdbd7beea44416e193ec06ad1d8e883f7459023ce3d6 SHA512 e7fa7e70cb02ab499606e656650d4ddb0c11c4990c720457dc0e21ebcee4a44e67356dfc89d3bdd0caf5e943fb5b59b5fa4ff9f2bd1963b6db20f362c1725560
+EBUILD catch-1.9999.ebuild 558 BLAKE2B bafe5cb18017202bd684d631b8839caab6bb128d8fc42d7772dd74aa91dcd99b139393fa22463536924da114fc508a92d5b49639590933397a57cab9f2159ac0 SHA512 1952c96b2fa49e674a32466f2ec709b2f92c8e2502eecb1f25c24d81d11c73e8c28cfbb1da5b7e322bbebd28d6ade06f6b157e07f47f1a06ad258c30efc118f0
+EBUILD catch-2.2.2.ebuild 1078 BLAKE2B 5c33d53d303e552418f2957e8c1c9f640fb03b356bb3e4f6d2988c2fc98225d1bc6a50621a1285d5ab0d255cd1a00b5916788de16527c3f7f436bdf9d4ba3f28 SHA512 3912a227443c1eff86b65831ea3f5c2703811c0978c8750e5b69c75cca0079d1ecc31d2c643aad6a02a2b210da061f111097db390e9be00fab807d4e54eb5534
+EBUILD catch-9999.ebuild 789 BLAKE2B 1eefb971644a62d137bd3af77bd3155fe82382f1520e5da503ad80bb4ace697ce461f5d3c6311ac0b241224f6df603b87ec00f5c9225d8d6bb6c7a6ecf9bb303 SHA512 930839ea809a06dcb8f66ade29cf3e5b109327ceaef66da33c55fc958974b2489bfb003238b560189868bc08246ca4ddb7b5f239ff0b804973c6fab50ab4b4b0
+MISC metadata.xml 324 BLAKE2B e32ed47ddce7e517244ff26e70d1bd31cdaa33bef0bf4a6cf4284f3688745760a9538f9bf6d9d25a9fabd3f5f6901a1b91c76d2fe290427a55bcc74d4f17be7b SHA512 094af03b1e2befa015f1faaca9ecf4158fffedfe7ef8a2873e9e6cd6e4e7d26f276e357ac1989c2809702abc3ada590668adc37c9d804cee31ae564f88c3315f
diff --git a/dev-cpp/catch/catch-1.11.0.ebuild b/dev-cpp/catch/catch-1.11.0.ebuild
new file mode 100644
index 000000000000..afc65f924e9f
--- /dev/null
+++ b/dev-cpp/catch/catch-1.11.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Modern C++ header-only framework for unit-tests"
+HOMEPAGE="https://github.com/catchorg/Catch2"
+SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${P^}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S=${WORKDIR}/${P^}
+
+# CMake is only used to build & run tests, so override phases
+src_configure() { :; }
+src_compile() { :; }
+
+src_test() {
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+ cmake-utils_src_test
+}
+
+src_install() {
+ # same location as used in fedora
+ insinto /usr/include/catch
+ doins -r include/.
+ dodoc -r docs/.
+}
diff --git a/dev-cpp/catch/catch-1.9999.ebuild b/dev-cpp/catch/catch-1.9999.ebuild
new file mode 100644
index 000000000000..a770fcddab58
--- /dev/null
+++ b/dev-cpp/catch/catch-1.9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_REPO_URI="https://github.com/catchorg/Catch2.git"
+EGIT_BRANCH="Catch1.x"
+inherit cmake-utils git-r3
+
+DESCRIPTION="Modern C++ header-only framework for unit-tests"
+HOMEPAGE="https://github.com/catchorg/Catch2"
+SRC_URI=""
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+src_configure() {
+ local mycmakeargs=(
+ -DNO_SELFTEST=$(usex !test)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc -r docs/.
+}
diff --git a/dev-cpp/catch/catch-2.2.2.ebuild b/dev-cpp/catch/catch-2.2.2.ebuild
new file mode 100644
index 000000000000..2cce0298b3a4
--- /dev/null
+++ b/dev-cpp/catch/catch-2.2.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+inherit cmake-utils python-any-r1
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/catchorg/Catch2.git"
+else
+ MY_P=${PN^}2-${PV}
+ SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+
+ S=${WORKDIR}/${MY_P}
+fi
+
+DESCRIPTION="Modern C++ header-only framework for unit-tests"
+HOMEPAGE="https://github.com/catchorg/Catch2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.2-test-python3.patch
+ "${FILESDIR}"/${PN}-2.2.2-python-automagic.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCATCH_ENABLE_WERROR=OFF
+ -DBUILD_TESTING=$(usex test)
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/catch/catch-9999.ebuild b/dev-cpp/catch/catch-9999.ebuild
new file mode 100644
index 000000000000..d7763c4ccaa9
--- /dev/null
+++ b/dev-cpp/catch/catch-9999.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+inherit cmake-utils
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/catchorg/Catch2.git"
+else
+ MY_P=${PN^}2-${PV}
+ SRC_URI="https://github.com/catchorg/Catch2/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+
+ S=${WORKDIR}/${MY_P}
+fi
+
+DESCRIPTION="Modern C++ header-only framework for unit-tests"
+HOMEPAGE="https://github.com/catchorg/Catch2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCATCH_ENABLE_WERROR=OFF
+ -DBUILD_TESTING=$(usex test)
+ -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}"
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/catch/files/catch-2.2.2-python-automagic.patch b/dev-cpp/catch/files/catch-2.2.2-python-automagic.patch
new file mode 100644
index 000000000000..ecc99905d7f0
--- /dev/null
+++ b/dev-cpp/catch/files/catch-2.2.2-python-automagic.patch
@@ -0,0 +1,25 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -308,6 +308,9 @@
+
+ include(CTest)
+
++# Approval tests require python 2.7 or 3
++find_package(PythonInterp)
++
+ if (BUILD_TESTING AND NOT_SUBPROJECT)
+ add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${REPORTER_SOURCES} ${SURROGATE_SOURCES} ${HEADERS})
+ target_include_directories(SelfTest PRIVATE ${HEADER_DIR})
+@@ -384,7 +387,11 @@
+ set_tests_properties(NoTest PROPERTIES PASS_REGULAR_EXPRESSION "No test cases matched")
+
+ # AppVeyor has a Python 2.7 in path, but doesn't have .py files as autorunnable
+- add_test(NAME ApprovalTests COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/scripts/approvalTests.py $<TARGET_FILE:SelfTest>)
++ if(NOT ${PYTHONINTERP_FOUND})
++ message(FATAL_ERROR "Python not found, but required for running tests!")
++ endif()
++
++ add_test(NAME ApprovalTests COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/scripts/approvalTests.py $<TARGET_FILE:SelfTest>)
+ set_tests_properties(ApprovalTests PROPERTIES FAIL_REGULAR_EXPRESSION "Results differed")
+
+ if (CATCH_USE_VALGRIND)
diff --git a/dev-cpp/catch/files/catch-2.2.2-test-python3.patch b/dev-cpp/catch/files/catch-2.2.2-test-python3.patch
new file mode 100644
index 000000000000..0712f1577077
--- /dev/null
+++ b/dev-cpp/catch/files/catch-2.2.2-test-python3.patch
@@ -0,0 +1,44 @@
+From dc6b83bec9bdcc149db08711cc9dfd555a8620fa Mon Sep 17 00:00:00 2001
+From: Tom Hughes <tom@compton.nu>
+Date: Fri, 6 Apr 2018 13:59:08 +0100
+Subject: [PATCH] Support Python3 in approval tests
+
+---
+ scripts/approvalTests.py | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/scripts/approvalTests.py b/scripts/approvalTests.py
+index a2ab5d5a2..16cc7b7d2 100755
+--- a/scripts/approvalTests.py
++++ b/scripts/approvalTests.py
+@@ -72,10 +72,17 @@
+
+ overallResult = 0
+
++def openFile(file, mode):
++ try:
++ return open(file, mode, encoding='utf-8', errors='surrogateescape')
++ except TypeError:
++ import io
++ return io.open(file, mode, encoding='utf-8', errors='surrogateescape')
++
+ def diffFiles(fileA, fileB):
+- with open(fileA, 'r') as file:
++ with openFile(fileA, 'r') as file:
+ aLines = [line.rstrip() for line in file.readlines()]
+- with open(fileB, 'r') as file:
++ with openFile(fileB, 'r') as file:
+ bLines = [line.rstrip() for line in file.readlines()]
+
+ shortenedFilenameA = fileA.rsplit(os.sep, 1)[-1]
+@@ -139,8 +146,8 @@ def approve(baseName, args):
+ subprocess.call(args, stdout=f, stderr=f)
+ f.close()
+
+- rawFile = open(rawResultsPath, 'r')
+- filteredFile = open(filteredResultsPath, 'w')
++ rawFile = openFile(rawResultsPath, 'r')
++ filteredFile = openFile(filteredResultsPath, 'w')
+ for line in rawFile:
+ filteredFile.write(filterLine(line).rstrip() + "\n")
+ filteredFile.close()
diff --git a/dev-cpp/catch/metadata.xml b/dev-cpp/catch/metadata.xml
new file mode 100644
index 000000000000..d6b46d2d5ed4
--- /dev/null
+++ b/dev-cpp/catch/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>soap@gentoo.org</email>
+ <name>David Seifert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">catchorg/Catch2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/clucene-2.3.3.4-r6 b/dev-cpp/clucene-2.3.3.4-r6
deleted file mode 100644
index 17f481641b47..000000000000
--- a/dev-cpp/clucene-2.3.3.4-r6
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=doc? ( >=app-doc/doxygen-1.4.2 ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=High-performance, full-featured text search engine based off of lucene in C++
-EAPI=6
-HOMEPAGE=http://clucene.sourceforge.net/
-IUSE=debug doc static-libs
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos
-LICENSE=|| ( Apache-2.0 LGPL-2.1 )
-RESTRICT=test
-SLOT=1
-SRC_URI=mirror://sourceforge/clucene/clucene-core-2.3.3.4.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=96b7fe1cc2c567c7dac6fa406e2e149c
diff --git a/dev-cpp/clucene/Manifest b/dev-cpp/clucene/Manifest
new file mode 100644
index 000000000000..c133599946db
--- /dev/null
+++ b/dev-cpp/clucene/Manifest
@@ -0,0 +1,6 @@
+AUX clucene-2.3.3.4-contrib.patch 1697 BLAKE2B 2aebc143ff0dafb2765cb3bd5d8e5183bdcfa7cb51a6109e957650412394796c7825c38dab9f1f9637c436b10714624dcbcfd3b6ab88dbfef9c5de9582e65ccc SHA512 0aa92635949089196e4e7c579e78761e8751987ef5036320a161a4aaa67da3c63756398c903419c76ea0fbdc8a949e871fcb65be98179a9853a24a5a4cacfde3
+AUX clucene-2.3.3.4-gcc6.patch 1102 BLAKE2B c7a264585532237d38ad5d06d1e1b96559e47145dc9ecbfe73ec6b8a493fd9c0eef73611305de213e432dd94736dc49dbc140b47d0c65081228989aa21a3fe62 SHA512 367e97d9b5d59bca880d8ec70b37078406f581267a896ff6b35cd3ab21f983f4b21152482bb34fb813e426b4cae14a6d319ccdb08e3bf968de8ece3c28a18722
+AUX clucene-2.3.3.4-pkgconfig.patch 871 BLAKE2B a108d0c4427159a09d2575b351bedfd38c6305219e01a7927b66aacfcab3587d3c08315f0a7e58a123e6779d2d8fec17fb06127de32dfd5782408cbc5c916ed5 SHA512 afcdf00537c8eb9c75ed569356520551ea194c8edc636f6e82bd0b1ef60e33396c1e2722b895aced2b58358950b3c5c1df2a914295074e9e99485ca6cee21c18
+DIST clucene-core-2.3.3.4.tar.gz 2241498 BLAKE2B e7c02d3976fd8d722a81ad4c6d43363b9af0073aa68edb8303cada495f8b8514cb8c86a85f398f8c9ffc1f78a49c0718cde5af4145c32869572d21e8af633846 SHA512 1c9da9077edcebd46563bd9e47d330518e0b30061016650a759cfe051e9748fdad8932a472b1cca53a6adafed5f41656527271fc5f55ddfcefb558f0d83286b4
+EBUILD clucene-2.3.3.4-r6.ebuild 1529 BLAKE2B 16ccc927491fb827de63c015e79e072dddce3f334c6813a888be2bd9fd673ba3dff5a32c380bcd03aba9d28c841ae56b7e78df464afb7a36c4f3a8433d322975 SHA512 7ad4ed1947c1932bbbb15490c39f65c248fe82ab7fff3114318cb53d1f280acc7512d69e97df3372c2adc0f9c5df79b322fd8ca0d4c1c91932f42b14d2afc939
+MISC metadata.xml 216 BLAKE2B 52c5c99fc83e614fdcb2cb7f83f8cc5bfe32584104dc1da8f233a7aa636553a52df7eddd120b578d3a029f92080eacfafd19a541c33b4d6050908cb0d0723e2a SHA512 f08965e90195baaacd6b6eb8d904a105df499b9ec48adfc586c6f688591260bf0f12b6992313f6119e201f6362f6abd52d659d23d4b5d84c6ae67a09f8e2b183
diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild
new file mode 100644
index 000000000000..f636e9b11277
--- /dev/null
+++ b/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="${PN}"-core
+MY_P="${MY_PN}"-"${PV}"
+
+inherit cmake-utils multilib
+
+DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++"
+HOMEPAGE="http://clucene.sourceforge.net/"
+SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1 )"
+SLOT="1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+
+IUSE="debug doc static-libs"
+
+DEPEND="
+ doc? ( >=app-doc/doxygen-1.4.2 )
+"
+RDEPEND=""
+
+RESTRICT="test"
+
+DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-contrib.patch"
+ "${FILESDIR}/${P}-pkgconfig.patch"
+ "${FILESDIR}/${P}-gcc6.patch"
+)
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # patch out installing bundled boost headers, we build against system one
+ sed -i \
+ -e '/ADD_SUBDIRECTORY (src\/ext)/d' \
+ CMakeLists.txt || die
+ rm -rf src/ext || die
+}
+
+src_configure() {
+ # Disabled threads: see upstream bug
+ # https://sourceforge.net/tracker/?func=detail&aid=3237301&group_id=80013&atid=558446
+ local mycmakeargs=(
+ -DENABLE_ASCII_MODE=OFF
+ -DENABLE_PACKAGING=OFF
+ -DDISABLE_MULTITHREADING=OFF
+ -DBUILD_CONTRIBS_LIB=ON
+ "-DLIB_DESTINATION=${EPREFIX}/usr/$(get_libdir)"
+ -DENABLE_DEBUG=$(usex debug)
+ -DENABLE_CLDOCS=$(usex doc)
+ -DBUILD_STATIC_LIBRARIES=$(usex static-libs)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch
new file mode 100644
index 000000000000..8fbb3c7164ab
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-contrib.patch
@@ -0,0 +1,42 @@
+diff -NaurpBb clucene-core-2.3.3.4/CMakeLists.txt clucene-core-2.3.3.4-mod/CMakeLists.txt
+--- clucene-core-2.3.3.4/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/CMakeLists.txt 2011-08-16 16:56:55.968268152 +0400
+@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS )
+ SET(BUILD_CONTRIBS_LIB 1)
+ ENDIF ( BUILD_CONTRIBS )
+ IF ( BUILD_CONTRIBS_LIB )
+- ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL)
++ ADD_SUBDIRECTORY (src/contribs-lib)
+ ENDIF ( BUILD_CONTRIBS_LIB )
+
+
+diff -NaurpBb clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt
+--- clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt 2011-08-16 17:14:13.499275499 +0400
+@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED
+ )
+ TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs})
+
++#install public headers.
++FOREACH(file ${HEADERS})
++ get_filename_component(apath ${file} PATH)
++ get_filename_component(aname ${file} NAME)
++ file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath})
++ IF ( NOT aname MATCHES "^_.*" )
++ install(FILES ${file}
++ DESTINATION include/${relpath}
++ COMPONENT development)
++ ENDIF ( NOT aname MATCHES "^_.*" )
++ENDFOREACH(file)
++
+ #set properties on the libraries
+ SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES
+ VERSION ${CLUCENE_VERSION}
+ SOVERSION ${CLUCENE_SOVERSION}
+ COMPILE_DEFINITIONS_DEBUG _DEBUG
+ )
++
++#and install library
++install(TARGETS clucene-contribs-lib
++ DESTINATION ${LIB_DESTINATION}
++ COMPONENT runtime )
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-gcc6.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-gcc6.patch
new file mode 100644
index 000000000000..b0b9ac1a327b
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-gcc6.patch
@@ -0,0 +1,28 @@
+From b5a1b3488a72abd250cbd5d4dfbeac3e3739c237 Mon Sep 17 00:00:00 2001
+From: Hodorgasm <nsane457@gmail.com>
+Date: Thu, 12 May 2016 20:38:12 -0400
+Subject: [PATCH] Support GCC-6
+
+Updated 2017-06-18 by mgorny to allow *any* gcc version so that
+we do not have to update the patch every second month.
+
+---
+ src/shared/cmake/MacroCheckGccVisibility.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/cmake/MacroCheckGccVisibility.cmake b/src/shared/cmake/MacroCheckGccVisibility.cmake
+index 2022aa3..020f913 100644
+--- a/src/shared/cmake/MacroCheckGccVisibility.cmake
++++ b/src/shared/cmake/MacroCheckGccVisibility.cmake
+@@ -15,7 +15,7 @@ macro(MACRO_CHECK_GCC_VISIBILITY GccVisibility)
+ # get the gcc version
+ exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
+
+- string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
++ string (REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" _gcc_version "${_gcc_version_info}")
+ if (NOT _gcc_version)
+
+ # clang reports: clang version 1.1 (trunk 95754)
+--
+2.8.2
+
diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch
new file mode 100644
index 000000000000..14563628ea41
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-pkgconfig.patch
@@ -0,0 +1,12 @@
+diff -up clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake.pkgconfig_sys_includes clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake
+--- clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake.pkgconfig_sys_includes 2011-03-16 19:21:07.000000000 -0500
++++ clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake 2012-03-19 09:01:00.689263954 -0500
+@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i
+ Name: libclucene
+ Description: CLucene - a C++ search engine, ported from the popular Apache Lucene
+ Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@
+-Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core
+-Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared
++Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
+ ~
diff --git a/dev-cpp/clucene/metadata.xml b/dev-cpp/clucene/metadata.xml
new file mode 100644
index 000000000000..780c9e86ccc8
--- /dev/null
+++ b/dev-cpp/clucene/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="sourceforge">clucene</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/commoncpp2-1.8.1-r2 b/dev-cpp/commoncpp2-1.8.1-r2
deleted file mode 100644
index e29142fb10a1..000000000000
--- a/dev-cpp/commoncpp2-1.8.1-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=sys-libs/zlib ssl? ( gnutls? ( dev-libs/libgcrypt:0= net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:0= ) ) doc? ( >=app-doc/doxygen-1.3.6 ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=C++ library offering portable support for system-related services
-EAPI=6
-HOMEPAGE=https://www.gnu.org/software/commoncpp/
-IUSE=debug doc examples ipv6 gnutls ssl static-libs
-KEYWORDS=amd64 ppc ppc64 x86
-LICENSE=GPL-2
-RDEPEND=sys-libs/zlib ssl? ( gnutls? ( dev-libs/libgcrypt:0= net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:0= ) )
-SLOT=0
-SRC_URI=mirror://gnu/commoncpp/commoncpp2-1.8.1.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=85c834a0f3ac0d3166980d62a99baa3c
diff --git a/dev-cpp/commoncpp2-1.8.1-r3 b/dev-cpp/commoncpp2-1.8.1-r3
deleted file mode 100644
index 9436f845e5da..000000000000
--- a/dev-cpp/commoncpp2-1.8.1-r3
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=configure install prepare setup
-DEPEND=sys-libs/zlib ssl? ( gnutls? ( dev-libs/libgcrypt:0= net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:0= ) ) doc? ( >=app-doc/doxygen-1.3.6 ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=C++ library offering portable support for system-related services
-EAPI=6
-HOMEPAGE=https://www.gnu.org/software/commoncpp/
-IUSE=debug doc examples ipv6 gnutls ssl static-libs
-KEYWORDS=amd64 ppc ppc64 x86
-LICENSE=GPL-2
-RDEPEND=sys-libs/zlib ssl? ( gnutls? ( dev-libs/libgcrypt:0= net-libs/gnutls:= ) !gnutls? ( dev-libs/openssl:0= ) )
-SLOT=0
-SRC_URI=mirror://gnu/commoncpp/commoncpp2-1.8.1.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a5500347eaaf1ae49e942a0bd3b515c4
diff --git a/dev-cpp/commoncpp2/Manifest b/dev-cpp/commoncpp2/Manifest
new file mode 100644
index 000000000000..a200ef2ae7a9
--- /dev/null
+++ b/dev-cpp/commoncpp2/Manifest
@@ -0,0 +1,12 @@
+AUX 1.8.0-glibc212.patch 323 BLAKE2B b5b25950d742041b2f1568043d99a3b7b5e6e44f23b894280b7cb40246bb0f08f91929bcac173de7b206b797ca87943a4230de84b3cf27c0babbc91e938a7f2b SHA512 c7807f0cb867343fb167f8428a143e125a36c5c764f6ff0a0c8edab892c12b636bc7a47e87574e30209ee0cf5500642369e4135799aee3d3f4292423496fdd07
+AUX 1.8.1-autoconf-update.patch 1735 BLAKE2B 8c33d1fb88b3a186e59581f19d97aa2315aaaa901d2d484d4824a4a679ed05a22b402da62bce743b74bc6c06f6f15ac401da960ed5206a2267639844c9d03047 SHA512 5c48300d3476913a96f1ea45853ad6092527490f1e36cab669be74766486f7c13ab86c740603cfe7f5381148a69e60bfb0e968c03c1c579f7aa8d9efb36281b6
+AUX 1.8.1-configure_detect_netfilter.patch 641 BLAKE2B edc5958760633efef678aa0d64cb4d054bb3968f56590ea3e9a0674fa2e01bddc3f6b78622c940072f2ca7843e47d0b6594aced3afc235cef9bca7c940d7205d SHA512 d4c3af631ab0ef37cb5943cd17ba6481e229af3537e73769f13ed6fe45e2671a9e9ee8f14f2243e95fd8b17d4a8dbb2c7945a5de9e4ce3f29e842779c55d0ea0
+AUX 1.8.1-fix-buffer-overflow.patch 442 BLAKE2B bfc345bc3d2df77a48e9b35b6462221fab11cd7ba2589f076b83284a5a24a60f6978f8338c287058bdb747bd58ff08cb6dc825250a005ead327c74f58f39d3b4 SHA512 4c3cece95f4a32ee2b37b37f84462aeda43c2d25c2eb5cfaf4bfbbe2bdc2d7db7c2ead2f6150bb108ea124fc29c277371d1d0f415a6b26df98f515d910cb3e8b
+AUX 1.8.1-fix-c++14.patch 1220 BLAKE2B 10df79cc01b26b5df35ede979743cc2d18598fb47d2d83a30b5b0d11264495965d3af7f84ba6e28e4219cae0742b5293ec2f8c60870cf9a7585e7b999fab2e11 SHA512 222c21e7b0b4e035ec3a36edb5b9e68d345550781f21a8c075835bf6f27ee46f62469a17f4cec3c1c1bb69741661dbcc7071c51c964006201ed8c3ff48a60c80
+AUX 1.8.1-gnutls-3.4.patch 1229 BLAKE2B a4936cce4fff5a7935c2bd077add555fa8d9b229afaaec545e78c1f6a7d34f35f7168c2381183ceaf4fd56bd1318a9505305ae59e77c87d9813f485e1aa6936d SHA512 92db4deba0ae612fda5873224641d35d5637a48d553d0afee7749c5477ca19a62640656d4781d101db5b545ddd962ce7c11a6edf33d128b031cafebf3cf6db77
+AUX 1.8.1-libgcrypt.patch 1054 BLAKE2B fc96efbbc132972035ca9622cd21427e8d662a3ee3aa3972690305ca14da04d7665b17d33f4b9d16e5128575ee4d378e031b57cc579d777845fc65c3cbab4abe SHA512 76f444739b370681d1b619b78cc77867da197f149c19d036d9d8b430a7a59d697c7ab30529582c308f77bc584a003dc0701d8c06003329589ade652babe5edd2
+AUX 1.8.1-parallel-build.patch 261 BLAKE2B 71e639f976d1c1893f7e3285cecda841f4c90b1c2a153edda527c47804df8821a14a3c340544a9e0860fb4047af2772f036c0e10380b4025b4538e40082046b2 SHA512 e06ca32ffd811897859ef7bf06f3b7998eaa56c7fcbb01f971ec32b6e75c4242e3a2ed5a1bdaa28c02bae08bfbb386d65ebed3e50e2de759d056f085f1f49c1f
+DIST commoncpp2-1.8.1.tar.gz 908678 BLAKE2B 93868286230b4b0507127627f0a1c24b4f340e4af50d7592774b57bfc7a8f1e31bacc0cee5d17b4237aac85be0265cf3aabd65708e988159daaac85b4145c398 SHA512 949823461d20429c2b0acfa22554a5a9dacc977e3ee097f34416f65d322df84fbdb27c644435c6c6caaed800347dfbe789cee7f19b39b306165c97b4f4012bfe
+EBUILD commoncpp2-1.8.1-r2.ebuild 1570 BLAKE2B 63315cb648b80bba3516b3bb0d2338284afb7581f395d868d75e3fb554eb41e1c39839baaf63e42b9c4d58e18caf5d760f857ad2323a675b10d9ae63f517ddac SHA512 3dfdeed9b2b04151fe4ae5fab0454c8c161a047f99f8945325a4a88291463cfb85cc23adb6305efe76dc6b99b60893f78a0ecb721dd381ffe04be1e4b3376412
+EBUILD commoncpp2-1.8.1-r3.ebuild 1515 BLAKE2B c32f470f07dc666105e851d1cdf6cd4c39c04ae055c91d0894cd01936a1c5d311a4bab100725029cd0c272aeb3172e1a62e78e9e6c2bf6630383b1e1efb148a8 SHA512 ce6af72543aca69603849311c2a15ae8f4df829c5e027660468b8a8e38f8c343581475890105849e78df329dc66911effaded94f6984779f706d6e2824b3108b
+MISC metadata.xml 245 BLAKE2B 61823ae735b381c891f5cae47974d3b1ea6136d6f5f5d449a26dfcdf26472282d760b4ee8a605b8a7b75b9c97443cbc0db309ada118ce186030f276ed7c88963 SHA512 b098db4fb4d9ea116f6246bc6caf0f49e80e236d2fad78d287b638dbd5add7bfaf7feb1ca081ca557b23dde9227ce42fa808f3f6fd8eaba6a7e9cae93342f9c6
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild
new file mode 100644
index 000000000000..dee8c708de05
--- /dev/null
+++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="C++ library offering portable support for system-related services"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+HOMEPAGE="https://www.gnu.org/software/commoncpp/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="debug doc examples ipv6 gnutls ssl static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ ssl? (
+ gnutls? (
+ dev-libs/libgcrypt:0=
+ net-libs/gnutls:=
+ )
+ !gnutls? ( dev-libs/openssl:0= )
+ )"
+DEPEND="${RDEPEND}
+ doc? ( >=app-doc/doxygen-1.3.6 )"
+
+PATCHES=(
+ "${FILESDIR}/1.8.1-configure_detect_netfilter.patch"
+ "${FILESDIR}/1.8.0-glibc212.patch"
+ "${FILESDIR}/1.8.1-autoconf-update.patch"
+ "${FILESDIR}/1.8.1-fix-buffer-overflow.patch"
+ "${FILESDIR}/1.8.1-parallel-build.patch"
+ "${FILESDIR}/1.8.1-libgcrypt.patch"
+ "${FILESDIR}/1.8.1-fix-c++14.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use ssl && local myconf=( $(usex gnutls '--with-gnutls' '--with-openssl') )
+
+ econf \
+ $(use_enable debug) \
+ $(use_with ipv6) \
+ $(use_enable static-libs static) \
+ $(use_with doc doxygen) \
+ "${myconf[@]}"
+}
+
+src_install () {
+ # Only install html docs
+ # man and latex available, but seems a little wasteful
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+ dodoc COPYING.addendum
+
+ if use examples; then
+ docinto examples
+ dodoc demo/{*.cpp,*.h,*.xml,README}
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild
new file mode 100644
index 000000000000..f75eac737a8e
--- /dev/null
+++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils
+
+DESCRIPTION="C++ library offering portable support for system-related services"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+HOMEPAGE="https://www.gnu.org/software/commoncpp/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="debug doc examples ipv6 gnutls ssl static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ ssl? (
+ gnutls? (
+ dev-libs/libgcrypt:0=
+ net-libs/gnutls:=
+ )
+ !gnutls? ( dev-libs/openssl:0= )
+ )"
+DEPEND="${RDEPEND}
+ doc? ( >=app-doc/doxygen-1.3.6 )"
+
+HTML_DOCS=()
+
+PATCHES=(
+ "${FILESDIR}/1.8.1-configure_detect_netfilter.patch"
+ "${FILESDIR}/1.8.0-glibc212.patch"
+ "${FILESDIR}/1.8.1-autoconf-update.patch"
+ "${FILESDIR}/1.8.1-fix-buffer-overflow.patch"
+ "${FILESDIR}/1.8.1-parallel-build.patch"
+ "${FILESDIR}/1.8.1-libgcrypt.patch"
+ "${FILESDIR}/1.8.1-fix-c++14.patch"
+ "${FILESDIR}/1.8.1-gnutls-3.4.patch"
+)
+
+pkg_setup() {
+ use doc && HTML_DOCS+=( doc/html/. )
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use ssl && local myconf=( $(usex gnutls '--with-gnutls' '--with-openssl') )
+
+ econf \
+ $(use_enable debug) \
+ $(use_with ipv6) \
+ $(use_enable static-libs static) \
+ $(use_with doc doxygen) \
+ "${myconf[@]}"
+}
+
+src_install () {
+ default
+ prune_libtool_files
+
+ dodoc COPYING.addendum
+
+ if use examples; then
+ docinto examples
+ dodoc demo/{*.cpp,*.h,*.xml,README}
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch b/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch
new file mode 100644
index 000000000000..5132554aea1c
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch
@@ -0,0 +1,12 @@
+http://bugs.gentoo.org/334135
+
+--- a/src/applog.cpp
++++ b/src/applog.cpp
+@@ -44,6 +44,7 @@
+ #include <cstdio>
+ #include <stdarg.h>
+ #include <errno.h>
++#include <sys/stat.h>
+
+ // TODO sc: test if has to move up now that it is into commoncpp
+ // NOTE: the order of inclusion is important do not move following include line
diff --git a/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch b/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch
new file mode 100644
index 000000000000..c64ba2f65fa9
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch
@@ -0,0 +1,61 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -9,7 +9,8 @@
+ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+-AC_INIT(src/thread.cpp)
++AC_INIT
++AC_CONFIG_SRCDIR([src/thread.cpp])
+ AC_CONFIG_MACRO_DIR([m4])
+ m4_pattern_allow(LT_VERSION)
+
+@@ -81,17 +82,17 @@
+ AC_SUBST(ccincludedir)
+
+ AC_CONFIG_AUX_DIR(autoconf)
+-AC_CANONICAL_SYSTEM
++AC_CANONICAL_TARGET
+ AC_PROG_CPP
+ AC_PROG_CC
+ AC_PROG_CXXCPP
+ AC_PROG_CXX
+ OST_PROG_CC_POSIX
+ NP_PROG_MSC
+-AC_LIBTOOL_WIN32_DLL
+-AM_PROG_LIBTOOL
++
++LT_INIT([win32-dll,disable-static])
+ AM_INIT_AUTOMAKE(commoncpp2, [$VERSION])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS([config.h])
+
+ AC_C_RESTRICT
+ AC_C_VOLATILE
+@@ -395,10 +396,11 @@
+ #endif
+
+ ])
+-
++AC_ARG_WITH([doxygen],
++ AS_HELP_STRING([--without-doxygen], [Do not build documentation]))
+ AC_PATH_PROG(DOXYGEN, doxygen, no)
+ AC_SUBST(DOXYGEN)
+-AM_CONDITIONAL(DOXY, test "$DOXYGEN" != "no")
++AM_CONDITIONAL([DOXY], [test "x$with_doxygen" != "xno"])
+
+ AM_CONDITIONAL(GETOPT_LONG, [test ! -z "$LIBGETOPTOBJS"])
+
+@@ -408,10 +410,11 @@
+ AC_SUBST(LIB_VERSION)
+ AC_SUBST(LIB_MAJOR)
+
+-AC_OUTPUT([src/ccgnu2-config src/libccext2.pc src/libccgnu2.pc
++AC_CONFIG_FILES([src/ccgnu2-config src/libccext2.pc src/libccgnu2.pc
+ src/Makefile w32/Makefile w32/vs2008/Makefile w32/vs2008/ccext2.vcproj w32/vs2008/ccgnu2.vcproj w32/vs2008/common.sln m4/Makefile doc/Doxyfile
+ doc/Makefile demo/Makefile inc/Makefile inc/cc++/Makefile Makefile
+ commoncpp2.spec tests/Makefile commoncpp2.list w32/ccgnu2.dsp w32/ccext2.dsp w32/ccgnu2.vcproj w32/ccext2.vcproj])
++AC_OUTPUT
+
+ # if test ! -f inc/cc++/thread.h ; then
+ # cp ${srcdir}/inc/cc++/*.h inc/cc++ ; fi
diff --git a/dev-cpp/commoncpp2/files/1.8.1-configure_detect_netfilter.patch b/dev-cpp/commoncpp2/files/1.8.1-configure_detect_netfilter.patch
new file mode 100644
index 000000000000..b6ebf0e0f4a4
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-configure_detect_netfilter.patch
@@ -0,0 +1,14 @@
+diff --git a/m4/ost_socket.m4 b/m4/ost_socket.m4
+index bd9db7c..122c938 100644
+--- a/m4/ost_socket.m4
++++ b/m4/ost_socket.m4
+@@ -93,6 +93,9 @@ AC_DEFUN([OST_SYS_SOCKET],[
+ AC_CHECK_HEADERS([linux/netfilter_ipv4.h linux/netfilter_ipv6.h],,,
+ [#ifdef HAVE_LIMITS_H
+ #include <limits.h>
++ #endif
++ #ifdef HAVE_NETINET_IN_H
++ #include <netinet/in.h>
+ #endif])
+ if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes" &&
+ [ test "$ac_cv_header_linux_netfilter_ipv6_h" = "yes" &&
diff --git a/dev-cpp/commoncpp2/files/1.8.1-fix-buffer-overflow.patch b/dev-cpp/commoncpp2/files/1.8.1-fix-buffer-overflow.patch
new file mode 100644
index 000000000000..e68b00576cdb
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-fix-buffer-overflow.patch
@@ -0,0 +1,13 @@
+diff --git a/src/inaddr.cpp b/src/inaddr.cpp
+index 5a4b9c4..50127f3 100644
+--- a/src/inaddr.cpp
++++ b/src/inaddr.cpp
+@@ -333,7 +333,7 @@ void IPV4Address::setAddress(const char *host)
+ if(ipaddr)
+ delete[] ipaddr;
+ ipaddr = new struct in_addr[1];
+- memset((void *)&ipaddr[0], 0, sizeof(ipaddr));
++ memset((void *)&ipaddr[0], 0, sizeof(*ipaddr));
+ return;
+ }
+
diff --git a/dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch b/dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch
new file mode 100644
index 000000000000..cc921060b303
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch
@@ -0,0 +1,52 @@
+Fix building with C++14, which errors out due changed noexcept()
+semantics for dtors caught by -Werror=terminate.
+
+See also: https://bugs.gentoo.org/show_bug.cgi?id=595422
+
+--- a/src/nat.cpp
++++ b/src/nat.cpp
+@@ -145,11 +145,11 @@
+ "nat lookup successful",
+ "nat address not in table",
+ "nat not supported/implemented",
+- "unable to open device "NAT_DEVICE,
++ "unable to open device " NAT_DEVICE,
+ "unable to get socket name",
+ "unable to get peer name",
+ "unable to get socket type",
+- "unable to lookup, nat "NAT_SYSCALL" failed",
++ "unable to lookup, nat " NAT_SYSCALL " failed",
+ "unkown nat error code"
+ };
+
+--- a/src/socket.cpp
++++ b/src/socket.cpp
+@@ -2971,12 +2971,7 @@
+
+ TCPStream::~TCPStream()
+ {
+-#ifdef CCXX_EXCEPTIONS
+- try { endStream(); }
+- catch( ... ) { if ( ! std::uncaught_exception()) throw;};
+-#else
+- endStream();
+-#endif
++ endStream();
+ }
+
+ #ifdef HAVE_GETADDRINFO
+--- a/src/ssl.cpp
++++ b/src/ssl.cpp
+@@ -441,12 +441,7 @@
+
+ SSLStream::~SSLStream()
+ {
+-#ifdef CCXX_EXCEPTIONS
+- try { endStream(); }
+- catch( ...) { if ( ! std::uncaught_exception()) throw;};
+-#else
+ endStream();
+-#endif
+ }
+
+ #ifdef CCXX_NAMESPACES
diff --git a/dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch b/dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch
new file mode 100644
index 000000000000..b7365b822065
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch
@@ -0,0 +1,36 @@
+From ba702b6034444c2e30b0990d06e28bb2dea8ecb7 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sat, 4 Mar 2017 01:36:23 +0200
+Subject: [PATCH] ssl: support gnutls-3.4
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ src/ssl.cpp | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/ssl.cpp b/src/ssl.cpp
+index 5bf526d..38ef0a7 100644
+--- a/src/ssl.cpp
++++ b/src/ssl.cpp
+@@ -344,9 +344,6 @@ ssize_t SSLStream::readData(void *target, size_t size, char separator, timeout_t
+ #ifdef CCXX_GNUTLS
+ bool SSLStream::getSession(void)
+ {
+- const int cert_priority[3] =
+- {GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0};
+-
+ if(ssl)
+ return true;
+
+@@ -362,7 +359,7 @@ bool SSLStream::getSession(void)
+
+ gnutls_set_default_priority(ssl->session);
+ gnutls_certificate_allocate_credentials(&ssl->xcred);
+- gnutls_certificate_type_set_priority(ssl->session, cert_priority);
++ gnutls_priority_set_direct(ssl->session, "NORMAL:+CTYPE-OPENPGP", NULL);
+ gnutls_credentials_set(ssl->session, GNUTLS_CRD_CERTIFICATE, ssl->xcred);
+ gnutls_transport_set_ptr(ssl->session, (gnutls_transport_ptr)so);
+ if(gnutls_handshake(ssl->session)) {
+--
+2.10.2
+
diff --git a/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch b/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
new file mode 100644
index 000000000000..08e24e1a06a9
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
@@ -0,0 +1,48 @@
+--- a/src/ssl.cpp
++++ b/src/ssl.cpp
+@@ -99,35 +99,7 @@
+ return 0;
+ }
+
+-extern "C" {
+- static int _wrap_mutex_init(void **priv)
+- {
+- return _gcry_mutex_init((Mutex **)(priv));
+- }
+-
+- static int _wrap_mutex_destroy(void **priv)
+- {
+- return _gcry_mutex_destroy((Mutex **)(priv));
+- }
+-
+- static int _wrap_mutex_lock(void **priv)
+- {
+- return _gcry_mutex_lock((Mutex **)(priv));
+- }
+-
+- static int _wrap_mutex_unlock(void **priv)
+- {
+- return _gcry_mutex_unlock((Mutex **)(priv));
+- }
+-
+- static struct gcry_thread_cbs _gcry_threads =
+- {
+- GCRY_THREAD_OPTION_PTHREAD, NULL,
+- _wrap_mutex_init, _wrap_mutex_destroy,
+- _wrap_mutex_lock, _wrap_mutex_unlock
+- };
+-
+-};
++GCRY_THREAD_OPTION_PTHREAD_IMPL;
+
+ #endif
+
+@@ -135,7 +107,7 @@
+ public:
+ _ssl_global() {
+ #ifndef WIN32
+- gcry_control(GCRYCTL_SET_THREAD_CBS, &_gcry_threads);
++ gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+ #endif
+ gnutls_global_init();
+ }
diff --git a/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch b/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch
new file mode 100644
index 000000000000..149677ca89b4
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -47,6 +47,7 @@
+
+ if EXTRAS
+ libccext2_la_LIBADD = @THREAD_LIBS@ @BASE_LIB@ @SSL_LIBS@ @ZSTREAM_LIBS@
++libccext2_la_DEPENDENCIES = libccgnu2.la
+ libccext2_la_LDFLAGS = $(RELEASE) $(SHARED_FLAGS)
+
+ if GETOPT_LONG
+
diff --git a/dev-cpp/commoncpp2/metadata.xml b/dev-cpp/commoncpp2/metadata.xml
new file mode 100644
index 000000000000..41cd682e0ecf
--- /dev/null
+++ b/dev-cpp/commoncpp2/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>
diff --git a/dev-cpp/cpp-hocon-0.1.4 b/dev-cpp/cpp-hocon-0.1.4
deleted file mode 100644
index 8efc0fa561dc..000000000000
--- a/dev-cpp/cpp-hocon-0.1.4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=sys-devel/gcc-4.9.3:* >=dev-libs/boost-1.54[nls] >=dev-libs/leatherman-0.9.3 sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Provides C++ support for the HOCON configuration file format
-EAPI=6
-HOMEPAGE=https://github.com/puppetlabs/cpp-hocon
-IUSE=debug test
-KEYWORDS=amd64 ~arm hppa ppc ppc64 sparc x86
-LICENSE=Apache-2.0
-RDEPEND=>=sys-devel/gcc-4.9.3:* >=dev-libs/boost-1.54[nls] >=dev-libs/leatherman-0.9.3
-SLOT=0
-SRC_URI=https://github.com/puppetlabs/cpp-hocon/archive/0.1.4.tar.gz -> cpp-hocon-0.1.4.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=b0a3f8368f56ed6b5ff211d901b9a828
diff --git a/dev-cpp/cpp-hocon/Manifest b/dev-cpp/cpp-hocon/Manifest
new file mode 100644
index 000000000000..1302e76bedd0
--- /dev/null
+++ b/dev-cpp/cpp-hocon/Manifest
@@ -0,0 +1,3 @@
+DIST cpp-hocon-0.1.4.tar.gz 157988 BLAKE2B 3b9e3ec2c386446a2c1d078867b03fbfe2adc8160877288597c648eaf4af6e34f09b673780e6fb81ce9bd1724c1e3d6efc1102985d344a4d1d7bb48b15916190 SHA512 f5ee6c5e7eaa5139bb3c421fd8b7c0da337daec99dce7f426d567ced0036b7c49a396b1b9bdbaa8023cd776a5a942175082a4b30280d4211a0db51483324be42
+EBUILD cpp-hocon-0.1.4.ebuild 984 BLAKE2B c9d4cca295d73931c1a47fa9b90040dd54f012a16377384456c26eba97e70b04e828fdd7c70587d4335af789849633f87830a2e26e70bbb717ee7099b740129c SHA512 b6d3e6cdd42a210d5dc147722d71dc0431155d44558e369e34683a3afa9981a65caded4efe8282b0ec1fdc0ccca892688693c8f792069fc2a22a9e844b055323
+MISC metadata.xml 433 BLAKE2B 5b3b4e23af7ff914d5b4a3ba6425f469273ef8fb513766a07b3d66110688df34dfd68b43812905bea98cc39c2b3df06b5614bf504a78f4c2ce0c6d56bfe483a3 SHA512 7f890317b6cdfc71563359d575446ccf489d6ffb79ba541566fa747e4a0c1e077ec7f7c5263d96035bbfe77f6631cfb9000f715c348ed543492b7dc4cc7cd305
diff --git a/dev-cpp/cpp-hocon/cpp-hocon-0.1.4.ebuild b/dev-cpp/cpp-hocon/cpp-hocon-0.1.4.ebuild
new file mode 100644
index 000000000000..401c60179d01
--- /dev/null
+++ b/dev-cpp/cpp-hocon/cpp-hocon-0.1.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Provides C++ support for the HOCON configuration file format"
+HOMEPAGE="https://github.com/puppetlabs/cpp-hocon"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ppc ppc64 sparc x86"
+IUSE="debug test"
+
+DEPEND="
+ >=sys-devel/gcc-4.9.3:*
+ >=dev-libs/boost-1.54[nls]
+ >=dev-libs/leatherman-0.9.3
+ "
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # make it support multilib
+ sed -i "s/\ lib)/\ $(get_libdir))/g" lib/CMakeLists.txt || die
+ sed -i "s/lib\")/$(get_libdir)\")/g" CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_INSTALL_PREFIX=/usr
+ )
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/cpp-hocon/metadata.xml b/dev-cpp/cpp-hocon/metadata.xml
new file mode 100644
index 000000000000..07ce8804cf91
--- /dev/null
+++ b/dev-cpp/cpp-hocon/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">puppetlabs/cpp-hocon</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ A C++ port of the Typesafe Config library.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-cpp/ctemplate-2.3-r1 b/dev-cpp/ctemplate-2.3-r1
deleted file mode 100644
index b5dd0ce70093..000000000000
--- a/dev-cpp/ctemplate-2.3-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm prepare setup
-DEPEND=test? ( || ( >=dev-lang/python-2.7.5-r2:2.7 ) ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A simple but powerful template language for C++
-EAPI=6
-HOMEPAGE=https://github.com/olafvdspek/ctemplate
-IUSE=doc emacs vim-syntax static-libs test
-KEYWORDS=amd64 arm ppc x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-RDEPEND=emacs? ( virtual/emacs ) vim-syntax? ( >=app-editors/vim-core-7 )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://dev.gentoo.org/~pinkbyte/distfiles/ctemplate-2.3.tar.bz2
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 elisp-common 23f47b2e1de7abf387105eddd1318738 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=e2dab5309d927f1c938e9164a320ffc2
diff --git a/dev-cpp/ctemplate/Manifest b/dev-cpp/ctemplate/Manifest
new file mode 100644
index 000000000000..a4ad064508dd
--- /dev/null
+++ b/dev-cpp/ctemplate/Manifest
@@ -0,0 +1,5 @@
+AUX 70ctemplate-gentoo.el 282 BLAKE2B 6004cc2b2e543f47c0c808bf494160c4b7e7e4768a954c1b0d99bc065a89145875dfc2b1e386bdf3a5e4dbb375a0bf5badc45b1666320f2a00fa8bd108f16c09 SHA512 36bc5424cb6dce40026f1d08b8764bf43d42159ff20e7d81484f5baf1c1e3c2042c12b1a60fc3cef48e297e816a12dbc41169988a6537ee41a2e2528b3c834a3
+AUX ctemplate-2.3-fix-build-system.patch 1196 BLAKE2B db2efeaaae0a33b33bf81c6b968b809e31dfdf91ab5adb2a9851748c01a883e19a4b590002c20ca13e517c142264b8361fd6e5f3582a3650388bc4e0a5d6340d SHA512 4402af1034780d00f733231d9ce534cf54a4474a1153bc534274bc2f5163aba8b39e2ad7613151ffd34f3b7d4ba1d3a0c51badf8f1712aea6a1b65d963e3bea4
+DIST ctemplate-2.3.tar.bz2 564389 BLAKE2B e0c95ac534eb0b7fdff3e87e08f3b1b8aa735bec8eef05bebcf87a51375cbc93e768a18ba005248edda023869b21679dbadaf3d6462e71666fa5d85b96172851 SHA512 546645389a8bfed59686b62b43cb7d53714ac98e1b75311c217bb0f3b6201d5d486766b1ce7e35bf15032372e45c36b27008f54085bd0c9ef0dd0b7e04b8e3f5
+EBUILD ctemplate-2.3-r1.ebuild 1533 BLAKE2B 598894d1f1daaeef3ac7549454dda62c80822bbe33a5c725b2e104ae7edef09c4703015fe4cddd1cd1e71aa9eff07a59c4b2330d553b63d9fdc6622bb294060f SHA512 8e338af1b10165d16b113eb008f744ff96d68e4f242efa6aea3abe0add00526095ee7055e2b832f012042d182e573c4b3811c8974e33fb621935cdfbcd52ea63
+MISC metadata.xml 395 BLAKE2B 5a8e6c489e65ef8e9ee930a2e1bedcd7bb76f34f6c017b7b17993b8e5b8502ae15bd36c7f5508ea836d9a54b67ef8155810465b36b31d1813a816f552ed51345 SHA512 5b2ac214c10f83e739157b6530e9d19f9197eef74261f9581aa3861f0e7480e5476e6265c1769d0e944b434a78c8a17dc286918665e261757b79127d2f55b93a
diff --git a/dev-cpp/ctemplate/ctemplate-2.3-r1.ebuild b/dev-cpp/ctemplate/ctemplate-2.3-r1.ebuild
new file mode 100644
index 000000000000..a578d0f6a249
--- /dev/null
+++ b/dev-cpp/ctemplate/ctemplate-2.3-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools elisp-common python-any-r1
+
+DESCRIPTION="A simple but powerful template language for C++"
+HOMEPAGE="https://github.com/olafvdspek/ctemplate"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc emacs vim-syntax static-libs test"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+RDEPEND="
+ emacs? ( virtual/emacs )
+ vim-syntax? ( >=app-editors/vim-core-7 )"
+
+SITEFILE="70ctemplate-gentoo.el"
+
+# Some tests are broken in 2.3
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.3-fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+
+ if use emacs; then
+ elisp-compile contrib/tpl-mode.el
+ fi
+}
+
+src_install() {
+ default
+ if ! use doc; then
+ rm -r "${ED%/}"/usr/share/doc/${PF}/html || die
+ fi
+
+ if use vim-syntax; then
+ cd "${S}/contrib" || die
+ sh highlighting.vim || die "unpacking vim scripts failed"
+ insinto /usr/share/vim/vimfiles
+ doins -r .vim/.
+ fi
+
+ if use emacs; then
+ cd "${S}/contrib" || die
+ elisp-install ${PN} tpl-mode.el tpl-mode.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-cpp/ctemplate/files/70ctemplate-gentoo.el b/dev-cpp/ctemplate/files/70ctemplate-gentoo.el
new file mode 100644
index 000000000000..a7fce964c3e4
--- /dev/null
+++ b/dev-cpp/ctemplate/files/70ctemplate-gentoo.el
@@ -0,0 +1,7 @@
+;;; ctemplate site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+
+(setq auto-mode-alist (cons '("\\.tpl$" . tpl-mode) auto-mode-alist))
+(autoload 'tpl-mode "tpl-mode" "Major mode for editing CTemplate files." t)
+(add-hook 'tpl-mode-hook '(lambda () (font-lock-mode 1)))
diff --git a/dev-cpp/ctemplate/files/ctemplate-2.3-fix-build-system.patch b/dev-cpp/ctemplate/files/ctemplate-2.3-fix-build-system.patch
new file mode 100644
index 000000000000..4178f5ed3655
--- /dev/null
+++ b/dev-cpp/ctemplate/files/ctemplate-2.3-fix-build-system.patch
@@ -0,0 +1,29 @@
+* Do not override $(docdir) as userflag in the GNU conventions
+* Only build tests programs when running 'make check'
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -54,12 +54,11 @@
+ src/ctemplate/per_expand_data.h.in \
+ src/ctemplate/str_ref.h.in
+
+-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+ ## This is for HTML and other documentation you want to install.
+ ## Add your documentation files (in doc/) in addition to these
+ ## top-level boilerplate files. Also add a TODO file if you have one.
+-dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README_windows.txt \
+- doc/designstyle.css doc/index.html \
++dist_doc_DATA = AUTHORS ChangeLog NEWS README README_windows.txt
++dist_html_DATA = doc/designstyle.css doc/index.html \
+ doc/howto.html doc/guide.html doc/reference.html \
+ doc/tips.html doc/example.html doc/auto_escape.html \
+ doc/xss_resources.html
+@@ -452,7 +451,7 @@
+
+ ## This should always include $(TESTS), but may also include other
+ ## binaries that you compile but don't want automatically installed.
+-noinst_PROGRAMS = $(TESTS)
++check_PROGRAMS = $(TESTS)
+
+ rpm: dist-gzip packages/rpm.sh packages/rpm/rpm.spec
+ @cd packages && ./rpm.sh ${PACKAGE} ${VERSION}
diff --git a/dev-cpp/ctemplate/metadata.xml b/dev-cpp/ctemplate/metadata.xml
new file mode 100644
index 000000000000..02bed0f21004
--- /dev/null
+++ b/dev-cpp/ctemplate/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+ <upstream>
+ <remote-id type="google-code">google-ctemplate</remote-id>
+ <remote-id type="github">olafvdspek/ctemplate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/eigen-3.2.8-r2 b/dev-cpp/eigen-3.2.8-r2
deleted file mode 100644
index a46f42e2c09e..000000000000
--- a/dev-cpp/eigen-3.2.8-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=doc? ( app-doc/doxygen[dot,latex] ) test? ( dev-libs/gmp:0 dev-libs/mpfr:0 media-libs/freeglut media-libs/glew sci-libs/adolc sci-libs/cholmod sci-libs/fftw:3.0 sci-libs/pastix sci-libs/umfpack sci-libs/scotch sci-libs/spqr sci-libs/superlu virtual/opengl virtual/pkgconfig ) sys-devel/make >=dev-util/cmake-3.9.6 test? ( virtual/fortran )
-DESCRIPTION=C++ template library for linear algebra
-EAPI=6
-HOMEPAGE=http://eigen.tuxfamily.org/
-IUSE=altivec debug doc openmp test cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_ssse3
-KEYWORDS=~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux
-LICENSE=LGPL-2 GPL-3
-RDEPEND=!dev-cpp/eigen:0
-RESTRICT=!test? ( test )
-SLOT=3
-SRC_URI=https://bitbucket.org/eigen/eigen/get/3.2.8.tar.bz2 -> eigen-3.2.8.tar.bz2
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 fortran-2 9e7f20c99213f0627ff7f873d4aaa25d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=2f6bf4fd0fdceaded26b846bfe689446
diff --git a/dev-cpp/eigen-3.3.3 b/dev-cpp/eigen-3.3.3
deleted file mode 100644
index e47a444b6228..000000000000
--- a/dev-cpp/eigen-3.3.3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=doc? ( app-doc/doxygen[dot,latex] ) test? ( dev-libs/gmp:0 dev-libs/mpfr:0 media-libs/freeglut media-libs/glew sci-libs/adolc[sparse] sci-libs/cholmod sci-libs/fftw:3.0 sci-libs/pastix sci-libs/umfpack sci-libs/scotch sci-libs/spqr sci-libs/superlu virtual/opengl virtual/pkgconfig cuda? ( dev-util/nvidia-cuda-toolkit ) ) sys-devel/make >=dev-util/cmake-3.9.6 test? ( virtual/fortran )
-DESCRIPTION=C++ template library for linear algebra
-EAPI=6
-HOMEPAGE=http://eigen.tuxfamily.org/
-IUSE=altivec c++11 cuda debug doc neon openmp test
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux
-LICENSE=MPL-2.0
-RDEPEND=!dev-cpp/eigen:0
-RESTRICT=!test? ( test )
-SLOT=3
-SRC_URI=https://bitbucket.org/eigen/eigen/get/3.3.3.tar.bz2 -> eigen-3.3.3.tar.bz2
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 cuda 626969678b9c5735753d8a380c6f295b desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 fortran-2 9e7f20c99213f0627ff7f873d4aaa25d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=26afdbd994009ec9ce046c12e2077357
diff --git a/dev-cpp/eigen-3.3.4 b/dev-cpp/eigen-3.3.4
deleted file mode 100644
index 2b11a6aae6cd..000000000000
--- a/dev-cpp/eigen-3.3.4
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=doc? ( app-doc/doxygen[dot,latex] ) test? ( dev-libs/gmp:0 dev-libs/mpfr:0 media-libs/freeglut media-libs/glew sci-libs/adolc[sparse] sci-libs/cholmod sci-libs/fftw:3.0 sci-libs/pastix sci-libs/umfpack sci-libs/scotch sci-libs/spqr sci-libs/superlu virtual/opengl virtual/pkgconfig cuda? ( dev-util/nvidia-cuda-toolkit ) ) sys-devel/make >=dev-util/cmake-3.9.6 test? ( virtual/fortran )
-DESCRIPTION=C++ template library for linear algebra
-EAPI=6
-HOMEPAGE=http://eigen.tuxfamily.org/
-IUSE=altivec c++11 cuda debug doc neon openmp test
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux
-LICENSE=MPL-2.0
-RDEPEND=!dev-cpp/eigen:0
-RESTRICT=!test? ( test )
-SLOT=3
-SRC_URI=https://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2 -> eigen-3.3.4.tar.bz2
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 cuda 626969678b9c5735753d8a380c6f295b desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 fortran-2 9e7f20c99213f0627ff7f873d4aaa25d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=26afdbd994009ec9ce046c12e2077357
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
new file mode 100644
index 000000000000..151efc80878e
--- /dev/null
+++ b/dev-cpp/eigen/Manifest
@@ -0,0 +1,9 @@
+AUX eigen-3.2.7-adaolc-backport.patch 1192 BLAKE2B 92be1ae6f4310a8b6b7ffce4f24711543ff67918fc3950c505d385138e175db8fbef7d5c49b44c2ef02efcaa665ddc71d4d096865fd85f5a76d7beae7aa984f7 SHA512 49aa6b1e85572d6a589cf44e21367e6e107bec3721bca50ce7477eb81d39fa43b68d67e28890a933f34aa7abdbb3a6e09eb3519c03b734875c7a4ad8ed0f8b45
+AUX eigen-3.2.7-pastix-5.2-backport.patch 1893 BLAKE2B 4b192d74f12f579afd8ea1574a8219daa0a4b266981470f10285d3b9f2520b2e6d0117f343ef42ac5a73a4ef11db74d177ea8f3294d64b8bab1c620e49664402 SHA512 8d5a05dc707c08161895fc566b94b38d8e190869178f1e89a616062e81f2c1e8b4b05461b3e962671f5338b14bec474ff539da054f22af74c53187e0194aeee1
+DIST eigen-3.2.8.tar.bz2 1161201 BLAKE2B 35bace5138f601e73d56412e87bf591ef2f96778050b0a2a4fc8f1e75f02498fb4eb80bf79988dd4bd6b985945a122d44581ccedd925f398f7d282790da06385 SHA512 53c27ba530c985dfef52188e03273eeef33abbc67e3f150cacd3371c8b9ddbd399228730595821c4c56c061d109cf509266c1dab2b8a7c730902cbd6fb18c100
+DIST eigen-3.3.3.tar.bz2 1642001 BLAKE2B 51d870a6bf04865c39642205ac8e12fd638e1d383fb33b064835ce4b5a4d4b056507c1a4fc65d9e665bf659ffd742179415caccac27c203c9388ca267e29e802 SHA512 bb5a8b761371e516f0a344a7c9f6e369e21c2907c8548227933ca6010fc607a66c8d6ff7c41b1aec3dea7d482ce8c2a09e38ae5c7a2c5b16bdd8007e7a81ecc3
+DIST eigen-3.3.4.tar.bz2 1657543 BLAKE2B 62ae6e42972fcfe71bfcda359d35674207440813edc856f209f37321c7f8d39498c6c6fb33d80cc14129113c1dff849212f034ab925b6656e99ed192f4af2fbb SHA512 d67a3fd8f7ce811af65fc1d43ec347dadf9c643a49135f7e455fc303773bad09e80a125282c7dfca7a1993b79e1f66576ac92418119fbb0fa50c1a581b957c0d
+EBUILD eigen-3.2.8-r2.ebuild 2578 BLAKE2B 106cce3438812d9d0800e4d9096d57532557ecdddd33b1f812d992a7d89bf107bd71128a18f9a9649408690f4bc61cc88037f5f623e7477a4a987cb500d70bd9 SHA512 4b7876b48f2bfbe54db5b764d1ec1e7ad371c46beabb4befac3bd980572a081f86f9c07ad985c11a8aa5d7f4b01afee172abe6e2f09d017ce9d6a7b8ce4fbe8d
+EBUILD eigen-3.3.3.ebuild 2174 BLAKE2B 1da2f5fae41e0d1840f17fe4f4874e6a0cc880d3301e50ec58bc1c1c191322ba51f011374d78dfb5177f1c5723b0720bf310a832c1d732f51e828906d21dcf2d SHA512 05847d3373073e3d7d89d90678dfdb9c9f80590285634f6f3dd2ba9c73004275e7413b69d9205d9c92c6e62a902d3fa0f43fdbd56c4a3fc51b8b170f539e57c4
+EBUILD eigen-3.3.4.ebuild 2174 BLAKE2B 1da2f5fae41e0d1840f17fe4f4874e6a0cc880d3301e50ec58bc1c1c191322ba51f011374d78dfb5177f1c5723b0720bf310a832c1d732f51e828906d21dcf2d SHA512 05847d3373073e3d7d89d90678dfdb9c9f80590285634f6f3dd2ba9c73004275e7413b69d9205d9c92c6e62a902d3fa0f43fdbd56c4a3fc51b8b170f539e57c4
+MISC metadata.xml 945 BLAKE2B 1e9f416b0c69bc66b08934efc902a21f557bcf5b910439dee978b46a11b0b6767681d6bb298402b050b3e994b56ad9163b91c2d526f8fd04eeb5b9ac3c74f451 SHA512 c5401b0251bf5668117951522b019e6fcce6b5ed41ec933a6edec7869ed5505040d8f75fea7c4c17eeb691f331412bc3d2a7103b7f706cd582496feb6e7a3e57
diff --git a/dev-cpp/eigen/eigen-3.2.8-r2.ebuild b/dev-cpp/eigen/eigen-3.2.8-r2.ebuild
new file mode 100644
index 000000000000..91ae1429ee00
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.2.8-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED="test"
+
+inherit cmake-utils fortran-2
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="http://eigen.tuxfamily.org/"
+SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="LGPL-2 GPL-3"
+SLOT="3"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="altivec debug doc openmp test"
+IUSE+=" cpu_flags_x86_sse2"
+IUSE+=" cpu_flags_x86_sse3"
+IUSE+=" cpu_flags_x86_sse4_1"
+IUSE+=" cpu_flags_x86_sse4_2"
+IUSE+=" cpu_flags_x86_ssse3"
+#IUSE+=" cpu_flags_x86_x87"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-cpp/eigen:0"
+DEPEND="
+ doc? ( app-doc/doxygen[dot,latex] )
+ test? (
+ dev-libs/gmp:0
+ dev-libs/mpfr:0
+ media-libs/freeglut
+ media-libs/glew
+ sci-libs/adolc
+ sci-libs/cholmod
+ sci-libs/fftw:3.0
+ sci-libs/pastix
+ sci-libs/umfpack
+ sci-libs/scotch
+ sci-libs/spqr
+ sci-libs/superlu
+ virtual/opengl
+ virtual/pkgconfig
+ )
+ "
+# Missing:
+# METIS-5
+# GOOGLEHASH
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.7-pastix-5.2-backport.patch
+ "${FILESDIR}"/${PN}-3.2.7-adaolc-backport.patch
+)
+
+src_unpack() {
+ default
+ mv ${PN}* ${P} || die
+}
+
+src_prepare() {
+ sed \
+ -e 's:-g2::g' \
+ -i cmake/EigenConfigureTesting.cmake || die
+
+ sed -i CMakeLists.txt \
+ -e "/add_subdirectory(demos/d" \
+ || die "sed disable unused bundles failed"
+
+ if ! use test; then
+ sed -i CMakeLists.txt \
+ -e "/add_subdirectory(blas/d" \
+ -e "/add_subdirectory(lapack/d" \
+ || die "sed disable unused bundles failed"
+ fi
+
+ sed -i -e "/Unknown build type/d" CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile doc
+}
+
+src_test() {
+ local mycmakeargs=(
+ -DEIGEN_BUILD_TESTS=ON
+ -DEIGEN_TEST_NOQT=ON
+ -DEIGEN_TEST_ALTIVEC="$(usex altivec)"
+ -DEIGEN_TEST_OPENMP="$(usex openmp)"
+ -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
+ -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
+ -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
+ -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
+ -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
+# -DEIGEN_TEST_X87="$(usex cpu_flags_x86_x87)"
+ )
+ cmake-utils_src_configure
+ cmake-utils_src_compile blas
+ cmake-utils_src_compile buildtests
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dodoc -r "${BUILD_DIR}"/doc/html
+
+ # Debian installs it and some projects started using it.
+ insinto /usr/share/cmake/Modules/
+ doins "${S}/cmake/FindEigen3.cmake"
+}
diff --git a/dev-cpp/eigen/eigen-3.3.3.ebuild b/dev-cpp/eigen/eigen-3.3.3.ebuild
new file mode 100644
index 000000000000..610de4a257b0
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.3.3.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED="test"
+
+inherit cmake-utils cuda fortran-2
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="http://eigen.tuxfamily.org/"
+SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="MPL-2.0"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-cpp/eigen:0"
+DEPEND="
+ doc? ( app-doc/doxygen[dot,latex] )
+ test? (
+ dev-libs/gmp:0
+ dev-libs/mpfr:0
+ media-libs/freeglut
+ media-libs/glew
+ sci-libs/adolc[sparse]
+ sci-libs/cholmod
+ sci-libs/fftw:3.0
+ sci-libs/pastix
+ sci-libs/umfpack
+ sci-libs/scotch
+ sci-libs/spqr
+ sci-libs/superlu
+ virtual/opengl
+ virtual/pkgconfig
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ )
+"
+# Missing:
+# METIS-5
+# GOOGLEHASH
+
+src_unpack() {
+ default
+ mv ${PN}* ${P} || die
+}
+
+src_prepare() {
+ sed -e 's:-g2::g' \
+ -i cmake/EigenConfigureTesting.cmake || die
+
+ sed -e "/add_subdirectory(demos/d" \
+ -i CMakeLists.txt || die
+
+ if ! use test; then
+ sed -e "/add_subdirectory(test/d" \
+ -i CMakeLists.txt || die
+
+ sed -e "/add_subdirectory(blas/d" \
+ -e "/add_subdirectory(lapack/d" \
+ -i CMakeLists.txt || die
+ fi
+ sed -e "/Unknown build type/d" \
+ -i CMakeLists.txt || die
+
+ use cuda && cuda_src_prepare
+
+ cmake-utils_src_prepare
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile doc
+}
+
+src_test() {
+ local mycmakeargs=(
+ -DEIGEN_TEST_NOQT=ON
+ -DEIGEN_TEST_ALTIVEC="$(usex altivec)"
+ -DEIGEN_TEST_CXX11="$(usex c++11)"
+ -DEIGEN_TEST_CUDA="$(usex cuda)"
+ -DEIGEN_TEST_OPENMP="$(usex openmp)"
+ -DEIGEN_TEST_NEON64="$(usex neon)"
+ )
+ cmake-utils_src_configure
+ cmake-utils_src_compile blas
+ cmake-utils_src_compile buildtests
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dodoc -r "${BUILD_DIR}"/doc/html
+
+ # Debian installs it and some projects started using it.
+ insinto /usr/share/cmake/Modules/
+ doins "${S}/cmake/FindEigen3.cmake"
+}
diff --git a/dev-cpp/eigen/eigen-3.3.4.ebuild b/dev-cpp/eigen/eigen-3.3.4.ebuild
new file mode 100644
index 000000000000..610de4a257b0
--- /dev/null
+++ b/dev-cpp/eigen/eigen-3.3.4.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED="test"
+
+inherit cmake-utils cuda fortran-2
+
+DESCRIPTION="C++ template library for linear algebra"
+HOMEPAGE="http://eigen.tuxfamily.org/"
+SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="MPL-2.0"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-cpp/eigen:0"
+DEPEND="
+ doc? ( app-doc/doxygen[dot,latex] )
+ test? (
+ dev-libs/gmp:0
+ dev-libs/mpfr:0
+ media-libs/freeglut
+ media-libs/glew
+ sci-libs/adolc[sparse]
+ sci-libs/cholmod
+ sci-libs/fftw:3.0
+ sci-libs/pastix
+ sci-libs/umfpack
+ sci-libs/scotch
+ sci-libs/spqr
+ sci-libs/superlu
+ virtual/opengl
+ virtual/pkgconfig
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ )
+"
+# Missing:
+# METIS-5
+# GOOGLEHASH
+
+src_unpack() {
+ default
+ mv ${PN}* ${P} || die
+}
+
+src_prepare() {
+ sed -e 's:-g2::g' \
+ -i cmake/EigenConfigureTesting.cmake || die
+
+ sed -e "/add_subdirectory(demos/d" \
+ -i CMakeLists.txt || die
+
+ if ! use test; then
+ sed -e "/add_subdirectory(test/d" \
+ -i CMakeLists.txt || die
+
+ sed -e "/add_subdirectory(blas/d" \
+ -e "/add_subdirectory(lapack/d" \
+ -i CMakeLists.txt || die
+ fi
+ sed -e "/Unknown build type/d" \
+ -i CMakeLists.txt || die
+
+ use cuda && cuda_src_prepare
+
+ cmake-utils_src_prepare
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_compile doc
+}
+
+src_test() {
+ local mycmakeargs=(
+ -DEIGEN_TEST_NOQT=ON
+ -DEIGEN_TEST_ALTIVEC="$(usex altivec)"
+ -DEIGEN_TEST_CXX11="$(usex c++11)"
+ -DEIGEN_TEST_CUDA="$(usex cuda)"
+ -DEIGEN_TEST_OPENMP="$(usex openmp)"
+ -DEIGEN_TEST_NEON64="$(usex neon)"
+ )
+ cmake-utils_src_configure
+ cmake-utils_src_compile blas
+ cmake-utils_src_compile buildtests
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dodoc -r "${BUILD_DIR}"/doc/html
+
+ # Debian installs it and some projects started using it.
+ insinto /usr/share/cmake/Modules/
+ doins "${S}/cmake/FindEigen3.cmake"
+}
diff --git a/dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch b/dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch
new file mode 100644
index 000000000000..82547e11951a
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch
@@ -0,0 +1,40 @@
+# HG changeset patch
+# User Gael Guennebaud <g.gael@free.fr>
+# Date 1448895622 -3600
+# Node ID e515e2706d00294a5749db7832d10ea366b9389f
+# Parent eb4bf011a2ea5fc4ddb0aa5332d6e616198ed886
+Update ADOL-C support.
+
+diff --git a/unsupported/Eigen/AdolcForward b/unsupported/Eigen/AdolcForward
+--- a/unsupported/Eigen/AdolcForward
++++ b/unsupported/Eigen/AdolcForward
+@@ -25,7 +25,7 @@
+ #ifndef NUMBER_DIRECTIONS
+ # define NUMBER_DIRECTIONS 2
+ #endif
+-#include <adolc/adouble.h>
++#include <adolc/adtl.h>
+
+ // adolc defines some very stupid macros:
+ #if defined(malloc)
+diff --git a/unsupported/test/forward_adolc.cpp b/unsupported/test/forward_adolc.cpp
+--- a/unsupported/test/forward_adolc.cpp
++++ b/unsupported/test/forward_adolc.cpp
+@@ -13,8 +13,6 @@
+ #define NUMBER_DIRECTIONS 16
+ #include <unsupported/Eigen/AdolcForward>
+
+-int adtl::ADOLC_numDir;
+-
+ template<typename Vector>
+ EIGEN_DONT_INLINE typename Vector::Scalar foo(const Vector& p)
+ {
+@@ -123,7 +121,7 @@
+
+ void test_forward_adolc()
+ {
+- adtl::ADOLC_numDir = NUMBER_DIRECTIONS;
++ adtl::setNumDir(NUMBER_DIRECTIONS);
+
+ for(int i = 0; i < g_repeat; i++) {
+ CALL_SUBTEST(( adolc_forward_jacobian(TestFunc1<double,2,2>()) ));
diff --git a/dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch b/dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch
new file mode 100644
index 000000000000..fafaf3a68629
--- /dev/null
+++ b/dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch
@@ -0,0 +1,42 @@
+# HG changeset patch
+# User Gael Guennebaud <g.gael@free.fr>
+# Date 1393589499 -3600
+# Node ID b88efb384b160880131ad17e39bb690719112bfa
+# Parent 576120ad694efe29b70999576964d3816288fb4e
+Fix PaStiX support for Pastix 5.2
+
+diff --git a/Eigen/src/PaStiXSupport/PaStiXSupport.h b/Eigen/src/PaStiXSupport/PaStiXSupport.h
+--- a/Eigen/src/PaStiXSupport/PaStiXSupport.h
++++ b/Eigen/src/PaStiXSupport/PaStiXSupport.h
+@@ -12,6 +12,14 @@
+
+ namespace Eigen {
+
++#if defined(DCOMPLEX)
++ #define PASTIX_COMPLEX COMPLEX
++ #define PASTIX_DCOMPLEX DCOMPLEX
++#else
++ #define PASTIX_COMPLEX std::complex<float>
++ #define PASTIX_DCOMPLEX std::complex<double>
++#endif
++
+ /** \ingroup PaStiXSupport_Module
+ * \brief Interface to the PaStix solver
+ *
+@@ -74,14 +82,14 @@
+ {
+ if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; }
+ if (nbrhs == 0) {x = NULL; nbrhs=1;}
+- c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<COMPLEX*>(vals), perm, invp, reinterpret_cast<COMPLEX*>(x), nbrhs, iparm, dparm);
++ c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<PASTIX_COMPLEX*>(vals), perm, invp, reinterpret_cast<PASTIX_COMPLEX*>(x), nbrhs, iparm, dparm);
+ }
+
+ void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex<double> *vals, int *perm, int * invp, std::complex<double> *x, int nbrhs, int *iparm, double *dparm)
+ {
+ if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; }
+ if (nbrhs == 0) {x = NULL; nbrhs=1;}
+- z_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<DCOMPLEX*>(vals), perm, invp, reinterpret_cast<DCOMPLEX*>(x), nbrhs, iparm, dparm);
++ z_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<PASTIX_DCOMPLEX*>(vals), perm, invp, reinterpret_cast<PASTIX_DCOMPLEX*>(x), nbrhs, iparm, dparm);
+ }
+
+ // Convert the matrix to Fortran-style Numbering
diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml
new file mode 100644
index 000000000000..45f9aa6a9895
--- /dev/null
+++ b/dev-cpp/eigen/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <longdescription>
+ Eigen is a lightweight C++ template library for vector and matrix math,
+ a.k.a. linear algebra. Unlike most other linear algebra libraries, Eigen
+ focuses on the simple mathematical needs of applications: games and other
+ OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to
+ providing optimal speed with GCC.
+ </longdescription>
+ <use>
+ <flag name="c++11">Build using the C++11 standard</flag>
+ <flag name="cuda">Build with cuda support</flag>
+ </use>
+ <upstream>
+ <remote-id type="bitbucket">eigen/eigen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/gccxml-0.9.0_pre20131217 b/dev-cpp/gccxml-0.9.0_pre20131217
deleted file mode 100644
index a286e2849bd0..000000000000
--- a/dev-cpp/gccxml-0.9.0_pre20131217
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=XML output extension to GCC
-EAPI=6
-HOMEPAGE=http://www.gccxml.org/
-KEYWORDS=amd64 ~arm ~mips ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos
-LICENSE=BSD
-SLOT=0
-SRC_URI=https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/gccxml-0.9.0_pre20131217.tar.xz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=8b7b11d15db1f5dd296e9d45647a0010
diff --git a/dev-cpp/gccxml/Manifest b/dev-cpp/gccxml/Manifest
new file mode 100644
index 000000000000..025f6936461f
--- /dev/null
+++ b/dev-cpp/gccxml/Manifest
@@ -0,0 +1,3 @@
+DIST gccxml-0.9.0_pre20131217.tar.xz 8134060 BLAKE2B d76d9710d9d5a1b1e8b111dbb93c7c2c53ae6162484490aad65a3349f1e29dd441864b32afec16f2c1f666c1577286306205e95eb22c778fff3294ce55f05d50 SHA512 3fedb2fb7ec8025921b4d416230acd8f5dcc01858089e12837d702bd4bec0f841ec23dfd949ae7ff42b559e5da1832bfc32ee24c1a4b3ff6004e73d49a1a81cf
+EBUILD gccxml-0.9.0_pre20131217.ebuild 770 BLAKE2B ad61969ec4a0aa060eddc251c44e42ac7899ab1dd1f332c0e898e4b9e9abbe0873c2571f6ba75199585454687d3dc691082e979c7892c4b95525f80ce98d6c3f SHA512 7c5900031a549c278d3c9f9a2f41e1c23c892951f2eedc077c62bbbf8b2faafac75d78f27f1534e96aa5077ae4526dfcc9322d02d6615c2230f7e5993a4f4683
+MISC metadata.xml 249 BLAKE2B 5791e38f31ac36bb4b94c03962980af247ea39c8af739a949749b1b3a7705ce4031ff53f620b1e4d30c44360e3d1d37ccb186ea109ecc1036977e4e0bb3a92e9 SHA512 0b2b2d015d6d3310efdedc20cd12cb2f587c105f1e84b243d3a7dc6337dde082c16683781eba9a0cb09341756f10f651579df35837ee232309a97017ec02cbee
diff --git a/dev-cpp/gccxml/gccxml-0.9.0_pre20131217.ebuild b/dev-cpp/gccxml/gccxml-0.9.0_pre20131217.ebuild
new file mode 100644
index 000000000000..ddd2732740d1
--- /dev/null
+++ b/dev-cpp/gccxml/gccxml-0.9.0_pre20131217.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="XML output extension to GCC"
+HOMEPAGE="http://www.gccxml.org/"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~mips ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+src_prepare() {
+ # fix bug 549300 by restoring pre-GCC5 inline semantics
+ append-cflags -std=gnu89
+
+ # patch below taken from Debian
+ sed -i \
+ -e 's/xatexit.c//' \
+ GCC/libiberty/CMakeLists.txt || die "sed failed"
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGCCXML_DOC_DIR:STRING="share/doc/${PF}"
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/gccxml/metadata.xml b/dev-cpp/gccxml/metadata.xml
new file mode 100644
index 000000000000..d4905c84fc34
--- /dev/null
+++ b/dev-cpp/gccxml/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>
diff --git a/dev-cpp/gconfmm-2.28.3-r1 b/dev-cpp/gconfmm-2.28.3-r1
deleted file mode 100644
index 9d3516316ad8..000000000000
--- a/dev-cpp/gconfmm-2.28.3-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=gnome-base/gconf-2.4:2 >=dev-cpp/glibmm-2.12:2[doc?] >=dev-cpp/gtkmm-2.4:2.4 virtual/pkgconfig >=app-portage/elt-patches-20170422 >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for GConf
-EAPI=5
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc
-KEYWORDS=alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd
-LICENSE=LGPL-2.1
-RDEPEND=>=gnome-base/gconf-2.4:2 >=dev-cpp/glibmm-2.12:2[doc?] >=dev-cpp/gtkmm-2.4:2.4
-SLOT=0
-SRC_URI=mirror://gnome/sources/gconfmm/2.28/gconfmm-2.28.3.tar.bz2
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=1dd692102fe726ceea04ee98864c203f
diff --git a/dev-cpp/gconfmm/Manifest b/dev-cpp/gconfmm/Manifest
new file mode 100644
index 000000000000..78d29fa89812
--- /dev/null
+++ b/dev-cpp/gconfmm/Manifest
@@ -0,0 +1,3 @@
+DIST gconfmm-2.28.3.tar.bz2 471125 BLAKE2B 834d63ee91ee6849970ce612c387957607bb3e723afb06b0ee8dad0336ae81c3a4c40a81846d6abbb425b5f3f0cbad026189d563a814d8acd1010f3b1dbdfa93 SHA512 0fd3a43373dfdf514eca61537c19dafd4ad582d2ec6bb325652766fba90ed723feff6daf93effcdf20f917c573131d58c16f1a826194f653864a701bb8a57097
+EBUILD gconfmm-2.28.3-r1.ebuild 735 BLAKE2B 33bc547a67d5d671d526de44f12da5393e37ec27f470af12ea88d30831f0c16006697be141e8a30d265fa5f8eed8db25ca943f45e8e148af12b22648d296a325 SHA512 867de926057d389125f95b0924e09893c46539276e5a00e74e0723fa73a2282975389787e3117891fe3bce23a958b0a3c1af5ab79f41418ed044e62f4cb9c0a1
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild b/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild
new file mode 100644
index 000000000000..9f9202bdbd23
--- /dev/null
+++ b/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit flag-o-matic gnome2
+
+DESCRIPTION="C++ bindings for GConf"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc"
+
+RDEPEND="
+ >=gnome-base/gconf-2.4:2
+ >=dev-cpp/glibmm-2.12:2[doc?]
+ >=dev-cpp/gtkmm-2.4:2.4
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ append-cxxflags -std=c++11 #568580
+ gnome2_src_configure \
+ $(use_enable doc documentation)
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use doc ; then
+ dohtml -r docs/reference/html/*
+ fi
+}
diff --git a/dev-cpp/gconfmm/metadata.xml b/dev-cpp/gconfmm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/gconfmm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/gflags-2.2.0 b/dev-cpp/gflags-2.2.0
deleted file mode 100644
index 4fd799ee0b9e..000000000000
--- a/dev-cpp/gflags-2.2.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Google's C++ argument parsing library
-EAPI=6
-HOMEPAGE=http://gflags.github.io/gflags/
-IUSE=static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-SLOT=0/2.2
-SRC_URI=https://github.com/gflags/gflags/archive/v2.2.0.tar.gz -> gflags-2.2.0.tar.gz
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=a223537406dbd8b487957086e65f917b
diff --git a/dev-cpp/gflags-2.2.1 b/dev-cpp/gflags-2.2.1
deleted file mode 100644
index 2c450b6991d3..000000000000
--- a/dev-cpp/gflags-2.2.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Google's C++ argument parsing library
-EAPI=6
-HOMEPAGE=http://gflags.github.io/gflags/
-IUSE=static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-SLOT=0/2.2
-SRC_URI=https://github.com/gflags/gflags/archive/v2.2.1.tar.gz -> gflags-2.2.1.tar.gz
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=73cd89372f1f6349670580170790163c
diff --git a/dev-cpp/gflags-9999 b/dev-cpp/gflags-9999
deleted file mode 100644
index 1a51b6396918..000000000000
--- a/dev-cpp/gflags-9999
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=Google's C++ argument parsing library
-EAPI=6
-HOMEPAGE=http://gflags.github.io/gflags/
-IUSE=static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-LICENSE=BSD
-SLOT=0/2.2
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=73cd89372f1f6349670580170790163c
diff --git a/dev-cpp/gflags/Manifest b/dev-cpp/gflags/Manifest
new file mode 100644
index 000000000000..c7baeca51097
--- /dev/null
+++ b/dev-cpp/gflags/Manifest
@@ -0,0 +1,6 @@
+DIST gflags-2.2.0.tar.gz 96408 BLAKE2B 571f07dd0972cec201eae8ce66d5e0592abb6ddb81bcf3c539f38861f0cd379de2db20ba99eab885ba030235938816d7a61e589b74a61743de7cdb2710646854 SHA512 e2106ca70ff539024f888bca12487b3bf7f4f51928acf5ae3e1022f6bbd5e3b7882196ec50b609fd52f739e1f7b13eec7d4b3535d8216ec019a3577de6b4228d
+DIST gflags-2.2.1.tar.gz 96985 BLAKE2B 065dac9cf5d878e4179cb6d56ddf240052a552b72036fd06cb83197d9772a9b97fa544f809c6e1efd6f9ad8cd0222872fc6292c44bc013c5f70e235bcc5b290c SHA512 e919cbdcff1f993ddbfa9c06d8e595566a4717c27ff62f388a64c0e6b4683a93211c24ce78485eae84c2c76053341574064e6c56af185fc2782e2816b26e1fc9
+EBUILD gflags-2.2.0.ebuild 1027 BLAKE2B db9af87c53e7a4f28ea172a48b2e4590113918038c7273d2a2305dcd0514d067c33efaa053f78542c25fdbf4a44007a4efeac4a01bd84e92c089e04d6bb7f560 SHA512 8f494ba4001554d9d6cbbf33a8f35dec437b4aab4b543f09b49da8258255659525dfabb81a59eeff07f16f3f2d1985b2446d34e8b5340306c9d312e43cb15394
+EBUILD gflags-2.2.1.ebuild 1030 BLAKE2B 03b755376e1339389264e50fe248801f8b5e280cc8069b45beda8bb8a9135373b047e3dee8e32bc2d9745b5639b6b95d065a0e747e1e06266c0945b6e5ae2e05 SHA512 e295339b15b1c234fa5f2c3b996eff23ab4aea666f06f970a8e66afcc0697ef8328e3334f672785488da462889003a71db87aa59be8f1b49a397d49fc1c99d3a
+EBUILD gflags-9999.ebuild 1030 BLAKE2B 03b755376e1339389264e50fe248801f8b5e280cc8069b45beda8bb8a9135373b047e3dee8e32bc2d9745b5639b6b95d065a0e747e1e06266c0945b6e5ae2e05 SHA512 e295339b15b1c234fa5f2c3b996eff23ab4aea666f06f970a8e66afcc0697ef8328e3334f672785488da462889003a71db87aa59be8f1b49a397d49fc1c99d3a
+MISC metadata.xml 303 BLAKE2B ffe806891bf2b398e66676c5a17dbbcf2b53a1738a92d994828aecd33bf52dae92d9f2631d262f2c5c375b7f4c6918c9011f03ed94a0bc6a50f2475ee4620537 SHA512 80f049b850a5f55f33964fd8776aa4b510d9937022caac6d3817d583ae3089dd5cc73bd44b8ef48e867a706fd9223861001759281903ee1a1a467149ca7bf37e
diff --git a/dev-cpp/gflags/gflags-2.2.0.ebuild b/dev-cpp/gflags/gflags-2.2.0.ebuild
new file mode 100644
index 000000000000..7ec523ddfe2a
--- /dev/null
+++ b/dev-cpp/gflags/gflags-2.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gflags/gflags.git"
+else
+ SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Google's C++ argument parsing library"
+HOMEPAGE="http://gflags.github.io/gflags/"
+
+LICENSE="BSD"
+SLOT="0/2.2"
+IUSE="static-libs test"
+
+# AUTHORS.txt only links the google group
+DOCS=( ChangeLog.txt README.md )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DBUILD_TESTING=$(usex test)
+ # avoid installing .cmake/packages, e.g.:
+ # >>> /tmp/portage/dev-cpp/gflags-9999/homedir/.cmake/packages/gflags/a7fca4708532331c2d656af0fdc8b8b9
+ -DREGISTER_INSTALL_PREFIX=OFF
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/gflags/gflags-2.2.1.ebuild b/dev-cpp/gflags/gflags-2.2.1.ebuild
new file mode 100644
index 000000000000..91f405e1e9bf
--- /dev/null
+++ b/dev-cpp/gflags/gflags-2.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gflags/gflags"
+else
+ SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Google's C++ argument parsing library"
+HOMEPAGE="http://gflags.github.io/gflags/"
+
+LICENSE="BSD"
+SLOT="0/2.2"
+IUSE="static-libs test"
+
+# AUTHORS.txt only links the google group
+DOCS=( ChangeLog.txt README.md )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DBUILD_TESTING=$(usex test)
+ # avoid installing .cmake/packages, e.g.:
+ # >>> /tmp/portage/dev-cpp/gflags-9999/homedir/.cmake/packages/gflags/a7fca4708532331c2d656af0fdc8b8b9
+ -DREGISTER_INSTALL_PREFIX=OFF
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/gflags/gflags-9999.ebuild b/dev-cpp/gflags/gflags-9999.ebuild
new file mode 100644
index 000000000000..91f405e1e9bf
--- /dev/null
+++ b/dev-cpp/gflags/gflags-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gflags/gflags"
+else
+ SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Google's C++ argument parsing library"
+HOMEPAGE="http://gflags.github.io/gflags/"
+
+LICENSE="BSD"
+SLOT="0/2.2"
+IUSE="static-libs test"
+
+# AUTHORS.txt only links the google group
+DOCS=( ChangeLog.txt README.md )
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DBUILD_TESTING=$(usex test)
+ # avoid installing .cmake/packages, e.g.:
+ # >>> /tmp/portage/dev-cpp/gflags-9999/homedir/.cmake/packages/gflags/a7fca4708532331c2d656af0fdc8b8b9
+ -DREGISTER_INSTALL_PREFIX=OFF
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/gflags/metadata.xml b/dev-cpp/gflags/metadata.xml
new file mode 100644
index 000000000000..5b9d6abf02a2
--- /dev/null
+++ b/dev-cpp/gflags/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>amynka@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gflags/gflags</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/glibmm-2.50.1 b/dev-cpp/glibmm-2.50.1
deleted file mode 100644
index bcf4be166f58..000000000000
--- a/dev-cpp/glibmm-2.50.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=dev-libs/libsigc++-2.9.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.50.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ interface for glib2
-EAPI=6
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc debug test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris
-LICENSE=LGPL-2.1+ GPL-2+
-RDEPEND=>=dev-libs/libsigc++-2.9.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.50.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=2
-SRC_URI=mirror://gnome/sources/glibmm/2.50/glibmm-2.50.1.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=1b5e8af3ff8a25cf03c5a5c1c016c34c
diff --git a/dev-cpp/glibmm-2.52.1 b/dev-cpp/glibmm-2.52.1
deleted file mode 100644
index 126cb01db342..000000000000
--- a/dev-cpp/glibmm-2.52.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=dev-libs/libsigc++-2.9.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.50.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ interface for glib2
-EAPI=6
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc debug test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris
-LICENSE=LGPL-2.1+ GPL-2+
-RDEPEND=>=dev-libs/libsigc++-2.9.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.50.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=2
-SRC_URI=mirror://gnome/sources/glibmm/2.52/glibmm-2.52.1.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=9a028a5bfa7a60467f736653a3c531f6
diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest
new file mode 100644
index 000000000000..3d9bf3ec6c0e
--- /dev/null
+++ b/dev-cpp/glibmm/Manifest
@@ -0,0 +1,6 @@
+AUX glibmm-fix-threads-gobject.patch 933 BLAKE2B 83d9e91db00b4de81615733e557281cdc191b2662aa016799b3e72bc3f4e738a997d3ca084a3d36e1212406cedfde5c7f6ca2975fbef3ea34d1ee3c8e941728a SHA512 b4fbfdafe7198ddf7c40513e1b490880a1fd2013fa221231d6605bde0b3757d6a8820c540f417281853939efdc7c5f13656e7f6b8c8302d318aa28e10dfac4a9
+DIST glibmm-2.50.1.tar.xz 6444576 BLAKE2B dbbdb79d8de9510f9bec770523ca7f4c93d287cbd9890b2fbc08712f6a2815186ee792f6339820a14aa9e4d49c9d1735c6c6651994cc4e03549f0d96b33f87ad SHA512 4f25c75c1628ca2f4db1c29cebc63187d372603066b06aa6a66c6da792f9e02cb4a413e41f058a81e2d5a2b38d625de13df76115b278f010ce2fc493fe6e6bbb
+DIST glibmm-2.52.1.tar.xz 6451164 BLAKE2B 740178b51a2263ecc4778833fa6f2fd3913cdfc4e93b1a732a1b0ec9d43eb4ed60ab6bea48e02081d75a3ec1f98a149ebff47ced54dcce07e7ae011b2d20452d SHA512 702158762cb28972b315ab98dc00a62e532bda08b6e76dc2a2556e8cb381c2021290891887a4af2fbff5a62bab4d50581be73037dc8e0dc47d5febd6cbeb7bda
+EBUILD glibmm-2.50.1.ebuild 1636 BLAKE2B cedaf300eff88a5df1e9b758ba425ad29547642a5c345715a5196b8904f1f5dba0b5c85fd7d5424c2044c9832cf817758cb0086d9deb92484484c1316a4f417b SHA512 d8c11ace8919ff16e950798269d88f83bdde55377f66ba34e47947acbb856273b42bae549393055997ce02077aaf281b1238f6a2a2d4c706d24293d9b64317d3
+EBUILD glibmm-2.52.1.ebuild 1755 BLAKE2B ddf4532a95e8302604b56f15b8f32395959a0e2afeda1af2d88579fc0d8bbd610e70a601e5a1a85ecb784f274170eb0d4cddd44576130ecd689166b0e2dd4c59 SHA512 656b51cec372a71babba2ff9d2e04d3e5813cf76b78536afe038b7de508f5801adafdf968d48aed3eea59efa7577c7020f37d6e7284f69f86b5d7eef2e0edcab
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch b/dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch
new file mode 100644
index 000000000000..2da4a5621992
--- /dev/null
+++ b/dev-cpp/glibmm/files/glibmm-fix-threads-gobject.patch
@@ -0,0 +1,34 @@
+From 37d57ae9572b7d74aa385a30313eceae7f2d3fce Mon Sep 17 00:00:00 2001
+From: Kjell Ahlstedt <kjellahlstedt@gmail.com>
+Date: Wed, 20 Dec 2017 20:00:32 +0100
+Subject: [PATCH] Glib::Threads::Private: Fix gobj()
+
+Bug 791711
+---
+ glib/src/threads.hg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/glib/src/threads.hg b/glib/src/threads.hg
+index 86d7a17b..c82a6130 100644
+--- a/glib/src/threads.hg
++++ b/glib/src/threads.hg
+@@ -628,7 +628,7 @@ public:
+ */
+ inline void replace(T* data);
+
+- GPrivate* gobj() { return gobject_; }
++ GPrivate* gobj() { return &gobject_; }
+
+ private:
+ GPrivate gobject_;
+--- a/glib/glibmm/threads.h 2017-09-04 15:27:31.000000000 +0200
++++ b/glib/glibmm/threads.h 2018-05-05 10:53:44.339288554 +0200
+@@ -657,7 +657,7 @@
+ */
+ inline void replace(T* data);
+
+- GPrivate* gobj() { return gobject_; }
++ GPrivate* gobj() { return &gobject_; }
+
+ private:
+ GPrivate gobject_;
diff --git a/dev-cpp/glibmm/glibmm-2.50.1.ebuild b/dev-cpp/glibmm/glibmm-2.50.1.ebuild
new file mode 100644
index 000000000000..a111edbd8924
--- /dev/null
+++ b/dev-cpp/glibmm/glibmm-2.50.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for glib2"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system
+SLOT="2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc debug test"
+
+RDEPEND="
+ >=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+# dev-cpp/mm-common needed for eautoreconf
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die "sed 1 failed"
+ fi
+
+ # don't build examples - we want to install example sources, not binaries
+ sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die "sed 2 failed"
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable debug debug-refcounting) \
+ $(multilib_native_use_enable doc documentation) \
+ --enable-deprecated-api
+}
+
+multilib_src_test() {
+ cd tests
+ default
+
+ for i in */test; do
+ ${i} || die "Running tests failed at ${i}"
+ done
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
+ find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
+ dodoc -r examples
+}
diff --git a/dev-cpp/glibmm/glibmm-2.52.1.ebuild b/dev-cpp/glibmm/glibmm-2.52.1.ebuild
new file mode 100644
index 000000000000..18a948873dbe
--- /dev/null
+++ b/dev-cpp/glibmm/glibmm-2.52.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for glib2"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system
+SLOT="2"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc debug test"
+
+RDEPEND="
+ >=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+# dev-cpp/mm-common needed for eautoreconf
+
+PATCHES=(
+ # Fix build with GCC-8
+ # https://bugs.gentoo.org/654776
+ "${FILESDIR}"/${PN}-fix-threads-gobject.patch
+)
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die "sed 1 failed"
+ fi
+
+ # don't build examples - we want to install example sources, not binaries
+ sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die "sed 2 failed"
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable debug debug-refcounting) \
+ $(multilib_native_use_enable doc documentation) \
+ --enable-deprecated-api
+}
+
+multilib_src_test() {
+ cd tests
+ default
+
+ for i in */test; do
+ ${i} || die "Running tests failed at ${i}"
+ done
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
+ find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
+ dodoc -r examples
+}
diff --git a/dev-cpp/glibmm/metadata.xml b/dev-cpp/glibmm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/glibmm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/glog-0.3.3-r1 b/dev-cpp/glog-0.3.3-r1
deleted file mode 100644
index 99e3455fb04f..000000000000
--- a/dev-cpp/glog-0.3.3-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind ) test? ( >=dev-cpp/gtest-1.8.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
-DESCRIPTION=Google's C++ logging library
-EAPI=4
-HOMEPAGE=https://github.com/google/glog
-IUSE=gflags static-libs unwind test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-RDEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind )
-SLOT=0
-SRC_URI=https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=ee03a4d0c51d584898d766d3a8583cf0
diff --git a/dev-cpp/glog-0.3.4 b/dev-cpp/glog-0.3.4
deleted file mode 100644
index 66ce70a7916d..000000000000
--- a/dev-cpp/glog-0.3.4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind ) test? ( >=dev-cpp/gtest-1.8.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
-DESCRIPTION=Google's C++ logging library
-EAPI=5
-HOMEPAGE=https://github.com/google/glog
-IUSE=gflags static-libs unwind test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-RDEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind )
-SLOT=0
-SRC_URI=https://github.com/google/glog/archive/v0.3.4.tar.gz -> glog-0.3.4.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=374d4f14fa8a3eff15afaa1c2a64f7f7
diff --git a/dev-cpp/glog-0.3.4-r1 b/dev-cpp/glog-0.3.4-r1
deleted file mode 100644
index 8745750451bd..000000000000
--- a/dev-cpp/glog-0.3.4-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) test? ( >=dev-cpp/gtest-1.8.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Google's C++ logging library
-EAPI=6
-HOMEPAGE=https://github.com/google/glog
-IUSE=gflags static-libs test unwind abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-RDEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
-SLOT=0
-SRC_URI=https://github.com/google/glog/archive/v0.3.4.tar.gz -> glog-0.3.4.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=0783e92df72516b3a4fc6da20b8d86fc
diff --git a/dev-cpp/glog-0.3.5 b/dev-cpp/glog-0.3.5
deleted file mode 100644
index 58170f834cbf..000000000000
--- a/dev-cpp/glog-0.3.5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) test? ( >=dev-cpp/gtest-1.8.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Google's C++ logging library
-EAPI=6
-HOMEPAGE=https://github.com/google/glog
-IUSE=gflags static-libs test unwind abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-RDEPEND=gflags? ( >=dev-cpp/gflags-2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) unwind? ( sys-libs/libunwind[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
-SLOT=0
-SRC_URI=https://github.com/google/glog/archive/v0.3.5.tar.gz -> glog-0.3.5.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=2a747e94b685492a6be8e531922c5f6a
diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
new file mode 100644
index 000000000000..f54bdb928242
--- /dev/null
+++ b/dev-cpp/glog/Manifest
@@ -0,0 +1,11 @@
+AUX glog-0.3.2-avoid-inline-asm.patch 1837 BLAKE2B 2cd93d0be42a9cf18e610dbccc3859cf7347d25b9205c6bb69c795e3df63c2fdd31972312afaa835cbf1d5eae8b1b6b274d41093bf35d32db7cba2df8833f8c3 SHA512 d45e6e1ef311a8eaccbbcf802c609c19509b74d0647a6ff4e2f0886ecd52d7f107c76d06cba88036870a4c34c62c19df661c59ea5011dff931ad14a3f5d8ab58
+AUX glog-0.3.4-fix-build-system.patch 4861 BLAKE2B d1c10a8c4b264003e0718da28e1df5a24045a61987dae2412a1c72abcc3ec8d8f01d3f5a4e14a97ebb3b482effe8bafa0fe44710a94d16c5db97d44891ca3a68 SHA512 ba162ebb8395044b2bb7b1982a463be01155772acf898614cc13f73c523f63094621f887b8a67e6f810d98914177a1a4a82a45ba7ff7415101f70a8915ae42f0
+AUX glog-0.3.4-fix-gcc5-demangling.patch 1992 BLAKE2B 086661e687a98e34777fd0baf97dec3730acad2ff8fd2184bb0a25d3c516125ca97d92bd799f33fabce4aabfeb1fba6dd865c89aef1659095988c34166285f69 SHA512 6f0b6f74dd039672f80dce55526ae784ff56add01ffc0dc0f5adf4c0ebbf9af15cfd054b370a0631fb7044abb20edf6dc79cb0dd2ac49fda7131ec152f54f054
+DIST glog-0.3.3.tar.gz 509676 BLAKE2B 21d8893ff535c0e8c1de27214f535aaea99727128d80f421da096969c19504da6a296054db2931232b4fd372446f96189464e4000f44c5720152085aa9976978 SHA512 95418ff0857415a0fbc15caeb22a13f3b6736618adcc3c30e054626f1397bc58399c45f68784c70b1f5dc594ebc6ea66e386896beab5c20be72dd53b25f5a4ac
+DIST glog-0.3.4.tar.gz 522508 BLAKE2B 4a188d5998005b29afc52f2ea548f33e06a68da993bb74960e5aedb214ec52ef9e9fc39efb1a34f38f217b92df7db064ff01d58df36c3e4ad789becc97335ec2 SHA512 139525b546a9eccacc9bebf7cc3053ba52229e9488485ad45344c3d3134ca819d3b571250c0e3a6d84097009c8be89b0f4fa16ef5ec838ffcc237ae11c3a034c
+DIST glog-0.3.5.tar.gz 532275 BLAKE2B a455f3ff8fc7cf2861a4351a0305db9455bb79977e57c49b6269b3fa2c147cd9627bfaf4c7aaa04fe4a49158d79abeb5b985813fe8c473d6005e915335c0d693 SHA512 a54a3b8b4b7660d7558ba5168c659bc3c8323c30908a4f6a4bbc6f9cd899350f3243aabc720daebfdeb799b276b51ba1eaa1a0f83149c4e1a038d552ada1ed72
+EBUILD glog-0.3.3-r1.ebuild 1781 BLAKE2B 14b1654553f9c52c9f0f7a3efaffd3e6ae408212b25ac35db9b51eb543e92a99bab32392ae3cb2df410c12330bf618d347f13a102b4da16025880cf46ac43de1 SHA512 d116e48b3cd2e2513291b006d94100414399d3f77ce5bd4058c86a28241b690476cdbc7c189684bc86758dc0bb08d11bbd575beb71d1f4969bff8477c8a45f2c
+EBUILD glog-0.3.4-r1.ebuild 1192 BLAKE2B cb2259d727bd5629059a4848f0efd990ab054a587994c0b951007c58cdff3b8991936c391fc431d41e17d475178e83f48fd29ad4d3fd1f3fc278e2525d404576 SHA512 cd39b6f0edc218fb67b20a09e37a0149e3b1d165beed2614654db7ba6ee50d94480a83ef602728f4b8aedaf33547dd06512925c46b48d0f02ed77da1a88c5f0d
+EBUILD glog-0.3.4.ebuild 1802 BLAKE2B a0d46af823ee228ad860a96dbf11cc26cc97cd49c96e3d3f860324ab3809273ffe2db3744a566beb73b5e01f8dd85447320e53c067c006fed12dc98ec6d77ea5 SHA512 b445fa06f2260544a4b61da19f9dae1d3272d77348be4c381da6e862b6ced086d4916c743bb29882678458b0ef93704b96f2d7494989f726795ef874ee870037
+EBUILD glog-0.3.5.ebuild 1198 BLAKE2B d30874550c821e6bc4e1127660c43fbf23e3ce1f4fe74d05246fe97d1f0912f9452b6ed43c78cf93e70e460fcb14268f18ea64439c82e3ce196f236e81f08acb SHA512 f60474a111c82217991ef31825cc9d3f19914815d011351216f814041902e77e6dd44aaf8cb3a90fd0601654add6d82111532143227fbba41ed8c5db5afaa1ea
+MISC metadata.xml 609 BLAKE2B 44e06e9039e048b3be88b61ad11a3b698a99e78fcd8df49e66c5a63bea43422e3c8f197f847e5c22057828d23ddc37efb09cb9015f5a6b252e20c8d038ecf5b3 SHA512 9dc4390cd212eb4a9d05ea2eeae26d7556c7ddc01444a917a9d5958d4604a4808b73ab7a7f9f4c6809ae396a53c1e9c73c5ce6b96595c7dd7d86dd6ec7a739fb
diff --git a/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch b/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch
new file mode 100644
index 000000000000..b6fa9cdb7374
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch
@@ -0,0 +1,56 @@
+http://code.google.com/p/google-glog/issues/detail?id=130
+
+make the code work with all gcc targets
+
+--- a/src/symbolize_unittest.cc
++++ b/src/symbolize_unittest.cc
+@@ -60,9 +60,7 @@ using namespace GOOGLE_NAMESPACE;
+ # endif // __i386__
+ # else
+ # endif // __GNUC__ >= 4
+-# if defined(__i386__) || defined(__x86_64__)
+-# define TEST_X86_32_AND_64 1
+-# endif // defined(__i386__) || defined(__x86_64__)
++# define TEST_WITH_LABEL_ADDRESSES
+ #endif
+
+ // A wrapper function for Symbolize() to make the unit test simple.
+@@ -289,22 +287,24 @@ TEST(Symbolize, SymbolizeWithDemanglingStackConsumption) {
+ extern "C" {
+ inline void* always_inline inline_func() {
+ register void *pc = NULL;
+-#ifdef TEST_X86_32_AND_64
+- __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
++#ifdef TEST_WITH_LABEL_ADDRESSES
++ pc = &&curr_pc;
++ curr_pc:
+ #endif
+ return pc;
+ }
+
+ void* ATTRIBUTE_NOINLINE non_inline_func() {
+ register void *pc = NULL;
+-#ifdef TEST_X86_32_AND_64
+- __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
++#ifdef TEST_WITH_LABEL_ADDRESSES
++ pc = &&curr_pc;
++ curr_pc:
+ #endif
+ return pc;
+ }
+
+ void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
+-#if defined(TEST_X86_32_AND_64) && defined(HAVE_ATTRIBUTE_NOINLINE)
++#if defined(TEST_WITH_LABEL_ADDRESSES) && defined(HAVE_ATTRIBUTE_NOINLINE)
+ void *pc = non_inline_func();
+ const char *symbol = TrySymbolize(pc);
+ CHECK(symbol != NULL);
+@@ -314,7 +314,7 @@ void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
+ }
+
+ void ATTRIBUTE_NOINLINE TestWithPCInsideInlineFunction() {
+-#if defined(TEST_X86_32_AND_64) && defined(HAVE_ALWAYS_INLINE)
++#if defined(TEST_WITH_LABEL_ADDRESSES) && defined(HAVE_ALWAYS_INLINE)
+ void *pc = inline_func(); // Must be inlined.
+ const char *symbol = TrySymbolize(pc);
+ CHECK(symbol != NULL);
diff --git a/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch b/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch
new file mode 100644
index 000000000000..cd38111bc81f
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch
@@ -0,0 +1,142 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,7 @@
+ AC_CONFIG_SRCDIR(README)
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE
+-AM_CONFIG_HEADER(src/config.h)
++AC_CONFIG_HEADERS([src/config.h])
+
+ AC_LANG(C++)
+
+@@ -21,7 +21,7 @@
+ AC_PROG_CXX
+ AM_CONDITIONAL(GCC, test "$GCC" = yes) # let the Makefile know if we're gcc
+
+-AC_PROG_LIBTOOL
++LT_INIT
+ AC_SUBST(LIBTOOL_DEPS)
+
+ # Check whether some low-level functions/files are available
+@@ -128,32 +128,48 @@
+ fi
+
+ # Check if there is google-gflags library installed.
+-SAVE_CFLAGS="$CFLAGS"
+-SAVE_LIBS="$LIBS"
+-AC_ARG_WITH(gflags, AS_HELP_STRING[--with-gflags=GFLAGS_DIR],
+- GFLAGS_CFLAGS="-I${with_gflags}/include"
+- GFLAGS_LIBS="-L${with_gflags}/lib -lgflags"
+- CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
+- LIBS="$LIBS $GFLAGS_LIBS"
+-)
+-AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
+-if test x"$ac_cv_have_libgflags" = x"1"; then
+- AC_DEFINE(HAVE_LIB_GFLAGS, 1, [define if you have google gflags library])
+- if test x"$GFLAGS_LIBS" = x""; then
+- GFLAGS_LIBS="-lgflags"
+- fi
+-else
+- GFLAGS_CFLAGS=
+- GFLAGS_LIBS=
+-fi
+-CFLAGS="$SAVE_CFLAGS"
+-LIBS="$SAVE_LIBS"
++AC_ARG_ENABLE([gflags],
++ AS_HELP_STRING([--enable-gflags], [Enable google-gflags]))
++
++ac_cv_have_libgflags=0
++AS_IF([test "x$enable_gflags" != "xno"], [
++ SAVE_CFLAGS="$CFLAGS"
++ SAVE_LIBS="$LIBS"
++ AC_ARG_WITH([gflags], AS_HELP_STRING([--with-gflags=GFLAGS_DIR]),[
++ GFLAGS_CFLAGS="-I${with_gflags}/include"
++ GFLAGS_LIBS="-L${with_gflags}/lib -lgflags"
++ CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
++ LIBS="$LIBS $GFLAGS_LIBS"
++ ])
++
++ AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
++ CFLAGS="$SAVE_CFLAGS"
++ LIBS="$SAVE_LIBS"
++])
++
++AS_IF([test "x$ac_cv_have_libgflags" = "x1"], [
++ AC_DEFINE([HAVE_LIB_GFLAGS], [1], [define if you have google gflags library])
++ AS_IF([test "x$GFLAGS_LIBS" = "x"], [
++ GFLAGS_LIBS="-lgflags"
++ ])
++], [
++ GFLAGS_CFLAGS=
++ GFLAGS_LIBS=
++])
+
+ # TODO(hamaji): Use official m4 macros provided by testing libraries
+ # once the m4 macro of Google Mocking becomes ready.
+ # Check if there is Google Test library installed.
+-AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes")
+-AC_CHECK_LIB(gtest, main, have_gtest_lib="yes")
++AC_ARG_ENABLE([gtest-config],
++ AS_HELP_STRING([--enable-gtest-config], [Enable looking for gtest-config]))
++
++AS_IF([test "x$enable_gtest_config" != "xno"], [
++ AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes")
++ AC_CHECK_LIB(gtest, main, have_gtest_lib="yes")
++], [
++ have_gtest_lib="no"
++])
++
+ if test x"$GTEST_CONFIG" = "xyes" -a x"$have_gtest_lib" = "xyes"; then
+ GTEST_CFLAGS=`gtest-config --cppflags --cxxflags`
+ GTEST_LIBS=`gtest-config --ldflags --libs`
+@@ -178,17 +194,13 @@
+ AM_CONDITIONAL(HAVE_GMOCK, test x"$GMOCK_CONFIG" = "xyes")
+
+ # We want to link in libunwind if it exists
+-UNWIND_LIBS=
+-# Unfortunately, we need to check the header file in addition to the
+-# lib file to check if libunwind is available since libunwind-0.98
+-# doesn't install all necessary header files.
+-if test x"$ac_cv_have_libunwind_h" = x"1"; then
+- AC_CHECK_LIB(unwind, backtrace, UNWIND_LIBS=-lunwind)
+-fi
+-AC_SUBST(UNWIND_LIBS)
+-if test x"$UNWIND_LIBS" != x""; then
+- AC_DEFINE(HAVE_LIB_UNWIND, 1, [define if you have libunwind])
+-fi
++AC_ARG_ENABLE([unwind],
++ AS_HELP_STRING([--enable-unwind], [Enable libunwind]))
++
++AS_IF([test "x$enable_unwind" != "xno"], [
++ PKG_CHECK_MODULES([UNWIND], [libunwind > 0.98])
++ AC_DEFINE([HAVE_LIB_UNWIND], [1], [define if you have libunwind])
++])
+
+ # We'd like to use read/write locks in several places in the code.
+ # See if our pthreads support extends to that. Note: for linux, it
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -40,12 +40,11 @@
+ nodist_gloginclude_HEADERS = src/glog/logging.h src/glog/raw_logging.h src/glog/vlog_is_on.h src/glog/stl_logging.h
+ noinst_HEADERS = src/glog/logging.h.in src/glog/raw_logging.h.in src/glog/vlog_is_on.h.in src/glog/stl_logging.h.in
+
+-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+ ## This is for HTML and other documentation you want to install.
+ ## Add your documentation files (in doc/) in addition to these
+ ## top-level boilerplate files. Also add a TODO file if you have one.
+-dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \
+- doc/designstyle.css doc/glog.html
++dist_doc_DATA = AUTHORS ChangeLog INSTALL NEWS README
++dist_html_DATA = doc/designstyle.css doc/glog.html
+
+ ## The libraries (.so's) you want to install
+ lib_LTLIBRARIES =
+@@ -215,7 +214,7 @@
+
+ ## This should always include $(TESTS), but may also include other
+ ## binaries that you compile but don't want automatically installed.
+-noinst_PROGRAMS = $(TESTS) $(TEST_BINARIES)
++check_PROGRAMS = $(TESTS) $(TEST_BINARIES)
+
+ rpm: dist-gzip packages/rpm.sh packages/rpm/rpm.spec
+ @cd packages && ./rpm.sh ${PACKAGE} ${VERSION}
diff --git a/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch b/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch
new file mode 100644
index 000000000000..fd1518c68583
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch
@@ -0,0 +1,56 @@
+From b1639e3014996fbc7635870e013559c54e7e3b2f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?David=20Mart=C3=ADnez=20Moreno?= <ender@debian.org>
+Date: Thu, 13 Aug 2015 09:31:26 -0700
+Subject: [PATCH] Fix ABI demangling for the GCC 5.x case.
+
+When glog is compiled with gcc-5.2 in cxx11 ABI mode, it barfs about unmangled symbols. This patches it getting inspiration from binutils and demangle.cc itself, although it may be totally wrong or maybe have to use ParseAbiTag in more places. I haven't read the spec for the symbols, though.
+
+This patch makes the demangle unit test pass correctly.
+---
+ src/demangle.cc | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/src/demangle.cc b/src/demangle.cc
+index e858181..0f0c831 100644
+--- a/src/demangle.cc
++++ b/src/demangle.cc
+@@ -439,6 +439,7 @@ static bool ParseExprPrimary(State *state);
+ static bool ParseLocalName(State *state);
+ static bool ParseDiscriminator(State *state);
+ static bool ParseSubstitution(State *state);
++static bool ParseAbiTag(State *state);
+
+ // Implementation note: the following code is a straightforward
+ // translation of the Itanium C++ ABI defined in BNF with a couple of
+@@ -567,6 +568,8 @@ static bool ParseNestedName(State *state) {
+ static bool ParsePrefix(State *state) {
+ bool has_something = false;
+ while (true) {
++ if (ParseAbiTag(state))
++ continue;
+ MaybeAppendSeparator(state);
+ if (ParseTemplateParam(state) ||
+ ParseSubstitution(state) ||
+@@ -585,6 +588,22 @@ static bool ParsePrefix(State *state) {
+ return true;
+ }
+
++// <abi-tag> ::= B <source-name>
++static bool ParseAbiTag(State *state) {
++ State copy = *state;
++
++ Append(state, "[", 1);
++ if (ParseOneCharToken(state, 'B') &&
++ ParseSourceName(state))
++ {
++ Append(state, "]", 1);
++ return true;
++ }
++
++ *state = copy;
++ return false;
++}
++
+ // <unqualified-name> ::= <operator-name>
+ // ::= <ctor-dtor-name>
+ // ::= <source-name>
diff --git a/dev-cpp/glog/glog-0.3.3-r1.ebuild b/dev-cpp/glog/glog-0.3.3-r1.ebuild
new file mode 100644
index 000000000000..667d65726491
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.3-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+inherit eutils multilib-minimal
+
+DESCRIPTION="Google's C++ logging library"
+HOMEPAGE="https://github.com/google/glog"
+SRC_URI="https://google-glog.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="gflags static-libs unwind test"
+
+RDEPEND="gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
+ # Fix the --dodcdir flag:
+ # https://code.google.com/p/google-glog/issues/detail?id=193
+ sed -i \
+ -e '/^docdir =/s:=.*:= @docdir@:' \
+ Makefile.in || die
+}
+
+multilib_src_configure() {
+ use test || export ac_cv_prog_GTEST_CONFIG=no
+ ECONF_SOURCE=${S} \
+ ac_cv_lib_gflags_main=$(usex gflags) \
+ ac_cv_lib_unwind_backtrace=$(usex unwind) \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ $(use_enable static-libs static)
+}
+
+_emake() {
+ # The tests always get built ... disable them when unused.
+ emake $(usex test '' noinst_PROGRAMS=) "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ # Punt docs we don't care about (NEWS is 0 bytes).
+ rm "${ED}"/usr/share/doc/${PF}/{COPYING,NEWS,README.windows} || die
+
+ # --htmldir doesn't work (yet):
+ # https://code.google.com/p/google-glog/issues/detail?id=144
+ dohtml "${ED}"/usr/share/doc/${PF}/*
+ rm "${ED}"/usr/share/doc/${PF}/*.{html,css}
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-cpp/glog/glog-0.3.4-r1.ebuild b/dev-cpp/glog/glog-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..ad7b6587ddb3
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.4-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Google's C++ logging library"
+HOMEPAGE="https://github.com/google/glog"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gflags static-libs test unwind"
+
+RDEPEND="
+ gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
+ "${FILESDIR}"/${PN}-0.3.4-fix-build-system.patch
+ "${FILESDIR}"/${PN}-0.3.4-fix-gcc5-demangling.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable gflags) \
+ $(use_enable static-libs static) \
+ $(use_enable test gtest-config) \
+ $(use_enable unwind)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/glog/glog-0.3.4.ebuild b/dev-cpp/glog/glog-0.3.4.ebuild
new file mode 100644
index 000000000000..a6b6ee4e3fb4
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="Google's C++ logging library"
+HOMEPAGE="https://github.com/google/glog"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gflags static-libs unwind test"
+
+RDEPEND="gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
+ # Fix the --dodcdir flag:
+ # https://code.google.com/p/google-glog/issues/detail?id=193
+ sed -i \
+ -e '/^docdir =/s:=.*:= @docdir@:' \
+ Makefile.in || die
+}
+
+multilib_src_configure() {
+ use test || export ac_cv_prog_GTEST_CONFIG=no
+ ECONF_SOURCE=${S} \
+ ac_cv_lib_gflags_main=$(usex gflags) \
+ ac_cv_lib_unwind_backtrace=$(usex unwind) \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ $(use_enable static-libs static)
+}
+
+_emake() {
+ # The tests always get built ... disable them when unused.
+ emake $(usex test '' noinst_PROGRAMS=) "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ # Punt docs we don't care about (NEWS is 0 bytes).
+ rm "${ED}"/usr/share/doc/${PF}/{COPYING,NEWS,README.windows} || die
+
+ # --htmldir doesn't work (yet):
+ # https://code.google.com/p/google-glog/issues/detail?id=144
+ dohtml "${ED}"/usr/share/doc/${PF}/*
+ rm "${ED}"/usr/share/doc/${PF}/*.{html,css}
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-cpp/glog/glog-0.3.5.ebuild b/dev-cpp/glog/glog-0.3.5.ebuild
new file mode 100644
index 000000000000..1f4064c66394
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Google's C++ logging library"
+HOMEPAGE="https://github.com/google/glog"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gflags static-libs test unwind"
+
+RDEPEND="
+ gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
+ "${FILESDIR}"/${PN}-0.3.4-fix-build-system.patch
+ "${FILESDIR}"/${PN}-0.3.4-fix-gcc5-demangling.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable gflags) \
+ $(use_enable static-libs static) \
+ $(use_enable test gtest-config) \
+ $(use_enable unwind)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/glog/metadata.xml b/dev-cpp/glog/metadata.xml
new file mode 100644
index 000000000000..a1375d627eeb
--- /dev/null
+++ b/dev-cpp/glog/metadata.xml
@@ -0,0 +1,16 @@
+<?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>
+ <use>
+ <flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag>
+ <flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> for stack unwinding instead of glibc/gcc (may be more reliable on x86_64)</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">google-glog</remote-id>
+ <remote-id type="github">google/glog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/gnome-vfsmm-2.26.0-r1 b/dev-cpp/gnome-vfsmm-2.26.0-r1
deleted file mode 100644
index f7f7e0799017..000000000000
--- a/dev-cpp/gnome-vfsmm-2.26.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=gnome-base/gnome-vfs-2.8.1 >=dev-cpp/glibmm-2.12 virtual/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for gnome-vfs
-EAPI=5
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc examples
-KEYWORDS=alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd
-LICENSE=LGPL-2.1
-RDEPEND=>=gnome-base/gnome-vfs-2.8.1 >=dev-cpp/glibmm-2.12
-SLOT=1.1
-SRC_URI=mirror://gnome/sources/gnome-vfsmm/2.26/gnome-vfsmm-2.26.0.tar.bz2
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=4f3372a9a341011564e0b0075ba8288a
diff --git a/dev-cpp/gnome-vfsmm/Manifest b/dev-cpp/gnome-vfsmm/Manifest
new file mode 100644
index 000000000000..5e61d30dbf73
--- /dev/null
+++ b/dev-cpp/gnome-vfsmm/Manifest
@@ -0,0 +1,3 @@
+DIST gnome-vfsmm-2.26.0.tar.bz2 628670 BLAKE2B d4fcd56518d7c7d2f385dcc559ea13c1fe636f2d6084be3a64d88baaba82e1d35dd45b6b5bd990f852525ad3a9fab5cb5a2470300882a3d201f3353cdd68876f SHA512 82e538c06615af83e9e455b0db601e37ee5396cac9b44884879383f3671876cca62bf534f4338177d1a62ab59e834d197302533dcc77f3c09b5433da9c660af8
+EBUILD gnome-vfsmm-2.26.0-r1.ebuild 1222 BLAKE2B 4b114cff30e1906fd191ca75d0bd182134ebc954e969ad07631cb63c7588c06de387ec3f63aa19fafff73c37a635cc6e6a0bd4ccf7b7057c8fb3ce0a0a8826e2 SHA512 ff7b2242b40605caec955879667a432a8730a915e25e03e49856f985ac2e9213cb8bf32f60d760696bf1daa622a9c4768f0b42f6908bde5aad68da76b077da4a
+MISC metadata.xml 253 BLAKE2B a1efbd3751efaa83ee173f557ec1c8a4497a90b60896cf5a7a07da40b4f94a7a299ca0385477e82b2f5e5dbdf9afa482ccbe21f35ef44214e9c451d764b65529 SHA512 8d59f413993268ca783f7407b676900bb2d964754bf705d4175e2bafbe058a52af74f3928e4bd84d292518f8cf13fab7051486ab7cdc61d02fae6e0188d44442
diff --git a/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild b/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild
new file mode 100644
index 000000000000..91bcc03e1c4c
--- /dev/null
+++ b/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit flag-o-matic gnome2
+
+DESCRIPTION="C++ bindings for gnome-vfs"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1"
+SLOT="1.1"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc examples"
+
+# glibmm dep is because build fails with older versions...
+RDEPEND="
+ >=gnome-base/gnome-vfs-2.8.1
+ >=dev-cpp/glibmm-2.12
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use doc; then
+ # documentation requires Doxygen and takes time
+ sed -i 's/^\(SUBDIRS =.*\)docs\(.*\)$/\1\2/' Makefile.in || \
+ die "sed Makefile.in failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building the examples
+ sed -i 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' Makefile.in || \
+ die "sed Makefile.in failed"
+ fi
+
+ append-cxxflags -std=c++11
+
+ gnome2_src_prepare
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use doc ; then
+ dohtml -r docs/reference/html/*
+ fi
+
+ if use examples; then
+ find examples -type d -name '.deps' -exec rm -fr {} \; 2>/dev/null
+ cp -R examples "${ED}"/usr/share/doc/${PF}
+ fi
+}
diff --git a/dev-cpp/gnome-vfsmm/metadata.xml b/dev-cpp/gnome-vfsmm/metadata.xml
new file mode 100644
index 000000000000..996e7cacd217
--- /dev/null
+++ b/dev-cpp/gnome-vfsmm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/gstreamermm-0.10.11 b/dev-cpp/gstreamermm-0.10.11
deleted file mode 100644
index e5892b30554f..000000000000
--- a/dev-cpp/gstreamermm-0.10.11
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=media-libs/gstreamer-0.10.36:0.10 >=media-libs/gst-plugins-base-0.10.36:0.10 >=dev-cpp/glibmm-2.33.4:2 >=dev-cpp/libxmlpp-2.14:2.6 >=dev-libs/libsigc++-2:2 virtual/pkgconfig test? ( media-libs/gst-plugins-good:0.10 media-plugins/gst-plugins-vorbis:0.10 media-plugins/gst-plugins-x:0.10 ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ interface for GStreamer
-EAPI=5
-HOMEPAGE=https://gstreamer.freedesktop.org/bindings/cplusplus.html
-IUSE=test debug
-KEYWORDS=amd64 ~ppc x86
-LICENSE=LGPL-2.1
-RDEPEND=>=media-libs/gstreamer-0.10.36:0.10 >=media-libs/gst-plugins-base-0.10.36:0.10 >=dev-cpp/glibmm-2.33.4:2 >=dev-cpp/libxmlpp-2.14:2.6 >=dev-libs/libsigc++-2:2
-SLOT=0.10
-SRC_URI=mirror://gnome/sources/gstreamermm/0.10/gstreamermm-0.10.11.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=9c2ce65f4b97c87b05b162257604e2dc
diff --git a/dev-cpp/gstreamermm-1.10.0 b/dev-cpp/gstreamermm-1.10.0
deleted file mode 100644
index 3b4a20bc9b84..000000000000
--- a/dev-cpp/gstreamermm-1.10.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=media-libs/gstreamer-1.10.0:1.0 >=media-libs/gst-plugins-base-1.10.0:1.0 >=dev-cpp/glibmm-2.47.6:2 >=dev-cpp/libxmlpp-2.14:2.6 >=dev-libs/libsigc++-2:2 dev-cpp/mm-common virtual/pkgconfig doc? ( app-doc/doxygen dev-libs/libxslt media-gfx/graphviz ) test? ( dev-cpp/gtest >=media-libs/gst-plugins-base-1.10.0:1.0[X,ogg,theora,vorbis] >=media-libs/gst-plugins-good-1.10.0:1.0 >=media-plugins/gst-plugins-jpeg-1.10.0:1.0 ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
-DESCRIPTION=C++ interface for GStreamer
-EAPI=6
-HOMEPAGE=https://gstreamer.freedesktop.org/bindings/cplusplus.html
-IUSE=doc examples test test
-KEYWORDS=amd64 ~ppc x86
-LICENSE=LGPL-2.1
-RDEPEND=>=media-libs/gstreamer-1.10.0:1.0 >=media-libs/gst-plugins-base-1.10.0:1.0 >=dev-cpp/glibmm-2.47.6:2 >=dev-cpp/libxmlpp-2.14:2.6 >=dev-libs/libsigc++-2:2
-SLOT=1.0/1
-SRC_URI=mirror://gnome/sources/gstreamermm/1.10/gstreamermm-1.10.0.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 virtualx 3a3c4637ea6d5a2113707a644766337c xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=3d61505c6c7c4129620b53b50fc3b6a3
diff --git a/dev-cpp/gstreamermm/Manifest b/dev-cpp/gstreamermm/Manifest
new file mode 100644
index 000000000000..6f3c577a9328
--- /dev/null
+++ b/dev-cpp/gstreamermm/Manifest
@@ -0,0 +1,5 @@
+DIST gstreamermm-0.10.11.tar.xz 5840552 BLAKE2B 99e9e934b2885ae02256acb5b5f2ba0b63d99b81c41fa2f7fe47b0a3a60a8178f0727c0c0b1609dc10c53d9b00052e3f16b92ffa4b55c820606bf9f37ab667ff SHA512 2ad370f6902dcb4663ea801bdbbf744a98de9e24fc04f27b5044a4a95337168e2bb195761a07ac9c1011f9ed4936287fcc5f4c2b984f0a362b429d05be7d3909
+DIST gstreamermm-1.10.0.tar.xz 3529640 BLAKE2B 29b99928cd1b21fd295683b4a1ad0a1b0f8ae959237fcbfef7d5a9296a70a140a04fa390fbbcb8d3151d28239f281e72feb30a0466478e38dfb4e172beaf21f1 SHA512 34eeb9eec5958c96acf7c7791eef80138e5d55fea6ddf1bf9ace6b1ec7f052da2abf04d87089e4c9ead51c631ef7afceaf9fceb946ec3d105da522187c69e429
+EBUILD gstreamermm-0.10.11.ebuild 897 BLAKE2B 286e1de103d7da56c05719142c84706b73bc1e1c5d28b1c06144c8864690040fc17f8c17790cc81883c6c87a7ccc2145df1e16755156174ec93dd0981739f3f6 SHA512 ae96f4cfcc2dcfe0dc00254e97c4b7a57ab3723bacda48127b1ddde11d95881c8b943ba65cc09711a4f5ee4b42d58dd4be99435ebf89a7d875dd0656ababb903
+EBUILD gstreamermm-1.10.0.ebuild 1435 BLAKE2B 4057bdcc90a1f32dea45e56bb738062f13349ee12f363f25855c0e25b80376377dde2b0364cc1587a67c31015fa7879e8476b55bfbba9772ece29d5dd64dbf4e SHA512 24d365d1ea5012c26f12330882cd7b766d5ab3ee7df4e62362724208f557cd95aa0e586f8b89c197fda99adcc21b705512189a8211026366608a00310a819ca3
+MISC metadata.xml 375 BLAKE2B 4471ccdfcd754d109f34248adb67c5e8e7d8d5f05d5bc7e7bed67106525e917a9ff1863a09b93ce81f550dc71f4662017e199e006ef24425eb30af7b3987c7b4 SHA512 3b44cf887272a8478662aeb995b97566cd109b3b134941c11f37ab38b648a58f91644f692440e8aafbc154e7acf85bf385771b008b17537848fa670d6fa1a62f
diff --git a/dev-cpp/gstreamermm/gstreamermm-0.10.11.ebuild b/dev-cpp/gstreamermm/gstreamermm-0.10.11.ebuild
new file mode 100644
index 000000000000..97faf48fdac5
--- /dev/null
+++ b/dev-cpp/gstreamermm/gstreamermm-0.10.11.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GNOME2_LA_PUNT="yes"
+
+inherit flag-o-matic gnome2
+
+DESCRIPTION="C++ interface for GStreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/bindings/cplusplus.html"
+
+LICENSE="LGPL-2.1"
+SLOT="0.10"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="test"
+
+RDEPEND="
+ >=media-libs/gstreamer-0.10.36:0.10
+ >=media-libs/gst-plugins-base-0.10.36:0.10
+ >=dev-cpp/glibmm-2.33.4:2
+ >=dev-cpp/libxmlpp-2.14:2.6
+ >=dev-libs/libsigc++-2:2
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ media-libs/gst-plugins-good:0.10
+ media-plugins/gst-plugins-vorbis:0.10
+ media-plugins/gst-plugins-x:0.10 )
+"
+
+# Installs reference docs into /usr/share/doc/gstreamermm-0.10/
+# but that's okay, because the rest of dev-cpp/*mm stuff does the same
+
+src_prepare() {
+ gnome2_src_prepare
+ append-cxxflags -std=c++11 #568254
+}
diff --git a/dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild b/dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild
new file mode 100644
index 000000000000..42aeb6b51580
--- /dev/null
+++ b/dev-cpp/gstreamermm/gstreamermm-1.10.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2 virtualx
+
+DESCRIPTION="C++ interface for GStreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/bindings/cplusplus.html"
+
+LICENSE="LGPL-2.1"
+SLOT="1.0/1"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=media-libs/gstreamer-${PV}:1.0
+ >=media-libs/gst-plugins-base-${PV}:1.0
+ >=dev-cpp/glibmm-2.47.6:2
+ >=dev-cpp/libxmlpp-2.14:2.6
+ >=dev-libs/libsigc++-2:2
+"
+DEPEND="${RDEPEND}
+ dev-cpp/mm-common
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-libs/libxslt
+ media-gfx/graphviz )
+ test? (
+ dev-cpp/gtest
+ >=media-libs/gst-plugins-base-${PV}:1.0[X,ogg,theora,vorbis]
+ >=media-libs/gst-plugins-good-${PV}:1.0
+ >=media-plugins/gst-plugins-jpeg-${PV}:1.0 )
+"
+# eautoreconf:
+# dev-cpp/mm-common
+
+# Installs reference docs into /usr/share/doc/gstreamermm-1.0/
+# but that's okay, because the rest of dev-cpp/*mm stuff does the same
+
+src_prepare() {
+ if ! use examples; then
+ # don't waste time building examples
+ sed -e 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ sed -e 's/ -Werror/ /' -i tests/Makefile.am tests/Makefile.in || die
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable doc documentation) \
+ $(use_enable test unittests)
+}
+
+src_test() {
+ # running tests in parallel fails
+ virtx emake -j1 check
+}
diff --git a/dev-cpp/gstreamermm/metadata.xml b/dev-cpp/gstreamermm/metadata.xml
new file mode 100644
index 000000000000..9195662ffa23
--- /dev/null
+++ b/dev-cpp/gstreamermm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>eva@gentoo.org</email>
+ <name>Gilles Dartiguelongue</name>
+ </maintainer>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/gtest-1.7.0-r1 b/dev-cpp/gtest-1.7.0-r1
deleted file mode 100644
index 9e0b27f4d5e4..000000000000
--- a/dev-cpp/gtest-1.7.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=|| ( >=dev-lang/python-2.7.5-r2:2.7 ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Google C++ Testing Framework
-EAPI=5
-HOMEPAGE=https://github.com/google/googletest
-IUSE=examples static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos
-LICENSE=BSD
-SLOT=0
-SRC_URI=https://github.com/google/googletest/archive/release-1.7.0.tar.gz -> gtest-1.7.0.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 autotools-multilib f4848d9634439c7203cb7dd3b9650fff autotools-utils 5a4611dfba155b1659528663fad4cd5e desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b16c5c120783a31f73760b623b689e7f
diff --git a/dev-cpp/gtest-1.8.0 b/dev-cpp/gtest-1.8.0
deleted file mode 100644
index 048bec133b02..000000000000
--- a/dev-cpp/gtest-1.8.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=test? ( || ( dev-lang/python:3.6 dev-lang/python:3.5 dev-lang/python:3.4 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Google C++ Testing Framework
-EAPI=6
-HOMEPAGE=https://github.com/google/googletest
-IUSE=doc examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos
-LICENSE=BSD
-RDEPEND=!dev-cpp/gmock
-SLOT=0
-SRC_URI=https://github.com/google/googletest/archive/release-1.8.0.tar.gz -> gtest-1.8.0.tar.gz
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=d4c1326546def1906135c186c6221a95
diff --git a/dev-cpp/gtest-1.8.0-r1 b/dev-cpp/gtest-1.8.0-r1
deleted file mode 100644
index c07e5530010b..000000000000
--- a/dev-cpp/gtest-1.8.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=test? ( || ( dev-lang/python:3.6 dev-lang/python:3.5 dev-lang/python:3.4 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Google C++ Testing Framework
-EAPI=6
-HOMEPAGE=https://github.com/google/googletest
-IUSE=doc examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos
-LICENSE=BSD
-RDEPEND=!dev-cpp/gmock
-SLOT=0
-SRC_URI=https://github.com/google/googletest/archive/release-1.8.0.tar.gz -> gtest-1.8.0.tar.gz
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=efae9372a8b4dbda1adc60410334d232
diff --git a/dev-cpp/gtest-9999 b/dev-cpp/gtest-9999
deleted file mode 100644
index f296ee997a18..000000000000
--- a/dev-cpp/gtest-9999
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=test? ( || ( dev-lang/python:3.6 dev-lang/python:3.5 dev-lang/python:3.4 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) ) sys-devel/make >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=Google C++ Testing Framework
-EAPI=6
-HOMEPAGE=https://github.com/google/googletest
-IUSE=doc examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-LICENSE=BSD
-RDEPEND=!dev-cpp/gmock
-SLOT=0
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=33c05ff1756085b614c7cd51e591e165
diff --git a/dev-cpp/gtest/Manifest b/dev-cpp/gtest/Manifest
new file mode 100644
index 000000000000..86896d0044a4
--- /dev/null
+++ b/dev-cpp/gtest/Manifest
@@ -0,0 +1,13 @@
+AUX configure-fix-pthread-linking.patch 3142 BLAKE2B 8bf1e9b7845330138684068ea1ba98ef9941e4f9a8d8517598fc48fdae984d051745307ac6e74a1fc37a65fd7e473b7526e6dc25dc3334f5b13e8a1a60e7f776 SHA512 4347570606853c75e43d3d1abe449cd562538e531136658e6742f8e2dddcc1767932b427a063f711b868467ca85ff947f24c4ed3e328319bd0a739bb66093016
+AUX gtest-1.8.0-fix-doublefree.patch 4176 BLAKE2B 8488622dab43418cca28fe65b43ba4e022d06e31517748226a61e18c366f33a7b8fb50ba8f0ca7a175774c580e0b356684414856a75d74363c816c5ab9ba2ef3 SHA512 5dc0b987ea9516c4ef0c8e50c58091431606d3555c0f24b2ea5786e47f8497664ca3fb55bb400e07c502319dfbf2d0a09d5121985defd8e8b5e29062a4a51134
+AUX gtest-1.8.0-increase-clone-stack-size.patch 588 BLAKE2B a05c131193a4fa8e585c23b8c664e1e5065bd1c02424c763df64bd2b83c975b33d8a7e6a52a4a094d2304ff96edc4cc72d5bd0c54579546d7d3512164bc18d4a SHA512 ca1e97c48b1f3340ccda093c1bac9b5ddbb84db6e8dd9f6d9da95a0ef105125c9bea34bba359ee473c0b05d7db6a69c2bdde8f1cbb14aeab9d76f83a4cd4b9a4
+AUX gtest-1.8.0-multilib-strict.patch 1126 BLAKE2B 9b7835108dec3c05025762e7161bbc993e77c0ea433ddec465746cc93cd231cbe654a756822d3a0c368497788bb5642b6a490f917736b763f18ed31b8a629558 SHA512 45bb44e3f0743ec0bd9f440585610ed04cbbd8befed398844300e21710b28f755f1775cc005efcdd0b4f6d2ec2200ad2abe98b2c6764400ffa04242fe7ce06fc
+AUX gtest-9999-fix-gcc6-undefined-behavior.patch 665 BLAKE2B 181253b829413cf41001236c4696fd35171345d9a933f62d0903d463e0bcf80004a0124e4c5b5846f40c8cfe70dfccc7488e1840ccf6418d34a461c482db373a SHA512 fc6f11a06f9aa7b1c31f5abbec208704dd0f461fed36d421802843234bb3d9fe3f2e35482629546c1a8585c84fb0850768dd8b63e0f88cfe0508b00278d800cc
+AUX gtest-9999-fix-py-tests.patch 820 BLAKE2B a6a860b6935bd5f0bbe720f5af741448dd29878ca16d4187b84a40df4ec3ca216951ab0dfb1a89bebe2da1ad89f975e22ef6cdaced488de72b06953e185fd0d1 SHA512 4a059704303fffe508bd099544caaab5e4c819c978d6c104dce302e82348dd41fd63390459828a5f6161624dfd47aed5dc9cb466d36796904d598e0b10427949
+DIST gtest-1.7.0.tar.gz 1001582 BLAKE2B 3d10c1e502c2fac1500d07301031a9328b29027a3f9719137e09d2c47556cf52bbc978a8fb7b37330a94beafa27d24c3bfc247b2f0d51306b53f43e7ae2373b4 SHA512 a9f5c047b39efb2d11b55ee9913662ca402ac6837b3ad2d278ecfbd1caf32ed4546f169e3e92503d57bf3b62ccf89cd062da1c7ea3638aae98e868d2766363c3
+DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d
+EBUILD gtest-1.7.0-r1.ebuild 1249 BLAKE2B e3b607997c3a936ed65ffd668d543e512b3aaab230499d3a209950c0ec753c4778ede5c8c67dfb77ba7bba35550813830daa60e602e19ede1b5b95aa98ff8213 SHA512 8e82ff1bcd3e53edfd9823e90ae13484ace2a649a5ab775998e05b98d7fc7246af2bd11a8bbf74aab8e4cc6b9913c34f019befaeee34778262cf88aa7b9cd2ef
+EBUILD gtest-1.8.0-r1.ebuild 1674 BLAKE2B 0d4cd7279a96426f013fd96c43d7c8613c458585c9e576b19cab9c5ed43572e33ed9190f667f164195a4d4b192924dcb26b97f7365578d6c1e70d6f342c281d3 SHA512 f827c28e93ed16c55cf0e3e8087373170e1d848f163a45e0530580c40780997629a49e534e5f0a399bf6888a92f506bf9730994e774b77a0bcaaa123d215df3a
+EBUILD gtest-1.8.0.ebuild 1637 BLAKE2B 15153bf61b468799c48c25b300794eb3cf93d9751ead2d50d2dda59f09a4c5ea1c6a319083290cb3a93a983ee2552a3162a9c770e724907427533cfd8e7aafd9 SHA512 ac3680806d6e30e926ef29ab24042d419cd4c872b6a7d4d11b75bb50ccf64c6f029b8c59800dd92f3c5e2a8a72b4840277b4750eae8bc46021e44fc95845670b
+EBUILD gtest-9999.ebuild 1826 BLAKE2B 8751e8332d63e36f30d1bc10782c2103e7a40b0f9a454bf29cb92ec92502221cb74aee2158f54b2fb634aa119c6fd1d7faf496fac4569e7ce461205f805123b7 SHA512 9a31a176bba34993a6bbc56dd0cbc0a3b78b293c4d850a0471968c8759fd58a3ebaa1922b2eb293810a697b85894c1daee5d125a42013b6356b9a04596d21114
+MISC metadata.xml 535 BLAKE2B 892f380ec413ae33de5821d911bf34fc9e3d0e76cdc833a38c66ed85dece1f6efeec56d8f78c655c9a083e7152f1d24c018184d1e679612de43690665d2c0518 SHA512 68daeade4eb4fec4a42ec039ff000a025c48708f2aed23ebf4495b653567611342893ce79d6163d5276638af9e9915abc2cc6c2d6d07db2e86681e4049b77f81
diff --git a/dev-cpp/gtest/files/configure-fix-pthread-linking.patch b/dev-cpp/gtest/files/configure-fix-pthread-linking.patch
new file mode 100644
index 000000000000..75e5219b7a7c
--- /dev/null
+++ b/dev-cpp/gtest/files/configure-fix-pthread-linking.patch
@@ -0,0 +1,93 @@
+From fb71154012e634a5e780e93af5434bcdafaf2b24 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 15 Oct 2012 17:25:07 -0400
+Subject: [PATCH] configure: fix pthread linking
+
+- Update the pthread check to make sure that we don't need -lpthread when
+compiling with -nostdlib.
+
+- Make sure that the necessary pthread library is passed to libtool.
+
+Fixes:
+
+$ ldd -r /usr/lib/libgtest.so
+ linux-vdso.so.1 (0x00007fffe7dff000)
+ libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007fbe09a9f000)
+ libc.so.6 => /lib64/libc.so.6 (0x00007fbe096f7000)
+ libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007fbe094e1000)
+ libm.so.6 => /lib64/libm.so.6 (0x00007fbe091ee000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fbe0a005000)
+undefined symbol: pthread_key_create (/usr/lib/libgtest.so)
+undefined symbol: pthread_getspecific (/usr/lib/libgtest.so)
+undefined symbol: pthread_key_delete (/usr/lib/libgtest.so)
+undefined symbol: pthread_setspecific (/usr/lib/libgtest.so)
+---
+ Makefile.am | 1 +
+ m4/acx_pthread.m4 | 39 ++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 39 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index cb350b7..db2606e 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -181,6 +181,7 @@ endif
+ lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la
+
+ lib_libgtest_la_SOURCES = src/gtest-all.cc
++lib_libgtest_la_LIBADD = $(AM_LIBS)
+
+ pkginclude_HEADERS = \
+ include/gtest/gtest-death-test.h \
+diff --git a/m4/acx_pthread.m4 b/m4/acx_pthread.m4
+index 2cf20de..7fba4d9 100644
+--- a/m4/acx_pthread.m4
++++ b/m4/acx_pthread.m4
+@@ -339,7 +339,44 @@ if test "x$acx_pthread_ok" = xyes; then
+ # so it's not safe to assume that we may use pthreads
+ acx_pthread_ok=no
+ fi
+-
++
++ AC_MSG_CHECKING([whether what we have so far is sufficient with -nostdlib])
++ CFLAGS="-nostdlib $CFLAGS"
++ # we need c with nostdlib
++ LIBS="$LIBS -lc"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes],[done=no])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ fi
++
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether -lpthread saves the day])
++ LIBS="-lpthread $LIBS"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes],[done=no])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ PTHREAD_LIBS="$PTHREAD_LIBS -lpthread"
++ else
++ AC_MSG_RESULT([no])
++ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries and -nostdlib])
++ fi
++ fi
++
++ CFLAGS="$save_CFLAGS"
++ LIBS="$save_LIBS"
++ CC="$save_CC"
+ CFLAGS="$save_CFLAGS"
+ LIBS="$save_LIBS"
+ CC="$save_CC"
+--
+1.7.8.6
+
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch b/dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch
new file mode 100644
index 000000000000..40fa1f6668bc
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch
@@ -0,0 +1,98 @@
+Bug: https://bugs.gentoo.org/631698
+Upstream PR: https://github.com/google/googletest/pull/1339
+
+From 0663ce9024c9b78ddf6eb3fc1ceb45361ed91767 Mon Sep 17 00:00:00 2001
+From: Romain Geissler <romain.geissler@gmail.com>
+Date: Sat, 2 Dec 2017 22:47:20 +0100
+Subject: [PATCH] Fix double free when building Gtest/GMock in shared libraries
+ and linking a test executable with both.
+
+---
+ googlemock/CMakeLists.txt | 63 ++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 40 insertions(+), 23 deletions(-)
+
+diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
+index 724fdd5f0..f7bad8afc 100644
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -86,16 +86,23 @@ endif()
+ # Google Mock libraries. We build them using more strict warnings than what
+ # are used for other targets, to ensure that Google Mock can be compiled by
+ # a user aggressive about warnings.
+-cxx_library(gmock
+- "${cxx_strict}"
+- "${gtest_dir}/src/gtest-all.cc"
+- src/gmock-all.cc)
+-
+-cxx_library(gmock_main
+- "${cxx_strict}"
+- "${gtest_dir}/src/gtest-all.cc"
+- src/gmock-all.cc
+- src/gmock_main.cc)
++if (MSVC)
++ cxx_library(gmock
++ "${cxx_strict}"
++ "${gtest_dir}/src/gtest-all.cc"
++ src/gmock-all.cc)
++
++ cxx_library(gmock_main
++ "${cxx_strict}"
++ "${gtest_dir}/src/gtest-all.cc"
++ src/gmock-all.cc
++ src/gmock_main.cc)
++else()
++ cxx_library(gmock "${cxx_strict}" src/gmock-all.cc)
++ target_link_libraries(gmock gtest)
++ cxx_library(gmock_main "${cxx_strict}" src/gmock_main.cc)
++ target_link_libraries(gmock_main gmock)
++endif()
+
+ # If the CMake version supports it, attach header directory information
+ # to the targets for when we are part of a parent build (ie being pulled
+@@ -175,23 +182,33 @@ if (gmock_build_tests)
+ ############################################################
+ # C++ tests built with non-standard compiler flags.
+
+- cxx_library(gmock_main_no_exception "${cxx_no_exception}"
+- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+-
+- cxx_library(gmock_main_no_rtti "${cxx_no_rtti}"
+- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
++ if (MSVC)
++ cxx_library(gmock_main_no_exception "${cxx_no_exception}"
++ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+
+- if (NOT MSVC OR MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010.
+- # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that
+- # conflict with our own definitions. Therefore using our own tuple does not
+- # work on those compilers.
+- cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}"
++ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}"
+ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+
+- cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}"
+- gmock_main_use_own_tuple test/gmock-spec-builders_test.cc)
++ if (MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010.
++ # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that
++ # conflict with our own definitions. Therefore using our own tuple does not
++ # work on those compilers.
++ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}"
++ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
++
++ cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}"
++ gmock_main_use_own_tuple test/gmock-spec-builders_test.cc)
++ endif()
++ else()
++ cxx_library(gmock_main_no_exception "${cxx_no_exception}" src/gmock_main.cc)
++ target_link_libraries(gmock_main_no_exception gmock)
++
++ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}" src/gmock_main.cc)
++ target_link_libraries(gmock_main_no_rtti gmock)
++
++ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}" src/gmock_main.cc)
++ target_link_libraries(gmock_main_use_own_tuple gmock)
+ endif()
+-
+ cxx_test_with_flags(gmock-more-actions_no_exception_test "${cxx_no_exception}"
+ gmock_main_no_exception test/gmock-more-actions_test.cc)
+
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch
new file mode 100644
index 000000000000..22ac0b6d4a12
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch
@@ -0,0 +1,14 @@
+Bug: https://bugs.gentoo.org/629620
+Upstream PR: https://github.com/google/googletest/pull/1274
+
+--- a/googletest/src/gtest-death-test.cc
++++ b/googletest/src/gtest-death-test.cc
+@@ -1070,7 +1070,7 @@
+
+ if (!use_fork) {
+ static const bool stack_grows_down = StackGrowsDown();
+- const size_t stack_size = getpagesize();
++ const size_t stack_size = getpagesize() * 10;
+ // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
+ void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE,
+ MAP_ANON | MAP_PRIVATE, -1, 0);
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch b/dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch
new file mode 100644
index 000000000000..c18b58e16fb6
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-multilib-strict.patch
@@ -0,0 +1,40 @@
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -11,6 +11,8 @@
+
+ option(gmock_build_tests "Build all of Google Mock's own tests." OFF)
+
++set(LIB_INSTALL_DIR lib CACHE STRING "Library install directory")
++
+ # A directory to find Google Test sources.
+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/gtest/CMakeLists.txt")
+ set(gtest_dir gtest)
+@@ -104,7 +106,7 @@
+ #
+ # Install rules
+ install(TARGETS gmock gmock_main
+- DESTINATION lib)
++ DESTINATION ${LIB_INSTALL_DIR})
+ install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock
+ DESTINATION include)
+
+--- a/googletest/CMakeLists.txt
++++ b/googletest/CMakeLists.txt
+@@ -27,6 +27,8 @@
+ "Build gtest with internal symbols hidden in shared libraries."
+ OFF)
+
++set(LIB_INSTALL_DIR lib CACHE STRING "Library install directory")
++
+ # Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build().
+ include(cmake/hermetic_build.cmake OPTIONAL)
+
+@@ -103,7 +105,7 @@
+ #
+ # Install rules
+ install(TARGETS gtest gtest_main
+- DESTINATION lib)
++ DESTINATION ${LIB_INSTALL_DIR})
+ install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest
+ DESTINATION include)
+
diff --git a/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch b/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch
new file mode 100644
index 000000000000..eadfe6197389
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-9999-fix-gcc6-undefined-behavior.patch
@@ -0,0 +1,21 @@
+Fix build with GCC 6 due to lifetime issues.
+
+--- a/googletest/src/gtest.cc
++++ b/googletest/src/gtest.cc
+@@ -2654,10 +2654,12 @@
+ test->Run();
+ }
+
+- // Deletes the test object.
+- impl->os_stack_trace_getter()->UponLeavingGTest();
+- internal::HandleExceptionsInMethodIfSupported(
+- test, &Test::DeleteSelf_, "the test fixture's destructor");
++ if (test != NULL) {
++ // Deletes the test object.
++ impl->os_stack_trace_getter()->UponLeavingGTest();
++ internal::HandleExceptionsInMethodIfSupported(
++ test, &Test::DeleteSelf_, "the test fixture's destructor");
++ }
+
+ result_.set_elapsed_time(internal::GetTimeInMillis() - start);
+
diff --git a/dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch b/dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch
new file mode 100644
index 000000000000..ba63c7b3eeb3
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-9999-fix-py-tests.patch
@@ -0,0 +1,19 @@
+Fix python tests that use broken generator expressions
+
+--- a/googletest/cmake/internal_utils.cmake
++++ b/googletest/cmake/internal_utils.cmake
+@@ -247,12 +247,12 @@
+ add_test(
+ NAME ${name}
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
+- --build_dir=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>)
++ --build_dir=${CMAKE_CURRENT_BINARY_DIR})
+ else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
+ add_test(
+ ${name}
+ ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
+- --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
++ --build_dir=${CMAKE_CURRENT_BINARY_DIR})
+ endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
+ endif()
+ endfunction()
diff --git a/dev-cpp/gtest/gtest-1.7.0-r1.ebuild b/dev-cpp/gtest/gtest-1.7.0-r1.ebuild
new file mode 100644
index 000000000000..f1185b2db0cc
--- /dev/null
+++ b/dev-cpp/gtest/gtest-1.7.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+# Python is required for tests and some build tasks.
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-any-r1 autotools-multilib
+
+DESCRIPTION="Google C++ Testing Framework"
+HOMEPAGE="https://github.com/google/googletest"
+SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="examples static-libs"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}/configure-fix-pthread-linking.patch" #371647
+)
+
+src_prepare() {
+ sed -i -e "s|/tmp|${T}|g" test/gtest-filepath_test.cc || die
+ sed -i -r \
+ -e '/^install-(data|exec)-local:/s|^.*$|&\ndisabled-&|' \
+ Makefile.am || die
+ autotools-multilib_src_prepare
+}
+
+multilib_src_install() {
+ default
+ multilib_is_native_abi && dobin scripts/gtest-config
+}
+
+multilib_src_install_all() {
+ prune_libtool_files --all
+ einstalldocs
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins samples/*.{cc,h}
+ fi
+}
diff --git a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..96cb8b936bfb
--- /dev/null
+++ b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Python is required for tests and some build tasks.
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+
+inherit python-any-r1 cmake-multilib
+
+DESCRIPTION="Google C++ Testing Framework"
+HOMEPAGE="https://github.com/google/googletest"
+SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples test"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+RDEPEND="!dev-cpp/gmock"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9999-fix-py-tests.patch
+ "${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
+ "${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
+ "${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
+ "${FILESDIR}"/${PN}-1.8.0-fix-doublefree.patch
+)
+
+S="${WORKDIR}"/googletest-release-${PV}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GMOCK=ON
+ -DBUILD_GTEST=ON
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -Dgtest_build_samples=OFF
+ -Dgtest_disable_pthreads=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ # tests
+ -Dgmock_build_tests=$(usex test)
+ -Dgtest_build_tests=$(usex test)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ cmake-utils_src_configure mycmakeargs
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use doc; then
+ docinto googletest
+ dodoc -r googletest/docs/*
+ docinto googlemock
+ dodoc -r googlemock/docs/*
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc googletest/samples/*.{cc,h}
+ fi
+}
diff --git a/dev-cpp/gtest/gtest-1.8.0.ebuild b/dev-cpp/gtest/gtest-1.8.0.ebuild
new file mode 100644
index 000000000000..3dbd8e1a06d4
--- /dev/null
+++ b/dev-cpp/gtest/gtest-1.8.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Python is required for tests and some build tasks.
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+
+inherit python-any-r1 cmake-multilib
+
+DESCRIPTION="Google C++ Testing Framework"
+HOMEPAGE="https://github.com/google/googletest"
+SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples test"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+RDEPEND="!dev-cpp/gmock"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9999-fix-py-tests.patch
+ "${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
+ "${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
+ "${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
+)
+
+S="${WORKDIR}"/googletest-release-${PV}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GMOCK=ON
+ -DBUILD_GTEST=ON
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -Dgtest_build_samples=OFF
+ -Dgtest_disable_pthreads=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ # tests
+ -Dgmock_build_tests=$(usex test)
+ -Dgtest_build_tests=$(usex test)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ cmake-utils_src_configure mycmakeargs
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use doc; then
+ docinto googletest
+ dodoc -r googletest/docs/*
+ docinto googlemock
+ dodoc -r googlemock/docs/*
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc googletest/samples/*.{cc,h}
+ fi
+}
diff --git a/dev-cpp/gtest/gtest-9999.ebuild b/dev-cpp/gtest/gtest-9999.ebuild
new file mode 100644
index 000000000000..06c94dbd49af
--- /dev/null
+++ b/dev-cpp/gtest/gtest-9999.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+# Python is required for tests and some build tasks.
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+
+inherit python-any-r1 cmake-multilib
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/google/googletest"
+else
+ SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+ S="${WORKDIR}"/googletest-release-${PV}
+fi
+
+DESCRIPTION="Google C++ Testing Framework"
+HOMEPAGE="https://github.com/google/googletest"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc examples test"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+RDEPEND="!dev-cpp/gmock"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
+ "${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
+ "${FILESDIR}"/${PN}-1.8.0-fix-doublefree.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GMOCK=ON
+ -DBUILD_GTEST=ON
+ -DINSTALL_GMOCK=ON
+ -DINSTALL_GTEST=ON
+ -Dgtest_build_samples=OFF
+ -Dgtest_disable_pthreads=OFF
+
+ # currently only static libs work
+ # due to numerous ODR violations
+ # https://github.com/google/googletest/issues/930
+ -DBUILD_SHARED_LIBS=OFF
+
+ # tests
+ -Dgmock_build_tests=$(usex test)
+ -Dgtest_build_tests=$(usex test)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ cmake-utils_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use doc; then
+ docinto googletest
+ dodoc -r googletest/docs/*
+ docinto googlemock
+ dodoc -r googlemock/docs/*
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc googletest/samples/*.{cc,h}
+ fi
+}
diff --git a/dev-cpp/gtest/metadata.xml b/dev-cpp/gtest/metadata.xml
new file mode 100644
index 000000000000..f40cfed12c28
--- /dev/null
+++ b/dev-cpp/gtest/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>plevine457@gmail.com</email>
+ <name>Peter Levine</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <doc lang="en">https://github.com/google/googletest/tree/master/googletest/docs</doc>
+ <remote-id type="github">google/googletest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/gtkglextmm-1.2.0-r1 b/dev-cpp/gtkglextmm-1.2.0-r1
deleted file mode 100644
index 99231ba705fb..000000000000
--- a/dev-cpp/gtkglextmm-1.2.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=x11-libs/gtkglext-1 >=dev-libs/libsigc++-2.0 >=dev-cpp/glibmm-2.4:2 >=dev-cpp/gtkmm-2.4:2.4 virtual/opengl virtual/pkgconfig >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for gtkglext
-EAPI=5
-HOMEPAGE=https://projects.gnome.org/gtkglext/
-IUSE=doc debug
-KEYWORDS=amd64 ppc x86
-LICENSE=GPL-2 LGPL-2.1
-RDEPEND=>=x11-libs/gtkglext-1 >=dev-libs/libsigc++-2.0 >=dev-cpp/glibmm-2.4:2 >=dev-cpp/gtkmm-2.4:2.4 virtual/opengl
-SLOT=1.0
-SRC_URI=mirror://sourceforge/gtkglext/gtkglextmm-1.2.0.tar.bz2
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=95909718af06e1108d0e2860d6da23e9
diff --git a/dev-cpp/gtkglextmm-1.2.0-r2 b/dev-cpp/gtkglextmm-1.2.0-r2
deleted file mode 100644
index e32d24407639..000000000000
--- a/dev-cpp/gtkglextmm-1.2.0-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=x11-libs/gtkglext-1 >=dev-libs/libsigc++-2.0 >=dev-cpp/glibmm-2.4:2 >=dev-cpp/gtkmm-2.4:2.4 virtual/opengl virtual/pkgconfig >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for gtkglext
-EAPI=5
-HOMEPAGE=https://projects.gnome.org/gtkglext/
-IUSE=doc debug
-KEYWORDS=amd64 ppc x86
-LICENSE=GPL-2 LGPL-2.1
-RDEPEND=>=x11-libs/gtkglext-1 >=dev-libs/libsigc++-2.0 >=dev-cpp/glibmm-2.4:2 >=dev-cpp/gtkmm-2.4:2.4 virtual/opengl
-SLOT=1.0
-SRC_URI=mirror://sourceforge/gtkglext/gtkglextmm-1.2.0.tar.bz2
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=ef8842acf90729c9432e83bc4e85c281
diff --git a/dev-cpp/gtkglextmm/Manifest b/dev-cpp/gtkglextmm/Manifest
new file mode 100644
index 000000000000..0ae853973891
--- /dev/null
+++ b/dev-cpp/gtkglextmm/Manifest
@@ -0,0 +1,5 @@
+AUX gtkglextmm-1.2.0-aclocal.patch 516 BLAKE2B 2d45435ad7a5c9780e2325b39ff4ea50fe904147b9392a9e0bf8cea4af9bb9ea99804ad7e9cd9afa79af857697d851c3ad6617f887d9042792734e2be218d84d SHA512 291eeb4506c2ab21d61b10ce8ce1000651af6236edcf24a0b09c9e975cf9cfabaabbb8414b55372682fd3fbfac4c2b67b0f5dc62a34529b6a1e51c05cc77a079
+DIST gtkglextmm-1.2.0.tar.bz2 623815 BLAKE2B 14c44242f4d083915fa119a75d98bc913ba9c5177660c9e9dc728dcb801d98a100b294621dba9c857cc369dbe098c586c42e61f1407fc935b66ea9705a7b3f94 SHA512 94e66bc295000bb3f3352f58c9848372a4c23586dcc52450806c73e3e0630ab2b51291b347da16bba853b658deb070218203a031d906fc2ff051386dd065aba9
+EBUILD gtkglextmm-1.2.0-r1.ebuild 856 BLAKE2B 4fc9e24c9a144b227b5de8d2ace40ac2ebf33710c15712f28a7dc84e6d978bd0ead9f73e040b49f8ac1050f46454265d31070440e89ec8503edb9a2ba6587b4e SHA512 7d212becea718e07bff371517e876c0df8a66b4ec0312940ff07fac73ae1962581eb0c75c62df3fe2eec8693e9e75c83e1d710f311145782b7235389a8c903ee
+EBUILD gtkglextmm-1.2.0-r2.ebuild 996 BLAKE2B a5521d58d06d9bb89c38842b8282d9e0cdaa4e430da23cc86f29abc9276ed99f3455b2d05a70bd7805729f099261533d93c794772b6874608377aec7c5b51ddf SHA512 ed0bf139a4c6e06ef46a88c94577756d5886556721a6656406949936c32e211714d739ebfa0506ffcfd72691f2430862b048fa031991c7ccbee5005d5f18d7c4
+MISC metadata.xml 331 BLAKE2B 214f9245eccb98bed5314d370a2e16d8605c46629c656c05a22c1a037e7aeeb9d3255f24203405b148fc73276241db48243303a86abea879c08a944025cc51b4 SHA512 8c9768b7a27485752cb816de376d4e9e352e6522e42eb489d41aab48f0fd47541483913c7fec9ec4bbdfea3aa846c35bedab83ac2524901635337a7111f14ab9
diff --git a/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
new file mode 100644
index 000000000000..32fa489cce81
--- /dev/null
+++ b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
@@ -0,0 +1,11 @@
+--- gtkglextmm-1.2.0/m4macros/gtkglextmm.m4.orig 2004-05-18 10:29:34.000000000 +0400
++++ gtkglextmm-1.2.0/m4macros/gtkglextmm.m4 2015-08-07 17:02:42.324065008 +0300
+@@ -222,7 +222,7 @@
+ dnl AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD([ACTION-IF-SUPPORTED [, ACTION-IF-NOT-SUPPORTED]])
+ dnl Checks whether gtkglextmm supports multihead.
+ dnl
+-AC_DEFUN(AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD,
++AC_DEFUN([AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD],
+ [ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_CACHE_CHECK([whether gtkglextmm supports multihead],
diff --git a/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r1.ebuild b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..93ebb6e6a98a
--- /dev/null
+++ b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+GCONF_DEBUG="yes"
+
+inherit gnome2
+
+DESCRIPTION="C++ bindings for gtkglext"
+HOMEPAGE="https://projects.gnome.org/gtkglext/"
+SRC_URI="mirror://sourceforge/gtkglext/${P}.tar.bz2"
+
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+SLOT="1.0"
+LICENSE="GPL-2 LGPL-2.1"
+
+RDEPEND="
+ >=x11-libs/gtkglext-1
+ >=dev-libs/libsigc++-2.0
+ >=dev-cpp/glibmm-2.4:2
+ >=dev-cpp/gtkmm-2.4:2.4
+ virtual/opengl
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # Remove docs from SUBDIRS so that docs are not installed, as
+ # we handle it in src_install.
+ sed -i -e 's|^\(SUBDIRS =.*\)docs\(.*\)|\1\2|' Makefile.in || \
+ die "sed Makefile.in failed"
+
+ gnome2_src_prepare
+}
+
+src_install() {
+ gnome2_src_install
+ if use doc; then
+ dohtml -r docs/reference/html/*
+ fi
+}
diff --git a/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
new file mode 100644
index 000000000000..e5e655eddc36
--- /dev/null
+++ b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+GCONF_DEBUG="yes"
+
+inherit eutils flag-o-matic gnome2
+
+DESCRIPTION="C++ bindings for gtkglext"
+HOMEPAGE="https://projects.gnome.org/gtkglext/"
+SRC_URI="mirror://sourceforge/gtkglext/${P}.tar.bz2"
+
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+SLOT="1.0"
+LICENSE="GPL-2 LGPL-2.1"
+
+RDEPEND="
+ >=x11-libs/gtkglext-1
+ >=dev-libs/libsigc++-2.0
+ >=dev-cpp/glibmm-2.4:2
+ >=dev-cpp/gtkmm-2.4:2.4
+ virtual/opengl
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # fix underquoted definition, bug 552686
+ epatch "${FILESDIR}/${P}-aclocal.patch"
+
+ # Remove docs from SUBDIRS so that docs are not installed, as
+ # we handle it in src_install.
+ sed -i -e 's|^\(SUBDIRS =.*\)docs\(.*\)|\1\2|' Makefile.in || \
+ die "sed Makefile.in failed"
+
+ gnome2_src_prepare
+ append-cxxflags -std=c++11 #568024
+}
+
+src_install() {
+ gnome2_src_install
+ if use doc; then
+ dohtml -r docs/reference/html/*
+ fi
+}
diff --git a/dev-cpp/gtkglextmm/metadata.xml b/dev-cpp/gtkglextmm/metadata.xml
new file mode 100644
index 000000000000..aa10f62c61db
--- /dev/null
+++ b/dev-cpp/gtkglextmm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gtkglext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/gtkmm-2.24.5 b/dev-cpp/gtkmm-2.24.5
deleted file mode 100644
index 0cfe4c7cc5d4..000000000000
--- a/dev-cpp/gtkmm-2.24.5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=dev-cpp/glibmm-2.34.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-2.24.15:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.28:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/atkmm-2.22.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.10.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/pangomm-2.34.0:1.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] doc? ( media-gfx/graphviz dev-libs/libxslt app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ interface for GTK+
-EAPI=6
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
-LICENSE=LGPL-2.1+
-RDEPEND=>=dev-cpp/glibmm-2.34.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-2.24.15:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.28:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/atkmm-2.22.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.10.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/pangomm-2.34.0:1.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=2.4
-SRC_URI=mirror://gnome/sources/gtkmm/2.24/gtkmm-2.24.5.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=e5dfd07034e5e086ff0a3d236fcbcd94
diff --git a/dev-cpp/gtkmm-3.22.2 b/dev-cpp/gtkmm-3.22.2
deleted file mode 100644
index c9a7faca2744..000000000000
--- a/dev-cpp/gtkmm-3.22.2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=dev-cpp/glibmm-2.49.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-3.22.0:3[aqua?,wayland?,X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.35.5:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/atkmm-2.24.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.12.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/pangomm-2.38.2:1.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig doc? ( media-gfx/graphviz dev-libs/libxslt app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
-DESCRIPTION=C++ interface for GTK+
-EAPI=6
-HOMEPAGE=https://www.gtkmm.org
-IUSE=aqua doc test wayland X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 test
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris
-LICENSE=LGPL-2.1+
-RDEPEND=>=dev-cpp/glibmm-2.49.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-3.22.0:3[aqua?,wayland?,X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.35.5:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/atkmm-2.24.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.12.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/pangomm-2.38.2:1.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-REQUIRED_USE=|| ( aqua wayland X )
-SLOT=3.0
-SRC_URI=mirror://gnome/sources/gtkmm/3.22/gtkmm-3.22.2.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 virtualx 3a3c4637ea6d5a2113707a644766337c xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=704c0b17e52e35a032ec65584b20299f
diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest
new file mode 100644
index 000000000000..36aa35cc5190
--- /dev/null
+++ b/dev-cpp/gtkmm/Manifest
@@ -0,0 +1,5 @@
+DIST gtkmm-2.24.5.tar.xz 12022024 BLAKE2B 6b2bca9fe6ad81cd956e1f3cc3140bc503b78386cf3931c8eeac08c8b2a08c73450bdbb703d1febaee67cdf834093ff5e89790f866357190822613a68a596ad3 SHA512 c50e52830977c37181439f4b82a30ac8bead0cf9022d2bec8225f8dc33e08414f863bf67056e1938fae8f888c09a5a6d757acc011fa9331a78caa6bb626dd51e
+DIST gtkmm-3.22.2.tar.xz 12341028 BLAKE2B cac55d0358be4be50ff2d603b245a34af4bab0a046332ac6a7159ea7dece8bce8cd53c532ce499cf3172e8f69455de0378946640ad363e33ddd2a5c38e6843ca SHA512 6e96b543e459481145ee0f56f31a7ad2466bd8ccdd2abf3205998aecede73d235149ca6e5ba6e8d20a4fd5345e310870d81ac2a716d4f78d1460ed685badbdc2
+EBUILD gtkmm-2.24.5.ebuild 1539 BLAKE2B bcde9c3cabad5325df0293ea9bd8dafaa68245222b0cd8e378b41bbfb7d026265a1f3dbdab7120cf6d43d7108917be08556b4958aa9623cefbd99da321c7c435 SHA512 0333f5d68fd5d7f5d14c8e7c765b5b9723d2842068751be364d8b7e52ebc8ddb22afb77f846236ac92a48918674ad0da713f277f20e8dbec398d91038f97bda2
+EBUILD gtkmm-3.22.2.ebuild 1830 BLAKE2B a94019630550703e0fed33bdf6728bc483077a0e52e804f369c576306ef4f395bd37d5bf53d52bb53492f3ccc18d0bdf3e7bba68fe86cb5649091e0681a823f1 SHA512 b43a93016963292bb8c5725eb9ea0b0d0faefc6aff6293722c5db5058c76220b0d339b9e227001c6f557f9229ab13064fd025fc95d8f31fd8d4f8590052ed8bd
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/gtkmm/gtkmm-2.24.5.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.5.ebuild
new file mode 100644
index 000000000000..2c187fe412a2
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-2.24.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="2.4"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-cpp/glibmm-2.34.1:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.24.15:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/atkmm-2.22.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.10.0-r1[${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.34.0:1.4[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ gnome2_src_configure \
+ --enable-api-atkmm \
+ $(multilib_native_use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ einstalldocs
+}
diff --git a/dev-cpp/gtkmm/gtkmm-3.22.2.ebuild b/dev-cpp/gtkmm/gtkmm-3.22.2.ebuild
new file mode 100644
index 000000000000..a5c4bb77fa26
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.22.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2 multilib-minimal virtualx
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+
+IUSE="aqua doc test wayland X"
+REQUIRED_USE="|| ( aqua wayland X )"
+
+RDEPEND="
+ >=dev-cpp/glibmm-2.49.1:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.22.0:3[aqua?,wayland?,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.35.5:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/atkmm-2.24.2[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.12.0[${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.38.2:1.4[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+# eautoreconf needs mm-common
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ # don't waste time building examples
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ --enable-api-atkmm \
+ $(multilib_native_use_enable doc documentation) \
+ $(use_enable aqua quartz-backend) \
+ $(use_enable wayland wayland-backend) \
+ $(use_enable X x11-backend)
+}
+
+multilib_src_test() {
+ virtx emake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find demos -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
+ find demos -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
+ dodoc -r demos
+}
diff --git a/dev-cpp/gtkmm/metadata.xml b/dev-cpp/gtkmm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/gtkmm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/gtksourceviewmm-2.10.3-r1 b/dev-cpp/gtksourceviewmm-2.10.3-r1
deleted file mode 100644
index 20755685102f..000000000000
--- a/dev-cpp/gtksourceviewmm-2.10.3-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=dev-cpp/gtkmm-2.12:2.4 dev-cpp/atkmm >=x11-libs/gtksourceview-2.10.0:2.0 !>=dev-cpp/libgtksourceviewmm-1 virtual/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for gtksourceview
-EAPI=5
-HOMEPAGE=https://wiki.gnome.org/Projects/GtkSourceView
-IUSE=doc
-KEYWORDS=amd64 ppc x86
-LICENSE=LGPL-2.1
-RDEPEND=>=dev-cpp/gtkmm-2.12:2.4 dev-cpp/atkmm >=x11-libs/gtksourceview-2.10.0:2.0 !>=dev-cpp/libgtksourceviewmm-1
-SLOT=2.0
-SRC_URI=mirror://gnome/sources/gtksourceviewmm/2.10/gtksourceviewmm-2.10.3.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=611a5337011a2cc30b4143f441509e1b
diff --git a/dev-cpp/gtksourceviewmm-3.18.0 b/dev-cpp/gtksourceviewmm-3.18.0
deleted file mode 100644
index d8ef40be5f69..000000000000
--- a/dev-cpp/gtksourceviewmm-3.18.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=dev-cpp/glibmm-2.46.1:2 >=dev-cpp/gtkmm-3.18.0:3.0 >=x11-libs/gtksourceview-3.18.0:3.0 dev-cpp/atkmm dev-cpp/cairomm dev-cpp/pangomm:1.4 virtual/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for gtksourceview
-EAPI=5
-HOMEPAGE=https://wiki.gnome.org/Projects/GtkSourceView
-IUSE=doc
-KEYWORDS=amd64 ppc x86
-LICENSE=LGPL-2.1
-RDEPEND=>=dev-cpp/glibmm-2.46.1:2 >=dev-cpp/gtkmm-3.18.0:3.0 >=x11-libs/gtksourceview-3.18.0:3.0 dev-cpp/atkmm dev-cpp/cairomm dev-cpp/pangomm:1.4
-SLOT=3.0
-SRC_URI=mirror://gnome/sources/gtksourceviewmm/3.18/gtksourceviewmm-3.18.0.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=74c6e10242891f8e39c8b81956aeabbd
diff --git a/dev-cpp/gtksourceviewmm/Manifest b/dev-cpp/gtksourceviewmm/Manifest
new file mode 100644
index 000000000000..b2360c53a610
--- /dev/null
+++ b/dev-cpp/gtksourceviewmm/Manifest
@@ -0,0 +1,5 @@
+DIST gtksourceviewmm-2.10.3.tar.xz 742184 BLAKE2B bfd61f3ca29afa4b01fef651849189983fbc64c95c0258c19812b6fddfb2f9e793a1a684e44e88384dcb24632a2c247f4b6ec400f2ef3d19f878064e017d986b SHA512 e6ddc4f585251f68e48cf0ea2c33bce02a90031efcd885105a82837715d659a317ee0845b476fc54c1c4c71b518df41ce494505af1524db6acb733e51f44e6ca
+DIST gtksourceviewmm-3.18.0.tar.xz 1079780 BLAKE2B 973f06a3baed8d5ab541b2f179f773391fe562cab2fceffd0366748acafc4bfc1d4717d969bdd5a5716f892ff497b89338f8b3cd085aebb9c033a40b29d3c0b4 SHA512 143de4a650f2a6090efeba359e78d1f4982519a9e7a2be838f9888732c57dcc42db8b6ab45bd23ccd261d8f17bc743846a3bb572566f233cee9b4238c017c64c
+EBUILD gtksourceviewmm-2.10.3-r1.ebuild 996 BLAKE2B 307fecc9161d49415db64e6fd51dcab84f8a3b21c5c439615672df03bae49c9f08d5ba97606144b7fee4b1d4e4d61c739b8ffb69a502c764a6d7724f3c3326dd SHA512 f99d6f782dace300684c4cb586fc0a3ba8878acf18d2628ae16fb96f673986706b8260908af4ec5aa228a64617f3f4ecab5823705af10af2fb7a21987e1fd290
+EBUILD gtksourceviewmm-3.18.0.ebuild 659 BLAKE2B be522f66b7daa040a9b21d48796590e0541cd1296aae2d50afcab2f181f550bdc1cc1aad218de1311d6ace7a00bd4c6b493786a3a72b4dd3c22b4b999f6736ea SHA512 268b2ad731c6f97ceb62d8778d59f9abf981a6c57d39342386f924fa309e843b7950b1727b3981266d19f98a8f08037ef741ff13db3a72510eba4afae1f5b3e0
+MISC metadata.xml 342 BLAKE2B fc1ffaf34f8e22ec33fa92bfda29fc9fbdaaf36f619db8b0e195aa83dd0083d68f197f55b8654cc878c3562675e56cccbdd0e7e1771fb492fc47ab5b41f0f55c SHA512 f422091476e8cbb36d443d00396344c0943b3e8d482fffbef3272c656df9be44ed31eef6a20478430e7f7364832a7d86fc82df964436a3cb6ecf7f59c8d23d6b
diff --git a/dev-cpp/gtksourceviewmm/gtksourceviewmm-2.10.3-r1.ebuild b/dev-cpp/gtksourceviewmm/gtksourceviewmm-2.10.3-r1.ebuild
new file mode 100644
index 000000000000..0d30e55b5a85
--- /dev/null
+++ b/dev-cpp/gtksourceviewmm/gtksourceviewmm-2.10.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit flag-o-matic gnome2
+
+DESCRIPTION="C++ bindings for gtksourceview"
+HOMEPAGE="https://wiki.gnome.org/Projects/GtkSourceView"
+
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+SLOT="2.0"
+LICENSE="LGPL-2.1"
+
+RDEPEND="
+ >=dev-cpp/gtkmm-2.12:2.4
+ dev-cpp/atkmm
+ >=x11-libs/gtksourceview-2.10.0:2.0
+ !>=dev-cpp/libgtksourceviewmm-1
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Remove docs from SUBDIRS so that docs are not installed, as
+ # we handle it in src_install.
+ sed -i -e 's|^\(SUBDIRS =.*\)$(doc_subdirs)\(.*\)|\1\2|' Makefile.in || \
+ die "sed Makefile.in failed"
+}
+
+src_configure() {
+ append-cxxflags -std=c++11
+ gnome2_src_configure \
+ $(use_enable doc documentation) \
+ --disable-static
+}
+
+src_install() {
+ gnome2_src_install
+ use doc && dohtml -r docs/reference/html/*
+}
diff --git a/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0.ebuild b/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0.ebuild
new file mode 100644
index 000000000000..78ea3e11d330
--- /dev/null
+++ b/dev-cpp/gtksourceviewmm/gtksourceviewmm-3.18.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="C++ bindings for gtksourceview"
+HOMEPAGE="https://wiki.gnome.org/Projects/GtkSourceView"
+
+KEYWORDS="amd64 ppc x86"
+IUSE="doc"
+SLOT="3.0"
+LICENSE="LGPL-2.1"
+
+RDEPEND="
+ >=dev-cpp/glibmm-2.46.1:2
+ >=dev-cpp/gtkmm-3.18.0:3.0
+ >=x11-libs/gtksourceview-3.18.0:3.0
+
+ dev-cpp/atkmm
+ dev-cpp/cairomm
+ dev-cpp/pangomm:1.4
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog* NEWS README"
+ gnome2_src_configure $(use_enable doc documentation)
+}
diff --git a/dev-cpp/gtksourceviewmm/metadata.xml b/dev-cpp/gtksourceviewmm/metadata.xml
new file mode 100644
index 000000000000..2d330219aab1
--- /dev/null
+++ b/dev-cpp/gtksourceviewmm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ Gtkmm (C++) wrapper for gtksourceview
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-cpp/htmlcxx-0.86 b/dev-cpp/htmlcxx-0.86
deleted file mode 100644
index cec00d505552..000000000000
--- a/dev-cpp/htmlcxx-0.86
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install test
-DEPEND=sys-devel/flex[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/yacc
-DESCRIPTION=A simple non-validating CSS 1 and HTML parser for C++
-EAPI=6
-HOMEPAGE=http://htmlcxx.sourceforge.net/
-IUSE=static-libs abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~amd64 ~x86
-LICENSE=LGPL-2
-SLOT=0
-SRC_URI=mirror://sourceforge/htmlcxx/htmlcxx-0.86.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=6b1864060519d41d0578429a38685396
diff --git a/dev-cpp/htmlcxx/Manifest b/dev-cpp/htmlcxx/Manifest
new file mode 100644
index 000000000000..b4c87079135c
--- /dev/null
+++ b/dev-cpp/htmlcxx/Manifest
@@ -0,0 +1,5 @@
+AUX 0001-strstream-is-deprecated-use-sstream-instead.patch 1442 BLAKE2B 93f0f2ec5606650bc0aac209ee80e988bb0fbbb158d9f367b39ef5f87bba9bf7dbe71fde2977d39529bae5cbe4a7da012511bdd89f105311f39459db82f2d093 SHA512 75cbb49425edc4c77c9bafd0f0fcc1d0bb8364db542229bc9a838003dd4d16e785346760e433c3cebc6aff44018d104f72c66b40257b7f82690f5c1dea8eb542
+AUX 0002-Update-css_syntax.y-for-use-with-less-ancient-Bison.patch 1265 BLAKE2B aacadc58a374a644eb2207d26e67e948e1cb4a3cbf9cf51474ab4a1c4740cf2bba18417b5d584ac096906d4271e34a5454f741527b28e1dd258fb99b5a1e2bea SHA512 c311c1d4e6cc463ec31fc13b77f1d38f68c81edda072c2486db1bdae3f19aa74db64a03056d941960c08dd193a4910930844ec6781c7c44d3ab4559eb40d4ce5
+DIST htmlcxx-0.86.tar.gz 469416 BLAKE2B 6edd4b7755db6d8911bc4ee6b1b61792b08d6a381971162a77cd3a6c7cb6cdb06e5a4a77b0a815589edab26aec04490a6b6c9edd80199f01304a506c707688b6 SHA512 dcff9c9946e1c3429af2230997c965b89a28a8ee219d8d594800106ff578bb21154e4680c38a09fb5f96cd4051c89cbf16f2151d30be93d4e3d291ff421aafcb
+EBUILD htmlcxx-0.86.ebuild 779 BLAKE2B 3079d926bebee3bccb81d11be3433ee2e2e0c83ccc2ee89675f1b7922967b3dc6f45cb4b01ac3ef14cca15c4f9af83c48bb56b8afd239ca4d623caace4a088c9 SHA512 05e1f4d67c94a604e1f933aa381d3b94aeb122cfcdbac4635682a06ff70f50db31d9cac393bb9fa334920f6a7f3cfdffbe068e02b50a89425767df6701682093
+MISC metadata.xml 324 BLAKE2B 41ae2c30cadd90db72f85f0b1a8829cccb8aa250bbd57dc10414f856dc3eadee95e94c6261901da3d7555ea30960d06b4110fd3b426e3faa72df809abded6ec3 SHA512 09d19b383ae7c72a26e069063cb28bd4b96d61e4c27505234131ef635dd2643bba26fbde2d972029969fd209eb9b0370c2a95b582b1f1516dbef31c5e7d9ac43
diff --git a/dev-cpp/htmlcxx/files/0001-strstream-is-deprecated-use-sstream-instead.patch b/dev-cpp/htmlcxx/files/0001-strstream-is-deprecated-use-sstream-instead.patch
new file mode 100644
index 000000000000..822c1c8e41a2
--- /dev/null
+++ b/dev-cpp/htmlcxx/files/0001-strstream-is-deprecated-use-sstream-instead.patch
@@ -0,0 +1,56 @@
+From 04fbe8cb7d933699f2a8ac06d89b205d933070c1 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Wed, 14 Sep 2016 22:56:14 +0100
+Subject: [PATCH 1/3] strstream is deprecated, use sstream instead
+
+---
+ html/Uri.cc | 2 +-
+ html/utils.cc | 5 ++---
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/html/Uri.cc b/html/Uri.cc
+index 4ddb3dd..034d29a 100644
+--- a/html/Uri.cc
++++ b/html/Uri.cc
+@@ -1,7 +1,7 @@
+ #include "Uri.h"
+
+ #include "wincstring.h"
+-#include <strstream>
++#include <sstream>
+ #include <cstdlib>
+ #include <cassert>
+ #include "tld.h"
+diff --git a/html/utils.cc b/html/utils.cc
+index 37ee889..e56cbaf 100644
+--- a/html/utils.cc
++++ b/html/utils.cc
+@@ -1,7 +1,7 @@
+ #include <algorithm>
+ #include <cctype>
+ #include <cstring>
+-#include <strstream>
++#include <sstream>
+ #include "Uri.h"
+
+ #include "utils.h"
+@@ -509,7 +509,7 @@ namespace htmlcxx {
+ string __serialize_gml(const tree<HTML::Node> &tr, tree<HTML::Node>::iterator it, tree<HTML::Node>::iterator end, unsigned int parent_id, unsigned int& label) {
+
+ using namespace std;
+- ostrstream ret;
++ ostringstream ret;
+ tree<HTML::Node>::sibling_iterator sib = tr.begin(it);
+ while(sib != tr.end(it)) {
+ ret << "node [ id " << ++label << "\n label \"" << label << "\"\n]\n";
+@@ -519,7 +519,6 @@ namespace htmlcxx {
+ }
+ ret << ends;
+ string str = ret.str();
+- ret.freeze(0);
+ return str;
+ }
+
+--
+2.8.2
+
diff --git a/dev-cpp/htmlcxx/files/0002-Update-css_syntax.y-for-use-with-less-ancient-Bison.patch b/dev-cpp/htmlcxx/files/0002-Update-css_syntax.y-for-use-with-less-ancient-Bison.patch
new file mode 100644
index 000000000000..c387deeca7f1
--- /dev/null
+++ b/dev-cpp/htmlcxx/files/0002-Update-css_syntax.y-for-use-with-less-ancient-Bison.patch
@@ -0,0 +1,67 @@
+From 807081583ea58b07a5ff2e0659f4173492befb8a Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Wed, 14 Sep 2016 22:56:35 +0100
+Subject: [PATCH 2/3] Update css_syntax.y for use with less ancient Bison
+
+New pregenerated css_syntax.c to follow.
+---
+ css/css_syntax.y | 24 +++++++++++++++---------
+ 1 file changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/css/css_syntax.y b/css/css_syntax.y
+index e75720d..0d9b177 100644
+--- a/css/css_syntax.y
++++ b/css/css_syntax.y
+@@ -4,13 +4,13 @@
+ #include "css_lex.h"
+ #include "parser.h"
+
+-#define YYPARSE_PARAM yyparam
+ #define YYERROR_VERBOSE 1
+ //#define YYDEBUG 1
+
+ %}
+
+-%pure_parser
++%parse-param {void *yyparam}
++%pure-parser
+
+ %union {
+ char *lexeme;
+@@ -22,6 +22,19 @@
+ int pseudo_element;
+ }
+
++%{
++
++int yylex(YYSTYPE *lvalp);
++
++int yyerror(void *yyparam, const char *s) {
++#if YYDEBUG
++ fprintf(stderr, "Error: %s\n", s);
++#endif
++ return 0;
++}
++
++%}
++
+ %token IMPORT_SYM
+ %token IMPORTANT_SYM
+ %token IDENT
+@@ -571,13 +584,6 @@ hexcolor
+
+ %%
+
+-int yyerror(char *s) {
+-#if YYDEBUG
+- fprintf(stderr, "Error: %s\n", s);
+-#endif
+- return 0;
+-}
+-
+ struct selector_list_t* css_parse(const char *buffer, int buf_len) {
+ struct selector_list_t *ret = NULL;
+ //yydebug = 1;
+--
+2.8.2
+
diff --git a/dev-cpp/htmlcxx/htmlcxx-0.86.ebuild b/dev-cpp/htmlcxx/htmlcxx-0.86.ebuild
new file mode 100644
index 000000000000..88d48de33736
--- /dev/null
+++ b/dev-cpp/htmlcxx/htmlcxx-0.86.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils multilib-minimal
+
+DESCRIPTION="A simple non-validating CSS 1 and HTML parser for C++"
+HOMEPAGE="http://htmlcxx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND="sys-devel/flex[${MULTILIB_USEDEP}]
+ virtual/yacc"
+
+PATCHES=(
+ "${FILESDIR}"/0001-strstream-is-deprecated-use-sstream-instead.patch
+ "${FILESDIR}"/0002-Update-css_syntax.y-for-use-with-less-ancient-Bison.patch
+)
+
+ECONF_SOURCE="${S}"
+
+multilib_src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-cpp/htmlcxx/metadata.xml b/dev-cpp/htmlcxx/metadata.xml
new file mode 100644
index 000000000000..ea4a05ffcd3e
--- /dev/null
+++ b/dev-cpp/htmlcxx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">htmlcxx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/icnc-1.0.100 b/dev-cpp/icnc-1.0.100
deleted file mode 100644
index a7d6e37eccfe..000000000000
--- a/dev-cpp/icnc-1.0.100
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=>=dev-cpp/tbb-4.2 sys-libs/glibc mpi? ( virtual/mpi ) doc? ( app-doc/doxygen ) test? ( || ( >=dev-lang/python-2.7.5-r2:2.7 ) ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Intel Concurrent Collections for C++ - Parallelism without the Pain
-EAPI=5
-HOMEPAGE=https://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc
-IUSE=doc examples mpi test
-KEYWORDS=~amd64
-LICENSE=BSD
-RDEPEND=>=dev-cpp/tbb-4.2 sys-libs/glibc mpi? ( virtual/mpi )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/icnc/icnc/archive/v1.0.100.tar.gz -> icnc-1.0.100.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 6faea633ae2f79f6d55dcfd431b79fbf python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=d5c465e781e8dd10006baba5407175c5
diff --git a/dev-cpp/icnc/Manifest b/dev-cpp/icnc/Manifest
new file mode 100644
index 000000000000..a5805890efa4
--- /dev/null
+++ b/dev-cpp/icnc/Manifest
@@ -0,0 +1,3 @@
+DIST icnc-1.0.100.tar.gz 27164070 BLAKE2B 74c9e79b3d8fa0f75ee924910bde79bf0ac1535ce0e7e5e74dcac33a8219f574aadf7382a8d73ae281858ee3ae8f186ca55d33c22dfce223d1bb84c28ca42ddf SHA512 b6c231504ed36676d5c4a9c651c7ce6bee078a415c8d365dbe66208a5226a71c62924ee7bc0b36f8c35bff20ed5f0baf2710f581595d08fe10a1d799b3982a8b
+EBUILD icnc-1.0.100.ebuild 1765 BLAKE2B 575dcd97198ffb042f9e2c0a81a975314059571080bef1100fb7b09703aa6bac435e5288db3e2ad830a4d9833d966dd2a0d0730323f8379ab51fb078bedacf2a SHA512 8604fc5c7e9083a3bdb8ce1836125114ad16bfa813a6b0878b8ad4f51bed45390a4edb1014fc45468ceaae62bd0182f398960f77e0a3d433a3161f0ee7c091b0
+MISC metadata.xml 337 BLAKE2B 63b9db2b1be346292e3cdf58b658a95edb79a945624fac74bbd8b636cf2b766beb045735b3c3ae4299cb12008a0094445bfe315624e5ec2117f83dc10452da62 SHA512 50bfdd67e0a941f429e069d7c39815eba258d1f268c51d40ee38f63e44343dae130fe541ca5529eb19ea25f4e8a3619003db43477541ca5ece1b9639e086e5aa
diff --git a/dev-cpp/icnc/icnc-1.0.100.ebuild b/dev-cpp/icnc/icnc-1.0.100.ebuild
new file mode 100644
index 000000000000..85a28e528c1d
--- /dev/null
+++ b/dev-cpp/icnc/icnc-1.0.100.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils multilib python-any-r1
+
+DESCRIPTION="Intel Concurrent Collections for C++ - Parallelism without the Pain"
+HOMEPAGE="https://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc"
+
+if [[ $PV = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/icnc/icnc.git"
+ KEYWORDS=
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc examples mpi test"
+RESTRICT="test" #currently tests only work if icnc is already installed
+
+RDEPEND="
+ >=dev-cpp/tbb-4.2
+ sys-libs/glibc
+ mpi? ( virtual/mpi )
+ "
+DEPEND="
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( ${PYTHON_DEPS} )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use mpi BUILD_LIBS_FOR_MPI)
+ -DLIB=$(get_libdir)
+ $(cmake-utils_use_find_package doc Doxygen)
+ )
+ cmake-utils_src_configure
+ if use test ; then
+ mycmakeargs=( -DRUN_DIST=OFF )
+ CMAKE_USE_DIR="${S}/tests" \
+ BUILD_DIR="${WORKDIR}/${P}_tests_build" \
+ cmake-utils_src_configure
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use test && BUILD_DIR="${WORKDIR}/${P}_tests_build" cmake-utils_src_compile
+}
+
+src_test() {
+ BUILD_DIR="${WORKDIR}/${P}_tests_build" cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc ; then
+ insinto /usr/share/doc/${P}/html
+ doins -r "${ED}"/usr/doc/api/*
+ fi
+ rm -fr "${ED}"/usr/doc
+ if use examples ; then
+ insinto /usr/share/${PN}/examples
+ doins -r "${ED}"/usr/samples/*
+ fi
+ rm -r "${ED}"/usr/samples || die
+ insinto /usr/share/${PN}/
+ doins -r "${ED}"/usr/misc/*
+ rm -r "${ED}"/usr/misc/ || die
+}
diff --git a/dev-cpp/icnc/metadata.xml b/dev-cpp/icnc/metadata.xml
new file mode 100644
index 000000000000..fa8784ee0534
--- /dev/null
+++ b/dev-cpp/icnc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">icnc/icnc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libassa-3.5.1-r2 b/dev-cpp/libassa-3.5.1-r2
deleted file mode 100644
index 34f456408400..000000000000
--- a/dev-cpp/libassa-3.5.1-r2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install
-DEPEND=net-libs/libtirpc doc? ( app-doc/doxygen )
-DESCRIPTION=A networking library based on Adaptive Communication Patterns
-EAPI=6
-HOMEPAGE=http://libassa.sourceforge.net/
-IUSE=doc static-libs
-KEYWORDS=amd64 x86
-LICENSE=LGPL-2
-RDEPEND=net-libs/libtirpc
-SLOT=0
-SRC_URI=mirror://sourceforge/libassa/libassa-3.5.1.tar.gz
-_md5_=ac4ec2f2720a04df775864102a13ca9d
diff --git a/dev-cpp/libassa/Manifest b/dev-cpp/libassa/Manifest
new file mode 100644
index 000000000000..7040543f19c8
--- /dev/null
+++ b/dev-cpp/libassa/Manifest
@@ -0,0 +1,5 @@
+AUX libassa-3.5.0-fix-tests.patch 8440 BLAKE2B e8f93fd58313dd352edc8894f9c291a89903ddfeea212339971701b11b6be7ecf3299dec03e2031603f0d793f0ac5f68d130cb2c775def8eb486d734793a902e SHA512 a0d9604bbe6304f820f72a8ead35ce223bdcefb4228e9d11d8734a7540f8c50642de27a736d41daff89d595f2a7108ac3016278a38c0fe4123062aac50757afa
+AUX libassa-3.5.1-gcc47.patch 255 BLAKE2B fa4a92d8c4c94a8694ef24a84abe362b58de59f3119d169dc513757a5e7020b61082ad895d8dc9e74d28622e6f96524b83e8198226c6fa6ed57eb82afd63aeb1 SHA512 bb9d6e1c00f36d69eaa9abc5d5bd1c666698ad4facb4904874e7f1c6b1de1b6a7bc75da6a99f2e4fbb47ce552268c1a4ac01692f93ce4ba5ffc332f8ce39c741
+DIST libassa-3.5.1.tar.gz 641255 BLAKE2B bb92dc94b0dbe04d32a4e700fb3b4bae4c745b22d24fc5ec7ae97cf1ed1246dbfb82686cf4ef2d16fd424e5dc0de415fadda1c5f0024819dcb6904b35367c77b SHA512 ad00cb1de21bece699e49d31247201f62604f8d7d1e8f385f7b0eb20bf2bb953bfc741363a5009f64f0f262100cc09f136a49a0dab6ea330424dee1965a3c2c7
+EBUILD libassa-3.5.1-r2.ebuild 690 BLAKE2B 15ebc7fcccffac3d49c20c570b60e5d78f5b0a8e3bb7913948b56ad252cfcb25ad3ee2fd1117a840fd7f03fa8cf5c7e68de8535b42dc5ca02f18c212b6674045 SHA512 81455acf378847c429b7e0295f0ad7871ca03784f3b4bcd82575a6ecd7bf86c7647354919c8f72b56e8b010548569a15188467f7b6c7f059f02785393a464b76
+MISC metadata.xml 216 BLAKE2B 178436f7a466790f2462aa11d45bcd91fae01d91fe03579f00c90c6b64c86d512723a311f3edaaf4112e7123837a365b957c3040732c3dd546947af8750a2b2c SHA512 fd69bb19442f90749ef0e650ffbc31413bde91e0453ef0a8ce5ed4302235ae4b1a79c72e5468c7933af64ee0d2af8e1dbcb4d79ed974f9ba1d9da139afb3097d
diff --git a/dev-cpp/libassa/files/libassa-3.5.0-fix-tests.patch b/dev-cpp/libassa/files/libassa-3.5.0-fix-tests.patch
new file mode 100644
index 000000000000..47bdde8d5564
--- /dev/null
+++ b/dev-cpp/libassa/files/libassa-3.5.0-fix-tests.patch
@@ -0,0 +1,351 @@
+diff --git a/tests/autoptr.test b/tests/autoptr.test
+index 92bc7b5..6deac5f 100755
+--- a/tests/autoptr.test
++++ b/tests/autoptr.test
+@@ -98,7 +98,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/bufio.test b/tests/bufio.test
+index 60faab1..ab3986f 100755
+--- a/tests/bufio.test
++++ b/tests/bufio.test
+@@ -41,7 +41,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/charinbuffer.test b/tests/charinbuffer.test
+index 8de99d7..0076db0 100755
+--- a/tests/charinbuffer.test
++++ b/tests/charinbuffer.test
+@@ -39,7 +39,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/common_utils.test b/tests/common_utils.test
+index 21cd063..11f8b50 100755
+--- a/tests/common_utils.test
++++ b/tests/common_utils.test
+@@ -63,7 +63,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/connector.test b/tests/connector.test
+index 54d1928..364930b 100755
+--- a/tests/connector.test
++++ b/tests/connector.test
+@@ -37,7 +37,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/connector2.test b/tests/connector2.test
+index e843f89..6a6474a 100755
+--- a/tests/connector2.test
++++ b/tests/connector2.test
+@@ -40,7 +40,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/echoxdr.test b/tests/echoxdr.test
+index 8280374..985d657 100755
+--- a/tests/echoxdr.test
++++ b/tests/echoxdr.test
+@@ -48,7 +48,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/fdset.test b/tests/fdset.test
+index 8800539..a57a17a 100755
+--- a/tests/fdset.test
++++ b/tests/fdset.test
+@@ -43,7 +43,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/fork.test b/tests/fork.test
+index a70cae3..ec0c4d0 100755
+--- a/tests/fork.test
++++ b/tests/fork.test
+@@ -43,7 +43,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/genserver.test b/tests/genserver.test
+index 5877499..18d19d4 100755
+--- a/tests/genserver.test
++++ b/tests/genserver.test
+@@ -38,7 +38,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/glops.test b/tests/glops.test
+index d24f5e4..f666394 100755
+--- a/tests/glops.test
++++ b/tests/glops.test
+@@ -49,7 +49,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/idset.test b/tests/idset.test
+index a900d2f..97a69c7 100755
+--- a/tests/idset.test
++++ b/tests/idset.test
+@@ -48,7 +48,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/inet_address.test b/tests/inet_address.test
+index deac989..298ea98 100755
+--- a/tests/inet_address.test
++++ b/tests/inet_address.test
+@@ -49,7 +49,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/inifile.test b/tests/inifile.test
+index dae0529..9da154c 100755
+--- a/tests/inifile.test
++++ b/tests/inifile.test
+@@ -58,7 +58,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/logger.test b/tests/logger.test
+index 6c38072..fccd4fa 100755
+--- a/tests/logger.test
++++ b/tests/logger.test
+@@ -77,7 +77,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/memdump.test b/tests/memdump.test
+index 0f4465f..662fb96 100755
+--- a/tests/memdump.test
++++ b/tests/memdump.test
+@@ -72,7 +72,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/pidflock.test b/tests/pidflock.test
+index 33f5a0f..424ef0a 100755
+--- a/tests/pidflock.test
++++ b/tests/pidflock.test
+@@ -42,7 +42,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/pipe.test b/tests/pipe.test
+index a1b134f..ab4888a 100755
+--- a/tests/pipe.test
++++ b/tests/pipe.test
+@@ -45,7 +45,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/pq.test b/tests/pq.test
+index a45b024..6495533 100755
+--- a/tests/pq.test
++++ b/tests/pq.test
+@@ -38,7 +38,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/reactor.test b/tests/reactor.test
+index 8072201..918c904 100755
+--- a/tests/reactor.test
++++ b/tests/reactor.test
+@@ -68,7 +68,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/regexp.test b/tests/regexp.test
+index 087331c..c936fdc 100755
+--- a/tests/regexp.test
++++ b/tests/regexp.test
+@@ -42,7 +42,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/rt.test b/tests/rt.test
+index 3d854bd..8703d75 100755
+--- a/tests/rt.test
++++ b/tests/rt.test
+@@ -42,7 +42,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/semaphore.test b/tests/semaphore.test
+index 012888d..b78fe91 100755
+--- a/tests/semaphore.test
++++ b/tests/semaphore.test
+@@ -38,7 +38,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/sighand.test b/tests/sighand.test
+index b3e7975..482c105 100755
+--- a/tests/sighand.test
++++ b/tests/sighand.test
+@@ -57,7 +57,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/sighands.test b/tests/sighands.test
+index 653bb84..6b6d96e 100755
+--- a/tests/sighands.test
++++ b/tests/sighands.test
+@@ -47,7 +47,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/timer_queue.test b/tests/timer_queue.test
+index 30e2a62..036cbb7 100755
+--- a/tests/timer_queue.test
++++ b/tests/timer_queue.test
+@@ -38,7 +38,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
+diff --git a/tests/timeval.test b/tests/timeval.test
+index b15cfdd..6c7d186 100755
+--- a/tests/timeval.test
++++ b/tests/timeval.test
+@@ -47,7 +47,7 @@ if ${CMP} -s out ok; then
+ else
+ echo "ok:" >&2
+ cat ok >&2
+- exit 1
++ exit 0
+ fi
+
+ # Mungle error output to remove leading directories, 'lt-' or
diff --git a/dev-cpp/libassa/files/libassa-3.5.1-gcc47.patch b/dev-cpp/libassa/files/libassa-3.5.1-gcc47.patch
new file mode 100644
index 000000000000..725636a3967c
--- /dev/null
+++ b/dev-cpp/libassa/files/libassa-3.5.1-gcc47.patch
@@ -0,0 +1,12 @@
+diff --git a/assa/CommonUtils.h b/assa/CommonUtils.h
+index 2db38d2..4db27f6 100644
+--- a/assa/CommonUtils.h
++++ b/assa/CommonUtils.h
+@@ -16,6 +16,7 @@
+
+ #include <sstream>
+
++#include <unistd.h>
+ #include <string>
+ #include <vector>
+ using std::vector;
diff --git a/dev-cpp/libassa/libassa-3.5.1-r2.ebuild b/dev-cpp/libassa/libassa-3.5.1-r2.ebuild
new file mode 100644
index 000000000000..8d46aa4035ef
--- /dev/null
+++ b/dev-cpp/libassa/libassa-3.5.1-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A networking library based on Adaptive Communication Patterns"
+HOMEPAGE="http://libassa.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc static-libs"
+
+RDEPEND="net-libs/libtirpc"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5.0-fix-tests.patch
+ "${FILESDIR}"/${PN}-3.5.1-gcc47.patch
+)
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/libassa/metadata.xml b/dev-cpp/libassa/metadata.xml
new file mode 100644
index 000000000000..bf01902cc33e
--- /dev/null
+++ b/dev-cpp/libassa/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="sourceforge">libassa</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libbinio-1.4-r1 b/dev-cpp/libbinio-1.4-r1
deleted file mode 100644
index 605c2adad3cf..000000000000
--- a/dev-cpp/libbinio-1.4-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=configure install
-DEPEND=sys-apps/texinfo
-DESCRIPTION=Binary I/O stream class library
-EAPI=6
-HOMEPAGE=http://libbinio.sourceforge.net/
-IUSE=static-libs
-KEYWORDS=alpha amd64 arm hppa ~mips ppc ppc64 sparc x86 ~x86-fbsd
-LICENSE=LGPL-2.1
-SLOT=0
-SRC_URI=mirror://sourceforge/libbinio/libbinio-1.4.tar.bz2
-_md5_=6f00d73420c53ee35fc5ee912765d1b5
diff --git a/dev-cpp/libbinio/Manifest b/dev-cpp/libbinio/Manifest
new file mode 100644
index 000000000000..6784b361f2dc
--- /dev/null
+++ b/dev-cpp/libbinio/Manifest
@@ -0,0 +1,5 @@
+AUX libbinio-1.4-cstdio.patch 141 BLAKE2B a285b03d1615b1fac7c5a970b96b5290d115669b7f8c6ab39e1f5f33c676eb9200dfd135f0f2d8188bdf08250e4444b15cba34ef209bee2883ab5a46bf7c8b96 SHA512 756bca042abc0400d6132e357e6a72bb968fce4059b5e85e74c4c17b784afc922ef5eb9224f0eb0db210b9ed350789e0ac62a176008308a270cdc4931468dc71
+AUX libbinio-1.4-texi.patch 735 BLAKE2B 5a5949e49f606b9fc923ccbf85dd40d3913529747e3bb9f4ab41a397435ba864c0268a8d719d4b11995e8ade734e6fd100620af1b482b56b92380b4f6c3fb6d9 SHA512 52ca8d20ef515f5673034ec264b60471a6e9444764bb1a3e9aaeaf6bd2eaff83493ffe6083a64e25c7eddfc9f4546ce64477261a40fd6d3016f21dcddf5a3269
+DIST libbinio-1.4.tar.bz2 307664 BLAKE2B 402eaae2b61ab83bf5b3326618306cb3f6821f20be1e5091cd170e905b6956934d0ad554d68e7cd36622e166391ae10ac656b21e4b364ba61f1c0b301a6f2475 SHA512 974b9ecf4f889350dc5b8509a68af392644804c72a291dc1c0e7738f5b0ca3a28b1819ce35c98ae1e58fc9888481feb596b2ba1704e1b85207f64c050bc0230d
+EBUILD libbinio-1.4-r1.ebuild 648 BLAKE2B 90f8569c2841a98d7d97dd2bea060cda237ea0a4945961330861cf875f6610ef983234abffbcc02e30aeb5ef3b8c64510cdecc4ba837bcb06982208d0f14b0d7 SHA512 5abecfe3f9a5d6256ccd06fa6fd839e8f68aee1bd8d121d3f253373efc4ea18c56a88a03b401598251ac94e35a7ae1d2edee64051c6731e6ce8ec355791779ba
+MISC metadata.xml 327 BLAKE2B 41ba12e16c6e749422ffd52b036c9567111c3698957bedb2f2f5d4438befdaed8e2348fea43cbb617012756f9a78460528402ac44e2347e952f392d64e032606 SHA512 8754d27e3446c38add9be21a0062891c47d39fe0a84195684b9de95ef2ee1c6ad194361423a3cff6db3f3938b0ecc9e8f944b8d5a6c98dc37ebacb744ebee722
diff --git a/dev-cpp/libbinio/files/libbinio-1.4-cstdio.patch b/dev-cpp/libbinio/files/libbinio-1.4-cstdio.patch
new file mode 100644
index 000000000000..f9455a561314
--- /dev/null
+++ b/dev-cpp/libbinio/files/libbinio-1.4-cstdio.patch
@@ -0,0 +1,10 @@
+--- a/src/binwrap.cpp
++++ b/src/binwrap.cpp
+@@ -18,6 +18,7 @@
+ */
+
+ #include "binwrap.h"
++#include <cstdio>
+
+ #if BINIO_ENABLE_IOSTREAM
+
diff --git a/dev-cpp/libbinio/files/libbinio-1.4-texi.patch b/dev-cpp/libbinio/files/libbinio-1.4-texi.patch
new file mode 100644
index 000000000000..b7a4798848b2
--- /dev/null
+++ b/dev-cpp/libbinio/files/libbinio-1.4-texi.patch
@@ -0,0 +1,21 @@
+Patch from http://libbinio.cvs.sourceforge.net/viewvc/libbinio/libbinio/doc/libbinio.texi?r1=1.13&r2=1.14
+--- a/doc/libbinio.texi
++++ b/doc/libbinio.texi
+@@ -9,7 +9,7 @@
+ This manual documents the binary I/O stream class library, version
+ @value{VERSION}. It was last updated on @value{UPDATED}.
+
+-Copyright @copyright{} 2002 - 2004 Simon Peter
++Copyright @copyright{} 2002 - 2005 Simon Peter
+
+ @quotation
+ Permission is granted to copy, distribute and/or modify this document
+@@ -27,7 +27,7 @@
+
+ @dircategory Software Libraries
+ @direntry
+-* libbinio: (libbinio) Binary I/O stream class library @value{VERSION}
++* libbinio: (libbinio). Binary I/O stream class library @value{VERSION}
+ @end direntry
+
+ @titlepage
diff --git a/dev-cpp/libbinio/libbinio-1.4-r1.ebuild b/dev-cpp/libbinio/libbinio-1.4-r1.ebuild
new file mode 100644
index 000000000000..a17693bc3cc9
--- /dev/null
+++ b/dev-cpp/libbinio/libbinio-1.4-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Binary I/O stream class library"
+HOMEPAGE="http://libbinio.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cstdio.patch
+ "${FILESDIR}"/${P}-texi.patch
+)
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/libbinio/metadata.xml b/dev-cpp/libbinio/metadata.xml
new file mode 100644
index 000000000000..75ba12b922c6
--- /dev/null
+++ b/dev-cpp/libbinio/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">libbinio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libcmis-0.5.2_pre20160820-r1 b/dev-cpp/libcmis-0.5.2_pre20160820-r1
deleted file mode 100644
index 33bd08fddddf..000000000000
--- a/dev-cpp/libcmis-0.5.2_pre20160820-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install postinst postrm prepare unpack
-DEPEND=dev-libs/boost:= dev-libs/libxml2 net-misc/curl virtual/pkgconfig man? ( app-text/docbook2X dev-libs/libxslt ) test? ( dev-util/cppcheck dev-util/cppunit ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=C++ client library for the CMIS interface
-EAPI=6
-HOMEPAGE=https://github.com/tdf/libcmis
-IUSE=man static-libs test
-KEYWORDS=amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux
-LICENSE=|| ( GPL-2 LGPL-2 MPL-1.1 )
-RDEPEND=dev-libs/boost:= dev-libs/libxml2 net-misc/curl !<dev-cpp/libcmis-0.5.0
-RESTRICT=test
-SLOT=0.5
-SRC_URI=https://github.com/tdf/libcmis/archive/d2054a12e3f52fff8e96341e8c48f0dcd75e2e2a.tar.gz -> libcmis-0.5.2_pre20160820.tar.gz
-_eclasses_=alternatives 6c575717515f030736d1b718d507d2f9 autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf vcs-snapshot 3be1ab44131e8c0bbdaa75823008444b
-_md5_=51ce3db082621b2775e7cef04b5cf17a
diff --git a/dev-cpp/libcmis-9999 b/dev-cpp/libcmis-9999
deleted file mode 100644
index 9bf6f96ed762..000000000000
--- a/dev-cpp/libcmis-9999
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install postinst postrm prepare unpack
-DEPEND=dev-libs/boost:= dev-libs/libxml2 net-misc/curl virtual/pkgconfig man? ( app-text/docbook2X dev-libs/libxslt ) test? ( dev-util/cppcheck dev-util/cppunit ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=C++ client library for the CMIS interface
-EAPI=6
-HOMEPAGE=https://github.com/tdf/libcmis
-IUSE=man static-libs test
-LICENSE=|| ( GPL-2 LGPL-2 MPL-1.1 )
-RDEPEND=dev-libs/boost:= dev-libs/libxml2 net-misc/curl !<dev-cpp/libcmis-0.5.0
-RESTRICT=test
-SLOT=0.5
-_eclasses_=alternatives 6c575717515f030736d1b718d507d2f9 autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=0dd5632c6a17a4c42aabec6b1bb91dc9
diff --git a/dev-cpp/libcmis/Manifest b/dev-cpp/libcmis/Manifest
new file mode 100644
index 000000000000..b7d529db4aae
--- /dev/null
+++ b/dev-cpp/libcmis/Manifest
@@ -0,0 +1,5 @@
+AUX libcmis-0.5.2-fix-gdrive-2fa.patch 3268 BLAKE2B be4d740655ae76c3cecde5d8ce643506c0a77f1b1cbd3320be9c9f3daa975e7579b28cb5f6ef11848bba875b6b9664fe07f81c3359be16f07b3ca305c7644279 SHA512 fbdae22b30da00b559111ce0b56aac8da90305ef0c1c4b9b55b5554a6747cf7690dd67c34bfdcb0c4597a8160a15fe9e611a01432523d31e6ea729e914a5fe6b
+DIST libcmis-0.5.2_pre20160820.tar.gz 285100 BLAKE2B 980200d1a56240d8d069aba2ad349ec02e90d345bad4956f6cbbea3606f9f90951523804293b349ad0419dd2db6db294a45a97872469105c1ba392c888fab332 SHA512 4b6d0fc4d80444fea2c5eb16621b92a10b41c58128cc8a355caca50f12648ed5113bd977cc5dbe8971e3dbc11f9d7ae8d45c9d2aa19f37c83659141af135bd1a
+EBUILD libcmis-0.5.2_pre20160820-r1.ebuild 1851 BLAKE2B 9f1d434f8ac067cd81dd7f6d7fb63db241ac63924e56b1da5ff069f7cd739127e5ec21504e357fde7ecc6bfb88c2b186df9ff151f186bb8cf2286035f77c724e SHA512 ec65003739c84b64293c88c98eb9b5ae931cf5644256607a35718665b87577d9413c133be140b13a9ed664efd1b5572f549adf04116801555dc75c08ef64db41
+EBUILD libcmis-9999.ebuild 1786 BLAKE2B f6d20063e3cb48588f5251fa22c7ece2109773809afb9ad562755595a2aeafa0de85b57250bc562ce1f3a9bd801433aafd6bf3db11d7a3c0af1f2dd4856d693c SHA512 fdb149a255dc1dbf8b41d61dfdc4bde12e4e0b8548c02c87d7146a1a346617aac886be0a9a33e5066f7c5f75abe8f8ebc29bc12c3d0cfb1dcd7bac9840310530
+MISC metadata.xml 401 BLAKE2B 51ccbd2b64899189a740c498dee304fa62676b4673b22f5215e5e587925d74a3582f9a4206e47da42524f527cb1d36545d45c64c9a38b9783c65d2e923aba0b0 SHA512 b01b808fa630d2d02ef61b4f8e1d286c51108eb3e9120b687b8e2bdf012b05d70a32de1264c0699f9778d0cb9574b88ddd4df1cc428992c90780b4934973841b
diff --git a/dev-cpp/libcmis/files/libcmis-0.5.2-fix-gdrive-2fa.patch b/dev-cpp/libcmis/files/libcmis-0.5.2-fix-gdrive-2fa.patch
new file mode 100644
index 000000000000..3c19e99a5ba9
--- /dev/null
+++ b/dev-cpp/libcmis/files/libcmis-0.5.2-fix-gdrive-2fa.patch
@@ -0,0 +1,70 @@
+From 1effce6d286ba3a9f467e15074b532d2ba4b7c98 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Szymon=20K=C5=82os?= <eszkadev@gmail.com>
+Date: Wed, 29 Mar 2017 17:45:10 +0200
+Subject: [PATCH] Fix 2FA for Google Drive
+
+---
+ src/libcmis/oauth2-providers.cxx | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/libcmis/oauth2-providers.cxx b/src/libcmis/oauth2-providers.cxx
+index 74c0fec..dd872dd 100644
+--- a/src/libcmis/oauth2-providers.cxx
++++ b/src/libcmis/oauth2-providers.cxx
+@@ -37,6 +37,7 @@
+ #define CHALLENGE_PAGE_ACTION_LEN sizeof( CHALLENGE_PAGE_ACTION ) - 1
+ #define PIN_FORM_ACTION "/signin/challenge/ipp"
+ #define PIN_FORM_ACTION_LEN sizeof( PIN_FORM_ACTION ) - 1
++#define PIN_INPUT_NAME "Pin"
+
+ using namespace std;
+
+@@ -152,7 +153,7 @@ string OAuth2Providers::OAuth2Gdrive( HttpSession* session, const string& authUr
+ }
+
+ loginChallengeLink = "https://accounts.google.com" + loginChallengeLink;
+- loginChallengePost += "Pin=";
++ loginChallengePost += string( PIN_INPUT_NAME ) + "=";
+ loginChallengePost += string( pin );
+
+ istringstream loginChallengeIs( loginChallengePost );
+@@ -291,6 +292,8 @@ int OAuth2Providers::parseResponse ( const char* response, string& post, string&
+ if ( reader == NULL ) return 0;
+
+ bool readInputField = false;
++ bool bIsRightForm = false;
++ bool bHasPinField = false;
+
+ while ( true )
+ {
+@@ -301,6 +304,12 @@ int OAuth2Providers::parseResponse ( const char* response, string& post, string&
+ // Find the redirect link
+ if ( xmlStrEqual( nodeName, BAD_CAST( "form" ) ) )
+ {
++ // 2FA: Don't add fields form other forms not having pin field
++ if ( bIsRightForm && !bHasPinField )
++ post = string( "" );
++ if ( bIsRightForm && bHasPinField )
++ break;
++
+ xmlChar* action = xmlTextReaderGetAttribute( reader,
+ BAD_CAST( "action" ));
+
+@@ -311,7 +320,7 @@ int OAuth2Providers::parseResponse ( const char* response, string& post, string&
+ bool bChallengePage = ( strncmp( (char*)action,
+ CHALLENGE_PAGE_ACTION,
+ CHALLENGE_PAGE_ACTION_LEN ) == 0 );
+- bool bIsRightForm = ( strncmp( (char*)action,
++ bIsRightForm = ( strncmp( (char*)action,
+ PIN_FORM_ACTION,
+ PIN_FORM_ACTION_LEN ) == 0 );
+ if ( ( xmlStrlen( action ) > 0 )
+@@ -332,6 +341,8 @@ int OAuth2Providers::parseResponse ( const char* response, string& post, string&
+ BAD_CAST( "name" ));
+ xmlChar* value = xmlTextReaderGetAttribute( reader,
+ BAD_CAST( "value" ));
++ if ( name != NULL && strcmp( (char*)name, PIN_INPUT_NAME ) == 0 )
++ bHasPinField = true;
+ if ( ( name != NULL ) && ( value!= NULL ) )
+ {
+ if ( ( xmlStrlen( name ) > 0) && ( xmlStrlen( value ) > 0) )
diff --git a/dev-cpp/libcmis/libcmis-0.5.2_pre20160820-r1.ebuild b/dev-cpp/libcmis/libcmis-0.5.2_pre20160820-r1.ebuild
new file mode 100644
index 000000000000..8377602271d8
--- /dev/null
+++ b/dev-cpp/libcmis/libcmis-0.5.2_pre20160820-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/tdf/libcmis.git"
+ SCM_ECLASS="git-r3"
+elif [[ ${PV} = *_pre* ]]; then
+ SCM_ECLASS="vcs-snapshot"
+ snapshot=d2054a12e3f52fff8e96341e8c48f0dcd75e2e2a
+ SRC_URI="https://github.com/tdf/${PN}/archive/${snapshot}.tar.gz -> ${P}.tar.gz"
+ unset snapshot
+else
+ SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+inherit alternatives autotools flag-o-matic ${SCM_ECLASS}
+unset SCM_ECLASS
+
+DESCRIPTION="C++ client library for the CMIS interface"
+HOMEPAGE="https://github.com/tdf/libcmis"
+
+LICENSE="|| ( GPL-2 LGPL-2 MPL-1.1 )"
+SLOT="0.5"
+
+# Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="man static-libs test"
+
+COMMON_DEPEND="
+ dev-libs/boost:=
+ dev-libs/libxml2
+ net-misc/curl
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ man? (
+ app-text/docbook2X
+ dev-libs/libxslt
+ )
+ test? (
+ dev-util/cppcheck
+ dev-util/cppunit
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<dev-cpp/libcmis-0.5.0
+"
+
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${PN}-0.5.2-fix-gdrive-2fa.patch" )
+
+src_prepare() {
+ default
+ [[ ${PV} = *_pre* || ${PV} = 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ # bug 618778
+ append-cxxflags -std=c++14
+
+ econf \
+ --program-suffix=-${SLOT} \
+ --disable-werror \
+ $(use_with man) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests) \
+ --enable-client
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ alternatives_auto_makesym /usr/bin/cmis-client "/usr/bin/cmis-client-[0-9].[0-9]"
+}
+
+pkg_postrm() {
+ alternatives_auto_makesym /usr/bin/cmis-client "/usr/bin/cmis-client-[0-9].[0-9]"
+}
diff --git a/dev-cpp/libcmis/libcmis-9999.ebuild b/dev-cpp/libcmis/libcmis-9999.ebuild
new file mode 100644
index 000000000000..78e5b1990a3a
--- /dev/null
+++ b/dev-cpp/libcmis/libcmis-9999.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/tdf/libcmis.git"
+ SCM_ECLASS="git-r3"
+elif [[ ${PV} = *_pre* ]]; then
+ SCM_ECLASS="vcs-snapshot"
+ snapshot=d2054a12e3f52fff8e96341e8c48f0dcd75e2e2a
+ SRC_URI="https://github.com/tdf/${PN}/archive/${snapshot}.tar.gz -> ${P}.tar.gz"
+ unset snapshot
+else
+ SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+inherit alternatives autotools flag-o-matic ${SCM_ECLASS}
+unset SCM_ECLASS
+
+DESCRIPTION="C++ client library for the CMIS interface"
+HOMEPAGE="https://github.com/tdf/libcmis"
+
+LICENSE="|| ( GPL-2 LGPL-2 MPL-1.1 )"
+SLOT="0.5"
+
+# Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="man static-libs test"
+
+COMMON_DEPEND="
+ dev-libs/boost:=
+ dev-libs/libxml2
+ net-misc/curl
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ man? (
+ app-text/docbook2X
+ dev-libs/libxslt
+ )
+ test? (
+ dev-util/cppcheck
+ dev-util/cppunit
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<dev-cpp/libcmis-0.5.0
+"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ [[ ${PV} = *_pre* || ${PV} = 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ # bug 618778
+ append-cxxflags -std=c++14
+
+ econf \
+ --program-suffix=-${SLOT} \
+ --disable-werror \
+ $(use_with man) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests) \
+ --enable-client
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ alternatives_auto_makesym /usr/bin/cmis-client "/usr/bin/cmis-client-[0-9].[0-9]"
+}
+
+pkg_postrm() {
+ alternatives_auto_makesym /usr/bin/cmis-client "/usr/bin/cmis-client-[0-9].[0-9]"
+}
diff --git a/dev-cpp/libcmis/metadata.xml b/dev-cpp/libcmis/metadata.xml
new file mode 100644
index 000000000000..afb9c075be7a
--- /dev/null
+++ b/dev-cpp/libcmis/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>office@gentoo.org</email>
+ <name>Gentoo Office project</name>
+ </maintainer>
+ <use>
+ <flag name="man">Build and install man pages.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">tdf/libcmis</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libcutl-1.10.0 b/dev-cpp/libcutl-1.10.0
deleted file mode 100644
index 233c5fa3b1da..000000000000
--- a/dev-cpp/libcutl-1.10.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=dev-libs/expat dev-libs/boost:= >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A collection of C++ libraries (successor of libcult)
-EAPI=6
-HOMEPAGE=https://www.codesynthesis.com/projects/libcutl/
-KEYWORDS=~amd64 ~arm ~ppc ~ppc64 ~x86
-LICENSE=MIT
-RDEPEND=dev-libs/expat dev-libs/boost:=
-SLOT=0
-SRC_URI=https://www.codesynthesis.com/download/libcutl/1.10/libcutl-1.10.0.tar.bz2
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=7d347224dd2d6cd959bc4f470c0518e1
diff --git a/dev-cpp/libcutl/Manifest b/dev-cpp/libcutl/Manifest
new file mode 100644
index 000000000000..59c52d466548
--- /dev/null
+++ b/dev-cpp/libcutl/Manifest
@@ -0,0 +1,5 @@
+AUX libcutl-1.10.0-boost-1.65-tr1.patch 4688 BLAKE2B b896957b8a1ff399b51210052df2eb080ef52d887ad6e4734921945c497e172c8f9557c371947f4ba759d50911db4d9b99cd6a62a3765eabb29b0743fa407945 SHA512 0fc264a7e8b19c1da93384ec799cf2f8178af26f2baca53d92530ca6086371a6fc6ba5b7c8134b318846079b99fb2ba8872e1b14ab58da4422e0309bcbfe2b9f
+AUX libcutl-1.10.0-fix-c++14.patch 1045 BLAKE2B 91e954048739a53dc5dcf757ee7b3541b958fc30063df2da3ffe47f9c020ee8f80cfde07d351b21ac8ebabb00a84ed5f29b6063082fe18374172129537e0a6a0 SHA512 37033c583b55e66d4edc03e483f01e3c6d331862748eaa23cecc8a24614368d294193642c481ba91d9ee56eed952c6ad0f4997e30ace9e572653b3780be75cec
+DIST libcutl-1.10.0.tar.bz2 763920 BLAKE2B 8d6741b19cc7c1d320225b6f412c08d6dd1d975a9f1e2f55914a23b8813e42228616ea525905bcf456f4b6e60a72fbf4128a03275833975ce3b8c87d6e4cb631 SHA512 c03f39e87e660fdd07aa9cccb2d82d411ca8226b56475c74b7b2147b90cdb83d13246bc0c09513e407271bcf568d6a08f92c9006e48d1e7f06e4b18dde34dc5f
+EBUILD libcutl-1.10.0.ebuild 1027 BLAKE2B b9c108c5076b18a9b6e10cdd90a6180a0948ec0b39b2190d09a7c2979ecdecb5f12b9c4283d8e5fe78ec665495d6cef6eaa06f765364f9d9f198cd4f05e11bdc SHA512 c05e606af9647aa004d87986bdb2db55f5d58ba26103066df11f9c50f3cf909de7b28298023c61c5fd79c9c8f3430860a91b8203d0decd725c6f69d2c1f42dfd
+MISC metadata.xml 249 BLAKE2B 5791e38f31ac36bb4b94c03962980af247ea39c8af739a949749b1b3a7705ce4031ff53f620b1e4d30c44360e3d1d37ccb186ea109ecc1036977e4e0bb3a92e9 SHA512 0b2b2d015d6d3310efdedc20cd12cb2f587c105f1e84b243d3a7dc6337dde082c16683781eba9a0cb09341756f10f651579df35837ee232309a97017ec02cbee
diff --git a/dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch b/dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch
new file mode 100644
index 000000000000..ebb15ee9b404
--- /dev/null
+++ b/dev-cpp/libcutl/files/libcutl-1.10.0-boost-1.65-tr1.patch
@@ -0,0 +1,162 @@
+Use regex from C++11 instead of boost/tr1's version (the latter is gone as of boost 1.65).
+Patch: https://svnweb.freebsd.org/ports/head/devel/libcutl/files/patch-cutl_re_re.cxx?view=markup&pathrev=445764
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=630016
+
+--- a/cutl/re/re.cxx
++++ b/cutl/re/re.cxx
+@@ -9,7 +9,7 @@
+ #ifndef LIBCUTL_EXTERNAL_BOOST
+ # include <cutl/details/boost/tr1/regex.hpp>
+ #else
+-# include <boost/tr1/regex.hpp>
++# include <regex>
+ #endif
+
+ using namespace std;
+@@ -40,17 +40,17 @@
+ struct basic_regex<C>::impl
+ {
+ typedef basic_string<C> string_type;
+- typedef tr1::basic_regex<C> regex_type;
++ typedef std::basic_regex<C> 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 @@
+ 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<char> (s == 0 ? "" : *s, e.what ());
+ }
+@@ -146,15 +146,15 @@
+ 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<wchar_t> (s == 0 ? L"" : *s, e.what ());
+ }
+@@ -166,28 +166,28 @@
+ bool basic_regex<char>::
+ match (string_type const& s) const
+ {
+- return tr1::regex_match (s, impl_->r);
++ return std::regex_match (s, impl_->r);
+ }
+
+ template <>
+ bool basic_regex<wchar_t>::
+ match (string_type const& s) const
+ {
+- return tr1::regex_match (s, impl_->r);
++ return std::regex_match (s, impl_->r);
+ }
+
+ template <>
+ bool basic_regex<char>::
+ search (string_type const& s) const
+ {
+- return tr1::regex_search (s, impl_->r);
++ return std::regex_search (s, impl_->r);
+ }
+
+ template <>
+ bool basic_regex<wchar_t>::
+ 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 @@
+ 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 @@
+ 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);
+ }
+ }
+ }
+--- a/m4/libboost.m4
++++ b/m4/libboost.m4
+@@ -129,13 +129,13 @@
+ AC_DEFUN([LIBBOOST_REGEX], [
+ LIBBOOST_LIB([regex],[
+ AC_LANG_SOURCE([
+-#include <boost/tr1/regex.hpp>
++#include <regex>
+
+ 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;
+ }
+ ])],
+ [$1],
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..b88f5363b9ee
--- /dev/null
+++ b/dev-cpp/libcutl/libcutl-1.10.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic versionator
+
+DESCRIPTION="A collection of C++ libraries (successor of libcult)"
+HOMEPAGE="https://www.codesynthesis.com/projects/libcutl/"
+SRC_URI="https://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
+ "${FILESDIR}"/${PN}-1.10.0-boost-1.65-tr1.patch
+)
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r cutl/details/{boost,expat} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # ensure <regex> works on GCC 5 and below
+ # bug 630016
+ append-cxxflags -std=c++14
+
+ 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>
diff --git a/dev-cpp/libglademm-2.6.7-r2 b/dev-cpp/libglademm-2.6.7-r2
deleted file mode 100644
index 4b95083e1766..000000000000
--- a/dev-cpp/libglademm-2.6.7-r2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=>=gnome-base/libglade-2.6.4-r1:2.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/gtkmm-2.24.3:2.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.34.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig >=app-portage/elt-patches-20170422 >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for libglade
-EAPI=5
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd
-LICENSE=LGPL-2.1+
-RDEPEND=>=gnome-base/libglade-2.6.4-r1:2.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/gtkmm-2.24.3:2.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.34.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=2.4
-SRC_URI=mirror://gnome/sources/libglademm/2.6/libglademm-2.6.7.tar.bz2
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=961d8debbaa0fd4acaacbd016e586ab0
diff --git a/dev-cpp/libglademm/Manifest b/dev-cpp/libglademm/Manifest
new file mode 100644
index 000000000000..b103ef491423
--- /dev/null
+++ b/dev-cpp/libglademm/Manifest
@@ -0,0 +1,3 @@
+DIST libglademm-2.6.7.tar.bz2 326385 BLAKE2B b79bd099f7eba02585921cd88331cd3c2f0a362396efded2996b149689f1869146a81ef174e9f983f348fe231866e4dcc719eeef62f5f3a2b0ba5dbaf1375504 SHA512 d7042d0549df9322d3202d5c0733d65b153a8ff451bb9e401b9d93a915ec4c2c086428e4febcbae2ecec5936955b7afbc59beff93d492f23b7b8e2b19fe806b0
+EBUILD libglademm-2.6.7-r2.ebuild 1672 BLAKE2B e955dd684fdb1c57048c125557c700293dbef43ab4b5a045e6a0ffcfb1143c6b989fbb3e655e45d38902df0e9e1397027050e7d3ff8e003af598ee1eff641bfe SHA512 db4fd6dac1f28ca63f87d71db3773aee36cbf047bb59a2ca0af4ea5cbaa13c767c603fc286d60be3c3e1a7621d5924600ab1dfd9bf574da9aa605e3de258b87d
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild b/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild
new file mode 100644
index 000000000000..5abc5d7e1edf
--- /dev/null
+++ b/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit flag-o-matic gnome2 multilib-minimal
+
+DESCRIPTION="C++ bindings for libglade"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="2.4"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc examples"
+
+RDEPEND="
+ >=gnome-base/libglade-2.6.4-r1:2.0[${MULTILIB_USEDEP}]
+ >=dev-cpp/gtkmm-2.24.3:2.4[${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.34.1:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # we will control install manually in install
+ sed -i 's/^\(SUBDIRS =.*\)docs\(.*\)$/\1\2/' Makefile.am Makefile.in || \
+ die "sed Makefile.{am,in} failed (1)"
+
+ # don't waste time building the examples
+ sed -i 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
+ Makefile.am Makefile.in || die "sed Makefile.{am,in} failed (2)"
+
+ append-cxxflags -std=c++11 #566584
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure
+}
+
+multilib_src_compile() {
+ gnome2_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ emake -C "docs/reference" all || die "emake doc failed"
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ if use examples; then
+ emake -C "examples" distclean || die "examples clean up failed"
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use doc ; then
+ dohtml -r docs/reference/html/*
+ fi
+
+ if use examples; then
+ find "${S}/examples" -name "Makefile*" -delete \
+ || die "examples cleanup failed"
+ insinto "/usr/share/doc/${PF}"
+ doins -r examples || die "doins failed"
+ fi
+}
diff --git a/dev-cpp/libglademm/metadata.xml b/dev-cpp/libglademm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/libglademm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/libgnomecanvasmm-2.26.0-r1 b/dev-cpp/libgnomecanvasmm-2.26.0-r1
deleted file mode 100644
index db4d855f5eed..000000000000
--- a/dev-cpp/libgnomecanvasmm-2.26.0-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=gnome-base/libgnomecanvas-2.6 >=dev-cpp/gtkmm-2.4:2.4 virtual/pkgconfig doc? ( app-doc/doxygen ) >=app-portage/elt-patches-20170422 >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ bindings for libgnomecanvas
-EAPI=5
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc examples
-KEYWORDS=alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd
-LICENSE=LGPL-2.1
-RDEPEND=>=gnome-base/libgnomecanvas-2.6 >=dev-cpp/gtkmm-2.4:2.4
-SLOT=2.6
-SRC_URI=mirror://gnome/sources/libgnomecanvasmm/2.26/libgnomecanvasmm-2.26.0.tar.bz2
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=51af496bbbb234277a1c7d261139bb8b
diff --git a/dev-cpp/libgnomecanvasmm/Manifest b/dev-cpp/libgnomecanvasmm/Manifest
new file mode 100644
index 000000000000..70713cfcda6c
--- /dev/null
+++ b/dev-cpp/libgnomecanvasmm/Manifest
@@ -0,0 +1,3 @@
+DIST libgnomecanvasmm-2.26.0.tar.bz2 327215 BLAKE2B 87cfc59d0825ad2b345bbeff7ba6ce74744228a359d61c8c6b86cef308827c78410b4633737ab9040f6dbdf7f37ed0ea376d28ab4194266f9c784b8b07d1f76d SHA512 23795c856674b79f82d2e5cffdfdbf67a387fe6a21081fef1d96d0f614a121710c7f1e175612a286f5946a60cea4e8506aef7833a7bdf73084d6266c09aad66b
+EBUILD libgnomecanvasmm-2.26.0-r1.ebuild 1075 BLAKE2B 421f0ef3c637671b987431f93c47bf1d7fe15c2be3fc9bebdada02658611284b17c68310f151bf1b4754568ac0377f185b204e13b099f8f63aecac4cf13e3e27 SHA512 313e3595ab38acbd184a1c9ec61bcb31bc421074c49a3ac75549becc4db7d4ea12909b907bd3c01904d6bfa87b12b5682bf24353bf841f197af29ccaada4febd
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild b/dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild
new file mode 100644
index 000000000000..bfd924e73323
--- /dev/null
+++ b/dev-cpp/libgnomecanvasmm/libgnomecanvasmm-2.26.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit flag-o-matic gnome2
+
+DESCRIPTION="C++ bindings for libgnomecanvas"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1"
+SLOT="2.6"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc examples"
+
+RDEPEND="
+ >=gnome-base/libgnomecanvas-2.6
+ >=dev-cpp/gtkmm-2.4:2.4
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use examples; then
+ # don't waste time building the examples
+ sed -i 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' Makefile.in || \
+ die "sed Makefile.in failed"
+ fi
+ gnome2_src_prepare
+ append-cxxflags -std=c++11 #568300
+}
+
+src_compile() {
+ gnome2_src_compile
+
+ if use doc; then
+ cd "${S}/docs/reference"
+ emake all || die "failed to build API docs"
+ fi
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use doc ; then
+ dohtml -r docs/reference/html/*
+ fi
+
+ if use examples; then
+ cp -R examples "${D}/usr/share/doc/${PF}"
+ fi
+}
diff --git a/dev-cpp/libgnomecanvasmm/metadata.xml b/dev-cpp/libgnomecanvasmm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/libgnomecanvasmm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/libjson-rpc-cpp-1.1.0-r1 b/dev-cpp/libjson-rpc-cpp-1.1.0-r1
deleted file mode 100644
index 81ec6b9a5066..000000000000
--- a/dev-cpp/libjson-rpc-cpp-1.1.0-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-libs/jsoncpp:= http-client? ( net-misc/curl:= ) http-server? ( net-libs/libmicrohttpd:= ) redis-client? ( dev-libs/hiredis:= ) redis-server? ( dev-libs/hiredis:= ) stubgen? ( dev-libs/argtable:= ) doc? ( app-doc/doxygen ) test? ( dev-cpp/catch ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=JSON-RPC (1.0 & 2.0) framework for C++
-EAPI=6
-HOMEPAGE=https://github.com/cinemast/libjson-rpc-cpp
-IUSE=doc +http-client +http-server redis-client redis-server +stubgen test
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=dev-libs/jsoncpp:= http-client? ( net-misc/curl:= ) http-server? ( net-libs/libmicrohttpd:= ) redis-client? ( dev-libs/hiredis:= ) redis-server? ( dev-libs/hiredis:= ) stubgen? ( dev-libs/argtable:= )
-RESTRICT=!test? ( test )
-SLOT=0/1
-SRC_URI=https://github.com/cinemast/libjson-rpc-cpp/archive/v1.1.0.tar.gz -> libjson-rpc-cpp-1.1.0.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=1469ff05beb276304f6f70e0c73c1886
diff --git a/dev-cpp/libjson-rpc-cpp-9999 b/dev-cpp/libjson-rpc-cpp-9999
deleted file mode 100644
index a669f40d7893..000000000000
--- a/dev-cpp/libjson-rpc-cpp-9999
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=dev-libs/jsoncpp:= http-client? ( net-misc/curl:= ) http-server? ( net-libs/libmicrohttpd:= ) redis-client? ( dev-libs/hiredis:= ) redis-server? ( dev-libs/hiredis:= ) stubgen? ( dev-libs/argtable:= ) doc? ( app-doc/doxygen ) test? ( dev-cpp/catch ) sys-devel/make >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=JSON-RPC (1.0 & 2.0) framework for C++
-EAPI=6
-HOMEPAGE=https://github.com/cinemast/libjson-rpc-cpp
-IUSE=doc +http-client +http-server redis-client redis-server +stubgen test
-LICENSE=MIT
-RDEPEND=dev-libs/jsoncpp:= http-client? ( net-misc/curl:= ) http-server? ( net-libs/libmicrohttpd:= ) redis-client? ( dev-libs/hiredis:= ) redis-server? ( dev-libs/hiredis:= ) stubgen? ( dev-libs/argtable:= )
-RESTRICT=!test? ( test )
-SLOT=0/1
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=d551894c5d58dba6cf066b95d79d8006
diff --git a/dev-cpp/libjson-rpc-cpp/Manifest b/dev-cpp/libjson-rpc-cpp/Manifest
new file mode 100644
index 000000000000..07fe6299c6db
--- /dev/null
+++ b/dev-cpp/libjson-rpc-cpp/Manifest
@@ -0,0 +1,4 @@
+DIST libjson-rpc-cpp-1.1.0.tar.gz 179442 BLAKE2B cfbfe703d1a3d4ccaf6d4d475a7c1686c8f7afc28b025d6fd3bfebdc41cff2b944e6600e68073c1b7e7c0a2463cbf6e9724cf618c5d481bf7a4600019b529922 SHA512 bf34eedb196b1e214292976036a00e933f8a9b4325441ea2e4ae049a7c818014a68dd9d2f22d01588f5e6d1e9f465c73a133b0fd8282f8cf78a05a493f4c461b
+EBUILD libjson-rpc-cpp-1.1.0-r1.ebuild 1578 BLAKE2B e08cbcc95c27ab00ea6a5e14511483cf91859861678490582141e656cfdc151faf03bb38bf293fc8d7881e1b76147d2f0b55f72cfa8458ad3455818acfb22ffa SHA512 0c69ae65814531b2913f7ba798257b19f228e4c9cdadf30e213154054a1d1c568258de10a0fc790058a095a4a626fd4292fedcb1cb6922d7f1795f3869dc139f
+EBUILD libjson-rpc-cpp-9999.ebuild 1578 BLAKE2B c34b5d32503634598cff062700dbffff405fd379ee7b135caf4e73c3c6b1588700f76721055dcfece7a646c006d963c428e87feef68b7b70c0e27fb750e8ba4e SHA512 ced365eca73b4618e5fa5c09bbfaf1a1acf2354a8120bb5b2202d45a40ec49f574bff4ba3fcbd9137d81f910b377de85669ca6fd38936c909648ed527116d5c7
+MISC metadata.xml 906 BLAKE2B fe2f020896cc35c9c27fe082bf7a844086445b8943690c35de3de091041473b0a211370e335908470faf1bfdf0fb64b4b6aee75dfd527683d173c3e9fc8d9cf9 SHA512 037b5942cdde13abab5f527cdb8fced709b88bbebb754497279b1d60e7c90789115ecc2f579c38111c2acf32a3baf2643b470e55deb9de36bc498e9665091a83
diff --git a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..73b204623f7b
--- /dev/null
+++ b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="JSON-RPC (1.0 & 2.0) framework for C++"
+HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp"
+SRC_URI="https://github.com/cinemast/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +http-client +http-server redis-client redis-server +stubgen test"
+
+RDEPEND="
+ dev-libs/jsoncpp:=
+ http-client? ( net-misc/curl:= )
+ http-server? ( net-libs/libmicrohttpd:= )
+ redis-client? ( dev-libs/hiredis:= )
+ redis-server? ( dev-libs/hiredis:= )
+ stubgen? ( dev-libs/argtable:= )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-cpp/catch )"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DHTTP_CLIENT=$(usex http-client)
+ -DHTTP_SERVER=$(usex http-server)
+ -DREDIS_CLIENT=$(usex redis-client)
+ -DREDIS_SERVER=$(usex redis-server)
+ # they have no deps
+ -DTCP_SOCKET_CLIENT=ON
+ -DTCP_SOCKET_SERVER=ON
+ -DUNIX_DOMAIN_SOCKET_CLIENT=ON
+ -DUNIX_DOMAIN_SOCKET_SERVER=ON
+ # they are not installed
+ -DCOMPILE_EXAMPLES=OFF
+ -DCOMPILE_STUBGEN=$(usex stubgen)
+ -DCOMPILE_TESTS=$(usex test)
+ -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include/catch"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ use doc && emake -C "${BUILD_DIR}" doc
+}
+
+src_test() {
+ # Tests fail randomly when run in parallel
+ local MAKEOPTS=-j1
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doc/html
+}
diff --git a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-9999.ebuild b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-9999.ebuild
new file mode 100644
index 000000000000..55ab0c1f82f2
--- /dev/null
+++ b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-9999.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_REPO_URI="https://github.com/cinemast/${PN}.git"
+EGIT_BRANCH=develop
+inherit cmake-utils git-r3
+
+DESCRIPTION="JSON-RPC (1.0 & 2.0) framework for C++"
+HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp"
+SRC_URI=""
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS=""
+IUSE="doc +http-client +http-server redis-client redis-server +stubgen test"
+
+RDEPEND="
+ dev-libs/jsoncpp:=
+ http-client? ( net-misc/curl:= )
+ http-server? ( net-libs/libmicrohttpd:= )
+ redis-client? ( dev-libs/hiredis:= )
+ redis-server? ( dev-libs/hiredis:= )
+ stubgen? ( dev-libs/argtable:= )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-cpp/catch )"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DHTTP_CLIENT=$(usex http-client)
+ -DHTTP_SERVER=$(usex http-server)
+ -DREDIS_CLIENT=$(usex redis-client)
+ -DREDIS_SERVER=$(usex redis-server)
+ # they have no deps
+ -DTCP_SOCKET_CLIENT=ON
+ -DTCP_SOCKET_SERVER=ON
+ -DUNIX_DOMAIN_SOCKET_CLIENT=ON
+ -DUNIX_DOMAIN_SOCKET_SERVER=ON
+ # they are not installed
+ -DCOMPILE_EXAMPLES=OFF
+ -DCOMPILE_STUBGEN=$(usex stubgen)
+ -DCOMPILE_TESTS=$(usex test)
+ -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include/catch"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ use doc && emake -C "${BUILD_DIR}" doc
+}
+
+src_test() {
+ # Tests fail randomly when run in parallel
+ local MAKEOPTS=-j1
+ cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doc/html
+}
diff --git a/dev-cpp/libjson-rpc-cpp/metadata.xml b/dev-cpp/libjson-rpc-cpp/metadata.xml
new file mode 100644
index 000000000000..b7a3bb5af8af
--- /dev/null
+++ b/dev-cpp/libjson-rpc-cpp/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="http-client">Build support for HTTP client using <pkg>net-misc/curl</pkg></flag>
+ <flag name="http-server">Build support for HTTP server using <pkg>net-libs/libmicrohttpd</pkg></flag>
+ <flag name="redis-client">Build support for Redis client using <pkg>dev-libs/hiredis</pkg></flag>
+ <flag name="redis-server">Build support for Redis server using <pkg>dev-libs/hiredis</pkg></flag>
+ <flag name="stubgen">Build header stub code generator (needed for development and when pregenerated headers are not bundled)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">cinemast/libjson-rpc-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libmcpp-2.7.2-r2 b/dev-cpp/libmcpp-2.7.2-r2
deleted file mode 100644
index 921894fb3502..000000000000
--- a/dev-cpp/libmcpp-2.7.2-r2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=>=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A portable C++ preprocessor
-EAPI=6
-HOMEPAGE=http://mcpp.sourceforge.net
-IUSE=static-libs
-KEYWORDS=amd64 ~arm ~ia64 x86 ~x86-linux ~x64-macos
-LICENSE=BSD
-SLOT=0
-SRC_URI=mirror://sourceforge/mcpp/mcpp-2.7.2.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=5d7dad56945da7faa190f7bda0cfbbd4
diff --git a/dev-cpp/libmcpp-2.7.2-r3 b/dev-cpp/libmcpp-2.7.2-r3
deleted file mode 100644
index bb635217669d..000000000000
--- a/dev-cpp/libmcpp-2.7.2-r3
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install prepare
-DEPEND=>=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A portable C++ preprocessor
-EAPI=6
-HOMEPAGE=http://mcpp.sourceforge.net
-IUSE=static-libs
-KEYWORDS=~amd64 ~arm ~ia64 ~x86 ~x86-linux ~x64-macos
-LICENSE=BSD
-SLOT=0
-SRC_URI=mirror://sourceforge/mcpp/mcpp-2.7.2.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=173f5d65b0c34ee36861caa857d90c74
diff --git a/dev-cpp/libmcpp/Manifest b/dev-cpp/libmcpp/Manifest
new file mode 100644
index 000000000000..4d5ca71ddb5d
--- /dev/null
+++ b/dev-cpp/libmcpp/Manifest
@@ -0,0 +1,7 @@
+AUX libmcpp-2.7.2-fix-build-system.patch 1008 BLAKE2B d9a87af2faada430c9bd09bb6d4e70f51385725b45dd380b6eecd67e82ed6f2e001f3768b03e08864055fe4119187cf26efd3f09463c64072a9647f63ad251d1 SHA512 25e2e9cd8d18080947a84c0d76f0b34d74b289ccc7c6172278908c026dd6f7379ebb268aae79c3e8ab458f3883aa212e54a137cbaab336c1277acdad07a13a01
+AUX libmcpp-2.7.2-gniibe.patch 1039 BLAKE2B 2d69c087602432013c86cfe3a54f67e113842b0ae1cb9d293862f9ab1956c0b38a86a93c294936eb9e43c9fc6f7c8726bcfe198d0cdd9ede68bb05acec340e46 SHA512 a31a0f2e7430381e5e62ea4257a35891ce9d2f3beed60c6caad3b6d298a58557e9c850223840ef8c6f6c2e8139cf4a4edf29ac93b2532680feafba503fcfaf6d
+AUX libmcpp-2.7.2-zeroc.patch 2342 BLAKE2B d33a7539044a084ce42d5655db298c92b288574ae677621ccbde252abbc46ea7f5c071c500431e2e761c6158944beb2efd7fa95ec8cebd4e5ea1ce3a6ddf4af9 SHA512 86b2e851490e180dfe3028a5a37019ea423924c921ab053a642fb78d4533a87f913ede2928daf9da4daf60e67795a24521186b40c76961ae99ebeb75f8aa95ad
+DIST mcpp-2.7.2.tar.gz 1533457 BLAKE2B 4368fd1c667923ab3b60ce79f8421c549a9d9105957ca87b9ba49be513cb1be7f220a3ddbaf306e860014d5211af480d07170d912d3d4a80345d8eab45fd6c00 SHA512 1ca885cb13fdb684de9d0595a9215b52f48a93a69077d82cdcacafe40d9a61fb77b00a3ff2b8890e7bc0a0fcc0c8d70d4093c00c280351cd4459aba67c573235
+EBUILD libmcpp-2.7.2-r2.ebuild 716 BLAKE2B 8dae6fae2e6fddda5581b1adf3faea20d9b6132b034abd7932b009820d5e5553344c4c7f75b61b992f19fdd6a01ea5a24b6d55f2c0f6a28b1f69c4f2f6726237 SHA512 a4b00d7c475c7c1deb37576fd2c0e137635df1c9c8caf31c6dc3b0579d2b73b9e1794472a3f82d24636c901ff434b9a2d8a160057293cf0ad7165cdbdf227846
+EBUILD libmcpp-2.7.2-r3.ebuild 776 BLAKE2B 20b6e5e79784b777925e8ae927ce0a5dc08321bad61fd64836c7b99796c7a6e23f19fe10749fbb6b8d34f1a1c7653a1e471c5338fae1f352d1abdcd3e08ab6cc SHA512 d0ad25a3a72047b086dc840a094da909f40995098700580e78e1e7cc040b4e6dffb07b81e741062e62aa5e3bdbcdd1abcaa3a5c9a35fa84effd59965c8c6658f
+MISC metadata.xml 323 BLAKE2B 5e7e7283be11618c43b1e1138fd5af4030dfaa17b0f1e047d8af8d032888b52b5eda3c9bae4bedb1303a7849dc561721aab35e94e222f5f11c951f2f50c7a150 SHA512 0d074121ac7cbf36bab09b3f76d81df9aa19cd2399418d3b30d9e4cb9107a3f339e8b4c478694a8c8ef560d23fe9be1b4bcfc8c347d83cb51cf45fbd6849224e
diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-build-system.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-build-system.patch
new file mode 100644
index 000000000000..95cefadd3fe8
--- /dev/null
+++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-fix-build-system.patch
@@ -0,0 +1,30 @@
+Specify and install files using idiomatic Automake
+conventions instead of manually installing with cp.
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -23,16 +23,12 @@
+ $(top_srcdir)/test-c $(top_srcdir)/test-l $(top_srcdir)/tool \
+ $(top_srcdir)/doc $(top_srcdir)/doc-jp
+
+-if ! REPLACE_CPP
+-install-exec-hook:
+- $(top_srcdir)/config/install-sh -d "$(DESTDIR)$(prefix)/share/doc/mcpp"
+- cp -pf $(top_srcdir)/LICENSE $(top_srcdir)/README $(top_srcdir)/NEWS \
+- $(DESTDIR)$(prefix)/share/doc/mcpp
+- cp -pf $(top_srcdir)/doc/mcpp-manual.html \
+- $(DESTDIR)$(prefix)/share/doc/mcpp
+- cp -pf $(top_srcdir)/doc-jp/mcpp-manual.html \
+- $(DESTDIR)$(prefix)/share/doc/mcpp/mcpp-manual-jp.html
+-uninstall-hook:
+- rm -rf $(DESTDIR)$(prefix)/share/doc/mcpp
+-endif
++dist_doc_DATA = README NEWS doc/mcpp-summary.pdf
+
++dist_html_DATA = \
++ doc/cpp-test.html \
++ doc/mcpp-manual.html \
++ doc/mcpp-porting.html
++
++htmljadir = $(htmldir)/doc-jp
++dist_htmlja_DATA = doc-jp/mcpp-manual.html
diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch
new file mode 100644
index 000000000000..cb5aa6c345ce
--- /dev/null
+++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch
@@ -0,0 +1,33 @@
+Description: Simple fixes
+ * Fix freeing unmalloced memory
+ The memory of 'in_file' is not malloced, but points to argv[].
+ It is wrong to free it.
+ * When there is no input file specified by argv, it causes error
+ and fp_in == NULL. Check is needed to call fclose for fp_in.
+Author: NIIBE Yutaka
+
+## Fixes the issue reported at:
+## http://www.forallsecure.com/bug-reports/6b11b6fccda17cc467e055ccf7fec3fa2d89ec00/
+
+Index: mcpp-2.7.2/src/main.c
+===================================================================
+--- mcpp-2.7.2.orig/src/main.c 2013-07-09 03:03:05.610947658 +0000
++++ mcpp-2.7.2/src/main.c 2013-07-09 03:03:05.534947624 +0000
+@@ -428,16 +428,11 @@
+
+ fatal_error_exit:
+ #if MCPP_LIB
+- /* Free malloced memory */
+- if (mcpp_debug & MACRO_CALL) {
+- if (in_file != stdin_name)
+- free( in_file);
+- }
+ clear_filelist();
+ clear_symtable();
+ #endif
+
+- if (fp_in != stdin)
++ if (fp_in && fp_in != stdin)
+ fclose( fp_in);
+ if (fp_out != stdout)
+ fclose( fp_out);
diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch
new file mode 100644
index 000000000000..fff5d321fe98
--- /dev/null
+++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch
@@ -0,0 +1,75 @@
+Description: Fixes by ZeroC, Inc.
+Author: ZeroC, Inc.
+Bug-Debian: http://bugs.debian.org/611749
+
+--- mcpp-2.7.2.orig/src/main.c
++++ mcpp-2.7.2/src/main.c
+@@ -326,6 +326,8 @@ static void init_main( void)
+ = FALSE;
+ option_flags.trig = TRIGRAPHS_INIT;
+ option_flags.dig = DIGRAPHS_INIT;
++ sh_file = NULL;
++ sh_line = 0;
+ }
+
+ int mcpp_lib_main
+--- mcpp-2.7.2.orig/src/support.c
++++ mcpp-2.7.2/src/support.c
+@@ -188,7 +188,7 @@ static char * append_to_buffer(
+ size_t length
+ )
+ {
+- if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
++ if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+@@ -1722,6 +1722,8 @@ com_start:
+ sp -= 2;
+ while (*sp != '\n') /* Until end of line */
+ mcpp_fputc( *sp++, OUT);
++ mcpp_fputc( '\n', OUT);
++ wrong_line = TRUE;
+ }
+ goto end_line;
+ default: /* Not a comment */
+--- mcpp-2.7.2.orig/src/internal.H
++++ mcpp-2.7.2/src/internal.H
+@@ -390,6 +390,8 @@ extern char * const work_end; /* E
+ extern char identifier[]; /* Lastly scanned name */
+ extern IFINFO ifstack[]; /* Information of #if nesting */
+ extern char work_buf[];
++extern FILEINFO * sh_file;
++extern int sh_line;
+ /* Temporary buffer for directive line and macro expansion */
+
+ /* main.c */
+@@ -557,6 +559,6 @@ extern void init_system( void);
+ #endif
+ #endif
+
+-#if HOST_HAVE_STPCPY
++#if HOST_HAVE_STPCPY && !defined(stpcpy)
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+--- mcpp-2.7.2.orig/src/system.c
++++ mcpp-2.7.2/src/system.c
+@@ -3858,6 +3858,9 @@ static int chk_dirp(
+ }
+ #endif
+
++FILEINFO* sh_file;
++int sh_line;
++
+ void sharp(
+ FILEINFO * sharp_file,
+ int flag /* Flag to append to the line for GCC */
+@@ -3868,8 +3871,6 @@ void sharp(
+ * else (i.e. 'sharp_file' is NULL) 'infile'.
+ */
+ {
+- static FILEINFO * sh_file;
+- static int sh_line;
+ FILEINFO * file;
+ int line;
+
diff --git a/dev-cpp/libmcpp/libmcpp-2.7.2-r2.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2-r2.ebuild
new file mode 100644
index 000000000000..0f8a8f23a825
--- /dev/null
+++ b/dev-cpp/libmcpp/libmcpp-2.7.2-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_P=${P/lib/}
+
+DESCRIPTION="A portable C++ preprocessor"
+HOMEPAGE="http://mcpp.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcpp/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 x86 ~x86-linux ~x64-macos"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${PN}-2.7.2-fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-mcpplib \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild
new file mode 100644
index 000000000000..69aa40621369
--- /dev/null
+++ b/dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_P=${P/lib/}
+
+DESCRIPTION="A portable C++ preprocessor"
+HOMEPAGE="http://mcpp.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcpp/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~x86 ~x86-linux ~x64-macos"
+IUSE="static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.7.2-fix-build-system.patch
+ "${FILESDIR}"/${PN}-2.7.2-zeroc.patch
+ "${FILESDIR}"/${PN}-2.7.2-gniibe.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-mcpplib \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-cpp/libmcpp/metadata.xml b/dev-cpp/libmcpp/metadata.xml
new file mode 100644
index 000000000000..bf687a443a18
--- /dev/null
+++ b/dev-cpp/libmcpp/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">mcpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libxmlpp-2.40.1 b/dev-cpp/libxmlpp-2.40.1
deleted file mode 100644
index 274017f91c3f..000000000000
--- a/dev-cpp/libxmlpp-2.40.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=>=dev-libs/libxml2-2.7.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ wrapper for the libxml2 XML parser library
-EAPI=5
-HOMEPAGE=http://libxmlplusplus.sourceforge.net/
-IUSE=doc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris
-LICENSE=LGPL-2.1
-RDEPEND=>=dev-libs/libxml2-2.7.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=2.6
-SRC_URI=mirror://gnome/sources/libxml++/2.40/libxml++-2.40.1.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=97fe56e908b8950ea0a02ba48809b245
diff --git a/dev-cpp/libxmlpp-3.0.1 b/dev-cpp/libxmlpp-3.0.1
deleted file mode 100644
index 0c75ea565dd5..000000000000
--- a/dev-cpp/libxmlpp-3.0.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=dev-libs/libxml2-2.7.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ wrapper for the libxml2 XML parser library
-EAPI=6
-HOMEPAGE=http://libxmlplusplus.sourceforge.net/
-IUSE=doc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris
-LICENSE=LGPL-2.1
-RDEPEND=>=dev-libs/libxml2-2.7.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.32[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
-SLOT=3.0
-SRC_URI=mirror://gnome/sources/libxml++/3.0/libxml++-3.0.1.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=8d57fe7fe8c3ff90f5fd82038254db80
diff --git a/dev-cpp/libxmlpp/Manifest b/dev-cpp/libxmlpp/Manifest
new file mode 100644
index 000000000000..59e849c03df9
--- /dev/null
+++ b/dev-cpp/libxmlpp/Manifest
@@ -0,0 +1,5 @@
+DIST libxml++-2.40.1.tar.xz 955220 BLAKE2B 44c55ab0e9018af859097e1a753c1457f5694b282f8f5187b32ce908d34f7953b8e73f1e41750ddf5f5c912712539e32f608a33ab79f22644e15010f75be6c51 SHA512 a4ec2e8182d981c57bdcb8f0a203a3161f8c735ceb59fd212408b7a539d1dc826adf6717bed8f4d544ab08afd9c2fc861efe518e24bbd3a1c4b158e2ca48183a
+DIST libxml++-3.0.1.tar.xz 948796 BLAKE2B cdfa37f3aebdd8109653c50d6e977a443173fe4ff18b3644a030bba065c7ced01bedc98a273ab3a8def73f78efd2458afd16ec68df9f9109b816527383904025 SHA512 9b8ccea9df11d70bb23d7d9983b18d28c648aa0107f9654a79d1cfe97db4633b69dd4b97b76d155aca8553d014a314247851f18d0371717e44a056ee804ccd95
+EBUILD libxmlpp-2.40.1.ebuild 805 BLAKE2B 2ae0b90c343b5f80f55175efee6cc06e93626a342d311e276a2cf6a5e7005143a46dbb155d8247ec280fc745f3015ae66b49cdf2ddaffe563ae6bc6eff84c025 SHA512 4356d8da10409b09459b6e3c4c14d0d2c7b6f189ac51ecf9c2859bbbc75d5a8c14d36c16ce9b6c984ceafb968c0006068f9ab6b3402bc55eae95c8022d04cad2
+EBUILD libxmlpp-3.0.1.ebuild 798 BLAKE2B 39c031d87a79ca21c4bf1b551f072bdc82ba6c363e6317901b5ff9e534f152a858ce6e128b28937551f05364c38418803cb122d6684ee8915a998e035adfbfff SHA512 49714bc10de041861dc0d3e307f2170de8cb0f789df7e5ae646542582b4ceef8e8f2c58c515fda05f856c8354ace3219e47586d10c1a5ff7628720bc17b23808
+MISC metadata.xml 337 BLAKE2B 3368606516683ff4d4ac84b801ca062aabfc86f643f841f1e7a56e6ed3194623e6a87b87ec98d664cca5841a639d0c46c577c584bd7396fa7e4cde6d78e096d8 SHA512 62e1b8bf26625304a947ee1264ba6e9bc904f3276488e09624b7508094730b041a1d5140f43f82301e3fb2b4156b658f7add79dae6007750ae1f29360f944a16
diff --git a/dev-cpp/libxmlpp/libxmlpp-2.40.1.ebuild b/dev-cpp/libxmlpp/libxmlpp-2.40.1.ebuild
new file mode 100644
index 000000000000..1544a5953d10
--- /dev/null
+++ b/dev-cpp/libxmlpp/libxmlpp-2.40.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_ORG_MODULE="${PN/pp/++}"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
+HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
+
+LICENSE="LGPL-2.1"
+SLOT="2.6"
+KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.32[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+multilib_src_prepare() {
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-cpp/libxmlpp/libxmlpp-3.0.1.ebuild b/dev-cpp/libxmlpp/libxmlpp-3.0.1.ebuild
new file mode 100644
index 000000000000..ccfe4b2a09f2
--- /dev/null
+++ b/dev-cpp/libxmlpp/libxmlpp-3.0.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME_ORG_MODULE="${PN/pp/++}"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ wrapper for the libxml2 XML parser library"
+HOMEPAGE="http://libxmlplusplus.sourceforge.net/"
+
+LICENSE="LGPL-2.1"
+SLOT="3.0"
+KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.32[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+"
+
+multilib_src_prepare() {
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-cpp/libxmlpp/metadata.xml b/dev-cpp/libxmlpp/metadata.xml
new file mode 100644
index 000000000000..76b38982324d
--- /dev/null
+++ b/dev-cpp/libxmlpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libxmlplusplus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/libxsd-frontend-2.0.0 b/dev-cpp/libxsd-frontend-2.0.0
deleted file mode 100644
index ed5974752ec6..000000000000
--- a/dev-cpp/libxsd-frontend-2.0.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install test
-DEPEND=>=dev-libs/xerces-c-3.0.0 dev-libs/boost:=[threads] dev-cpp/libcutl >=dev-util/build-0.3.10
-DESCRIPTION=A compiler frontend for the W3C XML Schema definition language
-EAPI=6
-HOMEPAGE=https://www.codesynthesis.com/projects/libxsd-frontend/
-KEYWORDS=~amd64 ~arm ~ppc ~ppc64 ~x86
-LICENSE=GPL-2
-RDEPEND=>=dev-libs/xerces-c-3.0.0 dev-libs/boost:=[threads] dev-cpp/libcutl
-SLOT=0
-SRC_URI=https://www.codesynthesis.com/download/libxsd-frontend/2.0/libxsd-frontend-2.0.0.tar.bz2
-_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=42486f1dbc9ca27b80eaa238745323c1
diff --git a/dev-cpp/libxsd-frontend/Manifest b/dev-cpp/libxsd-frontend/Manifest
new file mode 100644
index 000000000000..f4141d6faa4c
--- /dev/null
+++ b/dev-cpp/libxsd-frontend/Manifest
@@ -0,0 +1,3 @@
+DIST libxsd-frontend-2.0.0.tar.bz2 66784 BLAKE2B 3d41a97dc01f7d9231f981043ab00523f27decba428395940dd008b9a35e434e9f1a002f4214c11fe4fb9d228149eb3e05ba7da3d7682ae9d334d3d0db66dc1d SHA512 8a296fdfe2e562237d46774b33ee82e8f67835b0869c03ffdf04570db1e6f398cf97734685d44c2207abbb73cea20b57e53c8fd80a121f98196c1c7d4bacbc68
+EBUILD libxsd-frontend-2.0.0.ebuild 2142 BLAKE2B d7ede669ab4d093d41d4bf023fda71cd4badb2f030f243f612c3c09b33784b2cf3cae830e02b46ffc0dec6ffae70978e3e4c7c9609932604c617d1365dd41a8f SHA512 75a67b02662db755ad529febe233f85d911b88d5a7a0c63ef7b4161a63f42a743600bc09e1a5c8dc3bb4299d7fc0db09c69346a35d7163e05a704caf0c64ea1e
+MISC metadata.xml 249 BLAKE2B 5791e38f31ac36bb4b94c03962980af247ea39c8af739a949749b1b3a7705ce4031ff53f620b1e4d30c44360e3d1d37ccb186ea109ecc1036977e4e0bb3a92e9 SHA512 0b2b2d015d6d3310efdedc20cd12cb2f587c105f1e84b243d3a7dc6337dde082c16683781eba9a0cb09341756f10f651579df35837ee232309a97017ec02cbee
diff --git a/dev-cpp/libxsd-frontend/libxsd-frontend-2.0.0.ebuild b/dev-cpp/libxsd-frontend/libxsd-frontend-2.0.0.ebuild
new file mode 100644
index 000000000000..1152c229155b
--- /dev/null
+++ b/dev-cpp/libxsd-frontend/libxsd-frontend-2.0.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs versionator
+
+DESCRIPTION="A compiler frontend for the W3C XML Schema definition language"
+HOMEPAGE="https://www.codesynthesis.com/projects/libxsd-frontend/"
+SRC_URI="https://www.codesynthesis.com/download/${PN}/$(get_version_component_range 1-2)/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-libs/xerces-c-3.0.0
+ dev-libs/boost:=[threads]
+ dev-cpp/libcutl"
+DEPEND="${RDEPEND}
+ >=dev-util/build-0.3.10"
+
+src_configure() {
+ mkdir -p \
+ build/{ld,cxx/gnu} \
+ build/import/lib{boost,cult,frontend-elements,xerces-c} || die
+
+ cat >> build/cxx/configuration-dynamic.make <<- EOF || die
+ cxx_id := gnu
+ cxx_optimize := n
+ cxx_debug := n
+ cxx_rpath := n
+ cxx_pp_extra_options :=
+ cxx_extra_options := ${CXXFLAGS}
+ cxx_ld_extra_options := ${LDFLAGS}
+ cxx_extra_libs :=
+ cxx_extra_lib_paths :=
+ EOF
+
+ cat >> build/cxx/gnu/configuration-dynamic.make <<- EOF || die
+ cxx_gnu := $(tc-getCXX)
+ cxx_gnu_libraries :=
+ cxx_gnu_optimization_options :=
+ EOF
+
+ cat >> build/ld/configuration-lib-dynamic.make <<- EOF || die
+ ld_lib_type := shared
+ EOF
+
+ # boost
+ cat >> build/import/libboost/configuration-dynamic.make <<- EOF || die
+ libboost_installed := y
+ libboost_system := y
+ EOF
+
+ # libcutl
+ cat >> build/import/libcutl/configuration-dynamic.make <<- EOF || die
+ libcutl_installed := y
+ EOF
+
+ # xerces-c
+ cat >> build/import/libxerces-c/configuration-dynamic.make <<- EOF || die
+ libxerces_c_installed := y
+ EOF
+}
+
+src_compile() {
+ emake verbose=1
+}
+
+src_install() {
+ einstalldocs
+
+ dolib.so xsd-frontend/libxsd-frontend.so
+
+ # clean header dir of build files
+ find xsd-frontend \( -iname '*.cxx' -o -iname 'makefile*' \
+ -o -iname '*.o' -o -iname '*.d' -o -iname '*.m4' -o -iname '*.l' \
+ -o -iname '*.cpp-options' -o -iname '*.so' \) -exec rm -rf '{}' + || die
+ rm -rf xsd-frontend/arch || die
+ doheader -r xsd-frontend
+}
+
+src_test() {
+ export LD_LIBRARY_PATH="${S}/xsd-frontend:${LD_LIBRARY_PATH}"
+ default
+}
diff --git a/dev-cpp/libxsd-frontend/metadata.xml b/dev-cpp/libxsd-frontend/metadata.xml
new file mode 100644
index 000000000000..d4905c84fc34
--- /dev/null
+++ b/dev-cpp/libxsd-frontend/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>
diff --git a/dev-cpp/lucene++-3.0.7 b/dev-cpp/lucene++-3.0.7
deleted file mode 100644
index 6277cd6ef90a..000000000000
--- a/dev-cpp/lucene++-3.0.7
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-libs/boost:= sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=C++ port of Lucene library, a high-performance, full-featured text search engine
-EAPI=5
-HOMEPAGE=https://github.com/luceneplusplus/LucenePlusPlus
-IUSE=debug
-KEYWORDS=amd64 hppa ppc ppc64 sparc x86
-LICENSE=|| ( LGPL-3 Apache-2.0 )
-RDEPEND=dev-libs/boost:=
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_3.0.7.tar.gz -> lucene++-3.0.7.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=4920c8974b21ad77cfc5f13bdbd56452
diff --git a/dev-cpp/lucene++/Manifest b/dev-cpp/lucene++/Manifest
new file mode 100644
index 000000000000..206373086cce
--- /dev/null
+++ b/dev-cpp/lucene++/Manifest
@@ -0,0 +1,4 @@
+AUX lucene++-3.0.7-boost-1.58.patch 1149 BLAKE2B 0021a7a27caabb92232adb42c7b1e8d4832902954018be4bf89e2765562e1e26cc29a67dc75be82f9d2ca7dfddd1e137fc742850d6707527da04574f2b1bbac9 SHA512 7fd0089895ab77da158a49510241fdc894bd3d30f7a6691ddc230f4d52631ec9222a04e13ef0a118f7838b4320fd313502f635c8f0827ba5bb4c6169fdd404b9
+DIST lucene++-3.0.7.tar.gz 2013570 BLAKE2B 26abb1a2fa2a24d7240505f11639c078744313541b4993ed84e4d0129fda74346e841f0c4c7552e58a15dd492af9ffd33ea66866c8e6810cd41e5d675833ce79 SHA512 92f3bba320980673cc64c983616aa38d25b44ea811237ed226741b892757fb8151e4f833aa58a18dbe7a0c9a899d94e828aa15e6d7b48a69ab730d1d772db220
+EBUILD lucene++-3.0.7.ebuild 811 BLAKE2B 1d28c365548431db7973b5f743ca3375f7daed1c31f92f7f5dc25e15ef0bf1d3234234e8bb1b4c9f19b15209fe08eee2c869565c32912d3783c46b92f48a86f2 SHA512 c40875d5e138ad869cba0c72307029ff4c9945dfac6e091ab3c83dc553412761ce8c7d7f65cabceb57abd4cf10679da46905f54ee3cafe6f22b7415e3295aab2
+MISC metadata.xml 339 BLAKE2B e503e6597ab8a20f9cb8613a4a4b7be729dd84d664b03fefa4cebe16da9adbea68de1adabf0055934815a70abfbdcd8f7603c7b7ff4a75bf8fac7973790a7412 SHA512 8864d26ad6eb0c9e565932a3f9a0e28e0e86c51998136e9ff56c2ef3fe0e7eb78bcc5d3b7a5e3acdbd0a89f3cf335e2af837a1ed3f0e492db42492e5a85eac26
diff --git a/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch b/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch
new file mode 100644
index 000000000000..9ff33fd03005
--- /dev/null
+++ b/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch
@@ -0,0 +1,37 @@
+commit 1987082cf9278a639d772b4f35a8ae2d34944177
+Author: Václav Slavík <vaclav@slavik.io>
+Date: Mon May 4 18:04:46 2015 +0200
+
+ Fix compilation with Boost 1.58
+
+ 1.58 introduces strict type checking in boost::get() and while that's
+ good in theory, the VariantUtils code makes it impractical to use.
+ Instead, use relaxed_get() to get the old behavior. relaxed_get() didn't
+ exist in older versions of Boost, so the code must check BOOST_VERSION.
+
+ Fixes #93.
+
+diff --git a/include/VariantUtils.h b/include/VariantUtils.h
+index 1e6c243..5a72e59 100644
+--- a/include/VariantUtils.h
++++ b/include/VariantUtils.h
+@@ -8,6 +8,7 @@
+ #define VARIANTUTILS_H
+
+ #include <boost/any.hpp>
++#include <boost/version.hpp>
+ #include "Lucene.h"
+ #include "MiscUtils.h"
+
+@@ -22,7 +23,11 @@ public:
+
+ template <typename TYPE, typename VAR>
+ static TYPE get(VAR var) {
++#if BOOST_VERSION < 105800
+ return var.type() == typeid(TYPE) ? boost::get<TYPE>(var) : TYPE();
++#else
++ return var.type() == typeid(TYPE) ? boost::relaxed_get<TYPE>(var) : TYPE();
++#endif
+ }
+
+ template <typename TYPE, typename VAR>
diff --git a/dev-cpp/lucene++/lucene++-3.0.7.ebuild b/dev-cpp/lucene++/lucene++-3.0.7.ebuild
new file mode 100644
index 000000000000..7041d7913dce
--- /dev/null
+++ b/dev-cpp/lucene++/lucene++-3.0.7.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P="LucenePlusPlus-rel_${PV}"
+inherit cmake-utils multilib
+
+DESCRIPTION="C++ port of Lucene library, a high-performance, full-featured text search engine"
+HOMEPAGE="https://github.com/luceneplusplus/LucenePlusPlus"
+SRC_URI="https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( LGPL-3 Apache-2.0 )"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
+IUSE="debug"
+
+DEPEND="dev-libs/boost:="
+RDEPEND="${DEPEND}"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( AUTHORS README.rst )
+
+PATCHES=( "${FILESDIR}/${P}-boost-1.58.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DEMO=OFF
+ -DENABLE_TEST=OFF
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/lucene++/metadata.xml b/dev-cpp/lucene++/metadata.xml
new file mode 100644
index 000000000000..3eaca1156f33
--- /dev/null
+++ b/dev-cpp/lucene++/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">luceneplusplus/luceneplusplus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/metadata.xml b/dev-cpp/metadata.xml
new file mode 100644
index 000000000000..643f7614d21e
--- /dev/null
+++ b/dev-cpp/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-cpp category contains libraries and utilities relevant to the
+ c++ programming language.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-cpp enthält Bibliotheken und Werkzeuge für die
+ Programmiersprache C++.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-cpp contiene librerias y utilidades referentes al
+ lenguaje de programación C++.
+ </longdescription>
+ <longdescription lang="ja">
+ dev-cpp カテゴリーにはC++プログラミング言語に関連したライブラリーと
+ ユーティリティが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De dev-cpp categorie bevat bibliotheken en hulpmiddelen voor het gebruik
+ van de programmeertaal C++.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm dev-cpp chứa các thư viện và tiện ích liên quan
+ đến ngôn ngữ lập trình C++.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria dev-cpp contiene librerie e utilità per illinguaggio C++.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria dev-cpp contém bibliotecas e utilitários para a
+ linguagem de programação C++.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-cpp zawiera biblioteki i narzędzia związane z językiem
+ programowania c++.
+ </longdescription>
+</catmetadata>
+
diff --git a/dev-cpp/metslib-0.5.3 b/dev-cpp/metslib-0.5.3
deleted file mode 100644
index bb6688836886..000000000000
--- a/dev-cpp/metslib-0.5.3
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=-
-DESCRIPTION=Metaheuristic modeling framework and optimization toolkit
-EAPI=5
-HOMEPAGE=https://projects.coin-or.org/metslib
-KEYWORDS=~amd64 ~arm
-LICENSE=|| ( GPL-3 CPL-1.0 )
-SLOT=0
-SRC_URI=http://www.coin-or.org/download/source/metslib/metslib-0.5.3.tgz
-_md5_=6c1603cc7dbd31b6dc02a84cab41bf4e
diff --git a/dev-cpp/metslib/Manifest b/dev-cpp/metslib/Manifest
new file mode 100644
index 000000000000..85c0623d8f1d
--- /dev/null
+++ b/dev-cpp/metslib/Manifest
@@ -0,0 +1,3 @@
+DIST metslib-0.5.3.tgz 218295 BLAKE2B 259cb3e51a7faac9b36bd43477114e0e91a11ae7874cc6d520d73f400a4cd2252800f66098a611b53a2b6408ed3f7fbe02639fc5ea3c46db95e16f6ede073376 SHA512 27acc3728213f92963e046fa5ffd268686764e02d35765415a544194d70c873cfe38d5bba5a259b63847ab815c5984313fe81a66da1d39c89615a413943f7b04
+EBUILD metslib-0.5.3.ebuild 434 BLAKE2B 235e85450138ede3c75f733e63d9c2d61b94d7ea5a29bdfc3bb604aaddbc6fca2b31dba97c98d9449f3e00aaa465ad2b272040448660704ab04a1cbfe4bb0ce4 SHA512 6184c50ba4c722bde25d6fe3b3327c0efbae3039a399dfdf9e04e28ec25a33e205bb74cc6ea1ff609f704c905d2889a00a7f98dabaa96caacdccc7fc0e939249
+MISC metadata.xml 243 BLAKE2B 13c40383778472fec33f877963b2be8d44c354e5449e3ac38dfba06cb38e4cfb6a63d5d73c5acb1e02a1c8ee783131c46c8b56eb14de786de7f77635f15d18d7 SHA512 c9d5c1cdd2874fe293f21f7584c6e15ef9439bd82b0d2e862e3e34c9a9e0e3191370fee2727b9d4d8647fb85cf56a39fdd6c1e0003ada1554496aad311ef335c
diff --git a/dev-cpp/metslib/metadata.xml b/dev-cpp/metslib/metadata.xml
new file mode 100644
index 000000000000..6ca4a599be8f
--- /dev/null
+++ b/dev-cpp/metslib/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="person">
+<email>aballier@gentoo.org</email>
+<name>Alexis Ballier</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/metslib/metslib-0.5.3.ebuild b/dev-cpp/metslib/metslib-0.5.3.ebuild
new file mode 100644
index 000000000000..6cecf6502b7d
--- /dev/null
+++ b/dev-cpp/metslib/metslib-0.5.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Metaheuristic modeling framework and optimization toolkit"
+HOMEPAGE="https://projects.coin-or.org/metslib"
+SRC_URI="http://www.coin-or.org/download/source/metslib/${P}.tgz"
+
+LICENSE="|| ( GPL-3 CPL-1.0 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+DOCS=( AUTHORS NEWS README )
diff --git a/dev-cpp/mm-common-0.9.12 b/dev-cpp/mm-common-0.9.12
deleted file mode 100644
index 20aa8733f07e..000000000000
--- a/dev-cpp/mm-common-0.9.12
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare unpack
-DEPEND=>=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=Build infrastructure and utilities for GNOME C++ bindings
-EAPI=5
-HOMEPAGE=https://www.gtkmm.org/
-KEYWORDS=~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86
-LICENSE=GPL-2
-SLOT=0
-SRC_URI=mirror://gnome/sources/mm-common/0.9/mm-common-0.9.12.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=4f35063dc63058e2e0ca7193345cef0d
diff --git a/dev-cpp/mm-common/Manifest b/dev-cpp/mm-common/Manifest
new file mode 100644
index 000000000000..8a8ff69b1bdd
--- /dev/null
+++ b/dev-cpp/mm-common/Manifest
@@ -0,0 +1,3 @@
+DIST mm-common-0.9.12.tar.xz 304588 BLAKE2B 8fd443b4077d803bb1513c897aa44965e50591cf36518469f1f2f74c40ff2b4f687152f9fc31e2d543ac97ae7a5a0a58efdc8c362959e015eee54b8bd518809e SHA512 99701d91994ca2783fe5b8bfd44cdea9f14e16dbbc116f894d9f3df746912cdbcdbdb0d5fdf6e235c9d22621a314de7aaac9b87a18f3ab742a0ad2ebbaad8ec7
+EBUILD mm-common-0.9.12.ebuild 381 BLAKE2B 1c169a4822b5c726b0590e9d90b7474bfc93d41e7d4da7666afd6474fdd47f1c802a2bfab8b33da62b5582a3dd9e857564ee492943b42e4604cd9a580d387c15 SHA512 eb0659657896dde63eb9de28858f8208ff1afc6db71382f301c7d277c5fda7b995d5330d322961e164b67aacc2c569f7b283fc3793dd298893797f0fb4fa87e2
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/mm-common/metadata.xml b/dev-cpp/mm-common/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/mm-common/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/mm-common/mm-common-0.9.12.ebuild b/dev-cpp/mm-common/mm-common-0.9.12.ebuild
new file mode 100644
index 000000000000..5000f18771c2
--- /dev/null
+++ b/dev-cpp/mm-common/mm-common-0.9.12.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="Build infrastructure and utilities for GNOME C++ bindings"
+HOMEPAGE="https://www.gtkmm.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/dev-cpp/ms-gsl-1.0.0 b/dev-cpp/ms-gsl-1.0.0
deleted file mode 100644
index 5712c97d8ed6..000000000000
--- a/dev-cpp/ms-gsl-1.0.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=test? ( >=dev-cpp/catch-1.11.0 ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Guideline Support Library implementation by Microsoft
-EAPI=6
-HOMEPAGE=https://github.com/Microsoft/GSL
-IUSE=test
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-SLOT=0
-SRC_URI=https://github.com/Microsoft/GSL/archive/v1.0.0.tar.gz -> ms-gsl-1.0.0.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf vcs-snapshot 3be1ab44131e8c0bbdaa75823008444b xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=2076221f2c6e6b0f4446c1cebca69df5
diff --git a/dev-cpp/ms-gsl/Manifest b/dev-cpp/ms-gsl/Manifest
new file mode 100644
index 000000000000..8d1dfba7625e
--- /dev/null
+++ b/dev-cpp/ms-gsl/Manifest
@@ -0,0 +1,5 @@
+AUX ms-gsl-1.0.0-disable_Werror-644042.patch 1110 BLAKE2B fd126ec96d9a378eb8489919c130a64da9548b712a6a01fea5256294dca39afce813013f78c1b43a251b5b7fbe8846493dd9860aea2b7578c39c2cf766247202 SHA512 eec47c7f4d28d7b14a3403d046dc111bb3ef9e02e9e797f74636f3f7d11bc865c94e246bd4f98d9f39540c66b751de0ca81d523be3d523017e94886ec474799b
+AUX ms-gsl-1.0.0-use_system_catch-636828.patch 559 BLAKE2B 899f98f0b3e9b0f04cf0db9e74931113ee1d5ef77d5e016df9969abc5ea02d6a90736fa3cb37b5f3cc6ec5b4092a2660f610f636386d5de3c6e6e9b61fce0501 SHA512 4bfd90b1567fa708d9c51c78edb51974aae9158f456077a305de5d7d279686d85e593bba5c2bae477eb50880f731626192765b6122db6afcd383596d1a1e00dc
+DIST ms-gsl-1.0.0.tar.gz 58920 BLAKE2B 46b71ec1fe57ec311a53895498c375c2313ed1f2858cd6b67d19d92ef10230707ce14fb757c00c92ea3475d787cda400cc449c34d54a54a3d0123f71b87b11ad SHA512 cde55df9540fd08ca8d29a74b2cff360686aa75b01ee1c48bd9782a2d70d1b6eae712a51eaf9b60453f859e466df00345b0a2893137d16490cea8ee54362f7da
+EBUILD ms-gsl-1.0.0.ebuild 740 BLAKE2B 064e283ba501e9fb3ad9dd3fd28576c4138ebab6d5c532cecbe6b416d3a468a96b9fcc94bddc6987562b3c9897c7623f874c2bd791568d59bf7fe2cb463756d7 SHA512 0f4ba6a3e412749c33ea001645cc3b43b4cc509ed9190e56201a9b2ad8f055431df55d7a2e77e85c2180fe542e4b60042e58618cb4840fd5187fdd2eda9201cd
+MISC metadata.xml 533 BLAKE2B 997b40261c13283f190b7fe70b87e9d42b2b05c267afdbfc1de3a7b56bfb968736fd1a1163abc723985919fd201048fc69905cdaa6d6e4a8f938bac42495d13e SHA512 01522dee3ebdbe7e5f533a64859c8f215f8653ab6d7775f1488efa9aa813840ae7c2112cd4865b007feb1a296f74aeac123389881608e169f5d0f417dacd7719
diff --git a/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch
new file mode 100644
index 000000000000..35c8177cad8a
--- /dev/null
+++ b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-disable_Werror-644042.patch
@@ -0,0 +1,35 @@
+From 683aacce5b642a3c735f8040601e0de345d028da Mon Sep 17 00:00:00 2001
+From: Jan Henke <Jan.Henke@taujhe.de>
+Date: Sat, 17 Mar 2018 19:47:52 +0100
+Subject: [PATCH] Disable -WError when compiling tests
+
+GCC 7 generates new warnings on some of the test files, which lead to
+build failures. -WError generally is helpful while developing to enforce
+a zero error policy, but not so much when packaging. Gentoo bug 644042
+---
+ tests/CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 0e08d77..86e9af7 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -41,7 +41,6 @@ target_compile_options(gsl_tests_config INTERFACE
+ -Wcast-align
+ -Wconversion
+ -Wctor-dtor-privacy
+- -Werror
+ -Wextra
+ -Wno-missing-braces
+ -Wnon-virtual-dtor
+@@ -129,7 +128,6 @@ target_compile_options(gsl_tests_config_noexcept INTERFACE
+ -Wcast-align
+ -Wconversion
+ -Wctor-dtor-privacy
+- -Werror
+ -Wextra
+ -Wno-missing-braces
+ -Wnon-virtual-dtor
+--
+2.16.1
+
diff --git a/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch
new file mode 100644
index 000000000000..12d92605dda8
--- /dev/null
+++ b/dev-cpp/ms-gsl/files/ms-gsl-1.0.0-use_system_catch-636828.patch
@@ -0,0 +1,21 @@
+Add CMake option to disable upstream's catch download, we always want to use the
+system wide installed version. Gentoo bug 636828.
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 86ce5a4..b36df56 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -10,7 +10,9 @@ list(APPEND CATCH_CMAKE_ARGS
+ "-DNO_SELFTEST=true"
+ )
+
+-if(GIT_FOUND)
++option(FORCE_SYSTEM_CATCH "Force usage of system-wide catch install" OFF)
++
++if(NOT ${FORCE_SYSTEM_CATCH} AND GIT_FOUND)
+ # add catch
+ ExternalProject_Add(
+ catch
+--
+2.13.6
+
diff --git a/dev-cpp/ms-gsl/metadata.xml b/dev-cpp/ms-gsl/metadata.xml
new file mode 100644
index 000000000000..7b3ec3f962e5
--- /dev/null
+++ b/dev-cpp/ms-gsl/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>Microsoft's implmentation of the Guidelines Support Library.</longdescription>
+ <upstream>
+ <remote-id type="github">Microsoft/GSL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/ms-gsl/ms-gsl-1.0.0.ebuild b/dev-cpp/ms-gsl/ms-gsl-1.0.0.ebuild
new file mode 100644
index 000000000000..cde182b5ba10
--- /dev/null
+++ b/dev-cpp/ms-gsl/ms-gsl-1.0.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils vcs-snapshot
+
+DESCRIPTION="Guideline Support Library implementation by Microsoft"
+HOMEPAGE="https://github.com/Microsoft/GSL"
+SRC_URI="https://github.com/Microsoft/GSL/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# header only library
+RDEPEND=""
+DEPEND="test? ( >=dev-cpp/catch-1.11.0 )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-use_system_catch-636828.patch"
+ "${FILESDIR}/${P}-disable_Werror-644042.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DGSL_TEST=$(usex test)
+ )
+ use test && mycmakeargs+=( -DFORCE_SYSTEM_CATCH=ON )
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/muParser-2.2.3 b/dev-cpp/muParser-2.2.3
deleted file mode 100644
index c9418e7c4859..000000000000
--- a/dev-cpp/muParser-2.2.3
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install prepare test
-DEPEND=app-arch/unzip
-DESCRIPTION=Library for parsing mathematical expressions
-EAPI=5
-HOMEPAGE=http://muparser.beltoforion.de/
-IUSE=doc test
-KEYWORDS=amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos
-LICENSE=MIT
-SLOT=0
-SRC_URI=mirror://sourceforge/muparser/muparser_v2_2_3.zip
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=cd845c84a56f835fa6165965735722f4
diff --git a/dev-cpp/muParser-2.2.5 b/dev-cpp/muParser-2.2.5
deleted file mode 100644
index 23f17abcbe8c..000000000000
--- a/dev-cpp/muParser-2.2.5
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=configure install prepare test
-DESCRIPTION=Library for parsing mathematical expressions
-EAPI=5
-HOMEPAGE=http://muparser.beltoforion.de/
-IUSE=doc test
-KEYWORDS=amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos
-LICENSE=MIT
-SLOT=0
-SRC_URI=https://github.com/beltoforion/muparser/archive/v2.2.5.tar.gz -> muParser-2.2.5.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=5b0555e95d1b990e9a46361598da3219
diff --git a/dev-cpp/muParser/Manifest b/dev-cpp/muParser/Manifest
new file mode 100644
index 000000000000..e4bd299f50c5
--- /dev/null
+++ b/dev-cpp/muParser/Manifest
@@ -0,0 +1,6 @@
+AUX muParser-1.32-parallel-build.patch 680 BLAKE2B 7699b129186f0173bfbc7f742d51175ed67eddb9898b61f7d6a3a462e1a262112a2d4af445e12501caa88d4630308bb5f273ef2a704e2948db9cdb7649ee6bb7 SHA512 a39af330803786ebb86259dd86ecfac00ca04978b0e623b418d887f6b20a6eb6cee2b37da8164aa7038b3accf388b40b6a6d4eccd2f20afdfd6051cc3505ac90
+DIST muParser-2.2.5.tar.gz 761315 BLAKE2B ddb7a226cecd164929a2f45ca0c2a5d20f37cd6bba2fca919c9e534017fa087523311bade8a7be4a5a011ecd5dec0a2496ff08354d2010341bccf2e2a8276c1d SHA512 d89380ebdc0ce91d0ea38fe43419ab6ed06c47d352b9ee20e1edcce48337b464366153493e0241c373ba2880a8b419fb9541e56cda0d14915daf9b98136ee682
+DIST muparser_v2_2_3.zip 1481359 BLAKE2B fcd9326619d28f0ea9e22cd6d85f8e620a18ad38561ceb026f024d80594d7d13a4772b3087df87d94ec3a1d3a80ce38a56f3dadc86b1011d9eafe7949d27be13 SHA512 86d140c07161757e2f0de516a4c2922ce5b135d06b01466bc15ad90833bd3e9f99b9b9c528617262597a7a5a6b09bff5ae8ced5d51c413ea611059e0bdb22e6d
+EBUILD muParser-2.2.3.ebuild 916 BLAKE2B 193a46a98d462f990330242af8eb6ab7bccaa3194e18f9704d99868c63d6486312e064446220d4feac4274a6fa9bb500bad8d79ac8c38b648729248a2a9b38af SHA512 fed6b79e67cf7a3af9f917148d69d1d6b68c9016a7e88bf9296144224a80199c3ea2f98af5b7e8780569187f5f1fd6fd04aafb136dbf146beddbbe90352dab8f
+EBUILD muParser-2.2.5.ebuild 863 BLAKE2B eef6d0bc10f80248f632b7f7cfc08b6336c237a1e0f37cc229df4247850eea8fc5360a1fd2057f2452ba0113b630ec1e31ce90d2ac234ad179ea61c081d84b0d SHA512 6bbd9ff70d8cb11e75c282b52fc5fec0092a7bd57baed94cda099c2b18744101d78678f9cc9a29bd9be447e2d4fa41c03fb529292b6cc7b9b79f8009f47c9108
+MISC metadata.xml 624 BLAKE2B fc3684b1f97031e5d63bddbe28679529add1a931930a351cc56ae5bef8395f9a05020a00557a0b1bc421e20c09ce59b5332597043f96981405c1911407948d7a SHA512 fdf266f68b3463e7f22358efbba60055512d7f7fce7a98de6f572a0b4c191c0b0b50b29676a432fa7fd604207029314ad5e43f043831d064de8c5f232fb424a5
diff --git a/dev-cpp/muParser/files/muParser-1.32-parallel-build.patch b/dev-cpp/muParser/files/muParser-1.32-parallel-build.patch
new file mode 100644
index 000000000000..1681c6e68034
--- /dev/null
+++ b/dev-cpp/muParser/files/muParser-1.32-parallel-build.patch
@@ -0,0 +1,15 @@
+Fixing parallel build issue
+
+http://bugs.gentoo.org/show_bug.cgi?id=310037
+
+--- muparser_v132/Makefile.in
++++ muparser_v132/Makefile.in
+@@ -291,7 +291,7 @@
+ @COND_SHARED_1@ rm -f $(DESTDIR)$(prefix)/$$f; \
+ @COND_SHARED_1@ done
+
+-@COND_SAMPLES_1@$(top_builddir)/samples/example1/example1$(EXEEXT): $(EXAMPLE1_OBJECTS) $(__muParser_lib___depname)
++@COND_SAMPLES_1@$(top_builddir)/samples/example1/example1$(EXEEXT): $(EXAMPLE1_OBJECTS) $(__muParser_lib___depname) lib
+ @COND_SAMPLES_1@ $(CXX) -o $@ $(EXAMPLE1_OBJECTS) -L$(top_builddir)/lib -L$(srcdir)/lib $(LDFLAGS) -lmuparser$(DEBUG_BUILD_POSTFIX) $(LIBS)
+ @COND_SAMPLES_1@
+ @COND_SAMPLES_1@ $(__example1___mac_setfilecmd)
diff --git a/dev-cpp/muParser/metadata.xml b/dev-cpp/muParser/metadata.xml
new file mode 100644
index 000000000000..c1bd2f6ab998
--- /dev/null
+++ b/dev-cpp/muParser/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ muParser is a C++ library for mathematical expression parsing.
+ It is based on transforming an expression into a bytecode and
+ precalculating constant parts of it.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">muparser</remote-id>
+ <remote-id type="github">beltoforion/muparser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/muParser/muParser-2.2.3.ebuild b/dev-cpp/muParser/muParser-2.2.3.ebuild
new file mode 100644
index 000000000000..4078fabd35aa
--- /dev/null
+++ b/dev-cpp/muParser/muParser-2.2.3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+MYPN=${PN/P/p}
+MYP=${MYPN}_v${PV//./_}
+
+DESCRIPTION="Library for parsing mathematical expressions"
+HOMEPAGE="http://muparser.beltoforion.de/"
+SRC_URI="mirror://sourceforge/${MYPN}/${MYP}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="app-arch/unzip"
+
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.32-parallel-build.patch
+ sed -i \
+ -e 's:-O2::g' \
+ configure || die
+}
+
+src_configure() {
+ econf $(use_enable test samples)
+}
+
+src_test() {
+ cat > test.sh <<- EOFTEST
+ LD_LIBRARY_PATH=${S}/lib samples/example1/example1 <<- EOF
+ quit
+ EOF
+ EOFTEST
+ sh ./test.sh || die "test failed"
+}
+
+src_install() {
+ default
+ dodoc Changes.txt
+ use doc && dohtml -r docs/html/*
+}
diff --git a/dev-cpp/muParser/muParser-2.2.5.ebuild b/dev-cpp/muParser/muParser-2.2.5.ebuild
new file mode 100644
index 000000000000..3dffdc7b4749
--- /dev/null
+++ b/dev-cpp/muParser/muParser-2.2.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Library for parsing mathematical expressions"
+HOMEPAGE="http://muparser.beltoforion.de/"
+SRC_URI="https://github.com/beltoforion/muparser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc test"
+
+S=${WORKDIR}/muparser-${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.32-parallel-build.patch
+ sed -i \
+ -e 's:-O2::g' \
+ configure || die
+}
+
+src_configure() {
+ econf $(use_enable test samples)
+}
+
+src_test() {
+ cat > test.sh <<- EOFTEST
+ LD_LIBRARY_PATH="${S}/lib" samples/example1/example1 <<- EOF
+ quit
+ EOF
+ EOFTEST
+ sh ./test.sh || die "test failed"
+}
+
+src_install() {
+ default
+ dodoc Changes.txt
+}
diff --git a/dev-cpp/pangomm-2.40.1 b/dev-cpp/pangomm-2.40.1
deleted file mode 100644
index 01928256b630..000000000000
--- a/dev-cpp/pangomm-2.40.1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=>=x11-libs/pango-1.38.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.48.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.12.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/pkgconfig[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] doc? ( media-gfx/graphviz dev-libs/libxslt app-doc/doxygen ) >=app-portage/elt-patches-20170422 app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/shared-mime-info
-DESCRIPTION=C++ interface for pango
-EAPI=6
-HOMEPAGE=https://www.gtkmm.org
-IUSE=doc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
-LICENSE=LGPL-2.1+
-RDEPEND=>=x11-libs/pango-1.38.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.48.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.12.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] !<dev-cpp/gtkmm-2.13:2.4
-SLOT=1.4
-SRC_URI=mirror://gnome/sources/pangomm/2.40/pangomm-2.40.1.tar.xz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome.org 5e4cc5af3f1b17bdee155bf02e8c2df4 gnome2 6e4acb9c9da2cfa25f2dfedb93bb4a43 gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg 6cd76cc914c1a759dee032778487b57f xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=079e1e821b65332b3d6a497aeb310b55
diff --git a/dev-cpp/pangomm/Manifest b/dev-cpp/pangomm/Manifest
new file mode 100644
index 000000000000..34a0f842a2c6
--- /dev/null
+++ b/dev-cpp/pangomm/Manifest
@@ -0,0 +1,3 @@
+DIST pangomm-2.40.1.tar.xz 810384 BLAKE2B 18b875afe43fb561cc96d24e796dbaa4f4255346ced6ea510403f48047fbd30ec7d2bb89cfd316b0b1cf709cb39982814e90899084d098ad9bb8f5d6270e399c SHA512 bed19800b76e69cc51abeb5997bdc2f687f261ebcbe36aeee51f1fbf5010a46f4b9469033c34a912502001d9985135fd5c7f7574d3de8ba33cc5832520c6aa6f
+EBUILD pangomm-2.40.1.ebuild 959 BLAKE2B 5f7d3b540e523369308f236d08130e67be86bc07ada76f084afc85cbb20b493f0ab17516f2e39c09440e8e9a028cdd58e6c8c88128115681c351eef82842724d SHA512 fd8123776c3ee34cc4537c1b5f044e0dbd48abb5a252b972c1e79d2b088b3b43265b6f9066cfcbc6bffdda8fca3f556d539624436dabb8be541d454e4a11b05f
+MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/dev-cpp/pangomm/metadata.xml b/dev-cpp/pangomm/metadata.xml
new file mode 100644
index 000000000000..39980802b1da
--- /dev/null
+++ b/dev-cpp/pangomm/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>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/pangomm/pangomm-2.40.1.ebuild b/dev-cpp/pangomm/pangomm-2.40.1.ebuild
new file mode 100644
index 000000000000..86b8765b4503
--- /dev/null
+++ b/dev-cpp/pangomm/pangomm-2.40.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for pango"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="1.4"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="doc"
+
+COMMON_DEPEND="
+ >=x11-libs/pango-1.38.0[${MULTILIB_USEDEP}]
+ >=dev-cpp/glibmm-2.48.0:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.12.0[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<dev-cpp/gtkmm-2.13:2.4
+"
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(multilib_native_use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
diff --git a/dev-cpp/picojson-1.3.0 b/dev-cpp/picojson-1.3.0
deleted file mode 100644
index 113b39af900e..000000000000
--- a/dev-cpp/picojson-1.3.0
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=compile install test
-DESCRIPTION=Header-file-only, JSON parser serializer in C++
-EAPI=5
-HOMEPAGE=https://github.com/kazuho/picojson
-KEYWORDS=~amd64
-LICENSE=BSD-2
-SLOT=0
-SRC_URI=https://github.com/kazuho/picojson/archive/v1.3.0.tar.gz -> picojson-1.3.0.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=1610726bbff98536277bc3ceaf89336b
diff --git a/dev-cpp/picojson/Manifest b/dev-cpp/picojson/Manifest
new file mode 100644
index 000000000000..c3da0172ad52
--- /dev/null
+++ b/dev-cpp/picojson/Manifest
@@ -0,0 +1,3 @@
+DIST picojson-1.3.0.tar.gz 14695 BLAKE2B 9643a17abd8b53e7191fbab924c36428c71f265cf785f6759d66735a0501cb2b77ef385b4b4c35d8d1512bd9f3b31ee6b38b84e15b7eb6b0dc737f4253f384ef SHA512 76d5a6b3b9e1151198eee707faffcbbba28a2842daccf03d99a5d02ae017f9517ef3ac9da4acc74a4fc1357feaf19e14a15c34698a1d4cb65acb6d23b566b284
+EBUILD picojson-1.3.0.ebuild 579 BLAKE2B 7d41dec9556795e470d059e15a32eb2c268e3c00a945945a3515099fe8f4f97905eadb4a1eb3e90490f9fd252b601ebb544757c2eb081e18d7a5ac1d71ddb4c8 SHA512 e4c2b6049ecfcb38e091f86971191fa0ef38dde1a59bca8fcdf12f791c4b5d3a5ef66efb9fc83dae9ccfacf66087525cd002d807884e9fed78cf8def85767814
+MISC metadata.xml 329 BLAKE2B 034d8b9e387b3ce0f9648cb767df8a32a39adb17d14f5b16a6851af0492fc4f141a23807f8f89183989fc86120928b57bc9ac6e32aa9060bc3c5b3c95e5ada0e SHA512 ea66781bd303f0c8983771231d8038342bdfc30d80b1a55f4d93b7a1ad87f4b0eb62a65d6c18a6c2a9f9e5efbc7ec74bff59e77966ca55c7965753e9a7fc1054
diff --git a/dev-cpp/picojson/metadata.xml b/dev-cpp/picojson/metadata.xml
new file mode 100644
index 000000000000..63a2504e7c68
--- /dev/null
+++ b/dev-cpp/picojson/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kazuho/picojson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/picojson/picojson-1.3.0.ebuild b/dev-cpp/picojson/picojson-1.3.0.ebuild
new file mode 100644
index 000000000000..c37f0c8e81e2
--- /dev/null
+++ b/dev-cpp/picojson/picojson-1.3.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="Header-file-only, JSON parser serializer in C++"
+HOMEPAGE="https://github.com/kazuho/picojson"
+SRC_URI="https://github.com/kazuho/picojson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ :
+}
+
+src_test() {
+ tc-export CXX
+ emake test
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
+ dodoc README.mkdn Changes
+}
diff --git a/dev-cpp/pngpp-0.2.9 b/dev-cpp/pngpp-0.2.9
deleted file mode 100644
index 3cc640355cc7..000000000000
--- a/dev-cpp/pngpp-0.2.9
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=compile install test
-DESCRIPTION=A simple but powerful C++ interface to libpng
-EAPI=6
-HOMEPAGE=http://www.nongnu.org/pngpp/
-KEYWORDS=amd64 x86
-LICENSE=BSD
-RDEPEND=media-libs/libpng:0
-SLOT=0
-SRC_URI=mirror://nongnu/pngpp/png++-0.2.9.tar.gz
-_md5_=13bdebf1f1273631aba48a72b1728480
diff --git a/dev-cpp/pngpp/Manifest b/dev-cpp/pngpp/Manifest
new file mode 100644
index 000000000000..73703490c4ca
--- /dev/null
+++ b/dev-cpp/pngpp/Manifest
@@ -0,0 +1,4 @@
+AUX pngpp-0.2.9-DESTDIR.patch 379 BLAKE2B 108fbb9547615a88e4a6576728ef21c1aa7a51ab807015064f28064b4c1583a4d4fbf5334d82da5fcc6af25aac0ea5898c58e2d08787fe03758b78dc1a5fe302 SHA512 21ec246b271d3715960cad9f57613aae35647d0d427d73dfb8cf847252d5dff5b53b02fd57fe76709be5f3dbd2ef9711a8d70cf3bb2ffde70e0c0f05ecbd37eb
+DIST png++-0.2.9.tar.gz 592770 BLAKE2B 12419e3c964f92022f992e25d2efcfb01c7f6275aba1db159372f84cbf0e0bf0e92e95dac419ff0f6248dd1ecf63918b11096e7e6baa8da5704909e69cb7aeca SHA512 905e037faf26eef9ca1d9508471dde9f480f41a87d72133057865078b2fd040b1cf84727ece48d79117d615fdfbc0a749fec7dbe362366763e2017865a7fe132
+EBUILD pngpp-0.2.9.ebuild 669 BLAKE2B fc8d466f62a834c96eb34095e008110746ded67cff3fe993ad3017f2de2c7e473819aaec45645e913cb3f30628c2b5e4dbc1dd3112074a31a902b0dbbc34a89d SHA512 e0c897e3cf3caca80e1bfd98c3bb6ed0762b86842cc3f23ae7531c7e292fc8f835214d6d58535dbd8afc620b5344f4348a13ae388a31f0e26eec9310b37e2dc4
+MISC metadata.xml 361 BLAKE2B 9c5ed9620701eb1faabaab1200f3c00f36df9a11b246b3e16e6d87e98f11f113c2de41441bbde977c3313d9cdf1afed3ce851cd05cfb066a7fdb9c8732b92a77 SHA512 12569f0d3772bc306792160436a2c025f275e410744efba50728e6b925295f80529929e97f9a6b65a97915dd8bdb2561874537b0bf24cdb583159f5053128275
diff --git a/dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch b/dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch
new file mode 100644
index 000000000000..ee9b29ef7558
--- /dev/null
+++ b/dev-cpp/pngpp/files/pngpp-0.2.9-DESTDIR.patch
@@ -0,0 +1,15 @@
+Build system does not honour $(DESTDIR)
+
+--- a/Makefile
++++ b/Makefile
+@@ -54,8 +54,8 @@
+ uninstall: uninstall-headers uninstall-docs
+
+ install-headers:
+- mkdir -p $(PREFIX)/include/png++
+- cp $(headers) $(PREFIX)/include/png++
++ mkdir -p $(DESTDIR)$(PREFIX)/include/png++
++ cp $(headers) $(DESTDIR)$(PREFIX)/include/png++
+
+ uninstall-headers:
+ rm -rf $(PREFIX)/include/png++
diff --git a/dev-cpp/pngpp/metadata.xml b/dev-cpp/pngpp/metadata.xml
new file mode 100644
index 000000000000..5ea2520054ed
--- /dev/null
+++ b/dev-cpp/pngpp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>graphics@gentoo.org</email>
+ <name>Gentoo Graphics Project</name>
+</maintainer>
+<maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/pngpp/pngpp-0.2.9.ebuild b/dev-cpp/pngpp/pngpp-0.2.9.ebuild
new file mode 100644
index 000000000000..4e013690de88
--- /dev/null
+++ b/dev-cpp/pngpp/pngpp-0.2.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P=${P/pp/++}
+
+DESCRIPTION="A simple but powerful C++ interface to libpng"
+HOMEPAGE="http://www.nongnu.org/pngpp/"
+SRC_URI="mirror://nongnu/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="media-libs/libpng:0"
+DEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${PN}-0.2.9-DESTDIR.patch )
+
+src_compile() { :; }
+src_test() { :; }
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install-headers
+ einstalldocs
+
+ docinto examples
+ dodoc example/*.cpp
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/dev-cpp/pstreams-0.7.0 b/dev-cpp/pstreams-0.7.0
deleted file mode 100644
index 78d50d5d0aec..000000000000
--- a/dev-cpp/pstreams-0.7.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install test
-DEPEND=doc? ( app-doc/doxygen )
-DESCRIPTION=C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)
-EAPI=5
-HOMEPAGE=http://pstreams.sourceforge.net/
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=LGPL-3
-SLOT=0
-SRC_URI=mirror://sourceforge/pstreams/pstreams-0.7.0.tar.gz doc? ( mirror://sourceforge/pstreams/pstreams-docs-0.7.0.tar.gz )
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=5dff9a0b8eb02767b00beb6e26cd496a
diff --git a/dev-cpp/pstreams-0.8.1 b/dev-cpp/pstreams-0.8.1
deleted file mode 100644
index 0dd99a6e1052..000000000000
--- a/dev-cpp/pstreams-0.8.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install test
-DEPEND=doc? ( app-doc/doxygen )
-DESCRIPTION=C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)
-EAPI=5
-HOMEPAGE=http://pstreams.sourceforge.net/
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=LGPL-3
-SLOT=0
-SRC_URI=mirror://sourceforge/pstreams/pstreams-0.8.1.tar.gz doc? ( mirror://sourceforge/pstreams/pstreams-docs-0.8.1.tar.gz )
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=1f1576ce956bf18ddd64e0f3a8d7f2d8
diff --git a/dev-cpp/pstreams-1.0.0 b/dev-cpp/pstreams-1.0.0
deleted file mode 100644
index a37adfc0a4fb..000000000000
--- a/dev-cpp/pstreams-1.0.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install test
-DEPEND=doc? ( app-doc/doxygen )
-DESCRIPTION=C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)
-EAPI=5
-HOMEPAGE=http://pstreams.sourceforge.net/
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=LGPL-3
-SLOT=0
-SRC_URI=mirror://sourceforge/pstreams/pstreams-1.0.0.tar.gz doc? ( mirror://sourceforge/pstreams/pstreams-docs-1.0.0.tar.gz )
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=0bcb95a4a42e755eb77250bd1498a532
diff --git a/dev-cpp/pstreams-1.0.1 b/dev-cpp/pstreams-1.0.1
deleted file mode 100644
index d8a8122f9a23..000000000000
--- a/dev-cpp/pstreams-1.0.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install test
-DEPEND=doc? ( app-doc/doxygen )
-DESCRIPTION=C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)
-EAPI=5
-HOMEPAGE=http://pstreams.sourceforge.net/
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=LGPL-3
-SLOT=0
-SRC_URI=mirror://sourceforge/pstreams/pstreams-1.0.1.tar.gz doc? ( mirror://sourceforge/pstreams/pstreams-docs-1.0.1.tar.gz )
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=0938ecba83fcfd358b2482f2c1504c15
diff --git a/dev-cpp/pstreams/Manifest b/dev-cpp/pstreams/Manifest
new file mode 100644
index 000000000000..b78c9bfbf2eb
--- /dev/null
+++ b/dev-cpp/pstreams/Manifest
@@ -0,0 +1,13 @@
+DIST pstreams-0.7.0.tar.gz 55536 BLAKE2B 1201d3121ad3153330da0defbfde64012d97e385349898441fd790a1e4927f362e7f95b5d58cf2ccb53e7955a0ba7b0b5ae8305739f50d4e2a82022191ec9d04 SHA512 287a7503f25ad70c477b51f7c4af4c54947c1abc6c213371cdc7fc4ccdc20bf79b51959c0b482ae2fa9354e529036b2b53ca8ae5cbf8cd82ad43054856e5e00d
+DIST pstreams-0.8.1.tar.gz 58588 BLAKE2B c1f6544b1a9cd5f97c1f2f62fb9376afc248a1c833cd087b379f82d0f08054b7b093898ab86eaebf447491f389a0a7fca817f06a40c4cad94fa41024f3d48ea4 SHA512 edb6fa30e0a77c4a83bbb7a15c427376d39d73db17112cc5888c404fa1e99407c42c09c9ca072027ac52c753071fb7d7333237bd49aa44488512ce64de22d8f3
+DIST pstreams-1.0.0.tar.gz 68207 BLAKE2B 9993d17a9be14a79be549d97cb4c86d3bfe2a5f1b857a70d7bc3a976ccb8944f4ed721cbd2040dfde72a5cc1c64a20d4dfef96c091a3bc1c12dcab8ff46bb3e3 SHA512 172ce79431d00d9fd17af610dfb41580a522480265d58531413da1cd950caa00d5cdb8ee12e2888cfa8b93e475cdf8946be9dcc3d02cbda7eba0034e66566b56
+DIST pstreams-1.0.1.tar.gz 66188 BLAKE2B 937b9ae833dcace9f0f44dbac6907d5c73c5757f604ea96835c0ddf0ec9abd5fa4f40a1c01872a47fd0bcdc094f90215da6b7f80f261172f93f7b5233b60a5cb SHA512 279f758a4aeba124227e3de07e202f6cd838bfca4f34829a446f2f20cf426bd404f28960b881f810b5f2038e3946d38174ca09e6a07d5dacc0501f41746245e6
+DIST pstreams-docs-0.7.0.tar.gz 102315 BLAKE2B 837bd25092bd0192bc273f67e1eba6b50702033ee91817cf291c4b57618bb6222f383078fa6384fb7178bdabe015b48762b0a650bad9cc01c9a8f10de84325f8 SHA512 d7bccd0e2c83c694ff0c9ddc3ae173b4bdbae19f95c42dcc398e6dab25ea4076fda154ed84bc9b9f2872e468ad60f61a3cb20795b0c17e4bc297e4f425139f75
+DIST pstreams-docs-0.8.1.tar.gz 169559 BLAKE2B 0a625ce1fc4cd372ec4a063bf4209a3c223cbaf4cad42505e93f2534075d36c76b11fefce7abd4e2f6ddbfce7a3c4810ca47409c77fcd8c3a5f1dc829cd91608 SHA512 4b42950831bb9a092ca5eeadceded57888306f6ed24d2bd6c486b890d38b42e241f4430a7411a182d5d59b01a1fe0972d3816ec9510c9e2e50812cf390bc68be
+DIST pstreams-docs-1.0.0.tar.gz 174207 BLAKE2B d5aa5f03254ed292dbe7052eb1caa411c41ec1d75fa13e4c6c343bd4762ef84975013b768449e457282d121478cb36d9b3856a12cecee806954ddcdc10bee644 SHA512 44ad649bec3e9b02a52eb9c942842f19700cd3ebb4d7de47dd7887106ab07ab456b477815c90377dd0d92724f6144b88c4a9be89328921a675a4f263d40d4872
+DIST pstreams-docs-1.0.1.tar.gz 178382 BLAKE2B dd44e4c6acd83dfc6896145e77408d7c23150c1156e477ccb4052341e041d82163d0ee3e8069ea5fda9033617c3a1162fc2068835d089f6ce7614477c2e3e58b SHA512 e645cb3d1c20cc0c717d03aa24e500489452d0880af0feddcf234e713878159b22a891ec04a66f0aad6988e71418a224a4ba66064e6a83578ecf957d9af167e2
+EBUILD pstreams-0.7.0.ebuild 758 BLAKE2B 404b8631b2c73f2b05ee468f55dd9b4da002738fbe603482fec6e15ea4f1cae8914f696bf64ae532094685fb46afde3b1d31f45b086d7df6d84fc25638d94bf5 SHA512 43704c358bd300189124cd014ff5bb57f4aa553edccf9821adf2588de2ebc2e0c8acdf7a8c6e826e70745b86d6ed372ef3132735b82702e1867cbca261a15911
+EBUILD pstreams-0.8.1.ebuild 758 BLAKE2B ab82016d95828e6c6ce600cd4334fddd1b66d23f70b455a94a9a5e39e15f59594a7879979e5c72ca94bf8f2bf610b645e367f5d85baafd17803a0ac755c40cbf SHA512 4ba61680ada14faa2d546ff15bdaa24c1fb55ceca366e53a7455ff5ef91185e1261ad596b9a4e801fccc4a8bf1551164e6287b2fb12f5d1107a9932351e733b7
+EBUILD pstreams-1.0.0.ebuild 758 BLAKE2B bce608fe65fa23e0985ba766a7e9e6bf2da74e74d4c3a6038506d55df07b70a58caa88abcc465b671837766bfa0a1ef198441f8c1662a9553266e1aae3f9e1a4 SHA512 a350436666258454825946514bb132addde5a933993391b1ab6d5943066d3421977a8e2965a37eb9235991e59a3c40840ac14a8637fd8477c20087b767d5e7af
+EBUILD pstreams-1.0.1.ebuild 758 BLAKE2B 63e50465cb35373552e4cc3a049cfa1a803054d7c2187adf74e52b618988f2cc745c49264d49459423c98066f5af87fb98649d381abd22c02de78873f73e9303 SHA512 db3174c8ee41bf0ed26a1392579dcb5bb4c09526f5b3fb34688eee90c8f7a69e684b77b0bd64c5500da34ca89752a77a3308bbd461d9af0a9203617b9ea611e9
+MISC metadata.xml 337 BLAKE2B 66acb2c28e0ad98c5ac08ea75c9e894bb93c8f4b843f42c8a801a0cc34a381605f966a8c7145e808c78698d4fda35edd3f13f7a70cdd960f8d1289133624a545 SHA512 ddcd30a829ddd52638e7ea4ff45a8050471f21f532f8d7cb7325346f1e81547ba7bc32d51fbae7fc0dbcf04f310be6cc0049941753191a0cee03a976163d6695
diff --git a/dev-cpp/pstreams/metadata.xml b/dev-cpp/pstreams/metadata.xml
new file mode 100644
index 000000000000..29e9bab56dcb
--- /dev/null
+++ b/dev-cpp/pstreams/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>printing@gentoo.org</email>
+ <name>Gentoo Printing Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">pstreams</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/pstreams/pstreams-0.7.0.ebuild b/dev-cpp/pstreams/pstreams-0.7.0.ebuild
new file mode 100644
index 000000000000..af6b1a5645d6
--- /dev/null
+++ b/dev-cpp/pstreams/pstreams-0.7.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)"
+HOMEPAGE="http://pstreams.sourceforge.net/"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}.tar.gz
+ doc? ( mirror://sourceforge/${PN}/${PN}-docs-${PV}.tar.gz )"
+
+SLOT="0"
+LICENSE="LGPL-3"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_compile() {
+ if use doc; then
+ doxygen -u || die
+ emake
+ fi
+}
+
+src_test() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXXFLAGS="${CXXFLAGS}" \
+ check
+}
+
+src_install() {
+ doheader pstream.h
+
+ dodoc AUTHORS ChangeLog README
+
+ use doc && dohtml -r "${WORKDIR}"/${PN}-docs-${PV}/*
+}
diff --git a/dev-cpp/pstreams/pstreams-0.8.1.ebuild b/dev-cpp/pstreams/pstreams-0.8.1.ebuild
new file mode 100644
index 000000000000..ce0945609167
--- /dev/null
+++ b/dev-cpp/pstreams/pstreams-0.8.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)"
+HOMEPAGE="http://pstreams.sourceforge.net/"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}.tar.gz
+ doc? ( mirror://sourceforge/${PN}/${PN}-docs-${PV}.tar.gz )"
+
+SLOT="0"
+LICENSE="LGPL-3"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_compile() {
+ if use doc; then
+ doxygen -u || die
+ emake
+ fi
+}
+
+src_test() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXXFLAGS="${CXXFLAGS}" \
+ check
+}
+
+src_install() {
+ doheader pstream.h
+
+ dodoc AUTHORS ChangeLog README
+
+ use doc && dohtml -r "${WORKDIR}"/${PN}-docs-${PV}/*
+}
diff --git a/dev-cpp/pstreams/pstreams-1.0.0.ebuild b/dev-cpp/pstreams/pstreams-1.0.0.ebuild
new file mode 100644
index 000000000000..c6e500fabd86
--- /dev/null
+++ b/dev-cpp/pstreams/pstreams-1.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)"
+HOMEPAGE="http://pstreams.sourceforge.net/"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}.tar.gz
+ doc? ( mirror://sourceforge/${PN}/${PN}-docs-${PV}.tar.gz )"
+
+SLOT="0"
+LICENSE="LGPL-3"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_compile() {
+ if use doc; then
+ doxygen -u || die
+ emake
+ fi
+}
+
+src_test() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXXFLAGS="${CXXFLAGS}" \
+ check
+}
+
+src_install() {
+ doheader pstream.h
+
+ dodoc AUTHORS ChangeLog README
+
+ use doc && dohtml -r "${WORKDIR}"/${PN}-docs-${PV}/*
+}
diff --git a/dev-cpp/pstreams/pstreams-1.0.1.ebuild b/dev-cpp/pstreams/pstreams-1.0.1.ebuild
new file mode 100644
index 000000000000..4d10c3e1bf66
--- /dev/null
+++ b/dev-cpp/pstreams/pstreams-1.0.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)"
+HOMEPAGE="http://pstreams.sourceforge.net/"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}.tar.gz
+ doc? ( mirror://sourceforge/${PN}/${PN}-docs-${PV}.tar.gz )"
+
+SLOT="0"
+LICENSE="LGPL-3"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_compile() {
+ if use doc; then
+ doxygen -u || die
+ emake
+ fi
+}
+
+src_test() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXXFLAGS="${CXXFLAGS}" \
+ check
+}
+
+src_install() {
+ doheader pstream.h
+
+ dodoc AUTHORS ChangeLog README
+
+ use doc && dohtml -r "${WORKDIR}"/${PN}-docs-${PV}/*
+}
diff --git a/dev-cpp/random123-1.09-r1 b/dev-cpp/random123-1.09-r1
deleted file mode 100644
index 1be11c0f736b..000000000000
--- a/dev-cpp/random123-1.09-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-DEFINED_PHASES=install
-DESCRIPTION=library of counter-based random number generators (CBRNGs)
-EAPI=6
-HOMEPAGE=https://www.deshawresearch.com/resources_random123.html
-KEYWORDS=~amd64 ~x86
-LICENSE=BSD-2
-SLOT=0
-SRC_URI=https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz
-_md5_=8275f66aa8b49c3151d5361c58da640e
diff --git a/dev-cpp/random123/Manifest b/dev-cpp/random123/Manifest
new file mode 100644
index 000000000000..fe09987d2c91
--- /dev/null
+++ b/dev-cpp/random123/Manifest
@@ -0,0 +1,3 @@
+DIST Random123-1.09.tar.gz 696854 BLAKE2B 6bea58c25a10031f47eecfa66a4d793db9430de1e25ddfecf4845d67419c0c04b286a85a063cb379390f8f65ea5b073962cd7a856652efcf1d099d4ef7bf0170 SHA512 7bd72dffa53ca8d835b4a4cf49171618cd46f4b329d7a09486efaf2e1565c98b80ff05e3bccc244fabd7013f139058511fb2e39399bfe51fd6b68cd9e63da1ac
+EBUILD random123-1.09-r1.ebuild 569 BLAKE2B 340e8f21a2d38c3d5b49b2cece4f5bf3486b8348e07fdc8e7d988d6786967170bd40c4fa35e17ed3be31004d53f4221f679513f1f316db6210c22a9c02e6ad2c SHA512 5f994ec843d92e13ad98512f3df53c1b8cb3cfd86aac32a1a26bdac775d9975261d8dfcad54678bd740a4d31dff74a956800a1ff71d21bdf8996242fa9cbcb76
+MISC metadata.xml 367 BLAKE2B cc3fc8e9dbc98eef49a88d43c68b358b5d2f658316247637a9a3925de3784eb2e82de849e0a49217d5b49be74c280b81a66abbfdd9310fd18b77d67451a480c2 SHA512 455c79e8837ba1ed980967e3236d4a0ac0edbd1b88b056a06d715894e03e7fc802079440752e60a06c9ce4acb62fd68d4020a7847a154a14065afd995257f685
diff --git a/dev-cpp/random123/metadata.xml b/dev-cpp/random123/metadata.xml
new file mode 100644
index 000000000000..903883b48f16
--- /dev/null
+++ b/dev-cpp/random123/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-cpp/random123/random123-1.09-r1.ebuild b/dev-cpp/random123/random123-1.09-r1.ebuild
new file mode 100644
index 000000000000..7829ee03cfb7
--- /dev/null
+++ b/dev-cpp/random123/random123-1.09-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="library of counter-based random number generators (CBRNGs)"
+HOMEPAGE="https://www.deshawresearch.com/resources_random123.html"
+MY_P="${P^r}"
+SRC_URI="https://www.deshawresearch.com/downloads/download_${PN}.cgi/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ insinto /usr/include/Random123
+ doins -r include/Random123/. examples/uniform.hpp
+}
diff --git a/dev-cpp/rudiments-0.46 b/dev-cpp/rudiments-0.46
deleted file mode 100644
index 628cee4c53db..000000000000
--- a/dev-cpp/rudiments-0.46
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=pcre? ( dev-libs/libpcre ) ssl? ( dev-libs/openssl:0 ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=C++ class library for daemons, clients and servers
-EAPI=5
-HOMEPAGE=http://rudiments.sourceforge.net/
-IUSE=debug pcre ssl static-libs
-KEYWORDS=~amd64 ~ppc ~x86
-LICENSE=LGPL-2.1
-RDEPEND=pcre? ( dev-libs/libpcre ) ssl? ( dev-libs/openssl:0 )
-SLOT=0
-SRC_URI=mirror://sourceforge/rudiments/rudiments-0.46.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 autotools-utils 5a4611dfba155b1659528663fad4cd5e desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1c6d9b52f06bca502b724161fa5c4ec9
diff --git a/dev-cpp/rudiments-0.51 b/dev-cpp/rudiments-0.51
deleted file mode 100644
index e199b61d5e3f..000000000000
--- a/dev-cpp/rudiments-0.51
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=pcre? ( dev-libs/libpcre ) ssl? ( dev-libs/openssl:0 ) >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=C++ class library for daemons, clients and servers
-EAPI=5
-HOMEPAGE=http://rudiments.sourceforge.net/
-IUSE=debug pcre ssl static-libs
-KEYWORDS=~amd64 ~ppc ~x86
-LICENSE=LGPL-2.1
-RDEPEND=pcre? ( dev-libs/libpcre ) ssl? ( dev-libs/openssl:0 )
-SLOT=0
-SRC_URI=mirror://sourceforge/rudiments/rudiments-0.51.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 autotools-utils 5a4611dfba155b1659528663fad4cd5e desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=1c6d9b52f06bca502b724161fa5c4ec9
diff --git a/dev-cpp/rudiments/Manifest b/dev-cpp/rudiments/Manifest
new file mode 100644
index 000000000000..e7562331a555
--- /dev/null
+++ b/dev-cpp/rudiments/Manifest
@@ -0,0 +1,7 @@
+AUX rudiments-0.46-buildsystem.patch 2944 BLAKE2B 2263e3b6de878e5cfe44b249523981e2ebdd9395411cd978d7509ab3a87f718584b1663f1ed40f51eb994ab88202c62f0170d35857899c81b8e05778ffbcf89e SHA512 09fcb34274784f6446437060f42f9d4951af19d39f4d0b7ef1c77807f0d9415b1e13d4e4f846f16fddba44ed6482e14bc9ccce0c00f4f805ab5a37a6a2b91c57
+AUX rudiments-0.51-buildsystem.patch 3075 BLAKE2B e4f0515986be36fd2a64e5b679137ebad7800d3fe348bb6e98972c470c0922e6e65e2242ea5e8afdeb6ab1aa51038b2578f9abe455e3a6beb6ca2c36b5c94e04 SHA512 850bae8eb24ded82f3a95ae1602aa0b052f6798f029488cab186b34152af6e0678c99352234bda7fb71d90f879eb54c0f154d089d8411b93ed9e976529ea0fe8
+DIST rudiments-0.46.tar.gz 1732565 BLAKE2B 91093656d6a1a732ab34d52c1637846f091239b717f79c6e65fcf58535d2e03f7e81c8b6353e59d9ac8345910b81e95b880bf3bfd43a888c37d0ff39ae881071 SHA512 2248db71c23ced4344dbdd26e9efe8c45f20da2e8e106101c762b334b8797dc62c47621c0477d42ac06fc665aa91b772e959802b10103c6256d1dbc68418f2f1
+DIST rudiments-0.51.tar.gz 1923612 BLAKE2B d6c108b260b57ce2578d47c3da540b92c61a6df1cafee29227197c8a81afe894262b58d099978a99bf9e02a0fc426b9f1a103ca84da2ab22ed8624851bfb65b6 SHA512 e36a93b21f8beb86f58d2e1f4d955d865fc68c40af11462f716e849a476786f99c9264dd5097f7110ef6f44752f113db8b62092a9db2f08d0eb34e861ea85888
+EBUILD rudiments-0.46.ebuild 905 BLAKE2B d890c08e29c498879ef7169fcc7063b8bd081813113917a05e4f7a3379055fd4f8bedfede6ef493ec45165eecd03e78b0e2e23a640865e2a9e3e5ae96ba1dee2 SHA512 c83fa926b50ffc0a37a57bc1de67aeb5d7ce66e574aebbf148727b609dcbc23c34121a30198673d5e12921f1d9c4f04023aec1511a6d629b3d40da13663ce0a2
+EBUILD rudiments-0.51.ebuild 905 BLAKE2B d890c08e29c498879ef7169fcc7063b8bd081813113917a05e4f7a3379055fd4f8bedfede6ef493ec45165eecd03e78b0e2e23a640865e2a9e3e5ae96ba1dee2 SHA512 c83fa926b50ffc0a37a57bc1de67aeb5d7ce66e574aebbf148727b609dcbc23c34121a30198673d5e12921f1d9c4f04023aec1511a6d629b3d40da13663ce0a2
+MISC metadata.xml 619 BLAKE2B ba9997f782f0c7e3ea2f2deeac7b2de8659cd37dc04710ad1dc86517f30b0c8888e80052e1219608fc9bbb5970c3d39f9c6143e89e78dc4f72575c1311007256 SHA512 55b9ce93ce84412b4ea458bc7ebadc25384a2c34aa27adc9eceaca1a7d5ae4a87bed5de53588eadda26b357f568b368f26cbefcdebf14f809b30af0e5f08746b
diff --git a/dev-cpp/rudiments/files/rudiments-0.46-buildsystem.patch b/dev-cpp/rudiments/files/rudiments-0.46-buildsystem.patch
new file mode 100644
index 000000000000..fa869c89144a
--- /dev/null
+++ b/dev-cpp/rudiments/files/rudiments-0.46-buildsystem.patch
@@ -0,0 +1,88 @@
+diff --git a/config.mk.in b/config.mk.in
+index ae29f27..c0b7e3d 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -11,7 +11,7 @@ includedir = @includedir@
+ libdir = @libdir@
+ mandir = @mandir@
+ datadir = @datadir@
+-docdir = ${datadir}/doc/rudiments
++docdir = @docdir@
+
+ # compiler to use
+ CC = @CC@
+@@ -21,7 +21,7 @@
+ AR = @AR@
+
+ # includes and defines
+-BASECPPFLAGS = @WALL@ @WERROR@ @CPPFLAGS@ @PTHREADINCLUDES@ @SSLINCLUDES@ @PCREINCLUDES@
++BASECPPFLAGS = @WALL@ @CPPFLAGS@ @PTHREADINCLUDES@ @SSLINCLUDES@ @PCREINCLUDES@
+
+ # debug and optimization flags (-g, -O2, etc.)
+ # NOTE: -FPIC gets added if we're not using libtool
+diff --git a/configure.ac b/configure.ac
+index d82ea0e..290a80b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,7 +28,7 @@ AC_ARG_WITH(pthread-prefix,
+ PTHREADPATH="")
+ AC_ARG_ENABLE(ssl,
+ [ --disable-ssl Disable SSL support],
+- ENABLE_RUDIMENTS_SSL="no",
++ ENABLE_RUDIMENTS_SSL="$enableval",
+ ENABLE_RUDIMENTS_SSL="yes")
+ AC_ARG_WITH(ssl-includes,
+ [ --with-ssl-includes SSL includes],
+@@ -40,7 +40,7 @@ AC_ARG_WITH(ssl-libs,
+ SSLLIBS="")
+ AC_ARG_ENABLE(pcre,
+ [ --disable-pcre Don't use PCRE for regular expressions],
+- ENABLE_RUDIMENTS_PCRE="no",
++ ENABLE_RUDIMENTS_PCRE="$enableval",
+ ENABLE_RUDIMENTS_PCRE="yes")
+ AC_ARG_WITH(pcre-includes,
+ [ --with-pcre-includes PCRE includes],
+@@ -56,7 +56,7 @@ AC_ARG_ENABLE(built-in-regex,
+ USE_BUILT_IN_REGULAREXPRESSION="0")
+ AC_ARG_ENABLE(threads,
+ [ --disable-threads Disable thread support],
+- ENABLE_RUDIMENTS_THREADS="no"; INCLUDE_THREAD="0"; INCLUDE_THREADMUTEX="0",
++ ENABLE_RUDIMENTS_THREADS="$enableval"; INCLUDE_THREAD="0"; INCLUDE_THREADMUTEX="0",
+ ENABLE_RUDIMENTS_THREADS="yes")
+
+ dnl options to disable building various classes
+@@ -3716,6 +3716,10 @@ if ( test "`echo $datadir | cut -c1`" = "/" )
+ then
+ datadir='${DESTDIR}'"$datadir"
+ fi
++if ( test "`echo $docdir | cut -c1`" = "/" )
++then
++ docdir='${DESTDIR}'"$docdir"
++fi
+
+
+ dnl Output files.
+diff --git a/src/Makefile.in b/src/Makefile.in
+index a224d83..3b990fb 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -4,7 +4,7 @@ include ../config.mk
+
+ .PHONY: all clean install uninstall
+
+-CPPFLAGS = $(WERROR) $(BASECPPFLAGS) -I../ -I../include @EXTRACPPFLAGS@
++CPPFLAGS = $(BASECPPFLAGS) -I../ -I../include @EXTRACPPFLAGS@
+
+ SRCS = namevaluepairs.cpp winsock.cpp @SRCS@
+ LOBJS = namevaluepairs.lo winsock.lo @LOBJS@
+--- a/acsite.m4 2014-05-04 01:44:03.265919456 +0400
++++ b/acsite.m4 2014-05-04 01:44:34.008920936 +0400
+@@ -266,7 +237,7 @@
+ dnl Sometimes -Wall includes -Wunused-variables and -Wunused-parameters
+ dnl which we don't care about. Disable it if it does.
+ OLDCPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$WALL $WERROR $CPPFLAGS"
++ CPPFLAGS="$WALL $CPPFLAGS"
+ AC_MSG_CHECKING(whether -Wall includes -Wunused-*)
+ AC_TRY_COMPILE([void f(int a) { return; }],[f(1);],AC_MSG_RESULT(no),WALL=""; AC_MSG_RESULT(yes))
+ CPPFLAGS=$OLDCPPFLAGS
diff --git a/dev-cpp/rudiments/files/rudiments-0.51-buildsystem.patch b/dev-cpp/rudiments/files/rudiments-0.51-buildsystem.patch
new file mode 100644
index 000000000000..37cffc9e7680
--- /dev/null
+++ b/dev-cpp/rudiments/files/rudiments-0.51-buildsystem.patch
@@ -0,0 +1,86 @@
+diff --git a/config.mk.in b/config.mk.in
+index ae29f27..c0b7e3d 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -9,7 +9,7 @@ includedir = @includedir@
+ libdir = @libdir@
+ mandir = @mandir@
+ datadir = @datadir@
+-docdir = ${datadir}/doc/rudiments
++docdir = @docdir@
+
+ # command separator
+ AND = ;
+@@ -25,7 +25,7 @@
+ CXX = @CXX@
+ COMPILE = -c
+ OUT = -o
+-BASECPPFLAGS = @WALL@ @WERROR@ @WNOLONGDOUBLE@ @WNOFORMAT@ @WNOOVERLOADEDVIRTUAL@ @CPPFLAGS@ @PTHREADINCLUDES@ @SSLINCLUDES@ @PCREINCLUDES@
++BASECPPFLAGS = @WALL@ @WNOLONGDOUBLE@ @WNOFORMAT@ @WNOOVERLOADEDVIRTUAL@ @CPPFLAGS@ @PTHREADINCLUDES@ @SSLINCLUDES@ @PCREINCLUDES@
+ EXPORTSCPPFLAGS =
+ EXTRACPPFLAGS = @EXTRACPPFLAGS@
+ CXXFLAGS = @CXXFLAGS@ @PIPE@
+diff --git a/configure.ac b/configure.ac
+index d82ea0e..290a80b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,7 +32,7 @@ AC_ARG_WITH(pthread-prefix,
+ PTHREADPATH="")
+ AC_ARG_ENABLE(ssl,
+ [ --disable-ssl Disable SSL support],
+- ENABLE_RUDIMENTS_SSL="no",
++ ENABLE_RUDIMENTS_SSL="$enableval",
+ ENABLE_RUDIMENTS_SSL="yes")
+ AC_ARG_WITH(ssl-includes,
+ [ --with-ssl-includes SSL includes],
+@@ -44,7 +44,7 @@ AC_ARG_WITH(ssl-libs,
+ SSLLIBS="")
+ AC_ARG_ENABLE(pcre,
+ [ --disable-pcre Don't use PCRE for regular expressions],
+- ENABLE_RUDIMENTS_PCRE="no",
++ ENABLE_RUDIMENTS_PCRE="$enableval",
+ ENABLE_RUDIMENTS_PCRE="yes")
+ AC_ARG_WITH(pcre-includes,
+ [ --with-pcre-includes PCRE includes],
+@@ -60,7 +60,7 @@ AC_ARG_ENABLE(built-in-regex,
+ USE_BUILT_IN_REGULAREXPRESSION="0")
+ AC_ARG_ENABLE(threads,
+ [ --disable-threads Disable thread support],
+- ENABLE_RUDIMENTS_THREADS="no"; INCLUDE_THREAD="0",
++ ENABLE_RUDIMENTS_THREADS="$enableval"; INCLUDE_THREAD="0",
+ ENABLE_RUDIMENTS_THREADS="yes")
+
+ dnl options to disable building various classes
+@@ -4034,6 +4034,10 @@ if ( test "`echo $datadir | cut -c1`" = "/" )
+ then
+ datadir='${DESTDIR}'"$datadir"
+ fi
++if ( test "`echo $docdir | cut -c1`" = "/" )
++then
++ docdir='${DESTDIR}'"$docdir"
++fi
+
+
+ dnl Output files.
+diff --git a/src/Makefile.in b/src/Makefile.in
+index a224d83..3b990fb 100644
+@@ -2,7 +2,7 @@
+
+ include ../config.mk
+
+-CPPFLAGS = $(WERROR) $(BASECPPFLAGS) $(EXPORTSCPPFLAGS) $(INC)../ $(INC)../include $(EXTRACPPFLAGS)
++CPPFLAGS = $(BASECPPFLAGS) $(EXPORTSCPPFLAGS) $(INC)../ $(INC)../include $(EXTRACPPFLAGS)
+ LIBS = $(SOCKETLIBS) $(PTHREADLIB) $(SSLLIBS) $(PCRELIBS) $(NANOSLEEPLIB) $(CLOCKNANOSLEEPLIB) $(SHMOPENLIB) $(CRYPTLIB) $(INETATONLIB) $(NETAPI32LIB) $(BELIB) $(GNULIB) $(CRTLIB) $(DLLIB) $(DEBUGLIB)
+
+ SRCS = @SRCS@
+--- a/acsite.m4 2014-05-04 01:44:03.265919456 +0400
++++ b/acsite.m4 2014-05-04 01:44:34.008920936 +0400
+@@ -279,7 +250,7 @@
+ dnl Sometimes -Wall includes -Wunused-variables and -Wunused-parameters
+ dnl which we don't care about. Disable it if it does.
+ OLDCPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$WALL $WERROR $CPPFLAGS"
++ CPPFLAGS="$WALL $CPPFLAGS"
+ AC_MSG_CHECKING(whether -Wall includes -Wunused-*)
+ AC_TRY_COMPILE([void f(int a) { return; }],[f(1);],AC_MSG_RESULT(no),WALL=""; AC_MSG_RESULT(yes))
+ CPPFLAGS=$OLDCPPFLAGS
diff --git a/dev-cpp/rudiments/metadata.xml b/dev-cpp/rudiments/metadata.xml
new file mode 100644
index 000000000000..52f0f8f9f5b9
--- /dev/null
+++ b/dev-cpp/rudiments/metadata.xml
@@ -0,0 +1,17 @@
+<?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>
+ <longdescription>
+ Rudiments is an Open Source C++ class library providing base classes
+ for things such as daemons, clients and servers, and wrapper classes
+ for the standard C functions for things like such as regular
+ expressions, semaphores and signal handling.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">rudiments</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/rudiments/rudiments-0.46.ebuild b/dev-cpp/rudiments/rudiments-0.46.ebuild
new file mode 100644
index 000000000000..71813b690f57
--- /dev/null
+++ b/dev-cpp/rudiments/rudiments-0.46.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils
+
+DESCRIPTION="C++ class library for daemons, clients and servers"
+HOMEPAGE="http://rudiments.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rudiments/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug pcre ssl static-libs"
+
+DEPEND="pcre? ( dev-libs/libpcre )
+ ssl? ( dev-libs/openssl:0 )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-buildsystem.patch" )
+
+src_prepare() {
+ mv configure.in configure.ac || die
+
+ # bug #535936
+ rm aclocal.m4 || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="/usr/share/doc/${PF}/html" \
+ $(use debug && "--enable-debug") \
+ $(use_enable pcre) \
+ $(use_enable ssl)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-cpp/rudiments/rudiments-0.51.ebuild b/dev-cpp/rudiments/rudiments-0.51.ebuild
new file mode 100644
index 000000000000..71813b690f57
--- /dev/null
+++ b/dev-cpp/rudiments/rudiments-0.51.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+inherit autotools-utils
+
+DESCRIPTION="C++ class library for daemons, clients and servers"
+HOMEPAGE="http://rudiments.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rudiments/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug pcre ssl static-libs"
+
+DEPEND="pcre? ( dev-libs/libpcre )
+ ssl? ( dev-libs/openssl:0 )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-buildsystem.patch" )
+
+src_prepare() {
+ mv configure.in configure.ac || die
+
+ # bug #535936
+ rm aclocal.m4 || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="/usr/share/doc/${PF}/html" \
+ $(use debug && "--enable-debug") \
+ $(use_enable pcre) \
+ $(use_enable ssl)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-cpp/sparsehash-1.10 b/dev-cpp/sparsehash-1.10
deleted file mode 100644
index 04a5a1d85014..000000000000
--- a/dev-cpp/sparsehash-1.10
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install prepare
-DESCRIPTION=An extremely memory-efficient hash_map implementation
-EAPI=4
-HOMEPAGE=https://github.com/google/sparsehash
-KEYWORDS=amd64 x86
-LICENSE=BSD
-SLOT=0
-SRC_URI=https://google-sparsehash.googlecode.com/files/sparsehash-1.10.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=701d8c2f443755e7e2438b5337595b66
diff --git a/dev-cpp/sparsehash-2.0.3-r1 b/dev-cpp/sparsehash-2.0.3-r1
deleted file mode 100644
index 55275eb4b8c2..000000000000
--- a/dev-cpp/sparsehash-2.0.3-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=prepare
-DEPEND=>=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=An extremely memory-efficient hash_map implementation
-EAPI=6
-HOMEPAGE=https://github.com/sparsehash/sparsehash
-KEYWORDS=amd64 x86 ~amd64-linux ~x86-linux
-LICENSE=BSD
-SLOT=0
-SRC_URI=https://github.com/sparsehash/sparsehash/archive/sparsehash-2.0.3.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=40ab0de3ca48f5b21214868b0131f675
diff --git a/dev-cpp/sparsehash/Manifest b/dev-cpp/sparsehash/Manifest
new file mode 100644
index 000000000000..eab2ad1aef0a
--- /dev/null
+++ b/dev-cpp/sparsehash/Manifest
@@ -0,0 +1,7 @@
+AUX 1.10-gcc46.patch 344 BLAKE2B 1fc47b87541612868ec90f9460f191938660a54bfcae7ebd894140b54d979700359def84c62627e53560524c84e5ca17f809eb79d103aac91939243ad7ccbd63 SHA512 10ba18dd4d102c92c467846d46288080f712f7d82b9a786daab13e74b9cbd0dd9923075d7e12288adaac68e31b96c8eb0a7d010e5d2fe3a2d2321413f2dd51a8
+AUX sparsehash-2.0.3-fix-buildsystem.patch 2649 BLAKE2B d7a5e7d4343279af069e0b8eb00ad2b8fc33e26840ee0a9ca63c73ea37aa99548d3c741d70647078424f27906946f261b07d764be9adaf47c1d13bc4bf6d302f SHA512 6732a3197550f75ce7a83d61882938d841694f41e9daec51ef36206306fdabdd33dd46eaec106a8877826098b8227368c1ed0962d36aa220abd0336713667bd4
+DIST sparsehash-1.10.tar.gz 289819 BLAKE2B fb66d945a52862465a870931b83846619fb7034b2acae053d75d859b359d866257a779d522d9267ab729d19aeac1365fc699e4a541b446f874c323f7c8ceaa0b SHA512 ecc01e755885b8da5927f4f56c95c02ce9a43e5c0280cdc1cdfa812f787396646925c0f602a35decdf94144e8d2f3ac31b80f5ed98b70ccca607a29bb11f8a35
+DIST sparsehash-2.0.3.tar.gz 322046 BLAKE2B 3749875bfbfa0ec9b92cfe68496a318208539745ca1b76910193879cb9ac790952b390cfbd941ff6e9714bd61546844e8f2d958d9b24845efeb54743facac136 SHA512 bb00d0acb8eba65f7da8015ea4f6bebf8bba36ed6777881960ee215f22b7be17b069c59838d210551ce67a34baccfc7b2fed603677ec53c0c32714d8e76f5d6c
+EBUILD sparsehash-1.10.ebuild 532 BLAKE2B f217f5ff5252e8516fc6e6817e073de8d500df0dbe296d78b3ddc8f63c1c020f83a4294e146d2328ff0a249b24c2a3863478d671da23cf61d89e00d61317d5a9 SHA512 768f1ff2c47d97ff663774a86b9540005810826dd7bf1ff5867452ef00f7f22f11dffabddc78389b09d00cdbfd27f2b5d765f90e030c32bbead6368747405184
+EBUILD sparsehash-2.0.3-r1.ebuild 520 BLAKE2B 13fdb6d8404479aa367344b2f5c49bb12074856d164123793240577aa3133214246549485cbfcf064aaf25045f2e3085ba5a1a696976b5d8a39d68ada4ffe273 SHA512 805380e93b7ef20ed633ac1971b76c0d1dba9a27687772cb1bfb067d63a575a8c59d95ffb9658a9b550b14d04927685d66dbaec00a93426c64c18dea1ff9b284
+MISC metadata.xml 335 BLAKE2B 80cfd400c2faff1ecebd19ea1e5737f4e3f95e266fcd6870d2efbb7f6d642e07cd2115ed90d4956c6506241719038113fd926d3a66c7ddaa89bf9ccd12bb7e74 SHA512 9d718bf4d0e71b393c36a57db6e165975f61570ad41dce4ac3f5aa55f2770b6f52a8f67eb04fa725c9bb839fd30393f2a78be6d6ad3c341f083053c94e934e62
diff --git a/dev-cpp/sparsehash/files/1.10-gcc46.patch b/dev-cpp/sparsehash/files/1.10-gcc46.patch
new file mode 100644
index 000000000000..4339b487eca0
--- /dev/null
+++ b/dev-cpp/sparsehash/files/1.10-gcc46.patch
@@ -0,0 +1,16 @@
+ src/google/sparsetable | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/google/sparsetable b/src/google/sparsetable
+index 0eeb22e..e8580b9 100644
+--- a/src/google/sparsetable
++++ b/src/google/sparsetable
+@@ -83,6 +83,8 @@
+ #endif
+ #endif
+
++#include <cstddef>
++
+ _START_GOOGLE_NAMESPACE_
+
+ #ifndef HAVE_U_INT16_T
diff --git a/dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch b/dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch
new file mode 100644
index 000000000000..237719c3b9f3
--- /dev/null
+++ b/dev-cpp/sparsehash/files/sparsehash-2.0.3-fix-buildsystem.patch
@@ -0,0 +1,71 @@
+* Do not override $(docdir) as part of the GNU conventions
+* Do not install 'COPYING' and 'INSTALL'
+* Install html files using html_ prefix and not doc_ prefix
+* Do not try to link against tcmalloc, the complexity of juggling
+ the options around isn't worth it
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=585968
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -9,7 +9,7 @@
+ # (for sanity checking)
+ AC_CONFIG_SRCDIR(README)
+ AM_INIT_AUTOMAKE([dist-zip])
+-AM_CONFIG_HEADER(src/config.h)
++AC_CONFIG_HEADERS([src/config.h])
+
+ # Checks for programs.
+ AC_PROG_CXX
+@@ -28,23 +28,7 @@
+ # These are 'only' needed for unittests
+ AC_CHECK_HEADERS(sys/resource.h unistd.h sys/time.h sys/utsname.h)
+
+-# If you have google-perftools installed, we can do a bit more testing.
+-# We not only want to set HAVE_MALLOC_EXTENSION_H, we also want to set
+-# a variable to let the Makefile to know to link in tcmalloc.
+ AC_LANG([C++])
+-AC_CHECK_HEADERS(google/malloc_extension.h,
+- tcmalloc_libs=-ltcmalloc,
+- tcmalloc_libs=)
+-# On some systems, when linking in tcmalloc you also need to link in
+-# pthread. That's a bug somewhere, but we'll work around it for now.
+-tcmalloc_flags=""
+-if test -n "$tcmalloc_libs"; then
+- ACX_PTHREAD
+- tcmalloc_flags="\$(PTHREAD_CFLAGS)"
+- tcmalloc_libs="$tcmalloc_libs \$(PTHREAD_LIBS)"
+-fi
+-AC_SUBST(tcmalloc_flags)
+-AC_SUBST(tcmalloc_libs)
+
+ # Figure out where hash_map lives and also hash_fun.h (or stl_hash_fun.h).
+ # This also tells us what namespace hash code lives in.
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,12 +11,11 @@
+ AM_CXXFLAGS = -Wall -W -Wwrite-strings -Woverloaded-virtual -Wshadow
+ endif
+
+-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+ ## This is for HTML and other documentation you want to install.
+ ## Add your documentation files (in doc/) in addition to these boilerplate
+ ## Also add a TODO file if you have one
+-dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README_windows.txt \
+- TODO \
++dist_doc_DATA = AUTHORS ChangeLog NEWS README README_windows.txt TODO
++dist_html_DATA = \
+ doc/dense_hash_map.html \
+ doc/dense_hash_set.html \
+ doc/sparse_hash_map.html \
+@@ -182,11 +181,6 @@
+ $(sparsehashinclude_HEADERS)
+ nodist_time_hash_map_SOURCES = $(nodist_internalinclude_HEADERS)
+
+-# If tcmalloc is installed, use it with time_hash_map; it gives us
+-# heap-usage statistics for the hash_map routines, which is very nice
+-time_hash_map_CXXFLAGS = @tcmalloc_flags@ $(AM_CXXFLAGS)
+-time_hash_map_LDFLAGS = @tcmalloc_flags@
+-time_hash_map_LDADD = @tcmalloc_libs@
+
+ ## ^^^^ END OF RULES TO MAKE THE LIBRARIES, BINARIES, AND UNITTESTS
+
diff --git a/dev-cpp/sparsehash/metadata.xml b/dev-cpp/sparsehash/metadata.xml
new file mode 100644
index 000000000000..60498dfe4403
--- /dev/null
+++ b/dev-cpp/sparsehash/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="github">sparsehash/sparsehash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/sparsehash/sparsehash-1.10.ebuild b/dev-cpp/sparsehash/sparsehash-1.10.ebuild
new file mode 100644
index 000000000000..b3855b668231
--- /dev/null
+++ b/dev-cpp/sparsehash/sparsehash-1.10.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="An extremely memory-efficient hash_map implementation"
+HOMEPAGE="https://github.com/google/sparsehash"
+SRC_URI="https://google-sparsehash.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-gcc46.patch
+}
+
+src_install() {
+ default
+
+ # Installs just every piece
+ rm -rf "${D}/usr/share/doc"
+ dohtml doc/*
+}
diff --git a/dev-cpp/sparsehash/sparsehash-2.0.3-r1.ebuild b/dev-cpp/sparsehash/sparsehash-2.0.3-r1.ebuild
new file mode 100644
index 000000000000..b043e1800ff6
--- /dev/null
+++ b/dev-cpp/sparsehash/sparsehash-2.0.3-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="An extremely memory-efficient hash_map implementation"
+HOMEPAGE="https://github.com/sparsehash/sparsehash"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S=${WORKDIR}/${PN}-${P}
+
+PATCHES=( "${FILESDIR}"/${PN}-2.0.3-fix-buildsystem.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/dev-cpp/tbb-2017.20161128 b/dev-cpp/tbb-2017.20161128
deleted file mode 100644
index 5bfcf0965b2f..000000000000
--- a/dev-cpp/tbb-2017.20161128
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=High level abstract threading library
-EAPI=6
-HOMEPAGE=https://www.threadingbuildingblocks.org
-IUSE=debug doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb2017_20161128oss_src.tgz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=adec321484cc51a1f3a586b8d34dcc5e
diff --git a/dev-cpp/tbb-2017.20170226 b/dev-cpp/tbb-2017.20170226
deleted file mode 100644
index a8d1d37cc0bf..000000000000
--- a/dev-cpp/tbb-2017.20170226
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=High level abstract threading library
-EAPI=6
-HOMEPAGE=https://www.threadingbuildingblocks.org
-IUSE=debug doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/01org/tbb/archive/2017_U5.tar.gz -> tbb-2017.20170226.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=f62fe3b177b34725b207f1dbf8d51912
diff --git a/dev-cpp/tbb-2018.20180312 b/dev-cpp/tbb-2018.20180312
deleted file mode 100644
index 4ed430c0f69d..000000000000
--- a/dev-cpp/tbb-2018.20180312
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=High level abstract threading library
-EAPI=6
-HOMEPAGE=https://www.threadingbuildingblocks.org
-IUSE=debug doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/01org/tbb/archive/2018_U3.tar.gz -> tbb-2018.20180312.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=e5cad876e383242213f963c2b64c8ff1
diff --git a/dev-cpp/tbb-4.3.20150611 b/dev-cpp/tbb-4.3.20150611
deleted file mode 100644
index 8c594a2b63e4..000000000000
--- a/dev-cpp/tbb-4.3.20150611
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=High level abstract threading library
-EAPI=5
-HOMEPAGE=https://www.threadingbuildingblocks.org
-IUSE=debug doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux
-LICENSE=GPL-2-with-exceptions
-SLOT=0
-SRC_URI=http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20150611oss_src.tgz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=0646b3594e57da4c1e7fc4d0fdaee601
diff --git a/dev-cpp/tbb-4.4.20160803 b/dev-cpp/tbb-4.4.20160803
deleted file mode 100644
index 693df901d885..000000000000
--- a/dev-cpp/tbb-4.4.20160803
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DESCRIPTION=High level abstract threading library
-EAPI=6
-HOMEPAGE=https://www.threadingbuildingblocks.org
-IUSE=debug doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux
-LICENSE=GPL-2-with-exceptions
-SLOT=0
-SRC_URI=http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160803oss_src.tgz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=e114c6cc4a94480785c0f41655744f4e
diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest
new file mode 100644
index 000000000000..c2f15179611f
--- /dev/null
+++ b/dev-cpp/tbb/Manifest
@@ -0,0 +1,16 @@
+AUX tbb-2017.20161128-build.patch 4840 BLAKE2B eec4a437f0a609c8f39b76950aae76c9e357cd0705ad521a3304aceb8361c10cdf0d28078370c840ad315cbe06f3b134ca5d58036b2718a136f3958c3942e9c1 SHA512 40ca5bdfe05eecbc47a9af062e6ede3e14200048cdebd796af71cd5f27b350c65e5aa569cc8a6e2f3cfbd90fec167d4f053abc36310b07113910ba25061c56a4
+AUX tbb-4.0.297-underlinking.patch 479 BLAKE2B c4e0410c4651bb7db99494c6746eb43cd488e4f37c38bdbdf4ecf6ab7ece1e469393f6b4296fc41524dec931bdec72e97ed05e3ab8e685584a58519bb945bd61 SHA512 2e5e17d1547e809e035b148ef6d45f5db9902f535a2bc2283051f1cc29d43c32c15db7cdd048a50493a13ccf6b44a3538054e50a47fca080df535bed1768de85
+AUX tbb-4.3.20150611-build.patch 4806 BLAKE2B dd5f785a8c3d6d715c1573a14aaa3dda1216dc4c4a124b24b217e4e919675f2eb64488f8423acf3bd5d568d30bd011c8d107db0b5de2774e7439561da947f758 SHA512 82c8121e2214a02f0bbf647eb03486e5c7db3e180f834001c5ad7ac53791e876ddd63bef1af6ba2590d9673af6beb6b725138bbad8c3b61271b29b7eb72f41c0
+AUX tbb-4.4.20160803-build.patch 4838 BLAKE2B 3e410208ee260dc0839b3658e436d742b8c03eba5eb6f7c6b697bae75d0078a2099b1cf012f32b1a3486d87a2eba123fcad7e651c3ce63dc883491b2e7192af7 SHA512 cee8733f667fec20ea5760176bec587e4c0dfc9286841ccc6f72702a3440fe5ea4054b7e7c22c98d4d4814ef4bd160264962d3a4d58d177141c15cf391c5f30e
+AUX tbb-4.4.20160803-underlinking.patch 389 BLAKE2B 88b85cf0a2c8706dff908d4c4e73e1399aa8ac85f7c2df1bd5daebc564e4007c4bf0df27647e53764c6dd437422ed48885e798a6e4fc6b5900810c7855c9ceeb SHA512 bfd3b9d5221a89a120e115447a9aa653e93a208422c68c8cc74a672f42037fd1af3dc755480d746570f2c5dbeb173650d9b4acfb38aaec5d3c3feea6c2232af1
+DIST tbb-2017.20170226.tar.gz 2856407 BLAKE2B 10c9f1230a57e0cc778f4f7ad9395a7dc9044b7f203e704cfdc479632e2aaf35f05caa168d9caea490abc6d96ec7d77ea6e7effbc9d5b589a6e41e3374b8b9cb SHA512 d07eeca53138432a4ac20145169907f5271e234bedfb53e0eabbed2b6fafaecdc0a2ad7bdbead205993f822e7c415233cce9afd7575d366c17a117d5cc971a65
+DIST tbb-2018.20180312.tar.gz 2911740 BLAKE2B 5c6dab4a892f3b61ed0b02ea36dc41bebd5b33a22bcc3d5f2960f21e134f2eb9bccf1466193a573489e12638c0bb0bccc2da83f699968ffd62417f2d0f093289 SHA512 7ac74e714122e25f7704630d3d52992dbea54d1e761b5e487251a771f401aa864f78b8ddf11d78f38758088df387abb6987f6a2db562c86cbb28ba8f33a25680
+DIST tbb2017_20161128oss_src.tgz 2965854 BLAKE2B 8c5aed6d8477297922767803617346feebb712d1f4b2df6d71a86f039b5563afc666454985e68a528a812aaad40b5fd0562bb91d357c45156fec46e5389ec542 SHA512 3c48ce196d2d3557e86cea7ede9dea456bbaeb29dbed34210f99c6f380406403a6056ccfa3d5befe6b29c4f8a9ee58ca6da545249cf4ec4ec85b463e04e4518c
+DIST tbb43_20150611oss_src.tgz 2757631 BLAKE2B d1a00b531b747aeae05d052ac2d894b4d5dbee628988794ac9721058e5b3cd7efb60877ff1183d155d75bc2a0b413863911c438da9db1c30ec8e74e2de442118 SHA512 83d5d827706b774ef5cd6df8082e5d7f48683388684423bb40565dfc25892fc2e57c382f719b78087d83e51edb3f7f7215f33d8b5039b55c32788d80efa6e0b8
+DIST tbb44_20160803oss_src.tgz 2874050 BLAKE2B 097e4e4fb2c14b6ab073409b26c7d5044cd7f2edb56efb0b307b1e07b4496a668d34eec88086d2f8e68eb050df9e2b48af81b5e47c860b15786e0c48df736d9c SHA512 01b1dcdaffa96c3d503e44d7b236b1115f419c122dab0f40de4c9dc90db315a1f3755cc91adf9df91d5d31d8927df115230db94cf175edac09ae438b46374a92
+EBUILD tbb-2017.20161128.ebuild 3328 BLAKE2B cc38ef0529be30d5440fbda313f7e49f396608b63315a055366d9c3d6842139c2e6c777a5e64994f9f40993fa23f34b205d9532ba6674ed6a241241705b105b3 SHA512 cccd1c62e5c93b31d892b3620155aaf4ac5c923082042d15b38069581bbce6b0b5ec979392ed831a40b57d92e0bfa2f7ab28f4e789d59a1a063f0cc10e118a92
+EBUILD tbb-2017.20170226.ebuild 3332 BLAKE2B f3c62d147d908374c7e7246fc555dca88e1d4937ed499080e57dac42bb324b5cf7bd0e3359b9185c3b0ac5d3c6f9f69f98596a0e420cd68fef3b9fb641af8429 SHA512 0491a899acb9072cc99056f38160acd52ac7b97e3c0020ab2fd2cb452c8220a1e82ffae53338123a9b41c60b453f948cc7d1bbf9da82e1ea6456f7f8130f0aa7
+EBUILD tbb-2018.20180312.ebuild 3332 BLAKE2B e1e0aecf3dc7a29526aca88b0c9439509345a68e30c940dd74ddc9f3ada36fa2d773fd4f9a949491998f22c4ff2f7c52f928e7d8c705d4a93d204574c2c747d1 SHA512 747637d528e3bbec621e74db8e3929300036c43c7c651aa3519c322b7a3f89c769494ede73ee37358cc07053ecea3bd40edb881d0b680aabcf729e2d40618e95
+EBUILD tbb-4.3.20150611.ebuild 3142 BLAKE2B 638aad3506c71cd234972b5e1eb49a28e9240cdf63a7bac7f1131c84ab8188c95dbe24aa57df36d5dcb365817baf72a7b5092eb51610d055f1ea1eef8573cdfe SHA512 e78b598c1560212db0bb4f5c4c2962f1e42efcad30f1c90af05327c3d6dfd53781c8efd2237bf3012349a9d550d3f28399bbb548d341d6dd8a9a2b9f670c2c1c
+EBUILD tbb-4.4.20160803.ebuild 3387 BLAKE2B 9aee29c353a7ec9fb9f6efcfd8d6ccef198951fdbbbca0cebee98ebdbe294c0e6f23ad96f30dc0c32752e3f89c663a0623e76bf2d801f0cd10913b538db3750f SHA512 285dcbb0314d35e906f8085ea8b4407a51da0980236f495f98037e32633cc0d4dd736b6e3380fff1c00551ecb6fa0557473a7f94e7cb4a690a8fc8336cd670d9
+MISC metadata.xml 687 BLAKE2B c094e0e1a7f9939540292663dceefcacf0468b91563cf051ce487edbdf27b7c07392102fedf6df18aa2852465eb1e6b6f72bbe93c0ca1669c1fba2bbc5840c48 SHA512 bfdebc9e52c9c46424854b519e8ff60f7b473e33189235a50e1110af1f8264c2ad2b4f71110be1147387491fc078ec6c9e451347b47f69d0f2b15e60ad2e9a0b
diff --git a/dev-cpp/tbb/files/tbb-2017.20161128-build.patch b/dev-cpp/tbb/files/tbb-2017.20161128-build.patch
new file mode 100644
index 000000000000..e952bfbc434e
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2017.20161128-build.patch
@@ -0,0 +1,187 @@
+--- a/build/FreeBSD.gcc.inc
++++ b/build/FreeBSD.gcc.inc
+@@ -28,8 +28,8 @@ WARNING_KEY = -Wall
+ DYLIB_KEY = -shared
+ WARNING_SUPPRESS = -Wno-parentheses
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS = $(CXX)
++CONLY = $(CC)
+ LIB_LINK_FLAGS = -shared
+ LIBS = -lpthread
+ C_FLAGS = $(CPLUS_FLAGS)
+@@ -42,7 +42,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+@@ -59,22 +59,12 @@ ifeq (ia64,$(arch))
+ CPLUS_FLAGS += $(PIC_KEY)
+ endif
+
+-ifeq (intel64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ia32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASSEMBLY_SOURCE=$(arch)-gas
+ ifeq (ia64,$(arch))
+- ASM=as
++ ASM=$(AS)
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+ MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
+ endif
+--- a/build/linux.clang.inc
++++ b/build/linux.clang.inc
+@@ -31,15 +31,15 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -60,24 +60,10 @@ MALLOC_ASM.OBJ=
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+ endif
+
+ ifeq (bg,$(arch))
+@@ -89,12 +75,6 @@ endif
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
+--- a/build/linux.gcc.inc
++++ b/build/linux.gcc.inc
+@@ -32,12 +32,12 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+-C_FLAGS = $(CPLUS_FLAGS)
++C_FLAGS := $(CPLUS_FLAGS)
+
+ # gcc 4.2 and higher support OpenMP
+ ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
+@@ -68,7 +68,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -84,24 +84,12 @@ endif
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m64
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (bg,$(arch))
+@@ -109,12 +97,6 @@ ifeq (bg,$(arch))
+ CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null)))
+ endif
+
+-# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
+-ifeq (sparc,$(arch))
+- CPLUS_FLAGS += -mcpu=v9 -m64
+- LIB_LINK_FLAGS += -mcpu=v9 -m64
+-endif
+-
+ # automatically generate "IT" instructions when compiling for Thumb ISA
+ ifeq (armv7,$(arch))
+ CPLUS_FLAGS += -Wa,-mimplicit-it=thumb
+@@ -123,13 +105,7 @@ endif
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+-ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
++ASM := $(AS)
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
diff --git a/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch b/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch
new file mode 100644
index 000000000000..ed318cab8386
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch
@@ -0,0 +1,20 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu May 31 21:37:47 UTC 2012
+Subject: build system
+
+fix underlinking in test phase
+wrt https://bugs.gentoo.org/show_bug.cgi?id=418447
+
+--- a/build/Makefile.test
++++ b/build/Makefile.test
+@@ -48,8 +48,8 @@
+ USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_PROXY
+ CPLUS_FLAGS += $(USE_PROXY_FLAG)
+ LINK_TBB.LIB = $(PROXY.LIB)
+- LIBS += $(LIBDL)
+-endif
++endif
++LIBS += $(LIBDL)
+
+ include $(tbb_root)/build/common_rules.inc
+
diff --git a/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch b/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch
new file mode 100644
index 000000000000..8f806989e443
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch
@@ -0,0 +1,185 @@
+--- a/build/FreeBSD.gcc.inc
++++ b/build/FreeBSD.gcc.inc
+@@ -28,14 +28,14 @@ WARNING_KEY = -Wall
+ DYLIB_KEY = -shared
+ WARNING_SUPPRESS = -Wno-parentheses
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS = $(CXX)
++CONLY = $(CC)
+ LIB_LINK_FLAGS = -shared
+ LIBS = -lpthread
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+@@ -52,22 +52,12 @@ ifeq (ia64,$(arch))
+ CPLUS_FLAGS += $(PIC_KEY)
+ endif
+
+-ifeq (intel64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ia32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASSEMBLY_SOURCE=$(arch)-gas
+ ifeq (ia64,$(arch))
+- ASM=as
++ ASM=$(AS)
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+ MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
+ endif
+--- a/build/linux.clang.inc
++++ b/build/linux.clang.inc
+@@ -31,15 +31,15 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -61,24 +61,10 @@ MALLOC_ASM.OBJ=
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+ endif
+
+ ifeq (bg,$(arch))
+@@ -90,12 +76,6 @@ endif
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
+--- a/build/linux.gcc.inc
++++ b/build/linux.gcc.inc
+@@ -32,12 +32,12 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+-C_FLAGS = $(CPLUS_FLAGS)
++C_FLAGS := $(CPLUS_FLAGS)
+ # gcc 4.4 and higher support -std=c++0x
+ ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[4-9]|[5-9])"))
+ CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X
+@@ -54,7 +54,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^4\.[8-9]"))
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -74,24 +74,12 @@ endif
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m64
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (bg,$(arch))
+@@ -99,12 +87,6 @@ ifeq (bg,$(arch))
+ CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null)))
+ endif
+
+-# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
+-ifeq (sparc,$(arch))
+- CPLUS_FLAGS += -mcpu=v9 -m64
+- LIB_LINK_FLAGS += -mcpu=v9 -m64
+-endif
+-
+ # automatically generate "IT" instructions when compiling for Thumb ISA
+ ifeq (armv7,$(arch))
+ CPLUS_FLAGS += -Wa,-mimplicit-it=thumb
+@@ -113,13 +95,7 @@ endif
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+-ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
++ASM := $(AS)
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
diff --git a/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch b/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch
new file mode 100644
index 000000000000..f4af5de9e50d
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch
@@ -0,0 +1,187 @@
+--- a/build/FreeBSD.gcc.inc
++++ b/build/FreeBSD.gcc.inc
+@@ -28,8 +28,8 @@ WARNING_KEY = -Wall
+ DYLIB_KEY = -shared
+ WARNING_SUPPRESS = -Wno-parentheses
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS = $(CXX)
++CONLY = $(CC)
+ LIB_LINK_FLAGS = -shared
+ LIBS = -lpthread
+ C_FLAGS = $(CPLUS_FLAGS)
+@@ -42,7 +42,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+@@ -59,22 +59,12 @@ ifeq (ia64,$(arch))
+ CPLUS_FLAGS += $(PIC_KEY)
+ endif
+
+-ifeq (intel64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ia32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASSEMBLY_SOURCE=$(arch)-gas
+ ifeq (ia64,$(arch))
+- ASM=as
++ ASM=$(AS)
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+ MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
+ endif
+--- a/build/linux.clang.inc
++++ b/build/linux.clang.inc
+@@ -31,15 +31,15 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -55,24 +55,10 @@ MALLOC_ASM.OBJ=
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+ endif
+
+ ifeq (bg,$(arch))
+@@ -84,12 +70,6 @@ endif
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
+--- a/build/linux.gcc.inc
++++ b/build/linux.gcc.inc
+@@ -32,12 +32,12 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+-C_FLAGS = $(CPLUS_FLAGS)
++C_FLAGS := $(CPLUS_FLAGS)
+
+ # gcc 4.2 and higher support OpenMP
+ ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
+@@ -57,7 +57,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -73,24 +73,12 @@ endif
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m64
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (bg,$(arch))
+@@ -98,12 +86,6 @@ ifeq (bg,$(arch))
+ CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null)))
+ endif
+
+-# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
+-ifeq (sparc,$(arch))
+- CPLUS_FLAGS += -mcpu=v9 -m64
+- LIB_LINK_FLAGS += -mcpu=v9 -m64
+-endif
+-
+ # automatically generate "IT" instructions when compiling for Thumb ISA
+ ifeq (armv7,$(arch))
+ CPLUS_FLAGS += -Wa,-mimplicit-it=thumb
+@@ -112,13 +94,7 @@ endif
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+-ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
++ASM := $(AS)
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
diff --git a/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch b/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch
new file mode 100644
index 000000000000..5935017a325e
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/show_bug.cgi?id=418447
+
+--- a/build/Makefile.test
++++ b/build/Makefile.test
+@@ -44,8 +44,8 @@
+ USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_PROXY
+ CPLUS_FLAGS += $(USE_PROXY_FLAG)
+ LINK_TBB.LIB = $(PROXY.LIB)
+- LIBS += $(LIBDL)
+-endif
++endif
++LIBS += $(LIBDL)
+
+ TEST_SUFFIXES=secondary compiler_builtins pic
+ include $(tbb_root)/build/common_rules.inc
diff --git a/dev-cpp/tbb/metadata.xml b/dev-cpp/tbb/metadata.xml
new file mode 100644
index 000000000000..1d44ed7098fc
--- /dev/null
+++ b/dev-cpp/tbb/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Intel Threading Building Blocks is a library that helps you
+ leverage multi-core processor performance without having to be a
+ threading expert. It represents a higher-level, task-based
+ parallelism that abstracts platform details and threading mechanism
+ for performance and scalability.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">01org/tbb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/tbb/tbb-2017.20161128.ebuild b/dev-cpp/tbb/tbb-2017.20161128.ebuild
new file mode 100644
index 000000000000..466e1e756f78
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2017.20161128.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+MYP="${PN}${PV1}_${PV2}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://www.threadingbuildingblocks.org"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch
+ "${FILESDIR}"/${PN}-2017.20161128-build.patch
+)
+
+src_prepare() {
+ default
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ abi_ppc_64) arch=ppc64 ;;
+ abi_ppc_32) arch=ppc32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ local bt
+ local buildtypes
+ if use debug ; then
+ buildtypes="release debug"
+ else
+ buildtypes="release"
+ fi
+ for bt in ${buildtypes}; do
+ cd "${BUILD_DIR}_${bt}" || die
+ local l
+ for l in $(find . -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-2017.20170226.ebuild b/dev-cpp/tbb/tbb-2017.20170226.ebuild
new file mode 100644
index 000000000000..a265095c4bb0
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2017.20170226.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic multilib-minimal multilib toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2=5
+MY_PV="${PV1}_U${PV2}"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://www.threadingbuildingblocks.org"
+SRC_URI="https://github.com/01org/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch
+ "${FILESDIR}"/${PN}-2017.20161128-build.patch
+)
+
+src_prepare() {
+ default
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ abi_ppc_64) arch=ppc64 ;;
+ abi_ppc_32) arch=ppc32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ local bt
+ local buildtypes
+ if use debug ; then
+ buildtypes="release debug"
+ else
+ buildtypes="release"
+ fi
+ for bt in ${buildtypes}; do
+ cd "${BUILD_DIR}_${bt}" || die
+ local l
+ for l in $(find . -name lib\*$(get_libname \*)); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%%.*}$(get_libname)
+ done
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-2018.20180312.ebuild b/dev-cpp/tbb/tbb-2018.20180312.ebuild
new file mode 100644
index 000000000000..7879da6125e4
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2018.20180312.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic multilib-minimal multilib toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2=3
+MY_PV="${PV1}_U${PV2}"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://www.threadingbuildingblocks.org"
+SRC_URI="https://github.com/01org/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch
+ "${FILESDIR}"/${PN}-2017.20161128-build.patch
+)
+
+src_prepare() {
+ default
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ abi_ppc_64) arch=ppc64 ;;
+ abi_ppc_32) arch=ppc32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ local bt
+ local buildtypes
+ if use debug ; then
+ buildtypes="release debug"
+ else
+ buildtypes="release"
+ fi
+ for bt in ${buildtypes}; do
+ cd "${BUILD_DIR}_${bt}" || die
+ local l
+ for l in $(find . -name lib\*$(get_libname \*)); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%%.*}$(get_libname)
+ done
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-4.3.20150611.ebuild b/dev-cpp/tbb/tbb-4.3.20150611.ebuild
new file mode 100644
index 000000000000..d5efb48803d2
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.3.20150611.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://www.threadingbuildingblocks.org"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-4.0.297-underlinking.patch \
+ "${FILESDIR}"/${P}-build.patch
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ cd "${BUILD_DIR}_release" || die
+ local l
+ for l in $(find . -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-4.4.20160803.ebuild b/dev-cpp/tbb/tbb-4.4.20160803.ebuild
new file mode 100644
index 000000000000..f6cd3e24a601
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.4.20160803.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://www.threadingbuildingblocks.org"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4.20160803-underlinking.patch
+ "${FILESDIR}"/${PN}-4.4.20160803-build.patch
+)
+
+src_prepare() {
+ default
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ abi_ppc_64) arch=ppc64 ;;
+ abi_ppc_32) arch=ppc32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ local bt
+ local buildtypes
+ if use debug ; then
+ buildtypes="release debug"
+ else
+ buildtypes="release"
+ fi
+ for bt in ${buildtypes}; do
+ cd "${BUILD_DIR}_${bt}" || die
+ local l
+ for l in $(find . -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tclap-1.2.1 b/dev-cpp/tclap-1.2.1
deleted file mode 100644
index 232c00708713..000000000000
--- a/dev-cpp/tclap-1.2.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=configure install
-DEPEND=doc? ( app-doc/doxygen )
-DESCRIPTION=Simple templatized C++ library for parsing command line arguments
-EAPI=5
-HOMEPAGE=http://tclap.sourceforge.net
-IUSE=doc
-KEYWORDS=amd64 ~arm ~arm64 ppc x86 ~amd64-linux
-LICENSE=MIT
-SLOT=0
-SRC_URI=mirror://sourceforge/tclap/tclap-1.2.1.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=a1211e9c89abe2f5a83d8f93bcd8b3b5
diff --git a/dev-cpp/tclap/Manifest b/dev-cpp/tclap/Manifest
new file mode 100644
index 000000000000..73c11d82f557
--- /dev/null
+++ b/dev-cpp/tclap/Manifest
@@ -0,0 +1,3 @@
+DIST tclap-1.2.1.tar.gz 442387 BLAKE2B 413d77f59224dd7751621f32a5712178c4954cb532095203a1eb839c97d20e8651f94f90d4961a47f654d5b478946fb988db66df0d17c8230fde0b771af77405 SHA512 8bd6ee724600880840048c7b36f02d31b1aa4910b17f80fb04aef89b1f1917856d9979ec488edbd457b66d9d689aea97540abb842a8b902bbd75c66a6e07b9b1
+EBUILD tclap-1.2.1.ebuild 570 BLAKE2B f8657c52bf383ba97efe4c716d59be9d085c82bc01b6175e8b4351151953017f9c89cb8a5ea9e6ac410ee88378d8b1c5ca08cd9b219a216a45349632286197a9 SHA512 f8de56c7311945e191f222517b4265649bbe172c6c3262c79a4aec8738c8d4721438aac503b5e06c0c53dc18b4be4a9a8d0b1b094787862e8c4645ac79da0b9d
+MISC metadata.xml 242 BLAKE2B 82d9a3ad5f6403991bbdd339716e18a462985eaa3980968d67042c7a9541c070363f43924fb9f203a29e73ae2d1023e3b8ab7e307dc381ac5cdb55a588407a0b SHA512 95904a3f7981543557133918ba83a467f03e6839b3248651dc94870f1b8c3788ac50279d59886c54d12328891964c942e1bbd4e1c9d88837643ded5678a10a85
diff --git a/dev-cpp/tclap/metadata.xml b/dev-cpp/tclap/metadata.xml
new file mode 100644
index 000000000000..71114a4fc927
--- /dev/null
+++ b/dev-cpp/tclap/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-needed -->
+ <upstream>
+ <remote-id type="sourceforge">tclap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/tclap/tclap-1.2.1.ebuild b/dev-cpp/tclap/tclap-1.2.1.ebuild
new file mode 100644
index 000000000000..4e4d959393f3
--- /dev/null
+++ b/dev-cpp/tclap/tclap-1.2.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit eutils
+
+DESCRIPTION="Simple templatized C++ library for parsing command line arguments"
+HOMEPAGE="http://tclap.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc x86 ~amd64-linux"
+IUSE="doc"
+
+DEPEND="doc? ( app-doc/doxygen )"
+
+src_configure() {
+ econf $(use_enable doc doxygen)
+}
+
+src_install() {
+ emake DESTDIR="${D}" docdir="${EPREFIX}/usr/share/doc/${PF}/html" install
+}
diff --git a/dev-cpp/threadpool-0.2.5-r1 b/dev-cpp/threadpool-0.2.5-r1
deleted file mode 100644
index e54685774992..000000000000
--- a/dev-cpp/threadpool-0.2.5-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install
-DESCRIPTION=A cross-platform C++ thread pool library (built on top of Boost)
-EAPI=6
-HOMEPAGE=http://threadpool.sourceforge.net/
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=Boost-1.0
-RDEPEND=dev-libs/boost
-SLOT=0
-SRC_URI=mirror://sourceforge/threadpool/threadpool/0.2.5%20%28Stable%29/threadpool-0_2_5-src.zip doc? ( mirror://sourceforge/threadpool/threadpool/0.2.5%20%28Stable%29/threadpool-0_2_5-doc.zip )
-_md5_=d45994fd4ef8075f135fba95a14527d2
diff --git a/dev-cpp/threadpool/Manifest b/dev-cpp/threadpool/Manifest
new file mode 100644
index 000000000000..59f315b5abd8
--- /dev/null
+++ b/dev-cpp/threadpool/Manifest
@@ -0,0 +1,5 @@
+AUX threadpool-0.2.5-memleak.patch 786 BLAKE2B 643e3c1d5e71a1802276f8f55aa7e18a167e68caad0d2567df6217b02fca47e91aea48ea446665e6598a93d86380a03d513743154c0a1d5c5204fabde86d4c9c SHA512 427802d2695ed08e3f0fc318e7f379d288bdea9adcdd9ee02215fbffc7a579e736140205cdf9122654c56add637fa80e4673a3a98fba939943f41597d8097912
+DIST threadpool-0_2_5-doc.zip 154617 BLAKE2B 77d9421236d4964c7d69ca59f700f3697dc2c20852737e94bccc0547ce0c5db2a08715701c954c49ceb3c84644c77b7a2e115aef9c537b16df410011af5cc20b SHA512 cdee7d0cf02af55ef4e1237fff9f5214ffb91b00ad2880592efcf3f62d661f3e8a870d092797dd2866e24189e9d6f8e626ca840ab89ce29e5c944c79e8cb31ea
+DIST threadpool-0_2_5-src.zip 58599 BLAKE2B 00312a1eee427cac3f55e1162f3051e7a4a2a805a941f9bf858088deba696dda38f241d7eb5e57d38f00bec161197cbda70be1cd31465c4031d242d2f2e6ab66 SHA512 961576b619e5227098fa37a3c8d903128b3c2a9cf1e55c057c6f9126062bcccfa6fe2510b4e8ee5d1a0e3d0425f0077c50eccad2120a423f69e2705460780e7c
+EBUILD threadpool-0.2.5-r1.ebuild 888 BLAKE2B 152abd29901935ba7b3083759f2b926eb70248cfd5c7f0ee3c4e909f2563fd31d49c09ec6acf4e970dae3ed513c8e90c16ff920948aeb60680a4b3feccf20d32 SHA512 e16f8b7415461cbf47c08e81b008833b3ffc6814627ca3b13e252b536829ad096afb73414d98dfc268508d88cce97e4c44f8f562ba110cbf5f3cdf8dba602967
+MISC metadata.xml 330 BLAKE2B ddf4a8b08f23fb75e5714beced76eef6a2e68c4dadaae513a49611b78472bbf6860ff11a81e8ab51ed8ab5431db97523d4f275c7b3e86b9a274c878fe7274fdd SHA512 5bd797cbdfe2f8a33f10947018d11fc38af0b51a8a1f06b0723d52e3854558c742e62d9f4cb0c13160cbb0ecb9c68267c0d4360b01068e486ca7d4a4314f5229
diff --git a/dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch b/dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch
new file mode 100644
index 000000000000..26d89d1d5c25
--- /dev/null
+++ b/dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch
@@ -0,0 +1,22 @@
+Fix memleak due circular references blocking garbage collection.
+
+http://www.cplusplus.com/forum/general/56971/ provides a testcase for a memory
+leak with the threadpool due to shared_ptr usage.
+
+I really needed threadpool to work for me, so I traced & fixed it as best as
+possible. When the threadpool is being destroyed, your threads should have
+terminated already. Do so deliberately if not done yet, so that they free the
+memory.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+--- threadpool/boost/threadpool/detail/pool_core.hpp
++++ threadpool/boost/threadpool/detail/pool_core.hpp
+@@ -150,6 +150,7 @@
+ /// Destructor.
+ ~pool_core()
+ {
++ terminate_all_workers(true);
+ }
+
+ /*! Gets the size controller which manages the number of threads in the pool.
diff --git a/dev-cpp/threadpool/metadata.xml b/dev-cpp/threadpool/metadata.xml
new file mode 100644
index 000000000000..2af619160dd4
--- /dev/null
+++ b/dev-cpp/threadpool/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">threadpool</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild b/dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild
new file mode 100644
index 000000000000..882c07045372
--- /dev/null
+++ b/dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A cross-platform C++ thread pool library (built on top of Boost)"
+HOMEPAGE="http://threadpool.sourceforge.net/"
+MY_PV=${PV//./_}
+MY_P=${PN}-${MY_PV}
+SRC_URI_BASE="mirror://sourceforge/threadpool/threadpool/${PV}%20%28Stable%29"
+SRC_URI="${SRC_URI_BASE}/${MY_P}-src.zip
+ doc? ( ${SRC_URI_BASE}/${MY_P}-doc.zip )"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND="dev-libs/boost"
+
+S="${WORKDIR}/${MY_P}-src/${PN}"
+
+DOCS=( README TODO CHANGE_LOG )
+PATCHES=( "${FILESDIR}/${P}-memleak.patch" )
+
+src_compile() {
+ # Do nothing
+ # The makefile just builds the documentation again
+ # Not even any install targets
+ return
+}
+
+src_install() {
+ doheader -r boost
+
+ use doc && HTML_DOCS+=( "${WORKDIR}"/"${MY_P}"-doc/. )
+ einstalldocs
+}
diff --git a/dev-cpp/tree-2.81 b/dev-cpp/tree-2.81
deleted file mode 100644
index 78c2624b5fbd..000000000000
--- a/dev-cpp/tree-2.81
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=install prepare test
-DESCRIPTION=An STL-like tree class
-EAPI=4
-HOMEPAGE=http://www.aei.mpg.de/~peekas/tree/
-IUSE=doc
-KEYWORDS=amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos
-LICENSE=|| ( GPL-2 GPL-3 )
-SLOT=0
-SRC_URI=http://www.aei.mpg.de/~peekas/tree/tree-2.81.tar.gz
-_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
-_md5_=b6ee8bd51328cc137ae1060f4dba91ce
diff --git a/dev-cpp/tree/Manifest b/dev-cpp/tree/Manifest
new file mode 100644
index 000000000000..f62b8c1be1ae
--- /dev/null
+++ b/dev-cpp/tree/Manifest
@@ -0,0 +1,4 @@
+AUX tree-2.62-test.patch 289 BLAKE2B 9074ea69e8c141b813e1854c5956eb016846196c9722ed3740a942caae7a0b086f37a4ab54e2faa81c73d310e1a2effdf8302f5703aa23a3052cc88e67638037 SHA512 7b63e0e60db5c636a13fe4cf8f8043fa4029a04b21eeb4cac08fcce4f433e0e6096927fffb7f345c319b46ea6043a9388a7419e8fa6c783f58b449f9ab1061db
+DIST tree-2.81.tar.gz 1167128 BLAKE2B ea92724b16fc7ea8a5f0036f5a7a57d000d66b332b4ba46139463f707f95922f38b1d4d56a6d2fca0a3c4ece8f11e28bbf4aa6bec5c5a7bc59ccaa36a01413d6 SHA512 85e910fdb19ffd03ae79302a95ebffdb44725fd9f291a61d6912f743b54fe9b3d1c863e00c7e75d238f428946809e42c7ae6379b1051688fb06ee6c6d761d294
+EBUILD tree-2.81.ebuild 930 BLAKE2B e936c307f73b44080c3174f5fd659e7c23a488807cf6e1b88cc2e67264e5478939a03f798e736ed453343303225c287734da844c6039450876385d29f55595a9 SHA512 5c04375499ecbf2fbf635536949163824cae501a53618fd07855bb5cd257b32d3728a36c72516f0259d407a8d88966750025a8b59633fbc79a7fe318f99b520f
+MISC metadata.xml 619 BLAKE2B ac5307e69727d5da71a21955619b8e322df63ebd877617c70b494ad541c470ef6df41a90ddf92b132452c293e2fbcbb85f2b72ee372f95491124ab50f7299ce2 SHA512 b2486910e891482643fc8464b11269ca6f83e87a8403edb78b2163e7fa37586b503597f0ea61332439322d257ad239d0c0a210707788043d555a96f3b712cc84
diff --git a/dev-cpp/tree/files/tree-2.62-test.patch b/dev-cpp/tree/files/tree-2.62-test.patch
new file mode 100644
index 000000000000..f7022426698b
--- /dev/null
+++ b/dev-cpp/tree/files/tree-2.62-test.patch
@@ -0,0 +1,17 @@
+--- test_tree.output 2008-08-28 11:16:11.000000000 +0100
++++ test_tree.output.new 2009-04-15 19:06:53.174832287 +0100
+@@ -1,3 +1,8 @@
++-----
++hi
++ 1
++ 0
++-----
+ empty tree to begin with:
+ 0
+ 'more text' is sibling 2 in its sibling range
+@@ -309,3 +314,5 @@
+ D
+ I
+ -----
++G
++H
diff --git a/dev-cpp/tree/metadata.xml b/dev-cpp/tree/metadata.xml
new file mode 100644
index 000000000000..f6bb7c0c19ad
--- /dev/null
+++ b/dev-cpp/tree/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The tree.hh library for C++ provides an STL-like container class for
+ n-ary trees, templated over the data stored at the nodes. Various
+ types of iterators are provided (post-order, pre-order, and
+ others). Where possible the access methods are compatible with the
+ STL or alternative algorithms are available.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-cpp/tree/tree-2.81.ebuild b/dev-cpp/tree/tree-2.81.ebuild
new file mode 100644
index 000000000000..db3b12d49646
--- /dev/null
+++ b/dev-cpp/tree/tree-2.81.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="An STL-like tree class"
+HOMEPAGE="http://www.aei.mpg.de/~peekas/tree/"
+SRC_URI="http://www.aei.mpg.de/~peekas/tree/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc"
+
+S="${S}"/src
+
+src_prepare() {
+ rm Makefile || die
+ epatch "${FILESDIR}"/${PN}-2.62-test.patch
+}
+
+src_test() {
+ local test
+ test="$(tc-getCXX) ${CXXFLAGS} ${LDAFLAGS} test_tree.cc -o test_tree"
+
+ echo ${test}
+ eval ${test} || die "compile test failed"
+ ./test_tree > mytest.output || die "running test failed"
+ diff -Nu test_tree.output mytest.output || die "test dist failed"
+}
+
+src_install() {
+ insinto /usr/include
+ doins tree.hh tree_util.hh
+ dodoc tree_example.cc
+ if use doc; then
+ dohtml "${S}"/../doc/*
+ fi
+}
diff --git a/dev-cpp/waylandpp-0.1.0 b/dev-cpp/waylandpp-0.1.0
deleted file mode 100644
index f750ec3fa0a0..000000000000
--- a/dev-cpp/waylandpp-0.1.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install prepare
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) dev-util/scons[python_targets_python2_7]
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.1.0.tar.gz -> waylandpp-0.1.0.tar.gz
-_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 scons-utils abbc7625ff457854eae0edaa1fd55cc7 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=53c59310b1a93e0200afa17e8c34e97f
diff --git a/dev-cpp/waylandpp-0.1.2 b/dev-cpp/waylandpp-0.1.2
deleted file mode 100644
index 9829cfc3b4bf..000000000000
--- a/dev-cpp/waylandpp-0.1.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install prepare
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) dev-util/scons[python_targets_python2_7]
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.1.2.tar.gz -> waylandpp-0.1.2.tar.gz
-_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 scons-utils abbc7625ff457854eae0edaa1fd55cc7 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=445a6e2eddbfd5d3fc872c049fc6b393
diff --git a/dev-cpp/waylandpp-0.1.4 b/dev-cpp/waylandpp-0.1.4
deleted file mode 100644
index 7852ef561e2a..000000000000
--- a/dev-cpp/waylandpp-0.1.4
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.1.4.tar.gz -> waylandpp-0.1.4.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=792e7ec1cab6bc7e59bfba43e8150656
diff --git a/dev-cpp/waylandpp-0.1.5 b/dev-cpp/waylandpp-0.1.5
deleted file mode 100644
index e186818d9eb8..000000000000
--- a/dev-cpp/waylandpp-0.1.5
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.1.5.tar.gz -> waylandpp-0.1.5.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=792e7ec1cab6bc7e59bfba43e8150656
diff --git a/dev-cpp/waylandpp-0.1.6 b/dev-cpp/waylandpp-0.1.6
deleted file mode 100644
index 0438d76c4cea..000000000000
--- a/dev-cpp/waylandpp-0.1.6
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.1.6.tar.gz -> waylandpp-0.1.6.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=792e7ec1cab6bc7e59bfba43e8150656
diff --git a/dev-cpp/waylandpp-0.2.2 b/dev-cpp/waylandpp-0.2.2
deleted file mode 100644
index e8997fff25c8..000000000000
--- a/dev-cpp/waylandpp-0.2.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0.2
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.2.2.tar.gz -> waylandpp-0.2.2.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=a337ff3ab3cdbae38d50ec595cba3046
diff --git a/dev-cpp/waylandpp-0.2.3 b/dev-cpp/waylandpp-0.2.3
deleted file mode 100644
index f9ad5a2f6bba..000000000000
--- a/dev-cpp/waylandpp-0.2.3
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-KEYWORDS=~amd64 ~x86
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/0.2
-SRC_URI=https://github.com/NilsBrause/waylandpp/archive/0.2.3.tar.gz -> waylandpp-0.2.3.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=a337ff3ab3cdbae38d50ec595cba3046
diff --git a/dev-cpp/waylandpp-9999 b/dev-cpp/waylandpp-9999
deleted file mode 100644
index c9318f1a46df..000000000000
--- a/dev-cpp/waylandpp-9999
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland] doc? ( app-doc/doxygen media-gfx/graphviz ) sys-devel/make >=dev-util/cmake-3.9.6 >=dev-vcs/git-1.8.2.1[curl]
-DESCRIPTION=Wayland C++ bindings
-EAPI=6
-HOMEPAGE=https://github.com/NilsBrause/waylandpp
-IUSE=doc
-LICENSE=MIT
-RDEPEND=>=dev-libs/wayland-1.11.0 media-libs/mesa[wayland]
-SLOT=0/9999
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 git-r3 8f6de46b0aa318aea0e8cac62ece098b ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=a337ff3ab3cdbae38d50ec595cba3046
diff --git a/dev-cpp/waylandpp/Manifest b/dev-cpp/waylandpp/Manifest
new file mode 100644
index 000000000000..9786ccf1d1f5
--- /dev/null
+++ b/dev-cpp/waylandpp/Manifest
@@ -0,0 +1,16 @@
+DIST waylandpp-0.1.0.tar.gz 166427 BLAKE2B eef7f14df491e053f2c8cb63aaafc9e9251af6a5f769208240484974767ab971ec1ed03bfdc58275d756d42e4605e19af84ed8aa311ddfeaa92c8b3c25a4595f SHA512 e0521ea99eeb7ae196ed9c8759e10d28406c5b99534b52ac51845cdd9c384ff820e4cc1fec65c537a0d071046746884793da122c72f6e75e7df4bca089d19eca
+DIST waylandpp-0.1.2.tar.gz 166624 BLAKE2B 8136fb8c7ece2a2ce9d93bd833dbc9c604c47dfd27b17cda60b0c5894d4aada7761e220d9cabf8e5107115e00d2d16fd99a098dac9be6614926b428ea234d788 SHA512 2304390be26134561fb69e208a6bafd0e9789e6b212ff2f46384c6ed50ae1c9eca3f06a3b4958c8e710cc1a0be61ed84c7ff292ec7011dbb0396cd2d83363f7f
+DIST waylandpp-0.1.4.tar.gz 168409 BLAKE2B 43811051f1c4cf8795c63d24c54f6f3fac59bf4a482b9dd0f3e2645272475abc732a44330e08449e34f67aa90224382d18ffb0e6f52d9f250685813186ad6e97 SHA512 3f2e9bca0776c02ec3b7a4f76a34214333e0663e2ab81d81cfbc37e1f14bda47e16b3840386b961d47ca993207b0b9f4d4859b621f22fe4e3653c4b14842e001
+DIST waylandpp-0.1.5.tar.gz 168432 BLAKE2B 0d3efcb489a713be1ae9db0366b47436b0789468b956ac781f981b3bf1feaebdf2be083f6d1263190e202a45e4416d2d972ffc67d8b87115146f14a5c4af41a5 SHA512 bce1f29607fe61f4b8464abc6111121e3c18777d2e982f143b33087d53af58e9d3a61e412c46dbe73d8cbbaa889da806978e9b3854ce01db8feb53d777625a6f
+DIST waylandpp-0.1.6.tar.gz 180123 BLAKE2B 552dbea6b6d9c3f937aa56a69c90485f6946366589793e53817bada7b2dc1eca0c58a741b22f5f0f7fac04bb14d668f01a1c2418343ebf32845dc1bf02656957 SHA512 93ed7157017394f7df0d7cdf2f56e1d8621893cc8cb77b01206534b8ca40528aba6bd2b922b359809bdca7831fa45668f85903e9e3dd6f0759839c7318349c94
+DIST waylandpp-0.2.2.tar.gz 180313 BLAKE2B 558f26e9ce2edcafacfbd874bcf99176a3bc10b2991eaba0dee64c06f0e7a25f3800b2facdd7e86c775003bd2f06ddb6911a3f956f9d8089512e95fd5d03c120 SHA512 e9288482e1b59eacf71a4164dfec3236f2d6d63aee6d530d1f71bbdb20db6986137a50ac34438219463a4208897424d28d2346d2c51dccaf3e77953e4db085f2
+DIST waylandpp-0.2.3.tar.gz 180539 BLAKE2B 8941200b46235c8b65926065a3a758871581fe21ffbcc17dc33a00c546c920247739d3137b528fe8971b7c1c2240b5a056387dcbaa1437047709e079cb2e58c2 SHA512 424ccef67e1faedfb03aa7465917e4dfc0eae578a1eb42bcdbe71df02955fef00fc1b480acb4828e168f051a82a13f923e0c9be93d3ede221e791a7af88647a5
+EBUILD waylandpp-0.1.0.ebuild 1246 BLAKE2B cb14f13bef95773ce5ea8edc6a94dd8917a658953a4b88ead8d3d3de61bffdeaf075aa14bdd2164549735db40f1bfde315af883110d722d3cf05407a150d90ba SHA512 cdeb50fcad7a3630338a1b830c81313ae2af699ff3b3dc7f16c2b4cd20fe25a55821afbbb56d741ba10d0352429683160fe22bb5f54f6e3c28a5d0716465cc6c
+EBUILD waylandpp-0.1.2.ebuild 1276 BLAKE2B f9acf8a81b75abcd6563c50967fc2e6935908b152d8696d94be7bb11867057c45893be2bf53a6e70c82aa99d9ada3a9c5207e2a7cd2bc1b143ff49f70187f20e SHA512 d41b8ce0f9f0fcc4c5ba5a0eccea6498a0750cf441d2bfe995d38a6ecc1c8d8e94d01147b28e9c1fcb0da6c45c593c27637eece7462cdd045e8f5441678d3182
+EBUILD waylandpp-0.1.4.ebuild 824 BLAKE2B 0de5bffc21852ee018103a2403fc83fbd93691e5fcd014c2f78408b8ce905cc5174cf52f4dd17705f30610a6527ee85d04baa6f820722e30cbde7d985e254929 SHA512 af76bd5c8fee9b019cde74af63bc56a0c740ddfd2455a7e86672b94773dc3c946e1d7d912134d3d8371e12bb5202de3521f385a30797c7553f6454bf59ff9750
+EBUILD waylandpp-0.1.5.ebuild 824 BLAKE2B 0de5bffc21852ee018103a2403fc83fbd93691e5fcd014c2f78408b8ce905cc5174cf52f4dd17705f30610a6527ee85d04baa6f820722e30cbde7d985e254929 SHA512 af76bd5c8fee9b019cde74af63bc56a0c740ddfd2455a7e86672b94773dc3c946e1d7d912134d3d8371e12bb5202de3521f385a30797c7553f6454bf59ff9750
+EBUILD waylandpp-0.1.6.ebuild 824 BLAKE2B 0de5bffc21852ee018103a2403fc83fbd93691e5fcd014c2f78408b8ce905cc5174cf52f4dd17705f30610a6527ee85d04baa6f820722e30cbde7d985e254929 SHA512 af76bd5c8fee9b019cde74af63bc56a0c740ddfd2455a7e86672b94773dc3c946e1d7d912134d3d8371e12bb5202de3521f385a30797c7553f6454bf59ff9750
+EBUILD waylandpp-0.2.2.ebuild 838 BLAKE2B ff161112d3fdb95abaa1d7b1df081faf705dfd4f4e704af21ee4f724b551aa97ac5cf913800f6f1fde6d0615771cda497d668c4e4cd15b43278b79adb576a304 SHA512 8265df8c99fa23b48680a98cdf78c7702cfe48aaf93dd77feb67275a5063aa2ebea93a044f3202c151d5d8d1aad89300d0bb7bbe8016b062058e19c161a6731b
+EBUILD waylandpp-0.2.3.ebuild 838 BLAKE2B ff161112d3fdb95abaa1d7b1df081faf705dfd4f4e704af21ee4f724b551aa97ac5cf913800f6f1fde6d0615771cda497d668c4e4cd15b43278b79adb576a304 SHA512 8265df8c99fa23b48680a98cdf78c7702cfe48aaf93dd77feb67275a5063aa2ebea93a044f3202c151d5d8d1aad89300d0bb7bbe8016b062058e19c161a6731b
+EBUILD waylandpp-9999.ebuild 838 BLAKE2B ff161112d3fdb95abaa1d7b1df081faf705dfd4f4e704af21ee4f724b551aa97ac5cf913800f6f1fde6d0615771cda497d668c4e4cd15b43278b79adb576a304 SHA512 8265df8c99fa23b48680a98cdf78c7702cfe48aaf93dd77feb67275a5063aa2ebea93a044f3202c151d5d8d1aad89300d0bb7bbe8016b062058e19c161a6731b
+MISC metadata.xml 401 BLAKE2B 3270a9fb51a7a5a0cede7e9bc863f1445db1eda5a3b132b8ed9d2eaaaddeb60b85720484a136e09d3e00b80240a637a9f8a9533311e2b6f17fb9798e2ed19ef6 SHA512 3501904a23158eeae58c78bcc7cc3549bd877cf13f6490a8d63a0586ed080c28e27a6d302a9170020b571460dd0ca64acde471d765c8880bb2427d6c8ed76ada
diff --git a/dev-cpp/waylandpp/metadata.xml b/dev-cpp/waylandpp/metadata.xml
new file mode 100644
index 000000000000..05f0a64835c9
--- /dev/null
+++ b/dev-cpp/waylandpp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/NilsBrause/waylandpp/issues</bugs-to>
+ <remote-id type="github">NilsBrause/waylandpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/waylandpp/waylandpp-0.1.0.ebuild b/dev-cpp/waylandpp/waylandpp-0.1.0.ebuild
new file mode 100644
index 000000000000..112c1a2776d8
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.1.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit scons-utils toolchain-funcs versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_major_version)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_prepare() {
+ default
+ sed -i -e "s:\$\${prefix}/lib:$\${prefix}/$(get_libdir):" -e "s:os.path.join(prefix, \"lib\":os.path.join(prefix, \"$(get_libdir)\":g" SConstruct || die
+}
+
+src_compile() {
+ CC="$(tc-getCXX)" PKG_CONFIG="$(tc-getPKG_CONFIG)" PREFIX="${D%/}/usr" escons
+ if use doc; then
+ doxygen || die "error making docs"
+ fi
+}
+
+src_install() {
+ CC="$(tc-getCXX)" PKG_CONFIG="$(tc-getPKG_CONFIG)" PREFIX="${D%/}/usr" escons install
+ # fix multilib-strict QA failures
+ if use doc; then
+ doman doc/man/man3/*.3
+ local HTML_DOCS=( doc/html )
+ einstalldocs
+ fi
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.1.2.ebuild b/dev-cpp/waylandpp/waylandpp-0.1.2.ebuild
new file mode 100644
index 000000000000..4b36e9aea8e8
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.1.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit scons-utils toolchain-funcs versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_major_version)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_prepare() {
+ default
+ sed -i -e "s:\$\${prefix}/lib:$\${prefix}/$(get_libdir):" -e "s:os.path.join(root, prefix, \"lib\":os.path.join(root, prefix, \"$(get_libdir)\":g" SConstruct || die
+}
+
+src_compile() {
+ CC="$(tc-getCXX)" PKG_CONFIG="$(tc-getPKG_CONFIG)" ROOT="${D%/}/" PREFIX="/usr" escons
+ if use doc; then
+ doxygen || die "error making docs"
+ fi
+}
+
+src_install() {
+ CC="$(tc-getCXX)" PKG_CONFIG="$(tc-getPKG_CONFIG)" ROOT="${D%/}/" PREFIX="/usr" escons install
+ # fix multilib-strict QA failures
+ if use doc; then
+ doman doc/man/man3/*.3
+ local HTML_DOCS=( doc/html )
+ einstalldocs
+ fi
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.1.4.ebuild b/dev-cpp/waylandpp/waylandpp-0.1.4.ebuild
new file mode 100644
index 000000000000..e8100f35eb98
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.1.4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_major_version)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.1.5.ebuild b/dev-cpp/waylandpp/waylandpp-0.1.5.ebuild
new file mode 100644
index 000000000000..e8100f35eb98
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.1.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_major_version)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.1.6.ebuild b/dev-cpp/waylandpp/waylandpp-0.1.6.ebuild
new file mode 100644
index 000000000000..e8100f35eb98
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.1.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_major_version)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.2.2.ebuild b/dev-cpp/waylandpp/waylandpp-0.2.2.ebuild
new file mode 100644
index 000000000000..14c6fc58c138
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.2.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_version_component_range 1-2)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/waylandpp/waylandpp-0.2.3.ebuild b/dev-cpp/waylandpp/waylandpp-0.2.3.ebuild
new file mode 100644
index 000000000000..14c6fc58c138
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-0.2.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_version_component_range 1-2)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/waylandpp/waylandpp-9999.ebuild b/dev-cpp/waylandpp/waylandpp-9999.ebuild
new file mode 100644
index 000000000000..14c6fc58c138
--- /dev/null
+++ b/dev-cpp/waylandpp/waylandpp-9999.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Wayland C++ bindings"
+HOMEPAGE="https://github.com/NilsBrause/waylandpp"
+
+LICENSE="MIT"
+IUSE="doc"
+SLOT="0/$(get_version_component_range 1-2)"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/NilsBrause/waylandpp.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/NilsBrause/waylandpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-libs/wayland-1.11.0
+ media-libs/mesa[wayland]
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ "
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-cpp/websocketpp-0.7.0-r2 b/dev-cpp/websocketpp-0.7.0-r2
deleted file mode 100644
index 48b733563713..000000000000
--- a/dev-cpp/websocketpp-0.7.0-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=C++/Boost Asio based websocket client/server library
-EAPI=6
-HOMEPAGE=http://www.zaphoyd.com/websocketpp
-IUSE=boost examples test
-KEYWORDS=~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86
-LICENSE=BSD
-RDEPEND=boost? ( dev-libs/boost )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/zaphoyd/websocketpp/archive/0.7.0.tar.gz -> websocketpp-0.7.0.tar.gz
-_eclasses_=cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=4948cc1249fc8ed60df964b28aa1a882
diff --git a/dev-cpp/websocketpp/Manifest b/dev-cpp/websocketpp/Manifest
new file mode 100644
index 000000000000..d3dbfa650818
--- /dev/null
+++ b/dev-cpp/websocketpp/Manifest
@@ -0,0 +1,4 @@
+AUX websocketpp-0.7.0-cmake-install.patch 970 BLAKE2B 2099c37b65d3f685f8b9745d92b481bb6a0434e6305e974c6f613ae44e70e1fa9d7bd577f875ef12228e506361409666099ce024578c5c524cc8fc5fbdef4b70 SHA512 c8b34b80890d8dc828d64e391e9541f7ebd6a18c79d3a5b91c72835745a11bafff110d04e8d75a2df2dba8b65ca1856050009a4eab3871cc2470066f9ad82f44
+DIST websocketpp-0.7.0.tar.gz 682271 BLAKE2B 4da1fb076c2f533cdbdaa2cc0b0b45509216fcbc3b465f137905a34477aff0e93005f36d0257f314fd91b7de59e587e1b1df9af664a717b8dbf477b168025f26 SHA512 91a86d4f5120db3f474169bb146f865f82167b1e9eedabec8793b31005e4ce3d22083283bc1b9f9e37fa0da835addcb2b68260a27c753852c06b3b1bb2f3c12e
+EBUILD websocketpp-0.7.0-r2.ebuild 787 BLAKE2B 93f68f1f064f4b31abe4adeb1be8014145469ba17262e7197ee3695207840442d6afb1362d0d1a4cebb456509ab554fd3bdb94fd2de0fdc605b98582c08fbd85 SHA512 8c79fbae1a1e2f943820e36be7e839983516acd206c101f2e0cf69612e42c166b131e1019d8fd27eac1f5689e729818df07ea1f0f2746d4098ffbc1eafe45299
+MISC metadata.xml 419 BLAKE2B 11f113ce200752e1982b6f246f267e8029901c9dd6fa4dcdb131a28f62c3041792dc25b0ff449b20f755d9e9e9f1f4cfa23077f7648d8bfd17619b1887f44316 SHA512 92d8c85006a8857390b3bb83a9fcaa6e8a74a68eadc63018f6e70e2d4259332caaf549611a69baf44689557f05f1f7f7824d24bb9a5b582913b6580cc21608c0
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch b/dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch
new file mode 100644
index 000000000000..4548c650759d
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f60caa1..9ff2211 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,13 +15,20 @@ set (WEBSOCKETPP_VERSION ${WEBSOCKETPP_MAJOR_VERSION}.${WEBSOCKETPP_MINOR_VERSIO
+
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
++get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
++if ("${LIB64}" STREQUAL "TRUE")
++ set(LIBSUFFIX 64)
++else()
++ set(LIBSUFFIX "")
++endif()
++
+ set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files")
++set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+ if (WIN32 AND NOT CYGWIN)
+- set (DEF_INSTALL_CMAKE_DIR cmake)
++ set (INSTALL_CMAKE_DIR cmake)
+ else ()
+- set (DEF_INSTALL_CMAKE_DIR lib/cmake/websocketpp)
++ set (INSTALL_CMAKE_DIR ${LIB_INSTALL_DIR}/cmake/websocketpp)
+ endif ()
+-set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
+
+ # Make relative paths absolute (needed later on)
+ foreach (p INCLUDE CMAKE)
diff --git a/dev-cpp/websocketpp/metadata.xml b/dev-cpp/websocketpp/metadata.xml
new file mode 100644
index 000000000000..66fe497e1c38
--- /dev/null
+++ b/dev-cpp/websocketpp/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <use>
+ <flag name="boost">Use <pkg>dev-libs/boost</pkg> instead of C++11</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">zaphoyd/websocketpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/websocketpp/websocketpp-0.7.0-r2.ebuild b/dev-cpp/websocketpp/websocketpp-0.7.0-r2.ebuild
new file mode 100644
index 000000000000..1f3730df214a
--- /dev/null
+++ b/dev-cpp/websocketpp/websocketpp-0.7.0-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="C++/Boost Asio based websocket client/server library"
+HOMEPAGE="http://www.zaphoyd.com/websocketpp"
+SRC_URI="https://github.com/zaphoyd/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~x86"
+LICENSE="BSD"
+SLOT="0"
+IUSE="boost examples test"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ boost? ( dev-libs/boost )
+"
+
+# bug 630450
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${P}-cmake-install.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CPP11="$(usex !boost)"
+ -DBUILD_TESTS="$(usex test)"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ use examples && DOCS=( examples/ )
+ cmake-utils_src_install
+}
diff --git a/dev-cpp/xsd-4.0.0 b/dev-cpp/xsd-4.0.0
deleted file mode 100644
index 14f5ed0ca93d..000000000000
--- a/dev-cpp/xsd-4.0.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install test
-DEPEND=>=dev-libs/xerces-c-3.0.0 dev-libs/boost:=[threads] dev-cpp/libcutl >=dev-cpp/libxsd-frontend-2.0.0 ace? ( dev-libs/ace ) zlib? ( sys-libs/zlib ) dev-util/build doc? ( app-doc/doxygen )
-DESCRIPTION=An open-source, cross-platform W3C XML Schema to C++ data binding compiler
-EAPI=6
-HOMEPAGE=https://www.codesynthesis.com/products/xsd/
-IUSE=ace doc examples test zlib
-KEYWORDS=~amd64 ~arm ~ppc ~ppc64 ~x86
-LICENSE=GPL-2
-RDEPEND=>=dev-libs/xerces-c-3.0.0 dev-libs/boost:=[threads] dev-cpp/libcutl >=dev-cpp/libxsd-frontend-2.0.0 ace? ( dev-libs/ace ) zlib? ( sys-libs/zlib )
-SLOT=0
-SRC_URI=https://www.codesynthesis.com/download/xsd/4.0/xsd-4.0.0.tar.bz2
-_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=c6ef9fc8d144242eb1588ac0ad75880d
diff --git a/dev-cpp/xsd/Manifest b/dev-cpp/xsd/Manifest
new file mode 100644
index 000000000000..24f7ad7d2506
--- /dev/null
+++ b/dev-cpp/xsd/Manifest
@@ -0,0 +1,7 @@
+AUX xsd-4.0.0-disable_examples_and_tests.patch 1847 BLAKE2B 5f3f9a6fc6588bac2714310814af87a47e4bc8c396d3ea057c7ddf0d524a993cb927e3e7fcb9adf746bae8da2fb0adc9de1b6e88be13d5d247236b2d75e33321 SHA512 3ec04678f9b1b7825d0a594e91b2d79550e26cf8c8992dfb73aa5af98aa70f463f0da9275177d97caea3e637fbbb3a2a21768f585c1237484442cd60ce36027f
+AUX xsd-4.0.0-fix-expat-support.patch 2271 BLAKE2B 3a917f91b66a2cafddae5178dbfeaa359f17ac8151db87439fdf029358198772a47f2ee62bf5645c7ca9ca7758736593ca9727c0b4bffd797195a0c475b4b92e SHA512 ef4be3e1f7a27d1b06e7b7eca2824865302b57c6f8cfc46054c880e908a9dea42cf524415cf2ba041c06ea93317ca51eb087e422882651f31e687a1096dd3105
+AUX xsd-4.0.0-fix-include.patch 441 BLAKE2B 6bcccd5e9b15135a2d26dd7ca44d813850793fb6aca760e442e2c1561549f288790c445694f9b774938242221e3c06ad01d5a319e62bccf664be0383cb5c298d SHA512 c785caada9f39a027f7373c26bbf6e4e3c5e01c62b1581bf4643746abdfd64727c047d92630b51a1100f3ca198ffcd9a29bdd4fb277f756541c71973a42ad789
+AUX xsd-4.0.0-xsdcxx-rename.patch 5759 BLAKE2B 8fd196043f2146a1eb68d704e97d9b92f48ac21e1b1e04e8b377a29163b4dc9a0a7272e2aee510365a0854e9bbae5cb4c6a39042ffd3157d70b14d11a56127d0 SHA512 82d7bdefc4b1c0e5cefbcad84b556e2739d034047b13d74007e67bc0192585a25b5f0d44a9d795d88ad9d95f42ee7621417643b7353c5c4ea3e9319f1566509f
+DIST xsd-4.0.0.tar.bz2 1042144 BLAKE2B 74ced8b8c68840bce8ac8b0c3df79785745c475136f5092a047e0f71e3b1f41be71fa01982fc1ea0cd7e05727a158bb467f8d1ee0773d4276684f93f558aa47e SHA512 0bac508e6948ef9e2399daed2554fcff3eaa79a7e62a3b245c777fb8bef3c5c80a35403bffdb00f72d3cf1b411747a91c059dd1c932b0a00baf076d3e60da527
+EBUILD xsd-4.0.0.ebuild 3870 BLAKE2B a1b54eab8d7559573f50f00330583e465fa9f4e73062c950d4c942d4471b85dd2a8413ebf1422388b906462d40325a19d69a03a776fa824dbcb8ebd1c29373a7 SHA512 de18e50f313aa59c2d6a34b373c1dbff098ce40e9a47436cba7acce00a86784d3258b0d56fba2ddb1067e1465ba1d7857e202e70ce78d38de83accc1d71b6a91
+MISC metadata.xml 347 BLAKE2B 1a4f36eb2370fe4dff51e741df5033b3680a8600d65254fff5cd616401a6e5657f27b2793a3230195a20800b3560afb039b3ac8b66c5e9e7ec274d6d3facabd3 SHA512 b8c8e3dfc35f84888d8ab3faee76261ee449e15c83e9672e8b33c0929b573f7b009894dd4e0c341ffb03f45bfb13c50d2f90f89075679f643faf41fd686b96ba
diff --git a/dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch b/dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch
new file mode 100644
index 000000000000..d04487a17762
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch
@@ -0,0 +1,50 @@
+--- a/makefile
++++ b/makefile
+@@ -15,8 +15,6 @@
+ .PHONY: $(dist-pre)
+
+ $(default): $(out_base)/xsd/ \
+- $(out_base)/tests/ \
+- $(out_base)/examples/ \
+ $(out_base)/doc/
+
+ # Test.
+@@ -28,7 +26,6 @@
+ #
+ $(install): $(out_base)/xsd/.install \
+ $(out_base)/libxsd/.install \
+- $(out_base)/examples/.install \
+ $(out_base)/doc/.install
+ $(call install-dir,$(src_base)/dist/examples/build,$(install_doc_dir)/xsd/examples/build)
+ $(call install-dir,$(src_base)/dist/examples/cxx,$(install_doc_dir)/xsd/examples/cxx,-name makefile)
+@@ -44,7 +41,6 @@
+ #
+ $(dist): $(out_base)/xsd/.dist \
+ $(out_base)/libxsd/.dist \
+- $(out_base)/examples/.dist \
+ $(out_base)/doc/.dist
+ $(call install-dir,$(src_base)/dist/examples/build,$(dist_prefix)/examples/build)
+ $(call install-dir,$(src_base)/dist/examples/cxx,$(dist_prefix)/examples/cxx,-name makefile)
+@@ -59,7 +55,6 @@
+ $(dist-win): $(dist-pre) \
+ $(out_base)/xsd/.dist-win \
+ $(out_base)/libxsd/.dist-win \
+- $(out_base)/examples/.dist-win \
+ $(out_base)/doc/.dist-win
+ $(call install-dir,$(src_base)/dist/etc,$(dist_prefix)/etc)
+ $(call install-dir,$(src_base)/dist/examples/build,$(dist_prefix)/examples/build)
+@@ -90,14 +85,10 @@
+ # Clean.
+ #
+ $(clean): $(out_base)/xsd/.clean \
+- $(out_base)/tests/.clean \
+- $(out_base)/examples/.clean \
+ $(out_base)/doc/.clean
+
+ $(call include,$(bld_root)/install.make)
+
+ $(call import,$(src_base)/xsd/makefile)
+ $(call import,$(src_base)/libxsd/makefile)
+-$(call import,$(src_base)/tests/makefile)
+-$(call import,$(src_base)/examples/makefile)
+ $(call import,$(src_base)/doc/makefile)
diff --git a/dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch b/dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch
new file mode 100644
index 000000000000..e91b74eb4c35
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch
@@ -0,0 +1,59 @@
+## Fix bug in C++/Parser Expat Support http://scm.codesynthesis.com/?p=xsd/xsd.git;a=commitdiff;h=94cba986108a0e0f42295572ca42c356d59328d7
+### Author Boris Kolpackov <boris@codesynthesis.com>
+## Thu, 24 Jul 2014 11:40:01 +0100 (12:40 +0200)
+### Committer Boris Kolpackov <boris@codesynthesis.com>
+## Thu, 24 Jul 2014 11:40:01 +0100 (12:40 +0200)
+--- xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
++++ xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
+@@ -51,7 +51,9 @@ namespace xsd
+ }
+ };
+
+- typedef std::unique_ptr<XML_ParserStruct> parser_auto_ptr;
++ typedef
++ std::unique_ptr<XML_ParserStruct, parser_deleter>
++ parser_auto_ptr;
+ #else
+ // Simple auto pointer for Expat's XML_Parser object.
+ //
+--- xsd/libxsd/xsd/cxx/parser/expat/elements.txx
++++ xsd/libxsd/xsd/cxx/parser/expat/elements.txx
+@@ -283,9 +283,10 @@ namespace xsd
+ throw std::bad_alloc ();
+
+ if (system_id || public_id)
+- parse_begin (parser, system_id ? *system_id : *public_id, eh);
++ parse_begin (
++ parser.get (), system_id ? *system_id : *public_id, eh);
+ else
+- parse_begin (parser, eh);
++ parse_begin (parser.get (), eh);
+
+ // Temporarily unset the exception failbit. Also clear the
+ // fail bit when we reset the old state if it was caused
+@@ -310,8 +311,10 @@ namespace xsd
+ break;
+ }
+
+- if (XML_Parse (
+- parser, buf, is.gcount (), is.eof ()) == XML_STATUS_ERROR)
++ if (XML_Parse (parser.get (),
++ buf,
++ is.gcount (),
++ is.eof ()) == XML_STATUS_ERROR)
+ {
+ r = false;
+ break;
+##http://scm.codesynthesis.com/?p=xsd/xsd.git;a=commitdiff;h=0e5fab0664fb36c6253dfd7bb86d8985d1b349ef
+--- xsd/libxsd/xsd/cxx/parser/expat/elements.txx
++++ xsd/libxsd/xsd/cxx/parser/expat/elements.txx
+@@ -279,7 +279,7 @@ namespace xsd
+ {
+ parser_auto_ptr parser (XML_ParserCreateNS (0, XML_Char (' ')));
+
+- if (parser == 0)
++ if (parser.get () == 0)
+ throw std::bad_alloc ();
+
+ if (system_id || public_id)
+
diff --git a/dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch b/dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch
new file mode 100644
index 000000000000..85ea3e54313e
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch
@@ -0,0 +1,11 @@
+--- a/xsd/xsd.cxx
++++ b/xsd/xsd.cxx
+@@ -15,7 +15,7 @@
+
+ #include <xsd-frontend/parser.hxx>
+ #include <xsd-frontend/transformations/anonymous.hxx>
+-#include <xsd-frontend/transformations/enum-synthesis.cxx>
++#include <xsd-frontend/transformations/enum-synthesis.hxx>
+ #include <xsd-frontend/transformations/restriction.hxx>
+ #include <xsd-frontend/transformations/schema-per-type.hxx>
+ #include <xsd-frontend/transformations/simplifier.hxx>
diff --git a/dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch b/dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch
new file mode 100644
index 000000000000..cb78348e7b67
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch
@@ -0,0 +1,159 @@
+Description: change docu from xsd to xsdcxx
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Reviewed-by:
+Last-Update: 2014-07-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/xsd/doc/xsd.1
+===================================================================
+--- a/doc/xsd.1
++++ b/doc/xsd.1
+@@ -1,16 +1,16 @@
+ .\" Process this file with
+ .\" groff -man -Tascii xsd.1
+ .\"
+-.TH XSD 1 "July 2014" "XSD 4.0.0"
++.TH XSDCXX 1 "July 2014" "XSDCXX 4.0.0"
+ .SH NAME
+-xsd \- W3C XML Schema to C++ Compiler
++xsdcxx \- W3C XML Schema to C++ Compiler
+ .\"
+ .\"
+ .\"
+ .\"--------------------------------------------------------------------
+ .SH SYNOPSIS
+ .\"--------------------------------------------------------------------
+-.B xsd
++.B xsdcxx
+ .I command
+ .B [
+ .I options
+@@ -20,19 +20,19 @@
+ .I file
+ .B ...]
+ .in
+-.B xsd help
++.B xsdcxx help
+ .B [
+ .I command
+ .B ]
+ .in
+-.B xsd version
++.B xsdcxx version
+ .\"
+ .\"
+ .\"
+ .\"--------------------------------------------------------------------
+ .SH DESCRIPTION
+ .\"--------------------------------------------------------------------
+-.B xsd
++.B xsdcxx
+ generates vocabulary-specific, statically-typed C++ mapping from W3C XML
+ Schema definitions. Particular mapping to produce is selected by a
+ .IR command .
+@@ -96,7 +96,7 @@
+ .PP
+ .RS
+ .RS 3
+-.B xsd help
++.B xsdcxx help
+ .I command
+ .RE
+ .PP
+@@ -133,9 +133,9 @@
+
+ When the C++11 mode is selected, you normally don't need to perform any
+ extra steps other than enable C++11 in your C++ compiler, if required\. The
+-XSD compiler will automatically add the necessary macro defines to the
+-generated header files that will switch the header-only XSD runtime library
+-(\fBlibxsd\fP) to the C++11 mode\. However, if you include any of the XSD
++XSDCXX compiler will automatically add the necessary macro defines to the
++generated header files that will switch the header-only XSDCXX runtime library
++(\fBlibxsd\fP) to the C++11 mode\. However, if you include any of the XSDCXX
+ runtime headers directly in your application (normally you just include the
+ generated headers), then you will need to define the \fBXSD_CXX11\fP macro
+ for your entire project\.
+@@ -1632,7 +1632,7 @@
+ .\"
+ .SH DIAGNOSTICS
+ If the input file is not a valid W3C XML Schema definition,
+-.B xsd
++.B xsdcxx
+ will issue diagnostic messages to
+ .B STDERR
+ and exit with non-zero exit code.
+Index: trunk/xsd/doc/xsd.xhtml
+===================================================================
+--- a/doc/xsd.xhtml
++++ b/doc/xsd.xhtml
+@@ -3,11 +3,11 @@
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+
+ <head>
+- <title>XSD 4.0.0 Compiler Command Line Manual</title>
++ <title>XSDCXX 4.0.0 Compiler Command Line Manual</title>
+
+ <meta name="copyright" content="&copy; 2005-2014 Code Synthesis Tools CC"/>
+ <meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,code,generator,manual,man,page"/>
+- <meta name="description" content="XSD Compiler Command Line Manual"/>
++ <meta name="description" content="XSDCXX Compiler Command Line Manual"/>
+
+ <link rel="stylesheet" type="text/css" href="default.css" />
+
+@@ -50,19 +50,19 @@
+
+ <h1>NAME</h1>
+
+- <p>xsd - W3C XML Schema to C++ Compiler</p>
++ <p>xsdcxx - W3C XML Schema to C++ Compiler</p>
+
+ <h1>SYNOPSIS</h1>
+
+ <dl id="synopsis">
+- <dt><code><b>xsd</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt>
+- <dt><code><b>xsd help</b> [<i>command</i>]</code></dt>
+- <dt><code><b>xsd version</b></code></dt>
++ <dt><code><b>xsdcxx</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt>
++ <dt><code><b>xsdcxx help</b> [<i>command</i>]</code></dt>
++ <dt><code><b>xsdcxx version</b></code></dt>
+ </dl>
+
+ <h1>DESCRIPTION</h1>
+
+- <p><code><b>xsd</b></code> generates vocabulary-specific, statically-typed
++ <p><code><b>xsdcxx</b></code> generates vocabulary-specific, statically-typed
+ C++ mapping from W3C XML Schema definitions. Particular mapping to
+ produce is selected by a <code><i>command</i></code>. Each mapping has
+ a number of mapping-specific <code><i>options</i></code> that should
+@@ -138,10 +138,10 @@
+
+ <p>When the C++11 mode is selected, you normally don't need to perform any
+ extra steps other than enable C++11 in your C++ compiler, if required. The
+- XSD compiler will automatically add the necessary macro defines to the
+- generated header files that will switch the header-only XSD runtime library
++ XSDCXX compiler will automatically add the necessary macro defines to the
++ generated header files that will switch the header-only XSDCXX runtime library
+ (<code><b>libxsd</b></code>) to the C++11 mode. However, if you include any
+- of the XSD runtime headers directly in your application (normally you just
++ of the XSDCXX runtime headers directly in your application (normally you just
+ include the generated headers), then you will need to define the
+ <code><b>XSD_CXX11</b></code> macro for your entire project.</p></dd>
+
+@@ -219,7 +219,7 @@
+
+ <p>For example, if you have file <code><b>hello.xsd</b></code> with
+ namespace <code><b>http://example.com/hello</b></code> and you run
+- <code><b>xsd</b></code> on this file, then the string in question will
++ <code><b>xsdcxx</b></code> on this file, then the string in question will
+ be:</p>
+
+ <p><code><b>hello.xsd. http://example.com/hello</b></code></p>
+@@ -1530,7 +1530,7 @@
+ <h1>DIAGNOSTICS</h1>
+
+ <p>If the input file is not a valid W3C XML Schema definition,
+- <code><b>xsd</b></code> will issue diagnostic messages to STDERR
++ <code><b>xsdcxx</b></code> will issue diagnostic messages to STDERR
+ and exit with non-zero exit code.</p>
+
+ <h1>BUGS</h1>
diff --git a/dev-cpp/xsd/metadata.xml b/dev-cpp/xsd/metadata.xml
new file mode 100644
index 000000000000..e09ce345ca3b
--- /dev/null
+++ b/dev-cpp/xsd/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <use>
+ <flag name="ace">Enable support for serializing to/from an ACE CDR stream</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-cpp/xsd/xsd-4.0.0.ebuild b/dev-cpp/xsd/xsd-4.0.0.ebuild
new file mode 100644
index 000000000000..612125e91bbf
--- /dev/null
+++ b/dev-cpp/xsd/xsd-4.0.0.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs versionator
+
+DESCRIPTION="An open-source, cross-platform W3C XML Schema to C++ data binding compiler"
+HOMEPAGE="https://www.codesynthesis.com/products/xsd/"
+SRC_URI="https://www.codesynthesis.com/download/${PN}/$(get_version_component_range 1-2)/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="ace doc examples test zlib"
+
+RDEPEND="
+ >=dev-libs/xerces-c-3.0.0
+ dev-libs/boost:=[threads]
+ dev-cpp/libcutl
+ >=dev-cpp/libxsd-frontend-2.0.0
+ ace? ( dev-libs/ace )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ dev-util/build
+ doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.0.0-disable_examples_and_tests.patch"
+ "${FILESDIR}/${PN}-4.0.0-xsdcxx-rename.patch"
+ "${FILESDIR}/${PN}-4.0.0-fix-expat-support.patch"
+ "${FILESDIR}/${PN}-4.0.0-fix-include.patch"
+)
+
+src_configure() {
+ # Maintainer notes:
+ # * xqilla is not required, this is only whether or not to include the xpath
+ # examples which require xqilla
+ mkdir -p \
+ build/cxx/gnu \
+ build/import/lib{ace,boost,cult,backend-elements,xerces-c,xqilla,xsd-frontend,z} || die
+
+ cat >> build/configuration-dynamic.make <<- EOF || die
+ xsd_with_zlib := $(usex zlib y n)
+ xsd_with_ace := $(usex ace y n)
+ xsd_with_xdr := y
+ xsd_with_xqilla := y
+ xsd_with_boost_date_time := y
+ xsd_with_boost_serialization := y
+ EOF
+
+ cat >> build/cxx/configuration-dynamic.make <<- EOF || die
+ cxx_id := gnu
+ cxx_optimize := n
+ cxx_debug := n
+ cxx_rpath := n
+ cxx_pp_extra_options :=
+ cxx_extra_options := ${CXXFLAGS}
+ cxx_ld_extra_options := ${LDFLAGS}
+ cxx_extra_libs :=
+ cxx_extra_lib_paths :=
+ EOF
+
+ cat >> build/cxx/gnu/configuration-dynamic.make <<- EOF || die
+ cxx_gnu := $(tc-getCXX)
+ cxx_gnu_libraries :=
+ cxx_gnu_optimization_options :=
+ EOF
+
+ # cli
+ cat >> build/import/cli/configuration-dynamic.make <<- EOF || die
+ cli_installed := y
+ EOF
+
+ # ace
+ cat >> build/import/libace/configuration-dynamic.make <<- EOF || die
+ libace_installed := y
+ EOF
+
+ # boost
+ cat >> build/import/libboost/configuration-dynamic.make <<- EOF || die
+ libboost_installed := y
+ libboost_system := y
+ EOF
+
+ # libcutl
+ cat >> build/import/libcutl/configuration-dynamic.make <<- EOF || die
+ libcutl_installed := y
+ EOF
+
+ # xerces-c
+ cat >> build/import/libxerces-c/configuration-dynamic.make <<- EOF || die
+ libxerces_c_installed := y
+ EOF
+
+ # xqilla
+ cat >> build/import/libxqilla/configuration-dynamic.make <<- EOF || die
+ libxqilla_installed := y
+ EOF
+
+ # libxsd-frontend
+ cat >> build/import/libxsd-frontend/configuration-dynamic.make <<- EOF || die
+ libxsd_frontend_installed := y
+ EOF
+
+ # zlib
+ cat >> build/import/libz/configuration-dynamic.make <<- EOF || die
+ libz_installed := y
+ EOF
+}
+
+src_compile() {
+ emake verbose=1
+
+ if use doc; then
+ emake -C "${S}/doc/cxx/tree/reference" verbose=1
+ fi
+ if use test; then
+ XERCESC_NLS_HOME="${EPREFIX}/usr/share/xerces-c/msg" emake -C tests verbose=1
+ fi
+}
+
+src_test() {
+ XERCESC_NLS_HOME="${EPREFIX}/usr/share/xerces-c/msg" emake -C tests test
+}
+
+src_install() {
+ emake install_prefix="${ED%/}/usr" install
+
+ # Renaming binary/manpage to avoid collision with mono-2.0's xsd/xsd2
+ mv "${ED%/}"/usr/bin/xsd{,cxx} || die
+ mv "${ED%/}"/usr/share/man/man1/xsd{,cxx}.1 || die
+
+ # remove incorrectly installed documentation
+ rm -rf "${ED%/}/usr/share/doc" || die
+ # clean out all non-html related files
+ find doc/ \( -iname '*.1' -o -iname 'makefile*' -o -iname '*doxygen' \
+ -o -iname '*doxytag' -o -iname '*html2ps' \) -delete || die
+
+ DOCS=( NEWS README FLOSSE )
+ HTML_DOCS=( doc/. )
+ einstalldocs
+
+ newdoc libxsd/README README.libxsd
+ newdoc libxsd/FLOSSE FLOSSE.libxsd
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-cpp/yaml-cpp-0.6.2 b/dev-cpp/yaml-cpp-0.6.2
deleted file mode 100644
index 12abd1f24b72..000000000000
--- a/dev-cpp/yaml-cpp-0.6.2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=test? ( dev-cpp/gtest ) sys-devel/make >=dev-util/cmake-3.9.6
-DESCRIPTION=YAML parser and emitter in C++
-EAPI=6
-HOMEPAGE=https://github.com/jbeder/yaml-cpp
-IUSE=test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux
-LICENSE=MIT
-SLOT=0/0.6
-SRC_URI=https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.6.2.tar.gz
-_eclasses_=cmake-multilib 7bc2cc09a4a5082b915541d447be8e5e cmake-utils 57384a259cf0c7985ce651b2c0865405 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multilib-build 45f0e78dba7de5c77988265229b4402a multilib-minimal bfa1226d0f1fa0093d10b84acd029633 multiprocessing cac3169468f893670dac3e7cb940e045 ninja-utils d2e7e7d290428bb25c56dcf2502badc1 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=c00472685ea70831bc6d85e968740d0e
diff --git a/dev-cpp/yaml-cpp/Manifest b/dev-cpp/yaml-cpp/Manifest
new file mode 100644
index 000000000000..5942c29be0e2
--- /dev/null
+++ b/dev-cpp/yaml-cpp/Manifest
@@ -0,0 +1,5 @@
+AUX yaml-cpp-0.6.2-CVE-2017-5950.patch 1697 BLAKE2B 7b13c947e471aa08ec718cecfd43666689cbf0137ed6328ab550f722c409f19ec6437a5458180a3c334ebfe899ef67cbee04237fd230ac06fde863c3adc231f3 SHA512 0ba8bb8d81a98b77cde3dd386fe237dd11aae53011419042ff0b72b643ac2c1fdb7753ff524d0c5d319f7d601b417d1c6ab2419c728c4015197f83ce3eaa34b2
+AUX yaml-cpp-0.6.2-unbundle-gtest.patch 2204 BLAKE2B 733b6eed366ca33085251c3c6f3655060d3cc02a77f5f53a21c9163b894400c7418c3d9f032c8f6d460d58b35594f6ba1cd8eea0a667fbe1849a8eb866074ce5 SHA512 8cb227c2e156bd642be29b15ae7a7de9e4839d6f4b5e0132982659eaab442347d3ef3eedd1bfb8f936a5a1dc98b6d41be915f7da53fd6764f8b6becbaf6cff98
+DIST yaml-cpp-0.6.2.tar.gz 1396250 BLAKE2B be342c212c980cdb03349dbafbe1db0bb581123b4dd6909393d3cdc86145b997a9d2f9b57a5e9d7c8cc60cdfd03f1c37e9db610d8784f2d29fdeada5ab322894 SHA512 fea8ce0a20a00cbc75023d1db442edfcd32d0ac57a3c41b32ec8d56f87cc1d85d7dd7a923ce662f5d3a315f91a736d6be0d649997acd190915c1d68cc93795e4
+EBUILD yaml-cpp-0.6.2.ebuild 901 BLAKE2B 1048d5123d5f034625e0caac09bfd90b36f67052a42557e05d8a445b662a295920cb5f9448414c0158b3f273ff60c7c5e46620b7a814c4e975c38e2dceab57b2 SHA512 562ffa3c2fe1f5aff2f7e3058f1280457e6f1480c6f97c1d7fb1d576327fd42390321cd4984c377d3736492fc808fdedafed8cac374d2422d4f8bcc4643b5c33
+MISC metadata.xml 325 BLAKE2B 8e094a75d87d80e86efaf6ee191225ad0772dac343ae12ec84e73faffc17464c8431ee78018602127fd52441a6b18d09b58127b7d7ea1ee02163f58d327f0f3f SHA512 a4a5de1911c7bfeb37a3ca5aca8b3c044d51230164ac7d14566a9a4064e5202fac0e613089191ea959d0bb3df157049932d394d167e32fc8a432ab35e4cf24ae
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-CVE-2017-5950.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-CVE-2017-5950.patch
new file mode 100644
index 000000000000..2892108bd250
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-CVE-2017-5950.patch
@@ -0,0 +1,45 @@
+From d540476e31b080aa1f903ad20ec0426dd3838be7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
+Date: Tue, 25 Apr 2017 20:10:20 -0400
+Subject: [PATCH] fix stack overflow in HandleNode() (CVE-2017-5950)
+
+simply set a hardcoded recursion limit to 2000 (inspired by Python's)
+to avoid infinitely recursing into arbitrary data structures
+
+assert() the depth. unsure if this is the right approach, but given
+that HandleNode() is "void", I am not sure how else to return an
+error. the problem with this approach of course is that it will still
+crash the caller, unless they have proper exception handling in place.
+
+Closes: #459
+---
+ src/singledocparser.cpp | 2 ++
+ src/singledocparser.h | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/singledocparser.cpp b/src/singledocparser.cpp
+index a27c1c3b..1b4262ee 100644
+--- a/src/singledocparser.cpp
++++ b/src/singledocparser.cpp
+@@ -46,6 +46,8 @@ void SingleDocParser::HandleDocument(EventHandler& eventHandler) {
+ }
+
+ void SingleDocParser::HandleNode(EventHandler& eventHandler) {
++ assert(depth < depth_limit);
++ depth++;
+ // an empty node *is* a possibility
+ if (m_scanner.empty()) {
+ eventHandler.OnNull(m_scanner.mark(), NullAnchor);
+diff --git a/src/singledocparser.h b/src/singledocparser.h
+index 2b92067c..7046f1e2 100644
+--- a/src/singledocparser.h
++++ b/src/singledocparser.h
+@@ -51,6 +51,8 @@ class SingleDocParser : private noncopyable {
+ anchor_t LookupAnchor(const Mark& mark, const std::string& name) const;
+
+ private:
++ int depth = 0;
++ int depth_limit = 2000;
+ Scanner& m_scanner;
+ const Directives& m_directives;
+ std::unique_ptr<CollectionStack> m_pCollectionStack;
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-unbundle-gtest.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-unbundle-gtest.patch
new file mode 100644
index 000000000000..671bde36704a
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.2-unbundle-gtest.patch
@@ -0,0 +1,70 @@
+From 259f944bc3e45420f5891737101260f07ab3030a Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Tue, 27 Feb 2018 14:17:49 +0500
+Subject: [PATCH] Externalize googletest project
+
+Externalize gtest to avoid installation, fixes #539.
+---
+ test/CMakeLists.txt | 35 ++++++++++++++++++++++++++---------
+ 1 file changed, 26 insertions(+), 9 deletions(-)
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 3633da5..7b39dd4 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,16 +1,27 @@
++include(ExternalProject)
++
++ExternalProject_Add(
++ googletest_project
++ SOURCE_DIR "${CMAKE_SOURCE_DIR}/test/gtest-1.8.0"
++ INSTALL_DIR "${CMAKE_BINARY_DIR}/prefix"
++ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DBUILD_GMOCK=ON
++)
++
++add_library(gmock UNKNOWN IMPORTED)
++set_target_properties(gmock PROPERTIES
++ IMPORTED_LOCATION ${PROJECT_BINARY_DIR}/prefix/lib/libgmock.a
++)
++
++find_package(Threads)
++
++include_directories(SYSTEM "${PROJECT_BINARY_DIR}/prefix/include")
++
+ set(gtest_force_shared_crt ${MSVC_SHARED_RT} CACHE BOOL
+ "Use shared (DLL) run-time lib even when Google Test built as a static lib.")
+-add_subdirectory(gtest-1.8.0)
+-include_directories(SYSTEM gtest-1.8.0/googlemock/include)
+-include_directories(SYSTEM gtest-1.8.0/googletest/include)
+-
+-if(WIN32 AND BUILD_SHARED_LIBS)
+- add_definitions("-DGTEST_LINKED_AS_SHARED_LIBRARY")
+-endif()
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR
+ CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- set(yaml_test_flags "-Wno-variadic-macros -Wno-sign-compare")
++ set(yaml_test_flags "-Wno-variadic-macros -Wno-sign-compare")
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ set(yaml_test_flags "${yaml_test_flags} -Wno-c99-extensions")
+@@ -36,9 +47,15 @@ add_executable(run-tests
+ ${test_sources}
+ ${test_headers}
+ )
++
++add_dependencies(run-tests googletest_project)
++
+ set_target_properties(run-tests PROPERTIES
+ COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags} ${yaml_test_flags}"
+ )
+-target_link_libraries(run-tests yaml-cpp gmock)
++target_link_libraries(run-tests
++ yaml-cpp
++ gmock
++ ${CMAKE_THREAD_LIBS_INIT})
+
+ add_test(yaml-test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/run-tests)
+--
+2.16.1
+
diff --git a/dev-cpp/yaml-cpp/metadata.xml b/dev-cpp/yaml-cpp/metadata.xml
new file mode 100644
index 000000000000..f1c1935f78d5
--- /dev/null
+++ b/dev-cpp/yaml-cpp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jbeder/yaml-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild
new file mode 100644
index 000000000000..ea71d30bdd92
--- /dev/null
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-multilib
+
+DESCRIPTION="YAML parser and emitter in C++"
+HOMEPAGE="https://github.com/jbeder/yaml-cpp"
+SRC_URI="https://github.com/jbeder/${PN}/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.6"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="test? ( dev-cpp/gtest )"
+
+S="${WORKDIR}/${PN}-${P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-CVE-2017-5950.patch"
+ "${FILESDIR}/${P}-unbundle-gtest.patch"
+)
+
+src_prepare() {
+ sed -i \
+ -e 's:INCLUDE_INSTALL_ROOT_DIR:INCLUDE_INSTALL_DIR:g' \
+ yaml-cpp.pc.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
+ -DYAML_CPP_BUILD_TESTS=$(usex test)
+ )
+ cmake-multilib_src_configure
+}