libultrahdr: init at 1.4.0 (#451276)
This commit is contained in:
@@ -0,0 +1,39 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 5128335..bacf495 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -536,16 +536,6 @@ if(UHDR_BUILD_TESTS)
|
||||||
|
set(GTEST_LIB_PREFIX ${GTEST_BINARY_DIR}/lib/)
|
||||||
|
endif()
|
||||||
|
set(GTEST_BOTH_LIBRARIES ${GTEST_LIB_PREFIX}${GTEST_LIB} ${GTEST_LIB_PREFIX}${GTEST_LIB_MAIN})
|
||||||
|
- ExternalProject_Add(${GTEST_TARGET_NAME}
|
||||||
|
- GIT_REPOSITORY https://github.com/google/googletest
|
||||||
|
- GIT_TAG v1.14.0
|
||||||
|
- PREFIX ${GTEST_PREFIX_DIR}
|
||||||
|
- SOURCE_DIR ${GTEST_SOURCE_DIR}
|
||||||
|
- BINARY_DIR ${GTEST_BINARY_DIR}
|
||||||
|
- CMAKE_ARGS ${UHDR_CMAKE_ARGS}
|
||||||
|
- BUILD_BYPRODUCTS ${GTEST_BOTH_LIBRARIES}
|
||||||
|
- INSTALL_COMMAND ""
|
||||||
|
- )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(UHDR_BUILD_BENCHMARK)
|
||||||
|
@@ -675,16 +665,15 @@ endif()
|
||||||
|
|
||||||
|
if(UHDR_BUILD_TESTS)
|
||||||
|
add_executable(ultrahdr_unit_test ${UHDR_TEST_SRCS_LIST})
|
||||||
|
- add_dependencies(ultrahdr_unit_test ${GTEST_TARGET_NAME} ${UHDR_CORE_LIB_NAME})
|
||||||
|
target_compile_options(ultrahdr_unit_test PRIVATE ${UHDR_WERROR_FLAGS})
|
||||||
|
target_include_directories(ultrahdr_unit_test PRIVATE
|
||||||
|
${PRIVATE_INCLUDE_DIR}
|
||||||
|
- ${GTEST_INCLUDE_DIRS}
|
||||||
|
+ @GTEST_INCLUDE_DIRS@
|
||||||
|
)
|
||||||
|
if(UHDR_BUILD_FUZZERS)
|
||||||
|
target_link_options(ultrahdr_unit_test PRIVATE -fsanitize=fuzzer-no-link)
|
||||||
|
endif()
|
||||||
|
- target_link_libraries(ultrahdr_unit_test ${UHDR_CORE_LIB_NAME} ${GTEST_BOTH_LIBRARIES})
|
||||||
|
+ target_link_libraries(ultrahdr_unit_test ${UHDR_CORE_LIB_NAME} -lgtest -lgtest_main)
|
||||||
|
add_test(NAME UHDRUnitTests, COMMAND ultrahdr_unit_test)
|
||||||
|
endif()
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
replaceVars,
|
||||||
|
cmake,
|
||||||
|
ninja,
|
||||||
|
pkg-config,
|
||||||
|
libjpeg,
|
||||||
|
gtest,
|
||||||
|
ctestCheckHook,
|
||||||
|
versionCheckHook,
|
||||||
|
testers,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
version = "1.4.0";
|
||||||
|
pname = "libultrahdr";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "google";
|
||||||
|
repo = "libultrahdr";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-SLhHiwuyHzVx/Kv+eBy8LzHTnShKXlJoszxZNPATbhs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"dev"
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(replaceVars ./gtest.patch {
|
||||||
|
GTEST_INCLUDE_DIRS = "${lib.getDev gtest}/include";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
# CMake incorrect absolute include/lib paths: https://github.com/NixOS/nixpkgs/issues/144170
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace cmake/libuhdr.pc.in \
|
||||||
|
--replace-fail \
|
||||||
|
'libdir=''${prefix}/@CMAKE_INSTALL_LIBDIR@' \
|
||||||
|
'libdir=@CMAKE_INSTALL_FULL_LIBDIR@' \
|
||||||
|
--replace-fail \
|
||||||
|
'includedir=''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@' \
|
||||||
|
'includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@'
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
(lib.cmakeBool "UHDR_BUILD_TESTS" true)
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
libjpeg
|
||||||
|
gtest
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
ctestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
nativeInstallCheckInputs = [
|
||||||
|
versionCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Reference codec for the Ultra HDR format";
|
||||||
|
longDescription = ''
|
||||||
|
Ultra HDR is a true HDR image format, and is backcompatible. libultrahdr
|
||||||
|
is the reference codec for the Ultra HDR format. The codecs that support
|
||||||
|
the format can render the HDR intent of the image on HDR displays; other
|
||||||
|
codecs can still decode and display the SDR intent of the image.
|
||||||
|
'';
|
||||||
|
homepage = "https://developer.android.com/media/platform/hdr-image-format";
|
||||||
|
changelog = "https://github.com/google/libultrahdr/releases/tag/v${finalAttrs.version}";
|
||||||
|
pkgConfigModules = [ "libuhdr" ];
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
yzx9
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
license = with lib.licenses; [
|
||||||
|
asl20
|
||||||
|
];
|
||||||
|
mainProgram = "ultrahdr_app";
|
||||||
|
};
|
||||||
|
})
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
libwebp,
|
libwebp,
|
||||||
libjxl,
|
libjxl,
|
||||||
libheif,
|
libheif,
|
||||||
|
libultrahdr,
|
||||||
opencolorio,
|
opencolorio,
|
||||||
openexr,
|
openexr,
|
||||||
openjph,
|
openjph,
|
||||||
@@ -53,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
libpng
|
libpng
|
||||||
libtiff
|
libtiff
|
||||||
libwebp
|
libwebp
|
||||||
|
libultrahdr
|
||||||
opencolorio
|
opencolorio
|
||||||
openexr
|
openexr
|
||||||
openjph
|
openjph
|
||||||
|
|||||||
Reference in New Issue
Block a user