+# TODO
+# - Requires: /bin/bash /bin/sh /usr/bin/env /usr/bin/perl ... etc in music plugin, subpackage it?
+# - mv languages instead handling specially in find-lang.sh, send to upstream
Summary: MSN Messenger clone for Linux
Summary(de.UTF-8): MSN Messenger-Klon für Linux
Summary(fr.UTF-8): Clône MSN Messenger pour Linux
Summary(pl.UTF-8): Klon MSN Messengera dla Linuksa
Name: amsn
Version: 0.98.1
-Release: 1
-Epoch: 0
+Release: 2.6
License: GPL
Group: Applications/Communications
-Source0: http://dl.sourceforge.net/amsn/%{name}-%{version}.tar.gz
+Source0: http://downloads.sourceforge.net/amsn/%{name}-%{version}.tar.gz
# Source0-md5: 8c608673a4e920b83cc9f41c2cb837dc
+Source1: find-lang.sh
Patch0: %{name}-desktop.patch
Patch1: %{name}-paths.patch
Patch2: %{name}-libpng.patch
Patch3: %{name}-bwidget.patch
+Patch4: %{name}-no-exact-http.patch
+Patch5: %{name}-songbird-exception.patch
URL: http://www.amsn-project.net/
+BuildRequires: farsight2-devel
+BuildRequires: gupnp-igd-devel
BuildRequires: libjpeg-devel
-BuildRequires: libpng-devel
+BuildRequires: libpng-devel >= 2:1.4
BuildRequires: libstdc++-devel
+BuildRequires: libv4l-devel
BuildRequires: pkgconfig
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.517
# IM's convert is needed to display pictures (buddy icons).
Requires: ImageMagick
Requires: tcl >= 8.5.7
-Requires: tcllib
-Requires: tk-BWidget >= 1.8.0-2
# MSN Protocol 9 won't let you in without SSL anymore.
Requires: tcl-tls
+Requires: tcllib
Requires: tk >= 8.4
+Requires: tk-BWidget >= 1.8.0-2
+Requires: xdg-utils
+%if 0
+# new deps
+Requires: tcl-snack
+Requires: tclsoap
+Requires: tcltls
+Requires: tkdnd
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define find_lang %{SOURCE1} %{buildroot}
+
%description
This is Tcl/Tk clone that implements the Microsoft Messenger (MSN) for
Unix, Windows, or Macintosh platforms. It supports file transfers,
rm -r utils/BWidget-1.9.0
rm -r skins/default/winicons
+rm -r skins/"Dark Matter 4.0"/winicons
+rm -r plugins/music/MusicWin
+rm plugins/music/*.scpt
# for webcam to work these paths need to be added because we move libs around
%{__sed} -i 's#\.\./libng/plugins#%{tcl_sitearch}/capture/libng/plugins#' utils/linux/capture/libng/grab-ng.c
%{__sed} -i 's#env(HOME) amsn_received#env(HOME) Desktop#' config.tcl
%{__sed} -i 's# utils/bwidget1.8.0##' Makefile.in
-%{__sed} -i 's#set program_dir \[file dirname \[info script\]\]#set program_dir "%{_datadir}/amsn/"#' amsn amsn-remote amsn-remote-CLI
+%{__sed} -i 's#set program_dir \[file dirname \[info script\]\]#set program_dir "%{_datadir}/%{name}/"#' amsn amsn-remote amsn-remote-CLI
%{__sed} -i 's#`locate .*`##' configure
%patch1 -p1
%patch2 -p1
%patch3 -p1
-
-# MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
-rm -f utils/*/*/*.exe
+%patch4 -p1
+%patch5 -p1
%build
# NOTE: enable debug allows us to keep debug symbols in -debuginfo package
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/amsn-remote-CLI $RPM_BUILD_ROOT%{_bindir}/amsn-remote-CLI
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/base64
+rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/http
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/log
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/sha1
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/snit
install -d $RPM_BUILD_ROOT%{tcl_sitearch}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/linux/* $RPM_BUILD_ROOT%{tcl_sitearch}
+rmdir $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/linux
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/TkCximage $RPM_BUILD_ROOT%{tcl_sitearch}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/webcamsn $RPM_BUILD_ROOT%{tcl_sitearch}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/tcl_siren $RPM_BUILD_ROOT%{tcl_sitearch}
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/tclISF $RPM_BUILD_ROOT%{tcl_sitearch}
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/gupnp $RPM_BUILD_ROOT%{tcl_sitearch}
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/farsight $RPM_BUILD_ROOT%{tcl_sitearch}
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/asyncresolver $RPM_BUILD_ROOT%{tcl_sitearch}
+
mv $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_desktopdir}}/%{name}.desktop
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/desktop-icons/* $RPM_BUILD_ROOT%{_iconsdir}/hicolor
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/desktop-icons
-ln -sf %{_iconsdir}/hicolor/48x48/apps/%{name}.png $RPM_BUILD_ROOT%{_pixmapsdir}
+rm $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
# docs in docs
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/*/test.tcl
+%find_lang %{name}
+
+grep /plugins/ %{name}.lang > %{name}-plugins.lang
+sed -i -e '/plugins/d' %{name}.lang
+
%clean
rm -rf $RPM_BUILD_ROOT
%postun
%update_icon_cache hicolor
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
%doc FAQ HELP README TODO CREDITS
%attr(755,root,root) %{_bindir}/amsn
# langlist explains the language codes used
%{_datadir}/%{name}/langlist
-%dir %{_datadir}/%{name}/lang
-%{_datadir}/%{name}/lang/langen
-%lang(sq) %{_datadir}/%{name}/lang/langal
-%lang(ca) %{_datadir}/%{name}/lang/langca
-%lang(ca) %{_datadir}/%{name}/lang/langca_VC
-%lang(cs) %{_datadir}/%{name}/lang/langcs
-%lang(cy) %{_datadir}/%{name}/lang/langcy
-%lang(da) %{_datadir}/%{name}/lang/langda
-%lang(de) %{_datadir}/%{name}/lang/langde
-%lang(et) %{_datadir}/%{name}/lang/langee
-%lang(el) %{_datadir}/%{name}/lang/langel
-%lang(es) %{_datadir}/%{name}/lang/langes
-%lang(eu) %{_datadir}/%{name}/lang/langeu
-%lang(fi) %{_datadir}/%{name}/lang/langfi
-%lang(fr) %{_datadir}/%{name}/lang/langfr
-%lang(fr_CA) %{_datadir}/%{name}/lang/langfr_CA
-%lang(fy) %{_datadir}/%{name}/lang/langfri
-%lang(gl) %{_datadir}/%{name}/lang/langglg
-%lang(el) %{_datadir}/%{name}/lang/langgr2
-%lang(hu) %{_datadir}/%{name}/lang/langhu
-%lang(id) %{_datadir}/%{name}/lang/langid
-%lang(is) %{_datadir}/%{name}/lang/langis
-%lang(it) %{_datadir}/%{name}/lang/langit
-%lang(ja) %{_datadir}/%{name}/lang/langja
-%lang(ko) %{_datadir}/%{name}/lang/langko
-%lang(ku) %{_datadir}/%{name}/lang/langku
-%lang(lt) %{_datadir}/%{name}/lang/langlt
-%lang(mk) %{_datadir}/%{name}/lang/langmk
-%lang(mt) %{_datadir}/%{name}/lang/langmt
-%lang(nl) %{_datadir}/%{name}/lang/langnl
-%lang(nb) %{_datadir}/%{name}/lang/langno
-%lang(oc) %{_datadir}/%{name}/lang/langoc
-%lang(pl) %{_datadir}/%{name}/lang/langpl
-%lang(pt) %{_datadir}/%{name}/lang/langpt
-%lang(pt_BR) %{_datadir}/%{name}/lang/langpt_BR
-%lang(ro) %{_datadir}/%{name}/lang/langro
-%lang(ru) %{_datadir}/%{name}/lang/langru
-%lang(sk) %{_datadir}/%{name}/lang/langsk
-%lang(sl) %{_datadir}/%{name}/lang/langsl
-%lang(sr) %{_datadir}/%{name}/lang/langsr
-%lang(sv) %{_datadir}/%{name}/lang/langsv
-%lang(tr) %{_datadir}/%{name}/lang/langtr
-%lang(vn) %{_datadir}/%{name}/lang/langvn
-%lang(zh_CN) %{_datadir}/%{name}/lang/langzh-CN
-%lang(zh_TW) %{_datadir}/%{name}/lang/langzh-TW
-
-# no ISO 639-1 code present
-%lang(NONE) %{_datadir}/%{name}/lang/langast
%dir %{_datadir}/%{name}/plugins
%{_datadir}/%{name}/skins
%{_iconsdir}/hicolor/*/apps/*.png
%{_desktopdir}/%{name}.desktop
-%{_pixmapsdir}/%{name}.png
%dir %{tcl_sitearch}/*
%{tcl_sitearch}/*/*.tcl
%dir %{tcl_sitearch}/capture/libng/plugins
%attr(755,root,root) %{tcl_sitearch}/capture/libng/plugins/*.so
-%files plugins
+%files plugins -f %{name}-plugins.lang
%defattr(644,root,root,755)
-%{_datadir}/%{name}/plugins/*
+%dir %{_datadir}/%{name}/plugins/ColoredNicks
+%{_datadir}/%{name}/plugins/ColoredNicks/*.tcl
+%{_datadir}/%{name}/plugins/ColoredNicks/*.xml
+
+%dir %{_datadir}/%{name}/plugins/MSNGameTTT
+%{_datadir}/%{name}/plugins/MSNGameTTT/*.tcl
+%{_datadir}/%{name}/plugins/MSNGameTTT/*.xml
+%{_datadir}/%{name}/plugins/MSNGameTTT/pixmaps
+
+%dir %{_datadir}/%{name}/plugins/SearchContact
+%{_datadir}/%{name}/plugins/SearchContact/*.tcl
+%{_datadir}/%{name}/plugins/SearchContact/*.xml
+%{_datadir}/%{name}/plugins/SearchContact/pixmaps
+
+%dir %{_datadir}/%{name}/plugins/WebcamShooter
+%{_datadir}/%{name}/plugins/WebcamShooter/*.tcl
+%{_datadir}/%{name}/plugins/WebcamShooter/*.xml
+
+%dir %{_datadir}/%{name}/plugins/Notes
+%{_datadir}/%{name}/plugins/Notes/*.tcl
+%{_datadir}/%{name}/plugins/Notes/*.xml
+
+%dir %{_datadir}/%{name}/plugins/Nudge
+%{_datadir}/%{name}/plugins/Nudge/*.tcl
+%{_datadir}/%{name}/plugins/Nudge/*.xml
+%{_datadir}/%{name}/plugins/Nudge/*.wav
+
+%dir %{_datadir}/%{name}/plugins/inkdraw
+%{_datadir}/%{name}/plugins/inkdraw/*.tcl
+%{_datadir}/%{name}/plugins/inkdraw/*.xml
+%{_datadir}/%{name}/plugins/inkdraw/pixmaps
+%{_datadir}/%{name}/plugins/inkdraw/pencils
+
+%dir %{_datadir}/%{name}/plugins/music
+%{_datadir}/%{name}/plugins/music/*.tcl
+%{_datadir}/%{name}/plugins/music/*.xml
+%{_datadir}/%{name}/plugins/music/*.txt
+%{_datadir}/%{name}/plugins/music/info*
+%{_datadir}/%{name}/plugins/music/pixmaps
+
+%dir %{_datadir}/%{name}/plugins/remind
+%{_datadir}/%{name}/plugins/remind/*.tcl
+%{_datadir}/%{name}/plugins/remind/*.xml
+
+%dir %{_datadir}/%{name}/plugins/winks
+%{_datadir}/%{name}/plugins/winks/*.tcl
+%{_datadir}/%{name}/plugins/winks/*.xml
+%{_datadir}/%{name}/plugins/winks/*.txt
+%{_datadir}/%{name}/plugins/winks/pixmaps