-Summary: Light www browser
+#
+# Conditional build:
+%bcond_without gstreamer # GStreamer-based video support
+%bcond_without js # JavaScript support
+%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: 3.0
+Version: 3.2
Release: 2
-License: GPL v2
+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: 51b13676d5f012409e0aefc6404938f6
+Source0: http://download.netsurf-browser.org/netsurf/releases/source/%{name}-%{version}-src.tar.gz
+# Source0-md5: 8b49a31345e2902fd962fcc11a1eedc2
Source1: %{name}.desktop
-Patch0: scroll.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: libCSS-devel
-BuildRequires: libdom-devel
-BuildRequires: libglade2-devel
-BuildRequires: libhubbub-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
+%{?with_pdf:BuildRequires: libharu-devel}
+BuildRequires: libhubbub-devel >= 0.3.0
BuildRequires: libjpeg-devel
-BuildRequires: libmng-devel
-BuildRequires: libnsbmp-devel
-BuildRequires: libnsgif-devel
-BuildRequires: libparserutils-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: libsvgtiny-devel
-BuildRequires: libwapcaplet-devel
-BuildRequires: netsurf-buildsystem
-BuildRequires: nsgenbind
-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.
+
+%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.
-This is gtk version.
+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 is SDL version.
+This package contains 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 -n netsurf-full-%{version}
+%setup -q
%patch0 -p1
-#%patch1 -p1
+%patch1 -p1
%patch2 -p1
+%patch3 -p1
-cat << EOF > src/netsurf-3.0/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
+%if %{with gstreamer}
+# GStreamer 0.10 uses now deprecated glib mutex APIs
+%{__sed} -i -e '/-DG_DISABLE_DEPRECATED/d' gtk/Makefile.target
+%endif
+# gdk-pixbuf 2.31 deprecates GdkPixdata
+%{__sed} -i -e '/-DGDK_PIXBUF_DISABLE_DEPRECATED/d' gtk/Makefile.target
+
%build
-cd src/netsurf-%{version}
export CC="%{__cc}"
# while cxx not needed, somewhy it helps race condition on carme build
export CXX="%{__cxx}"
# 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"
+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
%install
-cd src/netsurf-%{version}
rm -rf $RPM_BUILD_ROOT
%{__make} install \
Q='' \
install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install nsfb $RPM_BUILD_ROOT/%{_bindir}
-install 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 src/netsurf-%{version}/README
+%doc COPYING README
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*