commit:     6cf75d7c54903a2126db2da905688c0b6d6d61ef
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 27 23:31:05 2020 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Mar 31 05:54:39 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cf75d7c

x11-base/xcb-proto: Install 1.14 for the correct Python versions

On my system, I had 3.7 and 3.8 selected but it was installing for
2.7, even though that's not one of the targets! 2.7 had accidentally
become my eselected Python. configure was picking this up, detecting
the sitedir, and locking it into the Makefile, preventing
python_foreach_impl from having any effect. It is simpler and safer to
override the Makefile's pythondir with the sitedir value returned by
the eclass.

Package-Manager: Portage-2.3.96, Repoman-2.3.20
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/15143
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 ...-proto-1.14.ebuild => xcb-proto-1.14-r1.ebuild} | 40 ++++++++++++++--------
 1 file changed, 25 insertions(+), 15 deletions(-)

diff --git a/x11-base/xcb-proto/xcb-proto-1.14.ebuild 
b/x11-base/xcb-proto/xcb-proto-1.14-r1.ebuild
similarity index 60%
rename from x11-base/xcb-proto/xcb-proto-1.14.ebuild
rename to x11-base/xcb-proto/xcb-proto-1.14-r1.ebuild
index 8d5daa5d6cc..094dba7a380 100644
--- a/x11-base/xcb-proto/xcb-proto-1.14.ebuild
+++ b/x11-base/xcb-proto/xcb-proto-1.14-r1.ebuild
@@ -17,26 +17,36 @@ 
EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/proto/xcbproto.git";
 
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
 DEPEND=""
-RDEPEND="${PYTHON_DEPS}"
-BDEPEND="dev-libs/libxml2"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RDEPEND="
+       ${PYTHON_DEPS}
+"
+BDEPEND="
+       ${PYTHON_DEPS}
+       dev-libs/libxml2
+"
+
+ECONF_SOURCE="${S}"
+
+multilib_src_configure() {
+       # Don't use Python to find sitedir here.
+       PYTHON=true default
+}
 
-multilib_src_compile() {
-       default
+src_compile() {
+       :
+}
 
-       if multilib_is_native_abi; then
-               python_foreach_impl emake -C xcbgen top_builddir="${BUILD_DIR}"
-       fi
+xcbgen_install() {
+       # Use eclass to find sitedir instead.
+       emake -C xcbgen install DESTDIR="${D}" pythondir="$(python_get_sitedir)"
+       python_optimize
 }
 
 multilib_src_install() {
-       default
-
-       if multilib_is_native_abi; then
-               python_foreach_impl emake -C xcbgen top_builddir="${BUILD_DIR}"
-               python_foreach_impl python_optimize
-       fi
+       # Restrict SUBDIRS to prevent xcbgen with empty sitedir.
+       emake install DESTDIR="${D}" SUBDIRS=src
+       multilib_is_native_abi && python_foreach_impl xcbgen_install
 }

Reply via email to