108 lines
2.4 KiB
Bash
108 lines
2.4 KiB
Bash
|
# Copyright 1999-2021 Gentoo Authors
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
EAPI=7
|
||
|
|
||
|
inherit flag-o-matic qmake-utils autotools db-use
|
||
|
if [[ -z ${PV%%*9999} ]]; then
|
||
|
inherit git-r3
|
||
|
EGIT_REPO_URI="https://github.com/${PN%-*}/${PN#*-}.git"
|
||
|
else
|
||
|
SRC_URI="https://github.com/meganz/sdk/archive/v${PV}d.tar.gz -> ${P}.tar.gz"
|
||
|
S="${WORKDIR}/sdk-${PV}d"
|
||
|
RESTRICT="primaryuri"
|
||
|
KEYWORDS="~amd64 ~x86"
|
||
|
fi
|
||
|
DESCRIPTION="MEGA C++ SDK"
|
||
|
HOMEPAGE="https://github.com/meganz/sdk"
|
||
|
|
||
|
LICENSE="BSD-2"
|
||
|
SLOT="0/30701"
|
||
|
IUSE="examples ffmpeg freeimage fuse hardened inotify libuv mediainfo qt raw +sqlite test"
|
||
|
REQUIRED_USE="
|
||
|
examples? ( sqlite )
|
||
|
fuse? ( examples )
|
||
|
"
|
||
|
# tests require a working mega.nz account and login details provided via $MEGA_EMAIL and $MEGA_PWD
|
||
|
RESTRICT+=" test"
|
||
|
|
||
|
RDEPEND="
|
||
|
dev-libs/crypto++
|
||
|
sys-libs/zlib
|
||
|
dev-libs/libpcre:3[cxx]
|
||
|
dev-libs/openssl:0
|
||
|
net-dns/c-ares
|
||
|
net-misc/curl
|
||
|
sqlite? ( dev-db/sqlite:3 )
|
||
|
!sqlite? ( sys-libs/db:*[cxx] )
|
||
|
examples? (
|
||
|
sys-libs/readline:0
|
||
|
fuse? ( sys-fs/fuse:0 )
|
||
|
)
|
||
|
freeimage? ( media-libs/freeimage )
|
||
|
libuv? ( dev-libs/libuv )
|
||
|
dev-libs/libsodium
|
||
|
mediainfo? ( media-libs/libmediainfo )
|
||
|
ffmpeg? ( media-video/ffmpeg )
|
||
|
raw? ( media-libs/libraw )
|
||
|
"
|
||
|
DEPEND="
|
||
|
${RDEPEND}
|
||
|
test? ( dev-cpp/gtest )
|
||
|
"
|
||
|
|
||
|
pkg_setup() {
|
||
|
use sqlite || append-cppflags "-I$(db_includedir)"
|
||
|
}
|
||
|
|
||
|
src_prepare() {
|
||
|
default
|
||
|
use qt && sed \
|
||
|
-e '/SOURCES += src\// s:+:-:' \
|
||
|
-e '/!exists.*config.h/ s:!::' \
|
||
|
-e 's:CONFIG(USE_MEGAAPI) {:&\nLIBS += -lmega:' \
|
||
|
-e '/^unix:!macx {/,/^}/d' \
|
||
|
-i bindings/qt/sdk.pri
|
||
|
use test && sed \
|
||
|
-e 's:\$(GTEST_DIR)/lib/lib\([^ ]\+\)\.la:-l\1:g' \
|
||
|
-e 's: tests/tool_purge_account::' \
|
||
|
-i tests/include.am
|
||
|
eautoreconf
|
||
|
}
|
||
|
|
||
|
src_configure() {
|
||
|
local myeconfargs=(
|
||
|
--enable-chat
|
||
|
$(use_enable inotify)
|
||
|
$(use_enable hardened gcc-hardening)
|
||
|
$(use_with libuv)
|
||
|
$(use_with !sqlite db)
|
||
|
$(use_with sqlite)
|
||
|
$(use_enable examples)
|
||
|
$(use_enable test tests)
|
||
|
$(use_with freeimage)
|
||
|
$(use_with fuse)
|
||
|
$(use_with mediainfo libmediainfo)
|
||
|
$(use_with ffmpeg)
|
||
|
$(use_with raw libraw)
|
||
|
)
|
||
|
use test && myeconfargs+=(
|
||
|
--with-gtest="${EPREFIX}/usr"
|
||
|
)
|
||
|
econf "${myeconfargs[@]}"
|
||
|
}
|
||
|
|
||
|
src_test() {
|
||
|
export MEGA_EMAIL MEGA_PWD MEGA_EMAIL_AUX="${MEGA_EMAIL}" MEGA_PWD_AUX="${MEGA_PWD}"
|
||
|
default
|
||
|
}
|
||
|
|
||
|
src_install() {
|
||
|
default
|
||
|
doheader -r include/mega
|
||
|
|
||
|
use qt || return
|
||
|
insinto /usr/share/${PN}/bindings/qt
|
||
|
doins bindings/qt/*.{h,cpp,pri}
|
||
|
}
|