Gentoo Archives: gentoo-commits

From: Alexis Ballier <aballier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/python_orocos_kdl/, dev-python/python_orocos_kdl/files/
Date: Wed, 29 Jul 2020 14:45:36
Message-Id: 1596033923.42b36a01c6a1020fb97ef1e1ed03c891ec718b9b.aballier@gentoo
1 commit: 42b36a01c6a1020fb97ef1e1ed03c891ec718b9b
2 Author: Alexis Ballier <aballier <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 29 14:45:12 2020 +0000
4 Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 29 14:45:23 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42b36a01
7
8 dev-python/python_orocos_kdl: Fix build with latest sip
9
10 Patch from upstream backported by Victor Mataré.
11
12 Closes: https://bugs.gentoo.org/728618
13 Package-Manager: Portage-3.0.1, Repoman-2.3.23
14 Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>
15
16 ...ignment-operator-private-for-SIP-Closes-2.patch | 134 +++++++++++++++++++++
17 .../python_orocos_kdl-1.4.0-r1.ebuild | 1 +
18 2 files changed, 135 insertions(+)
19
20 diff --git a/dev-python/python_orocos_kdl/files/0001-Declare-assignment-operator-private-for-SIP-Closes-2.patch b/dev-python/python_orocos_kdl/files/0001-Declare-assignment-operator-private-for-SIP-Closes-2.patch
21 new file mode 100644
22 index 00000000000..b02f18747cf
23 --- /dev/null
24 +++ b/dev-python/python_orocos_kdl/files/0001-Declare-assignment-operator-private-for-SIP-Closes-2.patch
25 @@ -0,0 +1,134 @@
26 +https://bugs.gentoo.org/728618
27 +
28 +Backported by Victor Mataré
29 +
30 +From 30e5057f01627539dd170a1e831bb14278433deb Mon Sep 17 00:00:00 2001
31 +From: Jochen Sprickerhof <git@××××××××××××××××××.de>
32 +Date: Fri, 26 Jun 2020 17:04:12 +0200
33 +Subject: [PATCH] Declare assignment operator private for SIP (Closes: #260)
34 +
35 +Starting with v4.19.23 SIP expects a working operator= or one marked
36 +private explicitly. All classes in this PR have a reference member
37 +(&chain) resulting in the compiler deleting the default assignment
38 +operator. This PR makes this known to SIP as well.
39 +---
40 + python_orocos_kdl/PyKDL/dynamics.sip | 3 +++
41 + python_orocos_kdl/PyKDL/kinfam.sip | 29 ++++++++++++++++++++++++++++
42 + 2 files changed, 32 insertions(+)
43 +
44 +diff --git a/python_orocos_kdl/PyKDL/dynamics.sip b/python_orocos_kdl/PyKDL/dynamics.sip
45 +index e0096dd..36f833c 100644
46 +--- a/python_orocos_kdl/PyKDL/dynamics.sip
47 ++++ b/python_orocos_kdl/PyKDL/dynamics.sip
48 +@@ -72,4 +72,7 @@ public:
49 + int JntToCoriolis(const JntArray &q, const JntArray &q_dot, JntArray &coriolis);
50 + int JntToMass(const JntArray &q, JntSpaceInertiaMatrix& H);
51 + int JntToGravity(const JntArray &q,JntArray &gravity);
52 ++
53 ++private:
54 ++ ChainDynParam& operator=(const ChainDynParam&);
55 + };
56 +diff --git a/python_orocos_kdl/PyKDL/kinfam.sip b/python_orocos_kdl/PyKDL/kinfam.sip
57 +index d87fd00..e87ceb8 100644
58 +--- a/python_orocos_kdl/PyKDL/kinfam.sip
59 ++++ b/python_orocos_kdl/PyKDL/kinfam.sip
60 +@@ -344,6 +344,9 @@ public:
61 + ChainFkSolverPos_recursive(const Chain& chain);
62 + virtual int JntToCart(const JntArray& q_in, Frame& p_out,int segmentNr=-1);
63 + virtual void updateInternalDataStructures();
64 ++
65 ++private:
66 ++ ChainFkSolverPos_recursive& operator=(const ChainFkSolverPos_recursive&);
67 + };
68 +
69 + class ChainFkSolverVel_recursive : ChainFkSolverVel
70 +@@ -357,6 +360,9 @@ public:
71 + virtual int JntToCart(const JntArrayVel& q_in ,FrameVel& out,int
72 + segmentNr=-1 );
73 + virtual void updateInternalDataStructures();
74 ++
75 ++private:
76 ++ ChainFkSolverVel_recursive& operator=(const ChainFkSolverVel_recursive&);
77 + };
78 +
79 + class ChainIkSolverPos : SolverI {
80 +@@ -392,6 +398,9 @@ public:
81 +
82 + virtual int CartToJnt(const JntArray& q_init , const Frame& p_in ,JntArray& q_out);
83 + virtual void updateInternalDataStructures();
84 ++
85 ++private:
86 ++ ChainIkSolverPos_NR& operator=(const ChainIkSolverPos_NR&);
87 + };
88 +
89 + class ChainIkSolverPos_NR_JL : ChainIkSolverPos
90 +@@ -407,6 +416,9 @@ public:
91 +
92 + virtual int CartToJnt(const JntArray& q_init , const Frame& p_in ,JntArray& q_out);
93 + virtual void updateInternalDataStructures();
94 ++
95 ++private:
96 ++ ChainIkSolverPos_NR_JL& operator=(const ChainIkSolverPos_NR_JL&);
97 + };
98 +
99 + class ChainIkSolverVel_pinv : ChainIkSolverVel
100 +@@ -420,6 +432,9 @@ public:
101 +
102 + virtual int CartToJnt(const JntArray& q_in, const Twist& v_in, JntArray& qdot_out);
103 + virtual void updateInternalDataStructures();
104 ++
105 ++private:
106 ++ ChainIkSolverVel_pinv& operator=(const ChainIkSolverVel_pinv&);
107 + };
108 +
109 + class ChainIkSolverVel_wdls : ChainIkSolverVel
110 +@@ -506,6 +521,8 @@ public:
111 +
112 + void setLambda(const double& lambda);
113 +
114 ++private:
115 ++ ChainIkSolverVel_wdls& operator=(const ChainIkSolverVel_wdls&);
116 + };
117 +
118 +
119 +@@ -520,6 +537,9 @@ public:
120 +
121 + virtual int CartToJnt(const JntArray& q_init , const Frame& p_in ,JntArray& q_out);
122 + virtual void updateInternalDataStructures();
123 ++
124 ++private:
125 ++ ChainIkSolverPos_LMA& operator=(const ChainIkSolverPos_LMA&);
126 + };
127 +
128 +
129 +@@ -546,6 +566,9 @@ public:
130 + const JntArray& getOptPos()const /Factory/;
131 +
132 + const double& getAlpha()const /Factory/;
133 ++
134 ++private:
135 ++ ChainIkSolverVel_pinv_nso& operator=(const ChainIkSolverVel_pinv_nso&);
136 + };
137 +
138 + class ChainIkSolverVel_pinv_givens : ChainIkSolverVel
139 +@@ -559,6 +582,9 @@ public:
140 +
141 + virtual int CartToJnt(const JntArray& q_in, const Twist& v_in, JntArray& qdot_out);
142 + virtual void updateInternalDataStructures();
143 ++
144 ++private:
145 ++ ChainIkSolverVel_pinv_givens& operator=(const ChainIkSolverVel_pinv_givens&);
146 + };
147 +
148 + class ChainJntToJacSolver : SolverI
149 +@@ -571,4 +597,7 @@ public:
150 + ChainJntToJacSolver(const Chain& chain);
151 + int JntToJac(const JntArray& q_in,Jacobian& jac);
152 + virtual void updateInternalDataStructures();
153 ++
154 ++private:
155 ++ ChainJntToJacSolver& operator=(const ChainJntToJacSolver&);
156 + };
157 +--
158 +2.27.0
159 +
160
161 diff --git a/dev-python/python_orocos_kdl/python_orocos_kdl-1.4.0-r1.ebuild b/dev-python/python_orocos_kdl/python_orocos_kdl-1.4.0-r1.ebuild
162 index 06e204006f9..a1f82a9e03e 100644
163 --- a/dev-python/python_orocos_kdl/python_orocos_kdl-1.4.0-r1.ebuild
164 +++ b/dev-python/python_orocos_kdl/python_orocos_kdl-1.4.0-r1.ebuild
165 @@ -32,6 +32,7 @@ RDEPEND="
166 >=sci-libs/orocos_kdl-1.4.0:=
167 dev-python/sip[${PYTHON_USEDEP}]"
168 DEPEND="${RDEPEND}"
169 +PATCHES=( "${FILESDIR}/0001-Declare-assignment-operator-private-for-SIP-Closes-2.patch" )
170
171 if [ "${PV#9999}" != "${PV}" ] ; then
172 S=${WORKDIR}/${P}/python_orocos_kdl