| 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 |
}
|