From patchwork Tue Mar 9 10:50:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raghav Gururajan X-Patchwork-Id: 27555 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id DE8D727BC51; Tue, 9 Mar 2021 11:04:38 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F3CAE27BC50 for ; Tue, 9 Mar 2021 11:04:36 +0000 (GMT) Received: from localhost ([::1]:52804 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lJaAG-00073K-1i for patchwork@mira.cbaines.net; Tue, 09 Mar 2021 06:04:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lJZx8-0000Iy-Cr for guix-patches@gnu.org; Tue, 09 Mar 2021 05:51:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:34184) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lJZx7-0000Z1-WD for guix-patches@gnu.org; Tue, 09 Mar 2021 05:51:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lJZx7-0004iM-Ra for guix-patches@gnu.org; Tue, 09 Mar 2021 05:51:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45889] Nextcloud Client (v16) Resent-From: Raghav Gururajan Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Mar 2021 10:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45889 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Leo Prikler , 45889@debbugs.gnu.org Received: via spool by 45889-submit@debbugs.gnu.org id=B45889.161528705518111 (code B ref 45889); Tue, 09 Mar 2021 10:51:01 +0000 Received: (at 45889) by debbugs.gnu.org; 9 Mar 2021 10:50:55 +0000 Received: from localhost ([127.0.0.1]:45730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lJZwx-0004hx-1S for submit@debbugs.gnu.org; Tue, 09 Mar 2021 05:50:55 -0500 Received: from out2.migadu.com ([188.165.223.204]:59662) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lJZwt-0004hl-JO for 45889@debbugs.gnu.org; Tue, 09 Mar 2021 05:50:50 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raghavgururajan.name; s=key1; t=1615287045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QkLSLBdPLauP1FjpKuCJzLJfkVkO5AN8AEV3voriyPw=; b=S7/AUyEFTc/yfKwKY9YLLiKI9PU9vRZAYdGWzDJ5nKQ4rMT+Zn3r529GR2SP3Yh7nYs8Zm Hikh63K6toejTSvew5PIBZKonVw3Lo5MBWKyk/wCw6OJ6OLSrom6+DjLi7/CiG0lNcAWeC UJaPARD4MwgI72ZV/UGP+DXmys7FEqcbtPh7t2CJpdwaRCfXbEAJqdpIqNJ1CSGPxQZjlt ZQfrYVm23AKWz0040GbBWI2aIiIMLfSCpx1fE7D0LJ9l69u7HSa2IogayVY8RcG/rPX+4o tnV2Ns0Yjrt86RaWLs21eClSeKWfnMJvlVoEiQi7U4nwdfqEtw2DdS1ubbDl0Q== References: <609483b4-c583-cbf0-4b2a-4daf6c4feb98@raghavgururajan.name> <67f2ff73-c6e0-743f-d873-0a488fa05e31@raghavgururajan.name> <29553b60ceb47530cd0bda7f84badb80b8daab74.camel@student.tugraz.at> <7d1a2db6-5da9-80f6-d160-128d2200935b@raghavgururajan.name> <1c216cbfd761c8ce77b2402cf9a88ad8772b2331.camel@student.tugraz.at> <15559ce0-8f6b-1ff7-e5d1-7c3f3f5292f9@raghavgururajan.name> <95a467cd-e1b8-9f68-588e-163a6105e891@raghavgururajan.name> <12599035-d671-b417-d70c-89d694f3ccd9@raghavgururajan.name> <31701971d849e72506ed4105c92b2ad85d3aa6be.camel@student.tugraz.at> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. Message-ID: Date: Tue, 9 Mar 2021 05:50:43 -0500 MIME-Version: 1.0 In-Reply-To: <31701971d849e72506ed4105c92b2ad85d3aa6be.camel@student.tugraz.at> X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: rg@raghavgururajan.name X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" Reply-to: Raghav Gururajan X-ACL-Warn: , Raghav Gururajan via Guix-patches X-Patchwork-Original-From: Raghav Gururajan via Guix-patches via From: Raghav Gururajan X-getmail-retrieved-from-mailbox: Patches Hi Leo! > Try not to arbitrarily use too many new lines. If you break Scheme > code in such a manner for no good reason, it will look odd. Done. > Why not to UTF-8? Done. > You should install the shared libraries in the install phase. Done. > Use '(...) for fixed input. Done. > I'm starting to grow a little suspicious about matching the leading > spaces. You probably want to lead this (and similar stuff in 0001) > with [ \t]*. Done. > LGTM, but probably deserves a comment. Done. > Definitely deserves a comment and perhaps a less broad match? Done the comment. I think this is perfect match. The mentioned libraries will get linked wherever synclib gets linked. Also, this patch is compatible with current master, which is different from this version. > Also deserves a comment about QtSingleApplication differences. Done. > Would the raw string here exceed a line? Yep! > This is now just qtokenizer, right? Changed. Please find the attached v16. Regards, RG. From e52d1d8e4a602254c68be6739a18dedaf02d9ff2 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 9 Mar 2021 02:19:00 -0500 Subject: [PATCH 3/3] gnu: Add nextcloud-client. * gnu/packages/messaging.scm (nextcloud-client): New variable. --- gnu/packages/sync.scm | 160 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index d7c9009f3b..9aa7e9f866 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -30,6 +30,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -42,8 +43,11 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages golang) + #:use-module (gnu packages graphviz) #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages linux) @@ -52,15 +56,171 @@ #:use-module (gnu packages pcre) #: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) + #:use-module (gnu packages ruby) #:use-module (gnu packages selinux) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls)) +(define-public nextcloud-client + (package + (name "nextcloud-client") + (version "3.1.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/nextcloud/desktop") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "15ymk3gvfmgwzmqbhlw7jjy9y65ib3391h1dlmpll65iaj2miajk")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + `(begin + ;; Not available in Guix. + (let* ((keep '("QProgressIndicator" "qtokenizer"))) + (with-directory-excursion "src/3rdparty" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) + (build-system qt-build-system) + (arguments + `(#:configure-flags + (list + "-DUNIT_TESTING=ON" + ;; Upstream Bug: https://github.com/nextcloud/desktop/issues/2885 + "-DNO_SHIBBOLETH=ON") + #:imported-modules + ((guix build glib-or-gtk-build-system) + ,@%qt-build-system-modules) + #:modules + (((guix build glib-or-gtk-build-system) + #:prefix glib-or-gtk:) + (guix build qt-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion "src/gui" + (substitute* "CMakeLists.txt" + ;; Remove source references of deleted 3rdparties. + (("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.cpp") + "") + (("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.cpp") + "") + (("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.cpp") + "") + (("[ \t]*list\\(APPEND 3rdparty_SRC \\.\\./3rdparty/?.*\\)") + "") + ;; Patch include references of deleted 3rdparties to inputs. + (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/qtlockedfile") + (string-append (assoc-ref inputs "qtsolutions") + "/include/qtlockedfile/")) + (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/qtsingleapplication") + (string-append (assoc-ref inputs "qtsolutions") + "/include/qtsingleapplication/")) + (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/kmessagewidget") + (string-append (assoc-ref inputs "kwidgetsaddons") + "/include/KF5/KWidgetsAddons/")) + ;; Link libraries from inputs that were deleted in 3rdparty. + (("\\$\\{synclib_NAME\\}") + (string-append "${synclib_NAME} " + "QtSolutions_LockedFile " + "QtSolutions_SingleApplication " + "KF5WidgetsAddons"))) + ;; Fix compatibility with QtSingleApplication from QtSolutions. + (substitute* '("application.h" "application.cpp") + (("SharedTools::QtSingleApplication") + "QtSingleApplication") + (("slotParseMessage\\(const QString &(msg)?.*\\)") + "slotParseMessage(const QString &msg)"))) + #t)) + (add-after 'patch-source 'patch-cmake + (lambda* (#:key outputs #:allow-other-keys) + ;; Patch install directory for dbus service files. + (substitute* "shell_integration/libcloudproviders/CMakeLists.txt" + (("PKGCONFIG_GETVAR\\(.+ _install_dir\\)") + (string-append "set(_install_dir \"${CMAKE_INSTALL_PREFIX}" + "/share/dbus-1/services\")"))) + ;; Make sure, that Qt modules are installed under $prefix. + (substitute* "shell_integration/dolphin/CMakeLists.txt" + (("ON CACHE") + "OFF CACHE")) + #t)) + (add-before 'check 'pre-check + (lambda _ + ;; Tests write to $HOME. + (setenv "HOME" (getcwd)) + #t)) + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (native-inputs + `(("cmocka" ,cmocka) + ("dot" ,graphviz) + ("doxygen" ,doxygen) + ("extra-cmake-modules" ,extra-cmake-modules) + ("glib:bin" ,glib "bin") + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("qttools" ,qttools) + ("ruby" ,ruby))) + (inputs + `(("appstream" ,appstream) + ("glib" ,glib) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kio" ,kio) + ("kjs" ,kjs) + ("kwidgetsaddons" ,kwidgetsaddons) + ("libcloudproviders" ,libcloudproviders) + ("libzip" ,libzip) + ("openssl" ,openssl) + ("python-nautilus" ,python-nautilus) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtkeychain" ,qtkeychain) + ("qtquickcontrols2" ,qtquickcontrols2) + ("qtsolutions" ,qtsolutions) + ("qtsvg" ,qtsvg) + ("qtwebchannel" ,qtwebchannel) + ("qtwebsockets" ,qtwebsockets) + ("qtwebkit" ,qtwebkit) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (propagated-inputs + `(("qtwebengine" ,qtwebengine))) + (synopsis "Desktop sync client for Nextcloud") + (description "Nextcloud-Desktop is a tool to synchronize files from +Nextcloud Server with your computer.") + (home-page "https://nextcloud.com/install/#install-clients") + (license + (list + ;; QtProgressIndicator + license:expat + ;; Qtokenizer + license:lgpl2.1+ + ;; Others + license:gpl2+)))) + (define-public megacmd (package (name "megacmd") -- 2.30.1