Blob Blame History Raw
#Available arches for Smuxi
ExclusiveArch: %{mono_arches}

%global debug_package %{nil}

Name:  smuxi
Summary: Powerful, flexible, user-friendly chat client 
Version: 1.0.5
Release: 2%{?dist}
License: GPLv2+ and LGPLv2+ and BSD and ASL 2.0
URL:   https://smuxi.im
Source0: https://smuxi.im/jaws/data/files/smuxi-%{version}.tar.gz

Source1: %{name}-APACHE-LICENSE-2.0.txt
Source2: %{name}-lgpl-2.1.txt

BuildRequires: pkgconfig(mono-2)
BuildRequires: pkgconfig(nini)
BuildRequires: pkgconfig(stfl)
BuildRequires: pkgconfig(log4net)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(gtkspell-2.0)
BuildRequires: pkgconfig(dbus-sharp-1.0)
BuildRequires: pkgconfig(dbus-sharp-glib-1.0)
BuildRequires: pkgconfig(gtk-sharp-2.0)
BuildRequires: pkgconfig(gio-sharp-2.0)
BuildRequires: libappindicator-sharp-devel
BuildRequires: notify-sharp-devel
BuildRequires: ndesk-dbus-devel
BuildRequires: intltool
BuildRequires: desktop-file-utils
BuildRequires: libappstream-glib
BuildRequires: autoconf
BuildRequires: libtool

##Fix appindicator-sharp package request
Patch0: %{name}-fix_appindicator_sharp_calls.patch

%description
Smuxi is an open-source, powerful, flexible, and user-friendly chat client
created by Mirco Bauer and developed by other contributors. 
Inspired by the combination of screen and irssi, Smuxi has a detachable server 
(or like a "normal" client) that stays connected when you aren't, and 
can allow multiple Smuxi front-ends (like the GNOME front-end, or 
STFL text-based front-end) to be connected and in sync. 
This is similar to screen+irssi or IRC bouncers, but more elegant and powerful.

%package devel
Summary:   Smart MUltipleXed Irc - Pkgconfig files
Requires:  %{name}%{?_isa} = %{version}-%{release}
%description devel
Smuxi is an irssi-inspired, flexible, user-friendly and cross-platform
IRC, Twitter, XMPP, Jabber client for advanced users. This package 
provides its pkgconfig files.

%package engine
Summary:   Smart MUltipleXed Irc - Engine Library
Requires:  %{name}%{?_isa} = %{version}-%{release}
%description engine
Smuxi is an irssi-inspired, flexible, user-friendly and cross-platform
IRC, Twitter, XMPP, Jabber client for advanced users. This package
provides its engine libraries.

%package frontend-stfl
Summary:   Smart MUltipleXed Irc - STFL Frontend
Requires:  %{name}%{?_isa} = %{version}-%{release}
Requires:  %{name}-engine%{?_isa} = %{version}-%{release}
Requires:  stfl
%description frontend-stfl
Smuxi is an irssi-inspired, flexible, user-friendly and cross-platform
client for advanced users. This is a frontend for terminal
by STFL.

%package frontend-gnome
Summary:   Smart MUltipleXed Irc - GNOME Frontend
Requires:  %{name}%{?_isa} = %{version}-%{release}
Requires:  %{name}-engine%{?_isa} = %{version}-%{release}
%description frontend-gnome
Smuxi is an irssi-inspired, flexible, user-friendly and cross-platform
client for advanced users. This is frontend for GNOME.

%prep
%setup -q -n %{name}-%{version}
iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.conv && mv -f CREDITS.conv CREDITS

cp -p %{SOURCE1} APACHE-LICENSE-2.0.txt
cp -p %{SOURCE2} lgpl-2.1.txt

%patch0 -p0

%if 0%{?fedora} < 24
##Fixes for Mono 4 (bz#1038091)
sed -i "s#gmcs#mcs#g" configure.ac
sed -i "s#dmcs#mcs#g" configure.ac
sed -i "s#2\.0#4.5#g" mono.m4
sed -i "s#--variable=prefix mono)#--variable=prefix)#g" mono.m4
find . -name "*.sln" -print \
  -exec sed -i 's/Format Version 10.00/Format Version 11.00/g' {} \;
find . -name "*.csproj" -print \
  -exec sed -i 's#ToolsVersion="3.5"#ToolsVersion="4.0"#g; s#<TargetFrameworkVersion>.*</TargetFrameworkVersion>##g; s#<PropertyGroup>#<PropertyGroup><TargetFrameworkVersion>v4.5</TargetFrameworkVersion>#g' {} \;
%else
##Fixes for Mono 4 (bz#1038091)
sed -i "s#mcs#mcs#g" configure.ac
sed -i "s#mcs#mcs#g" configure.ac
sed -i "s#2\.0#4.5#g" mono.m4
sed -i "s#--variable=prefix mono)#--variable=prefix)#g" mono.m4
find . -name "*.sln" -print \
  -exec sed -i 's/Format Version 10.00/Format Version 11.00/g' {} \;
find . -name "*.csproj" -print \
  -exec sed -i 's#ToolsVersion="3.5"#ToolsVersion="4.2"#g; s#<TargetFrameworkVersion>.*</TargetFrameworkVersion>##g; s#<PropertyGroup>#<PropertyGroup><TargetFrameworkVersion>v4.5</TargetFrameworkVersion>#g' {} \;
%endif

%build
autoconf -v
./configure --disable-silent-rules --with-vendor-package-version="Fedora %{version}" \
 --enable-static=no --enable-shared=yes --disable-rpath --enable-engine-irc --enable-engine-campfire \
 --enable-engine-xmpp --enable-engine-twitter --enable-engine-jabbr \
 --enable-frontend-gnome --enable-frontend-stfl --disable-frontend-curses \
 --disable-frontend-swf --disable-frontend-wpf --disable-frontend-test \
 --with-db4o=included --without-messaging-menu --without-indicate --with-notify --with-dbus \
 --with-gtkspell --libdir=%{_prefix}/lib --datadir=%{_datadir} --prefix=%{_prefix} --enable-debug=no \
%if 0%{?fedora} < 24
 MCS=%{_bindir}/dmcs
%else
 MCS=%{_bindir}/mcs
%endif

make %{?_smp_mflags}

%install
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang %{name}-engine --with-gnome
%find_lang %{name}-engine-campfire --with-gnome
%find_lang %{name}-engine-irc --with-gnome
%find_lang %{name}-engine-jabbr --with-gnome
%find_lang %{name}-engine-twitter --with-gnome
%find_lang %{name}-engine-xmpp --with-gnome
%find_lang %{name}-frontend --with-gnome
%find_lang %{name}-frontend-gnome --with-gnome
%find_lang %{name}-frontend-gnome-irc --with-gnome
%find_lang %{name}-frontend-gnome-twitter --with-gnome
%find_lang %{name}-frontend-gnome-xmpp --with-gnome
%find_lang %{name}-server --with-gnome
%find_lang %{name}-message-buffer --with-gnome

%check
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-frontend-gnome.desktop
appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_datadir}/appdata/*.appdata.xml

%post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%files 
%doc BUGS TODO FEATURES CREDITS HACKING
%license LICENSE
%license lib/Twitterizer/*license.txt
%license APACHE-LICENSE-2.0.txt lgpl-2.1.txt
%dir %{_prefix}/lib/%{name}

%files devel
%{_prefix}/lib/pkgconfig/smuxi-common.pc
%{_prefix}/lib/pkgconfig/smuxi-frontend.pc
%{_prefix}/lib/pkgconfig/smuxi-engine-irc.pc
%{_prefix}/lib/pkgconfig/smuxi-engine.pc

%files engine -f %{name}-engine.lang -f %{name}-engine-campfire.lang -f %{name}-engine-irc.lang -f %{name}-engine-jabbr.lang -f %{name}-engine-twitter.lang -f %{name}-engine-xmpp.lang -f %{name}-server.lang -f %{name}-frontend.lang -f %{name}-message-buffer.lang
%{_bindir}/%{name}-server
%{_bindir}/%{name}-message-buffer
%{_prefix}/lib/%{name}/%{name}-server.exe*
%{_prefix}/lib/%{name}/Db4objects.Db4o.dll*
%{_prefix}/lib/%{name}/%{name}-engine.dll*
%{_prefix}/lib/%{name}/%{name}-common.dll*
%{_prefix}/lib/%{name}/%{name}-engine-campfire.dll*
%{_prefix}/lib/%{name}/ServiceStack.*.dll*
%{_prefix}/lib/%{name}/%{name}-engine-irc.dll*
%{_prefix}/lib/%{name}/Meebey.SmartIrc4net.dll*
%{_prefix}/lib/%{name}/%{name}-engine-jabbr.dll*
%{_prefix}/lib/%{name}/JabbR.Client.dll*
%{_prefix}/lib/%{name}/Microsoft.AspNet.SignalR.Client.dll*
%{_prefix}/lib/%{name}/%{name}-engine-twitter.dll*
%{_prefix}/lib/%{name}/Newtonsoft.Json.dll*
%{_prefix}/lib/%{name}/Twitterizer2.dll*
%{_prefix}/lib/%{name}/Twitterizer2.Streaming.dll*
%{_prefix}/lib/%{name}/%{name}-engine-xmpp.dll*
%{_prefix}/lib/%{name}/agsxmpp.dll*
%{_prefix}/lib/%{name}/StarkSoftProxy.dll*
%{_prefix}/lib/%{name}/%{name}-frontend.dll*
%{_prefix}/lib/%{name}/%{name}-message-buffer.exe*
%{_mandir}/man1/%{name}-server.1*
%{_mandir}/man1/%{name}-message-buffer.1*

%files frontend-stfl
%{_bindir}/smuxi-frontend-stfl
%{_prefix}/lib/smuxi/smuxi-frontend-stfl.exe
%{_prefix}/lib/smuxi/smuxi-frontend-stfl.exe.config
%{_mandir}/man1/smuxi-frontend-stfl.1.*

%files frontend-gnome -f %{name}-frontend-gnome.lang -f %{name}-frontend-gnome-irc.lang -f %{name}-frontend-gnome-twitter.lang -f %{name}-frontend-gnome-xmpp.lang
%{_bindir}/%{name}-frontend-gnome
%{_prefix}/lib/%{name}/%{name}-frontend-gnome.exe*
%{_prefix}/lib/%{name}/%{name}-frontend-gnome-irc.dll*
%{_prefix}/lib/%{name}/%{name}-frontend-gnome-twitter.dll*
%{_prefix}/lib/%{name}/%{name}-frontend-gnome-xmpp.dll*
%{_mandir}/man1/%{name}-frontend-gnome.1*
%{_datadir}/icons/hicolor/*/apps/smuxi-group-chat.png
%{_datadir}/icons/hicolor/*/apps/smuxi-person-chat.png
%{_datadir}/applications/%{name}-frontend-gnome.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}-frontend-gnome.*
%{_datadir}/appdata/%{name}-frontend-gnome.appdata.xml

%changelog
* Thu Oct 13 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-2
- mono rebuild for aarch64 support

* Thu Jun 16 2016 Antonio Trande <sagitterATfedoraproject.org> 1.0.5-1
- Update to 1.0.5

* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Feb 01 2016 Antonio Trande <sagitterATfedoraproject.org> 1.0.3-1
- Update to 1.0.3

* Thu Dec 24 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0.1-2
- Replaced 'define' macro with 'global'

* Thu Dec 24 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0.1-1
- Update to 1.0.1

* Tue Dec 15 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-4
- Rebuilt for mono(log4net)-1.2.15

* Thu Nov 12 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-3
- Rebuilt for mono(log4net)-1.2.14

* Thu Aug 27 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-2
- Added patch to not expose the user's realname automatically (bz#1257597)

* Sun Jul 19 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-1
- Update to the 1.0
- Made -devel sub-package

* Fri Jun 12 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-0.4.rc3
- Excluded s390x arch
- Patched for use mono 4 (bz#1038091)

* Mon May 18 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.0-0.3.rc3
- Rebuild (mono4)

* Mon May 04 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-0.2.rc3
- smuxi-message-buffer tool incorporated in smuxi-engine

* Mon May 04 2015 Antonio Trande <sagitterATfedoraproject.org> 1.0-0.1.rc3
- Update to 1.0-rc3
- Packaged smuxi-message-buffer tool
- Packaged gnome appdata file

* Sat Mar 21 2015 Antonio Trande <sagitterATfedoraproject.org> 0.11.1-1
- Update to 0.11.1

* Mon Jan 26 2015 Antonio Trande <sagitterATfedoraproject.org> 0.11-5
- frontend-sftl requires stfl explicitly
- Set exclusive arches for Smuxi (bz#1185763)

* Sun Jan 25 2015 Peter Robinson <pbrobinson@fedoraproject.org> 0.11-4
- Update mono excludes

* Fri Jan 23 2015 Antonio Trande <sagitterATfedoraproject.org> 0.11-3
- Sub-packages re-arranged according to upstream

* Fri Jan 02 2015 Antonio Trande <sagitterATfedoraproject.org> 0.11-2
- Fixed multi-License

* Wed Dec 24 2014 Antonio Trande <sagitterATfedoraproject.org> 0.11-1
- First package