summaryrefslogtreecommitdiff
path: root/dev-util/apitrace
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-util/apitrace
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-util/apitrace')
-rw-r--r--dev-util/apitrace/Manifest27
-rw-r--r--dev-util/apitrace/apitrace-4.0.ebuild95
-rw-r--r--dev-util/apitrace/apitrace-5.0.ebuild91
-rw-r--r--dev-util/apitrace/apitrace-6.0.ebuild91
-rw-r--r--dev-util/apitrace/apitrace-6.1.ebuild91
-rw-r--r--dev-util/apitrace/apitrace-7.1.ebuild99
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-disable-multiarch.patch32
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-glext-texture-storage.patch73
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-glxcopysubbuffermesa.patch80
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-glxtrace-only.patch49
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-memcpy.patch13
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-multilib.patch59
-rw-r--r--dev-util/apitrace/files/apitrace-4.0-system-libs.patch72
-rw-r--r--dev-util/apitrace/files/apitrace-5.0-disable-multiarch.patch34
-rw-r--r--dev-util/apitrace/files/apitrace-5.0-glxtrace-only.patch53
-rw-r--r--dev-util/apitrace/files/apitrace-6.0-disable-multiarch.patch35
-rw-r--r--dev-util/apitrace/files/apitrace-7.1-disable-multiarch.patch35
-rw-r--r--dev-util/apitrace/files/apitrace-7.1-docs-install.patch23
-rw-r--r--dev-util/apitrace/files/apitrace-7.1-glxtrace-only.patch32
-rw-r--r--dev-util/apitrace/files/apitrace-7.1-snappy-license.patch11
-rw-r--r--dev-util/apitrace/metadata.xml26
21 files changed, 1121 insertions, 0 deletions
diff --git a/dev-util/apitrace/Manifest b/dev-util/apitrace/Manifest
new file mode 100644
index 000000000000..618c2714a6b4
--- /dev/null
+++ b/dev-util/apitrace/Manifest
@@ -0,0 +1,27 @@
+AUX apitrace-4.0-disable-multiarch.patch 1239 SHA256 65eb0796a9ed1e1c996de5852a99281154e35d691a6b6b5bbaef9d81444ead88 SHA512 30d67873bdc6da9085a0680765473873d1a8020c468e951be740a81bc3e4404bba7b636ee01ee1d20af868861dd6d7f5b82104b914bfaf994cd3be029271a43d WHIRLPOOL ba52fd3c59f838da622cf282af9214b270e7cf92b2cca44c4767e1279b9d8bb07a1e716b3544b7629c75fe9ff8297602e3ac96f412e30575537ee95e0f37931c
+AUX apitrace-4.0-glext-texture-storage.patch 3765 SHA256 3f6928448d9b82323a0731a6b66ecd02866d9e5b637582e844c9291b61d77406 SHA512 9bf5523af9aa18d141a6676577364c8c29560ee231f4a7913006d6fd8a796b66270fcb06974eb3c62562d087a79d9453a5f3dd3b38be7f627879361919d15901 WHIRLPOOL 4e2caedd4b964c33595a79eb7a95fe47771acc9a19c6b63b6fa6110fdaa12954d05de99936064a0bce1cd1943465119ac1260e6307aa5b740d4cb7228ea6aaa1
+AUX apitrace-4.0-glxcopysubbuffermesa.patch 2715 SHA256 6c5ad45f5015a95bcae9fe39691d520d15a6382d2c29b7d220b1ba57b2bcc40d SHA512 817e13d7668a2d95c321bf2c9506829b9a0e3e96139873220783c7d80fc9cdd5ce2408765fcce5ce3dcb37393d3921257a9d9c0f48b820cc325dde61f6e4a82a WHIRLPOOL 67483b27b8dadfaf57cab9870e561d059c337b3ed7fac6f8fe8e02decbe8474f62f5947ae781daaac07f1a7e2e037c75b117f88685ed7225dd70aa40e4902ba8
+AUX apitrace-4.0-glxtrace-only.patch 1641 SHA256 e4b0318763b2cd7ad79e684052674991515b612534dc7a9033e4e1ff5d86d3d9 SHA512 103d646d35e5b0b198b224088c97b4b6639bde8ce05e4b1889b124bb835c29aca38116354a674ba9802056e60a31f649afc05876458ab0995fde56893ed910ac WHIRLPOOL 7a3e96b0d678c5e11762b1ddec756d60ac68d99a5bd85f996e3b998e27b7fdff65050d0e15c9cbfc6b89d8adb586d764eece02b17ff1788506f345e9e8d456e6
+AUX apitrace-4.0-memcpy.patch 256 SHA256 233102422b76746a6b6d71bd22980b4f71fd7b39597b500e9beb89fec2fb365d SHA512 d0392c2e4dbdb3ea3a7ad3ecfb51e383d59c4a1d0ee2fdffbf0d0d5ea939fc03238ca8b9ae0fc8eb7799806de783292bbeed19ca94154fd09ffc62f24369d5e3 WHIRLPOOL ebccdee8fa7d703bd3843129e6a75c53bfdf2d2f51d889288e6ffa96addc2cdc2aa99f479e3808ecf364ab173f5b310497591b800a8325aa05bf7016932ad4ed
+AUX apitrace-4.0-multilib.patch 1457 SHA256 d6ab2a72fe9c696788a1cbb996006ff9a0a0909aeb33cb51adc43fb1f7e6f45f SHA512 a351cbdca7d02ec7a7570b32bff2d138779a8543a2b04b72d23fe8847b188b2143f826bfaf93c35a53831ba6ea93d4032eea0514d238573fbca6225d61ab7bed WHIRLPOOL ea525b48d838db7f1c42bc211f45807ef3b783c95c936d4a47cae649cfdae427b932b4eac0f10b0e89ed114f0e6d0ac5bcd9b2c27fde6bd197f8351f0aa2246f
+AUX apitrace-4.0-system-libs.patch 2049 SHA256 ebeb2c56565f696836863f2bc5882ded3bd6132d85837ecf91a1c9ccec8ecae8 SHA512 6831349d462a8abb5a660d5478c0a2ddd523d8af6347a0ed8da4eed2ae85d1fdd74b9b5f5d507a09b7b703b9b6e099743879a093cbd8b04fe2d99b034f011cc1 WHIRLPOOL c5a1f8e55b667f2b98fe95e71e8ceb6594063df076f5ad8c5168a71d3db35fcc619f624dd00292ba250b0f6c5990f0e50776c586541d1a440603c7380b75a9ee
+AUX apitrace-5.0-disable-multiarch.patch 1340 SHA256 c372309ea37a4f45d98a1f27cb6ec15d5711e99a908da4bea5b32a2292d773b2 SHA512 bea98c8060893d6fb69a59b0287503311f7fb8f3015a91c9a6121e578b71195ca04d88fc1f2da7c88502a8034c594f3f325a4ea7f513f91d8149bbc36999db4f WHIRLPOOL 645b288fbf4af16aef70e6f4e85704c530f111996bff06a1ab09c2ca90a9dd8041849b8b4c30d4d584ffd53d4e9c1f748961038b08a89fb62969db0fd4d64997
+AUX apitrace-5.0-glxtrace-only.patch 1798 SHA256 1c748e9cfa96ca26c73524a94c8311efffb642bd62ab12d4b3fac23e09eb9caa SHA512 f725b4ce98cf07ae3d2619cb49aa5f3634bd987a8523d95e8e6aae449efb490efe6be488236191a763440173e81c83be37d577b803df960f28f2bb36e1ae03c4 WHIRLPOOL c50cb7e633b7904599ac1cd989696789a38223237692d7c60d1020c94a28ba778045444657c72dc787c57e24ec2a315ddce7697d5d3cf1dedceefa465d7b35f1
+AUX apitrace-6.0-disable-multiarch.patch 1252 SHA256 424a0f54dfffd0f57d9598cbd21e79a9b165d4062020ed29c16c2528a7c98fe2 SHA512 fb88abd703bc48464d04aced4f8509e741f9cfd62d44d54b40771c8f45b42ab9512e4aab90949be751ab236e5e1a05d18df659c9d8d636d1137744387513a97e WHIRLPOOL be5f8ba58b013c06a9387c96f1fc47d733aace4e2e0b95a8db0e02d9d4deaf579074dcb91dca85328298aa8219dd6867f6c3cab9452a8f3c6e1650e50e280a36
+AUX apitrace-7.1-disable-multiarch.patch 1250 SHA256 6b0b4429b689ae5d09142582df1541b7c5776e97e7c133fd5e687d6a0a8d2263 SHA512 f9ec915c3221697ae81f9d49fcd56d846a5cc8d2f5e44d3da5df0ee3674c790370dbb4d58350d631d735f725a63fc323b1386f5399b89ae311ec783e29b0d396 WHIRLPOOL 1f00e670a3f2da9a95f0b5c1843e1d1da8c0d69aea13a8229d06824ebad1fdbcf8fcd44eb45849b8c656153e691c3bdcf0238c659f1712eb4a17cd17c5321739
+AUX apitrace-7.1-docs-install.patch 526 SHA256 51d8307920093800bef0a398e31ad4ff037faedd84e58d85bd9d5c196056e470 SHA512 530d232c41a447ce0e95f5b9d25bd0f48cfcad2867c7efd69e69b7179d85fd35d60a27adce1295e9499a6449f968ef3989c9e5f874224fb11086b92a714e5831 WHIRLPOOL 01a432317fa3f183415ce11182c1e28560110e63e5190360576c9d12c4f15d341f78f965a515db71fac8fec16b501cda3e6bb0e70ae1426fd97f4fe773c18d57
+AUX apitrace-7.1-glxtrace-only.patch 1022 SHA256 2fb863d843681fc5684006658d40fd78ba21b323d250403f1bfe009fc8cd9dc6 SHA512 3cbb1b25dcfbb57785feba8ef83450e270f062fc771e5fd1ae99c8ac893cad6e33162a12fccc962da08778a77377db652690efe3c54d60b2a56a6d1971cefdf1 WHIRLPOOL 7ce2a7fad03f6d10e5d47af5bffc3d906aaf4a480db9828243083eab634199e06313a062e00f8faf608fb3bbd6f64e76feba135e755ed28295760728916391e8
+AUX apitrace-7.1-snappy-license.patch 240 SHA256 b0529be8c0bb93fabf7256e6a2b50caa4cc78635afb3ba489c4ee9dd35ae6f3f SHA512 0ea2d2fe38c0ecd12a41dcef66efda7e55d02c43a9a8ec52da621f711e50f040542efa65e855d52715fa0ab78d54b4c5620ee0cfc0795f4d9eb4a433d07da60c WHIRLPOOL 9ee7d959b89c26df67ba83cae52f60a2a9e059c9d481883b683e06627c550f2924f7ead134b2e1868bba4927b7b0f1d461455a87dc7f76306dc02e4903a30073
+DIST apitrace-4.0.tar.gz 1736912 SHA256 078cfe09a5a021559326e8ee92ce863dd99d48c36433ac37140233616bb6cbd3 SHA512 063e1dfc7993b6d014a8e62e5d038318b22a7cfdaac1970714cf6bcb7e31079f552ad198f2992f042b05a027322f86e58d77a0e3aa2e0b266b278c8d0708200c WHIRLPOOL a1b251929ffade5f5b498428d942a01fd6c141494e3de09520e7bcd5aa5b4e15e50144ccf6ef979650e75ddb03373a3f5c198a3554448161623c3e33d8a9160a
+DIST apitrace-5.0.tar.gz 1868044 SHA256 c11e97452b3b74533b82af28951382c77e3d639bd434cbc4e1dc43bc799c8ea6 SHA512 af83860c8bfd49a2a2b1483fe13a83f2e1aa93ca474f1efb12cb311a99f2ca29ce4c39831a941efdde80fe2ae76b11cdfc6fde3349d325c71fc2a3ecae6b1424 WHIRLPOOL ba6fe7c354db3e6ba8edd46675631ef6d2edfc01c9201ffd951fc48110d0120463d52b4778984b01ae766d662edfc386a1965240377bcd2b2bae71936e94d42a
+DIST apitrace-6.0.tar.gz 1738830 SHA256 4ac99fbd5076c9e4db9d09ef22fb1958f28115f162b6ee40a23130aacc1e2acb SHA512 e937ca8ddece11d180ed306083788fc7e5fa5d4ceeef0ae69ab5a8140e4169c583b281f6f4806b5c4d71c72fb79ac8399e2f0f49fa1052b90f14306247a4091c WHIRLPOOL 1d5f43f5576a4f258f249f3d2777ad221dce3d7dc9489db924568c5c26af3542d016d722ef9c9be7ae50e380684c597840cc869c4d11cf3f3dcb96f952cc4ee0
+DIST apitrace-6.1.tar.gz 1741041 SHA256 0285610a6afbe9fbc47c0ecb80cafabb34dc1998c1c8308bacb7fdd15817930b SHA512 218fc8e59bc6cff6733c98f53c57b0e793d2f7aa530560f8da0dff83c4fa255c5fd5db97a9a43c364490c355ddb1ea6557ced64eae3e6c5e0c6f4504b9299bcd WHIRLPOOL 6334a96a0d70fce927faed0923efe1e320d4a52909ab01223f0486774a13e3cef53d2920933bc3167d9d766d647da6ab36b95ccbbcf78a0af55d16775000f2ea
+DIST apitrace-7.1.tar.gz 2343156 SHA256 2103386d747d34f3d6fb1d01fde9078a45ad2e9976afab3a7489c95b08dde0a2 SHA512 b4ebe4eb0b16770a156cffe7cccccff2166634bee7b147d124c78c6e5b37e2ef5f0cb78d30ab7df9a489f25234073023c8bbee67e2b6c59aacfcf4e5ff2ceb84 WHIRLPOOL d61aa9470faf61d4ffa3cd12a24fa13f993f9e21fc0bfcf0f2b9bf3d15803bc1c2120a1ed7e8c43668082dfe61f86434d5e297c5e21e4f2bbb1b88bf80b9bbe3
+EBUILD apitrace-4.0.ebuild 2428 SHA256 ef77e073af848c5216ca32905dd469cd403eb85918b88e60f47234e6f19e1032 SHA512 1d3466a7c4e79a0da9c4478aea70fa093776024b18ce8d70156722e85a72d63ec1d1251b6588d261ed03a2f1540891df1a52a668e59c8d0a321c8430e499e5c5 WHIRLPOOL 0d65452436143569e2e735f5505050fae073312a1fa1a7359b423ca66739c8e477cf99489fd59bba71492700ace91fa6313b3ff39c63971886f485e1540d2cf4
+EBUILD apitrace-5.0.ebuild 2270 SHA256 8b1a4906ac9cc4afdb6710dcadc6044ef0efa2f1015befe8599746338aec1ab0 SHA512 4a7eba7f4efad955d12395491685ace6cd47ce0c09b0e8188948103a72bf7261a7877a97df83d718168809e0440fd5ed679a05157d448293434b8fb1c844b4f5 WHIRLPOOL 24676d62472fc4eafcbf8941521f659f96cde66c01a9e781c21c907bc5c7d6b4eb5387947c8437b4bdcbc802d49f9f89bebbfb642e26f0b38a1a4190c5bfecbb
+EBUILD apitrace-6.0.ebuild 2279 SHA256 0f089236b0900bcddc3cb74a7814faab26de1eba647d864fa521fc02e0c141b9 SHA512 517bfd6b5e186ec63137ddac0ef4c7c7b9f89f32dbb3b838971bf608bced347ff3b571a999a18a8529045b05d1fffd8f7850dea727ace09519f881e7d83aec56 WHIRLPOOL 8d9c9b03b735125285f7cfdddf0d76608516c676d48deadeac2a607d34c82ab8d037927c138a2ce5ecb399593d81b66c0a3921217f6831fb24e84f05455249e0
+EBUILD apitrace-6.1.ebuild 2284 SHA256 b8cb074f50fbf20ea1c617108a5c538dea71d7c4e7c9f739ae349721e6cb9663 SHA512 094bb21aa5b37ffd39adb32173289155bd5f3671192998e31ec28c790d7c1f4554b79d8866fd39f2eeff0e00da4f5bca5bbe976e79b3d174724f8969b5545f39 WHIRLPOOL 4f03efcdaa4c835dbf9bdd0a909c198c3aad79710308768edcf61775f726c6ab0d1f0d8fd6006bf848d3440ef0a0bb6eee7c19102de6ac304dc3f6fe8b8acecc
+EBUILD apitrace-7.1.ebuild 2552 SHA256 56b602993061f401d349f1ac88ec780d88029bcac35d5c06b6c8b00dac8c97fe SHA512 433370c49d61f3b3537b9240dd5fc15e3490bebdf4bac160a658b219bc6fc11617d14bbc6067bb2f6abb12322b3de3bad3fd8d188d69a86a8b9b85103579e5fd WHIRLPOOL 9bb1e09b4d4aa55370d854d5c557b894b80deea0a0bcfbe49faf5369c6134dec036851acd3d62c283803d305b7d9f36704d771363548735a707def48fbaf41b0
+MISC ChangeLog 3342 SHA256 c48eaebfab3bf2fb218038d7b7f7822d31c466210757f7b54bd1e2b1fa830f56 SHA512 39f341b50bbf91045e80c1fccd27ec2c28155a53ce26e26cefbcea30b50d9ba1697e2b3251c8bf0c1a9626877dab40754928fa175e4252236052b05c1cf4f7fa WHIRLPOOL d48376a9afb9f3d26af9abaa1ad7405f9ab16d8fa566495473f6e4b46b81689de7981d396b3a01c95f7d825a6d55d6c8a8736157a37ae82f48df2e2f947a2007
+MISC ChangeLog-2015 5308 SHA256 bcbf64895b2d12c90e903793c83fc086db336c48986b08562c7cc8c67847fa44 SHA512 472955bdccbf250f2e75c5be1b7fbf3cb6b121c5ede7234dd0f35841f0adfe3d6a7b61e1642d0c0b88caf0240910f4f33aecdb6d716a9a7bc50d233355410967 WHIRLPOOL ef5f27e3925d40672d7bb62e72f02a8fcd8eab10061261023ff233aceb77e605ecb89bdd11f2dbf2497b9d0b018897e016b5a3c4ae3b9f85134616740824b94d
+MISC metadata.xml 873 SHA256 73102a36c78e45ce4df0dd20d3d71a78a79702b43bd80e6405089b600c690267 SHA512 70888ddc502b5de4c1de887e0d383f7745a82ae58ac4f733789c919b014a78018ad89da7c7665011fc94ea91be0e32245b859ebadbb88661ab9949a1215d509a WHIRLPOOL 5d4bb986419dc9580871fe1d256816ff4c4d9a6a0759e8d672eac726d98f98d177f5aa4b67912cc3a949927efc2d7408bf9166c21aee75e1b60d9e383b19ca86
diff --git a/dev-util/apitrace/apitrace-4.0.ebuild b/dev-util/apitrace/apitrace-4.0.ebuild
new file mode 100644
index 000000000000..9b529af04909
--- /dev/null
+++ b/dev-util/apitrace/apitrace-4.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib eutils python-single-r1 vcs-snapshot
+
+DESCRIPTION="A tool for tracing, analyzing, and debugging graphics APIs"
+HOMEPAGE="https://github.com/apitrace/apitrace"
+SRC_URI="https://github.com/${PN}/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+cli egl qt4"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=media-libs/mesa-9.1.6[egl?,${MULTILIB_USEDEP}]
+ egl? ( || (
+ >=media-libs/mesa-8.0[gles1,gles2]
+ <media-libs/mesa-8.0[gles]
+ ) )
+ media-libs/libpng:0=
+ sys-process/procps
+ x11-libs/libX11
+ qt4? (
+ >=dev-qt/qtcore-4.7:4
+ >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtwebkit-4.7:4
+ >=dev-libs/qjson-0.5
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-system-libs.patch
+ "${FILESDIR}"/${P}-glxtrace-only.patch
+ "${FILESDIR}"/${P}-glext-texture-storage.patch
+ "${FILESDIR}"/${P}-glxcopysubbuffermesa.patch
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-disable-multiarch.patch
+ "${FILESDIR}"/${P}-memcpy.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 ...
+ sed -r \
+ -e 's:OF[(]([^)]*)[)]:\1:' \
+ thirdparty/zlib/gzguts.h > gzguts.h
+ rm -rf "${S}"/thirdparty/{getopt,less,libpng,snappy,zlib}
+}
+
+src_configure() {
+ my_configure() {
+ mycmakeargs=(
+ -DARCH_SUBDIR=
+ $(cmake-utils_use_enable egl EGL)
+ )
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ $(cmake-utils_use_enable cli CLI)
+ $(cmake-utils_use_enable qt4 GUI)
+ )
+ 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
+
+ dodoc {BUGS,DEVELOPMENT,NEWS,README,TODO}.markdown
+
+ exeinto /usr/$(get_libdir)/${PN}/scripts
+ doexe $(find scripts -type f -executable)
+}
diff --git a/dev-util/apitrace/apitrace-5.0.ebuild b/dev-util/apitrace/apitrace-5.0.ebuild
new file mode 100644
index 000000000000..712b310b5588
--- /dev/null
+++ b/dev-util/apitrace/apitrace-5.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib eutils python-single-r1 vcs-snapshot
+
+DESCRIPTION="A tool for tracing, analyzing, and debugging graphics APIs"
+HOMEPAGE="https://github.com/apitrace/apitrace"
+SRC_URI="https://github.com/${PN}/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+cli egl qt4"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=media-libs/mesa-9.1.6[egl?,${MULTILIB_USEDEP}]
+ egl? ( || (
+ >=media-libs/mesa-8.0[gles1,gles2]
+ <media-libs/mesa-8.0[gles]
+ ) )
+ media-libs/libpng:0=
+ sys-process/procps
+ x11-libs/libX11
+ qt4? (
+ >=dev-qt/qtcore-4.7:4
+ >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtwebkit-4.7:4
+ >=dev-libs/qjson-0.5
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0-system-libs.patch
+ "${FILESDIR}"/${P}-glxtrace-only.patch
+ "${FILESDIR}"/${P}-disable-multiarch.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 ...
+ sed -r \
+ -e 's:OF[(]([^)]*)[)]:\1:' \
+ thirdparty/zlib/gzguts.h > gzguts.h
+ rm -rf "${S}"/thirdparty/{getopt,less,libpng,snappy,zlib}
+}
+
+src_configure() {
+ my_configure() {
+ mycmakeargs=(
+ -DARCH_SUBDIR=
+ $(cmake-utils_use_enable egl EGL)
+ )
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ $(cmake-utils_use_enable cli CLI)
+ $(cmake-utils_use_enable qt4 GUI)
+ )
+ 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
+
+ dodoc {BUGS,DEVELOPMENT,NEWS,README,TODO}.markdown
+
+ exeinto /usr/$(get_libdir)/${PN}/scripts
+ doexe $(find scripts -type f -executable)
+}
diff --git a/dev-util/apitrace/apitrace-6.0.ebuild b/dev-util/apitrace/apitrace-6.0.ebuild
new file mode 100644
index 000000000000..9e36010d4e43
--- /dev/null
+++ b/dev-util/apitrace/apitrace-6.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib eutils python-single-r1
+
+DESCRIPTION="A 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="+cli egl qt4"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=media-libs/mesa-9.1.6[egl?,${MULTILIB_USEDEP}]
+ egl? ( || (
+ >=media-libs/mesa-8.0[gles1,gles2]
+ <media-libs/mesa-8.0[gles]
+ ) )
+ media-libs/libpng:0=
+ sys-process/procps
+ x11-libs/libX11
+ qt4? (
+ >=dev-qt/qtcore-4.7:4
+ >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtwebkit-4.7:4
+ >=dev-libs/qjson-0.5
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0-system-libs.patch
+ "${FILESDIR}"/${PN}-5.0-glxtrace-only.patch
+ "${FILESDIR}"/${P}-disable-multiarch.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 ...
+ sed -r \
+ -e 's:OF[(]([^)]*)[)]:\1:' \
+ thirdparty/zlib/gzguts.h > gzguts.h
+ rm -rf "${S}"/thirdparty/{getopt,less,libpng,snappy,zlib}
+}
+
+src_configure() {
+ my_configure() {
+ mycmakeargs=(
+ -DARCH_SUBDIR=
+ $(cmake-utils_use_enable egl EGL)
+ )
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ $(cmake-utils_use_enable cli CLI)
+ $(cmake-utils_use_enable qt4 GUI)
+ )
+ 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
+
+ dodoc {BUGS,Dalvik,FORMAT,HACKING,NEWS,README,TODO}.markdown
+
+ exeinto /usr/$(get_libdir)/${PN}/scripts
+ doexe $(find scripts -type f -executable)
+}
diff --git a/dev-util/apitrace/apitrace-6.1.ebuild b/dev-util/apitrace/apitrace-6.1.ebuild
new file mode 100644
index 000000000000..3439c4a28306
--- /dev/null
+++ b/dev-util/apitrace/apitrace-6.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib eutils python-single-r1
+
+DESCRIPTION="A 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="+cli egl qt4"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=media-libs/mesa-9.1.6[egl?,${MULTILIB_USEDEP}]
+ egl? ( || (
+ >=media-libs/mesa-8.0[gles1,gles2]
+ <media-libs/mesa-8.0[gles]
+ ) )
+ media-libs/libpng:0=
+ sys-process/procps
+ x11-libs/libX11
+ qt4? (
+ >=dev-qt/qtcore-4.7:4
+ >=dev-qt/qtgui-4.7:4
+ >=dev-qt/qtwebkit-4.7:4
+ >=dev-libs/qjson-0.5
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0-system-libs.patch
+ "${FILESDIR}"/${PN}-5.0-glxtrace-only.patch
+ "${FILESDIR}"/${PN}-6.0-disable-multiarch.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 ...
+ sed -r \
+ -e 's:OF[(]([^)]*)[)]:\1:' \
+ thirdparty/zlib/gzguts.h > gzguts.h
+ rm -rf "${S}"/thirdparty/{getopt,less,libpng,snappy,zlib}
+}
+
+src_configure() {
+ my_configure() {
+ mycmakeargs=(
+ -DARCH_SUBDIR=
+ $(cmake-utils_use_enable egl EGL)
+ )
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ $(cmake-utils_use_enable cli CLI)
+ $(cmake-utils_use_enable qt4 GUI)
+ )
+ 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
+
+ dodoc {BUGS,Dalvik,FORMAT,HACKING,NEWS,README,TODO}.markdown
+
+ exeinto /usr/$(get_libdir)/${PN}/scripts
+ doexe $(find scripts -type f -executable)
+}
diff --git a/dev-util/apitrace/apitrace-7.1.ebuild b/dev-util/apitrace/apitrace-7.1.ebuild
new file mode 100644
index 000000000000..7ebcd73810e0
--- /dev/null
+++ b/dev-util/apitrace/apitrace-7.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib eutils python-single-r1
+
+DESCRIPTION="A 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="~amd64 ~arm ~x86"
+IUSE="+cli egl qt5 system-snappy"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=sys-devel/gcc-4.7:*
+ system-snappy? ( >=app-arch/snappy-1.1.1[${MULTILIB_USEDEP}] )
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=media-libs/mesa-9.1.6[egl?,${MULTILIB_USEDEP}]
+ egl? ( || (
+ >=media-libs/mesa-8.0[gles1,gles2]
+ <media-libs/mesa-8.0[gles]
+ )
+ media-libs/waffle[egl]
+ )
+ media-libs/libpng:0=
+ sys-process/procps
+ x11-libs/libX11
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.1-glxtrace-only.patch
+ "${FILESDIR}"/${PN}-7.1-disable-multiarch.patch
+ "${FILESDIR}"/${PN}-7.1-docs-install.patch
+ "${FILESDIR}"/${PN}-7.1-snappy-license.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() {
+ mycmakeargs=(
+ -DARCH_SUBDIR=
+ $(cmake-utils_use_enable egl EGL)
+ $(cmake-utils_use_enable !system-snappy STATIC_SNAPPY)
+ )
+ if multilib_is_native_abi ; then
+ mycmakeargs+=(
+ $(cmake-utils_use_enable cli CLI)
+ $(cmake-utils_use_enable qt5 GUI)
+ )
+ 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
+ dodoc docs/* README.markdown
+
+ exeinto /usr/$(get_libdir)/${PN}/scripts
+ doexe $(find scripts -type f -executable)
+}
diff --git a/dev-util/apitrace/files/apitrace-4.0-disable-multiarch.patch b/dev-util/apitrace/files/apitrace-4.0-disable-multiarch.patch
new file mode 100644
index 000000000000..0ced4d84cbf6
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-disable-multiarch.patch
@@ -0,0 +1,32 @@
+respect the libdir cmake already set up for us instead of using the multiarch crap
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -184,12 +184,6 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
+ # Installation directories
+
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+- # Debian multiarch support
+- execute_process(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH
+- OUTPUT_VARIABLE ARCH_SUBDIR
+- ERROR_QUIET
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- )
+ CHECK_INCLUDE_FILES(proc/readproc.h READPROC_H_FOUND)
+ if (READPROC_H_FOUND)
+ add_definitions (-DHAVE_READPROC_H)
+@@ -205,11 +205,11 @@ if (WIN32 OR APPLE)
+ set (LIB_ARCH_INSTALL_DIR lib)
+ else ()
+ set (DOC_INSTALL_DIR share/doc/${CMAKE_PROJECT_NAME})
+- set (LIB_INSTALL_DIR lib/${CMAKE_PROJECT_NAME})
++ set (LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${CMAKE_PROJECT_NAME})
+ if (ARCH_SUBDIR)
+- set (LIB_ARCH_INSTALL_DIR lib/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME})
++ set (LIB_ARCH_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME})
+ else ()
+- set (LIB_ARCH_INSTALL_DIR lib/${CMAKE_PROJECT_NAME})
++ set (LIB_ARCH_INSTALL_DIR ${LIB_INSTALL_DIR})
+ endif ()
+ endif ()
+
diff --git a/dev-util/apitrace/files/apitrace-4.0-glext-texture-storage.patch b/dev-util/apitrace/files/apitrace-4.0-glext-texture-storage.patch
new file mode 100644
index 000000000000..2d04db408693
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-glext-texture-storage.patch
@@ -0,0 +1,73 @@
+Upstream commit to support GL_EXT_texture_storage.
+
+commit 0436cc01329b6be60801dd7bfe641be7d8be5bc7
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Nov 13 13:57:43 2013 +0000
+
+ egltrace: Add GL_EXT_texture_storage entrypoints
+
+ Prototypes obtained through:
+
+ specs/scripts/gltxt.py http://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_storage.txt
+
+ Issue #184.
+
+commit 0bacf23eacd15c8f15413b85bdcb6ccc4d288f37
+Author: José Fonseca <jfonseca@vmware.com>
+Date: Wed Nov 13 13:59:51 2013 +0000
+
+ glxtrace: Add GLES prototypes too.
+
+ Some applications seem to fail to distinguish GLES and GL entrypoints
+ apart. To have complete traces in that situation, generate wrappers
+ for both GLES and GL prototypes.
+
+ Issue #184.
+
+--- apitrace/specs/glesapi.py
++++ apitrace/specs/glesapi.py
+@@ -255,4 +255,16 @@ glesapi.addFunctions([
+ #GlFunction(Void, "glProgramUniformMatrix4fvEXT", [(GLprogram, "program"), (GLlocation, "location"), (GLsizei, "count"), (GLboolean, "transpose"), (Array(Const(GLfloat), "count*4*4"), "value")]),
+ GlFunction(Void, "glValidateProgramPipelineEXT", [(GLpipeline, "pipeline")]),
+ GlFunction(Void, "glGetProgramPipelineInfoLogEXT", [(GLpipeline, "pipeline"), (GLsizei, "bufSize"), Out(Pointer(GLsizei), "length"), Out(GLstring, "infoLog")], sideeffects=False),
++
++ # GL_EXT_multisampled_render_to_texture
++ #GlFunction(Void, "glRenderbufferStorageMultisampleEXT", [(GLenum, "target"), (GLsizei, "samples"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
++ GlFunction(Void, "glFramebufferTexture2DMultisampleEXT", [(GLenum, "target"), (GLenum, "attachment"), (GLenum, "textarget"), (GLtexture, "texture"), (GLint, "level"), (GLsizei, "samples")]),
++
++ # GL_EXT_texture_storage
++ GlFunction(Void, "glTexStorage1DEXT", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width")]),
++ GlFunction(Void, "glTexStorage2DEXT", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
++ GlFunction(Void, "glTexStorage3DEXT", [(GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]),
++ #GlFunction(Void, "glTextureStorage1DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width")]),
++ #GlFunction(Void, "glTextureStorage2DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height")]),
++ #GlFunction(Void, "glTextureStorage3DEXT", [(GLtexture, "texture"), (GLenum, "target"), (GLsizei, "levels"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth")]),
+ ])
+--- apitrace/wrappers/CMakeLists.txt
++++ apitrace/wrappers/CMakeLists.txt
+@@ -393,6 +393,7 @@ elseif (X11_FOUND)
+ gltrace.py
+ trace.py
+ ${CMAKE_SOURCE_DIR}/specs/glxapi.py
++ ${CMAKE_SOURCE_DIR}/specs/glesapi.py
+ ${CMAKE_SOURCE_DIR}/specs/glapi.py
+ ${CMAKE_SOURCE_DIR}/specs/glparams.py
+ ${CMAKE_SOURCE_DIR}/specs/gltypes.py
+--- apitrace/wrappers/glxtrace.py
++++ apitrace/wrappers/glxtrace.py
+@@ -32,6 +32,7 @@ from gltrace import GlTracer
+ from specs.stdapi import Module, API
+ from specs.glapi import glapi
+ from specs.glxapi import glxapi
++from specs.glesapi import glesapi
+
+
+ class GlxTracer(GlTracer):
+@@ -104,6 +105,7 @@ if __name__ == '__main__':
+ module = Module()
+ module.mergeModule(glxapi)
+ module.mergeModule(glapi)
++ module.mergeModule(glesapi)
+ api = API()
+ api.addModule(module)
+ tracer = GlxTracer()
diff --git a/dev-util/apitrace/files/apitrace-4.0-glxcopysubbuffermesa.patch b/dev-util/apitrace/files/apitrace-4.0-glxcopysubbuffermesa.patch
new file mode 100644
index 000000000000..4dd3cdc6be3a
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-glxcopysubbuffermesa.patch
@@ -0,0 +1,80 @@
+Upstream commit to support glxCopySubBufferMESA. Modified to fix compile error with egl.
+
+commit 4dc3f3bdc3611ca1b3dec402f9242a036db8c8e4
+Author: Carl Worth <cworth@cworth.org>
+Date: Thu Oct 17 14:52:21 2013 -0700
+
+ retrace: Implement glxCopySubBufferMESA
+
+ This enables replay of a trace captured on ChromeOS.
+
+ Note: Replaying on EGL is not supported, (will trigger a warning),
+ since, as far as I know, EGL does not provide an equivalent function.
+
+--- apitrace/retrace/glretrace_glx.cpp
++++ apitrace/retrace/glretrace_glx.cpp
+@@ -111,6 +111,16 @@ static void retrace_glXDestroyContext(trace::Call &call) {
+ delete context;
+ }
+
++static void retrace_glXCopySubBufferMESA(trace::Call &call) {
++ glws::Drawable *drawable = getDrawable(call.arg(1).toUInt());
++ int x = call.arg(2).toSInt();
++ int y = call.arg(3).toSInt();
++ int width = call.arg(4).toSInt();
++ int height = call.arg(5).toSInt();
++
++ drawable->copySubBuffer(x, y, width, height);
++}
++
+ static void retrace_glXSwapBuffers(trace::Call &call) {
+ glws::Drawable *drawable = getDrawable(call.arg(1).toUInt());
+
+@@ -173,7 +183,7 @@ const retrace::Entry glretrace::glx_callbacks[] = {
+ {"glXChooseVisual", &retrace::ignore},
+ //{"glXCopyContext", &retrace_glXCopyContext},
+ //{"glXCopyImageSubDataNV", &retrace_glXCopyImageSubDataNV},
+- //{"glXCopySubBufferMESA", &retrace_glXCopySubBufferMESA},
++ {"glXCopySubBufferMESA", &retrace_glXCopySubBufferMESA},
+ {"glXCreateContextAttribsARB", &retrace_glXCreateContextAttribsARB},
+ {"glXCreateContext", &retrace_glXCreateContext},
+ //{"glXCreateContextWithConfigSGIX", &retrace_glXCreateContextWithConfigSGIX},
+--- apitrace/retrace/glws.hpp
++++ apitrace/retrace/glws.hpp
+@@ -127,6 +127,8 @@ public:
+ visible = true;
+ }
+
++ virtual void copySubBuffer(int x, int y, int width, int height) = 0;
++
+ virtual void swapBuffers(void) = 0;
+ };
+
+--- apitrace/retrace/glws_egl_xlib.cpp
++++ apitrace/retrace/glws_egl_xlib.cpp
+@@ -244,6 +244,10 @@ public:
+ Drawable::show();
+ }
+
++ void copySubBuffer(int x, int y, int width, int height) {
++ std::cerr << "glws_egl_xlib: Warning: copySubBuffer Not yet implemented\n";
++ }
++
+ void swapBuffers(void) {
+ eglBindAPI(api);
+ eglSwapBuffers(eglDisplay, surface);
+--- apitrace/retrace/glws_glx.cpp
++++ apitrace/retrace/glws_glx.cpp
+@@ -213,6 +213,12 @@ public:
+ Drawable::show();
+ }
+
++ void copySubBuffer(int x, int y, int width, int height) {
++ glXCopySubBufferMESA(display, window, x, y, width, height);
++
++ processKeys();
++ }
++
+ void swapBuffers(void) {
+ glXSwapBuffers(display, window);
+
diff --git a/dev-util/apitrace/files/apitrace-4.0-glxtrace-only.patch b/dev-util/apitrace/files/apitrace-4.0-glxtrace-only.patch
new file mode 100644
index 000000000000..08ce65e2fc0a
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-glxtrace-only.patch
@@ -0,0 +1,49 @@
+Allow building of just glxtrace library for ebuilds without GUI tools.
+
+Updated from 3.0 version of patch to apply against 4.0.
+
+--- apitrace/CMakeLists.txt
++++ apitrace/CMakeLists.txt
+@@ -30,6 +30,7 @@ set (ENABLE_CLI true CACHE BOOL "Enable command Line interface.")
+
+ set (ENABLE_EGL true CACHE BOOL "Enable EGL support.")
+
++option (BUILD_LIB_ONLY "Build the glxtrace library only" OFF)
+
+ ##############################################################################
+ # Find dependencies
+@@ -248,6 +255,8 @@ endif ()
+ # - The packaged versions QJson are very old, and do not support NaN/Infinity.
+ # - To make it easier to build the GUI on Windows and MacOSX, as there are no
+ # binaries at all.
++if (NOT BUILD_LIB_ONLY)
++
+ if (QT4_FOUND)
+ add_definitions (-DQJSON_EXPORT=)
+ add_subdirectory (thirdparty/qjson)
+@@ -257,6 +266,8 @@ if (QT4_FOUND)
+ set (QJSON_FOUND TRUE)
+ endif ()
+
++endif (NOT BUILD_LIB_ONLY)
++
+ # We use bundled headers for all Khronos APIs, to guarantee support for both
+ # OpenGL and OpenGL ES at build time, because the OpenGL and OpenGL ES 1 APIs
+ # are so intertwined that conditional compilation extremely difficult. This
+--- apitrace/retrace/CMakeLists.txt
++++ apitrace/retrace/CMakeLists.txt
+@@ -11,6 +11,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
+@@ -259,3 +261,5 @@ if (WIN32)
+
+ install (TARGETS d3dretrace RUNTIME DESTINATION bin)
+ endif ()
++
++endif (NOT BUILD_LIB_ONLY)
diff --git a/dev-util/apitrace/files/apitrace-4.0-memcpy.patch b/dev-util/apitrace/files/apitrace-4.0-memcpy.patch
new file mode 100644
index 000000000000..5b49808ada9b
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-memcpy.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/465504
+http://github.com/apitrace/apitrace/issues/118
+
+--- a/image/image_png.cpp
++++ b/image/image_png.cpp
+@@ -31,6 +31,7 @@
+ #include <assert.h>
+ #include <stdint.h>
+ #include <stdlib.h>
++#include <string.h>
+
+ #include <fstream>
+
diff --git a/dev-util/apitrace/files/apitrace-4.0-multilib.patch b/dev-util/apitrace/files/apitrace-4.0-multilib.patch
new file mode 100644
index 000000000000..6ad78c7cde08
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-multilib.patch
@@ -0,0 +1,59 @@
+Upstream commit to find wrappers in lib64 directory.
+
+commit 3f9c2ecf18d8fa37fad5a7062f80952692eaa8e7
+Author: Alexander Monakov <amonakov@ispras.ru>
+Date: Wed Oct 16 20:51:47 2013 +0400
+
+ cli: use $LIB to handle multilib automagically on glibc
+
+--- apitrace/cli/CMakeLists.txt
++++ apitrace/cli/CMakeLists.txt
+@@ -31,6 +31,7 @@ target_link_libraries (apitrace
+ ${ZLIB_LIBRARIES}
+ ${SNAPPY_LIBRARIES}
+ ${GETOPT_LIBRARIES}
++ dl
+ )
+
+ if (NOT CMAKE_CROSSCOMPILING)
+--- apitrace/cli/cli_resources.cpp
++++ apitrace/cli/cli_resources.cpp
+@@ -32,6 +32,20 @@
+
+ #include "cli_resources.hpp"
+
++#ifdef __GLIBC__
++
++#include <dlfcn.h>
++
++static bool
++tryLib(const os::String &path)
++{
++ void *handle = dlopen(path.str(), RTLD_LAZY);
++ bool exists = (handle != NULL);
++ if (exists)
++ dlclose(handle);
++ return exists;
++}
++#endif
+
+ os::String
+ findProgram(const char*programFilename)
+@@ -76,6 +90,17 @@ findWrapper(const char *wrapperFilename)
+ return wrapperPath;
+ }
+
++#ifdef __GLIBC__
++ // We want to take advantage of $LIB dynamic string token expansion in
++ // glibc dynamic linker to handle multilib layout for us
++ wrapperPath = processDir;
++ wrapperPath.join("../$LIB/apitrace/wrappers");
++ wrapperPath.join(wrapperFilename);
++ if (tryLib(wrapperPath)) {
++ return wrapperPath;
++ }
++#endif
++
+ // Try relative install directory
+ wrapperPath = processDir;
+ #if defined(_WIN32)
diff --git a/dev-util/apitrace/files/apitrace-4.0-system-libs.patch b/dev-util/apitrace/files/apitrace-4.0-system-libs.patch
new file mode 100644
index 000000000000..68468a30bde1
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-4.0-system-libs.patch
@@ -0,0 +1,72 @@
+Find external system libraries for ebuild.
+
+Updated from 3.0 version of patch to apply against 4.0.
+
+--- apitrace/CMakeLists.txt
++++ apitrace/CMakeLists.txt
+@@ -224,23 +224,14 @@ set (WRAPPER_INSTALL_DIR ${LIB_ARCH_INSTALL_DIR}/wrappers)
+ # - on unices to prevent symbol collisions when tracing applications that link
+ # against other versions of these libraries
+
+-set (ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib)
+-set (ZLIB_LIBRARIES z_bundled)
+-add_subdirectory (thirdparty/zlib)
+-
+-include_directories (${ZLIB_INCLUDE_DIRS})
+-
+-set (SNAPPY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/snappy)
+-set (SNAPPY_LIBRARIES snappy_bundled)
+-add_subdirectory (thirdparty/snappy)
++find_package (ZLIB REQUIRED)
++include_directories (${ZLIB_INCLUDE_DIRS})
+
++find_package (SNAPPY REQUIRED)
+ include_directories (${SNAPPY_INCLUDE_DIRS})
+
+-set (PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpng)
+-set (PNG_DEFINITIONS "")
+-set (PNG_LIBRARIES png_bundled)
+-
+-add_subdirectory (thirdparty/libpng)
++find_package (PNG REQUIRED)
++include_directories (${PNG_INCLUDE_DIRS})
+
+ if (MSVC)
+ add_subdirectory (thirdparty/getopt)
+diff --git a/cmake/FindSNAPPY.cmake b/cmake/FindSNAPPY.cmake
+new file mode 100644
+index 0000000..5cd64c3
+--- /dev/null
++++ apitrace/cmake/FindSNAPPY.cmake
+@@ -0,0 +1,31 @@
++# Find SNAPPY - A fast compressor/decompressor
++#
++# This module defines
++# SNAPPY_FOUND - whether the qsjon library was found
++# SNAPPY_LIBRARIES - the snappy library
++# SNAPPY_INCLUDE_DIR - the include path of the snappy library
++#
++
++if (SNAPPY_INCLUDE_DIR AND SNAPPY_LIBRARIES)
++
++ # Already in cache
++ set (SNAPPY_FOUND TRUE)
++
++else (SNAPPY_INCLUDE_DIR AND SNAPPY_LIBRARIES)
++
++ find_library (SNAPPY_LIBRARIES
++ NAMES
++ snappy
++ PATHS
++ )
++
++ find_path (SNAPPY_INCLUDE_DIR
++ NAMES
++ snappy.h
++ PATHS
++ )
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(SNAPPY DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
++
++endif (SNAPPY_INCLUDE_DIR AND SNAPPY_LIBRARIES)
diff --git a/dev-util/apitrace/files/apitrace-5.0-disable-multiarch.patch b/dev-util/apitrace/files/apitrace-5.0-disable-multiarch.patch
new file mode 100644
index 000000000000..aac018e65817
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-5.0-disable-multiarch.patch
@@ -0,0 +1,34 @@
+respect the libdir cmake already set up for us instead of using the multiarch crap
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 17f3dce..c3fe52e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -216,12 +216,6 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
+ # Installation directories
+
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+- # Debian multiarch support
+- execute_process(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH
+- OUTPUT_VARIABLE ARCH_SUBDIR
+- ERROR_QUIET
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- )
+ CHECK_INCLUDE_FILES(proc/readproc.h READPROC_H_FOUND)
+ if (READPROC_H_FOUND)
+ add_definitions (-DHAVE_READPROC_H)
+@@ -237,11 +231,11 @@ if (WIN32 OR APPLE)
+ set (LIB_ARCH_INSTALL_DIR lib)
+ else ()
+ set (DOC_INSTALL_DIR share/doc/${CMAKE_PROJECT_NAME})
+- set (LIB_INSTALL_DIR lib${LIB_SUFFIX}/${CMAKE_PROJECT_NAME})
++ set (LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${CMAKE_PROJECT_NAME})
+ if (ARCH_SUBDIR)
+- set (LIB_ARCH_INSTALL_DIR lib/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME})
++ set (LIB_ARCH_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${ARCH_SUBDIR}/${CMAKE_PROJECT_NAME})
+ else ()
+- set (LIB_ARCH_INSTALL_DIR lib${LIB_SUFFIX}/${CMAKE_PROJECT_NAME})
++ set (LIB_ARCH_INSTALL_DIR ${LIB_INSTALL_DIR})
+ endif ()
+ endif ()
+
diff --git a/dev-util/apitrace/files/apitrace-5.0-glxtrace-only.patch b/dev-util/apitrace/files/apitrace-5.0-glxtrace-only.patch
new file mode 100644
index 000000000000..03e6143afff0
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-5.0-glxtrace-only.patch
@@ -0,0 +1,53 @@
+Allow building of just glxtrace library for ebuilds without GUI tools.
+
+Updated from 4.0 version of patch to apply against 5.0.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 17f3dce..3bba2a9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -33,6 +33,7 @@ set (ENABLE_EGL true CACHE BOOL "Enable EGL support.")
+
+ set (ENABLE_WAFFLE false CACHE BOOL "Enable WAFFLE support.")
+
++option (BUILD_LIB_ONLY "Build the glxtrace library only" OFF)
+
+ ##############################################################################
+ # Find dependencies
+@@ -301,6 +302,8 @@ set (MD5_LIBRARIES md5_bundled)
+ # - The packaged versions QJson are very old, and do not support NaN/Infinity.
+ # - To make it easier to build the GUI on Windows and MacOSX, as there are no
+ # binaries at all.
++if (NOT BUILD_LIB_ONLY)
++
+ if (QT4_FOUND)
+ add_definitions (-DQJSON_EXPORT=)
+ add_subdirectory (thirdparty/qjson)
+@@ -310,6 +313,8 @@ if (QT4_FOUND)
+ set (QJSON_FOUND TRUE)
+ endif ()
+
++endif (NOT BUILD_LIB_ONLY)
++
+ # We use bundled headers for all Khronos APIs, to guarantee support for both
+ # OpenGL and OpenGL ES at build time, because the OpenGL and OpenGL ES 1 APIs
+ # are so intertwined that conditional compilation extremely difficult. This
+diff --git a/retrace/CMakeLists.txt b/retrace/CMakeLists.txt
+index 4e37979..2607ddf 100644
+--- a/retrace/CMakeLists.txt
++++ b/retrace/CMakeLists.txt
+@@ -11,6 +11,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
+@@ -282,3 +284,5 @@ if (WIN32)
+
+ install (TARGETS d3dretrace RUNTIME DESTINATION bin)
+ endif ()
++
++endif (NOT BUILD_LIB_ONLY)
diff --git a/dev-util/apitrace/files/apitrace-6.0-disable-multiarch.patch b/dev-util/apitrace/files/apitrace-6.0-disable-multiarch.patch
new file mode 100644
index 000000000000..bc6ba03060a4
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-6.0-disable-multiarch.patch
@@ -0,0 +1,35 @@
+respect the libdir cmake already set up for us instead of using debian-specific multiarch paths
+
+--- apitrace-6.0/CMakeLists.txt
++++ apitrace-6.0/CMakeLists.txt
+@@ -280,15 +280,6 @@
+ ##############################################################################
+ # Installation directories
+
+-if (${CMAKE_SYSTEM_NAME} MATCHES "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
+@@ -297,12 +288,8 @@
+ set (LIB_ARCH_INSTALL_DIR lib)
+ else ()
+ set (DOC_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 ()
+
+ set (SCRIPTS_INSTALL_DIR ${LIB_INSTALL_DIR}/scripts)
diff --git a/dev-util/apitrace/files/apitrace-7.1-disable-multiarch.patch b/dev-util/apitrace/files/apitrace-7.1-disable-multiarch.patch
new file mode 100644
index 000000000000..53d470d8705d
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-7.1-disable-multiarch.patch
@@ -0,0 +1,35 @@
+respect the libdir cmake already set up for us instead of using debian-specific multiarch paths
+
+--- apitrace-7.1/CMakeLists.txt
++++ apitrace-7.1/CMakeLists.txt
+@@ -359,15 +359,6 @@
+ ##############################################################################
+ # 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
+@@ -376,12 +367,8 @@
+ set (LIB_ARCH_INSTALL_DIR lib)
+ else ()
+ set (DOC_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 ()
+
+ set (SCRIPTS_INSTALL_DIR ${LIB_INSTALL_DIR}/scripts)
diff --git a/dev-util/apitrace/files/apitrace-7.1-docs-install.patch b/dev-util/apitrace/files/apitrace-7.1-docs-install.patch
new file mode 100644
index 000000000000..9fdc04ffe996
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-7.1-docs-install.patch
@@ -0,0 +1,23 @@
+--- apitrace-7.1/CMakeLists.txt
++++ apitrace-7.1/CMakeLists.txt
+@@ -553,20 +553,6 @@
+ ##############################################################################
+ # 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 "7")
+ set (CPACK_PACKAGE_VERSION_MINOR "0")
+
diff --git a/dev-util/apitrace/files/apitrace-7.1-glxtrace-only.patch b/dev-util/apitrace/files/apitrace-7.1-glxtrace-only.patch
new file mode 100644
index 000000000000..91867affca26
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-7.1-glxtrace-only.patch
@@ -0,0 +1,32 @@
+Allow building of just glxtrace library for ebuilds without GUI tools.
+
+Updated from 5.0 version of patch to apply against 7.1.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,6 +44,8 @@
+
+ option (ENABLE_FRAME_POINTER "Disable frame pointer omission" ON)
+
++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
+--- a/retrace/CMakeLists.txt
++++ b/retrace/CMakeLists.txt
+@@ -12,6 +12,8 @@
+
+ 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
+@@ -368,3 +370,5 @@
+ install (TARGETS d3dretrace RUNTIME DESTINATION bin)
+ install_pdb (d3dretrace DESTINATION bin)
+ endif ()
++
++endif (NOT BUILD_LIB_ONLY)
diff --git a/dev-util/apitrace/files/apitrace-7.1-snappy-license.patch b/dev-util/apitrace/files/apitrace-7.1-snappy-license.patch
new file mode 100644
index 000000000000..2b211dc5ddb7
--- /dev/null
+++ b/dev-util/apitrace/files/apitrace-7.1-snappy-license.patch
@@ -0,0 +1,11 @@
+--- apitrace-7.1/thirdparty/snappy/CMakeLists.txt
++++ apitrace-7.1/thirdparty/snappy/CMakeLists.txt
+@@ -16,8 +16,3 @@
+ snappy-c.cc
+ )
+
+-install (
+- FILES COPYING
+- DESTINATION ${DOC_INSTALL_DIR}
+- RENAME LICENSE-snappy.txt
+-)
diff --git a/dev-util/apitrace/metadata.xml b/dev-util/apitrace/metadata.xml
new file mode 100644
index 000000000000..7e0a3f3a4d5e
--- /dev/null
+++ b/dev-util/apitrace/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>EoD@xmw.de</email>
+ <name>EoD</name>
+ <description>Maintainer. Assign bugs to him.</description>
+ </maintainer>
+ <maintainer type="person">
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ <description>Proxy maintainer. CC him on bugs.</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="cli">Enable command line interface</flag>
+ <flag name="egl">Enable EGL support</flag>
+ <flag name="system-snappy">Link dynamic against app-arch/snappy</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">apitrace/apitrace</remote-id>
+ </upstream>
+</pkgmetadata>