add seafile-client package providing seafile-applet

  • Open
  • quality assurance status badge
Details
2 participants
  • Gabriel Wicki
  • Xinglu Chen
Owner
unassigned
Submitted by
Gabriel Wicki
Severity
normal
G
G
Gabriel Wicki wrote on 26 May 2021 19:47
(address . guix-patches@gnu.org)
20210526174751.ynfblmx64ppdl2is@silver
From 7665f6edf757ef385ef4f67aa106c38a8448c670 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
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

Toggle diff (111 lines)
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
G
G
Gabriel Wicki wrote on 27 May 2021 21:19
Re: bug#48679: Acknowledgement (add seafile-client package providing seafile-applet)
(address . 48679@debbugs.gnu.org)
20210527191944.zzzv34ruxfky65ll@silver
updated commit message to conform to ChangeLog Format


From 60b4f30f4d75505dc3c2cd86c986fda582147b2d Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Wed, 26 May 2021 19:39:39 +0200
Subject: [PATCH] add package seafile-client

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

Toggle diff (111 lines)
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
X
X
Xinglu Chen wrote on 28 May 2021 22:35
Re: [bug#48679] Acknowledgement (add seafile-client package providing seafile-applet)
87sg26ppfb.fsf@yoctocell.xyz
On Thu, May 27 2021, Gabriel Wicki wrote:

Toggle quote (11 lines)
> From 60b4f30f4d75505dc3c2cd86c986fda582147b2d Mon Sep 17 00:00:00 2001
> From: Gabriel Wicki <gabriel@erlikon.ch>
> Date: Wed, 26 May 2021 19:39:39 +0200
> Subject: [PATCH] add package seafile-client
>
> * gnu/packages/seafile.scm (seafile-client): New file.
> ---
> gnu/packages/seafile.scm | 103 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 103 insertions(+)
> create mode 100644 gnu/packages/seafile.scm

This patch should be split into three separate patches, each containing
one new package.

Since Seafile is related to cloud storage I think it might make sense to
put the packages in (gnu packages sync), anyone else who wants to
comment on this?

Toggle quote (18 lines)
> +(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)))

Why is the label not the same as the package name?

The inputs list should preferrably be on a new line, this applied to
‘native-inputs’, ‘inputs’, and ‘propagated-inputs’.

Toggle quote (8 lines)
> + (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)))

The LICENSE says Apache 2.0[1].

Toggle quote (21 lines)
> +(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)

Libraries are usually ‘inputs’ or ‘native-inputs’, what’s the reason for
propagating them?

Toggle quote (3 lines)
> + ("openssl" ,openssl)
> + ("sqlite" ,sqlite)))

These two packages are also usually ‘inputs’, would it be possible to
move them to ‘inputs’?

Toggle quote (10 lines)
> + (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)))

LICENSE.txt says[2]

This program is released under GPLv2, with the following addition
permission to link with OpenSSL library.

This should probably be mentioned as a comment.

Toggle quote (5 lines)
> +(define libsearpc
> + (package
> + (name "libsearpc")
> + (version "8.0")

I am not seeing version 8.0 on their repo[3].

Toggle quote (6 lines)
> + (source (origin
> + (method git-fetch)
> + (uri
> + (git-reference
> + (url "https://github.com/haiwen/libsearpc/")

This repo is a fork of another repo, we usually use the upstream one if
possible.

Toggle quote (2 lines)
> + (commit version)))

Again, I don’t see a tag named ‘8.0’.

Toggle quote (17 lines)
> + (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)))

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmCxVAgVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5OJUQAJkpICj6enHuZ8FvB/EjtJvSDqqa
jxZzmalwnuh1kyiZml45tZ2usI+w2w/tr+nd1dfva8uR7VdwZ/egDMpCX+R0UYsZ
Mwz77SzNRZhwviDHxzhe7TUHSl7pLJF3JDGl0nSR6jjuiFbOR8Pljx0IQempCdBB
ASarlRi7ZKu9DmJjKpGnFWhL+vgMGQ5mHOr9OUqQrKzIWtJPDW7S352JTiz/JW36
9pto2Jq2u2UKICbt1Z5Wjdcjd2uGVnNaa65PS/mn+qoZowlgBSaIvcWJxUSmGQvx
yPsSHkMQftDzcaPxGmFxxOg1koS+U4QqXdxWxmKP0x8WBN2RhPGqSl5Xm9jkhF7F
yhBSNLliKeWi9aIpDZONEGKnhmgaCUb6gleEly++rthAmr70stNkXtMdbp20Ch75
svopXlC1CG5YZiNcVMn9XsqEr4Ut2rP7/QylUZKzyTDmVwMsvaEp6vWnpsnPtNqF
/EWGipS3Wn4cFRNX2TJs4SI3rVr7FLx4Cw4coSzaYGWA8Mly01n32Wj7cONX06OU
pOWcn2H255BzeUsg3gnqCgQgLYh+MsmK5dhpnSmb4AO10/d38gGmQdW6TAjzwPNR
FG3CsjouK3BKkDxRA+j50YqrqTD8sICx9f/5L/IukCeGoWhxeZy4iu6vJyh7Wmbx
A64g/NKWR9SmOUQk
=E5PY
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 48679@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 48679
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch