From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 22 12:29:39 2021 Received: (at 45889) by debbugs.gnu.org; 22 Feb 2021 17:29:39 +0000 Received: from localhost ([127.0.0.1]:57471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lEF1R-0003S4-IR for submit@debbugs.gnu.org; Mon, 22 Feb 2021 12:29:39 -0500 Received: from out0.migadu.com ([94.23.1.103]:43658) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lEF1K-0003Ro-GX for 45889@debbugs.gnu.org; Mon, 22 Feb 2021 12:29:23 -0500 To: Leo Prikler , 45889@debbugs.gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raghavgururajan.name; s=key1; t=1614014956; 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=lmHDCD0STo4CfAFMmkavP7iHOeYjZnTqTdlCWMDI2H0=; b=e0nSdEVTDMMb3u7X/8oFe+PLlFk6bf1yGjKov6PaLLBH9VFiquzTkgq8LpddwV4BLk7n6b b8DAN51Suj85zXm6ojVKkvDgTSz2wtBcxzt6845jVvaIIHQ4cYvxMRs34frffzhlZ91mYJ Ic2htSlsioH3kCBdJpTrA39zhP2+eXwy2T3m5aJQJD95205fy/tzu6AZjN3MhwtAqrOtUy NPSWcywHUygi/anixKwofLiDDsc9e8nj9z081MsQzS1v3fO4KW273LzB57CcpE1WI3i4jO XwqkROG9/tT8gcWjVVtzb6xhmsIUDArArBsB7OOD1Ywg/DHq8xHg69cqMu4wHw== References: <609483b4-c583-cbf0-4b2a-4daf6c4feb98@raghavgururajan.name> <8b239920351c99a887835c98fd9a3892b9cfd0f5.camel@student.tugraz.at> <3c07544c-97fe-88b1-2e80-ec5cfb87d4ec@raghavgururajan.name> <73f0495c29ee82c2a16a96cc2825f19bd88b4ab4.camel@student.tugraz.at> <8f88bef4-cf4d-5bcc-e0bb-979dc0ce1efd@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> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Raghav Gururajan Subject: Re: Nextcloud Client (v13) Message-ID: <12599035-d671-b417-d70c-89d694f3ccd9@raghavgururajan.name> Date: Mon, 22 Feb 2021 12:29:13 -0500 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="gtkrsgeZSeB9mKI86T3M6g6QM35X1X80D" X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: rg@raghavgururajan.name X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45889 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --gtkrsgeZSeB9mKI86T3M6g6QM35X1X80D Content-Type: multipart/mixed; boundary="ECGx26096zUS6dneWqVZyiUCms7jzavpb"; protected-headers="v1" From: Raghav Gururajan To: Leo Prikler , 45889@debbugs.gnu.org Message-ID: <12599035-d671-b417-d70c-89d694f3ccd9@raghavgururajan.name> Subject: Re: Nextcloud Client (v13) References: <609483b4-c583-cbf0-4b2a-4daf6c4feb98@raghavgururajan.name> <8b239920351c99a887835c98fd9a3892b9cfd0f5.camel@student.tugraz.at> <3c07544c-97fe-88b1-2e80-ec5cfb87d4ec@raghavgururajan.name> <73f0495c29ee82c2a16a96cc2825f19bd88b4ab4.camel@student.tugraz.at> <8f88bef4-cf4d-5bcc-e0bb-979dc0ce1efd@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> In-Reply-To: --ECGx26096zUS6dneWqVZyiUCms7jzavpb Content-Type: multipart/mixed; boundary="------------5C61A9F70C2221494515FB4B" Content-Language: en-US This is a multi-part message in MIME format. --------------5C61A9F70C2221494515FB4B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi Leo! > Still seems pretty sync to me, especially since it's just the client > for now. Circular-dependency when putting it in sync.scm. So we'll keep it as is=20 I guess. > (X) Doubt >=20 > It appears the Nextcloud variant has an added namespace layer, that one= > should easily be able to strip via substitute*. I do wonder where that= > comes from, though, it seems to have been there "forever". No idea! Thanks for fixing the build errors. Also, I cannot package them separately because the build script is not=20 viable. No libraries gets built, except for .o files. Also, INSTALL.txt=20 deals with Windows and MacOS. I have attached v13. Regards, RG. --------------5C61A9F70C2221494515FB4B Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-Add-appstream.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-Add-appstream.patch" =46rom d4b271d3fcff56c27e6ee0222e688aad4b78a8eb Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 14 Jan 2021 23:32:27 -0500 Subject: [PATCH 1/2] gnu: Add appstream. * gnu/packages/freedesktop.scm (appstream): New variable. --- gnu/packages/freedesktop.scm | 96 ++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index e00454f7b3..bccd8e9b00 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -58,8 +58,10 @@ #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) @@ -75,6 +77,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages language) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) @@ -101,6 +104,99 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) =20 +(define-public appstream + (package + (name "appstream") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.freedesktop.org/software/" + "appstream/releases/" + "AppStream-" version ".tar.xz")) + (sha256 + (base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds"))= )) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libstemmer + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("/usr/include") + (string-append (assoc-ref inputs "libstemmer") + "/include"))) + #t)) + (add-after 'patch-libstemmer 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs/api" + (substitute* "appstream-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml-4.3") + "/xml/dtd/docbook/")))) + (for-each (lambda (file) + (substitute* file + (("http://www.oasis-open.org/docbook/xml/4.5/= ") + (string-append (assoc-ref inputs "docbook-xm= l") + "/xml/dtd/docbook/")))) + (find-files "scripts/desc" "\\.xml$")) + #t)) + (add-after 'patch-docbook-xml 'disable-failing-tests + (lambda _ + (substitute* "tests/test-pool.c" + ((" g_test_add_func \\(\"/AppStream/PoolRead\", test_pool= _read\\);") + "") + ((" g_test_add_func \\(\"/AppStream/PoolReadAsync\", test= _pool_read_async\\);") + "") + ((" g_test_add_func \\(\"/AppStream/PoolEmpty\", test_poo= l_empty\\);") + "") + ((" g_test_add_func \\(\"/AppStream/Cache\", test_cache\\= );") + "") + ((" g_test_add_func \\(\"/AppStream/Merges\", test_merge_= components\\);") + "")) + #t)) + (add-after 'disable-failing-tests 'patch-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "data/meson.build" + (("/etc") + (string-append (assoc-ref outputs "out") + "/etc"))) + #t))))) + (native-inputs + `(("cmake" ,cmake) + ("docbook-xml-4.3" ,docbook-xml-4.3) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gperf" ,gperf) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("xsltproc" ,libxslt))) + (inputs + `(("libsoup" ,libsoup) + ("libstemmer" ,libstemmer) + ("libxml2" ,libxml2) + ("libyaml" ,libyaml) + ("lmdb" ,lmdb))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Tools and libraries to work with AppStream metadata") + (description "AppStream is a cross-distribution effort for enhancing= the way +we interact with the software repositories provided by distributions by +standardizing software component metadata. It provides the foundation t= o build +software-center applications, by providing metadata necessary for an +application-centric view on package repositories. It additionally provi= des +specifications for things like an unified software metadata database, sc= reenshot +services and various other things needed to create user-friendly +application-centers for distributions.") + (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream= /") + (license license:gpl2+))) + (define-public farstream (package (name "farstream") --=20 2.30.1 --------------5C61A9F70C2221494515FB4B Content-Type: text/x-patch; charset=UTF-8; name="0002-gnu-Add-nextcloud-client.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0002-gnu-Add-nextcloud-client.patch" =46rom dd9028ea1babf23ad23c08d19c8146c77e937479 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 15 Jan 2021 05:04:31 -0500 Subject: [PATCH 2/2] gnu: Add nextcloud-client. * gnu/packages/nextcloud.scm: New module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/nextcloud.scm (nextcloud-client): New variable. --- gnu/local.mk | 1 + gnu/packages/nextcloud.scm | 190 +++++++++++++++++++++++++++++++++++++ 2 files changed, 191 insertions(+) create mode 100644 gnu/packages/nextcloud.scm diff --git a/gnu/local.mk b/gnu/local.mk index c3398c62fd..a9e0abe225 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -398,6 +398,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/netpbm.scm \ %D%/packages/nettle.scm \ %D%/packages/networking.scm \ + %D%/packages/nextcloud.scm \ %D%/packages/nfs.scm \ %D%/packages/nickle.scm \ %D%/packages/nicotine.scm \ diff --git a/gnu/packages/nextcloud.scm b/gnu/packages/nextcloud.scm new file mode 100644 index 0000000000..d172f3214f --- /dev/null +++ b/gnu/packages/nextcloud.scm @@ -0,0 +1,190 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2021 Raghav Gururajan +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (a= t +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages nextcloud) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages kde-frameworks) + #: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 ruby) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tls) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system qt)) + +(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 + (let ((keep '( ;; Not available in Guix. + "QProgressIndicator" + "kmessagewidget" "qtokenizer"))) + (with-directory-excursion "src/3rdparty" + (for-each delete-file-recursively + (lset-difference string=3D? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) + (build-system qt-build-system) + (arguments + `(#:configure-flags + (list + "-DUNIT_TESTING=3DON" + ;; Upstream Bug: https://github.com/nextcloud/desktop/issues/288= 5 + "-DNO_SHIBBOLETH=3DON") + #: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) + (let* ((qtsolutions (assoc-ref inputs "qtsolutions"))) + (for-each + (lambda (dir) + (copy-recursively + (string-append qtsolutions "/" dir "/src") + (string-append "src/3rdparty/" dir))) + '("qtlockedfile" "qtsingleapplication"))) + (with-directory-excursion "src/gui" + (substitute* `("application.h" "application.cpp") + (("SharedTools::QtSingleApplication") "QtSingleApplicat= ion") + (("slotParseMessage\\(const QString &(msg)?.*\\)") + "slotParseMessage(const QString &msg)"))) + #t)) + (add-after 'unpack 'patch-cmake + (lambda* (#:key outputs #:allow-other-keys) + ;; Patch install directory for dbus service files. + (substitute* "shell_integration/libcloudproviders/CMakeList= s.txt" + (("PKGCONFIG_GETVAR\\(.+ _install_dir\\)") + "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-after 'patch-plugin-dirs 'fix-build + (lambda _ + (with-directory-excursion "src/gui" + (substitute* `("application.h" "application.cpp") + (("SharedTools::") + ""))) + #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) + ("qtsolutions" + ,(origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/qtproject/qt-solutions") + (commit "9568abd142d581b67b86a5f63d823a34b0612702"))) + (file-name + (git-file-name "qtsolutions" "9568abd")) + (sha256 + (base32 "17fnmassflm3vxi0krpr6fff368jy38cby31a48rban4nqqmgx7= n")))) + ("qttools" ,qttools) + ("ruby" ,ruby))) + (inputs + `(("appstream" ,appstream) + ("glib" ,glib) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kio" ,kio) + ("kjs" ,kjs) + ("libcloudproviders" ,libcloudproviders) + ("libzip" ,libzip) + ("openssl" ,openssl) + ("python-nautilus" ,python-nautilus) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtkeychain" ,qtkeychain) + ("qtquickcontrols2" ,qtquickcontrols2) + ("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 + ;; All ThirdParty (except QtProgressIndicator) + license:lgpl2.1+ + ;; Others + license:gpl2+)))) --=20 2.30.1 --------------5C61A9F70C2221494515FB4B-- --ECGx26096zUS6dneWqVZyiUCms7jzavpb-- --gtkrsgeZSeB9mKI86T3M6g6QM35X1X80D Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTNLV6qqYzLN9qR1rBfWBZkf4vlUQUCYDPp6QUDAAAAAAAKCRBfWBZkf4vlUeFb APoD+CXP++w220kBjRuXYqWN8kR7DLfT4XnLsuVA27jWmgEA8CX8GVEm1Rsv3HVKpGFoq6WdpwO8 0ggJH5agRv/LpwA= =P/W0 -----END PGP SIGNATURE----- --gtkrsgeZSeB9mKI86T3M6g6QM35X1X80D--