summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2022-01-12 13:23:58 -0800
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2022-01-12 14:03:55 -0800
commitfe5c356ae6f13e7bd15361a4f3f17e891a629192 (patch)
treed21279b6f781d655c198a90f3fe759b24e5fb6dd
parentprofiles: remove >=media-sound/easyeffects-6.2.0 mask (diff)
downloadgentoo-fe5c356ae6f13e7bd15361a4f3f17e891a629192.tar.gz
gentoo-fe5c356ae6f13e7bd15361a4f3f17e891a629192.tar.bz2
gentoo-fe5c356ae6f13e7bd15361a4f3f17e891a629192.zip
media-libs/graphene: add 64-bit vector detection patch
MASSIVE prerformance increase on arm64 and ppc64le fedora ships this patch too, so it's well tested 1/22 mutest / general OK 0.18s 2/22 mutest / hooks OK 0.17s 3/22 mutest / types OK 0.17s 4/22 graphene / box OK 0.16s 65 subtests passed 5/22 graphene / euler OK 0.16s 10 subtests passed 6/22 graphene / frustum OK 0.15s 21 subtests passed 7/22 graphene / matrix OK 0.15s 70 subtests passed 8/22 graphene / plane OK 0.14s 13 subtests passed 9/22 graphene / point OK 0.14s 24 subtests passed 10/22 graphene / point3d OK 0.13s 36 subtests passed 11/22 graphene / quad OK 0.13s 12 subtests passed 12/22 graphene / quaternion OK 0.12s 24 subtests passed 13/22 graphene / ray OK 0.12s 21 subtests passed 14/22 graphene / rect OK 0.12s 65 subtests passed 15/22 graphene / simd OK 0.11s 25 subtests passed 16/22 graphene / size OK 0.11s 17 subtests passed 17/22 graphene / sphere OK 0.10s 17 subtests passed 18/22 graphene / triangle OK 0.10s 56 subtests passed 19/22 graphene / vec2 OK 0.09s 37 subtests passed 20/22 graphene / vec3 OK 0.09s 51 subtests passed 21/22 graphene / vec4 OK 0.08s 63 subtests passed 22/22 graphene / introspection.py OK 0.13s 1 subtests passed Ok: 22 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 0 Timeout: 0 Acked-by: Matt Turner <mattst88@gentoo.org> Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
-rw-r--r--media-libs/graphene/files/1.10.6-fix-vector-check.patch23
-rw-r--r--media-libs/graphene/graphene-1.10.6-r1.ebuild49
2 files changed, 72 insertions, 0 deletions
diff --git a/media-libs/graphene/files/1.10.6-fix-vector-check.patch b/media-libs/graphene/files/1.10.6-fix-vector-check.patch
new file mode 100644
index 000000000000..19bee435846b
--- /dev/null
+++ b/media-libs/graphene/files/1.10.6-fix-vector-check.patch
@@ -0,0 +1,23 @@
+From 3ce7bf419e366d88a141d1210ae96182986ea8e9 Mon Sep 17 00:00:00 2001
+From: q66 <daniel@octaforge.org>
+Date: Wed, 9 Jun 2021 15:47:14 +0200
+Subject: [PATCH] meson: fix gcc vector 64-bit check
+
+the previous behavior only ever enabled gcc vectors no x86_64
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 5dbfb63..fd37036 100644
+--- a/meson.build
++++ b/meson.build
+@@ -328,7 +328,7 @@ if get_option('gcc_vector')
+ # error "GCC vector intrinsics are disabled on GCC prior to 4.9"
+ # elif defined(__arm__)
+ # error "GCC vector intrinsics are disabled on ARM"
+-# elif !defined(__x86_64__)
++# elif (__SIZEOF_POINTER__ < 8)
+ # error "GCC vector intrinsics are disabled on 32bit"
+ # endif
+ #else
diff --git a/media-libs/graphene/graphene-1.10.6-r1.ebuild b/media-libs/graphene/graphene-1.10.6-r1.ebuild
new file mode 100644
index 000000000000..29dbe5384376
--- /dev/null
+++ b/media-libs/graphene/graphene-1.10.6-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit xdg-utils meson-multilib python-any-r1
+
+DESCRIPTION="A thin layer of types for graphic libraries"
+HOMEPAGE="https://ebassi.github.io/graphene/"
+SRC_URI="https://github.com/ebassi/graphene/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 doc +introspection test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.30.0:2[${MULTILIB_USEDEP}]
+ introspection? ( dev-libs/gobject-introspection:= )
+"
+DEPEND="${RDEPEND}"
+# Python is only needed with USE=introspection or FEATURES=test, but not bothering with conditional python_setup, as meson uses it too anyway
+BDEPEND="
+ ${PYTHON_DEPS}
+ doc? (
+ dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3
+ )
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}/${PV}-fix-vector-check.patch" )
+
+multilib_src_configure() {
+ # TODO: Do we want G_DISABLE_ASSERT as buildtype=release would do upstream?
+ local emesonargs=(
+ $(meson_native_use_bool doc gtk_doc)
+ -Dgobject_types=true
+ $(meson_native_use_feature introspection)
+ -Dgcc_vector=true # if built-in support tests fail, it'll just not enable vector intrinsics; unfortunately this probably means disabled on clang too, due to it claiming to be <gcc-4.9
+ $(meson_use cpu_flags_x86_sse2 sse2)
+ $(meson_use cpu_flags_arm_neon arm_neon)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ )
+ meson_src_configure
+}