Sophie

Sophie

distrib > Mageia > 6 > i586 > media > core-release-src > by-pkgid > c9d673186135a34ae2211e7d877fbf53 > files > 3

eiskaltdcpp-2.2.10-8.mga6.src.rpm

%define	major		2.2
%define	libname		%mklibname %{name} %{major}
%define	develname	%mklibname %{name} -d

# Optional features
%define	with_qt		1
%define	with_gtk	1
# This one needs also the above
%define	with_gtk3	0
%define	with_daemon	0
%define	with_devel	1

Name:		eiskaltdcpp
Version:	2.2.10
Release:	%mkrel 8
License:	GPLv3+
Summary:	Cross-platform program that uses the Direct Connect and ADC protocol
Url:		https://github.com/eiskaltdcpp/eiskaltdcpp
Group:		Networking/File transfer
Source0:	https://github.com/eiskaltdcpp/eiskaltdcpp/archive/%{name}-%{version}.tar.gz
Patch0:		eiskaltdcpp-2.2.10-miniupnpc14.patch
# Core requirements
BuildRequires:	boost-devel >= 1.42.0
BuildRequires:	cmake >= 2.6.3
BuildRequires:	pkgconfig(libpcrecpp)
BuildRequires:	openssl-devel >= 0.9.8
BuildRequires:	zlib-devel
BuildRequires:	gettext
BuildRequires:	attr-devel
BuildRequires:	idn-devel
BuildRequires:	lua5.1-devel
# When enabling miniupnpc in the cmake command line this is needed
BuildRequires:	miniupnpc-devel
%if %{with_daemon}
# Requirements for eiskaltdcpp daemon
BuildRequires:	xmlrpc-c-devel >= 1.19
%endif
# Qt requirements
%if %{with_qt}
BuildRequires:	aspell-devel
BuildRequires:	gcc >= 4.5.0
BuildRequires:	qt4-devel >= 4.7.0
%endif
# Gtk requirements
%if %{with_gtk}
BuildRequires:	pkgconfig(libgnome-2.0)
BuildRequires:	pango-devel
BuildRequires:	glib2-devel >= 2.24
%if %{with_gtk3}
BuildRequires:	pkgconfig(libcanberra-gtk3)
%else
BuildRequires:	gtk2-devel >= 2.24
BuildRequires:	pkgconfig(libcanberra-gtk)
%endif
BuildRequires:	libcanberra-devel
BuildRequires:	pkgconfig(libglade-2.0)
BuildRequires:	pkgconfig(libnotify)
%endif

%description
EiskaltDC++ is a cross-platform program that uses the Direct Connect and ADC
protocol. It is compatible with other DC clients, such as the original DC from
Neomodus, DC++ and derivatives. EiskaltDC++ also inter operates with all
common DC hub software. The minimum number of our patches to original DC++
kernel makes it easy to upgrade to new versions and ensures compatibility with
other clients.

%files -f lib%{name}.lang
%doc AUTHORS COPYING LICENSE ChangeLog.txt ChangeLog_ru.txt ChangeLog_uk.txt
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/update_geoip
%{_datadir}/%{name}/sounds
%{_datadir}/%{name}/examples
%{_datadir}/%{name}/emoticons
%{_datadir}/%{name}/luascripts
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/icons/hicolor/*/apps/%{name}.png

#-----------------------------------------------------------------------------

%package -n %{libname}
Summary:	Dynamic library used by EiskaltDC++
Group:		System/Libraries

%description -n %{libname}
Dynamic library used by EiskaltDC++.

%files -n %{libname}
%doc COPYING
%{_libdir}/lib%{name}.so.%{major}{,.*}

#-----------------------------------------------------------------------------

%if %{with_qt}
%package qt
Summary:	Qt frontend for EiskaltDC++
Group:		Networking/File transfer
Requires:	%{name} = %{version}
Requires:	%{libname} = %{version}

%description qt
EiskaltDC++ is a cross-platform program that uses the Direct Connect and ADC
protocol. It is compatible with other DC clients, such as the original DC from
Neomodus, DC++ and derivatives. EiskaltDC++ also inter operates with all
common DC hub software. The minimum number of our patches to original DC++
kernel makes it easy to upgrade to new versions and ensures compatibility with
other clients. This is the Qt front end.

%files qt -f %{name}-qt.lang
%doc COPYING
%dir %{_datadir}/%{name}/qt
%dir %{_datadir}/%{name}/qt/ts
%{_datadir}/%{name}/qt/icons
%{_datadir}/%{name}/qt/qtscripts
%{_datadir}/%{name}/qt/resources
%{_mandir}/man1/%{name}-qt.1.*
%{_datadir}/applications/%{name}-qt.desktop
%{_bindir}/%{name}-qt
%endif

#-----------------------------------------------------------------------------

%if %{with_gtk}
%package gtk
Summary:	GTK frontend for EiskaltDC++
Group:		Networking/File transfer
Requires:	%{name} = %{version}
Requires:	%{libname} = %{version}

%description gtk
EiskaltDC++ is a cross-platform program that uses the Direct Connect and ADC
protocol. It is compatible with other DC clients, such as the original DC from
Neomodus, DC++ and derivatives. EiskaltDC++ also inter operates with all
common DC hub software. The minimum number of our patches to original DC++
kernel makes it easy to upgrade to new versions and ensures compatibility with
other clients. This is the GTK front end.

%files gtk -f %{name}-gtk.lang
%doc COPYING
%{_datadir}/%{name}/gtk
%{_mandir}/man1/%{name}-gtk.1.*
%{_datadir}/applications/%{name}-gtk.desktop
%{_bindir}/%{name}-gtk
%endif

#-----------------------------------------------------------------------------

%if %{with_daemon}
%package daemon
Summary:	A simple EiskaltDC++ daemon
Group:		Networking/File transfer
Requires:	%{name} = %{version}
Requires:	%{libname} = %{version}
Requires:	perl-Term-UI

%description daemon
EiskaltDC++ is a cross-platform program that uses the Direct Connect and
ADC protocol. It is compatible with other DC clients, such as the original
DC from Neomodus, DC++ and derivatives. EiskaltDC++ also inter operates
with all common DC hub software. This is a simple daemon for running
EiskaltDC++ without any GUI; it can be controlled via XMLRPC or JSONRPC.

%files daemon
%{_datadir}/%{name}/cli/*
%{_mandir}/man1/%{name}-daemon.1.*
%{_mandir}/man1/%{name}-cli-*.1.*
%{_bindir}/%{name}-daemon
%{_bindir}/%{name}-cli-*
%endif

#-----------------------------------------------------------------------------

%if %{with_devel}
%package -n %{develname}
Summary:	Development files for the main EiskaltDC++ library
Group:		Development/C++
Requires:	%{libname} = %{version}
Provides:	%{name}-devel = %{version}-%{release}

%description -n %{develname}
EiskaltDC++ is a cross-platform program that uses the Direct Connect and
ADC protocol. It is compatible with other DC clients, such as the original
DC from Neomodus, DC++ and derivatives. EiskaltDC++ also inter operates
with all common DC hub software.
This package contains the header files needed to use the main EiskaltDC++
library.

%files -n %{develname}
%doc COPYING ChangeLog.txt ChangeLog_ru.txt ChangeLog_uk.txt
%{_includedir}/%{name}/dcpp/*.h
%endif

#-----------------------------------------------------------------------------

%prep
%setup -q
%autopatch -p1

%build
%cmake	-DCMAKE_BUILD_TYPE=Release \
	-DCMAKE_INSTALL_PREFIX=%{_prefix} \
	-DLIB_INSTALL_DIR=%{_libdir} \
	-DLOCAL_BOOST=OFF \
	-DLUA_SCRIPT=ON \
	-DUSE_IDNA=ON \
	-DPERL_REGEX=ON \
%if %{with_qt}
	-DUSE_QT=ON \
	-DUSE_QT_SQLITE=ON \
	-DUSE_QT_QML=ON \
	-DUSE_JS=ON \
	-DUSE_ASPELL=ON \
	-DFREE_SPACE_BAR_C=ON \
	-DDBUS_NOTIFY=ON \
%else
	-DUSE_QT=OFF \
%endif
%if %{with_gtk}
	-DUSE_GTK=ON \
%if %{with_gtk3}
	-DUSE_GTK3=ON \
%else
	-DUSE_GTK3=OFF \
%endif
	-DUSE_LIBGNOME2=OFF \
	-DUSE_LIBNOTIFY=ON \
	-DUSE_LIBCANBERRA=ON \
%endif
%if %{with_daemon}
	-DNO_UI_DAEMON=ON \
	-DXMLRPC_DAEMON=OFF \
	-DJSONRPC_DAEMON=ON \
	-DUSE_CLI_XMLRPC=ON \
	-DUSE_CLI_JSONRPC=ON \
%else
	-DNO_UI_DAEMON=OFF \
	-DXMLRPC_DAEMON=OFF \
	-DJSONRPC_DAEMON=OFF \
	-DUSE_CLI_XMLRPC=OFF \
	-DUSE_CLI_JSONRPC=OFF \
%endif
%if %{with_devel}
	-DWITH_DEV_FILES=ON \
	-DEISKALTDCPP_INCLUDE_DIR="%{_includedir}/%{name}" \
%else
	-DWITH_DEV_FILES=OFF \
%endif
	-DWITH_EMOTICONS=ON \
	-DWITH_SOUNDS=ON \
	-DWITH_EXAMPLES=ON \
	-DWITH_LUASCRIPTS=ON \
	-DWITH_DHT=ON \
	-DUSE_MINIUPNP=ON \
	-DLOCAL_MINIUPNP=OFF \
	-DCREATE_MO=ON \
	-DINSTALL_RUNTIME_PATH=OFF
%make


%install
%make_install -C build

# We don't want install php only for 3 example scripts (in russian moreover),
# nor we want remove all the example scripts,
# so removing the offenders and make find-provides happy
rm -f %{buildroot}/%{_datadir}/%{name}/examples/*.php
rm -rf %{buildroot}/%{_datadir}/%{name}/qt/qtscripts/gnome

%if %{with_gtk}
%find_lang %{name}-gtk
%endif

%if %{with_qt}
find %{buildroot} -name "*.qm" | sed 's:'%{buildroot}':: 
s:.*/\([a-zA-Z]\{2\}\).qm:%lang(\1) \0:' > %{name}-qt.lang
%endif

# The language files are named "libeiskaltdcpp.mo"
# and the filelist name is "libeiskaltdcpp.lang"
%find_lang lib%{name} lib%{name}.lang


%changelog
* Tue May 16 2017 neoclust <neoclust> 2.2.10-8.mga6
+ Revision: 1102003
- Rebuild against new miniupnpc

* Wed Mar 02 2016 umeabot <umeabot> 2.2.10-7.mga6
+ Revision: 983365
- Rebuild for openssl

* Sat Dec 26 2015 daviddavid <daviddavid> 2.2.10-6.mga6
+ Revision: 915164
- rebuild for new boost 1.60.0

* Mon Oct 19 2015 fwang <fwang> 2.2.10-5.mga6
+ Revision: 892618
- update patch
- fix build with recent miniupnpc
- rebuild for new miniupnpc

* Tue Oct 13 2015 fwang <fwang> 2.2.10-4.mga6
+ Revision: 890199
- rebuild for new miniupnpc

* Fri Sep 25 2015 daviddavid <daviddavid> 2.2.10-3.mga6
+ Revision: 883687
- rebuild for new boost 1.59.0

* Sun Aug 02 2015 daviddavid <daviddavid> 2.2.10-2.mga6
+ Revision: 860514
- rebuild for new boost-1.58.0

* Tue Jun 30 2015 alexl <alexl> 2.2.10-1.mga6
+ Revision: 849037
- new url
- version 2.2.10

* Wed Dec 17 2014 sander85 <sander85> 2.2.9-5.mga5
+ Revision: 803796
- Rebuild for miniupnpc

* Wed Oct 15 2014 umeabot <umeabot> 2.2.9-4.mga5
+ Revision: 741632
- Second Mageia 5 Mass Rebuild

* Tue Sep 16 2014 umeabot <umeabot> 2.2.9-3.mga5
+ Revision: 678981
- Mageia 5 Mass Rebuild

* Wed May 14 2014 luigiwalser <luigiwalser> 2.2.9-2.mga5
+ Revision: 622815
- rebuild for miniupnpc

* Fri Feb 14 2014 alexl <alexl> 2.2.9-1.mga5
+ Revision: 591196
- imported package eiskaltdcpp