aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/palemoon/default.nix67
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 \