diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix | 133 |
1 files changed, 133 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..21dd04610cda --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix @@ -0,0 +1,133 @@ +{ stdenv, fetchFromGitHub, makeDesktopItem +, pkgconfig, autoconf213, alsaLib, bzip2, cairo +, dbus, dbus-glib, ffmpeg, file, fontconfig, freetype +, gnome2, gnum4, gtk2, hunspell, libevent, libjpeg +, libnotify, libstartup_notification, makeWrapper +, libGLU, libGL, perl, python, libpulseaudio +, unzip, xorg, wget, which, yasm, zip, zlib +}: + +let + + libPath = stdenv.lib.makeLibraryPath [ ffmpeg ]; + +in stdenv.mkDerivation rec { + pname = "palemoon"; + version = "28.8.0"; + + src = fetchFromGitHub { + owner = "MoonchildProductions"; + repo = "UXP"; + rev = "PM${version}_Release"; + sha256 = "0swmwall8pyg905jnw6x1b6vcv92zb7ph3zqcymh4ay2liikh8c0"; + }; + + 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 ffmpeg file fontconfig freetype + gnome2.GConf gnum4 gtk2 hunspell libevent libjpeg libnotify + libstartup_notification makeWrapper libGLU libGL perl + pkgconfig python libpulseaudio unzip wget which yasm zip zlib + ] ++ (with xorg; [ + libX11 libXext libXft libXi libXrender libXScrnSaver + libXt pixman xorgproto + ]); + + enableParallelBuilding = true; + + configurePhase = '' + export MOZBUILD_STATE_PATH=$(pwd)/mozbuild + export MOZCONFIG=$(pwd)/mozconfig + export MOZ_NOSPAM=1 + export builddir=$(pwd)/pmbuild + + echo > $MOZCONFIG " + mk_add_options AUTOCLOBBER=1 + mk_add_options MOZ_OBJDIR=$builddir + ac_add_options --enable-application=palemoon + + ac_add_options --enable-optimize='-O2' + + # Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding. + ac_add_options --enable-official-branding + export MOZILLA_OFFICIAL=1 + + ac_add_options --enable-default-toolkit=cairo-gtk2 + ac_add_options --enable-jemalloc + ac_add_options --enable-strip + ac_add_options --with-pthreads + + ac_add_options --disable-tests + ac_add_options --disable-eme + ac_add_options --disable-parental-controls + ac_add_options --disable-accessibility + ac_add_options --disable-webrtc + ac_add_options --disable-gamepad + ac_add_options --disable-necko-wifi + ac_add_options --disable-updater + + ac_add_options --x-libraries=${xorg.libX11.out}/lib + + ac_add_options --prefix=$out + mk_add_options MOZ_MAKE_FLAGS='-j$NIX_BUILD_CORES' + mk_add_options AUTOCONF=${autoconf213}/bin/autoconf + " + ''; + + buildPhase = '' + $src/mach build + ''; + + installPhase = '' + $src/mach install + + 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/application/palemoon/branding/official/default$n.png \ + $out/share/icons/hicolor/$size/apps/palemoon.png + done + + wrapProgram $out/lib/palemoon-${version}/palemoon \ + --prefix LD_LIBRARY_PATH : "${libPath}" + ''; + + meta = with stdenv.lib; { + description = "An Open Source, Goanna-based web browser focusing on efficiency and customization"; + 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; [ AndersonTorres OPNA2608 ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} |