mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-22 21:43:03 -04:00
net-misc/megacmd: new package, add 2.5.2
Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
This commit is contained in:
2
net-misc/megacmd/Manifest
Normal file
2
net-misc/megacmd/Manifest
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
DIST megacmd-2.5.2.tar.gz 2123577 BLAKE2B 780115047fe509ebf3478a6c4534deb3d5fab2b74aa12ac1b9debfbf848973232f09f7185e2b9be8870d540e775cc3af767d287193dbaf0a03cc77063539b7d0 SHA512 14bae79eb8b6562bceab7be625cca71fc01f44dc4cdb72b443289e085fd87381c97f8867d9c44866c37354d83449df014b632bc30e7f00e895253f71fb7bd8d1
|
||||||
|
DIST megacmd-sdk-2.5.2.tar.gz 4528326 BLAKE2B 0856a6f05f1a010f08e5520c1606500257efd01a6d594a68216497b5a4a6a58034a587c1b02627b1187f5eb0c0f5dade18be83e512af6d54b1bead746fdb556b SHA512 88d51c533d7db16800d4620714d19b4aa2a3e81f3354ceb083037728890558011e3bd4ac220433586f47a6bfb8f8dabca7fce004da9916f6d9e3d47946df7f6b
|
||||||
13
net-misc/megacmd/files/megacmd-2.5.2-cmake4.patch
Normal file
13
net-misc/megacmd/files/megacmd-2.5.2-cmake4.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Bump cmake_minimum_required to 3.16 to silence QA warnings.
|
||||||
|
This code isn't actually used.
|
||||||
|
--- a/sdk/cmake/vcpkg_overlay_ports/jxrlib/CMakeLists.txt
|
||||||
|
+++ b/sdk/cmake/vcpkg_overlay_ports/jxrlib/CMakeLists.txt
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
# BSD (Same as jxrlib)
|
||||||
|
# Based on https://jxrlib.codeplex.com/discussions/440294
|
||||||
|
# and modified for vcpkg packaging
|
||||||
|
-cmake_minimum_required(VERSION 2.8)
|
||||||
|
+cmake_minimum_required(VERSION 3.16)
|
||||||
|
project(jxrlib C)
|
||||||
|
|
||||||
|
# Need shared libs for ABI
|
||||||
19
net-misc/megacmd/files/megacmd-2.5.2-disable-vcpkg.patch
Normal file
19
net-misc/megacmd/files/megacmd-2.5.2-disable-vcpkg.patch
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -26,7 +26,6 @@ set(QT_CREATOR_SKIP_VCPKG_SETUP TRUE CACHE BOOL "")
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/build/cmake/modules) # Modules from MEGAcmd
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/sdk/cmake/modules) # Modules from MEGAsdk
|
||||||
|
|
||||||
|
-set(VCPKG_ROOT "${CMAKE_CURRENT_LIST_DIR}/../vcpkg" CACHE PATH "If set, it will build and use the VCPKG packages defined in the manifest file")
|
||||||
|
|
||||||
|
include(detect_host_architecture)
|
||||||
|
|
||||||
|
@@ -39,7 +38,7 @@ execute_process(
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-if((NOT WIN32 OR BASH_VERSION_RESULT EQUAL 0) AND NOT EXISTS ${VCPKG_ROOT})
|
||||||
|
+if(0)
|
||||||
|
message(STATUS "vcpkg will be cloned into ${VCPKG_ROOT}")
|
||||||
|
execute_process(
|
||||||
|
#TODO: have the same for windows ... or at least check if bash is available
|
||||||
33
net-misc/megacmd/files/megacmd-2.5.2-fix-link.patch
Normal file
33
net-misc/megacmd/files/megacmd-2.5.2-fix-link.patch
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
Add missing links.
|
||||||
|
--- a/build/cmake/modules/megacmd_libraries.cmake
|
||||||
|
+++ b/build/cmake/modules/megacmd_libraries.cmake
|
||||||
|
@@ -16,10 +16,15 @@ macro(load_megacmdserver_libraries)
|
||||||
|
find_package(PkgConfig REQUIRED) # For libraries loaded using pkg-config
|
||||||
|
|
||||||
|
if(USE_PCRE) #TODO: UNTESTED!
|
||||||
|
- pkg_check_modules(pcre REQUIRED IMPORTED_TARGET libpcre)
|
||||||
|
+ pkg_check_modules(pcre REQUIRED IMPORTED_TARGET libpcrecpp)
|
||||||
|
target_link_libraries(LMegacmdServer PRIVATE PkgConfig::pcre)
|
||||||
|
set(USE_PCRE 1)
|
||||||
|
endif()
|
||||||
|
+
|
||||||
|
+ find_package(ZLIB REQUIRED)
|
||||||
|
+ target_link_libraries(LMegacmdServer PRIVATE ZLIB::ZLIB)
|
||||||
|
+ pkg_check_modules(readline IMPORTED_TARGET readline)
|
||||||
|
+ target_link_libraries(mega-cmd PRIVATE PkgConfig::readline)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endmacro()
|
||||||
|
--- a/sdk/cmake/modules/sdklib_libraries.cmake
|
||||||
|
+++ b/sdk/cmake/modules/sdklib_libraries.cmake
|
||||||
|
@@ -110,8 +110,8 @@ macro(load_sdklib_libraries)
|
||||||
|
pkg_check_modules(curl REQUIRED IMPORTED_TARGET libcurl)
|
||||||
|
target_link_libraries(SDKlib PRIVATE PkgConfig::curl)
|
||||||
|
|
||||||
|
- find_package(ICU COMPONENTS uc data REQUIRED)
|
||||||
|
- target_link_libraries(SDKlib PRIVATE ICU::uc ICU::data)
|
||||||
|
+ find_package(ICU COMPONENTS i18n uc data REQUIRED)
|
||||||
|
+ target_link_libraries(SDKlib PRIVATE ICU::i18n ICU::uc ICU::data)
|
||||||
|
|
||||||
|
if(USE_OPENSSL)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
26
net-misc/megacmd/files/megacmd-2.5.2-fix-prefix.patch
Normal file
26
net-misc/megacmd/files/megacmd-2.5.2-fix-prefix.patch
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Fix incorrect install path (/usr/usr/bin).
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -128,7 +127,7 @@ include(CMakePackageConfigHelpers) # For the CMake package
|
||||||
|
include(target_sources_conditional) # To add files to the project without building them
|
||||||
|
include(target_platform_compile_options) # To add compile options depeding on the platform
|
||||||
|
|
||||||
|
-if(UNIX AND NOT APPLE)
|
||||||
|
+if(0)
|
||||||
|
# Set rpath and location for dirs accordingly:
|
||||||
|
# If CMAKE_INSTALL_PREFIX is set (not default), it will set rpath to to such prefix plus /opt/....
|
||||||
|
# If CMAKE_INSTALL_PREFIX is not set, it will set rpath to /opt/....
|
||||||
|
@@ -461,6 +460,7 @@ elseif(NOT WIN32)
|
||||||
|
PATTERN "python" EXCLUDE
|
||||||
|
PATTERN "win" EXCLUDE)
|
||||||
|
|
||||||
|
+ if(0)
|
||||||
|
install(FILES "${CMAKE_CURRENT_LIST_DIR}/src/client/megacmd_completion.sh"
|
||||||
|
DESTINATION "etc/bash_completion.d"
|
||||||
|
)
|
||||||
|
@@ -485,4 +485,5 @@ elseif(NOT WIN32)
|
||||||
|
PATTERN "*dylib*" #macOS
|
||||||
|
PATTERN "manual-link" EXCLUDE
|
||||||
|
PATTERN "pkgconfig" EXCLUDE)
|
||||||
|
+ endif()
|
||||||
|
endif() #not WIN32
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/sdk/cmake/modules/sdklib_libraries.cmake
|
||||||
|
+++ b/sdk/cmake/modules/sdklib_libraries.cmake
|
||||||
|
@@ -95,7 +95,7 @@ macro(load_sdklib_libraries)
|
||||||
|
|
||||||
|
find_package(PkgConfig REQUIRED) # For libraries loaded using pkg-config
|
||||||
|
|
||||||
|
- pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcrypto++)
|
||||||
|
+ pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcryptopp)
|
||||||
|
target_link_libraries(SDKlib PUBLIC PkgConfig::cryptopp) # TODO: Private for SDK core
|
||||||
|
|
||||||
|
pkg_check_modules(sodium REQUIRED IMPORTED_TARGET libsodium)
|
||||||
86
net-misc/megacmd/megacmd-2.5.2.ebuild
Normal file
86
net-misc/megacmd/megacmd-2.5.2.ebuild
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# 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}
|
||||||
|
}
|
||||||
11
net-misc/megacmd/metadata.xml
Normal file
11
net-misc/megacmd/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>pastalian46@gmail.com</email>
|
||||||
|
<name>Takuya Wakazono</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">meganz/MEGAcmd</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
||||||
Reference in New Issue
Block a user