public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "David Seifert" <soap@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/, dev-libs/boost/files/
Date: Wed, 13 Apr 2016 19:06:25 +0000 (UTC)	[thread overview]
Message-ID: <1460574376.92a7e9f4284a9141aeedda4c3f736927254d5340.soap@gentoo> (raw)

commit:     92a7e9f4284a9141aeedda4c3f736927254d5340
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 19:06:01 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 19:06:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92a7e9f4

dev-libs/boost: Add patch for ptr registration in libboost_python

Gentoo-Bug: 579616

Package-Manager: portage-2.2.28

 dev-libs/boost/boost-1.60.0.ebuild                 |  1 +
 .../files/boost-1.60.0-auto-pointer-python.patch   | 42 ++++++++++++++++++++++
 2 files changed, 43 insertions(+)

diff --git a/dev-libs/boost/boost-1.60.0.ebuild b/dev-libs/boost/boost-1.60.0.ebuild
index c8bf2ac..ab69ac9 100644
--- a/dev-libs/boost/boost-1.60.0.ebuild
+++ b/dev-libs/boost/boost-1.60.0.ebuild
@@ -52,6 +52,7 @@ PATCHES=(
 	"${FILESDIR}/${PN}-1.55.0-context-x32.patch"
 	"${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
 	"${FILESDIR}/${PN}-1.60.0-deprecated-header-ice_not.patch"
+	"${FILESDIR}/${PN}-1.60.0-auto-pointer-python.patch"
 )
 
 python_bindings_needed() {

diff --git a/dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch b/dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch
new file mode 100644
index 0000000..1566c34
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.60.0-auto-pointer-python.patch
@@ -0,0 +1,42 @@
+From f2c465ffa508459216f7093bf95ba001ad994206 Mon Sep 17 00:00:00 2001
+From: vslashg <veloso@verylowsodium.com>
+Date: Mon, 29 Feb 2016 13:33:35 -0500
+Subject: [PATCH] Fix auto-pointer registration in Boost Python 1.60.
+
+The conditional instantiation magic of maybe_register_pointer_to_python() assumes that use_value_holder and use_back_reference will be one of the boost::mpl::bool_ types, but this assumption is no longer true in Boost 1.60, where they can be standard library bool wrappers instead.
+
+Explicitly defining these types as mpl::bool_ classes fixes https://github.com/boostorg/python/issues/56.
+---
+ boost/python/object/class_metadata.hpp | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/boost/python/object/class_metadata.hpp b/boost/python/object/class_metadata.hpp
+index c71cf67..5009c17 100644
+--- a/boost/python/object/class_metadata.hpp
++++ b/boost/python/object/class_metadata.hpp
+@@ -164,7 +164,7 @@ struct class_metadata
+     >::type held_type;
+ 
+     // Determine if the object will be held by value
+-    typedef is_convertible<held_type*,T*> use_value_holder;
++    typedef mpl::bool_<is_convertible<held_type*,T*>::value> use_value_holder;
+     
+     // Compute the "wrapped type", that is, if held_type is a smart
+     // pointer, we're talking about the pointee.
+@@ -175,10 +175,12 @@ struct class_metadata
+     >::type wrapped;
+ 
+     // Determine whether to use a "back-reference holder"
+-    typedef mpl::or_<
+-        has_back_reference<T>
+-      , is_same<held_type_arg,T>
+-      , is_base_and_derived<T,wrapped>
++    typedef mpl::bool_<
++        mpl::or_<
++            has_back_reference<T>
++          , is_same<held_type_arg,T>
++          , is_base_and_derived<T,wrapped>
++        >::value
+     > use_back_reference;
+ 
+     // Select the holder.


             reply	other threads:[~2016-04-13 19:06 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-13 19:06 David Seifert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-09  8:09 [gentoo-commits] repo/gentoo:master commit in: dev-libs/boost/, dev-libs/boost/files/ Sam James
2025-04-09  6:53 Sam James
2024-12-17 21:44 Andreas Sturmlechner
2024-09-30 18:03 David Seifert
2024-07-16 23:04 Sam James
2024-06-03  1:31 Sam James
2024-02-17 14:27 David Seifert
2024-01-01 21:34 David Seifert
2023-10-08  4:22 Sam James
2023-05-20 16:38 David Seifert
2022-12-16  2:52 Sam James
2022-11-12  0:05 Sam James
2022-07-13 18:12 David Seifert
2022-02-03  4:25 Sam James
2021-12-01 17:24 Sam James
2021-06-20 16:54 Andreas Sturmlechner
2021-05-24 21:38 Sam James
2020-11-24 19:59 Andreas Sturmlechner
2020-08-02 10:09 David Seifert
2020-06-07 12:40 David Seifert
2020-05-02 14:26 David Seifert
2019-12-21 12:55 David Seifert
2019-12-07 21:43 David Seifert
2019-12-07 19:48 David Seifert
2019-04-21 19:18 David Seifert
2019-04-16 11:39 David Seifert
2019-04-16 11:39 David Seifert
2019-04-15  0:22 David Seifert
2018-02-11 17:07 Andreas Sturmlechner
2017-09-03 17:47 David Seifert
2016-03-30 22:50 David Seifert
2015-08-25 11:36 Sergey Popov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1460574376.92a7e9f4284a9141aeedda4c3f736927254d5340.soap@gentoo \
    --to=soap@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox