anchor.diff:      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 \
  +      cp $src/palemoon/branding/official/default$n.png \
            $out/share/icons/hicolor/$size/apps/palemoon.png
       done
   
  
positive.code:     ];
    };
  
    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
  
negative.code: { stdenv, lib, fetchgit, 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, python2, libpulseaudio
  , unzip, xorg, wget, which, yasm, zip, zlib
  
  , withGTK3 ? false, gtk3
  }:
  
  let
  
    libPath = lib.makeLibraryPath [ ffmpeg ];
    gtkVersion = if withGTK3 then "3" else "2";
  
  in stdenv.mkDerivation rec {
    pname = "palemoon";
    version = "28.9.1";
  
    src = fetchgit {
      url = "https://github.com/MoonchildProductions/Pale-Moon.git";
      rev = "${version}_Release";
      sha256 = "1772by9r9l1l0wmj4hs89r3zyckcbrq1krb09bn3pxvjjywzvkfl";
      fetchSubmodules = true;
    };
  
    desktopItem = makeDesktopItem {
  