From 9f3b538371f72a41ffaf3ac3f71bd0512b85123b Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Thu, 18 May 2023 08:44:19 +0200 Subject: [PATCH] palemoon: Drop It has Python 2.x as a build-time dependency, which has been EOL for years and was finally marked as insecure in https://github.com/NixOS/nixpkgs/pull/201859. As such, it has been unbuildable on master without enabling insecure packages for almost half a year. Upstream has no plans to migrate their build system away from py2 (though they might accept help with it), so we'll have to drop it: https://forum.palemoon.org/viewtopic.php?f=62&t=28863&p=232152 --- .../networking/browsers/palemoon/default.nix | 222 ------------------ .../networking/browsers/palemoon/mozconfig | 49 ---- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 1 - 4 files changed, 1 insertion(+), 272 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/palemoon/default.nix delete mode 100644 pkgs/applications/networking/browsers/palemoon/mozconfig diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix deleted file mode 100644 index bc4d5afc7d310..0000000000000 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ /dev/null @@ -1,222 +0,0 @@ -{ lib -, stdenv -, alsa-lib -, autoconf213 -, cairo -, dbus -, dbus-glib -, desktop-file-utils -, fetchFromGitea -, ffmpeg -, fontconfig -, freetype -, gnome2 -, gnum4 -, libGL -, libGLU -, libevent -, libnotify -, libpulseaudio -, libstartup_notification -, pango -, perl -, pkg-config -, python2 -, unzip -, which -, wrapGAppsHook -, writeScript -, xorg -, yasm -, zip -, zlib -, withGTK3 ? true, gtk3, gtk2 -, testers -, palemoon -}: - -# Only specific GCC versions are supported with branding -# https://developer.palemoon.org/build/linux/ -assert stdenv.cc.isGNU; -assert with lib.strings; ( - versionAtLeast stdenv.cc.version "7.1" - && versionOlder stdenv.cc.version "13" -); - -stdenv.mkDerivation rec { - pname = "palemoon"; - version = "32.2.0"; - - src = fetchFromGitea { - domain = "repo.palemoon.org"; - owner = "MoonchildProductions"; - repo = "Pale-Moon"; - rev = "${version}_Release"; - fetchSubmodules = true; - sha256 = "sha256-ftY3xSvpAdjnoPsNNL+XyVD6hFPRmReLyrYT5pqSNho="; - }; - - nativeBuildInputs = [ - autoconf213 - desktop-file-utils - gnum4 - perl - pkg-config - python2 - unzip - which - wrapGAppsHook - yasm - zip - ]; - - buildInputs = [ - alsa-lib - cairo - dbus - dbus-glib - ffmpeg - fontconfig - freetype - gnome2.GConf - gtk2 - libGL - libGLU - libevent - libnotify - libpulseaudio - libstartup_notification - pango - zlib - ] - ++ (with xorg; [ - libX11 - libXext - libXft - libXi - libXrender - libXScrnSaver - libXt - pixman - xorgproto - ]) - ++ lib.optionals withGTK3 [ - gtk3 - ]; - - enableParallelBuilding = true; - - postPatch = '' - patchShebangs ./mach - ''; - - configurePhase = '' - runHook preConfigure - - # Too many cores can lead to build flakiness - # https://forum.palemoon.org/viewtopic.php?f=5&t=28480 - export jobs=$(($NIX_BUILD_CORES<=16 ? $NIX_BUILD_CORES : 16)) - if [ -z "$enableParallelBuilding" ]; then - jobs=1 - fi - - export MOZCONFIG=$PWD/mozconfig - export MOZ_NOSPAM=1 - - export build64=${lib.optionalString stdenv.hostPlatform.is64bit "1"} - export gtkversion=${if withGTK3 then "3" else "2"} - export xlibs=${lib.makeLibraryPath [ xorg.libX11 ]} - export prefix=$out - export mozmakeflags="-j$jobs" - export autoconf=${autoconf213}/bin/autoconf - - substituteAll ${./mozconfig} $MOZCONFIG - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - ./mach build - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - ./mach install - - # Install official branding stuff - desktop-file-install --dir=$out/share/applications \ - ./palemoon/branding/official/palemoon.desktop - for iconname in default{16,22,24,32,48,256} mozicon128; do - n=''${iconname//[^0-9]/} - size=$n"x"$n - install -Dm644 ./palemoon/branding/official/$iconname.png $out/share/icons/hicolor/$size/apps/palemoon.png - done - - # Remove unneeded SDK data from installation - # https://forum.palemoon.org/viewtopic.php?f=37&t=26796&p=214676#p214729 - rm -r $out/{include,share/idl,lib/palemoon-devel-${version}} - - runHook postInstall - ''; - - dontWrapGApps = true; - - preFixup = - let - libPath = lib.makeLibraryPath [ - ffmpeg - libpulseaudio - ]; - in - '' - gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH : "${libPath}" - ) - wrapGApp $out/lib/palemoon-${version}/palemoon - ''; - - meta = with lib; { - homepage = "https://www.palemoon.org/"; - description = "An 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/${version}_Release"; - license = licenses.mpl20; - maintainers = with maintainers; [ AndersonTorres OPNA2608 ]; - platforms = [ "i686-linux" "x86_64-linux" ]; - }; - - 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" - ''; - tests.version = testers.testVersion { - package = palemoon; - }; - }; -} diff --git a/pkgs/applications/networking/browsers/palemoon/mozconfig b/pkgs/applications/networking/browsers/palemoon/mozconfig deleted file mode 100644 index c481dbc29e8e4..0000000000000 --- a/pkgs/applications/networking/browsers/palemoon/mozconfig +++ /dev/null @@ -1,49 +0,0 @@ -# -*- mode: sh; coding: utf-8-unix; fill-column: 80 -*- - -# Mozconfig template file for nixpkgs - -# Keep this similar to the official .mozconfig file, only minor changes for -# portability are permitted with branding. -# https://developer.palemoon.org/build/linux/ - -_BUILD_64=@build64@ - -# Set GTK Version -_GTK_VERSION=@gtkversion@ - -# Standard build options for Pale Moon -ac_add_options --enable-application=palemoon -ac_add_options --enable-optimize="-O2 -w" -ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION -ac_add_options --enable-jemalloc -ac_add_options --enable-strip -ac_add_options --enable-devtools -ac_add_options --enable-av1 -ac_add_options --enable-jxl - -ac_add_options --disable-eme -ac_add_options --disable-webrtc -ac_add_options --disable-gamepad -ac_add_options --disable-tests -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 - -ac_add_options --x-libraries=@xlibs@ - -# MOZ_PKG_SPECIAL is only relevant for upstream's packaging - -# -# NixOS-specific additions -# - -ac_add_options --prefix=@prefix@ - -mk_add_options MOZ_MAKE_FLAGS=@mozmakeflags@ -mk_add_options AUTOCONF=@autoconf@ diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 95931a1a4c336..874d45b287d48 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1203,6 +1203,7 @@ mapAliases ({ p11_kit = throw "'p11_kit' has been renamed to/replaced by 'p11-kit'"; # Converted to throw 2022-02-22 packet-cli = metal-cli; # Added 2021-10-25 + palemoon = throw "palemoon has been dropped due to python2 being EOL and marked insecure. Use 'palemoon-bin' instead"; # Added 2023-05-18 paperless = paperless-ngx; # Added 2021-06-06 paperless-ng = paperless-ngx; # Added 2022-04-11 paper-note = throw "paper-note has been removed: abandoned by upstream"; # Added 2023-05-03 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4923535fa2ee6..feac7c4a2d942 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33199,7 +33199,6 @@ with pkgs; osmscout-server = libsForQt5.callPackage ../applications/misc/osmscout-server { }; - palemoon = callPackage ../applications/networking/browsers/palemoon { }; palemoon-bin = callPackage ../applications/networking/browsers/palemoon/bin.nix { }; paleta = callPackage ../applications/graphics/paleta { };