-# TODO: consider lua51
-
+#
# Conditional build:
-%bcond_with gnutls # Enable GNUTLS SSL support (disables openssl)
-%bcond_with lzma # Enable lzma support
-%bcond_with python # Enable Python scripting support
-%bcond_with ruby # Enable (experimental) Ruby scripting support
-%bcond_with smb # Enable smb protocol support (smb requires libsmbclient)
-#The latest libsmbclient is GPLv3, while ELinks is GPL v2 only.
-%bcond_with verbose # verbose build (V=1)
+# - protocols
+%bcond_without bittorrent # BitTorrent protocol support
+%bcond_without fsp # FSP support
+%bcond_without idn # Internation Domain Names support
+%bcond_without ipv6 # IPv6 support
+%bcond_with smb # smb protocol support (non-distib: recent libsmbclient is GPL v3)
+%bcond_with gnutls # GNUTLS-based SSL support (instead of openssl)
+%bcond_without openssl # OpenSSL-based SSL support
+# - content
+%bcond_without cgi # Local CGI support
+%bcond_without brotli # Brotli compression support
+%bcond_without js # experimental (yet quite usable) JavaScript support (using quickjs)
+%bcond_with lzma # LZMA support (old API, incompatible with xz-libs)
+%bcond_without zstd # zstd compression support
+# - scripting
+%bcond_with guile # Guile scripting support (non-distrib: guile 2 is LGPL v3+)
+%bcond_without lua # Lua scripting
+%bcond_with perl # Perl scripting
+%bcond_with python # Python scripting support
+%bcond_with ruby # (experimental) Ruby scripting support
+# - display and UI
+%bcond_without 256 # 256 colors support
+%bcond_without led # LEDs
+%bcond_without truecolor # true color
%bcond_with x # Use the X Window System
-%bcond_without 256 # Disable 256 colors support
-%bcond_without bittorrent # Disable BitTorrent support
-%bcond_without cgi # Disable Local CGI support
-%bcond_without fsp # Disable FSP support
-%bcond_without guile # Disable Guile scripting
-%bcond_without idn # Disable Internation Domain Names support
-%bcond_without ipv6 # Disable IPv6 support
-%bcond_without js # Disable experimental (yet quite usable) JavaScript support (using SpiderMonkey)
-%bcond_without led # Disable LEDs
-%bcond_without lua # Disable Lua scripting
-%bcond_without openssl # Disable OpenSSL support
-%bcond_without perl # Disable Perl scripting
-%bcond_with olderisbetter # variuos pre-0.10.0 behaviour rules (typeahead and esc-esc)
+# - misc
+%bcond_without verbose # verbose build (V=1)
%if %{with gnutls}
%undefine with_openssl
Summary(pl.UTF-8): Eksperymentalny Links (tekstowa przeglądarka WWW)
Summary(pt_BR.UTF-8): O links é um browser para modo texto, similar ao lynx
Name: elinks
-Version: 0.13
-Release: 2
+Version: 0.15.0
+Release: 1
Epoch: 1
License: GPL v2
Group: Applications/Networking
-# github gives different archive on each download
-# http://www.elinks.cz/download/%{name}-current-%{version}.tar.bz2
-Source0: %{name}-current-%{version}.tar.bz2
-# Source0-md5: efc9918d90cb03a4d1c4d36ef1c36101
+Source0: https://github.com/rkd77/elinks/releases/download/v%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: 8fe2e81d2cea75f57cd3cf9bdda6821b
Source1: %{name}.desktop
Source2: links.png
-Patch0: %{name}-home_etc.patch
-Patch1: %{name}-lua40.patch
-Patch2: %{name}-date-format.patch
-Patch3: %{name}-old_incremental.patch
-Patch4: %{name}-0.10.0-0.9.3-typeahead-beginning.patch
-Patch5: %{name}-double-esc.patch
URL: http://www.elinks.cz/
BuildRequires: autoconf >= 2.61
BuildRequires: automake
BuildRequires: bzip2-devel
BuildRequires: expat-devel
%{?with_fsp:BuildRequires: fsplib-devel}
-#BuildRequires: gc-devel
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools
%{?with_gnutls:BuildRequires: gnutls-devel >= 1.2.5}
BuildRequires: gpm-devel
%{?with_guile:BuildRequires: guile-devel}
-#BuildRequires: heimdal-devel
-%{?with_js:BuildRequires: js185-devel}
+%{?with_js:BuildRequires: libxml++5-devel >= 5.0.1-2}
+%{?with_js:BuildRequires: quickjs-devel >= 20210327-2}
+%{?with_js:BuildRequires: sqlite3-devel}
+%{?with_brotli:BuildRequires: libbrotli-devel}
%{?with_idn:BuildRequires: libidn-devel}
%{?with_smb:BuildRequires: libsmbclient-devel}
-%{?with_lua:BuildRequires: lua50-devel}
+%{?with_lua:BuildRequires: lua53-devel}
%{?with_lzma:BuildRequires: lzma-devel}
+BuildRequires: meson
BuildRequires: ncurses-devel >= 5.1
%{?with_openssl:BuildRequires: openssl-devel >= 0.9.7d}
%{?with_perl:BuildRequires: perl-devel}
BuildRequires: pkgconfig
-%{?with_python:BuildRequires: python-devel}
+%{?with_python:BuildRequires: python3-devel}
%{?with_ruby:BuildRequires: ruby-devel}
+BuildRequires: sed
BuildRequires: tre-devel
BuildRequires: which
BuildRequires: zlib-devel
+%{?with_zstd:BuildRequires: zstd-devel}
Suggests: mailcap
Provides: webclient
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
keepalive.
%prep
-%setup -q -n %{name}-%{version}-20120604
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%if %{with olderisbetter}
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%endif
+%setup -q
%build
-%{__gettextize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%configure \
- %{?with_smb:--enable-smb} \
- --disable-no-root \
- %{!?debug:--enable-fastmem} \
- %{?debug:--enable-debug} \
- %{!?with_ipv6:--disable-ipv6} \
- %{?with_bittorrent:--enable-bittorrent} \
- %{?with_cgi:--enable-cgi} \
- --enable-finger \
- --enable-gopher \
- --enable-nntp \
- --enable-88-colors \
- %{?with_256:--enable-256-colors} \
- --enable-true-color \
- --enable-exmode \
- %{?with_fsp:--enable-fsp} \
- %{?with_leds:--enable-leds} \
- --enable-marks \
- --enable-html-highlight \
- %{!?with_idn:--without-idn} \
- %{?with_guile:--with-guile} \
- %{?with_perl:--with-perl} \
- %{!?with_lua:--without-lua} \
- %{?with_python:--with-python} \
- %{?with_ruby:--with-ruby} \
- %{!?with_js:--without-spidermonkey} \
- %{?with_gnutls:--with-gnutls} \
- %{!?with_openssl:--without-openssl} \
- --with%{!?with_x:out}-x \
- %{!?with_lzma:--without-lzma}
-# xterm -e is default, one might want to change it to
-# something else
-# --with-xterm="xterm -e"
-
-%{__make} %{?with_verbose:V=1}
+%meson build \
+ %{?with_bittorrent:-Dbittorrent=true} \
+ %{?with_cgi:-Dcgi=true} \
+ -D88-colors=true \
+ %{?with_256:-D256-colors=true} \
+ %{?with_truecolor:-Dtrue-color=true} \
+ -Dexmode=true \
+ %{?debug:-Ddebug=true} \
+ %{!?debug:-Dfastmem=true} \
+ -Dfinger=true \
+ %{?with_fsp:-Dfsp=true} \
+ -Dgemini=true \
+ -Dgettext=true \
+ -Dgopher=true \
+ -Dhtml-highlight=true \
+ %{!?with_ipv6:-Dipv6=false} \
+ %{?with_leds:-Dleds=true} \
+ -Dmarks=true \
+ -Dnntp=true \
+ -Dno-root=false \
+ %{?with_smb:-Dsmb=true} \
+ %{?with_brotli:-Dbrotli=true} \
+ %{?with_zstd:-Dzstd=true} \
+ %{?with_gnutls:-Dgnutls=true} \
+ %{?with_guile:-Dguile=true} \
+ %{!?with_idn:-Didn=false} \
+ %{?with_lua:-Dluapkg=lua5.3} \
+ %{?with_lzma:-Dlzma=true} \
+ %{?with_openssl:-Dopenssl=true} \
+ %{?with_perl:-Dperl=true} \
+ %{?with_python:-Dpython=true} \
+ %{?with_ruby:-Druby=true} \
+ %{?with_js:-Dquickjs=true} \
+ %{?with_x:-Dx=true}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
+%ninja_install -C build
+
install -d $RPM_BUILD_ROOT%{_desktopdir} \
$RPM_BUILD_ROOT%{_datadir}/%{name} \
$RPM_BUILD_ROOT{%{_sysconfdir},%{_pixmapsdir}}
-%{__make} install %{?with_verbose:V=1} \
- DESTDIR=$RPM_BUILD_ROOT
-
-rm $RPM_BUILD_ROOT%{_datadir}/locale/locale.alias
-
cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
%{?with_lua:install contrib/lua/*.lua $RPM_BUILD_ROOT%{_sysconfdir}}
+sed -i -e 's|bin/lua|bin/lua5.3|g' $RPM_BUILD_ROOT%{_sysconfdir}/*lua
%find_lang %{name}
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS BUGS ChangeLog NEWS README SITES TODO doc/html/*.html
+%doc AUTHORS BUGS ChangeLog NEWS README SITES TODO
%doc contrib/{keybind*,wipe-out-ssl*,lua/elinks-remote} contrib/conv/{*awk,*.pl,*.sh}
%attr(755,root,root) %{_bindir}/elinks
%{_mandir}/man1/elinks.1*