Diff zxing-cpp-2.3.0-r1 with a zxing-cpp-3.1.0

/usr/portage/media-libs/zxing-cpp/zxing-cpp-3.1.0.ebuild 2026-08-11 20:03:04.711460754 +0300
3 3

  
4 4
EAPI=8
5 5

  
6
MY_PV="${PV/_/-}"
7
MY_P="${PN}-${MY_PV}"
6 8
inherit cmake
7 9

  
8 10
DESCRIPTION="C++ Multi-format 1D/2D barcode image processing library"
9 11
HOMEPAGE="https://github.com/zxing-cpp/zxing-cpp"
10
SRC_URI="
11
	https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
12
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz
12 13
	test? (
13
		https://github.com/zxing-cpp/zxing-cpp/releases/download/v${PV}/test_samples.tar.gz
14
		https://github.com/zxing-cpp/zxing-cpp/releases/download/v${MY_PV}/test_samples.tar.gz
14 15
			-> ${P}-test-samples.tar.gz
15 16
		)
16 17
"
18
S="${WORKDIR}/${MY_P}"
17 19

  
18 20
LICENSE="Apache-2.0"
19
SLOT="0/3"
20
KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
21
IUSE="experimental test tools"
21
SLOT="0/4" # ZXING_SONAME in CMakeLists.txt
22
KEYWORDS="~amd64 ~riscv"
23

  
24
IUSE="test tools"
22 25
RESTRICT="!test? ( test )"
23 26

  
24 27
RDEPEND="
25
	experimental? (
26
		media-libs/zint:=
27
	)
28
	>=media-libs/zint-2.16.0:=
28 29
"
29
DEPEND="
30
	${RDEPEND}
30
DEPEND="${RDEPEND}
31
	dev-libs/stb
31 32
	test? (
32 33
		dev-cpp/gtest
33 34
		dev-libs/libfmt
34
		dev-libs/stb
35
	)
36
	tools? (
37
		dev-libs/stb
35
		media-libs/libwebp
38 36
	)
39 37
"
40 38

  
41 39
PATCHES=(
42
	"${FILESDIR}"/zxing-cpp-2.3.0-reverse-NDEBUG.patch
40
	"${FILESDIR}"/zxing-cpp-3.1.0-gcc16.patch
43 41
)
44 42

  
45 43
src_prepare() {
44
	mkdir "${T}/cmake" || die
45

  
46
	# Generate our own WebPConfig.cmake, bug #937031
47
	cat <<-EOF > "${T}/cmake/WebPConfig.cmake" || die
48
	find_package(PkgConfig REQUIRED)
49

  
50
	pkg_check_modules(WebP REQUIRED IMPORTED_TARGET libwebp)
51
	add_library(WebP::webp ALIAS PkgConfig::WebP)
52
	list(APPEND _cmake_import_check_targets WebP::webp )
53

  
54
	set(WEBP_VERSION \${WebP_VERSION})
55
	set(WEBP_INCLUDE_DIRS \${WebP_INCLUDE_DIR})
56
	set(WEBP_LIBRARIES "\${WebP_LIBRARIES}")
57
	EOF
58

  
59
	# automagic doxygen and fetches doxygen-awesome-css
60
	cmake_comment_add_subdirectory docs
61

  
46 62
	if use test ; then
47
		ln -s "${WORKDIR}"/test/samples "${S}"/test/samples || die
63
		ln -s "${WORKDIR}"/test/samples test/samples || die
48 64
	fi
49 65

  
50 66
	cmake_src_prepare
......
52 68

  
53 69
src_configure() {
54 70
	local mycmakeargs=(
71
		-DZXING_DEPENDENCIES=LOCAL # force find_package as REQUIRED
55 72
		-DZXING_USE_BUNDLED_ZINT=OFF
56
		# Build and install ZXingReader and ZXingWriter
57
		-DZXING_EXAMPLES=$(usex tools)
73

  
74
		-DZXING_EXAMPLES=$(usex tools) # Build and install ZXingReader and ZXingWriter
75
		-DZXING_WRITERS=BOTH # should be kept on until revdeps are ported away from OLD
76

  
58 77
		-DZXING_BLACKBOX_TESTS=$(usex test)
59 78
		-DZXING_UNIT_TESTS=$(usex test)
60
		-DZXING_DEPENDENCIES=LOCAL # force find_package as REQUIRED
61
		# https://github.com/zxing-cpp/zxing-cpp/blob/v2.3.0/README.md#supported-formats
62
		-DZXING_WRITERS=$(usex experimental BOTH OLD)
63
		-DZXING_EXPERIMENTAL_API=$(usex experimental)
64 79
	)
80
	use test && mycmakeargs+=( -DWebP_DIR="${T}/cmake" )
65 81
	cmake_src_configure
66 82
}
Thank you!