Diff libheif-1.23.1 with a libheif-9999

/usr/portage/media-libs/libheif/libheif-9999.ebuild 2026-09-22 20:03:04.855155802 +0300
18 18

  
19 19
LICENSE="GPL-3 MIT"
20 20
SLOT="0/$(ver_cut 1-2)"
21
IUSE="+aom dav1d +de265 doc ffmpeg gdk-pixbuf gui +jpeg +jpeg2k +kvazaar openh264 rav1e svt-av1 test test-full +threads tools +webp x264 x265"
22
# IUSE+=" vvdec vvenc"
23
REQUIRED_USE="test-full? ( test )"
21
IUSE="+aom dav1d +de265 doc ffmpeg gdk-pixbuf geotiff gui +jpeg +jpeg2k +kvazaar openh264 rav1e svt-av1 test test-full +threads tools +webp x264 x265"
22
# IUSE+=" uvg266 vvdec vvenc"
23
REQUIRED_USE="
24
	test-full? ( test )
25
"
24 26
RESTRICT="!test? ( test )"
25 27

  
26 28
BDEPEND="
......
29 31
		media-gfx/graphviz
30 32
	)
31 33
"
32
DEPEND="
33
	media-libs/libpng:=[${MULTILIB_USEDEP}]
34
	media-libs/tiff:=[${MULTILIB_USEDEP}]
35
	virtual/zlib:=[${MULTILIB_USEDEP}]
34
RDEPEND="
36 35
	aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] )
37 36
	dav1d? ( media-libs/dav1d:=[${MULTILIB_USEDEP}] )
38 37
	de265? ( media-libs/libde265[${MULTILIB_USEDEP}] )
......
44 43
	openh264? ( media-libs/openh264:=[${MULTILIB_USEDEP}] )
45 44
	rav1e? ( media-video/rav1e:= )
46 45
	svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] )
46
	test-full? (
47
		app-arch/brotli:=[${MULTILIB_USEDEP}]
48
		virtual/zlib:=[${MULTILIB_USEDEP}]
49
	)
47 50
	tools? (
51
		media-libs/libpng:=[${MULTILIB_USEDEP}]
52
		geotiff? (
53
			media-libs/tiff:=[${MULTILIB_USEDEP}]
54
			sci-libs/libgeotiff:=
55
		)
48 56
		gui? (
49 57
			media-libs/libsdl2[${MULTILIB_USEDEP}]
50 58
		)
......
53 61
	x264? ( media-libs/x264:=[${MULTILIB_USEDEP}] )
54 62
	x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
55 63
"
56
# 	vvdec? ( >=media-libs/vvdec-3.0.0:=::guru[${MULTILIB_USEDEP}] )
57
# 	vvenc? ( media-libs/vvenc:=::guru[${MULTILIB_USEDEP}] )
58
RDEPEND="${DEPEND}"
64
	# uvg266? ( media-libs/uvg266:=[${MULTILIB_USEDEP}] )
65
	# vvdec? ( >=media-libs/vvdec-3.0.0:=::guru[${MULTILIB_USEDEP}] )
66
	# vvenc? ( media-libs/vvenc:=::guru[${MULTILIB_USEDEP}] )
67
DEPEND="${RDEPEND}"
59 68

  
60 69
MULTILIB_WRAPPED_HEADERS=(
61 70
	/usr/include/libheif/heif_version.h
......
67 76
	fi
68 77
}
69 78

  
79
src_prepare() {
80
	cmake_src_prepare
81

  
82
	if use geotiff; then
83
		sed -e 's:geotiff/::g' -i heifio/CMakeLists.txt heifio/decoder_tiff.cc || die
84
	fi
85
}
86

  
70 87
multilib_src_configure() {
71 88
	local mycmakeargs=(
72
		$(cmake_use_find_package doc Doxygen)
89
		-DBUILD_DOCUMENTATION=$(usex doc)
73 90
		-DBUILD_TESTING=$(usex test)
74 91
		-DENABLE_PLUGIN_LOADING=true
75 92
		-DWITH_LIBDE265=$(usex de265)
......
86 103
		-DWITH_RAV1E=$(multilib_native_usex rav1e)
87 104
		-DWITH_SvtEnc=$(usex svt-av1)
88 105
		-DWITH_LIBSHARPYUV=$(usex webp)
106
		# -DWITH_UVG266=$(usex uvg266) # uvg266 not yet packaged
89 107
		# -DWITH_VVDEC=$(usex vvdec) # vvdec not yet packaged, in ::guru
90 108
		# -DWITH_VVENC=$(usex vvenc) # vvenc not yet packaged, in ::guru
109
		-DWITH_WEBCODECS="no" # requires emscripten "$(usex de265)"
91 110
		-DWITH_X264=$(usex x264)
92 111
		-DWITH_X265=$(usex x265)
93 112
		-DWITH_KVAZAAR=$(usex kvazaar)
......
95 114
		-DWITH_JPEG_ENCODER=$(usex jpeg)
96 115
		-DWITH_OpenJPEG_DECODER=$(usex jpeg2k)
97 116
		-DWITH_OpenJPEG_ENCODER=$(usex jpeg2k)
117
		-DWITH_OPENJPH_ENCODER=OFF
118
		-DWITH_UNCOMPRESSED_CODEC=ON
119

  
120
		-DWITH_LIBPNG_INTERNAL="no"
121
		$(cmake_use_find_package jpeg JPEG)
122
		$(cmake_use_find_package tools PNG)
123
		$(cmake_use_find_package webp WEBP)
124
		$(cmake_use_find_package geotiff TIFF)
98 125
	)
99 126

  
127
	if multilib_native_use geotiff; then
128
		mycmakeargs+=(
129
			# depends on tiff being found
130
			-DWITH_GEOTIFF="yes"
131
		)
132
	fi
133

  
100 134
	# Allow tests that rely on options not normally enabled
101 135
	# https://github.com/strukturag/libheif/blob/v1.20.1/tests/CMakeLists.txt#L36-L46
102 136
	# https://github.com/strukturag/libheif/blob/v1.20.1/tests/CMakeLists.txt#L82-L101
......
104 138
		mycmakeargs+=(
105 139
			-DENABLE_EXPERIMENTAL_FEATURES=ON
106 140
			-DWITH_REDUCED_VISIBILITY=OFF
107
			-DWITH_UNCOMPRESSED_CODEC=ON
108 141
		)
109 142
	fi
110 143

  
111 144
	cmake_src_configure
112 145
}
113 146

  
147
multilib_src_test() {
148
	local CMAKE_SKIP_TESTS=()
149

  
150
	if ! use test-full; then
151
		CMAKE_SKIP_TESTS+=(
152
			"^encode_grid$"
153
			"^region$"
154
			"^text$"
155
			"^component_descriptions$"
156
		)
157
	fi
158

  
159
	cmake_src_test
160
}
161

  
162
multilib_src_install() {
163
	if multilib_native_use doc; then
164
		local HTML_DOCS=( "${BUILD_DIR}"/apidoc/html/. )
165
	fi
166

  
167
	cmake_src_install
168
}
169

  
114 170
pkg_postinst() {
115 171
	xdg_pkg_postinst
116 172
	use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update
Thank you!