palemoon-bin: init at 32.0.0

OPNA2608 2bace3c8 358cece9

+188
+180
pkgs/applications/networking/browsers/palemoon/bin.nix
···
··· 1 + { stdenv 2 + , lib 3 + , fetchzip 4 + , alsa-lib 5 + , autoPatchelfHook 6 + , copyDesktopItems 7 + , dbus-glib 8 + , ffmpeg 9 + , gtk2-x11 10 + , withGTK3 ? true 11 + , gtk3 12 + , libXt 13 + , libpulseaudio 14 + , makeDesktopItem 15 + , wrapGAppsHook 16 + }: 17 + 18 + stdenv.mkDerivation rec { 19 + pname = "palemoon-bin"; 20 + version = "32.0.0"; 21 + 22 + src = fetchzip { 23 + url = "http://linux.palemoon.org/datastore/release/palemoon-${version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"; 24 + hash = if withGTK3 then 25 + "sha256-KipzrQEbwd3np3t2oTq2eHHLUPtnC/nnGYMGmFc7arw=" 26 + else 27 + "sha256-dbHGThzLx23Ws0nfGTEYrQp0g+hYwkk1bOczQwt4NYg="; 28 + }; 29 + 30 + preferLocalBuild = true; 31 + 32 + strictDeps = true; 33 + 34 + nativeBuildInputs = [ 35 + autoPatchelfHook 36 + copyDesktopItems 37 + wrapGAppsHook 38 + ]; 39 + 40 + buildInputs = [ 41 + alsa-lib 42 + dbus-glib 43 + gtk2-x11 44 + libXt 45 + stdenv.cc.cc.lib 46 + ] ++ lib.optionals withGTK3 [ 47 + gtk3 48 + ]; 49 + 50 + desktopItems = [(makeDesktopItem rec { 51 + name = pname; 52 + desktopName = "Pale Moon Web Browser"; 53 + comment = "Browse the World Wide Web"; 54 + keywords = [ 55 + "Internet" 56 + "WWW" 57 + "Browser" 58 + "Web" 59 + "Explorer" 60 + ]; 61 + exec = "palemoon %u"; 62 + terminal = false; 63 + type = "Application"; 64 + icon = "palemoon"; 65 + categories = [ 66 + "Network" 67 + "WebBrowser" 68 + ]; 69 + mimeTypes = [ 70 + "text/html" 71 + "text/xml" 72 + "application/xhtml+xml" 73 + "application/xml" 74 + "application/rss+xml" 75 + "application/rdf+xml" 76 + "image/gif" 77 + "image/jpeg" 78 + "image/png" 79 + "x-scheme-handler/http" 80 + "x-scheme-handler/https" 81 + "x-scheme-handler/ftp" 82 + "x-scheme-handler/chrome" 83 + "video/webm" 84 + "application/x-xpinstall" 85 + ]; 86 + startupNotify = true; 87 + startupWMClass = "Pale moon"; 88 + extraConfig = { 89 + X-MultipleArgs = "false"; 90 + }; 91 + actions = { 92 + "NewTab" = { 93 + name = "Open new tab"; 94 + exec = "palemoon -new-tab https://start.palemoon.org"; 95 + }; 96 + "NewWindow" = { 97 + name = "Open new window"; 98 + exec = "palemoon -new-window"; 99 + }; 100 + "NewPrivateWindow" = { 101 + name = "Open new private window"; 102 + exec = "palemoon -private-window"; 103 + }; 104 + "ProfileManager" = { 105 + name = "Open the Profile Manager"; 106 + exec = "palemoon --ProfileManager"; 107 + }; 108 + }; 109 + })]; 110 + 111 + dontConfigure = true; 112 + dontBuild = true; 113 + 114 + installPhase = '' 115 + runHook preInstall 116 + 117 + mkdir -p $out/{bin,lib/palemoon} 118 + cp -R * $out/lib/palemoon/ 119 + 120 + ln -s $out/{lib/palemoon,bin}/palemoon 121 + 122 + for iconpath in chrome/icons/default/default{16,32,48} icons/mozicon128; do 123 + n=''${iconpath//[^0-9]/} 124 + size=$n"x"$n 125 + mkdir -p $out/share/icons/hicolor/$size/apps 126 + ln -s $out/lib/palemoon/browser/"$iconpath".png $out/share/icons/hicolor/$size/apps/palemoon.png 127 + done 128 + 129 + # Disable built-in updater 130 + # https://forum.palemoon.org/viewtopic.php?f=5&t=25073&p=197771#p197747 131 + # > Please do not take this as permission to change, remove, or alter any other preferences as that is forbidden 132 + # > without express permission according to the Pale Moon Redistribution License. 133 + # > We are allowing this one and **ONLY** one exception in order to properly facilitate [package manager] repacks. 134 + install -Dm644 ${./zz-disableUpdater.js} $out/lib/palemoon/browser/defaults/preferences/zz-disableUpdates.js 135 + 136 + runHook postInstall 137 + ''; 138 + 139 + dontWrapGApps = true; 140 + 141 + preFixup = '' 142 + # Make optional dependencies available 143 + gappsWrapperArgs+=( 144 + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ 145 + ffmpeg 146 + libpulseaudio 147 + ]}" 148 + ) 149 + wrapGApp $out/lib/palemoon/palemoon 150 + ''; 151 + 152 + meta = with lib; { 153 + homepage = "https://www.palemoon.org/"; 154 + description = "An Open Source, Goanna-based web browser focusing on efficiency and customization"; 155 + longDescription = '' 156 + Pale Moon is an Open Source, Goanna-based web browser focusing on 157 + efficiency and customization. 158 + Pale Moon offers you a browsing experience in a browser completely built 159 + from its own, independently developed source that has been forked off from 160 + Firefox/Mozilla code a number of years ago, with carefully selected 161 + features and optimizations to improve the browser's stability and user 162 + experience, while offering full customization and a growing collection of 163 + extensions and themes to make the browser truly your own. 164 + ''; 165 + changelog = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/${version}_Release"; 166 + license = [ 167 + licenses.mpl20 168 + { 169 + fullName = "Pale Moon Redistribution License"; 170 + url = "https://www.palemoon.org/redist.shtml"; 171 + # TODO free, redistributable? Has strict limitations on what modifications may be done & shipped by packagers 172 + } 173 + ]; 174 + maintainers = with maintainers; [ AndersonTorres OPNA2608 ]; 175 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 176 + mainProgram = "palemoon"; 177 + platforms = [ "x86_64-linux" ]; 178 + hydraPlatforms = []; 179 + }; 180 + }
+7
pkgs/applications/networking/browsers/palemoon/zz-disableUpdater.js
···
··· 1 + /* https://forum.palemoon.org/viewtopic.php?f=5&t=25073&p=197771#p197747 */ 2 + 3 + /* This Source Code Form is subject to the terms of the Mozilla Public 4 + * License, v. 2.0. If a copy of the MPL was not distributed with this 5 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 + 7 + pref("app.update.enabled", false);
+1
pkgs/top-level/all-packages.nix
··· 32089 osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; 32090 32091 palemoon = callPackage ../applications/networking/browsers/palemoon { }; 32092 32093 pamix = callPackage ../applications/audio/pamix { }; 32094
··· 32089 osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; 32090 32091 palemoon = callPackage ../applications/networking/browsers/palemoon { }; 32092 + palemoon-bin = callPackage ../applications/networking/browsers/palemoon/bin.nix { }; 32093 32094 pamix = callPackage ../applications/audio/pamix { }; 32095