gaim/gaim

RPM spec file cleanup and bits and pieces:
oldstatus
2005-04-28, Stu Tomlinson
588a4528305d
Parents d1868ade1363
Children 40afb8325ad9
RPM spec file cleanup and bits and pieces:
- Use perl_vendorlib & perl_archlib for better 64bit compat (Jeff Mahoney)
- Clean up Requires, most should be auto-detected
- Restore gtkspell-devel build requirement (and add --without gtkspell option)
- Fix Tcl build requirements to work across more distros
- Fix SILC build requirements to work across more distros

Talking of RPMs, I think we should separate distribution in the release
tag with a period, eg. -0.rh9, -0.fc1, -0.mdk10.0 etc, it would make E-V-R
comparisions a bit more sensible. What do others think?
  • +51 -30
    gaim.spec.in
  • --- a/gaim.spec.in Thu Apr 28 09:46:52 2005 -0400
    +++ b/gaim.spec.in Thu Apr 28 14:24:18 2005 -0400
    @@ -1,3 +1,7 @@
    +# Older RPM doesn't define these by default
    +%{!?perl_vendorlib: %define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)}
    +%{!?perl_archlib: %define perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib)}
    +
    Summary: A Gtk+ based multiprotocol instant messaging client
    Name: @PACKAGE@
    Version: @VERSION@
    @@ -10,30 +14,38 @@
    Source: %{name}-%{version}.tar.gz
    BuildRoot: %{_tmppath}/%{name}-%{version}-root
    +# Generic build requirements
    +BuildRequires: libtool, pkgconfig, libao-devel, audiofile-devel
    +%{?_with_silc:BuildRequires: /usr/include/silc/silcclient.h}
    +%{?_with_tcl:BuildRequires: tcl, tk, /usr/include/tcl.h}
    +%{!?_without_gtkspell:BuildRequires: gtkspell-devel}
    +# For some reason perl isn't always automatically detected as a requirement :(
    +Requires: perl
    +
    %if "%{_vendor}" == "MandrakeSoft"
    -Requires: gtk+2.0 >= 2.0.0, libnss3
    -BuildRequires: libao-devel, libgtk+2.0_0-devel, libtool, audiofile-devel, pkgconfig, libnss3-devel, perl-devel
    -Provides: libgaim-remote0
    +# Mandrake/Mandriva requirements
    +BuildRequires: libgtk+2.0_0-devel, libnss3-devel, perl-devel
    +Provides: libgaim-remote0
    %else
    +
    +# SuSE & Red Hat / Fedora requirements
    +BuildRequires: gtk2-devel
    +
    %if "%{_vendor}" == "suse"
    -Requires: gtk2 >= 2.0.0, gnutls, audiofile, libao
    -BuildRequires: libao-devel, gtk2-devel, libtool, audiofile-devel, pkgconfig, gnutls-devel
    +BuildRequires: gnutls-devel
    %else
    -Requires: gtk2 >= 2.0.0, mozilla-nss, audiofile, libao
    -BuildRequires: libao-devel, gtk2-devel, libtool, audiofile-devel, pkgconfig, mozilla-nss-devel
    +BuildRequires: mozilla-nss-devel
    %endif
    %endif
    -%{?_with_silc:BuildRequires: libsilc-devel}
    -%{?_with_tcl:BuildRequires: tcl, tk}
    -%if %{?_with_silc:1}%{!?_with_silc:0}
    +%if 0%{?_with_silc:1}
    %package silc
    Summary: SILC (Secure Internet Live Conferencing) plugin for Gaim
    Group: Applications/Internet
    Requires: gaim = %{epoch}:%{version}
    %endif
    -%if %{?_with_tcl:1}%{!?_with_tcl:0}
    +%if 0%{?_with_tcl:1}
    %package tcl
    Summary: Tcl scripting support for Gaim
    Group: Applications/Internet
    @@ -43,27 +55,27 @@
    %package devel
    Summary: Development headers, documentation, and libraries for Gaim.
    Group: Applications/Internet
    -Requires: gaim = %{epoch}:%{version}
    +Requires: pkgconfig, gaim = %{epoch}:%{version}
    %description
    -Gaim allows you to talk to anyone using a variety of messaging
    -protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!,
    -MSN Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These
    -protocols are implemented using a modular, easy to use design.
    +Gaim allows you to talk to anyone using a variety of messaging
    +protocols, including AIM, ICQ, IRC, Yahoo!, Novell Groupwise,
    +MSN Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These
    +protocols are implemented using a modular, easy to use design.
    To use a protocol, just add an account using the account editor.
    -Gaim supports many common features of other clients, as well as many
    +Gaim supports many common features of other clients, as well as many
    unique features, such as perl scripting, TCL scripting and C plugins.
    -Gaim is NOT affiliated with or endorsed by America Online, Inc.,
    +Gaim is NOT affiliated with or endorsed by America Online, Inc.,
    Microsoft Corporation, Yahoo! Inc., or ICQ Inc.
    -%if %{?_with_silc:1}%{!?_with_silc:0}
    +%if 0%{?_with_silc:1}
    %description silc
    SILC (Secure Internet Live Conferencing) plugin for Gaim
    %endif
    -%if %{?_with_tcl:1}%{!?_with_tcl:0}
    +%if 0%{?_with_tcl:1}
    %description tcl
    Tcl plugin loader for Gaim. This package will allow you to write or
    use Gaim plugins written in the Tcl programming language.
    @@ -75,7 +87,7 @@
    and plugins.
    %prep
    -%setup
    +%setup -q
    %build
    CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} \
    @@ -85,10 +97,12 @@
    --libdir=%{_libdir} \
    --mandir=%{_mandir} \
    --sysconfdir=%{_sysconfdir} \
    + --with-ao=%{_libdir} \
    --with-perl-lib=%{buildroot}%{_prefix} \
    %{?_with_silc:--with-silc-includes=%{_includedir}/silc} \
    %{?_with_silc:--with-silc-libs=%{_libdir}/silc} \
    - %{!?_with_tcl:--disable-tcl}
    + %{!?_with_tcl:--disable-tcl} \
    + %{?_without_gtkspell:--disable-gtkspell}
    make %{?_smp_mflags}
    @@ -100,20 +114,20 @@
    sysconfdir=%{buildroot}%{_sysconfdir} \
    install
    -rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/*/*/perllocal.pod
    +rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
    rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/*.la
    -%if %{!?_with_silc:1}%{?_with_silc:0}
    +%if 0%{!?_with_silc:1}
    rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/libsilcgaim.so
    %endif
    -%if %{!?_with_tcl:1}%{?_with_tcl:0}
    +%if 0%{!?_with_tcl:1}
    rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/tcl.so
    %endif
    find $RPM_BUILD_ROOT%{_libdir}/gaim -type f -print | \
    - sed "s@^$RPM_BUILD_ROOT@@g" | \
    - grep -v libsilcgaim.so |
    + sed "s@^$RPM_BUILD_ROOT@@g" | \
    + grep -v libsilcgaim.so |
    grep -v tcl.so |
    grep -v ".tcl$" > %{name}-%{version}-coreplugins
    @@ -130,7 +144,7 @@
    %dir %{_libdir}/gaim
    %attr(755, root, root) %{_libdir}/libgaim-remote.so.*
    -%attr(755, root, root) %{_libdir}/perl5
    +%attr(755, root, root) %{perl_vendorlib}
    %{_bindir}/*
    %{_datadir}/locale/*/*/*
    @@ -139,14 +153,14 @@
    %{_datadir}/sounds/gaim/*
    %{_datadir}/applications/*
    -%if %{?_with_silc:1}%{!?_with_silc:0}
    +%if 0%{?_with_silc:1}
    %files silc
    %defattr(-, root, root)
    %{_libdir}/gaim/libsilcgaim.*
    %endif
    -%if %{?_with_tcl:1}%{!?_with_tcl:0}
    +%if 0%{?_with_tcl:1}
    %files tcl
    %defattr(-, root, root)
    @@ -166,6 +180,13 @@
    %{_libdir}/pkgconfig/gaim.pc
    %changelog
    +* Thu Apr 28 2005 <stu@nosnilmot.com>
    +- Use perl_vendorlib & perl_archlib for better 64bit compat (Jeff Mahoney)
    +- Clean up Requires, most should be auto-detected
    +- Restore gtkspell-devel build requirement (and add --without gtkspell option)
    +- Fix Tcl build requirements to work across more distros
    +- Fix SILC build requirements to work across more distros
    +
    * Mon Oct 11 2004 John Jolly <john.jolly@gmail.com>
    - Added if "%{_vendor}" == "suse" to handle GnuTLS libraries for SuSE