Sophie

Sophie

distrib > Mageia > cauldron > i586 > by-pkgid > 7ce4b0bc7e7ebd5739385c99f977ae9f > files > 2

eiskaltdcpp-2.4.2-4.mga9.src.rpm

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

%define date		0

%define rel		4

%if %{date}
%define release		%mkrel 13.git%{date}.%{rel}
%define tarballver	%{commit}
%define tarballdir	%{commit}
%define tarballgit	+git%{date}
%define commit		1e72256ac5e8fe6735f81bfbc3f9d90514ada578
%else
%define release		%mkrel %{rel}
%define tarballver	v%{version}
%define tarballdir	%{version}
%endif

# Upstream says:
# GTK+ UI is not supported anymore. Use it at own risk. As far as we know
# builds with GTK+ 3.x are almost unusable, but builds with GTK+ 2.x work
# more or less fine

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

# filter out bogus auto-requires
%global __requires_exclude	^perl\\((cli*)

Name:		eiskaltdcpp
Version:	2.4.2
Release:	%{release}
License:	GPLv3+
Summary:	Cross-platform program that uses the Direct Connect and ADC protocol
Group:		Networking/File transfer
Url:		https://github.com/eiskaltdcpp/eiskaltdcpp
Source0:	https://github.com/eiskaltdcpp/eiskaltdcpp/archive/%{tarballver}/%{name}-%{version}%{?tarballgit}.tar.gz
# Core requirements
BuildRequires:	attr-devel
BuildRequires:	gettext-devel
BuildRequires:	cmake >= 2.6.3
BuildRequires:	pkgconfig(libpcrecpp)
BuildRequires:	pkgconfig(openssl)
BuildRequires:	pkgconfig(zlib)
BuildRequires:	pkgconfig(libidn)
BuildRequires:	pkgconfig(lua) >= 5.3
# 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:	pkgconfig(Qt5Concurrent)
BuildRequires:	pkgconfig(Qt5Core)
BuildRequires:	pkgconfig(Qt5DBus)
BuildRequires:	pkgconfig(Qt5Gui)
BuildRequires:	pkgconfig(Qt5Help)
BuildRequires:	pkgconfig(Qt5Multimedia)
BuildRequires:	pkgconfig(Qt5Network)
BuildRequires:	pkgconfig(Qt5Script)
BuildRequires:	pkgconfig(Qt5Sql)
BuildRequires:	pkgconfig(Qt5Widgets)
BuildRequires:	pkgconfig(Qt5Xml)
%endif
# Gtk requirements
%if %{with_gtk}
BuildRequires:	pkgconfig(pango)
BuildRequires:	pkgconfig(glib-2.0) >= 2.24
%if %{with_gtk3}
BuildRequires:	pkgconfig(gtk+-3.0)
BuildRequires:	pkgconfig(libcanberra-gtk3)
%else
BuildRequires:	pkgconfig(gtk+-2.0) >= 2.24
BuildRequires:	pkgconfig(libcanberra-gtk)
%endif
BuildRequires:	pkgconfig(libcanberra)
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 ChangeLog.txt README.md
%license COPYING LICENSE
%dir %{_datadir}/%{name}
%{_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}

%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
%{_datadir}/%{name}/qt/client-res
%{_datadir}/%{name}/qt/icons
%{_datadir}/%{name}/qt/qtscripts
%{_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}

%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:	perl(Term::UI)
Requires:	perl(JSON::RPC::Legacy::Client)

%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 ChangeLog.txt
%license COPYING
%dir %{_includedir}/%{name}
%dir %{_includedir}/%{name}/dcpp
%{_includedir}/%{name}/dcpp/*.h
%endif

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

%prep
%setup -q -n %{name}-%{tarballdir}
%autopatch -p1

%build
%cmake	-DCMAKE_BUILD_TYPE=Release \
	-DCMAKE_INSTALL_PREFIX=%{_prefix} \
	-DLIB_INSTALL_DIR=%{_libdir} \
	-DLUA_SCRIPT=ON \
	-DUSE_IDNA=ON \
	-DPERL_REGEX=ON \
%if %{with_qt}
	-DUSE_QT=OFF \
	-DUSE_QT5=ON \
	-DUSE_QT_SQLITE=ON \
	-DUSE_QT_QML=OFF \
	-DUSE_JS=ON \
	-DUSE_ASPELL=ON \
	-DFREE_SPACE_BAR_C=ON \
	-DDBUS_NOTIFY=ON \
%else
	-DUSE_QT=OFF \
	-DUSE_QT5=OFF \
%endif
%if %{with_gtk}
%if %{with_gtk3}
	-DUSE_GTK=OFF \
	-DUSE_GTK3=ON \
%else
	-DUSE_GTK=ON \
	-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 \
	-DCREATE_MO=ON \
	-DINSTALL_RUNTIME_PATH=OFF
%cmake_build


%install
%cmake_install

# 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
* Wed Apr 06 2022 umeabot <umeabot> 2.4.2-4.mga9
+ Revision: 1845852
- Mageia 9 Mass Rebuild

* Sat Oct 02 2021 wally <wally> 2.4.2-3.mga9
+ Revision: 1747503
- rebuild for openssl 3.0.0

* Sat Apr 03 2021 wally <wally> 2.4.2-2.mga9
+ Revision: 1712935
- rebuild for lua 5.4

* Wed Mar 03 2021 daviddavid <daviddavid> 2.4.2-1.mga9
+ Revision: 1697355
- new version: 2.4.2
- boost support was removed upstream

* Fri Dec 18 2020 daviddavid <daviddavid> 2.2.10-13.git20200821.2.mga8
+ Revision: 1660631
- Rebuild for new Qt5

* Fri Aug 21 2020 martinw <martinw> 2.2.10-13.git20200821.1.mga8
+ Revision: 1617700
- new snapshot release 2.2.10+20200821
- fix build against boost 1.73

* Sun Jan 26 2020 wally <wally> 2.2.10-13.git20180301.8.mga8
+ Revision: 1483359
- rebuild for boost 1.72.0
- build with new cmake macros

* Sat Aug 24 2019 daviddavid <daviddavid> 2.2.10-13.git20180301.7.mga8
+ Revision: 1431541
- add patch to adding harfbuzz headers in FindGTK(2,3).cmake

* Tue Apr 02 2019 daviddavid <daviddavid> 2.2.10-13.git20180301.6.mga7
+ Revision: 1385029
- Qt5 Rebuild

* Sun Dec 16 2018 wally <wally> 2.2.10-13.git20180301.5.mga7
+ Revision: 1341581
- build without libgnome2 support

* Tue Oct 16 2018 wally <wally> 2.2.10-13.git20180301.4.mga7
+ Revision: 1321027
- rebuild for new boost 1.68.0

* Fri Aug 24 2018 daviddavid <daviddavid> 2.2.10-13.git20180301.3.mga7
+ Revision: 1253807
- rebuild for new miniupnpc 2.1

* Wed May 16 2018 daviddavid <daviddavid> 2.2.10-13.git20180301.2.mga7
+ Revision: 1229859
- rebuild with fixed release tag

* Wed May 16 2018 daviddavid <daviddavid> 2.2.10-13.git20180301.1.mga7.mga7
+ Revision: 1229857
- new snapshot release: 2.2.10_git20180301
- port to Qt5
- now libmajor is 2.4
- compile against openssl >= 1.1
- enable daemon support
- filter out bogus perl module auto-requires

* Fri May 11 2018 kekepower <kekepower> 2.2.10-12.mga7
+ Revision: 1228372
- Rebuild for libidn 1.35

* Mon Dec 25 2017 wally <wally> 2.2.10-11.mga7
+ Revision: 1184663
- rebuild for new boost

* Tue Nov 21 2017 tv <tv> 2.2.10-10.mga7
+ Revision: 1178316
- rebuild for boost 1.65

* Mon Oct 09 2017 daviddavid <daviddavid> 2.2.10-9.mga7
+ Revision: 1170358
- build against compat-openssl10
+ tv <tv>
- rebuild with latest boost

* 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