]> git.pld-linux.org Git - packages/owncloudclient.git/blobdiff - owncloudclient.spec
- release 2 (by relup.sh)
[packages/owncloudclient.git] / owncloudclient.spec
index a076732575c5f5eaeabdc65f2e399862a0b43857..38348d224392e6df310b4634c775c1e3a909c876 100644 (file)
@@ -1,40 +1,83 @@
+#
+# Conditional build:
+%bcond_without nautilus        # build Nautilus extension
+%bcond_without caja            # build caja extension
+%bcond_with    dolphin         # build dolphin extension
+%bcond_without doc             # build docs
+%bcond_without gui             # build only libraries
+
+%if %{without gui}
+%undefine      with_nautilus
+%undefine      with_caja
+%undefine      with_dolphin
+%undefine      with_doc
+%endif
+
+%define                qtver   5.4
 Summary:       The ownCloud client
 Name:          owncloudclient
-Version:       2.1.1
-Release:       0.9
+Version:       2.3.3
+Release:       2
 License:       GPL v2+
 Group:         X11/Applications
 Source0:       https://download.owncloud.com/desktop/stable/%{name}-%{version}.tar.xz
-# Source0-md5: 63a971158201a8dffe96a02c54b86819
+# Source0-md5: bba20fc6f38e0b14f6ceb9ab432d1802
+Patch0:                syslibs.patch
 URL:           https://www.owncloud.com/
-BuildRequires: QtCore-devel
-BuildRequires: QtDBus-devel
-BuildRequires: QtGui-devel
-BuildRequires: QtKeychain-devel
-BuildRequires: QtNetwork-devel
-BuildRequires: QtSql-devel
-BuildRequires: QtWebKit-devel
-BuildRequires: QtXmlPatterns-devel
+BuildRequires: Qt5Concurrent-devel >= %{qtver}
+BuildRequires: Qt5Core-devel >= %{qtver}
+BuildRequires: Qt5DBus-devel >= %{qtver}
+BuildRequires: Qt5Gui-devel >= %{qtver}
+BuildRequires: Qt5Keychain-devel
+BuildRequires: Qt5Network-devel >= %{qtver}
+BuildRequires: Qt5WebKit-devel >= %{qtver}
+BuildRequires: Qt5Xml-devel >= %{qtver}
 BuildRequires: cmake >= 2.8.11
-BuildRequires: desktop-file-utils
 BuildRequires: libstdc++-devel
-BuildRequires: openssl-devel
+BuildRequires: openssl-devel >= 1.0.0
 BuildRequires: pkgconfig
-BuildRequires: python-Sphinx
-BuildRequires: sphinx-pdg
-BuildRequires: sqlite3-devel
+BuildRequires: qt5-linguist >= %{qtver}
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.596
+BuildRequires: sqlite3-devel >= 3.8.0
 BuildRequires: tar >= 1:1.22
-BuildRequires: texlive-latex-ams
 BuildRequires: xz
+BuildRequires: zlib-devel
+%if %{with gui}
+BuildRequires: Qt5LockedFile-devel >= 2.4
+BuildRequires: Qt5SingleApplication-devel >= 2.6.1-3
+BuildRequires: Qt5Sql-devel >= %{qtver}
+BuildConflicts:        QtLockedFile-devel
+%endif
+%if %{with dolphin}
+BuildRequires: kf5-attica-devel >= 5.16
+BuildRequires: kf5-extra-cmake-modules >= 1.2.0
+BuildRequires: kf5-kconfig-devel >= 5.16
+BuildRequires: kf5-ki18n-devel >= 5.16
+BuildRequires: kf5-kio-devel >= 5.16
+%endif
+%if %{with doc}
+BuildRequires: doxygen
+BuildRequires: sphinx-pdg-2
+BuildRequires: texlive-format-pdflatex
+BuildRequires: texlive-latex-ams
+BuildRequires: texlive-makeindex
+BuildRequires: texlive-pdftex
+BuildRequires: texlive-plain
+BuildRequires: texlive-xetex
+%endif
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      Qt5Gui-platform-xcb
+Requires:      Qt5SingleApplication >= 2.6.1-3
+Requires:      desktop-file-utils
+Requires:      gtk-update-icon-cache
+Requires:      hicolor-icon-theme
 Suggests:      %{name}-nautilus
 Suggests:      %{name}-nemo
+Obsoletes:     mirall < 1.8
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
-The ownCloud sync client - github.com/owncloud/client
-
 ownCloud client enables you to connect to your private ownCloud
 Server. With it you can create folders in your home directory, and
 keep the contents of those folders synced with your ownCloud server.
@@ -53,6 +96,7 @@ requirements of your infrastructure and business.
 %package libs
 Summary:       Shared ownCloud client libraries
 Group:         Libraries
+Obsoletes:     mirall-libs < 1.8
 
 %description libs
 Shared ownCloud client libraries.
@@ -69,76 +113,151 @@ Header files for %{name} library.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki %{name}.
 
+%package apidocs
+Summary:       %{name} API documentation
+Summary(pl.UTF-8):     Dokumentacja API biblioteki %{name}
+Group:         Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description apidocs
+API documentation for %{name} library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki %{name}.
+
+%package nautilus
+Summary:       Nautilus overlay icons
+Group:         Applications
+Requires:      %{name} = %{version}-%{release}
+Requires:      nautilus-python
+
+%description nautilus
+This package provides overlay icons to visualize the sync state in the
+Nautilus file manager.
+
+%package caja
+Summary:       Caja overlay icons
+Group:         Applications
+Requires:      %{name} = %{version}-%{release}
+Requires:      caja-python
+
+%description caja
+This package provides overlay icons to visualize the sync state in the
+Caja file manager.
+
 %prep
 %setup -q
+%patch0 -p1
+
+mv src/3rdparty/qtlockedfile .
+mv src/3rdparty/qtsingleapplication .
 
 %build
 install -d build
 cd build
 %cmake \
-       -DQTKEYCHAIN_INCLUDE_DIR=/usr/include/qtkeychain \
-       -DQTKEYCHAIN_LIBRARY=/usr/%{_lib}/libqtkeychain.so \
+       -DQTKEYCHAIN_INCLUDE_DIR=/usr/include/qt5keychain \
+       -DQTKEYCHAIN_LIBRARY=/usr/%{_lib}/libqt5keychain.so \
+       -DQT_LRELEASE_EXECUTABLE=/usr/bin/lrelease-qt5 \
+       -DBUILD_WITH_QT4=NO \
+%if %{with doc}
+       -DSPHINX_EXECUTABLE=/usr/bin/sphinx-build-2 \
+       -DPDFLATEX_EXECUTABLE=/usr/bin/pdflatex \
+       -DDOXYGEN_EXECUTABLE=/usr/bin/doxygen \
+       -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \
+%else
+       -DWITH_DOC=NO \
+       -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE \
+       -DCMAKE_DISABLE_FIND_PACKAGE_PdfLatex=TRUE \
+       -DCMAKE_DISABLE_FIND_PACKAGE_Sphinx=TRUE \
+%endif
+%if %{without dolphin}
+       -DCMAKE_DISABLE_FIND_PACKAGE_ECM=TRUE \
+       -DCMAKE_DISABLE_FIND_PACKAGE_KF5=TRUE \
+%endif
+       %{!?with_gui:-DBUILD_LIBRARIES_ONLY=ON} \
        ..
 %{__make}
 
-# documentation here?
-if [ -e conf.py ]; then
-       # for old cmake versions we need to move the conf.py.
-       mv conf.py doc/
-fi
-
+%if %{with doc}
 %{__make} doc
+rm doc/html/unthemed/.buildinfo
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-mv $RPM_BUILD_ROOT%{_docdir}/html ${RPM_BUILD_ROOT}%{_docdir}/%{name}
-mv $RPM_BUILD_ROOT%{_docdir}/latex ${RPM_BUILD_ROOT}%{_docdir}/%{name}
-rm $RPM_BUILD_ROOT%{_docdir}/%{name}/unthemed/.buildinfo
+# owncloud client links without rpath
+mv $RPM_BUILD_ROOT%{_libdir}/owncloud/libocsync.so* $RPM_BUILD_ROOT%{_libdir}
+
+%if %{with nautilus}
+# nemo not in pld
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/nemo-python/extensions/syncstate-ownCloud.py*
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-%update_icon_cache_post hicolor
+%update_desktop_database
+%update_icon_cache hicolor
 
 %postun
-if [ $1 -eq 0 ] ; then
-       %update_icon_cache_post hicolor
-fi
+%update_desktop_database
+%update_icon_cache hicolor
 
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
+%if %{with gui}
 %files
 %defattr(644,root,root,755)
 %doc README.md COPYING
-%doc %{_docdir}/%{name}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ownCloud/*
 %attr(755,root,root) %{_bindir}/owncloud
 %attr(755,root,root) %{_bindir}/owncloudcmd
 %{_desktopdir}/owncloud.desktop
 %{_iconsdir}/*/*/apps/*.png
 %{_datadir}/owncloud
-#%{_libdir}/owncloud/libocsync.so.*
 %dir %{_libdir}/owncloud
-%{_mandir}/man1/owncloud*
-
-# subpackages
-%{_datadir}/nautilus-python/extensions/syncstate.py*
-%{_datadir}/nemo-python/extensions/syncstate.py*
+%if %{with doc}
+%{_mandir}/man1/owncloud.1*
+%{_mandir}/man1/owncloudcmd.1*
+%endif
+%endif
 
 %files libs
 %defattr(644,root,root,755)
+%dir %{_sysconfdir}/ownCloud
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ownCloud/sync-exclude.lst
 %attr(755,root,root) %{_libdir}/libowncloudsync.so.*.*.*
 %ghost %{_libdir}/libowncloudsync.so.0
-%attr(755,root,root) %{_libdir}/owncloud/libocsync.so.*.*.*
-%ghost %{_libdir}/owncloud/libocsync.so.0
+%attr(755,root,root) %{_libdir}/libocsync.so.*.*.*
+%ghost %{_libdir}/libocsync.so.0
 
 %files devel
 %defattr(644,root,root,755)
 %{_includedir}/owncloudsync
 %{_libdir}/libowncloudsync.so
-%{_libdir}/owncloud/libocsync.so
+%{_libdir}/libocsync.so
+
+%if %{with nautilus}
+%files nautilus
+%defattr(644,root,root,755)
+%{_datadir}/nautilus-python/extensions/syncstate-ownCloud.py*
+%endif
+
+%if %{with caja}
+%files caja
+%defattr(644,root,root,755)
+%{_datadir}/caja-python/extensions/syncstate-ownCloud.py*
+%endif
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc %{_docdir}/%{name}
+%endif
This page took 0.527682 seconds and 4 git commands to generate.