nixpkgs/pkgs/applications/misc/netsurf/browser/default.nix
2019-08-02 21:47:58 -04:00

84 lines
1.9 KiB
Nix

{ stdenv, fetchurl, pkgconfig, libpng, openssl, curl, gtk2, check, SDL
, libxml2, libidn, perl, nettools, perlPackages, xxd
, libXcursor, libXrandr, makeWrapper
, uilib ? "framebuffer"
, buildsystem
, nsgenbind
, libnsfb
, libwapcaplet
, libparserutils
, libcss
, libhubbub
, libdom
, libnsbmp
, libnsgif
, libnsutils
, libutf8proc
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
name = "netsurf-${version}";
version = "3.9";
# UI libs incldue Framebuffer, and gtk
src = fetchurl {
url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz";
sha256 = "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp";
};
nativeBuildInputs = [
pkgconfig
xxd
] ++ stdenv.lib.optionals (uilib == "gtk") [
wrapGAppsHook
];
buildInputs = [ libpng openssl curl gtk2 check libxml2 libidn perl
nettools perlPackages.HTMLParser libXcursor libXrandr makeWrapper SDL
buildsystem
nsgenbind
libnsfb
libwapcaplet
libparserutils
libcss
libhubbub
libdom
libnsbmp
libnsgif
libnsutils
libutf8proc
];
preConfigure = ''
cat <<EOF > Makefile.conf
override NETSURF_GTK_RESOURCES := $out/share/Netsurf/${uilib}/res
override NETSURF_USE_GRESOURCE := YES
EOF
'';
makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
"TARGET=${uilib}"
];
installPhase = ''
mkdir -p $out/bin $out/share/Netsurf/${uilib}
cmd=$(case "${uilib}" in framebuffer) echo nsfb;; gtk) echo nsgtk;; esac)
cp $cmd $out/bin/netsurf
wrapProgram $out/bin/netsurf --set NETSURFRES $out/share/Netsurf/${uilib}/res
tar -hcf - frontends/${uilib}/res | (cd $out/share/Netsurf/ && tar -xvpf -)
'';
meta = with stdenv.lib; {
homepage = http://www.netsurf-browser.org/;
description = "Free opensource web browser";
license = licenses.gpl2;
maintainers = [ maintainers.vrthra ];
platforms = platforms.linux;
};
}