From 4670d760e29f5bb48156e1e626be698b92405db3 Mon Sep 17 00:00:00 2001 From: Stefano Ragni Date: Tue, 12 Nov 2019 15:04:46 +0100 Subject: [PATCH] igt-gpu-tools: update to 1.24, fix musl --- .../igt-gpu-tools/patches/disable-docs.patch | 36 ---- srcpkgs/igt-gpu-tools/patches/musl.patch | 198 ++++++++++++++++++ srcpkgs/igt-gpu-tools/template | 21 +- 3 files changed, 212 insertions(+), 43 deletions(-) delete mode 100644 srcpkgs/igt-gpu-tools/patches/disable-docs.patch create mode 100644 srcpkgs/igt-gpu-tools/patches/musl.patch diff --git a/srcpkgs/igt-gpu-tools/patches/disable-docs.patch b/srcpkgs/igt-gpu-tools/patches/disable-docs.patch deleted file mode 100644 index 9ee861b397b..00000000000 --- a/srcpkgs/igt-gpu-tools/patches/disable-docs.patch +++ /dev/null @@ -1,36 +0,0 @@ -Source: maxice8, m3tav3rse -Upstream: not upstreamable -Reason: Fixes building of package. - -ERROR: Error in gtkdoc helper script: -ERROR: ['gtkdoc-mkhtml', '--path=/builddir/igt-gpu-tools-1.23/docs/reference/igt-gpu-tools:/builddir/igt-gpu-tools-1.23/build/docs/reference/igt-gpu-tools', 'igt-gpu-tools', '../igt-gpu-tools-docs.xml'] failed with status 5 -I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl -warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" -compilation error: file /usr/share/gtk-doc/data/gtk-doc.xsl line 11 element import -xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl - ---- meson.build -+++ meson.build -@@ -232,14 +232,14 @@ - subdir('man') - - docs_info = 'No' --if _build_docs -- if _build_tests -- subdir('docs') -- docs_info = 'Yes' -- elif _docs_required -- error('Documentation requires building tests') -- endif --endif -+#if _build_docs -+# if _build_tests -+# subdir('docs') -+# docs_info = 'Yes' -+# elif _docs_required -+# error('Documentation requires building tests') -+# endif -+#endif - build_info += 'Build documentation: ' + docs_info - - message('Build options') diff --git a/srcpkgs/igt-gpu-tools/patches/musl.patch b/srcpkgs/igt-gpu-tools/patches/musl.patch new file mode 100644 index 00000000000..895ea58736a --- /dev/null +++ b/srcpkgs/igt-gpu-tools/patches/musl.patch @@ -0,0 +1,198 @@ +diff --git benchmarks/gem_syslatency.c benchmarks/gem_syslatency.c +index 7671dc4..3ac9544 100644 +--- benchmarks/gem_syslatency.c ++++ benchmarks/gem_syslatency.c +@@ -44,7 +44,11 @@ + + #include + +-#define sigev_notify_thread_id _sigev_un._tid ++#ifndef __GLIBC__ ++#include "signal_compat.h" ++#endif ++ ++#define sigev_notify_thread_id sigev_notify_function + + static volatile int done; + +diff --git lib/igt_aux.c lib/igt_aux.c +index 578f857..3e98cf0 100644 +--- lib/igt_aux.c ++++ lib/igt_aux.c +@@ -31,6 +31,7 @@ + #endif + #include + #include ++#include // PATH_MAX + #include + #include + #include +@@ -73,6 +74,12 @@ + #include /* for dirname() */ + #endif + ++#ifndef __GLIBC__ ++#include "signal_compat.h" ++#endif ++ ++//#include ++ + /** + * SECTION:igt_aux + * @short_description: Auxiliary libraries and support functions +diff --git lib/igt_aux.h lib/igt_aux.h +index 04d2290..a0ada9e 100644 +--- lib/igt_aux.h ++++ lib/igt_aux.h +@@ -46,7 +46,7 @@ + # define gettid() (pid_t)(syscall(__NR_gettid)) + # endif + #endif +-#define sigev_notify_thread_id _sigev_un._tid ++#define sigev_notify_thread_id sigev_notify_function + + /* auxialiary igt helpers from igt_aux.c */ + /* generally useful helpers */ +diff --git lib/igt_eld.c lib/igt_eld.c +index 3d7fd4d..d51774b 100644 +--- lib/igt_eld.c ++++ lib/igt_eld.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #include "igt_core.h" + #include "igt_eld.h" +diff --git lib/igt_halffloat.c lib/igt_halffloat.c +index 08ab05f..7d6a6e6 100644 +--- lib/igt_halffloat.c ++++ lib/igt_halffloat.c +@@ -162,7 +162,7 @@ static inline float _half_to_float(uint16_t val) + return fi.f; + } + +-#if defined(__x86_64__) && !defined(__clang__) ++#if defined(__x86_64__) && !defined(__clang__) && defined(__GLIBC__) + #pragma GCC push_options + #pragma GCC target("f16c") + +diff --git lib/igt_x86.c lib/igt_x86.c +index 6ac700d..ddf5edd 100644 +--- lib/igt_x86.c ++++ lib/igt_x86.c +@@ -190,7 +190,7 @@ char *igt_x86_features_to_string(unsigned features, char *line) + } + #endif + +-#if defined(__x86_64__) && !defined(__clang__) ++#if defined(__x86_64__) && !defined(__clang__) && defined(__GLIBC__) + #pragma GCC push_options + #pragma GCC target("sse4.1") + #pragma GCC diagnostic ignored "-Wpointer-arith" +diff --git lib/signal_compat.h lib/signal_compat.h +new file mode 100644 +index 0000000..acae648 +--- /dev/null ++++ lib/signal_compat.h +@@ -0,0 +1,4 @@ ++#define SIGEV_SIGNAL 0 /* notify via signal */ ++#define SIGEV_NONE 1 /* other notification: meaningless */ ++#define SIGEV_THREAD 2 /* deliver via thread creation */ ++#define SIGEV_THREAD_ID 4 /* deliver to thread */ +diff --git tests/drm_read.c tests/drm_read.c +index cfb1c04..18be922 100644 +--- tests/drm_read.c ++++ tests/drm_read.c +@@ -220,7 +220,7 @@ static void test_short_buffer_wakeup(int in, enum pipe pipe) + pthread_mutex_unlock(&w.mutex); + + /* Give each thread a chance to sleep in drm_read() */ +- pthread_yield(); ++ sched_yield(); + + /* One event should wake all threads as none consume */ + generate_event(w.fd, pipe); +diff --git tests/kms_hdmi_inject.c tests/kms_hdmi_inject.c +index 8c0d133..f272418 100644 +--- tests/kms_hdmi_inject.c ++++ tests/kms_hdmi_inject.c +@@ -25,7 +25,7 @@ + #include "config.h" + + #include +- ++#include + #include "igt.h" + #include "igt_edid.h" + #include "igt_eld.h" +diff --git tests/kms_sysfs_edid_timing.c tests/kms_sysfs_edid_timing.c +index 1201388..e75c7e9 100644 +--- tests/kms_sysfs_edid_timing.c ++++ tests/kms_sysfs_edid_timing.c +@@ -24,6 +24,7 @@ + + #include + #include ++#include + #include + + #define THRESHOLD_PER_CONNECTOR 10 +diff --git tools/aubdump.c tools/aubdump.c +index 00e1971..af894fe 100644 +--- tools/aubdump.c ++++ tools/aubdump.c +@@ -42,6 +42,12 @@ + #include "intel_aub.h" + #include "intel_chipset.h" + ++#ifdef __GLIBC__ ++typedef unsigned long request_t; ++#else ++typedef int request_t; ++#endif ++ + #ifndef ARRAY_SIZE + #define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) + #endif +@@ -226,10 +232,10 @@ static const uint32_t video_context_init[GEN8_LR_CONTEXT_OTHER_SIZE / + }; + + static int close_init_helper(int fd); +-static int ioctl_init_helper(int fd, unsigned long request, ...); ++static int ioctl_init_helper(int fd, request_t request, ...); + + static int (*libc_close)(int fd) = close_init_helper; +-static int (*libc_ioctl)(int fd, unsigned long request, ...) = ioctl_init_helper; ++static int (*libc_ioctl)(int fd, request_t request, ...) = ioctl_init_helper; + + static int drm_fd = -1; + static char *filename = NULL; +@@ -856,7 +862,7 @@ relocate_bo(struct bo *bo, const struct drm_i915_gem_execbuffer2 *execbuffer2, + } + + static int +-gem_ioctl(int fd, unsigned long request, void *argp) ++gem_ioctl(int fd, request_t request, void *argp) + { + int ret; + +@@ -1150,7 +1156,7 @@ maybe_init(void) + DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER2, struct drm_i915_gem_execbuffer2) + + int +-ioctl(int fd, unsigned long request, ...) ++ioctl(int fd, request_t request, ...) + { + va_list args; + void *argp; +@@ -1290,7 +1296,7 @@ close_init_helper(int fd) + } + + static int +-ioctl_init_helper(int fd, unsigned long request, ...) ++ioctl_init_helper(int fd, request_t request, ...) + { + va_list args; + void *argp; diff --git a/srcpkgs/igt-gpu-tools/template b/srcpkgs/igt-gpu-tools/template index c26b5242129..18d95d8370f 100644 --- a/srcpkgs/igt-gpu-tools/template +++ b/srcpkgs/igt-gpu-tools/template @@ -1,20 +1,27 @@ # Template file for 'igt-gpu-tools' pkgname=igt-gpu-tools -version=1.23 -revision=2 +version=1.24 +revision=1 build_style=meson -hostmakedepends="flex gtk-doc pkg-config swig" -makedepends="cairo-devel libXrandr-devel libXv-devel libkmod-devel - libunwind-devel procps-ng-devel python3-devel libressl-devel" +configure_args="-Db_ndebug=false -Db_lto=false" +# `b_lto=true` makes the build hang at a random point +hostmakedepends="pkg-config flex peg python3-docutils gtk-doc" +makedepends="libdrm-devel libkmod-devel procps-ng-devel libunwind-devel + elfutils-devel pixman-devel valgrind-devel cairo-devel xmlrpc-c-devel gsl-devel + alsa-lib-devel json-c-devel libXrandr-devel" short_desc="Tools for development and testing of the Intel DRM driver" maintainer="Orphaned " license="MIT" homepage="https://gitlab.freedesktop.org/drm/igt-gpu-tools" distfiles="${XORG_SITE}/app/${pkgname}-${version}.tar.xz" -checksum=4d4b086c513bace5c23d0889de3f42ac3ebd3d968c64dedae6e28e006a499ad0 +checksum=57357c72feeafc923c9cfd2d1234bd80e120fc7cc6099eac81158ec351a821bf lib32disabled=yes -archs="i686 x86_64" +archs="i686* x86_64*" + +case "$XBPS_TARGET_MACHINE" in + *-musl) configure_args+=" -Dbuild_tests=disabled -Dbuild_runner=disabled -Dbuild_docs=disabled" +esac post_install() { vlicense COPYING