diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/palemoon')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix new file mode 100644 index 000000000000..0d863ae91314 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix @@ -0,0 +1,122 @@ +{ stdenv, fetchFromGitHub, makeDesktopItem +, pkgconfig, autoconf213, alsaLib, bzip2, cairo +, dbus, dbus-glib, file, fontconfig, freetype +, gstreamer, gst-plugins-base, gst_all_1 +, gtk2, hunspell, icu, libevent, libjpeg, libnotify +, libstartup_notification, libvpx, makeWrapper, libGLU_combined +, nspr, nss, pango, perl, python, libpulseaudio, sqlite +, unzip, xorg, which, yasm, zip, zlib +}: + +stdenv.mkDerivation rec { + name = "palemoon-${version}"; + version = "27.9.4"; + + src = fetchFromGitHub { + name = "palemoon-src"; + owner = "MoonchildProductions"; + repo = "Pale-Moon"; + rev = version + "_Release"; + sha256 = "0ir5gzhw98gfn15x58g1fwi11jd7gysvacqxg1v0jdjhgdl4m5sx"; + }; + + desktopItem = makeDesktopItem { + name = "palemoon"; + exec = "palemoon %U"; + icon = "palemoon"; + desktopName = "Pale Moon"; + genericName = "Web Browser"; + categories = "Application;Network;WebBrowser;"; + mimeType = stdenv.lib.concatStringsSep ";" [ + "text/html" + "text/xml" + "application/xhtml+xml" + "application/vnd.mozilla.xul+xml" + "x-scheme-handler/http" + "x-scheme-handler/https" + "x-scheme-handler/ftp" + ]; + }; + + buildInputs = [ + alsaLib bzip2 cairo dbus dbus-glib file fontconfig freetype + gst-plugins-base gstreamer gst_all_1.gst-plugins-base gtk2 + hunspell icu libevent libjpeg libnotify libstartup_notification + libvpx makeWrapper libGLU_combined nspr nss pango perl pkgconfig python + libpulseaudio sqlite unzip which yasm zip zlib + ] ++ (with xorg; [ + libX11 libXext libXft libXi libXrender libXScrnSaver + libXt pixman xorgproto + ]); + + enableParallelBuilding = true; + + configurePhase = '' + export AUTOCONF=${autoconf213}/bin/autoconf + export MOZBUILD_STATE_PATH=$(pwd)/.mozbuild + export MOZ_CONFIG=$(pwd)/.mozconfig + export builddir=$(pwd)/build + mkdir -p $MOZBUILD_STATE_PATH $builddir + echo > $MOZ_CONFIG " + . $src/build/mozconfig.common + ac_add_options --prefix=$out + ac_add_options --with-pthreads + ac_add_options --enable-application=browser + ac_add_options --enable-official-branding + ac_add_options --enable-optimize="-O2" + ac_add_options --enable-release + ac_add_options --enable-devtools + ac_add_options --enable-jemalloc + ac_add_options --enable-shared-js + ac_add_options --enable-strip + ac_add_options --disable-tests + ac_add_options --disable-installer + ac_add_options --disable-updaters + " + ''; + + patchPhase = '' + chmod u+w . + ''; + + hardeningDisable = [ "format" ]; + + buildPhase = '' + cd $builddir + $src/mach build + ''; + + installPhase = '' + mkdir -p $out/share/applications + cp ${desktopItem}/share/applications/* $out/share/applications + + for n in 16 22 24 32 48 256; do + size=$n"x"$n + mkdir -p $out/share/icons/hicolor/$size/apps + cp $src/browser/branding/official/default$n.png \ + $out/share/icons/hicolor/$size/apps/palemoon.png + done + + cd $builddir + $src/mach install + ''; + + meta = with stdenv.lib; { + description = "A web browser"; + longDescription = '' + Pale Moon is an Open Source, Goanna-based web browser focusing on + efficiency and customization. + + Pale Moon offers you a browsing experience in a browser completely built + from its own, independently developed source that has been forked off from + Firefox/Mozilla code a number of years ago, with carefully selected + features and optimizations to improve the browser's stability and user + experience, while offering full customization and a growing collection of + extensions and themes to make the browser truly your own. + ''; + homepage = https://www.palemoon.org/; + license = licenses.mpl20; + maintainers = with maintainers; [ rnhmjoj AndersonTorres ]; + platforms = platforms.linux; + }; +} |