1 |
%global _hardened_build 1 |
2 |
%define _cmake_skip_rpath %nil |
3 |
# exclude devel(libocsync) |
4 |
%global __requires_exclude ^(devel\\(libocsync.*)$ |
5 |
|
6 |
%define nextcloudsync_major 0 |
7 |
%define libnextcloudsync %mklibname nextcloudsync %nextcloudsync_major |
8 |
|
9 |
%define libocsync_major 0 |
10 |
%define liblibocsync %mklibname ocsync %libocsync_major |
11 |
|
12 |
Name: nextcloud-client |
13 |
Version: 3.4.3 |
14 |
Release: %mkrel 1 |
15 |
Summary: The Nextcloud Client |
16 |
Group: Archiving/Backup |
17 |
|
18 |
# -libs are LGPLv2+, rest GPLv2 |
19 |
License: LGPLv2+ and GPLv2 |
20 |
Url: https://nextcloud.com/install/#install-clients |
21 |
Source0: https://github.com/nextcloud/desktop/archive/v%{version}/desktop-%{version}.tar.gz |
22 |
Source2: %{name}.appdata.xml |
23 |
Patch2: nc-3.3.6-xcb.patch |
24 |
|
25 |
Recommends: libgnome-keyring |
26 |
Requires: %{libnextcloudsync} = %{version}-%{release} |
27 |
Requires: %{liblibocsync} = %{version}-%{release} |
28 |
#squidf: 3 hard coded dependencies added to address Mageia bug#29619 |
29 |
Requires: qtquickcontrols25%{?_isa} |
30 |
Requires: qtdeclarative5 |
31 |
Requires: qtgraphicaleffects5 |
32 |
|
33 |
BuildRequires: desktop-file-utils |
34 |
BuildRequires: doxygen |
35 |
BuildRequires: appstream-util |
36 |
BuildRequires: inotify-tools |
37 |
BuildRequires: python3dist(sphinx) |
38 |
BuildRequires: pkgconfig(neon) |
39 |
BuildRequires: pkgconfig(openssl) |
40 |
BuildRequires: pkgconfig(cloudproviders) |
41 |
BuildRequires: pkgconfig(sqlite3) |
42 |
BuildRequires: kf5-macros |
43 |
BuildRequires: cmake(KF5KIO) |
44 |
BuildRequires: cmake(Qt5Keychain) |
45 |
BuildRequires: qtsingleapplication-qt5-devel |
46 |
BuildRequires: pkgconfig(Qt5Core) |
47 |
BuildRequires: pkgconfig(Qt5Gui) |
48 |
BuildRequires: pkgconfig(Qt5Network) |
49 |
BuildRequires: pkgconfig(Qt5Concurrent) |
50 |
BuildRequires: pkgconfig(Qt5WebKitWidgets) |
51 |
BuildRequires: pkgconfig(Qt5WebEngineWidgets) |
52 |
BuildRequires: pkgconfig(Qt5DBus) |
53 |
BuildRequires: pkgconfig(Qt5Help) |
54 |
BuildRequires: pkgconfig(Qt5Xml) |
55 |
BuildRequires: pkgconfig(Qt5QuickControls2) |
56 |
BuildRequires: pkgconfig(Qt5Qml) |
57 |
BuildRequires: pkgconfig(Qt5WebSockets) |
58 |
BuildRequires: inkscape |
59 |
Provides: nextcloud-client = %version-%release |
60 |
Obsoletes: owncloud-client < 2.2.4-2 |
61 |
|
62 |
%description |
63 |
Nextcloud-client enables you to connect to your private Nextcloud Server. |
64 |
With it you can create folders in your home directory, and keep the contents |
65 |
of those folders synced with your Nextcloud server. Simply copy a file into |
66 |
the directory and the Nextcloud Client does the rest. |
67 |
|
68 |
%files |
69 |
%{_bindir}/nextcloud |
70 |
%{_bindir}/nextcloudcmd |
71 |
%{_datadir}/mime/packages/nextcloud.xml |
72 |
%{_datadir}/applications/com.nextcloud.desktopclient.nextcloud.desktop |
73 |
%dir %{_datadir}/nextcloud |
74 |
%{_datadir}/nextcloud/i18n/ |
75 |
%{_datadir}/icons/hicolor/*/apps/* |
76 |
%{_datadir}/appdata/%{name}.appdata.xml |
77 |
%dir %{_sysconfdir}/Nextcloud |
78 |
%{_sysconfdir}/Nextcloud/sync-exclude.lst |
79 |
%{_datadir}/cloud-providers/com.nextcloudgmbh.Nextcloud.ini |
80 |
%{_datadir}/dbus-1/services/com.nextcloudgmbh.Nextcloud.service |
81 |
|
82 |
%package nautilus |
83 |
Summary: nextcloud client nautilus extension |
84 |
Requires: nautilus |
85 |
Requires: nautilus-python |
86 |
Requires: %{name} = %{version}-%{release} |
87 |
|
88 |
%description nautilus |
89 |
The nextcloud desktop client nautilus extension. |
90 |
|
91 |
%files nautilus |
92 |
%{_datadir}/nautilus-python/extensions/* |
93 |
|
94 |
%package nemo |
95 |
Summary: Nemo overlay icons |
96 |
Requires: nemo |
97 |
Requires: nemo-python |
98 |
Requires: %{name} = %{version}-%{release} |
99 |
|
100 |
%description nemo |
101 |
This package provides overlay icons to visualize the sync state |
102 |
in the nemo file manager. |
103 |
|
104 |
%files nemo |
105 |
%{_datadir}/nemo-python/extensions/* |
106 |
|
107 |
%package caja |
108 |
Summary: Caja overlay icons |
109 |
Requires: caja |
110 |
Requires: python-caja |
111 |
Requires: %{name} = %{version}-%{release} |
112 |
|
113 |
%description caja |
114 |
This package provides overlay icons to visualize the sync state |
115 |
in the caja file manager. |
116 |
|
117 |
%files caja |
118 |
%{_datadir}/caja-python/extensions/* |
119 |
|
120 |
%package dolphin |
121 |
Summary: Dolphin overlay icons |
122 |
Requires: dolphin |
123 |
Requires: %{name} = %{version}-%{release} |
124 |
|
125 |
%description dolphin |
126 |
The nextcloud desktop client dolphin extension. |
127 |
|
128 |
%files dolphin |
129 |
%{_kf5_libdir}/libnextclouddolphinpluginhelper.so |
130 |
%{_kf5_plugindir}/overlayicon/nextclouddolphinoverlayplugin.so |
131 |
%{_qt5_plugindir}/nextclouddolphinactionplugin.so |
132 |
%{_kf5_services}/nextclouddolphinactionplugin.desktop |
133 |
|
134 |
%package -n %libnextcloudsync |
135 |
Summary: The Nextcloud Client Libraries |
136 |
Group: System/Libraries |
137 |
# From owncloud-client |
138 |
Obsoletes: %{_lib}owncloudsync2 < 2.2.4-2 |
139 |
|
140 |
%description -n %libnextcloudsync |
141 |
The Nextcloud Client Libraries. |
142 |
|
143 |
%files -n %libnextcloudsync |
144 |
%{_libdir}/libnextcloudsync.so.%nextcloudsync_major |
145 |
%{_libdir}/libnextcloudsync.so.%version |
146 |
|
147 |
|
148 |
%package -n %liblibocsync |
149 |
Summary: The Nextcloud Client Libraries |
150 |
Group: System/Libraries |
151 |
Obsoletes: %{_lib}libocsync0 < 2.2.4-4 |
152 |
# From owncloud-client |
153 |
Obsoletes: %{_lib}ocsync2 < 2.2.4-2 |
154 |
|
155 |
%description -n %liblibocsync |
156 |
The Nextcloud Client Libraries. |
157 |
|
158 |
%files -n %liblibocsync |
159 |
%_libdir/libnextcloud_csync.so.%{libocsync_major} |
160 |
%_libdir/libnextcloud_csync.so.%{version} |
161 |
|
162 |
%define develname %mklibname %{name} -d |
163 |
|
164 |
%package -n %{develname} |
165 |
Summary: Development files for nextcloud-client |
166 |
License: LGPLv2+ |
167 |
Requires: %libnextcloudsync = %{version}-%{release} |
168 |
Requires: %liblibocsync = %{version}-%{release} |
169 |
Provides: %{name}-static = %{version}-%{release} |
170 |
Provides: %{name}-devel = %{version}-%{release} |
171 |
Obsoletes: %{name}-devel < 2.2.4-4 |
172 |
# From owncloud-client |
173 |
Obsoletes: %{_lib}owncloud-client-devel < 2.2.4-2 |
174 |
|
175 |
%description -n %{develname} |
176 |
Development headers for use of the nextcloud-client library. |
177 |
|
178 |
%files -n %{develname} |
179 |
%{_libdir}/libnextcloudsync.so |
180 |
%{_includedir}/nextcloudsync/ |
181 |
%{_libdir}/libnextcloud_csync.so |
182 |
%{_libdir}/nextcloudsync_vfs_suffix.so |
183 |
%{_libdir}/nextcloudsync_vfs_xattr.so |
184 |
|
185 |
%prep |
186 |
%setup -q -n desktop-%{version} |
187 |
%autopatch -p1 |
188 |
|
189 |
%build |
190 |
|
191 |
%cmake_kf5 \ |
192 |
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" \ |
193 |
-DCMAKE_INSTALL_PREFIX=%{_usr} \ |
194 |
-DNO_SHIBBOLETH=True \ |
195 |
-DINOTIFY_LIBRARY="%{_libdir}/libc.so" |
196 |
%cmake_build |
197 |
|
198 |
%install |
199 |
%cmake_install |
200 |
|
201 |
#%find_lang client --with-qt |
202 |
mkdir -p %{buildroot}%{_datadir}/appdata/ |
203 |
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml |
204 |
|
205 |
%check |
206 |
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml |
207 |
|