public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/apitrace/, dev-util/apitrace/files/
Date: Mon, 29 Apr 2019 19:44:50 +0000 (UTC)	[thread overview]
Message-ID: <1556567068.88dc354ba18d93a07d46164bcb22bade72989186.asturm@gentoo> (raw)

commit:     88dc354ba18d93a07d46164bcb22bade72989186
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 29 19:21:28 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 19:44:28 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88dc354b

dev-util/apitrace: 8.0 version bump, EAPI-7, unbundle brotli

Getting rid of deprecated dev-qt/qtwebkit:5 dependency.

Package-Manager: Portage-2.3.65, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/apitrace/Manifest                         |   1 +
 dev-util/apitrace/apitrace-8.0.ebuild              |  97 +++++++++++++
 .../files/apitrace-8.0-brotli-unbundle.patch       | 159 +++++++++++++++++++++
 .../files/apitrace-8.0-disable-multiarch.patch     |  53 +++++++
 .../apitrace/files/apitrace-8.0-docs-install.patch |  54 +++++++
 .../files/apitrace-8.0-glxtrace-only.patch         |  49 +++++++
 6 files changed, 413 insertions(+)

diff --git a/dev-util/apitrace/Manifest b/dev-util/apitrace/Manifest
index 659d9519d6d..18ef76c6bb4 100644
--- a/dev-util/apitrace/Manifest
+++ b/dev-util/apitrace/Manifest
@@ -1 +1,2 @@
 DIST apitrace-7.1.tar.gz 2343156 BLAKE2B ab450535a585d476726b0bb3fbb8f85f930dafd883419ac9a575ca0b487890b26d39baee920c5f4c29b929bce13450643bc27d7f5d269aa60c044dca9975bcce SHA512 b4ebe4eb0b16770a156cffe7cccccff2166634bee7b147d124c78c6e5b37e2ef5f0cb78d30ab7df9a489f25234073023c8bbee67e2b6c59aacfcf4e5ff2ceb84
+DIST apitrace-8.0.tar.gz 3601109 BLAKE2B f3e8f7ff93ef4866370e791fa7768ca0445bd8f62a7d26f203bade7fec7aab475115ea2820b351fbc974697160b49a0c0628fb01ca9afa248b3e31ab7b75d4fc SHA512 1bd8ed4468fde17fbdc43bdd50508e6c7662ddf79b6d34aa222ee69cd033aeedcdc3a8c2fc4e88ba85bf13f7e7c516a83dc158b11f0e4dd67d2ec65ad10cef2c

diff --git a/dev-util/apitrace/apitrace-8.0.ebuild b/dev-util/apitrace/apitrace-8.0.ebuild
new file mode 100644
index 00000000000..96e336ad5ad
--- /dev/null
+++ b/dev-util/apitrace/apitrace-8.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+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 !system-snappy? ( BSD CC-BY-3.0 CC-BY-4.0 public-domain )" #bundled snappy
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+cli egl qt5 system-snappy"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+	app-arch/brotli:=
+	media-libs/libpng:0=
+	media-libs/mesa[egl?,${MULTILIB_USEDEP}]
+	sys-libs/zlib[${MULTILIB_USEDEP}]
+	sys-process/procps:=
+	x11-libs/libX11
+	egl? (
+		>=media-libs/mesa-8.0[gles1,gles2]
+		media-libs/waffle[egl]
+	)
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5[-gles2]
+		dev-qt/qtnetwork:5
+		dev-qt/qtwidgets:5[-gles2]
+	)
+	system-snappy? ( >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-disable-multiarch.patch
+	"${FILESDIR}"/${P}-glxtrace-only.patch
+	"${FILESDIR}"/${P}-docs-install.patch
+	"${FILESDIR}"/${P}-brotli-unbundle.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 thirdparty/{brotli,getopt,less,libpng,zlib,dxerr,directxtex,devcon} || die
+	if use system-snappy ; then
+		rm -rf thirdparty/snappy || die
+	fi
+}
+
+src_configure() {
+	my_configure() {
+		local mycmakeargs=(
+			-DDOC_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF}
+			-DENABLE_EGL=$(usex egl)
+			-DENABLE_STATIC_SNAPPY=$(usex !system-snappy)
+		)
+		if multilib_is_native_abi ; then
+			mycmakeargs+=(
+				-DENABLE_CLI=$(usex cli)
+				-DENABLE_GUI=$(usex qt5)
+			)
+		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 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
+
+	rm docs/INSTALL.markdown || die
+	dodoc docs/* README.markdown
+
+	exeinto /usr/$(get_libdir)/${PN}/scripts
+	doexe $(find scripts -type f -executable)
+}

diff --git a/dev-util/apitrace/files/apitrace-8.0-brotli-unbundle.patch b/dev-util/apitrace/files/apitrace-8.0-brotli-unbundle.patch
new file mode 100644
index 00000000000..09ed21c0c54
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-8.0-brotli-unbundle.patch
@@ -0,0 +1,159 @@
+From b0f5a220c41af013da3362e5c9751b593b22754a 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.21.0
+
+
+From cd3486343001d6a47e4a468caa425ef835012463 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 bc988e95..6a62b3b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -483,8 +483,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 a0189202..16428c63 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.21.0
+

diff --git a/dev-util/apitrace/files/apitrace-8.0-disable-multiarch.patch b/dev-util/apitrace/files/apitrace-8.0-disable-multiarch.patch
new file mode 100644
index 00000000000..9ab6ca27f63
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-8.0-disable-multiarch.patch
@@ -0,0 +1,53 @@
+From 849289703b1c8ef1461d0d0f6a5465e20f3c0932 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 29 Apr 2019 20:32:04 +0200
+Subject: [PATCH 1/3] 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 8.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 34b55554..36879db6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -429,15 +429,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
+@@ -446,12 +437,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.21.0
+

diff --git a/dev-util/apitrace/files/apitrace-8.0-docs-install.patch b/dev-util/apitrace/files/apitrace-8.0-docs-install.patch
new file mode 100644
index 00000000000..4c8e215ff70
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-8.0-docs-install.patch
@@ -0,0 +1,54 @@
+From 17864ae1e14362d56bbd7dd75149e094a4716bc6 Mon Sep 17 00:00:00 2001
+From: Michael Weber <xmw@gentoo.org>
+Date: Mon, 29 Apr 2019 20:56:28 +0200
+Subject: [PATCH 3/3] Disable doc files installation by build system
+
+Patch was rebased from 7.1 on top of 8.0.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt                   | 14 --------------
+ thirdparty/snappy/CMakeLists.txt |  5 -----
+ 2 files changed, 19 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6466cd8a..84fd0ae1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -604,20 +604,6 @@ endif ()
+ ##############################################################################
+ # Packaging
+ 
+-install (
+-    FILES
+-        README.markdown
+-        docs/BUGS.markdown
+-        docs/NEWS.markdown
+-        docs/USAGE.markdown
+-    DESTINATION ${DOC_INSTALL_DIR}
+-)
+-install (
+-    FILES LICENSE
+-    DESTINATION ${DOC_INSTALL_DIR}
+-    RENAME LICENSE.txt
+-)
+-
+ set (CPACK_PACKAGE_VERSION_MAJOR "8")
+ set (CPACK_PACKAGE_VERSION_MINOR "0")
+ 
+diff --git a/thirdparty/snappy/CMakeLists.txt b/thirdparty/snappy/CMakeLists.txt
+index 84ecbac8..f732dbc0 100644
+--- a/thirdparty/snappy/CMakeLists.txt
++++ b/thirdparty/snappy/CMakeLists.txt
+@@ -26,8 +26,3 @@ add_convenience_library (snappy_bundled EXCLUDE_FROM_ALL
+     snappy-stubs-public.h
+ )
+ 
+-install (
+-    FILES COPYING
+-    DESTINATION ${DOC_INSTALL_DIR}
+-    RENAME LICENSE-snappy.txt
+-)
+-- 
+2.21.0
+

diff --git a/dev-util/apitrace/files/apitrace-8.0-glxtrace-only.patch b/dev-util/apitrace/files/apitrace-8.0-glxtrace-only.patch
new file mode 100644
index 00000000000..2655e0abfc0
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-8.0-glxtrace-only.patch
@@ -0,0 +1,49 @@
+From 747fe00d3b4e2648003715f949cf2ac18e32862a Mon Sep 17 00:00:00 2001
+From: Tim Harder <radhermit@gentoo.org>
+Date: Mon, 29 Apr 2019 20:45:42 +0200
+Subject: [PATCH 2/3] Allow building of just glxtrace library (without GUI
+ tools)
+
+Patch was rebased multiple times from 1.0 to 8.0 now.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt         | 2 ++
+ retrace/CMakeLists.txt | 4 ++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 36879db6..6466cd8a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,6 +47,8 @@ if (ANDROID)
+     message (FATAL_ERROR "Android is no longer supported (https://git.io/vH2gW)")
+ endif ()
+ 
++option (BUILD_LIB_ONLY "Build the glxtrace library only" OFF)
++
+ # Proprietary Linux games often ship their own libraries (zlib, libstdc++,
+ # etc.) in order to ship a single set of binaries across multiple
+ # distributions.  Given that apitrace wrapper modules will be loaded into those
+diff --git a/retrace/CMakeLists.txt b/retrace/CMakeLists.txt
+index 76dc8362..e1bad990 100644
+--- a/retrace/CMakeLists.txt
++++ b/retrace/CMakeLists.txt
+@@ -15,6 +15,8 @@ include_directories (
+ 
+ add_definitions (-DRETRACE)
+ 
++if (NOT BUILD_LIB_ONLY)
++
+ add_custom_command (
+     OUTPUT glretrace_gl.cpp
+     COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glretrace_gl.cpp
+@@ -343,3 +345,5 @@ if (WIN32)
+     install (TARGETS d3dretrace RUNTIME DESTINATION bin)
+     install_pdb (d3dretrace DESTINATION bin)
+ endif ()
++
++endif (NOT BUILD_LIB_ONLY)
+-- 
+2.21.0
+


             reply	other threads:[~2019-04-29 19:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-29 19:44 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-01-13  6:02 [gentoo-commits] repo/gentoo:master commit in: dev-util/apitrace/, dev-util/apitrace/files/ Sam James
2020-02-21 22:34 Matt Turner
2020-02-07 21:47 Matt Turner
2019-04-29 19:44 Andreas Sturmlechner
2017-10-14 20:46 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1556567068.88dc354ba18d93a07d46164bcb22bade72989186.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox