diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix index b22a35bc54f..9f2eda4c3ba 100644 --- a/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix @@ -1,6 +1,6 @@ -{ stdenv, lib, fetchgit, makeDesktopItem +{ stdenv, lib, fetchFromGitHub, writeScript, desktop-file-utils , pkgconfig, autoconf213, alsaLib, bzip2, cairo -, dbus, dbus-glib, ffmpeg, file, fontconfig, freetype +, dbus, dbus-glib, ffmpeg_3, file, fontconfig, freetype , gnome2, gnum4, gtk2, hunspell, libevent, libjpeg , libnotify, libstartup_notification, makeWrapper , libGLU, libGL, perl, python2, libpulseaudio @@ -11,44 +11,42 @@ let - libPath = lib.makeLibraryPath [ ffmpeg ]; + libPath = lib.makeLibraryPath [ ffmpeg_3 libpulseaudio ]; gtkVersion = if withGTK3 then "3" else "2"; in stdenv.mkDerivation rec { pname = "palemoon"; - version = "28.9.1"; + version = "28.13.0"; - src = fetchgit { - url = "https://github.com/MoonchildProductions/Pale-Moon.git"; + src = fetchFromGitHub { + owner = "MoonchildProductions"; + repo = "Pale-Moon"; rev = "${version}_Release"; - sha256 = "1772by9r9l1l0wmj4hs89r3zyckcbrq1krb09bn3pxvjjywzvkfl"; + sha256 = "1lza6239kb32wnwd9cwddn11npg1qx7p69l7qy63h9c59w29iypa"; fetchSubmodules = true; }; - desktopItem = makeDesktopItem { - name = "palemoon"; - exec = "palemoon %U"; - icon = "palemoon"; - desktopName = "Pale Moon"; - genericName = "Web Browser"; - categories = "Application;Network;WebBrowser;"; - mimeType = 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" - ]; - }; + passthru.updateScript = writeScript "update-${pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts curl libxml2 + + set -eu -o pipefail + + # Only release note announcement == finalized release + version="$( + curl -s 'http://www.palemoon.org/releasenotes.shtml' | + xmllint --html --xpath 'html/body/table/tbody/tr/td/h3/text()' - 2>/dev/null | head -n1 | + sed 's/v\(\S*\).*/\1/' + )" + update-source-version ${pname} "$version" + ''; nativeBuildInputs = [ - file gnum4 makeWrapper perl pkgconfig python2 wget which + desktop-file-utils file gnum4 makeWrapper perl pkgconfig python2 wget which ]; buildInputs = [ - alsaLib bzip2 cairo dbus dbus-glib ffmpeg fontconfig freetype + alsaLib bzip2 cairo dbus dbus-glib ffmpeg_3 fontconfig freetype gnome2.GConf gtk2 hunspell libevent libjpeg libnotify libstartup_notification libGLU libGL libpulseaudio unzip yasm zip zlib @@ -90,12 +88,16 @@ in stdenv.mkDerivation rec { ac_add_options --disable-debug ac_add_options --disable-necko-wifi ac_add_options --disable-updater + ac_add_options --with-pthreads # 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 + # For versions after 28.12.0 + ac_add_options --enable-phoenix-extensions + ac_add_options --x-libraries=${lib.makeLibraryPath [ xorg.libX11 ]} export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION @@ -106,7 +108,7 @@ in stdenv.mkDerivation rec { ac_add_options --prefix=$out - mk_add_options MOZ_MAKE_FLAGS="-j$NIX_BUILD_CORES" + mk_add_options MOZ_MAKE_FLAGS="-j${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"}" mk_add_options AUTOCONF=${autoconf213}/bin/autoconf ' ''; @@ -116,14 +118,13 @@ in stdenv.mkDerivation rec { installPhase = '' $src/mach install - mkdir -p $out/share/applications - cp ${desktopItem}/share/applications/* $out/share/applications + desktop-file-install --dir=$out/share/applications \ + $src/palemoon/branding/official/palemoon.desktop - for n in 16 22 24 32 48 256; do + for iconname in default{16,22,24,32,48,256} mozicon128; do + n=''${iconname//[^0-9]/} size=$n"x"$n - mkdir -p $out/share/icons/hicolor/$size/apps - cp $src/palemoon/branding/official/default$n.png \ - $out/share/icons/hicolor/$size/apps/palemoon.png + install -Dm644 $src/palemoon/branding/official/$iconname.png $out/share/icons/hicolor/$size/apps/palemoon.png done wrapProgram $out/lib/palemoon-${version}/palemoon \ |