diff --git a/media-libs/x265/patches/x265-3.4.patchset b/media-libs/x265/patches/x265-3.4.patchset new file mode 100644 index 000000000..39d46a308 --- /dev/null +++ b/media-libs/x265/patches/x265-3.4.patchset @@ -0,0 +1,93 @@ +From 8402f16821af64a25e5ef322acfd96a73b045316 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Sun, 28 Dec 2014 07:11:55 +0000 +Subject: Check if threading library needs to be linked separately + + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 1d1a613..847acff 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -85,7 +85,8 @@ else() + endif() + + if(UNIX) +- list(APPEND PLATFORM_LIBS pthread) ++ find_package(Threads) ++ list(APPEND PLATFORM_LIBS ${CMAKE_THREAD_LIBS_INIT}) + find_library(LIBRT rt) + if(LIBRT) + list(APPEND PLATFORM_LIBS rt) +-- +2.28.0 + + +From e091dc16b41c3116dbf7c68087b8f7ab6a505f17 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Sun, 28 Dec 2014 07:13:56 +0000 +Subject: Add an option to adjust headers installation path + + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 847acff..6a7ff99 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -373,6 +373,7 @@ endif() + # Build options + set(LIB_INSTALL_DIR lib CACHE STRING "Install location of libraries") + set(BIN_INSTALL_DIR bin CACHE STRING "Install location of executables") ++set(INCLUDE_INSTALL_DIR include CACHE STRING "Install location of headers") + set(EXTRA_LIB "" CACHE STRING "Extra libraries to link against") + set(EXTRA_LINK_FLAGS "" CACHE STRING "Extra link flags") + if(EXTRA_LINK_FLAGS) +-- +2.28.0 + + +From af8cd14ec41104bc896acf26ce336ae295bf3b6d Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Sun, 28 Dec 2014 07:14:34 +0000 +Subject: Add Haiku version of adjusting thread priority + + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 6a7ff99..2db73a3 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -600,7 +600,8 @@ if(SVTHEVC_FOUND) + install(FILES "${SVT_HEVC_LIBRARY}" DESTINATION ${LIB_INSTALL_DIR}) + endif() + +-install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include) ++install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" ++ DESTINATION "${INCLUDE_INSTALL_DIR}") + if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED)) + if(MSVC_IDE) + install(FILES "${PROJECT_BINARY_DIR}/Debug/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) +-- +2.28.0 + + +From da3bdfd81ff1b5506ada6a9a3c83ed6a882afa4a Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Fri, 25 Oct 2019 21:18:33 +0200 +Subject: avoid using nice. + + +diff --git a/source/common/threadpool.cpp b/source/common/threadpool.cpp +index 2db7a14..0df90c8 100644 +--- a/source/common/threadpool.cpp ++++ b/source/common/threadpool.cpp +@@ -118,7 +118,9 @@ void WorkerThread::threadMain() + #if _WIN32 + SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL); + #else ++#ifndef __HAIKU__ + __attribute__((unused)) int val = nice(10); ++#endif + #endif + + m_pool.setCurrentThreadAffinity(); +-- +2.28.0 + diff --git a/media-libs/x265/x265-3.4.recipe b/media-libs/x265/x265-3.4.recipe new file mode 100644 index 000000000..75b08e29a --- /dev/null +++ b/media-libs/x265/x265-3.4.recipe @@ -0,0 +1,73 @@ +SUMMARY="H.265/HEVC video encoder" +DESCRIPTION="x265 is a full-fledged video encoder for the HEVC video format \ +(also known as High Efficiency Video Coding, ISO/IEC 23008-2, MPEG-H Part 2, \ +and ITU-T H.265). HEVC is a direct successor to the earlier H.264/MPEG-4 AVC \ +video compression standard, aiming to achieve the same video quality at half \ +the bit rate. x265 is a free software project implementing that standard." +HOMEPAGE="http://x265.org/" +COPYRIGHT="2013-2020 x265 Project" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://bitbucket.org/multicoreware/x265_git/get/$portVersion.tar.gz" +CHECKSUM_SHA256="7f2771799bea0f53b5ab47603d5bea46ea2a221e047a7ff398115e9976fd5f86" +# BitBucket sucks +SOURCE_DIR="multicoreware-x265_git-a4f320054d67" +PATCHES="x265-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="!x86_gcc2 x86" + +PROVIDES=" + x265$secondaryArchSuffix = $portVersion + cmd:x265 = $portVersion + lib:libx265$secondaryArchSuffix = 192 + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +PROVIDES_devel=" + x265${secondaryArchSuffix}_devel = $portVersion + devel:libx265$secondaryArchSuffix = 192 + " +REQUIRES_devel=" + x265$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:yasm + " + +BUILD() +{ + # Can't put this in SOURCE_DIR as cmake uses a file in the root + # directory to find out the version of x265 + cd source + + cmake -DCMAKE_INSTALL_PREFIX:PATH=$prefix \ + -DLIB_INSTALL_DIR:PATH=$relativeLibDir \ + -DBIN_INSTALL_DIR:PATH=bin \ + -DINCLUDE_INSTALL_DIR:PATH=$relativeIncludeDir + make $jobArgs VERBOSE=1 +} + +INSTALL() +{ + cd source + make install + + rm -f $libDir/libx265.a + + prepareInstalledDevelLibs libx265 + fixPkgconfig + + # devel package + packageEntries devel \ + $developDir +} diff --git a/media-libs/x265/x265-3.2.recipe b/media-libs/x265/x265_179-3.2.recipe similarity index 82% rename from media-libs/x265/x265-3.2.recipe rename to media-libs/x265/x265_179-3.2.recipe index 01b4db825..1aa1ea0a0 100644 --- a/media-libs/x265/x265-3.2.recipe +++ b/media-libs/x265/x265_179-3.2.recipe @@ -18,22 +18,13 @@ ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="!x86_gcc2 x86" PROVIDES=" - x265$secondaryArchSuffix = $portVersion - cmd:x265 = $portVersion + x265_179$secondaryArchSuffix = $portVersion lib:libx265$secondaryArchSuffix = 179 " REQUIRES=" haiku$secondaryArchSuffix " -PROVIDES_devel=" - x265${secondaryArchSuffix}_devel = $portVersion - devel:libx265$secondaryArchSuffix = 179 - " -REQUIRES_devel=" - x265$secondaryArchSuffix == $portVersion base - " - BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel " @@ -62,12 +53,8 @@ INSTALL() cd source make install - rm -f $libDir/libx265.a - prepareInstalledDevelLibs libx265 fixPkgconfig - # devel package - packageEntries devel \ - $developDir + rm -rf $prefix/bin $developDir }