commit:     50a8d17875e524c22f2c7d8be63e6f5c3d81b73b
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  7 18:13:29 2020 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Feb  7 21:47:25 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a8d178

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 <AT> gentoo.org>

 dev-util/apitrace/Manifest                         |   1 +
 dev-util/apitrace/apitrace-9.0.ebuild              |  85 +++++++++++
 .../files/apitrace-9.0-brotli-unbundle.patch       | 158 +++++++++++++++++++++
 .../files/apitrace-9.0-disable-multiarch.patch     |  53 +++++++
 4 files changed, 297 insertions(+)

diff --git a/dev-util/apitrace/Manifest b/dev-util/apitrace/Manifest
index 001d549c4d9..defda19b6e8 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 00000000000..8c100383021
--- /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 00000000000..5715edaec3f
--- /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 <[email protected]>
+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 <[email protected]>
+---
+ 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 <[email protected]>
+Date: Mon, 29 Apr 2019 21:11:57 +0200
+Subject: [PATCH 2/2] Find system brotli instead of bundled
+
+Signed-off-by: Andreas Sturmlechner <[email protected]>
+---
+ 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 00000000000..37085b1ae29
--- /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 <[email protected]>
+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 <[email protected]>
+---
+ 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
+

Reply via email to