-Summary: Light www browser
+#
+# Conditional build:
+%bcond_without gstreamer # GStreamer-based video support
+%bcond_without js # Javascript
+%bcond_with pdf # PDF export and GTK+ printing support via libharu [needs update?]
+%bcond_without webp # WebP image support
+#
+Summary: Light WWW browser with CSS support
+Summary(pl.UTF-8): Lekka przeglądarka WWW z obsługą CSS
Name: netsurf
-Version: 2.9
-Release: 1
-License: GPL v2
+Version: 3.2
+Release: 2
+License: GPL v2 with OpenSSL exception (code), MIT (artwork)
Group: Applications/Networking
-Source0: http://download.netsurf-browser.org/netsurf/releases/source-full/%{name}-%{version}-full-src.tar.gz
-# Source0-md5: cfc2789997b356f2ea9d9f7694c4c909
+Source0: http://download.netsurf-browser.org/netsurf/releases/source/%{name}-%{version}-src.tar.gz
+# Source0-md5: 8b49a31345e2902fd962fcc11a1eedc2
Source1: %{name}.desktop
-Patch0: enable-nsfb.patch
-Patch1: libnsfb-xcb-fix.patch
-Patch2: nsfb-F10-exit.patch
+Patch0: nsfb-ldflags.patch
+Patch1: %{name}-link.patch
+Patch2: no-Werror.patch
+Patch3: optflags.patch
URL: http://netsurf-browser.org/
-BuildRequires: SDL-devel
BuildRequires: curl-devel
-BuildRequires: freetype-devel
+BuildRequires: freetype-devel >= 2
+%{?with_gstreamer:BuildRequires: gstreamer0.10-devel >= 0.10}
+BuildRequires: gtk+2-devel >= 2.0
+%{?with_js:BuildRequires: js185-devel}
+BuildRequires: libCSS-devel >= 0.4.0
+BuildRequires: libdom-devel >= 0.1.1
BuildRequires: libglade2-devel
+%{?with_pdf:BuildRequires: libharu-devel}
+BuildRequires: libhubbub-devel >= 0.3.0
BuildRequires: libjpeg-devel
-BuildRequires: libmng-devel
+BuildRequires: libnsbmp-devel >= 0.1.1
+BuildRequires: libnsfb-devel >= 0.1.2
+BuildRequires: libnsgif-devel >= 0.1.1
+BuildRequires: libparserutils-devel >= 0.2.0
BuildRequires: libpng-devel
BuildRequires: librsvg-devel
-BuildRequires: perl-base
+BuildRequires: libsvgtiny-devel >= 0.1.2
+BuildRequires: libwapcaplet-devel >= 0.2.1
+%{?with_webp:BuildRequires: libwebp-devel}
+BuildRequires: openssl-devel
+BuildRequires: netsurf-buildsystem >= 1.2
+BuildRequires: nsgenbind >= 0.1.1
+BuildRequires: perl-HTML-Parser
BuildRequires: pkgconfig
+BuildRequires: sed >= 4.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Small web browser with CSS support. NetSurf is a multi-platform
-lightweight web browser. Its aim is to provide comprehensive rendering
-of HTML 5 with CSS 2 in a small resource footprint while remaining
-fast.
+NetSurf is a multi-platform lightweight web browser. Its aim is to
+provide comprehensive rendering of HTML 5 with CSS 2 in a small
+resource footprint while remaining fast.
+
+%description -l pl.UTF-8
+NetSurf to wieloplatformowa, lekka przeglądarka WWW. Celem jest
+zapewnienie kompletnego renderowania HTML 5 z CSS 2 przy małym
+wykorzystanie zasobów, z zachowaniem dużej szybkości.
%package common
-Summary: netsurf - common files
-Summary(pl.UTF-8): netsurf - pliki wspólne
-License: GPL v2
+Summary: NetSurf - common files
+Summary(pl.UTF-8): NetSurf - pliki wspólne
Group: Applications/Networking
%description common
-netsurf - common files.
+NetSurf - common files.
%description common -l pl.UTF-8
-netsurf - wspólne pliki.
+NetSurf - wspólne pliki.
%package gtk
-Summary: netsurf browser gtk version
-Summary(pl.UTF-8): Wersja gtk netsurfa
-License: GPL v2
+Summary: NetSurf web browser - GTK+ version
+Summary(pl.UTF-8): Wersja GTK+ przeglądarki WWW NetSurf
Group: Applications/Networking
Requires: %{name}-common = %{version}-%{release}
+Requires: libCSS >= 0.4.0
+Requires: libdom >= 0.1.1
+Requires: libhubbub >= 0.3.0
+Requires: libnsbmp >= 0.1.1
+Requires: libnsgif >= 0.1.1
+Requires: libparserutils >= 0.2.0
+Requires: libsvgtiny >= 0.1.2
+Requires: libwapcaplet >= 0.2.1
%description gtk
-Small web browser with CSS support. NetSurf is a multi-platform
-lightweight web browser. Its aim is to provide comprehensive rendering
-of HTML 5 with CSS 2 in a small resource footprint while remaining
-fast.
+NetSurf is a multi-platform lightweight web browser. Its aim is to
+provide comprehensive rendering of HTML 5 with CSS 2 in a small
+resource footprint while remaining fast.
+
+This package contains GTK+ version.
-This is gtk version.
+%description gtk -l pl.UTF-8
+NetSurf to wieloplatformowa, lekka przeglądarka WWW. Celem jest
+zapewnienie kompletnego renderowania HTML 5 z CSS 2 przy małym
+wykorzystanie zasobów, z zachowaniem dużej szybkości.
+
+Ten pakiet zawiera wersję GTK+.
%package sdl
-Summary: netsurf browser SDL version
-Summary(pl.UTF-8): Wersja SDL netsurfa
-License: GPL v2
+Summary: NetSurf web browser - SDL version
+Summary(pl.UTF-8): Wersja SDL przeglądarki WWW NetSurf
Group: Applications/Networking
Requires: %{name}-common = %{version}-%{release}
+Requires: libCSS >= 0.4.0
+Requires: libdom >= 0.1.1
+Requires: libhubbub >= 0.3.0
+Requires: libnsbmp >= 0.1.1
+Requires: libnsfb >= 0.1.2
+Requires: libnsgif >= 0.1.1
+Requires: libparserutils >= 0.2.0
+Requires: libsvgtiny >= 0.1.2
+Requires: libwapcaplet >= 0.2.1
%description sdl
-Small web browser with CSS support. NetSurf is a multi-platform
-lightweight web browser. Its aim is to provide comprehensive rendering
-of HTML 5 with CSS 2 in a small resource footprint while remaining
-fast.
+NetSurf is a multi-platform lightweight web browser. Its aim is to
+provide comprehensive rendering of HTML 5 with CSS 2 in a small
+resource footprint while remaining fast.
+
+This package contains SDL version.
-This is SDL version.
+%description sdl -l pl.UTF-8
+NetSurf to wieloplatformowa, lekka przeglądarka WWW. Celem jest
+zapewnienie kompletnego renderowania HTML 5 z CSS 2 przy małym
+wykorzystanie zasobów, z zachowaniem dużej szybkości.
+
+Ten pakiet zawiera wersję SDL.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
-cat << EOF > netsurf-2.9/Makefile.config
+cat << EOF > Makefile.config
NETSURF_FB_FONTLIB := freetype
NETSURF_FB_FONTPATH := %{_datadir}/fonts/TTF
+NETSURF_USE_NSSVG := YES
+NETSURF_USE_RSVG := YES
+%{?with_webp:NETSURF_USE_WEBP := YES}
+%{?with_gstreamer:NETSURF_USE_VIDEO := YES}
+%{?with_pdf:NETSURF_USE_HARU_PDF := YES}
+# js185
+%if %{with js}
+NETSURF_USE_MOZJS := YES
+%else
+NETSURF_USE_MOZJS := NO
+%endif
+# xulrunner
+NETSURF_USE_JS := NO
EOF
-%build
-# make -j1 or it won't find libwapcaplet/libwapcaplet.h
+%if %{with gstreamer}
+# GStreamer 0.10 uses now deprecated glib mutex APIs
+%{__sed} -i -e '/-DG_DISABLE_DEPRECATED/d' gtk/Makefile.target
+%endif
-#-werror's:
-#src/surface/vnc.c: In function 'vnc_input':
-#src/surface/vnc.c:489:9: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
+%build
export CC="%{__cc}"
+# while cxx not needed, somewhy it helps race condition on carme build
export CXX="%{__cxx}"
-export CFLAGS="%{rpmcflags} -Wno-error=unused-but-set-variable"
+# silence -Werror:
+#src/surface/vnc.c: In function 'vnc_input':
+#src/surface/vnc.c:489:9: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
+export CFLAGS="%{rpmcflags} -Wno-error=unused-but-set-variable -D_GNU_SOURCE"
+export CXXFLAGS="%{rpmcxxflags} -Wno-error=unused-but-set-variable -D_GNU_SOURCE"
export LDFLAGS="%{rpmldflags}"
+# make -j1 or it won't find libwapcaplet/libwapcaplet.h
+
%{__make} -j1 \
+ OPTFLAGS="%{rpmcflags} -Wno-error=unused-but-set-variable -D_GNU_SOURCE" \
+ OPTLDFLAGS="%{rpmldflags}" \
PREFIX=%{_prefix} \
Q='' \
TARGET=gtk
%{__make} -j1 \
+ OPTFLAGS="%{rpmcflags} -Wno-error=unused-but-set-variable -D_GNU_SOURCE" \
+ OPTLDFLAGS="%{rpmldflags}" \
PREFIX=%{_prefix} \
Q='' \
TARGET=framebuffer
DESTDIR=$RPM_BUILD_ROOT
# this is binary from last "make install", we install more specific binary ourself
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/netsurf
+%{__rm} -f $RPM_BUILD_ROOT%{_bindir}/netsurf
install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install -p netsurf-2.9/nsfb $RPM_BUILD_ROOT/%{_bindir}
-install -p netsurf-2.9/nsgtk $RPM_BUILD_ROOT/%{_bindir}
+install nsfb $RPM_BUILD_ROOT%{_bindir}
+install nsgtk $RPM_BUILD_ROOT%{_bindir}
%clean
rm -rf $RPM_BUILD_ROOT
%files common
%defattr(644,root,root,755)
-%doc netsurf-2.9/ChangeLog netsurf-2.9/README
+%doc COPYING README
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*