Subject: add seafile-client package providing seafile-applet

From: Gabriel Wicki <[email-masked]>
Date: Wed, 26 May 2021 19:47:51 +0200

>From 7665f6edf757ef385ef4f67aa106c38a8448c670 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <[email-masked]>
Date: Wed, 26 May 2021 19:39:39 +0200
Subject: [PATCH] add package seafile-client

and it's dependencies libsearpc and seafile. the resulting binary is
called seafile-applet.

new file:   gnu/packages/seafile.scm
---
 gnu/packages/seafile.scm | 103 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 103 insertions(+)
 create mode 100644 gnu/packages/seafile.scm

diff --git a/gnu/packages/seafile.scm b/gnu/packages/seafile.scm
new file mode 100644
index 0000000000..f95238b1a7
--- /dev/null
+++ b/gnu/packages/seafile.scm
@@ -0,0 +1,103 @@
+(define-module (seafile)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages libevent)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages web)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:prefix license:))
+
+(define-public seafile-client
+  (package
+   (name "seafile-client")
+   (version "8.0.2")
+   (source (origin
+            (method git-fetch)
+            (uri
+             (git-reference
+              (url "https://github.com/haiwen/seafile-client")
+              (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "19z6lz34j62gazi9pd1y570jlp181cmb31rld4lfxznhkh9y2jfc"))))
+   (build-system cmake-build-system)
+   (arguments `(#:tests? #f)) ; there are no tests
+   (native-inputs `(("pkg-config" ,pkg-config)
+                    ("qtlinguist" ,qttools)))
+   (inputs `(("glib" ,glib)
+             ("qtbase" ,qtbase)
+             ("seafile" ,seafile)))
+   (synopsis "Desktop client for cloud file storage system Seafile")
+   (description "seafile-client is a desktop client for your seafile server.")
+   (home-page "https://www.seafile.com")
+   (license license:gpl2)))
+
+(define seafile 
+  (package
+   (name "seafile")
+   (version "8.0.2")
+   (source (origin
+            (method git-fetch)
+            (uri
+             (git-reference
+              (url "https://github.com/haiwen/seafile")
+              (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "1kizf9ifcwb3scyvimv76p0lqd69hw7l48as1xk6i3m5mv2d7j4p"))))
+   (build-system gnu-build-system)
+   (native-inputs `(("autoconf" ,autoconf)
+                    ("automake" ,automake)
+                    ("libtool" ,libtool)
+                    ("pkg-config" ,pkg-config)))
+   (propagated-inputs `(("libsearpc" ,libsearpc)
+                        ("libevent" ,libevent)
+                        ("openssl" ,openssl)
+                        ("sqlite" ,sqlite)))
+   (inputs `(("curl" ,curl)
+             ("python" ,python)
+             ("vala" ,vala)))
+   (synopsis "Cloud storage system with privacy protection and teamwork features")
+   (description "Seafile is a high performance file syncing and sharing, with
+Markdown WYSIWYG editing, Wiki, file label and other knowledge management
+features.")
+   (home-page "https://www.seafile.com")
+   (license license:gpl2)))
+
+(define libsearpc
+  (package
+   (name "libsearpc")
+   (version "8.0")
+   (source (origin
+            (method git-fetch)
+            (uri
+             (git-reference
+              (url "https://github.com/haiwen/libsearpc/")
+              (commit version)))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "0wbx0c64xyn22rzqpl1jmdps53zjb1a0760435znsg6j88h4k7yp"))))
+   (build-system gnu-build-system)
+   (propagated-inputs `(("jansson" ,jansson)))
+   (native-inputs `(("autoconf" ,autoconf)
+                    ("automake" ,automake)
+                    ("libtool" ,libtool)
+                    ("pkg-config" ,pkg-config)))
+   (inputs `(("glib" ,glib)
+             ("python" ,python-wrapper)))
+   (synopsis "Simple C language RPC framework based on GObject system")
+   (description "libsearpc (from \"library\", \"Seafile\" and \"RPC\") handles the
+serialization/deserialization part of RPC, the transport part is left to users.")
+   (home-page "https://www.seafile.com")
+   (license license:gpl2)))
-- 
2.30.2