nextcloud-client packaged

This commit is contained in:
Berk Çakar
2021-09-02 00:39:40 +03:00
parent 0240878fd9
commit 55913e4d8a
6 changed files with 310 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/copyleft/gpl.txt
from pisi.actionsapi import cmaketools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
def setup():
shelltools.system("sed -i 's/-fPIE/-fPIC/g' src/{gui,cmd}/CMakeLists.txt")
shelltools.makedirs("build")
shelltools.cd("build")
cmaketools.configure("-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_SHARED_LINKER_FLAGS='-Wl,--as-needed' \
-DNO_SHIBBOLETH=1 \
-DWITH_CRASHREPORTER=OFF \
-DUNIT_TESTING=ON", sourceDir="..")
def build():
shelltools.cd("build")
cmaketools.make()
def install():
shelltools.cd("build")
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
shelltools.cd("..")
pisitools.dodoc("COPYING", "README.md")
# Pisi Linux does not have Cinnamon Desktop yet.
pisitools.removeDir("/usr/share/nemo-python")
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id type="desktop">nextcloud.desktop</id>
<licence>CC0</licence>
<name>Nextcloud Desktop Client</name>
<summary>The Nextcloud desktop client, lets you sync directly to your Nextcloud server</summary>
<description>
<p>
Nextcloud-client enables you to connect to your private Nextcloud Server. With it you can create folders in your home directory, and keep the contents of those folders synced with your Nextcloud server. Simply copy a file into the directory and the Nextcloud Client does the rest.
</p>
</description>
<screenshots>
<screenshot type="default" width="713" height="501">https://comzeradd.fedorapeople.org/screenshots/owncloud1.jpg</screenshot>
</screenshots>
<url type="homepage">https://nextcloud.org/</url>
</application>
@@ -0,0 +1,46 @@
From 37756e8f0d00309a40f62b59ed2833fee762652d Mon Sep 17 00:00:00 2001
From: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Date: Wed, 25 Aug 2021 12:20:31 +0200
Subject: [PATCH] require cmake 3.16
close #3572
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
---
CMakeLists.txt | 2 +-
admin/win/tools/CMakeLists.txt | 2 +-
shell_integration/dolphin/CMakeLists.txt | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8e2a63e581..c389ec3ea2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.6)
+cmake_minimum_required(VERSION 3.16)
set(CMAKE_CXX_STANDARD 14)
project(client)
diff --git a/admin/win/tools/CMakeLists.txt b/admin/win/tools/CMakeLists.txt
index 934e6b15cf..7117b5b603 100644
--- a/admin/win/tools/CMakeLists.txt
+++ b/admin/win/tools/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.2)
+cmake_minimum_required(VERSION 3.16)
set(CMAKE_CXX_STANDARD 17)
if(CMAKE_SIZEOF_VOID_P MATCHES 4)
diff --git a/shell_integration/dolphin/CMakeLists.txt b/shell_integration/dolphin/CMakeLists.txt
index 60a38e3899..3dbf2dae92 100644
--- a/shell_integration/dolphin/CMakeLists.txt
+++ b/shell_integration/dolphin/CMakeLists.txt
@@ -1,6 +1,6 @@
project(dolphin-owncloud)
-cmake_minimum_required(VERSION 2.8.12)
+cmake_minimum_required(VERSION 3.16)
set(QT_MIN_VERSION "5.15.0")
set(KF5_MIN_VERSION "5.16.0")
@@ -0,0 +1,29 @@
--- desktop-3.2.2-orig/src/gui/main.cpp 2021-06-14 20:40:51.378471413 -0400
+++ desktop-3.2.2/src/gui/main.cpp 2021-06-14 20:42:21.630180229 -0400
@@ -49,8 +49,26 @@
.arg(Theme::instance()->appNameGUI()));
}
+#ifdef Q_OS_LINUX
+void wayland_hacks()
+{
+ QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP").toLower();
+ QByteArray sessionDesktop = qgetenv("XDG_SESSION_DESKTOP").toLower();
+ QByteArray sessionType = qgetenv("XDG_SESSION_TYPE").toLower();
+ if (sessionType.contains("wayland") && (currentDesktop.contains("gnome") || sessionDesktop.contains("gnome")))
+ {
+ qputenv("QT_QPA_PLATFORM", "xcb");
+ }
+}
+#endif
+
int main(int argc, char **argv)
{
+
+#ifdef Q_OS_LINUX
+wayland_hacks();
+#endif
+
Q_INIT_RESOURCE(resources);
Q_INIT_RESOURCE(theme);
+153
View File
@@ -0,0 +1,153 @@
<?xml version="1.0"?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>nextcloud-client</Name>
<Homepage>https://nextcloud.com/install</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv2+</License>
<License>GPLv2</License>
<IsA>app:gui</IsA>
<Summary>The Nextcloud Client</Summary>
<Description>Nextcloud-client enables you to connect to your private Nextcloud Server. With it you can create folders in your home directory, and keep the contents of those folders synced with your Nextcloud server.</Description>
<Archive sha1sum="5aaf6a048381abab50e2dbad831b31e10ad3bbc9" type="targz">https://github.com/nextcloud/desktop/archive/v3.3.2/desktop-3.3.2.tar.gz</Archive>
<BuildDependencies>
<Dependency>check-devel</Dependency>
<Dependency>chrpath</Dependency>
<Dependency>cmake</Dependency>
<Dependency>desktop-file-utils</Dependency>
<Dependency>doxygen</Dependency>
<Dependency>libcloudproviders-devel</Dependency>
<Dependency>appstream-devel</Dependency>
<Dependency>appstream-glib-devel</Dependency>
<Dependency>neon-devel</Dependency>
<Dependency>openssl-devel</Dependency>
<Dependency>dbus-devel</Dependency>
<Dependency>python3-sphinx</Dependency>
<Dependency>qt5-keychain-devel</Dependency>
<Dependency>qt5-base-devel</Dependency>
<Dependency>qt5-xmlpatterns-devel</Dependency>
<Dependency>qt5-location-devel</Dependency>
<Dependency>qt5-quickcontrols2-devel</Dependency>
<Dependency>qt5-websockets-devel</Dependency>
<Dependency>qt5-svg-devel</Dependency>
<Dependency>qt5-declarative-devel</Dependency>
<Dependency>qt5-linguist</Dependency>
<Dependency>extra-cmake-modules</Dependency>
<Dependency>inkscape</Dependency>
<Dependency>kcoreaddons-devel</Dependency>
<Dependency>kio-devel</Dependency>
<Dependency>sqlite-devel</Dependency>
<Dependency>libgnome-keyring</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">xcb.patch</Patch>
<Patch level="1">require-cmake-3.16.patch</Patch>
</Patches>
</Source>
<Package>
<Name>nextcloud-client</Name>
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>sqlite</Dependency>
<Dependency>openssl</Dependency>
<Dependency>qt5-svg</Dependency>
<Dependency>qt5-base</Dependency>
<Dependency>qt5-keychain</Dependency>
<Dependency>qt5-websockets</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/etc/Nextcloud</Path>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib/libnextcloudsync.so.0</Path>
<Path fileType="library">/usr/lib/libnextcloudsync.so.3.3.2</Path>
<Path fileType="library">/usr/lib/libnextcloud_csync.so*</Path>
<Path fileType="data">/usr/share/appdata</Path>
<Path fileType="data">/usr/share/applications</Path>
<Path fileType="data">/usr/share/cloud-providers</Path>
<Path fileType="data">/usr/share/dbus-1</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="data">/usr/share/icons</Path>
<Path fileType="data">/usr/share/mime</Path>
<Path fileType="data">/usr/share/nextcloud</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/usr/share/appdata/nextcloud.appdata.xml">nextcloud.appdata.xml</AdditionalFile>
</AdditionalFiles>
</Package>
<Package>
<Name>nextcloud-client-nautilus</Name>
<Summary>nextcloud-client's Nautilus file manager extension</Summary>
<Description>nextcloud-client extension for the Nautilus file manager.</Description>
<RuntimeDependencies>
<Dependency release="current">nextcloud-client</Dependency>
<Dependency>nautilus</Dependency>
<Dependency>nautilus-python</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/usr/share/nautilus-python/extensions</Path>
</Files>
</Package>
<Package>
<Name>nextcloud-client-dolphin</Name>
<Summary>nextcloud-client overlay icons for the Dolphin file manager</Summary>
<Description>nextcloud-client extension for the Dolphin file manager.</Description>
<RuntimeDependencies>
<Dependency release="current">nextcloud-client</Dependency>
<Dependency>dolphin</Dependency>
<Dependency>kio</Dependency>
<Dependency>kcoreaddons</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/libnextclouddolphinpluginhelper.so</Path>
<Path fileType="library">/usr/lib/qt5/plugins/nextclouddolphinactionplugin.so</Path>
<Path fileType="library">/usr/lib/qt5/plugins/kf5/overlayicon/nextclouddolphinoverlayplugin.so</Path>
<Path fileType="data">/usr/share/kservices5/nextclouddolphinactionplugin.desktop</Path>
</Files>
</Package>
<Package>
<Name>nextcloud-client-caja</Name>
<Summary>nextcloud-client overlay icons for the Caja file manager</Summary>
<Description>This package provides overlay icons to visualize the sync state in the Caja file manager.</Description>
<RuntimeDependencies>
<Dependency release="current">nextcloud-client</Dependency>
<Dependency>caja</Dependency>
<Dependency>python-caja</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/usr/share/caja-python/extensions</Path>
</Files>
</Package>
<Package>
<Name>nextcloud-client-devel</Name>
<Summary>Development files for nextcloud-client</Summary>
<RuntimeDependencies>
<Dependency release="current">nextcloud-client</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include/nextcloudsync</Path>
<Path fileType="library">/usr/lib/libnextcloudsync.so</Path>
<Path fileType="library">/usr/lib/nextcloudsync_vfs_suffix.so</Path>
<Path fileType="library">/usr/lib/nextcloudsync_vfs_xattr.so</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2021-09-01</Date>
<Version>3.3.2</Version>
<Comment>First release for Pisi Linux</Comment>
<Name>Berk Çakar</Name>
<Email>berk2238@hotmail.com</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,30 @@
<PISI>
<Source>
<Name>nextcloud-client</Name>
<Summary xml:lang="tr">Nextcloud istemcisi</Summary>
<Description xml:lang="tr">Nextcloud-client, özel Nextcloud Sunucunuza bağlanmanızı sağlar. Bununla beraber ana dizininizde klasörler oluşturabilir ve bu klasörlerin içeriğini Nextcloud sunucunuzla senkronize halde tutabilirsiniz.</Description>
</Source>
<Package>
<Name>nextcloud-client-nautilus</Name>
<Summary xml:lang="tr">Nextcloud istemcisinin Nautilus dosya yöneticisi uzantısı</Summary>
<Description xml:lang="tr">Nautilus dosya yöneticisi için Nextcloud istemcisi uzantısı.</Description>
</Package>
<Package>
<Name>nextcloud-client-dolphin</Name>
<Summary xml:lang="tr">Dolphin dosya yöneticisi için Nextcloud istemcisi simgeleri</Summary>
<Description xml:lang="tr">Dolphin dosya yöneticisi için Nextcloud istemcisi uzantısı.</Description>
</Package>
<Package>
<Name>nextcloud-client-caja</Name>
<Summary xml:lang="tr">Caja dosya yöneticisi için Nextcloud istemcisi simgeleri</Summary>
<Description xml:lang="tr">Bu paket, Caja dosya yöneticisinde eşitleme durumunu görselleştirmek için simgeler sağlar.</Description>
</Package>
<Package>
<Name>nextcloud-client-devel</Name>
<Summary xml:lang="tr">nextcloud-client için geliştirme dosyaları</Summary>
</Package>
</PISI>