gnu: Add onedrive.

* gnu/packages/sync.scm (onedrive): New variable.
This commit is contained in:
Efraim Flashner 2022-10-29 23:49:17 +03:00
parent 02d82dedc8
commit 587a0f4600
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015-2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
@ -31,6 +31,8 @@ (define-module (gnu packages sync)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system qt)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
@ -38,10 +40,12 @@ (define-module (gnu packages sync)
#:use-module (gnu packages acl)
#:use-module (gnu packages adns)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages dlang)
#:use-module (gnu packages documentation)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@ -359,6 +363,65 @@ (define-public owncloud-client
silently and reliably flow across to every other.")
(license license:gpl2+)))
(define-public onedrive
(package
(name "onedrive")
(version "2.4.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abraunegg/onedrive")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04rnkc6ap9mkghvlj102f2gvnjqg3bs4vw9q3wm869fsflnm3599"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--enable-completions"
"--enable-notifications"
(string-append "--with-zsh-completion-dir="
#$output "/share/zsh/site-functions")
(string-append "--with-fish-completion-dir="
#$output "/share/fish/vendor_completions.d"))
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'link-to-external-libraries
(lambda* (#:key inputs #:allow-other-keys)
(setenv "DCFLAGS" (string-append
;; The default linker is ld.gold.
"--linker=\"\" "
;; Only link necessary libraries.
"-L--as-needed "))))
(add-after 'configure 'adjust-makefile
(lambda _
(substitute* "Makefile"
(("-L/gnu") "-Wl,-rpath=/gnu")
(("-O ") "-O2 "))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./onedrive" "--version")))))))
(native-inputs
(list pkg-config))
(inputs
(list bash-minimal
curl-minimal
ldc
libnotify
sqlite))
(home-page "https://abraunegg.github.io")
(synopsis "Client for OneDrive")
(description "OneDrive Client which supports OneDrive Personal, OneDrive for
Business, OneDrive for Office365 and SharePoint and fully supports Azure
National Cloud Deployments. It supports one-way and two-way sync capabilities
and securely connects to Microsoft OneDrive services.")
(license license:gpl3)))
(define-public lsyncd
(package
(name "lsyncd")