Package: guix-patches;
Reported by: flypaper <flypaper <at> disroot.org>
Date: Sun, 16 Feb 2025 06:01:01 UTC
Severity: normal
Tags: patch
To reply to this bug, email your comments to 76324 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 06:01:02 GMT) Full text and rfc822 format available.flypaper <flypaper <at> disroot.org>
:guix-patches <at> gnu.org
.
(Sun, 16 Feb 2025 06:01:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: guix-patches <at> gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 0/6] Add seafile-client, seadrive-fuse, seadrive-client and dependencies Date: Sat, 15 Feb 2025 21:46:18 +0200
Hey Guix! The following is a patch-series to have Seafile programs in Guix. mostly seadrive-fuse and seafile-client. Given that the seafile dependencies were not packaged before, I added them here. Each of these patches will build, given that the previous patches have been applied. I tested of the patches one by one. Seafile is an open-source self-hostable file-sharing solution similar to nextcloud. Some institutes, like universities host their own. These patches do not include server-side programs. Kind regards, flypaper-ultimat flypaper (6): gnu: sync: add libsearpc gnu: sync: add seafile gnu: sync: add seafile-client gnu: sync: add seafile-client-qt5 gnu: sync: add seadrive-fuse gnu: sync: add seadrive-gui gnu/packages/sync.scm | 272 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 271 insertions(+), 1 deletion(-) base-commit: 05ab9bd7f36659ac3d116134891aca23da102144 -- 2.46.0
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 09:40:02 GMT) Full text and rfc822 format available.Message #8 received at 76324 <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: 76324 <at> debbugs.gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 2/6] gnu: sync: add seafile Date: Sun, 16 Feb 2025 11:38:45 +0200
* gnu/packages/sync.scm (seafile): New package. Change-Id: Ieefb70e70a5e13c574513f2cf36d16475e693c48 --- gnu/packages/sync.scm | 64 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 854cc075ea..d65f1db018 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -31,6 +31,7 @@ (define-module (gnu packages sync) #:use-module (guix build-system go) #:use-module (guix build-system meson) #:use-module (guix build-system qt) + #:use-module (guix build-system python) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix download) @@ -70,7 +71,10 @@ (define-module (gnu packages sync) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (gnu packages gtk) + #:use-module (gnu packages password-utils) + #:use-module (gnu packages cmake)) (define-public nextcloud-client (package @@ -630,3 +634,61 @@ (define-public libsearpc #:configure-flags '(list "--disable-compile-demo"))) (inputs (list glib jansson python)) (native-inputs (list autoconf automake libtool pkg-config))))) + +(define-public seafile + (package + (name "seafile") + (version "9.0.9") + (home-page "https://github.com/haiwen/seafile") + (source + (origin + (method git-fetch) + (file-name (git-file-name name version)) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 "0c5j1xwx6pailx7x8xkrhrkmcn87aff3hvq4af5nzrqbpyiin5xb")))) + (arguments + (list + #:imported-modules `(,@%python-build-system-modules) + #:modules '((guix build gnu-build-system) + ((guix build python-build-system) + #:prefix python:) + (guix build utils)) + #:phases #~(modify-phases %standard-phases + ;; seaf-cli requires libsearpc and itself on its PYTHONPATH + ;; so we wrap it so that we dont need to use propagated modules + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append #$output "/bin/seaf-cli") + `("GUIX_PYTHONPATH" = + (,(getenv "GUIX_PYTHONPATH") ,(python:site-packages + inputs outputs))))))))) + + (build-system gnu-build-system) + (inputs (list libsearpc + libevent + libwebsockets + curl + gtk + util-linux ;known in debian as uuid-dev + sqlite + jansson + openssl ;debian libssl-dev + glib + argon2 + python + bash-minimal)) + (synopsis + "Command-line client and daemon for syncing with Seafile servers") + (description "This package provides @code{seaf-cli} and @{seaf-daemon}.") + (license license:gpl3+) + (native-inputs (list vala + intltool + cmake-minimal + autoconf + automake + libtool + pkg-config)))) + -- 2.46.0
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 09:40:02 GMT) Full text and rfc822 format available.Message #11 received at 76324 <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: 76324 <at> debbugs.gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 1/6] gnu: sync: add libsearpc Date: Sun, 16 Feb 2025 11:38:44 +0200
* gnu/packages/sync.scm (libsearpc): New package. Change-Id: Id581536d6d13033c33a7316568a18bf1520ccc77 --- gnu/packages/sync.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index a4d4e03b91..854cc075ea 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -69,7 +69,8 @@ (define-module (gnu packages sync) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) - #:use-module (gnu packages tls)) + #:use-module (gnu packages tls) + #:use-module (gnu packages web)) (define-public nextcloud-client (package @@ -600,3 +601,32 @@ (define-public rclone @end itemize") (home-page "https://rclone.org/") (license license:expat))) + + +(define-public libsearpc + (let ((revision "0") + (commit "255d5dedd2b446b58e4b8ca97ed6c270b3921047") + (version "3.3")) + (package + (name "libsearpc") + (version (git-version version revision commit)) + (home-page "https://github.com/haiwen/libsearpc") + (source + (origin + (method git-fetch) + (file-name (git-file-name name version)) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 "1nrn7djyslszd26bg1yd5wdqyyjyh8hfc6zz8hwxk9bbdvjkpv9b")))) + (build-system gnu-build-system) + (license license:asl2.0) + (synopsis "RPC framework for server and client") + (description + "A simple C language RPC framework (including both server side & client side).") + (arguments + (list + #:configure-flags '(list "--disable-compile-demo"))) + (inputs (list glib jansson python)) + (native-inputs (list autoconf automake libtool pkg-config))))) -- 2.46.0
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 09:40:03 GMT) Full text and rfc822 format available.Message #14 received at 76324 <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: 76324 <at> debbugs.gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 3/6] gnu: sync: add seafile-client Date: Sun, 16 Feb 2025 11:38:46 +0200
* gnu/packages/sync.scm (seafile-client): New package. Change-Id: I57b8ed9c0b1edf61283d3cc1276a64660e74ed8a --- gnu/packages/sync.scm | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index d65f1db018..391ed57e0c 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -62,6 +62,7 @@ (define-module (gnu packages sync) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) #:use-module (gnu packages rsync) @@ -692,3 +693,64 @@ (define-public seafile libtool pkg-config)))) +(define-public seafile-client + (package + (name "seafile-client") + (version "9.0.9") + (home-page "https://github.com/haiwen/seafile-client") + (license license:asl2.0) + (build-system qt-build-system) + (inputs (list sqlite + gtk + curl + util-linux + openssl + jansson + libevent + libwebsockets + libsearpc + seafile + python + qttools + python-simplejson + qtwebengine + qt5compat)) + (arguments + (list + #:qtbase qtbase + #:tests? ;cmakefile only has tests for qt5 + #f + #:phases '(modify-phases %standard-phases + ;; seafile-client expects seaf-daemon in %PATH + ;; but we can just replace it in the source with a path to store + ;; so that we dont anymore. + (add-after 'unpack 'replace-daemon-executable + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/daemon-mgr.cpp" + (("seaf-daemon" all) + (search-input-file inputs + (string-append "bin/" all))))))) + + #:configure-flags '(list "-DBUILD_DOCS=ON" + "-DBUILD_SHIBBOLETH_SUPPORT=ON" + "-DCMAKE_BUILD_TYPE=Release"))) + (native-inputs (list autoconf + automake + libtool + pkg-config + vala + intltool + cmake-minimal)) + (synopsis "Seafile GUI desktop client") + (description + "The Graphical desktop client that is used to connect to Seafile servers") + (source + (origin + (method git-fetch) + (file-name (git-file-name name version)) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 "1hivlwbpkj4j42s49z0fj0xp1wyxr67nl6sqy1ydbiij65f48bkp")))))) + -- 2.46.0
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 09:40:03 GMT) Full text and rfc822 format available.Message #17 received at 76324 <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: 76324 <at> debbugs.gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 4/6] gnu: sync: add seafile-client-qt5 Date: Sun, 16 Feb 2025 11:38:47 +0200
* gnu/packages/sync.scm (seafile-client-qt5): New package. Change-Id: Iac6e62db24f5a9445d1ee2ebfa0a4713c17abd91 --- gnu/packages/sync.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 391ed57e0c..a5dfa17afd 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -754,3 +754,20 @@ (define-public seafile-client (sha256 (base32 "1hivlwbpkj4j42s49z0fj0xp1wyxr67nl6sqy1ydbiij65f48bkp")))))) +(define-public seafile-client-qt5 + (package + (inherit seafile-client) + (name "seafile-client-qt5") + (inputs (modify-inputs (package-inputs seafile-client) + (replace "qttools" qttools-5) + (replace "qtwebengine" qtwebengine-5) + (delete "qt5compat"))) + (arguments + (substitute-keyword-arguments (package-arguments seafile-client) + ((#:qtbase x) + qtbase-5) + ((#:configure-flags flags) + `(cons "-DBUILD_TESTING=ON" + ,flags)) + ((#:tests? x) + #t))))) -- 2.46.0
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 09:40:04 GMT) Full text and rfc822 format available.Message #20 received at 76324 <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: 76324 <at> debbugs.gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 5/6] gnu: sync: add seadrive-fuse Date: Sun, 16 Feb 2025 11:38:48 +0200
* gnu/packages/sync.scm (seadrive-fuse): New package. Change-Id: I2a2855656e4cc3783ead70f6fe7793c7289b316d --- gnu/packages/sync.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index a5dfa17afd..6f09ae20b2 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -771,3 +771,40 @@ (define-public seafile-client-qt5 ,flags)) ((#:tests? x) #t))))) + +(define-public seadrive-fuse + (package + (name "seadrive-fuse") + (home-page "https://github.com/haiwen/seadrive-fuse") + (version "2.0.28") + (source + (origin + (method git-fetch) + (file-name (git-file-name name version)) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 "0z8j8a04qi01cxbgk5kdrjzff5j2kigf0v6yzklvrshyb1jk3j5p")))) + (build-system gnu-build-system) + (inputs (list sqlite + gtk + curl + util-linux + openssl + jansson + libevent + fuse-2 + libwebsockets + libsearpc + python)) + (native-inputs (list autoconf + automake + libtool + pkg-config + vala + intltool)) + (synopsis "Mount Seafile libraries as FUSE drive") + (description + "This package provides the @{seadrive} command, allowing for seadrive libraries to be mounted as FUSE drive.") + (license license:gpl3+))) -- 2.46.0
guix-patches <at> gnu.org
:bug#76324
; Package guix-patches
.
(Sun, 16 Feb 2025 09:40:04 GMT) Full text and rfc822 format available.Message #23 received at 76324 <at> debbugs.gnu.org (full text, mbox):
From: flypaper <flypaper <at> disroot.org> To: 76324 <at> debbugs.gnu.org Cc: flypaper <flypaper <at> disroot.org> Subject: [PATCH 6/6] gnu: sync: add seadrive-gui Date: Sun, 16 Feb 2025 11:38:49 +0200
* gnu/packages/sync.scm (seadrive-gui): New package. Change-Id: I6dc3ffff73611788e5b40ef4a0d09f2492c2da2b --- gnu/packages/sync.scm | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 6f09ae20b2..25ec140d75 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Clément Lassieur <clement <at> lassieur.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net> ;;; Copyright © 2021 Stefan Reichör <stefan <at> xsteve.at> +;;; Copyright © 2025 flypaper-ultimat <flypaper <at> disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -808,3 +809,64 @@ (define-public seadrive-fuse (description "This package provides the @{seadrive} command, allowing for seadrive libraries to be mounted as FUSE drive.") (license license:gpl3+))) + +(define-public seadrive-gui + (package + (name "seadrive-gui") + (version "3.0.12") + (home-page "https://github.com/haiwen/seadrive-gui") + (synopsis "SeaDrive daemon with FUSE interface") + (description + "This package provides the graphical interface for mounting seadrive libraries as a FUSE drive.") + (license license:gpl3+) + (native-inputs (list autoconf + automake + libtool + pkg-config + vala + intltool + cmake-minimal)) + (inputs (list sqlite + gtk + curl + util-linux + openssl + jansson + libevent + fuse-2 + libwebsockets + libsearpc + python + qtbase-5 + qttools-5 + python-simplejson + qtwebengine-5 + seadrive-fuse)) + (arguments + (list + #:configure-flags #~(list "-DCMAKE_BUILD_TYPE=Release") + #:tests? #f ;there are no tests + #:phases '(modify-phases %standard-phases + ;; seafile-client expects seaf-daemon in %PATH + ;; but we can just replace it in the source with a path to store + ;; so that we dont anymore. + (add-after 'unpack 'replace-daemon-executable + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/daemon-mgr.cpp" + (("\"(seadrive)\"" all program) + (string-append "\"" + (search-input-file inputs + (string-append + "bin/" program)) + "\"")))))))) + (build-system qt-build-system) + (source + (origin + (method git-fetch) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 "1xaq1rlyfnp7xnq2xbc77hrblpw8apqmf3l5mrnvkhwifgs0p8xs")))))) -- 2.46.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.