commit:     df5a2d2f2df9dc919f65a50564567d04a709bd41
Author:     Denis Lisov <dennis.lissov <AT> gmail <DOT> com>
AuthorDate: Thu May  9 17:01:21 2019 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu May  9 21:42:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df5a2d2f

x11-apps/igt-gpu-tools: update USE flags for meson

Initially the igt-gpu-tools meson build system had no optional
dependencies so all USE flags were forced on.

This commit restores the ability to disable optional dependencies and
restructures the USE flags from dependency-based (alsa, gsl, xrandr) to
feature-based (sound, overlay).

Closes: https://bugs.gentoo.org/670282
Closes: https://github.com/gentoo/gentoo/pull/11946
Signed-off-by: Denis Lisov <dennis.lissov <AT> gmail.com>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 profiles/arch/amd64/package.use.mask               |   4 +
 profiles/arch/base/package.use.mask                |   4 +
 profiles/arch/x86/package.use.mask                 |   4 +
 profiles/base/package.use.force                    |   6 --
 .../igt-gpu-tools/igt-gpu-tools-1.23-r1.ebuild     | 104 +++++++++++++++++++++
 x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild   |  95 ++++++++++++++-----
 x11-apps/igt-gpu-tools/metadata.xml                |   5 +
 7 files changed, 193 insertions(+), 29 deletions(-)

diff --git a/profiles/arch/amd64/package.use.mask 
b/profiles/arch/amd64/package.use.mask
index 16f29053d76..7f5f7208596 100644
--- a/profiles/arch/amd64/package.use.mask
+++ b/profiles/arch/amd64/package.use.mask
@@ -17,6 +17,10 @@
 
 #--- END OF EXAMPLES ---
 
+# Denis Lisov <[email protected]> (09 May 2019)
+# Overlay can only be built on amd64 and x86
+x11-apps/igt-gpu-tools -overlay
+
 # Sergei Trofimovich <[email protected]> (16 Mar 2019)
 # sys-block/megactl works on x86 and amd64
 www-apps/phpsysinfo -megactl

diff --git a/profiles/arch/base/package.use.mask 
b/profiles/arch/base/package.use.mask
index c80bc9f0d7f..614b36ab758 100644
--- a/profiles/arch/base/package.use.mask
+++ b/profiles/arch/base/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Denis Lisov <[email protected]> (09 May 2019)
+# Overlay can only be built on amd64 and x86
+x11-apps/igt-gpu-tools overlay
+
 # Sergei Trofimovich <[email protected]> (16 Mar 2019)
 # sys-block/megactl works only on amd64 and x86 so far, bug #670564
 www-apps/phpsysinfo megactl

diff --git a/profiles/arch/x86/package.use.mask 
b/profiles/arch/x86/package.use.mask
index 6aa126754ab..9fb753ae9e5 100644
--- a/profiles/arch/x86/package.use.mask
+++ b/profiles/arch/x86/package.use.mask
@@ -3,6 +3,10 @@
 
 # This file requires >=portage-2.1.1
 
+# Denis Lisov <[email protected]> (09 May 2019)
+# Overlay can only be built on amd64 and x86
+x11-apps/igt-gpu-tools -overlay
+
 # Sergei Trofimovich <[email protected]> (16 Mar 2019)
 # sys-block/megactl works on x86 and amd64
 www-apps/phpsysinfo -megactl

diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index e18ccc6024f..04fc8f63c52 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -24,12 +24,6 @@ net-misc/netkit-bootparamd libtirpc
 sci-astronomy/esomidas libtirpc
 sys-cluster/glusterfs libtirpc
 
-# Matt Turner <[email protected]> (13 Jun 2018)
-# Upstream is transitioning to Meson, but does not yet have any configuration
-# options. Until those configuration options are provided, force USE flags on
-# to avoid automagic deps.
->=x11-apps/igt-gpu-tools-1.23 alsa chamelium doc glib gsl sound valgrind 
video_cards_amdgpu video_cards_intel video_cards_nouveau X xrandr xv
-
 # NP-Hardass <[email protected]> (10 Apr 2017)
 # Always force patch on appropriate variant to ensure
 # similar experience when using app-emulation/wine-any

diff --git a/x11-apps/igt-gpu-tools/igt-gpu-tools-1.23-r1.ebuild 
b/x11-apps/igt-gpu-tools/igt-gpu-tools-1.23-r1.ebuild
new file mode 100644
index 00000000000..8318e1ca9cc
--- /dev/null
+++ b/x11-apps/igt-gpu-tools/igt-gpu-tools-1.23-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+EGIT_REPO_URI="https://gitlab.freedesktop.org/drm/${PN}.git";
+if [[ ${PV} = *9999* ]]; then
+       GIT_ECLASS="git-r3"
+fi
+
+inherit ${GIT_ECLASS} meson
+
+DESCRIPTION="Intel GPU userland tools"
+
+HOMEPAGE="https://01.org/linuxgraphics 
https://gitlab.freedesktop.org/drm/igt-gpu-tools";
+if [[ ${PV} = *9999* ]]; then
+       SRC_URI=""
+else
+       KEYWORDS="~amd64 ~x86"
+       SRC_URI="https://www.x.org/releases/individual/app/${P}.tar.xz";
+fi
+LICENSE="MIT"
+SLOT="0"
+IUSE="chamelium doc man overlay sound valgrind video_cards_amdgpu 
video_cards_intel video_cards_nouveau X xv"
+REQUIRED_USE="
+       || ( video_cards_amdgpu video_cards_intel video_cards_nouveau )
+       overlay? (
+               video_cards_intel
+               || ( X xv )
+       )
+"
+RESTRICT="test"
+
+RDEPEND="
+       dev-libs/glib:2
+       dev-libs/openssl:=
+       sys-apps/kmod:=
+       sys-libs/libunwind:=
+       sys-libs/zlib:=
+       sys-process/procps:=
+       virtual/libudev:=
+       >=x11-libs/cairo-1.12.0[X?]
+       
>=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?]
+       >=x11-libs/libpciaccess-0.10
+       chamelium? (
+               dev-libs/xmlrpc-c
+               sci-libs/gsl
+               x11-libs/pixman
+       )
+       overlay? (
+               >=x11-libs/libXrandr-1.3
+               xv? (
+                       x11-libs/libX11
+                       x11-libs/libXext
+                       x11-libs/libXv
+               )
+       )
+       sound? (
+               sci-libs/gsl
+               media-libs/alsa-lib:=
+       )
+       valgrind? ( dev-util/valgrind )
+       "
+DEPEND="${RDEPEND}
+       doc? ( >=dev-util/gtk-doc-1.25-r1 )
+       man? ( dev-python/docutils )
+       overlay? (
+               >=dev-util/peg-0.1.18
+               x11-base/xorg-proto
+       )
+       video_cards_intel? (
+               sys-devel/bison
+               sys-devel/flex
+       )
+"
+
+src_prepare() {
+       sed -e "s/rst2man/rst2man.py/" -i man/rst2man.sh
+       sed -e "s/find_program('rst2man'/find_program('rst2man.py'/" -i 
man/meson.build
+       default_src_prepare
+}
+
+src_configure() {
+       local gpus=""
+       use video_cards_amdgpu  && gpus+="amdgpu,"
+       use video_cards_intel   && gpus+="intel,"
+       use video_cards_nouveau && gpus+="nouveau,"
+
+       local overlay_backends=""
+       use overlay && use xv && overlay_backends+="xv,"
+       use overlay && use X && overlay_backends+="x,"
+
+       local emesonargs=(
+               -Dbuild_audio=$(usex sound true false)
+               -Dbuild_chamelium=$(usex chamelium true false)
+               -Dbuild_docs=$(usex doc true false)
+               -Dbuild_man=$(usex man true false)
+               -Dbuild_overlay=$(usex overlay true false)
+               -Dbuild_tests=$(usex doc true false) # Test build is required 
for docs
+               -Doverlay_backends=${overlay_backends%?}
+               -Dwith_libdrm=${gpus%?}
+               -Dwith_valgrind=$(usex valgrind true false)
+       )
+       meson_src_configure
+}

diff --git a/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild 
b/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild
index 65bdd0b6068..81fff23b3e7 100644
--- a/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild
+++ b/x11-apps/igt-gpu-tools/igt-gpu-tools-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -20,35 +20,84 @@ else
 fi
 LICENSE="MIT"
 SLOT="0"
-IUSE="alsa chamelium doc glib gsl sound valgrind video_cards_amdgpu 
video_cards_intel video_cards_nouveau X xrandr xv"
-REQUIRED_USE="chamelium? ( glib gsl )"
+IUSE="chamelium doc man overlay runner unwind valgrind video_cards_amdgpu 
video_cards_intel video_cards_nouveau X xv"
+REQUIRED_USE="
+       || ( video_cards_amdgpu video_cards_intel video_cards_nouveau )
+       overlay? (
+               video_cards_intel
+               || ( X xv )
+       )
+"
 RESTRICT="test"
 
-X86_RDEPEND="
-       xv? (
-               x11-libs/libX11
-               x11-libs/libXext
-               x11-libs/libXv
-       )"
-X86_DEPEND="x11-base/xorg-proto
-       >=dev-util/peg-0.1.18"
-RDEPEND="sys-apps/kmod:=
+RDEPEND="
+       dev-libs/elfutils
+       dev-libs/glib:2
+       sys-apps/kmod:=
        sys-libs/libunwind:=
+       sys-libs/zlib:=
        sys-process/procps:=
        virtual/libudev:=
        >=x11-libs/cairo-1.12.0[X?]
        
>=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?]
        >=x11-libs/libpciaccess-0.10
-       alsa? ( media-libs/alsa-lib:= )
-       chamelium? ( dev-libs/xmlrpc-c )
-       glib? ( dev-libs/glib:2 )
-       gsl? ( sci-libs/gsl )
+       x11-libs/pixman
+       chamelium? (
+               dev-libs/xmlrpc-c[curl]
+               sci-libs/gsl
+               media-libs/alsa-lib:=
+       )
+       overlay? (
+               >=x11-libs/libXrandr-1.3
+               xv? (
+                       x11-libs/libX11
+                       x11-libs/libXext
+                       x11-libs/libXv
+               )
+       )
+       runner? ( dev-libs/json-c:= )
+       unwind? ( sys-libs/libunwind )
        valgrind? ( dev-util/valgrind )
-       video_cards_intel? ( sys-libs/zlib:= )
-       xrandr? ( >=x11-libs/libXrandr-1.3 )
-       amd64? ( ${X86_RDEPEND} )
-       x86? ( ${X86_RDEPEND} )"
+       "
 DEPEND="${RDEPEND}
-       amd64? ( ${X86_DEPEND} )
-       x86? ( ${X86_DEPEND} )
-       doc? ( >=dev-util/gtk-doc-1.25-r1 )"
+       doc? ( >=dev-util/gtk-doc-1.25-r1 )
+       man? ( dev-python/docutils )
+       overlay? (
+               >=dev-util/peg-0.1.18
+               x11-base/xorg-proto
+       )
+       video_cards_intel? (
+               sys-devel/bison
+               sys-devel/flex
+       )
+"
+
+src_prepare() {
+       sed -e "s/find_program('rst2man-3'/find_program('rst2man.py', 
'rst2man-3'/" -i man/meson.build
+       default_src_prepare
+}
+
+src_configure() {
+       local gpus=""
+       use video_cards_amdgpu  && gpus+="amdgpu,"
+       use video_cards_intel   && gpus+="intel,"
+       use video_cards_nouveau && gpus+="nouveau,"
+
+       local overlay_backends=""
+       use overlay && use xv && overlay_backends+="xv,"
+       use overlay && use X && overlay_backends+="x,"
+
+       local emesonargs=(
+               -Dbuild_chamelium=$(usex chamelium true false)
+               -Dbuild_docs=$(usex doc true false)
+               -Dbuild_man=$(usex man true false)
+               -Dbuild_overlay=$(usex overlay true false)
+               -Dbuild_runner=$(usex runner true false)
+               -Dbuild_tests=$(usex doc true false) # Test build is required 
for docs
+               -Doverlay_backends=${overlay_backends%?}
+               -Dwith_libdrm=${gpus%?}
+               -Dwith_libunwind=$(usex unwind true false)
+               -Dwith_valgrind=$(usex valgrind true false)
+       )
+       meson_src_configure
+}

diff --git a/x11-apps/igt-gpu-tools/metadata.xml 
b/x11-apps/igt-gpu-tools/metadata.xml
index df5e4520970..d1c1f29fe12 100644
--- a/x11-apps/igt-gpu-tools/metadata.xml
+++ b/x11-apps/igt-gpu-tools/metadata.xml
@@ -8,7 +8,12 @@
 <use>
  <flag name="chamelium">Enables support for building Chamelium tests</flag>
  <flag name="glib">Support reading config files via glib helpers</flag>
+ <flag name="man">Build and install man pages</flag>
+ <flag name="overlay">Build the intel-gpu-overlay utility</flag>
+ <flag name="runner">Build the test runner</flag>
  <flag name="valgrind">Support valgrind annotations</flag>
  <flag name="xrandr">Enable support for the X RandR extension</flag>
+ <flag name="xv">Enable intel-gpu-overlay xv backend</flag>
+ <flag name="X">Enable intel-gpu-overlay xlib/cairo backend</flag>
 </use>
 </pkgmetadata>

Reply via email to