# Conditional build:
# Features
%bcond_without aspell # don't build aspell support
-%bcond_without gnutls # don't build gnutls support
%bcond_without doc # don't build docs
# Bindings
%bcond_without guile # don't enable Scheme (guile) scripting language
%bcond_without lua # don't enable Lua scripting language
%bcond_without perl # don't enable Perl scripting language
+%bcond_with php # don't enable PHP scripting language
%bcond_without python # don't enable Python scripting language
%bcond_without ruby # don't enable Ruby scripting language
%bcond_without tcl # don't enable Tcl scripting language
%undefine with_js
%endif
+%define php_name php%{?php_suffix}
+
Summary: WeeChat - fast and light chat environment
Summary(pl.UTF-8): WeeChat - szybkie i lekkie środowisko do rozmów
Name: weechat
-Version: 1.5
-Release: 3
+Version: 3.0.1
+Release: 2
License: GPL v3+
Group: Applications/Communications
-Source0: http://www.weechat.org/files/src/%{name}-%{version}.tar.gz
-# Source0-md5: 6e4f9c2ec870aab0696c43936800d733
-Patch2: %{name}-curses.patch
+Source0: https://www.weechat.org/files/src/%{name}-%{version}.tar.xz
+# Source0-md5: 56cc7312aea9cb5cccab39211106316f
+Patch0: headless-man.patch
URL: http://www.weechat.org/
-%{?with_doc:BuildRequires: asciidoc}
%{?with_aspell:BuildRequires: aspell-devel}
-BuildRequires: cmake
+BuildRequires: cmake >= 3.0
BuildRequires: curl-devel
BuildRequires: gettext-tools
-%{?with_gnutls:BuildRequires: gnutls-devel}
+BuildRequires: gnutls-devel
%{?with_guile:BuildRequires: guile-devel}
BuildRequires: libgcrypt-devel
-%{?with_lua:BuildRequires: lua51-devel}
+%{?with_lua:BuildRequires: lua-devel}
BuildRequires: ncurses-devel
%{?with_perl:BuildRequires: perl-devel}
+%{?with_php:BuildRequires: %{php_name}-devel >= 4:7}
BuildRequires: pkgconfig
-BuildRequires: sed >= 4.0
-%{?with_doc:BuildRequires: source-highlight}
-%{?with_js:BuildRequires: v8-devel}
%if %{with python}
-BuildRequires: python-devel
-BuildRequires: python-modules
+BuildRequires: python3-devel
+BuildRequires: python3-modules
%endif
-BuildRequires: rpmbuild(macros) >= 1.129
-%{?with_ruby:BuildRequires: ruby-devel}
+BuildRequires: rpmbuild(macros) >= 1.752
+%{?with_doc:BuildRequires: ruby-asciidoctor}
+%{?with_ruby:BuildRequires: ruby-devel >= 1:1.9}
+BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
%{?with_tcl:BuildRequires: tcl-devel}
+%{?with_js:BuildRequires: v8-devel}
+BuildRequires: xz
+BuildRequires: zlib-devel
+Requires(post,postun): desktop-file-utils
+Requires(post,postun): gtk-update-icon-cache
+Suggests: %{name}-plugin-irc
Obsoletes: weechat-common
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%package doc
Summary: Manual for weechat
Group: Documentation
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
+%{?noarchpackage}
%description doc
HTML documentation for weechat.
+%package plugin-guile
+Summary: Guile scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-guile
+Guile scripting plugin for weechat.
+
+%package plugin-irc
+Summary: IRC chat protocol plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-irc
+IRC chat protocol plugin for weechat.
+
+%package plugin-javascript
+Summary: JavaScript scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-javascript
+JavaScript scripting plugin for weechat.
+
+%package plugin-lua
+Summary: Lua scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-lua
+Lua scripting plugin for weechat.
+
+%package plugin-perl
+Summary: Perl scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-perl
+Perl scripting plugin for weechat.
+
+%package plugin-python
+Summary: Python scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-python
+Python scripting plugin for weechat.
+
+%package plugin-relay
+Summary: Relay data via network plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-relay
+Relay data via network plugin for weechat used by alternative
+frontends.
+
+%package plugin-ruby
+Summary: Ruby scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-ruby
+Ruby scripting plugin for weechat.
+
+%package plugin-spell
+Summary: Spell checking plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-spell
+Spell checking plugin for weechat.
+
+%package plugin-tcl
+Summary: Tcl scripting plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-tcl
+Tcl scripting plugin for weechat.
+
+%package plugin-xfer
+Summary: File transfer and direct chat plugin for weechat
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-xfer
+File transfer and direct chat plugin for weechat.
+
%prep
%setup -q
-%patch2 -p0
-
-%{__sed} -i -e 's#PYTHON_LIB=.*#PYTHON_LIB=%{_libdir}#g' configure.ac
-%{__sed} -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
+%patch0 -p1
%build
install -d build
%cmake \
-DPREFIX=%{_prefix} \
-DLIBDIR=%{_libdir} \
+ -DENABLE_HEADLESS=OFF \
-DENABLE_NCURSES=ON \
- -DENABLE_ASPELL=%{?with_aspell:ON}%{!?with_aspell:OFF} \
- -DENABLE_GNUTLS=%{?with_gnutls:ON}%{!?with_gnutls:OFF} \
- -DENABLE_DOC=%{?with_doc:ON}%{!?with_doc:OFF} \
- -DENABLE_PERL=%{?with_perl:ON}%{!?with_perl:OFF} \
- -DENABLE_PYTHON=%{?with_python:ON}%{!?with_python:OFF} \
- -DENABLE_RUBY=%{?with_ruby:ON}%{!?with_ruby:OFF} \
- -DENABLE_LUA=%{?with_lua:ON}%{!?with_lua:OFF} \
- -DENABLE_GUILE=%{?with_guile:ON}%{!?with_guile:OFF} \
- -DENABLE_TCL=%{?with_tcl:ON}%{!?with_tcl:OFF} \
- -DENABLE_MAN=ON \
+ %{cmake_on_off aspell ENABLE_SPELL} \
+ %{cmake_on_off doc ENABLE_DOC} \
+ %{cmake_on_off perl ENABLE_PERL} \
+ %{cmake_on_off php ENABLE_PHP} \
+ %{cmake_on_off python ENABLE_PYTHON} \
+ %{cmake_on_off ruby ENABLE_RUBY} \
+ %{cmake_on_off lua ENABLE_LUA} \
+ %{cmake_on_off guile ENABLE_GUILE} \
+ %{cmake_on_off tcl ENABLE_TCL} \
+ %{cmake_on_off doc ENABLE_MAN} \
+ %{cmake_on_off js ENABLE_JAVASCRIPT} \
..
%{__make} VERBOSE=1
%clean
rm -rf $RPM_BUILD_ROOT
+%post
+%update_desktop_database
+%update_icon_cache hicolor
+%update_mime_database
+
+%postun
+%update_desktop_database_postun
+%update_icon_cache hicolor
+%update_mime_database
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS.asciidoc ChangeLog.asciidoc README.asciidoc ReleaseNotes.asciidoc
+%doc AUTHORS.adoc ChangeLog.adoc README.adoc ReleaseNotes.adoc
%attr(755,root,root) %{_bindir}/weechat
+%if %{with doc}
%{_mandir}/man1/weechat.1*
%lang(cs) %{_mandir}/cs/man1/weechat.1*
%lang(de) %{_mandir}/de/man1/weechat.1*
%lang(ja) %{_mandir}/ja/man1/weechat.1*
%lang(pl) %{_mandir}/pl/man1/weechat.1*
%lang(ru) %{_mandir}/ru/man1/weechat.1*
+%endif
%{_iconsdir}/hicolor/*/apps/weechat.png
+%{_desktopdir}/%{name}.desktop
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins
%attr(755,root,root) %{_libdir}/%{name}/plugins/alias.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/buflist.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/charset.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/exec.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/fifo.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/fset.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/logger.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/relay.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/script.so
%attr(755,root,root) %{_libdir}/%{name}/plugins/trigger.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/xfer.so
-
-# addons
-%{?with_aspell:%attr(755,root,root) %{_libdir}/%{name}/plugins/aspell.so}
-
-# language bindings
-%{?with_guile:%attr(755,root,root) %{_libdir}/%{name}/plugins/guile.so}
-%{?with_lua:%attr(755,root,root) %{_libdir}/%{name}/plugins/lua.so}
-%{?with_perl:%attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so}
-%{?with_python:%attr(755,root,root) %{_libdir}/%{name}/plugins/python.so}
-%{?with_ruby:%attr(755,root,root) %{_libdir}/%{name}/plugins/ruby.so}
-%{?with_tcl:%attr(755,root,root) %{_libdir}/%{name}/plugins/tcl.so}
-%{?with_js:%attr(755,root,root) %{_libdir}/%{name}/plugins/javascript.so}
%if %{with doc}
%files doc
%lang(pl) %{_docdir}/%{name}/*.pl.html
%lang(ru) %{_docdir}/%{name}/*.ru.html
%endif
+
+%if %{with guile}
+%files plugin-guile
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/guile.so
+%endif
+
+%files plugin-irc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/irc.so
+
+%if %{with js}
+%files plugin-javascript
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/javascript.so
+%endif
+
+%if %{with lua}
+%files plugin-lua
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/lua.so
+%endif
+
+%if %{with perl}
+%files plugin-perl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/perl.so
+%endif
+
+%if %{with python}
+%files plugin-python
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/python.so
+%endif
+
+%files plugin-relay
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/relay.so
+
+%if %{with ruby}
+%files plugin-ruby
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/ruby.so
+%endif
+
+%if %{with aspell}
+%files plugin-spell
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/spell.so
+%endif
+
+%if %{with tcl}
+%files plugin-tcl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/tcl.so
+%endif
+
+%files plugin-xfer
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/plugins/xfer.so