weechat/weechat.spec
Lars Vogdt 1d3ee03401 Accepting request 789522 from home:oxy:branches:server:irc
- update to 2.8
- New features
  * core: add variable "old_full_name" in buffer,
    set during buffer renaming (issue #1428)
  * core: add debug option "-d" in command /eval (issue #1434)
  * api: add functions crypto_hash and crypto_hash_pbkdf2
  * api: add info "auto_connect" (issue #1453)
  * api: add info "weechat_headless" (issue #1433)
  * buflist: add pointer "window" in bar item evaluation
  * irc: add support of fake servers (no I/O, for testing purposes)
  * relay: accept hash of password in init command of weechat protocol
    with option "password_hash" (PBKDF2, SHA256, SHA512)
  * relay: reject client with weechat protocol if password or totp is
    received in init command but not set in WeeChat (issue #1435)
- Bug fixes
  * core: fix memory leak in completion
  * core: flush stdout/stderr before forking
    in hook_process function (issue #1441)
  * core: fix evaluation of condition with nested "if" (issue #1434)
  * irc: split AUTHENTICATE message in 400-byte chunks (issue #1459)
  * irc: copy temporary server flag in command /server copy
  * irc: add nick changes in the hotlist (except self nick change)
  * irc: case-insensitive comparison on incoming CTCP command,
    force upper case on CTCP replies (issue #1439)
  * irc: fix memory leak when the channel topic is changed
  * logger: fix crash when logging is disabled on a buffer
    and the log file was deleted in the meanwhile, when
    option logger.file.info_lines is on (issue #1444)
  * php: fix crash when loading script with PHP 7.4 (issue #1452)
  * relay: update buffers synchronization
    when buffers are renamed (issue #1428)
  * script: fix memory leak in read of script repository file
    if it has invalid content
  * script: fix unexpected display of scripts list in buffer
    with command /script list -i
  * xfer: send signal "xfer_ended" after the received file
    has been renamed (issue #1438)
- Tests
  * scripts: fix generation of test scripts with Python 3.8
  * unit: add tests on IRC protocol functions and callbacks
  * unit: add tests on function secure_derive_key
  * unit: add tests on functions util_get_time_diff and util_file_get_content
- Build
  * core: fix Cygwin build
  * guile: add detection of Guile 3.0.0 (issue #1442)
  * irc: fix build with GnuTLS < 3.1.0 (issue #1431)
  * php: add detection of PHP 7.4
  * ruby: add detection of Ruby 2.7 (issue #1455)

OBS-URL: https://build.opensuse.org/request/show/789522
OBS-URL: https://build.opensuse.org/package/show/server:irc/weechat?expand=0&rev=97
2020-04-27 13:51:01 +00:00

206 lines
6.0 KiB
RPMSpec

#
# spec file for package weechat
#
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: weechat
Version: 2.8
Release: 0
Summary: Multi-protocol extensible Chat Client
License: GPL-3.0-or-later
Group: Productivity/Networking/IRC
URL: https://weechat.org
Source: https://weechat.org/files/src/%{name}-%{version}.tar.xz
Source1: weechat.desktop
Source2: %{name}.keyring
Source3: https://weechat.org/files/src/%{name}-%{version}.tar.xz.asc
Source4: %{name}.changes
BuildRequires: ca-certificates
BuildRequires: cmake
BuildRequires: curl-devel
BuildRequires: gcc-c++
BuildRequires: grep
BuildRequires: hicolor-icon-theme
BuildRequires: libgcrypt-devel
BuildRequires: libgpg-error-devel
BuildRequires: libtool
BuildRequires: lzo-devel
BuildRequires: ncurses-devel
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: ruby-devel
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(enchant)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(lua)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(tcl)
Requires: ca-certificates
Requires: hicolor-icon-theme
Recommends: %{name}-lang = %{version}
# without scripts it is a bit annoying
Recommends: %{name}-perl = %{version}
Recommends: %{name}-python = %{version}
Obsoletes: %{name}-guile
%description
WeeChat (Wee Enhanced Environment for Chat) is a
chat environment. It can be entirely controlled with the keyboard, has a
plugin-based architecture and is customizable and extensible with scripts in
several scripting languages.
%lang_package
%package devel
Summary: Development Environment for %{name} Plugins
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description devel
Development environment for authoring %{name} plugins.
%package lua
Summary: Lua Scripting Support for %{name}
Group: Productivity/Networking/IRC
Requires: %{name} = %{version}
%description lua
Support for %{name} scripts written in the Lua language.
%package perl
Summary: Perl Scripting Support for %{name}
Group: Productivity/Networking/IRC
Requires: %{name} = %{version}
%{?libperl_requires}
%description perl
Support for %{name} scripts written in the Perl language.
%package python
Summary: Python Scripting Support for %{name}
Group: Productivity/Networking/IRC
Requires: %{name} = %{version}
%description python
Support for %{name} scripts written in the Python language.
%package tcl
Summary: Tcl Scripting Support for %{name}
Group: Productivity/Networking/IRC
Requires: %{name} = %{version}
%description tcl
Support for %{name} scripts written in the Tcl language.
%package ruby
Summary: Ruby Scripting Support for %{name}
Group: Productivity/Networking/IRC
Requires: %{name} = %{version}
%description ruby
Support for %{name} scripts written in the Ruby language.
%package spell
Summary: Aspell and Enchant Spell-Checking Support for %{name}
Group: Productivity/Networking/IRC
Requires: %{name} = %{version}
Supplements: (%{name} and enchant-2-backend-hunspell)
Obsoletes: %{name}-aspell < %{version}
Provides: %{name}-aspell = %{version}
%description spell
Spell-checking support for %{name}, using the aspell and enchant libraries.
%prep
%setup -q
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE4}")"
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\""
find . -name '*.[ch]' -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" "{}" "+"
%build
export CFLAGS="%{optflags}"
# Tests require cpputest package
# no-undefined for perl seem not to work as desired
%cmake \
-DLIBDIR="%{_libdir}" \
-DENABLE_PYTHON=ON \
-DPYTHON_LIBRARY="%{_libdir}/libpython%{py3_ver}m.so" \
-DENABLE_ENCHANT=ON \
-DENABLE_GUILE=OFF \
-DENABLE_JAVASCRIPT=OFF \
-DENABLE_PHP=OFF \
-DCA_FILE=%{_sysconfdir}/ssl/ca-bundle.pem
%cmake_build
%install
%cmake_install
install -D -m 0644 "%{SOURCE1}" "%{buildroot}%{_datadir}/applications/%{name}.desktop"
%suse_update_desktop_file -r "%{name}" Network IRCClient
%find_lang "%{name}" --with-man
%files
%doc AUTHORS.adoc ChangeLog.adoc Contributing.adoc
%doc README.adoc ReleaseNotes.adoc
%license COPYING
%{_bindir}/weechat-curses
%{_bindir}/weechat-headless
%{_bindir}/weechat
%dir %{_libdir}/weechat
%dir %{_libdir}/weechat/plugins
%{_libdir}/weechat/plugins/alias.so
%{_libdir}/weechat/plugins/buflist.so
%{_libdir}/weechat/plugins/charset.so
%{_libdir}/weechat/plugins/exec.so
%{_libdir}/weechat/plugins/fifo.so
%{_libdir}/weechat/plugins/irc.so
%{_libdir}/weechat/plugins/logger.so
%{_libdir}/weechat/plugins/relay.so
%{_libdir}/weechat/plugins/script.so
%{_libdir}/weechat/plugins/trigger.so
%{_libdir}/weechat/plugins/xfer.so
%{_libdir}/weechat/plugins/fset.so
%{_datadir}/applications/weechat.desktop
%{_datadir}/icons/hicolor/*/apps/weechat.png
%files -f "%{name}.lang" lang
%files devel
%{_includedir}/weechat
%{_libdir}/pkgconfig/weechat.pc
%files lua
%{_libdir}/weechat/plugins/lua.so
%files perl
%{_libdir}/weechat/plugins/perl.so
%files python
%{_libdir}/weechat/plugins/python.so
%files tcl
%{_libdir}/weechat/plugins/tcl.so
%files ruby
%{_libdir}/weechat/plugins/ruby.so
%files spell
%{_libdir}/weechat/plugins/spell.so
%changelog