Archived
1
0
Fork 0

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 ;;; 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 © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
@ -31,6 +31,8 @@
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
@ -38,10 +40,12 @@
#:use-module (gnu packages acl) #:use-module (gnu packages acl)
#:use-module (gnu packages adns) #:use-module (gnu packages adns)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages dlang)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
@ -359,6 +363,65 @@ synchronize to the same server and any change to the files on one computer will
silently and reliably flow across to every other.") silently and reliably flow across to every other.")
(license license:gpl2+))) (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 (define-public lsyncd
(package (package
(name "lsyncd") (name "lsyncd")