net-misc/onedrive: add 2.5.9

Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>
Part-of: https://github.com/gentoo/gentoo/pull/44643
Closes: https://github.com/gentoo/gentoo/pull/44643
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Andrei Horodniceanu 2025-11-09 16:47:06 +02:00 committed by Sam James
parent 461becdf9c
commit 19e5fed954
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 129 additions and 0 deletions

View File

@ -1,2 +1,3 @@
DIST onedrive-2.5.6.tar.gz 4284403 BLAKE2B 0c9e9ddca88ec3766bb7c575f594d99a7565da49c26e4f0b740efb19896fa718100b866a2fbc148c284b498e833d892fd1ae5517abf7f682d3c1595153a31a57 SHA512 0d67318978b08057bb2dab28bd66914bed4fcc6b967c5c833c381af09a03b9de340369cb5c5117a8c3c6795347a96ed661e0c14cb4e112fcf73a3318fb3c713e
DIST onedrive-2.5.7.tar.gz 8269826 BLAKE2B 5ea04cb4c42fe53efc660121d8c8d477bcf00e9786a131e781a4c3679810fb55dbe02557cb4feff287210c6bf10d241303de0e1e57418d8048faced8fa1efd99 SHA512 b08d54df9505690cb62aba43afa1f23bb31fa2dff5301446dfacbc3025c9ac0d459e5008d3b32942dd0468f1a264a220c9096ba0fec46462ce73aedf89b082d2
DIST onedrive-2.5.9.tar.gz 10150105 BLAKE2B 9b997ea4978e609126666248ffe9785114f429ac57487617c0f958a86cdce906a0e4116cfdea4f0d0425d648fba8fd626ccfb4fe1aa6851141bf8c5084401032 SHA512 54c173ec1e324b5b1f3e630ddd9395c7a7e23b11cccb9be842a145f14b59253fdab74f2898e96c4ad6bb4f286b001bec92c7b0bcc781e5698c580d0458cdc78b

View File

@ -0,0 +1,128 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit shell-completion optfeature prefix systemd toolchain-funcs xdg-utils
DESCRIPTION="Free Client for OneDrive on Linux"
HOMEPAGE="https://abraunegg.github.io/"
SRC_URI="https://codeload.github.com/abraunegg/onedrive/tar.gz/v${PV} -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="libnotify"
# Barely any tests that require manually building.
# Manual testing seems to be the best approach
RESTRICT="test"
RDEPEND="
>=dev-db/sqlite-3.7.15:3
net-misc/curl
sys-apps/dbus
libnotify? ( x11-libs/libnotify )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
|| (
sys-devel/gcc:15[d]
sys-devel/gcc:16[d]
)
"
MIN_GCC_SLOT=15
MAX_GCC_SLOT=16
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && _setup_gdc
}
src_prepare() {
hprefixify contrib/init.d/onedrive.init
# Add EPREFIX to the system config path (/etc)
hprefixify -w '/string systemConfigDirBase/' src/config.d
default
}
src_configure() {
# GDCFLAGS are meant to be specified in make.conf. Avoid the DFLAGS
# name to support ::dlang which needs separate variables for each
# compiler's flags
DCFLAGS="${GDCFLAGS}"
# libphobos does not provide any backwards compatibility guarantees.
# Until the gcc dependency is properly slotted and a USE-expand flag
# is added, use static linking.
DCFLAGS+=" -static-libphobos ${LDFLAGS}"
export DCFLAGS
myeconfargs=(
$(use_enable libnotify notifications)
--with-bash-completion-dir="$(get_bashcompdir)"
--with-zsh-completion-dir="$(get_zshcompdir)"
--with-fish-completion-dir="$(get_fishcompdir)"
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
--with-systemduserunitdir="$(systemd_get_userunitdir)"
--enable-completions
--disable-version-check
# Adds -g and -debug. There are only a few instructions guarded by debug
--disable-debug
)
econf "${myeconfargs[@]}"
}
src_compile() {
# Avoid overwriting user flags
emake DCFLAGS="${DCFLAGS}"
}
src_install() {
emake DESTDIR="${D}" docdir="${EPREFIX}"/usr/share/doc/${PF} install
# log directory
keepdir /var/log/onedrive
fperms 775 /var/log/onedrive
fowners root:users /var/log/onedrive
# init script
dobin contrib/init.d/onedrive_service.sh
newinitd contrib/init.d/onedrive.init onedrive
}
pkg_postinst() {
optfeature "Single Sign-On via Intune" sys-apps/intune-portal
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}
# Set DC to point to a compatible gcc[d], similar to python-any-r1
_setup_gdc() {
local gcc_pkg gcc_bin_root
if tc-is-cross-compiler; then
gcc_pkg="cross-${CHOST}/gcc"
gcc_bin_root="${BROOT}/usr/${CBUILD}/${CHOST}/gcc-bin"
else
gcc_pkg="sys-devel/gcc"
gcc_bin_root="${BROOT}/usr/${CHOST}/gcc-bin"
fi
for ((i="${MAX_GCC_SLOT}"; i>="${MIN_GCC_SLOT}"; --i)); do
local gcc_dep="${gcc_pkg}:${i}[d]"
einfo "Checking whether GCC ${i} is suitable ..."
ebegin " ${gcc_dep}"
has_version -b "${gcc_dep}"
eend ${?} || continue
# Is it better to to DC="${CHOST}-gdc-${i}"?
export DC="${gcc_bin_root}/${i}/${CHOST}-gdc"
return
done
eerror "No gcc[d] implementation found for the build"
if tc-is-cross-compiler; then
eerror "For cross-compilation make sure ${gcc_pkg}[d] is installed"
fi
die "No supported GDC implementation installed."
}