diff mbox series

[bug#48679] Acknowledgement (add seafile-client package providing seafile-applet)

Message ID 20210527191944.zzzv34ruxfky65ll@silver
State New
Headers show
Series [bug#48679] Acknowledgement (add seafile-client package providing seafile-applet) | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Gabriel Wicki May 27, 2021, 7:19 p.m. UTC
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

Comments

Xinglu Chen May 28, 2021, 8:35 p.m. UTC | #1
On Thu, May 27 2021, Gabriel Wicki wrote:

> 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?

> +(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’.

> +   (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].

> +(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?

> +                        ("openssl" ,openssl)
> +                        ("sqlite" ,sqlite)))

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

> +   (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.

> +(define libsearpc
> +  (package
> +   (name "libsearpc")
> +   (version "8.0")

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

> +   (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.

> +              (commit version)))

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

> +            (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)))

LICENSE.txt says Apache 2.0[4].

Could you send a v2 patchset?

[1]: https://github.com/haiwen/seafile-client/blob/master/LICENSE
[2]: https://github.com/haiwen/seafile/blob/master/LICENSE.txt
[3]: https://github.com/haiwen/libsearpc/tags
[4]: https://github.com/haiwen/libsearpc/blob/master/LICENSE.txt
diff mbox series

Patch

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)))