1
0
Fork 0
oh_my_little_overlay/net-misc/megasync/megasync-9999.ebuild

177 lines
3.6 KiB
Bash
Raw Normal View History

2024-11-23 04:15:11 +05:00
# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic qmake-utils xdg
DESCRIPTION="The official Qt-based program for syncing your MEGA account in your PC"
HOMEPAGE="
https://mega.io
https://github.com/meganz/MEGAsync
"
if [[ ${PV} == 9999 ]];then
inherit git-r3
EGIT_REPO_URI="https://github.com/meganz/MEGAsync"
EGIT_BRANCH="master"
EGIT_SUBMODULES=( '*' )
else
MEGA_SDK_REV="eb8dba09149e1aad0210c3591f3ef6e50022f714" # commit of src/MEGASync/mega submodule
MEGA_TAG_SUFFIX="Linux"
SRC_URI="
https://github.com/meganz/MEGAsync/archive/v${PV}_${MEGA_TAG_SUFFIX}.tar.gz -> ${P}.tar.gz
https://github.com/meganz/sdk/archive/${MEGA_SDK_REV}.tar.gz -> ${PN}-sdk-${PV}.tar.gz
"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}"/MEGAsync-${PV}_${MEGA_TAG_SUFFIX}
fi
LICENSE="MEGA"
SLOT="0"
IUSE="dolphin mediainfo nautilus nemo thumbnail thunar"
DEPEND="
dev-db/sqlite:3
dev-libs/crypto++:=
dev-libs/icu:=
dev-libs/libsodium:=
dev-libs/libuv:=
dev-libs/openssl:0=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtdeclarative:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtimageformats:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
net-dns/c-ares:=
net-misc/curl[ssl]
sys-libs/zlib
x11-libs/libxcb:=
dolphin? (
kde-apps/dolphin:5
kde-frameworks/kcoreaddons:5
kde-frameworks/kio:5
kde-frameworks/kwidgetsaddons:5
)
mediainfo? (
media-libs/libmediainfo
media-libs/libzen
)
nautilus? (
dev-libs/glib:2
>=gnome-base/nautilus-43
)
nemo? (
dev-libs/glib:2
gnome-extra/nemo
)
thumbnail? (
media-libs/freeimage
media-video/ffmpeg:=
)
thunar? ( xfce-base/thunar:= )
"
RDEPEND="
${DEPEND}
dev-qt/qtquickcontrols:5
dev-qt/qtquickcontrols2:5
"
BDEPEND="
dev-qt/linguist-tools:5
dolphin? ( kde-frameworks/extra-cmake-modules )
"
PATCHES=(
"${FILESDIR}/${PN}-4.10.0.0_ffmpeg6.patch"
"${FILESDIR}/${PN}-4.10.0.0_fix-build.patch"
"${FILESDIR}/${PN}-5.3.0.0-link-zlib.patch"
"${FILESDIR}/${PN}-5.3.0.0-fix-install-dir.patch"
"${FILESDIR}/${PN}-5.3.0.0-rename-libcryptopp.patch"
)
BUILD_DIR_DOLPHIN="${S}_dolphin"
dolphin_run() {
if use dolphin; then
cd "${S}/src/MEGAShellExtDolphin" || die
BUILD_DIR="${BUILD_DIR_DOLPHIN}" CMAKE_USE_DIR="${S}/src/MEGAShellExtDolphin" "$@"
fi
}
nautilus_run() {
if use nautilus; then
cd "${S}/src/MEGAShellExtNautilus" || die
"$@"
fi
}
nemo_run() {
if use nemo; then
cd "${S}/src/MEGAShellExtNemo" || die
"$@"
fi
}
thunar_run() {
if use thunar; then
cd "${S}/src/MEGAShellExtThunar" || die
"$@"
fi
}
src_prepare() {
if [[ ${PV} != 9999 ]]; then
rmdir src/MEGASync/mega || die
mv "${WORKDIR}/sdk-${MEGA_SDK_REV}" src/MEGASync/mega || die
fi
cmake_src_prepare
}
src_configure() {
# https://github.com/meganz/sdk/issues/2679
append-cppflags -DNDEBUG
local mycmakeargs=(
# build internal libs as static
-DBUILD_SHARED_LIBS=OFF
-DCMAKE_MODULE_PATH="${S}/src/MEGASync/mega/contrib/cmake/modules/packages"
-DENABLE_DESKTOP_UPDATE_GEN=OFF
-DUSE_FFMPEG=$(usex thumbnail)
-DUSE_FREEIMAGE=$(usex thumbnail)
-DUSE_MEDIAINFO=$(usex mediainfo)
-DUSE_PDFIUM=OFF
-DUSE_READLINE=OFF
)
cmake_src_configure
unset mycmakeargs
dolphin_run cmake_src_configure
nautilus_run eqmake5
nemo_run eqmake5
thunar_run eqmake5
}
src_compile() {
cmake_src_compile
dolphin_run cmake_src_compile
nautilus_run emake
nemo_run emake
thunar_run emake
}
src_install() {
cmake_src_install
dolphin_run cmake_src_install
nautilus_run emake INSTALL_ROOT="${D}" install
nemo_run emake INSTALL_ROOT="${D}" install
thunar_run emake INSTALL_ROOT="${D}" install
}