Initial build

f40
Nick Bebout 8 years ago
parent e1c30ef47e
commit 4d7bdd5f3b

2
.gitignore vendored

@ -0,0 +1,2 @@
/v2.2.4.tar.gz
/nextcloud-client-2.2.4.tar.bz2

@ -0,0 +1,8 @@
--- a/nextcloudtheme/OEM.cmake 2016-10-21 12:28:33.743901021 +0200
+++ b/nextcloudtheme/OEM.cmake 2016-10-21 12:28:44.908002183 +0200
@@ -1,4 +1,5 @@
set( APPLICATION_NAME "Nextcloud" )
+set( APPLICATION_SHORTNAME "Nextcloud" )
set( APPLICATION_EXECUTABLE "nextcloud" )
set( APPLICATION_DOMAIN "nextcloud.com" )
set( APPLICATION_VENDOR "Nextcloud GmbH" )

@ -0,0 +1,87 @@
diff -urNr client-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h client/src/3rdparty/qtsingleapplication/qtlocalpeer.h
--- client-orig/src/3rdparty/qtsingleapplication/qtlocalpeer.h 2016-09-27 10:53:37.000000000 +0200
+++ client/src/3rdparty/qtsingleapplication/qtlocalpeer.h 2016-10-11 07:58:58.953393364 +0200
@@ -27,7 +27,7 @@
**
****************************************************************************/
-#include <qtlockedfile.h>
+#include <QTSolutions/qtlockedfile.h>
#include <QLocalServer>
#include <QLocalSocket>
diff -urNr client-orig/src/gui/application.cpp client/src/gui/application.cpp
--- client-orig/src/gui/application.cpp 2016-09-27 10:53:37.000000000 +0200
+++ client/src/gui/application.cpp 2016-10-11 08:00:25.875964871 +0200
@@ -92,7 +92,7 @@
// ----------------------------------------------------------------------------------
Application::Application(int &argc, char **argv) :
- SharedTools::QtSingleApplication(Theme::instance()->appName() ,argc, argv),
+ QtSingleApplication(Theme::instance()->appName() ,argc, argv),
_gui(0),
_theme(Theme::instance()),
_helpOnly(false),
diff -urNr client-orig/src/gui/application.h client/src/gui/application.h
--- client-orig/src/gui/application.h 2016-09-27 10:53:37.000000000 +0200
+++ client/src/gui/application.h 2016-10-11 08:01:58.240768785 +0200
@@ -22,7 +22,7 @@
#include <QElapsedTimer>
#include <QNetworkConfigurationManager>
-#include "qtsingleapplication.h"
+#include "QtSolutions/QtSingleApplication"
#include "syncresult.h"
#include "logbrowser.h"
@@ -49,7 +49,7 @@
* @brief The Application class
* @ingroup gui
*/
-class Application : public SharedTools::QtSingleApplication
+class Application : public QtSingleApplication
{
Q_OBJECT
public:
diff -urNr client-orig/src/gui/CMakeLists.txt client/src/gui/CMakeLists.txt
--- client-orig/src/gui/CMakeLists.txt 2016-09-27 10:53:37.000000000 +0200
+++ client/src/gui/CMakeLists.txt 2016-10-11 08:05:03.906753374 +0200
@@ -143,10 +143,6 @@
set(3rdparty_SRC
../3rdparty/QProgressIndicator/QProgressIndicator.cpp
- ../3rdparty/qtlockedfile/qtlockedfile.cpp
- ../3rdparty/qtsingleapplication/qtlocalpeer.cpp
- ../3rdparty/qtsingleapplication/qtsingleapplication.cpp
- ../3rdparty/qtsingleapplication/qtsinglecoreapplication.cpp
../3rdparty/certificates/p12topem.cpp
)
@@ -158,18 +154,10 @@
)
endif()
-if(NOT WIN32)
- list(APPEND 3rdparty_SRC ../3rdparty/qtlockedfile/qtlockedfile_unix.cpp)
-else()
- list(APPEND 3rdparty_SRC ../3rdparty/qtlockedfile/qtlockedfile_win.cpp )
-endif()
-
set(3rdparty_INC
${CMAKE_SOURCE_DIR}/src/3rdparty/qjson
${CMAKE_SOURCE_DIR}/src/3rdparty/QProgressIndicator
- ${CMAKE_SOURCE_DIR}/src/3rdparty/qtlockedfile
${CMAKE_SOURCE_DIR}/src/3rdparty/qtmacgoodies/src
- ${CMAKE_SOURCE_DIR}/src/3rdparty/qtsingleapplication
)
include_directories(${3rdparty_INC})
@@ -288,6 +276,8 @@
target_link_libraries( ${APPLICATION_EXECUTABLE} ${QT_LIBRARIES} )
target_link_libraries( ${APPLICATION_EXECUTABLE} ${synclib_NAME} )
target_link_libraries( ${APPLICATION_EXECUTABLE} updater )
+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5Solutions_LockedFile-2.4 )
+target_link_libraries( ${APPLICATION_EXECUTABLE} Qt5Solutions_SingleApplication-2.6 )
target_link_libraries( ${APPLICATION_EXECUTABLE} ${OS_SPECIFIC_LINK_LIBRARIES} )
if(WITH_CRASHREPORTER)

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id type="desktop">Nextcloud-client.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,211 @@
%global _hardened_build 1
Name: nextcloud-client
Version: 2.2.4
Release: 4%{?dist}
Summary: The Nextcloud Client
# -libs are LGPLv2+, rest GPLv2
License: LGPLv2+ and GPLv2
Url: https://nextcloud.com/install/#install-clients
Source0: https://github.com/nextcloud/client_theming/archive/v%{version}.tar.gz
Source1: https://download.owncloud.com/desktop/stable/owncloudclient-%{version}.tar.xz
Source2: %{name}.appdata.xml
Patch0: %{name}-%{version}-syslibs.patch
# backport of https://github.com/owncloud/client/pull/5294
# Fedora Rawhide 26 ships OpenSSL 1.1.0 that no longer permits to call the old
# SSLeay_add_all_algorithms() that has been replaced with
# OpenSSL_add_all_algorithms() since OpenSSL version 0.9.5.
# I solved by adding a macro that calls:
# -SSLeay_add_all_algorithms() if the system uses OpenSSL <= 0.9.4
# -OpenSSL_add_all_algorithms() if the system uses OpenSSL > 0.9.4
Patch1: %{name}-%{version}-appshortname.patch
Patch2: openssl.patch
BuildRequires: check
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: libappstream-glib
BuildRequires: neon-devel
BuildRequires: openssl-devel
BuildRequires: python-sphinx
BuildRequires: qtlockedfile-qt5-devel
BuildRequires: qtkeychain-qt5-devel >= 0.7.0
BuildRequires: qtsingleapplication-qt5-devel
BuildRequires: qt5-qtbase
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtbase-gui
BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtxmlpatterns-devel
BuildRequires: qt5-qttools qt5-qttools-devel
BuildRequires: extra-cmake-modules
BuildRequires: kf5-kio-devel
BuildRequires: kf5-kcoreaddons-devel
BuildRequires: kf5-rpm-macros
BuildRequires: sqlite-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Provides: mirall = %{version}-%{release}
Obsoletes: mirall < 1.8.0
%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. Simply copy a file into
the directory and the Nextcloud Client does the rest.
%package libs
Summary: Common files for nextcloud-client
License: LGPLv2+
Provides: mirall-common = %{version}-%{release}
Obsoletes: mirall-common < 1.8.0
Requires: %{name}%{?_isa} = %{version}-%{release}
%description libs
Provides common files for nextcloud-client such as the
configuration file that determines the excluded files in a sync.
%package devel
Summary: Development files for nextcloud-client
License: LGPLv2+
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
Provides: mirall-devel = %{version}-%{release}
Obsoletes: mirall-devel < 1.8.0
%description devel
Development headers for use of the nextcloud-client library
%package nautilus
Summary: nextcloud client nautilus extension
Requires: nautilus
Requires: nautilus-python
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: mirall-nautilus = %{version}-%{release}
Obsoletes: mirall-nautilus < 1.8.0
%description nautilus
The nextcloud desktop client nautilus extension.
%package nemo
Summary: Nemo overlay icons
Requires: nemo
Requires: nemo-python
Requires: %{name}%{?_isa} = %{version}-%{release}
%description nemo
This package provides overlay icons to visualize the sync state
in the nemo file manager.
%if 0%{?fedora} >= 24 || 0%{?rhel} > 7
%package dolphin
Summary: Dolphin overlay icons
Requires: dolphin
Requires: %{name}%{?_isa} = %{version}-%{release}
%description dolphin
The nextcloud desktop client dolphin extension.
%endif
%prep
%setup -q -n client_theming-%{version}
%setup -T -D -a 1 -n client_theming-%{version}
rm -Rf client
mv owncloudclient-%{version} client
cd client
%patch0 -p1
cd -
%patch1 -p1
cd client
%patch2 -p1
cd -
rm -rf src/3rdparty/qtlockedfile src/3rdparty/qtsingleapplication
%build
mkdir build
pushd build
%cmake_kf5 .. -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client
make %{?_smp_mflags}
popd
%install
pushd build
make install DESTDIR=%{buildroot}
popd
%find_lang client --with-qt
mkdir -p %{buildroot}%{_datadir}/appdata/
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
%check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
%post
touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
%posttrans
gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || :
%postun
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &> /dev/null
gtk-update-icon-cache -f %{_datadir}/icons/hicolor &> /dev/null || :
fi
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%if 0%{?fedora} >= 24 || 0%{?rhel} > 7
%post dolphin -p /sbin/ldconfig
%postun dolphin -p /sbin/ldconfig
%endif
%files -f client.lang
%{_bindir}/nextcloud
%{_bindir}/nextcloudcmd
%{_datadir}/applications/nextcloud.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/appdata/%{name}.appdata.xml
%files libs
%{_libdir}/libnextcloudsync.so.0
%{_libdir}/libnextcloudsync.so.%{version}
%{_libdir}/nextcloud/libocsync.so.*
%doc README.md
%license client/COPYING
%config %{_sysconfdir}/Nextcloud/sync-exclude.lst
%dir %{_sysconfdir}/Nextcloud
%files devel
%{_includedir}/nextcloudsync/
%{_libdir}/libnextcloudsync.so
%{_libdir}/nextcloud/libocsync.so
%files nautilus
%{_datadir}/nautilus-python/extensions/*
%files nemo
%{_datadir}/nemo-python/extensions/*
%if 0%{?fedora} >= 24 || 0%{?rhel} > 7
%files dolphin
%{_libdir}/libnextclouddolphinpluginhelper.so
%{_kf5_plugindir}/overlayicon/nextclouddolphinoverlayplugin.so
%{_qt5_plugindir}/nextclouddolphinactionplugin.so
%{_kf5_datadir}/kservices5/nextclouddolphinactionplugin.desktop
%endif
%changelog
* Wed Nov 23 2016 Nick Bebout <nb@fedoraproject.org> - 2.2.4-4
- Update for review
* Wed Nov 02 2016 Germano Massullo <germano.massullo@gmail.com> 2.2.4-3
- First release

@ -0,0 +1,2 @@
6d612c661f90e5ce1e0791520ecd6df3 v2.2.4.tar.gz
5ea887a8ddb8ea1f16734350c883a8eb nextcloud-client-2.2.4.tar.bz2
Loading…
Cancel
Save