From d360a8d2f5f5f6cb252aab233ab320559c2b9b8b Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 21 Sep 2026 00:05:33 +0200 Subject: [PATCH 1/2] palemoon-gtk2-bin: Drop - Relies on GTK2 for full support of NPAPI plugins (which is enabled in the upstream build, so GTK2 must be present for the binary to launch) - Repos have been touched by AI, so I am uninterested in further maintaining this --- pkgs/by-name/pa/palemoon-gtk2-bin/package.nix | 7 ------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 pkgs/by-name/pa/palemoon-gtk2-bin/package.nix diff --git a/pkgs/by-name/pa/palemoon-gtk2-bin/package.nix b/pkgs/by-name/pa/palemoon-gtk2-bin/package.nix deleted file mode 100644 index 67f265c42e77..000000000000 --- a/pkgs/by-name/pa/palemoon-gtk2-bin/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - palemoon-bin, -}: - -palemoon-bin.override { - withGTK3 = false; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index bed0e256eb63..5ac0d84e4e9a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1970,6 +1970,7 @@ mapAliases { pacup = throw "'pacup' has been renamed to/replaced by 'perlPackages.pacup'"; # Converted to throw 2025-10-27 PageEdit = throw "'PageEdit' has been renamed to/replaced by 'pageedit'"; # Converted to throw 2025-10-27 pal = throw "pal has been removed, as it was broken"; # Added 2025-08-25 + palemoon-gtk2-bin = throw "'palemoon-gtk2-bin' has been removed, as it relies on to-be-removed GTK2 for full NPAPI support"; # Added 2026-09-21 pam_pgsql = pam-pgsql; # Added 2025-12-16 pangolin = throw "pangolin has been removed due to lack of maintenance"; # Added 2025-11-17 pangomm = throw "'pangomm' attribute has been removed from nixpkgs. Use a 'pangomm_*' attribute with an explicit ABI version instead."; # Added 2026-09-05 From c1e91886bf812389e7aa683a9bdefc3485b5f777 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 21 Sep 2026 00:06:49 +0200 Subject: [PATCH 2/2] palemoon-bin: Drop - Relies on GTK2 for full support of NPAPI plugins (which is enabled in the upstream build, so GTK2 must be present for the binary to launch) - Repos have been touched by AI, so I am uninterested in further maintaining this --- pkgs/by-name/pa/palemoon-bin/package.nix | 234 ------------------ .../pa/palemoon-bin/zz-disableUpdater.js | 7 - pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 241 deletions(-) delete mode 100644 pkgs/by-name/pa/palemoon-bin/package.nix delete mode 100644 pkgs/by-name/pa/palemoon-bin/zz-disableUpdater.js diff --git a/pkgs/by-name/pa/palemoon-bin/package.nix b/pkgs/by-name/pa/palemoon-bin/package.nix deleted file mode 100644 index 181ba7f2bc08..000000000000 --- a/pkgs/by-name/pa/palemoon-bin/package.nix +++ /dev/null @@ -1,234 +0,0 @@ -{ - stdenv, - lib, - fetchzip, - alsa-lib, - autoPatchelfHook, - copyDesktopItems, - # ffmpeg 7 not supported yet, results in MP4 playback being unavailable - # https://repo.palemoon.org/MoonchildProductions/UXP/issues/2523 - ffmpeg_6, - gtk2-x11, - withGTK3 ? true, - gtk3, - libglvnd, - libxt, - libpulseaudio, - makeDesktopItem, - wrapGAppsHook3, - writeScript, - testers, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "palemoon-bin"; - version = "34.3.2.1"; - - src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}"; - - preferLocalBuild = true; - - strictDeps = true; - - nativeBuildInputs = [ - autoPatchelfHook - copyDesktopItems - wrapGAppsHook3 - ]; - - buildInputs = [ - alsa-lib - gtk2-x11 - libxt - (lib.getLib stdenv.cc.cc) - ] - ++ lib.optionals withGTK3 [ - gtk3 - ]; - - desktopItems = [ - (makeDesktopItem { - name = "palemoon-bin"; - desktopName = "Pale Moon Web Browser"; - comment = "Browse the World Wide Web"; - keywords = [ - "Internet" - "WWW" - "Browser" - "Web" - "Explorer" - ]; - exec = "palemoon %u"; - terminal = false; - type = "Application"; - icon = "palemoon"; - categories = [ - "Network" - "WebBrowser" - ]; - mimeTypes = [ - "text/html" - "text/xml" - "application/xhtml+xml" - "application/xml" - "application/rss+xml" - "application/rdf+xml" - "image/gif" - "image/jpeg" - "image/png" - "x-scheme-handler/http" - "x-scheme-handler/https" - "x-scheme-handler/ftp" - "x-scheme-handler/chrome" - "video/webm" - "application/x-xpinstall" - ]; - startupNotify = true; - startupWMClass = "Pale moon"; - extraConfig = { - X-MultipleArgs = "false"; - }; - actions = { - "NewTab" = { - name = "Open new tab"; - exec = "palemoon -new-tab https://start.palemoon.org"; - }; - "NewWindow" = { - name = "Open new window"; - exec = "palemoon -new-window"; - }; - "NewPrivateWindow" = { - name = "Open new private window"; - exec = "palemoon -private-window"; - }; - "ProfileManager" = { - name = "Open the Profile Manager"; - exec = "palemoon --ProfileManager"; - }; - }; - }) - ]; - - dontConfigure = true; - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p $out/{bin,lib/palemoon} - cp -R * $out/lib/palemoon/ - - ln -s $out/{lib/palemoon,bin}/palemoon - - for iconpath in chrome/icons/default/default{16,32,48} icons/mozicon128; do - n=''${iconpath//[^0-9]/} - size=$n"x"$n - mkdir -p $out/share/icons/hicolor/$size/apps - ln -s $out/lib/palemoon/browser/"$iconpath".png $out/share/icons/hicolor/$size/apps/palemoon.png - done - - # Disable built-in updater - # https://forum.palemoon.org/viewtopic.php?f=5&t=25073&p=197771#p197747 - # > Please do not take this as permission to change, remove, or alter any other preferences as that is forbidden - # > without express permission according to the Pale Moon Redistribution License. - # > We are allowing this one and **ONLY** one exception in order to properly facilitate [package manager] repacks. - install -Dm644 ${./zz-disableUpdater.js} $out/lib/palemoon/browser/defaults/preferences/zz-disableUpdates.js - - runHook postInstall - ''; - - dontWrapGApps = true; - - preFixup = '' - # Make optional dependencies available - gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : "${ - lib.makeLibraryPath [ - ffmpeg_6 - libglvnd - libpulseaudio - ] - }" - ) - wrapGApp $out/lib/palemoon/palemoon - ''; - - passthru = { - sources = - let - urlRegionVariants = - buildVariant: - map - ( - region: - "https://rm-${region}.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-${buildVariant}.tar.xz" - ) - [ - "eu" - "us" - ]; - in - { - gtk3 = fetchzip { - urls = urlRegionVariants "gtk3"; - hash = "sha256-IjD3En6qNMeUWe4sX5eb2Y76pMlWDv/NOuQr3uKluiE="; - }; - gtk2 = fetchzip { - urls = urlRegionVariants "gtk2"; - hash = "sha256-o0vsOw1yxWURckqoq2rb9Acl6IyYenunEuy7Trb8VmM="; - }; - }; - - tests.version = testers.testVersion { - package = finalAttrs.finalPackage; - }; - - updateScript = writeScript "update-palemoon-bin" '' - #!/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/' - )" - - for variant in gtk3 gtk2; do - update-source-version palemoon-bin "$version" --ignore-same-version --source-key="sources.$variant" - done - ''; - }; - - meta = { - homepage = "https://www.palemoon.org/"; - description = "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. - ''; - changelog = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/${finalAttrs.version}_Release"; - license = [ - lib.licenses.mpl20 - { - fullName = "Pale Moon Redistribution License"; - url = "https://www.palemoon.org/redist.shtml"; - # TODO free, redistributable? Has strict limitations on what modifications may be done & shipped by packagers - } - ]; - maintainers = with lib.maintainers; [ OPNA2608 ]; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - mainProgram = "palemoon"; - platforms = [ "x86_64-linux" ]; - hydraPlatforms = [ ]; - }; -}) diff --git a/pkgs/by-name/pa/palemoon-bin/zz-disableUpdater.js b/pkgs/by-name/pa/palemoon-bin/zz-disableUpdater.js deleted file mode 100644 index 50b8a79f627a..000000000000 --- a/pkgs/by-name/pa/palemoon-bin/zz-disableUpdater.js +++ /dev/null @@ -1,7 +0,0 @@ -/* https://forum.palemoon.org/viewtopic.php?f=5&t=25073&p=197771#p197747 */ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -pref("app.update.enabled", false); diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5ac0d84e4e9a..94cc5b22a0dd 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1970,6 +1970,7 @@ mapAliases { pacup = throw "'pacup' has been renamed to/replaced by 'perlPackages.pacup'"; # Converted to throw 2025-10-27 PageEdit = throw "'PageEdit' has been renamed to/replaced by 'pageedit'"; # Converted to throw 2025-10-27 pal = throw "pal has been removed, as it was broken"; # Added 2025-08-25 + palemoon-bin = throw "'palemoon-bin' has been removed, as it relies on to-be-removed GTK2 for full NPAPI support"; # Added 2026-09-21 palemoon-gtk2-bin = throw "'palemoon-gtk2-bin' has been removed, as it relies on to-be-removed GTK2 for full NPAPI support"; # Added 2026-09-21 pam_pgsql = pam-pgsql; # Added 2025-12-16 pangolin = throw "pangolin has been removed due to lack of maintenance"; # Added 2025-11-17