blob: c930222179d870b86d5b1a2b3943ec3e65ea817d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
# 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}"
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
}
|