]> git.pld-linux.org Git - packages/amsn.git/blobdiff - amsn.spec
- always load default skin; rel 4
[packages/amsn.git] / amsn.spec
index 39fc33ffd49c07eca52f494dabd3ae9500b1b12c..14f683448dbd8507dccac325c8adccf776f1f862 100644 (file)
--- a/amsn.spec
+++ b/amsn.spec
-#
-# Conditional build:
-%bcond_without imlib   # do not compile freedesktop notification plugin
-#
+# 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):   MSN Messenger-Klon für Linux
-Summary(fr):   Clône MSN Messenger pour Linux
-Summary(pl):   Klon MSN Messengera dla Linuksa
+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.94
-Release:       0.5
-Epoch:         0
+Version:       0.98.1
+Release:       4
 License:       GPL
 Group:         Applications/Communications
-%define        _ver    %(echo %{version} | tr . _)
-Source0:       http://dl.sourceforge.net/amsn/%{name}-%{_ver}.tar.gz
-# Source0-md5: 7b7db9225342bb6c59b873ec90882e22
-URL:           http://amsn.sourceforge.net/
-%{?with_imlib:BuildRequires:   imlib-devel}
-BuildRequires: libpng-devel
-BuildRequires: libtiff-devel
+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 >= 2:1.4
+BuildRequires: libstdc++-devel
+BuildRequires: libv4l-devel
+BuildRequires: pkgconfig
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.517
 BuildRequires: sed >= 4.0
-BuildRequires: tcl-devel >= 8.3
-BuildRequires: tk-devel >= 8.3
+BuildRequires: tcl-devel >= 8.4
+BuildRequires: tk-devel >= 8.4
+BuildRequires: which
+BuildRequires: xorg-lib-libICE-devel
+BuildRequires: xorg-lib-libSM-devel
+Requires(post,postun): hicolor-icon-theme
+# default skin is always needed, as it contains images if extra skin misses something
+Requires:      %{name}-skin-default
 # IM's convert is needed to display pictures (buddy icons).
 Requires:      ImageMagick
-Requires:      tcl >= 8.3
+Requires:      tcl >= 8.5.7
 # MSN Protocol 9 won't let you in without SSL anymore.
 Requires:      tcl-tls
-Requires:      tk >= 8.3
-%{!?with_imlib:BuildArch:      noarch}
+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,
-groups, and many more features. Visit http://amsn.sourceforge.net/ for
-details. This is an ongoing project, and it is already going pretty
-well.
-
-%description -l de
-amsn ist ein Microsoft Messenger (MSN) Client für UNIX, Windows und
-Macintosh, der in Tcl/Tk geschrieben ist. Es unterstützt
-Dateiübertragungen, Gruppen uvm.
-Begeben Sie sich auf http://amsn.sourceforge.net/ um mehr über dieses
-Projekt zu erfahren.
-
-%description -l fr
+groups, and many more features.
+
+%description -l de.UTF-8
+amsn ist ein Microsoft Messenger (MSN) Client für UNIX, Windows und
+Macintosh, der in Tcl/Tk geschrieben ist. Es unterstützt
+Dateiübertragungen, Gruppen uvm.
+
+%description -l fr.UTF-8
 amsn est un client Microsoft Messenger (MSN) pour UNIX, Windows et
-Macintosh écrit en Tcl/Tk.  Il supporte les tranferts de fichiers, les
-groupes et beaucoup d'autres possibilités. 
-Visitez http://amsn.sourceforge.net/ pour de plus amples détails.
+Macintosh écrit en Tcl/Tk. Il supporte les tranferts de fichiers, les
+groupes et beaucoup d'autres possibilités.
+
+%description -l pl.UTF-8
+amsn to klient Microsoft Messengera (MSN) dla Uniksów, Windows i
+Macintosha napisany w Tcl/Tk. Obsługuje przesyłanie plików, grupy i
+wiele więcej możliwości.
 
-%description -l pl
-amsn to klient Microsoft Messengera (MSN) dla Uniksów, Windows i
-Macintosha napisany w Tcl/Tk. Obs³uguje przesy³anie plików, grupy i
-wiele wiêcej mo¿liwo¶ci - szczegó³y pod adresem
-http://amsn.sourceforge.net/ . Projekt jest nadal rozwijany i ju¿
-dzia³a ca³kiem dobrze.
+%package plugins
+Summary:       Plugins for aMSN
+Group:         Applications/Networking
+URL:           http://amsn.sourceforge.net/plugins.php
+Requires:      %{name} = %{version}-%{release}
+
+%description plugins
+Extra plugins for amsn to enable drawing Ink, send and receive Nudges,
+view the last lines of a recent chat when opening a new one and create
+snapshots with your webcam to use as your display picture.
 
 %prep
-%setup -q -n %{name}-%{_ver}
+%setup -q
 
-%build
-# add InstantMessaging category
-sed -i -e '/Categories=/s/.*/Categories=Network;InstantMessaging;/' %{name}.desktop
+# undos some source files
+find -name '*.tcl' -print0 | xargs -0 sed -i -e 's,\r$,,'
 
-%if %{with imlib}
-cd plugins/traydock
-%configure
-%{__make}
-%endif
+rm -r utils/BWidget-1.9.0
+rm -r plugins/music/MusicWin
+rm plugins/music/*.scpt
+
+# skins in amsn-skins.spec
+rm -r skins/*
+
+# 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#\.\./libng/contrib-plugins#%{tcl_sitearch}/capture/libng/contrib-plugins#' utils/linux/capture/libng/grab-ng.c
+
+%{__sed} -i 's#mozilla#firefox#' config.tcl
+%{__sed} -i 's#my_filemanager open#xdg-open#' config.tcl
+%{__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}/%{name}/"#' amsn amsn-remote amsn-remote-CLI
+
+%{__sed} -i 's#`locate .*`##' configure
+
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+
+%build
+# NOTE: enable debug allows us to keep debug symbols in -debuginfo package
+%configure \
+       --enable-debug \
+       CFLAGS="%{rpmcflags}"
+%{__make} \
+       verbose=yes
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_datadir}/%{name}
+install -d $RPM_BUILD_ROOT{%{_iconsdir}/hicolor,%{_pixmapsdir},%{_desktopdir}}
 
 %{__make} install \
-       prefix=$RPM_BUILD_ROOT%{_prefix}
-
-%if %{with imlib}
-       # Installing the freedesktop notification plugin"
-       install -d $RPM_BUILD_ROOT%{_libdir}/amsn/plugins/traydock
-       mv $RPM_BUILD_ROOT%{_datadir}/amsn/plugins/traydock/libtray.so $RPM_BUILD_ROOT%{_libdir}/amsn/plugins/traydock
-       rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/plugins/traydock
-       ln -s ../../../%{_lib}/amsn/plugins/traydock $RPM_BUILD_ROOT%{_datadir}/amsn/plugins
-%else
-       rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/plugins/traydock
-%endif
+       DESTDIR=$RPM_BUILD_ROOT
+
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/amsn $RPM_BUILD_ROOT%{_bindir}/amsn
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/amsn-remote $RPM_BUILD_ROOT%{_bindir}/amsn-remote
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}/amsn-remote-CLI $RPM_BUILD_ROOT%{_bindir}/amsn-remote-CLI
 
-# force relative path
-# FIXME: FHS?
-ln -sf ../share/amsn/amsn $RPM_BUILD_ROOT%{_bindir}
+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
+rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/utils/uri
+rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/docs
+rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/{AGREEMENT,FAQ,GNUGPL,INSTALL,remote.help,TODO}
+rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/{CREDITS,HELP,README}
+rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/lang/{*.*,LANG-HOWTO,sortlang}
 
-install -d $RPM_BUILD_ROOT%{_desktopdir}
-install %{name}.desktop $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+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
+rm $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
 
-# remove junk
-rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/amsn-0.91
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/amsn.{desktop,spec,debianmenu}
 # docs in docs
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/docs
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/{CREDITS,GNUGPL,README,HELP,FAQ,TODO,Makefile,cvs_date}
-# random binary for PPC
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/sndplay
-# not for our arch
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/plugins/{winflash,winutils,QuickTimeTcl3.1,applescript,tclCarbonNotification,tclAE2.0}
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/plugins/winico*
-rm -rf $RPM_BUILD_ROOT%{_datadir}/amsn/utils
+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
 
-%files
+%post
+%update_icon_cache hicolor
+
+%postun
+%update_icon_cache hicolor
+
+%files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc FAQ GNUGPL HELP README TODO CREDITS
-%attr(755,root,root) %{_bindir}/*
+%doc FAQ HELP README TODO CREDITS
+%attr(755,root,root) %{_bindir}/amsn
+%attr(755,root,root) %{_bindir}/amsn-remote
+%attr(755,root,root) %{_bindir}/amsn-remote-CLI
 
 %dir %{_datadir}/%{name}
-%{_datadir}/%{name}/icons
-%{_datadir}/%{name}/lang
-%{_datadir}/%{name}/plugins
-%{_datadir}/%{name}/skins
 %{_datadir}/%{name}/*.tcl
 %{_datadir}/%{name}/hotmlog.htm
+
+# langlist explains the language codes used
 %{_datadir}/%{name}/langlist
-%{_datadir}/%{name}/remote.help
 
-%attr(755,root,root) %{_datadir}/%{name}/%{name}*
+%dir %{_datadir}/%{name}/plugins
+%dir %{_datadir}/%{name}/skins
+%{_datadir}/%{name}/utils
 
-%{_pixmapsdir}/*.png
+%{_iconsdir}/hicolor/*/apps/*.png
 %{_desktopdir}/%{name}.desktop
-%{?with_imlib:%{_libdir}/amsn}
+
+%dir %{tcl_sitearch}/*
+%{tcl_sitearch}/*/*.tcl
+%attr(755,root,root) %{tcl_sitearch}/*/*.so
+%dir %{tcl_sitearch}/capture/libng
+%dir %{tcl_sitearch}/capture/libng/plugins
+%attr(755,root,root) %{tcl_sitearch}/capture/libng/plugins/*.so
+
+%files plugins -f %{name}-plugins.lang
+%defattr(644,root,root,755)
+%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
This page took 1.94048 seconds and 4 git commands to generate.