diff options
author | Matt Turner <mattst88@gentoo.org> | 2020-02-07 10:13:29 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2020-02-07 13:47:25 -0800 |
commit | 50a8d17875e524c22f2c7d8be63e6f5c3d81b73b (patch) | |
tree | e757ccec7ce6e9abb985e8fb380f797a317c2872 /dev-util/apitrace | |
parent | media-libs/waffle: Generate WaffleConfig.cmake file (diff) | |
download | gentoo-50a8d17875e524c22f2c7d8be63e6f5c3d81b73b.tar.gz gentoo-50a8d17875e524c22f2c7d8be63e6f5c3d81b73b.tar.bz2 gentoo-50a8d17875e524c22f2c7d8be63e6f5c3d81b73b.zip |
dev-util/apitrace: Version bump to 9.0.0
A lot of changes in this version bump:
- Python3 support
- Python2 support dropped
- IUSE=cli dropped. Enabled always
- IUSE=system-snappy dropped. Enabled always
- IUSE=egl dropped. Enabled always
- Install CLI binaries for all ABIs
- media-libs/waffle support enabled
Closes: https://bugs.gentoo.org/684830
Closes: https://bugs.gentoo.org/684964
Closes: https://bugs.gentoo.org/693116
Closes: https://bugs.gentoo.org/705320
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'dev-util/apitrace')
-rw-r--r-- | dev-util/apitrace/Manifest | 1 | ||||
-rw-r--r-- | dev-util/apitrace/apitrace-9.0.ebuild | 85 | ||||
-rw-r--r-- | dev-util/apitrace/files/apitrace-9.0-brotli-unbundle.patch | 158 | ||||
-rw-r--r-- | dev-util/apitrace/files/apitrace-9.0-disable-multiarch.patch | 53 |
4 files changed, 297 insertions, 0 deletions
diff --git a/dev-util/apitrace/Manifest b/dev-util/apitrace/Manifest index 001d549c4d96..defda19b6e82 100644 --- a/dev-util/apitrace/Manifest +++ b/dev-util/apitrace/Manifest @@ -1 +1,2 @@ DIST apitrace-8.0.tar.gz 3601109 BLAKE2B f3e8f7ff93ef4866370e791fa7768ca0445bd8f62a7d26f203bade7fec7aab475115ea2820b351fbc974697160b49a0c0628fb01ca9afa248b3e31ab7b75d4fc SHA512 1bd8ed4468fde17fbdc43bdd50508e6c7662ddf79b6d34aa222ee69cd033aeedcdc3a8c2fc4e88ba85bf13f7e7c516a83dc158b11f0e4dd67d2ec65ad10cef2c +DIST apitrace-9.0.tar.gz 3623693 BLAKE2B 885cfd22d1cc82e36f7f0d65b816784986a8a693d04b483c059d3cffb0328c2cbbfd043793b964cea84d7b09a0dc8dda5f464099e91df26fd5eecef4bbeb28cc SHA512 4234bc2d14378b1bd9554752d83f8ce0703b4e08c3edc85769dc988a2b3a44b8e55d2f5856954658155a11d69802849bae6350ed5031a5916c7ac7bc7287918c diff --git a/dev-util/apitrace/apitrace-9.0.ebuild b/dev-util/apitrace/apitrace-9.0.ebuild new file mode 100644 index 000000000000..8c100383021a --- /dev/null +++ b/dev-util/apitrace/apitrace-9.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +PYTHON_COMPAT=( python3_{6,7,8} ) +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" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="qt5" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="${PYTHON_DEPS} + app-arch/brotli:=[${MULTILIB_USEDEP}] + >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}] + media-libs/libpng:0= + media-libs/mesa[egl,gles1,gles2,X(+),${MULTILIB_USEDEP}] + >=media-libs/waffle-1.6.0-r1[egl,${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + sys-process/procps:=[${MULTILIB_USEDEP}] + x11-libs/libX11 + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[-gles2] + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5[-gles2] + ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + # TODO: upstream + "${FILESDIR}"/${P}-disable-multiarch.patch + "${FILESDIR}"/${P}-brotli-unbundle.patch +) + +src_prepare() { + cmake_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 thirdparty/{brotli,snappy,getopt,less,libpng,zlib,dxerr,directxtex,devcon} || die +} + +src_configure() { + my_configure() { + local mycmakeargs=( + -DDOC_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF} + -DENABLE_EGL=ON + -DENABLE_CLI=ON + -DENABLE_GUI=$(multilib_native_usex qt5) + -DENABLE_STATIC_SNAPPY=OFF + -DENABLE_WAFFLE=ON + ) + cmake_src_configure + } + + multilib_foreach_abi my_configure +} + +src_install() { + MULTILIB_CHOST_TOOLS=( + /usr/bin/apitrace$(get_exeext) + /usr/bin/eglretrace$(get_exeext) + /usr/bin/glretrace$(get_exeext) + ) + + cmake-multilib_src_install + + make_libgl_symlinks() { + dosym glxtrace.so /usr/$(get_libdir)/${PN}/wrappers/libGL.so + dosym glxtrace.so /usr/$(get_libdir)/${PN}/wrappers/libGL.so.1 + dosym glxtrace.so /usr/$(get_libdir)/${PN}/wrappers/libGL.so.1.2 + } + multilib_foreach_abi make_libgl_symlinks +} diff --git a/dev-util/apitrace/files/apitrace-9.0-brotli-unbundle.patch b/dev-util/apitrace/files/apitrace-9.0-brotli-unbundle.patch new file mode 100644 index 000000000000..5715edaec3f0 --- /dev/null +++ b/dev-util/apitrace/files/apitrace-9.0-brotli-unbundle.patch @@ -0,0 +1,158 @@ +From 3a07d551949ff488d1d669600a07d9c73ff4cc55 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Mon, 29 Apr 2019 21:08:02 +0200 +Subject: [PATCH 1/2] Import FindBrotliDec.cmake and FindBrotliEnc.cmake from + Igalia S.L. + +MIT License, which fits well. + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + cmake/FindBrotliDec.cmake | 35 +++++++++++++++++++++++++++++++++++ + cmake/FindBrotliEnc.cmake | 35 +++++++++++++++++++++++++++++++++++ + 2 files changed, 70 insertions(+) + create mode 100644 cmake/FindBrotliDec.cmake + create mode 100644 cmake/FindBrotliEnc.cmake + +diff --git a/cmake/FindBrotliDec.cmake b/cmake/FindBrotliDec.cmake +new file mode 100644 +index 00000000..abb06f44 +--- /dev/null ++++ b/cmake/FindBrotliDec.cmake +@@ -0,0 +1,35 @@ ++# Copyright 2017 Igalia S.L. All Rights Reserved. ++# ++# Distributed under MIT license. ++# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT ++ ++# Try to find BrotliDec. Once done, this will define ++# ++# BROTLIDEC_FOUND - system has BrotliDec. ++# BROTLIDEC_INCLUDE_DIRS - the BrotliDec include directories ++# BROTLIDEC_LIBRARIES - link these to use BrotliDec. ++ ++find_package(PkgConfig) ++ ++pkg_check_modules(PC_BROTLIDEC libbrotlidec) ++ ++find_path(BROTLIDEC_INCLUDE_DIRS ++ NAMES brotli/decode.h ++ HINTS ${PC_BROTLIDEC_INCLUDEDIR} ++) ++ ++find_library(BROTLIDEC_LIBRARIES ++ NAMES brotlidec ++ HINTS ${PC_BROTLIDEC_LIBDIR} ++) ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(BrotliDec ++ REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES ++ FOUND_VAR BROTLIDEC_FOUND ++ VERSION_VAR PC_BROTLIDEC_VERSION) ++ ++mark_as_advanced( ++ BROTLIDEC_INCLUDE_DIRS ++ BROTLIDEC_LIBRARIES ++) +diff --git a/cmake/FindBrotliEnc.cmake b/cmake/FindBrotliEnc.cmake +new file mode 100644 +index 00000000..4be347db +--- /dev/null ++++ b/cmake/FindBrotliEnc.cmake +@@ -0,0 +1,35 @@ ++# Copyright 2017 Igalia S.L. All Rights Reserved. ++# ++# Distributed under MIT license. ++# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT ++ ++# Try to find BrotliEnc. Once done, this will define ++# ++# BROTLIENC_FOUND - system has BrotliEnc. ++# BROTLIENC_INCLUDE_DIRS - the BrotliEnc include directories ++# BROTLIENC_LIBRARIES - link these to use BrotliEnc. ++ ++find_package(PkgConfig) ++ ++pkg_check_modules(PC_BROTLIENC libbrotlienc) ++ ++find_path(BROTLIENC_INCLUDE_DIRS ++ NAMES brotli/encode.h ++ HINTS ${PC_BROTLIENC_INCLUDEDIR} ++) ++ ++find_library(BROTLIENC_LIBRARIES ++ NAMES brotlienc ++ HINTS ${PC_BROTLIENC_LIBDIR} ++) ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(BrotliEnc ++ REQUIRED_VARS BROTLIENC_INCLUDE_DIRS BROTLIENC_LIBRARIES ++ FOUND_VAR BROTLIENC_FOUND ++ VERSION_VAR PC_BROTLIENC_VERSION) ++ ++mark_as_advanced( ++ BROTLIENC_INCLUDE_DIRS ++ BROTLIENC_LIBRARIES ++) +-- +2.24.1 + +From 08a410f238aaf6488759e023b66d16cbbd7f6d66 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Mon, 29 Apr 2019 21:11:57 +0200 +Subject: [PATCH 2/2] Find system brotli instead of bundled + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + CMakeLists.txt | 5 +++-- + cli/CMakeLists.txt | 2 +- + lib/trace/CMakeLists.txt | 2 +- + 3 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c71d24e6..88e6b156 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -491,8 +491,9 @@ if (ENABLE_STATIC_SNAPPY OR NOT SNAPPY_FOUND) + endif () + include_directories (${SNAPPY_INCLUDE_DIRS}) + +-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/brotli/c/include) +-add_subdirectory (thirdparty/brotli) ++find_package(BrotliDec REQUIRED) ++find_package(BrotliEnc REQUIRED) ++include_directories (${BROTLIDEC_INCLUDE_DIRS} ${BROTLIENC_INCLUDE_DIRS}) + + if (NOT WIN32 AND NOT ENABLE_STATIC_EXE) + # zlib 1.2.4-1.2.5 made it impossible to read the last block of incomplete +diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt +index 3a3c127e..0b33ddb5 100644 +--- a/cli/CMakeLists.txt ++++ b/cli/CMakeLists.txt +@@ -39,7 +39,7 @@ add_executable (apitrace + + target_link_libraries (apitrace + common +- brotli_dec brotli_enc brotli_common ++ ${BROTLIDEC_LIBRARIES} ${BROTLIENC_LIBRARIES} + ${ZLIB_LIBRARIES} + ${SNAPPY_LIBRARIES} + ${GETOPT_LIBRARIES} +diff --git a/lib/trace/CMakeLists.txt b/lib/trace/CMakeLists.txt +index c68bd00f..ce2e469e 100644 +--- a/lib/trace/CMakeLists.txt ++++ b/lib/trace/CMakeLists.txt +@@ -31,7 +31,7 @@ target_link_libraries (common + guids + highlight + os +- brotli_dec brotli_common ++ ${BROTLIDEC_LIBRARIES} ${BROTLIENC_LIBRARIES} + ) + + add_gtest (trace_parser_flags_test trace_parser_flags_test.cpp) +-- +2.24.1 + diff --git a/dev-util/apitrace/files/apitrace-9.0-disable-multiarch.patch b/dev-util/apitrace/files/apitrace-9.0-disable-multiarch.patch new file mode 100644 index 000000000000..37085b1ae299 --- /dev/null +++ b/dev-util/apitrace/files/apitrace-9.0-disable-multiarch.patch @@ -0,0 +1,53 @@ +From 556397e399994b005524b88171c9c103b8cc1b25 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Mon, 29 Apr 2019 20:32:04 +0200 +Subject: [PATCH] Use CMAKE_INSTALL_LIBDIR for LIB_INSTALL_DIR + +Respect the libdir cmake already set up for us instead of using +debian-specific multiarch paths. + +Patch was rebased multiple times from 4.0 to 9.0 now. + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + CMakeLists.txt | 17 ++--------------- + 1 file changed, 2 insertions(+), 15 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 19316e60..6c3c4b85 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -438,15 +438,6 @@ endif () + ############################################################################## + # Installation directories + +-if (CMAKE_SYSTEM_NAME STREQUAL "Linux") +- # Debian multiarch support +- execute_process(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH +- OUTPUT_VARIABLE ARCH_SUBDIR +- ERROR_QUIET +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +-endif() +- + if (WIN32 OR APPLE) + # On Windows/MacOSX, applications are usually installed on a directory of + # their own +@@ -455,12 +446,8 @@ if (WIN32 OR APPLE) + set (LIB_ARCH_INSTALL_DIR lib) + else () + set (DOC_DEFAULT_INSTALL_DIR share/doc/${CMAKE_PROJECT_NAME}) +- set (LIB_INSTALL_DIR lib${LIB_SUFFIX}/${CMAKE_PROJECT_NAME}) +- if (ARCH_SUBDIR) +- set (LIB_ARCH_INSTALL_DIR lib/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME}) +- else () +- set (LIB_ARCH_INSTALL_DIR lib${LIB_SUFFIX}/${CMAKE_PROJECT_NAME}) +- endif () ++ set (LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${CMAKE_PROJECT_NAME}) ++ set (LIB_ARCH_INSTALL_DIR ${LIB_INSTALL_DIR}) + endif () + + # Allow customization of the doc installation dir (Slackware uses different +-- +2.24.1 + |