3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
if [[ ${PV} = *9999* ]]; then
|
7 |
|
EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
|
8 |
|
inherit git-r3
|
9 |
|
else
|
10 |
|
SRC_URI="https://github.com/${PN^}/${PN}/releases/download/v${PV}/${P}-Source.tar.gz"
|
11 |
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
|
12 |
|
S="${WORKDIR}/${P}-Source"
|
13 |
|
fi
|
14 |
|
|
15 |
6 |
PYTHON_COMPAT=( python3_{10..11} )
|
16 |
7 |
inherit cmake-multilib python-any-r1
|
17 |
8 |
|
18 |
9 |
DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
|
19 |
10 |
HOMEPAGE="https://exiv2.org/"
|
20 |
11 |
|
|
12 |
if [[ ${PV} == *9999* ]]; then
|
|
13 |
EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
|
|
14 |
inherit git-r3
|
|
15 |
else
|
|
16 |
SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
17 |
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
|
|
18 |
fi
|
|
19 |
|
21 |
20 |
LICENSE="GPL-2"
|
22 |
|
# In 0.27.5, ABI seemed to be broken for bmff functions
|
23 |
|
SLOT="0/27.5"
|
|
21 |
# Upstream hope to have stable ABI in 1.0. Until then, go off ${PV}.
|
|
22 |
# We may be able to change it to $(ver_cut 1-2) once e.g.
|
|
23 |
# https://github.com/Exiv2/exiv2/pull/917 is merged.
|
|
24 |
SLOT="0/$(ver_cut 1-2)"
|
24 |
25 |
IUSE="+bmff doc examples nls +png test webready +xmp"
|
25 |
26 |
RESTRICT="!test? ( test )"
|
26 |
27 |
|
... | ... | |
29 |
30 |
nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
|
30 |
31 |
png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
31 |
32 |
webready? (
|
32 |
|
>net-libs/libssh-0.9.1[sftp,${MULTILIB_USEDEP}]
|
33 |
33 |
net-misc/curl[${MULTILIB_USEDEP}]
|
34 |
34 |
)
|
35 |
35 |
xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
|
36 |
36 |
"
|
37 |
|
DEPEND="${DEPEND}
|
|
37 |
DEPEND="
|
|
38 |
${DEPEND}
|
38 |
39 |
test? ( dev-cpp/gtest )
|
39 |
40 |
"
|
40 |
41 |
BDEPEND="
|
... | ... | |
45 |
46 |
media-gfx/graphviz
|
46 |
47 |
virtual/pkgconfig
|
47 |
48 |
)
|
|
49 |
test? ( ${PYTHON_DEPS} )
|
48 |
50 |
nls? ( sys-devel/gettext )
|
49 |
51 |
"
|
50 |
52 |
|
51 |
53 |
DOCS=( README.md doc/ChangeLog doc/cmd.txt )
|
52 |
54 |
|
53 |
55 |
pkg_setup() {
|
54 |
|
use doc && python-any-r1_pkg_setup
|
|
56 |
if use doc || use test ; then
|
|
57 |
python-any-r1_pkg_setup
|
|
58 |
fi
|
55 |
59 |
}
|
56 |
60 |
|
57 |
61 |
src_prepare() {
|
... | ... | |
67 |
71 |
|
68 |
72 |
multilib_src_configure() {
|
69 |
73 |
local mycmakeargs=(
|
70 |
|
-DCMAKE_CXX_STANDARD=14
|
71 |
74 |
-DEXIV2_BUILD_SAMPLES=NO
|
|
75 |
-DEXIV2_ENABLE_BROTLI=OFF
|
72 |
76 |
-DEXIV2_ENABLE_NLS=$(usex nls)
|
73 |
77 |
-DEXIV2_ENABLE_PNG=$(usex png)
|
74 |
78 |
-DEXIV2_ENABLE_CURL=$(usex webready)
|
75 |
|
-DEXIV2_ENABLE_SSH=$(usex webready)
|
|
79 |
-DEXIV2_ENABLE_INIH=OFF # multilib/libdir logic is broken
|
76 |
80 |
-DEXIV2_ENABLE_WEBREADY=$(usex webready)
|
77 |
81 |
-DEXIV2_ENABLE_XMP=$(usex xmp)
|
78 |
82 |
-DEXIV2_ENABLE_BMFF=$(usex bmff)
|
|
83 |
|
|
84 |
# We let users control this.
|
|
85 |
-DBUILD_WITH_CCACHE=OFF
|
|
86 |
# Our toolchain sets this by default.
|
|
87 |
-DBUILD_WITH_STACK_PROTECTOR=OFF
|
|
88 |
|
79 |
89 |
$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
|
80 |
90 |
$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
|
81 |
91 |
$(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
|
82 |
92 |
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
|
83 |
93 |
)
|
84 |
94 |
|
|
95 |
if use doc || use test ; then
|
|
96 |
mycmakeargs+=(
|
|
97 |
-DPython3_EXECUTABLE="${PYTHON}"
|
|
98 |
)
|
|
99 |
fi
|
|
100 |
|
85 |
101 |
cmake_src_configure
|
86 |
102 |
}
|
87 |
103 |
|