On Thu, May 27 2021, Gabriel Wicki wrote: > From 60b4f30f4d75505dc3c2cd86c986fda582147b2d Mon Sep 17 00:00:00 2001 > From: Gabriel Wicki > 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