Index: head/multimedia/intel-media-sdk/Makefile =================================================================== --- head/multimedia/intel-media-sdk/Makefile (revision 542230) +++ head/multimedia/intel-media-sdk/Makefile (revision 542231) @@ -1,67 +1,71 @@ # $FreeBSD$ PORTNAME= intel-media-sdk DISTVERSIONPREFIX= intel-mediasdk- DISTVERSION= 20.2.0 +PORTREVISION= 1 CATEGORIES= multimedia + +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 51602d7a5f5e.patch:-p1 # https://github.com/Intel-Media-SDK/MediaSDK/pull/2214 MAINTAINER= jbeich@FreeBSD.org COMMENT= Hardware video decoding/encoding/filtering on Intel GPUs LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported LIB_DEPENDS= libva.so:multimedia/libva RUN_DEPENDS= cmrtlib>0:multimedia/cmrtlib USES= cmake compiler:c++11-lib pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= Intel-Media-SDK GH_PROJECT= MediaSDK CMAKE_ON= BUILD_TOOLS PLIST_SUB= ARCH_SUFX=${ARCH:S/i386/32/:S/amd//:S/x86_//} # https://github.com/Intel-Media-SDK/MediaSDK/issues/1844 LLD_UNSAFE= yes OPTIONS_DEFINE= OPENCL TEST WAYLAND X11 OPTIONS_DEFAULT=OPENCL WAYLAND X11 OPTIONS_SUB= yes OPENCL_BUILD_DEPENDS= ${LOCALBASE}/include/CL/opencl.h:devel/opencl OPENCL_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd OPENCL_CMAKE_BOOL= ENABLE_OPENCL X11_BUILD_DEPENDS= ${LOCALBASE}/include/xcb/dri3.h:x11/libxcb X11_LIB_DEPENDS= libva-x11.so:multimedia/libva X11_CMAKE_BOOL= ENABLE_X11 ENABLE_X11_DRI3 WAYLAND_LIB_DEPENDS= libdrm_intel.so:graphics/libdrm \ libwayland-client.so:graphics/wayland WAYLAND_CMAKE_BOOL= ENABLE_WAYLAND TEST_BUILD_DEPENDS= googletest>0:devel/googletest TEST_USES= localbase:ldflags TEST_CMAKE_BOOL= BUILD_TESTS USE_SYSTEM_GTEST TEST_TEST_TARGET= test post-patch: # Pick git commit from port and use reproducible time @${REINPLACE_CMD} -e "/COMMAND/s/date/& -r `${AWK} '/TIMESTAMP/ \ { print \$$3 }' ${DISTINFO_FILE}`/" \ -e '/set( *git_commit/s/"[^"]*"/"${DISTVERSIONFULL}"/' \ ${WRKSRC}/builder/FindFunctions.cmake \ ${WRKSRC}/builder/FindGlobals.cmake # Don't depend on lang/intel-compute-runtime during build @${REINPLACE_CMD} -e 's,/etc[^[:space:]]*,/,' \ ${WRKSRC}/builder/FindOpenCL.cmake # Don't assume GCC and glibc libraries are available @${REINPLACE_CMD} -e 's/ -lstdc++ -ldl//' \ ${WRKSRC}/api/mfx_dispatch/linux/pkg-config*.cmake pre-install-TEST-on: do-test .include Index: head/multimedia/intel-media-sdk/distinfo =================================================================== --- head/multimedia/intel-media-sdk/distinfo (revision 542230) +++ head/multimedia/intel-media-sdk/distinfo (revision 542231) @@ -1,3 +1,5 @@ TIMESTAMP = 1593712248 SHA256 (Intel-Media-SDK-MediaSDK-intel-mediasdk-20.2.0_GH0.tar.gz) = accfd0358fbc5d62cf1f27f88f30de4226864a9dfd5ec5fb43c78fa36e4723ac SIZE (Intel-Media-SDK-MediaSDK-intel-mediasdk-20.2.0_GH0.tar.gz) = 10898869 +SHA256 (51602d7a5f5e.patch) = 3e2ee680440148ca0442890432fb42cfe40156437786514eb780c5759f84fb63 +SIZE (51602d7a5f5e.patch) = 2246 Index: head/multimedia/intel-media-sdk/files/patch-no-tracer =================================================================== --- head/multimedia/intel-media-sdk/files/patch-no-tracer (revision 542230) +++ head/multimedia/intel-media-sdk/files/patch-no-tracer (nonexistent) @@ -1,9 +0,0 @@ -https://github.com/Intel-Media-SDK/MediaSDK/issues/2209 - ---- tools/CMakeLists.txt.orig 2020-07-02 17:50:48 UTC -+++ tools/CMakeLists.txt -@@ -21,4 +21,3 @@ - add_subdirectory(asg-hevc) - add_subdirectory(bs_parser_hevc) - add_subdirectory(bs_parser_hevc/tools/hevc_fei_extractor) --add_subdirectory(tracer) Property changes on: head/multimedia/intel-media-sdk/files/patch-no-tracer ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/multimedia/intel-media-sdk/files/patch-gettid =================================================================== --- head/multimedia/intel-media-sdk/files/patch-gettid (nonexistent) +++ head/multimedia/intel-media-sdk/files/patch-gettid (revision 542231) @@ -0,0 +1,49 @@ +In file included from tools/tracer/dumps/dump_mfxstructures.cpp:32: +In file included from tools/tracer/dumps/../loggers/log.h:24: +In file included from tools/tracer/dumps/../loggers/log_console.h:23: +In file included from tools/tracer/dumps/../loggers/ilog.h:25: +tools/tracer/dumps/../loggers/thread_info.h:38:34: error: use of undeclared identifier 'SYS_gettid' + return (long)syscall(SYS_gettid); + ^ + +--- tools/tracer/loggers/thread_info.h.orig 2020-07-02 17:50:48 UTC ++++ tools/tracer/loggers/thread_info.h +@@ -24,8 +24,18 @@ + #include + #else + #include ++#if defined(__linux__) + #include ++#elif defined(__DragonFly__) || defined(__FreeBSD__) ++#include ++#elif defined(__NetBSD__) ++#include ++#elif defined(__sun) ++#include ++#else ++#include + #endif ++#endif + + class ThreadInfo + { +@@ -34,8 +44,18 @@ class ThreadInfo (public) + { + #if defined(_WIN32) || defined(_WIN64) + return (long)GetCurrentThreadId(); +- #else ++ #elif defined(__linux__) + return (long)syscall(SYS_gettid); ++ #elif defined(__DragonFly__) || defined(__FreeBSD__) ++ return (long)pthread_getthreadid_np(); ++ #elif defined(__NetBSD__) ++ return (long)_lwp_self(); ++ #elif defined(__OpenBSD__) ++ return (long)getthrid(); ++ #elif defined(__sun) ++ return (long)thr_self()(); ++ #else ++ return (long)(uintptr_t)pthread_self(); + #endif + }; + Property changes on: head/multimedia/intel-media-sdk/files/patch-gettid ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/multimedia/intel-media-sdk/files/patch-rtld =================================================================== --- head/multimedia/intel-media-sdk/files/patch-rtld (nonexistent) +++ head/multimedia/intel-media-sdk/files/patch-rtld (revision 542231) @@ -0,0 +1,28 @@ +RTLD_DEEPBIND isn't available on non-Linux. + +tools/tracer/tracer/tracer_linux.cpp:82:65: error: use of undeclared identifier 'RTLD_DEEPBIND' + loader->dlhandle = dlopen(g_mfxlib, RTLD_NOW|RTLD_LOCAL|RTLD_DEEPBIND); + ^ +tools/tracer/tracer/tracer_linux.cpp:84:76: error: use of undeclared identifier 'RTLD_DEEPBIND' + loader->dlhandle = dlopen(g_mfxlib_in_dir, RTLD_NOW|RTLD_LOCAL|RTLD_DEEPBIND); + ^ +tools/tracer/tracer/tracer_linux.cpp:188:65: error: use of undeclared identifier 'RTLD_DEEPBIND' + loader->dlhandle = dlopen(g_mfxlib, RTLD_NOW|RTLD_LOCAL|RTLD_DEEPBIND); + ^ +tools/tracer/tracer/tracer_linux.cpp:190:76: error: use of undeclared identifier 'RTLD_DEEPBIND' + loader->dlhandle = dlopen(g_mfxlib_in_dir, RTLD_NOW|RTLD_LOCAL|RTLD_DEEPBIND); + ^ + +--- tools/tracer/tracer/tracer_linux.cpp.orig 2020-07-02 17:50:48 UTC ++++ tools/tracer/tracer/tracer_linux.cpp +@@ -40,6 +40,10 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF S + #error Unsupported architecture + #endif + ++#if !defined(RTLD_DEEPBIND) ++ #define RTLD_DEEPBIND 0 ++#endif ++ + static const char* g_mfxlib; + static const char* g_mfxlib_in_dir; + Property changes on: head/multimedia/intel-media-sdk/files/patch-rtld ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/multimedia/intel-media-sdk/pkg-plist =================================================================== --- head/multimedia/intel-media-sdk/pkg-plist (revision 542230) +++ head/multimedia/intel-media-sdk/pkg-plist (revision 542231) @@ -1,59 +1,63 @@ bin/asg-hevc bin/hevc_fei_extractor +bin/mfx-tracer-config include/mfx/mfxadapter.h include/mfx/mfxastructures.h include/mfx/mfxaudio++.h include/mfx/mfxaudio.h include/mfx/mfxbrc.h include/mfx/mfxcamera.h include/mfx/mfxcommon.h include/mfx/mfxdefs.h include/mfx/mfxdispatcherprefixedfunctions.h include/mfx/mfxenc.h include/mfx/mfxfei.h include/mfx/mfxfeihevc.h include/mfx/mfxjpeg.h include/mfx/mfxla.h include/mfx/mfxmvc.h include/mfx/mfxpak.h include/mfx/mfxpcp.h include/mfx/mfxplugin++.h include/mfx/mfxplugin.h include/mfx/mfxsc.h include/mfx/mfxscd.h include/mfx/mfxsession.h include/mfx/mfxstructures.h include/mfx/mfxvideo++.h include/mfx/mfxvideo.h include/mfx/mfxvp8.h include/mfx/mfxvp9.h include/mfx/mfxvstructures.h +lib/libmfx-tracer.so +lib/libmfx-tracer.so.1 +lib/libmfx-tracer.so.1.33 lib/libmfx.so lib/libmfx.so.1 lib/libmfx.so.1.33 lib/libmfxhw%%ARCH_SUFX%%.so lib/libmfxhw%%ARCH_SUFX%%.so.1 lib/libmfxhw%%ARCH_SUFX%%.so.1.33 lib/mfx/libmfx_h264la_hw%%ARCH_SUFX%%.so lib/mfx/libmfx_hevc_fei_hw%%ARCH_SUFX%%.so lib/mfx/libmfx_hevcd_hw%%ARCH_SUFX%%.so lib/mfx/libmfx_hevce_hw%%ARCH_SUFX%%.so lib/mfx/libmfx_vp8d_hw%%ARCH_SUFX%%.so lib/mfx/libmfx_vp9d_hw%%ARCH_SUFX%%.so lib/mfx/libmfx_vp9e_hw%%ARCH_SUFX%%.so libdata/pkgconfig/libmfx.pc libdata/pkgconfig/libmfxhw%%ARCH_SUFX%%.pc libdata/pkgconfig/mfx.pc share/mfx/plugins.cfg %%WAYLAND%%share/mfx/samples/libmfx_wayland.so %%OPENCL%%share/mfx/samples/libsample_plugin_opencl.so share/mfx/samples/libsample_rotate_plugin.so share/mfx/samples/libvpp_plugin.a %%OPENCL%%share/mfx/samples/ocl_rotate.cl share/mfx/samples/sample_decode share/mfx/samples/sample_encode share/mfx/samples/sample_fei share/mfx/samples/sample_hevc_fei share/mfx/samples/sample_hevc_fei_abr share/mfx/samples/sample_multi_transcode share/mfx/samples/sample_vpp