Files
guru/net-misc/megacmd/megacmd-2.5.2.ebuild
Takuya Wakazono 9da575d6bb net-misc/megacmd: new package, add 2.5.2
Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
2026-06-07 18:04:04 +09:00

87 lines
2.4 KiB
Bash

# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 cmake flag-o-matic
DESCRIPTION="Command Line Interactive and Scriptable Application to access MEGA"
HOMEPAGE="https://github.com/meganz/MEGAcmd"
MEGA_SDK_REV="fae76a36d60484657fbdf442b7b917ccc4fbad77" # commit of sdk submodule
MEGA_TAG_SUFFIX="Linux"
SRC_URI="
https://github.com/meganz/MEGAcmd/archive/refs/tags/${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
"
S="${WORKDIR}"/MEGAcmd-${PV}_${MEGA_TAG_SUFFIX}
LICENSE="BSD-2 GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="pcre"
RDEPEND="
dev-db/sqlite:3
dev-libs/crypto++:=
dev-libs/icu:=
dev-libs/libsodium:=
dev-libs/libuv:=
dev-libs/openssl:=
net-misc/curl
sys-fs/fuse:3=
sys-libs/readline:=
virtual/zlib:=
pcre? ( dev-libs/libpcre )
"
DEPEND="
${RDEPEND}
"
BDEPEND="
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}/${P}-cmake4.patch"
"${FILESDIR}/${P}-disable-vcpkg.patch"
"${FILESDIR}/${P}-fix-link.patch"
"${FILESDIR}/${P}-fix-prefix.patch"
"${FILESDIR}/${P}-rename-libcryptopp.patch"
)
src_prepare() {
rmdir sdk || die
mv "${WORKDIR}/sdk-${MEGA_SDK_REV}" sdk || die
cmake_src_prepare
}
src_configure() {
# https://github.com/meganz/sdk/issues/2679
append-cppflags -DNDEBUG
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
-DFULL_REQS=OFF
-DUSE_FREEIMAGE=OFF
-DUSE_PCRE=$(usex pcre)
)
cmake_src_configure
}
src_install() {
cmake_src_install
# https://github.com/meganz/MEGAcmd/blob/4b291975aafa7332ddfbf1a689455ebd972adff4/CMakeLists.txt#L468
insinto /usr/lib/sysctl.d
newins - 30-megacmd-inotify-limit.conf <<<"fs.inotify.max_user_watches = 524288"
newbashcomp src/client/megacmd_completion.sh mega-cmd
bashcomp_alias mega-cmd mega-{attr,backup,cancel,cat,cd,cmd-server,configure,confirm,confirmcancel,cp,login} \
mega-{ftp,proxy,fuse-enable,ipc,sync,killsession,passwd,version,invite,log,mount,mv,https,session,share} \
mega-{tree,sync-ignore,quit,fuse-add,mkdir,pwd,find,exec,transfers,signup,debug,lpwd,help,deleteversions} \
mega-{sync-issues,exclude,preview,get,fuse-config,whoami,graphics,fuse-remove,webdav,sync-config,rm,reload} \
mega-{thumbnail,du,put,df,users,permissions,userattr,errorcode,ls,mediainfo,lcd,fuse-disable,export,import} \
mega-{showpcr,speedlimit,fuse-show,logout}
}