| # Copyright 1999-2018 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=6 |
| |
| PYTHON_COMPAT=( python3_6 ) |
| inherit cmake-multilib python-single-r1 |
| |
| DESCRIPTION="Tool for tracing, analyzing, and debugging graphics APIs" |
| HOMEPAGE="https://github.com/apitrace/apitrace" |
| SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
| |
| LICENSE="MIT" |
| LICENSE+=" BSD CC-BY-3.0 CC-BY-4.0 public-domain" #bundled snappy |
| SLOT="0" |
| KEYWORDS="*" |
| IUSE="+cli egl opengl opengles qt5 system-snappy X" |
| REQUIRED_USE="${PYTHON_REQUIRED_USE}" |
| |
| RDEPEND="${PYTHON_DEPS} |
| media-libs/libpng:0= |
| media-libs/waffle |
| sys-libs/zlib:=[${MULTILIB_USEDEP}] |
| sys-process/procps |
| X? ( x11-libs/libX11 ) |
| opengl? ( virtual/opengl ) |
| opengles? ( virtual/opengles ) |
| qt5? ( |
| dev-qt/qtcore:5 |
| dev-qt/qtgui:5[-gles2] |
| dev-qt/qtnetwork:5 |
| dev-qt/qtwebkit:5 |
| dev-qt/qtwidgets:5[-gles2] |
| ) |
| system-snappy? ( >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}] ) |
| " |
| DEPEND="${RDEPEND}" |
| |
| PATCHES=( |
| "${FILESDIR}"/${PN}-8.0-glxtrace-only.patch |
| "${FILESDIR}"/${PN}-8.0-disable-multiarch.patch |
| "${FILESDIR}"/${PN}-9.0-docs-install.patch |
| "${FILESDIR}"/${PN}-8.0-snappy-license.patch |
| "${FILESDIR}"/0001-Fallback-to-NULL-platform-if-no-X.patch |
| "${FILESDIR}"/${PN}-9.0-egl-environment.patch |
| ) |
| |
| src_prepare() { |
| cmake-utils_src_prepare |
| |
| # The apitrace code grubs around in the internal zlib structures. |
| # We have to extract this header and clean it up to keep that working. |
| # Do not be surprised if a zlib upgrade breaks things ... |
| rm -rf "${S}"/thirdparty/{getopt,less,libpng,zlib,dxerr,directxtex,devcon} || die |
| if use system-snappy ; then |
| rm -rf "${S}"/thirdparty/snappy || die |
| fi |
| } |
| |
| src_configure() { |
| my_configure() { |
| local mycmakeargs=( |
| -DENABLE_EGL=$(usex opengles) |
| -DENABLE_STATIC_SNAPPY=$(usex !system-snappy) |
| ) |
| if multilib_is_native_abi ; then |
| mycmakeargs+=( |
| -DENABLE_CLI=$(usex cli) |
| -DENABLE_GUI=$(usex qt5) |
| -DENABLE_X11=$(usex X) |
| -DENABLE_WAFFLE=$(usex opengles) |
| ) |
| else |
| mycmakeargs+=( |
| -DBUILD_LIB_ONLY=ON |
| -DENABLE_CLI=OFF |
| -DENABLE_GUI=OFF |
| ) |
| fi |
| cmake-utils_src_configure |
| } |
| |
| multilib_parallel_foreach_abi my_configure |
| } |
| |
| src_install() { |
| cmake-multilib_src_install |
| |
| dosym egltrace.so /usr/$(get_libdir)/${PN}/wrappers/libGL.so |
| dosym egltrace.so /usr/$(get_libdir)/${PN}/wrappers/libGL.so.1 |
| dosym egltrace.so /usr/$(get_libdir)/${PN}/wrappers/libGL.so.1.2 |
| |
| rm docs/INSTALL.markdown || die |
| dodoc docs/* README.markdown |
| |
| exeinto /usr/$(get_libdir)/${PN}/scripts |
| doexe $(find scripts -type f -executable) |
| |
| echo "LDPATH=\"/usr/$(get_libdir)/${PN}/wrappers\"" > "${T}"/99${PN} |
| doenvd "${T}"/99${PN} |
| } |