diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix deleted file mode 100644 index ff6fe11e6d50..000000000000 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ /dev/null @@ -1,251 +0,0 @@ -{ - lib, - stdenv, - coreutils, - fetchurl, - zlib, - libX11, - libXext, - libSM, - libICE, - libxkbcommon, - libxshmfence, - libXfixes, - libXt, - libXi, - libXcursor, - libXScrnSaver, - libXcomposite, - libXdamage, - libXtst, - libXrandr, - alsa-lib, - dbus, - cups, - libexif, - ffmpeg, - systemd, - libva, - libGL, - freetype, - fontconfig, - libXft, - libXrender, - libxcb, - expat, - libuuid, - libxml2, - glib, - gtk3, - pango, - gdk-pixbuf, - cairo, - atk, - at-spi2-atk, - at-spi2-core, - qt5, - libdrm, - libgbm, - vulkan-loader, - nss, - nspr, - patchelf, - makeWrapper, - wayland, - pipewire, - isSnapshot ? false, - proprietaryCodecs ? false, - vivaldi-ffmpeg-codecs ? null, - enableWidevine ? false, - widevine-cdm ? null, - commandLineArgs ? "", - pulseSupport ? stdenv.hostPlatform.isLinux, - libpulseaudio, - kerberosSupport ? true, - libkrb5, -}: - -let - branch = if isSnapshot then "snapshot" else "stable"; - vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi"; -in -stdenv.mkDerivation rec { - pname = "vivaldi"; - version = "7.4.3684.38"; - - suffix = - { - aarch64-linux = "arm64"; - x86_64-linux = "amd64"; - } - .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - - src = fetchurl { - url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb"; - hash = - { - aarch64-linux = "sha256-SmmmEFSzAGgm9eKeTKpUFuW/UVNyXw8x8c1uRp69fbw="; - x86_64-linux = "sha256-h/ZcJq51gsb03V5KFlPOE9H0NonYxJNeWVg2UCQEBPs="; - } - .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - }; - - unpackPhase = '' - ar vx $src - tar -xvf data.tar.xz - ''; - - nativeBuildInputs = [ - patchelf - makeWrapper - qt5.wrapQtAppsHook - ]; - - dontWrapQtApps = true; - - buildInputs = - [ - stdenv.cc.cc - stdenv.cc.libc - zlib - libX11 - libXt - libXext - libSM - libICE - libxcb - libxkbcommon - libxshmfence - libXi - libXft - libXcursor - libXfixes - libXScrnSaver - libXcomposite - libXdamage - libXtst - libXrandr - atk - at-spi2-atk - at-spi2-core - alsa-lib - dbus - cups - gtk3 - gdk-pixbuf - libexif - ffmpeg - systemd - libva - qt5.qtbase - qt5.qtwayland - freetype - fontconfig - libXrender - libuuid - expat - glib - nss - nspr - libGL - libxml2 - pango - cairo - libdrm - libgbm - vulkan-loader - wayland - pipewire - ] - ++ lib.optional proprietaryCodecs vivaldi-ffmpeg-codecs - ++ lib.optional pulseSupport libpulseaudio - ++ lib.optional kerberosSupport libkrb5; - - libPath = - lib.makeLibraryPath buildInputs - + lib.optionalString (stdenv.hostPlatform.is64bit) ( - ":" + lib.makeSearchPathOutput "lib" "lib64" buildInputs - ) - + ":$out/opt/${vivaldiName}/lib"; - - buildPhase = - '' - runHook preBuild - echo "Patching Vivaldi binaries" - for f in chrome_crashpad_handler vivaldi-bin vivaldi-sandbox ; do - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}" \ - opt/${vivaldiName}/$f - done - - for f in libGLESv2.so libqt5_shim.so ; do - patchelf --set-rpath "${libPath}" opt/${vivaldiName}/$f - done - '' - + lib.optionalString proprietaryCodecs '' - ln -s ${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so opt/${vivaldiName}/libffmpeg.so.''${version%\.*\.*} - '' - + '' - echo "Finished patching Vivaldi binaries" - runHook postBuild - ''; - - dontPatchELF = true; - dontStrip = true; - - installPhase = - '' - runHook preInstall - mkdir -p "$out" - cp -r opt "$out" - mkdir "$out/bin" - ln -s "$out/opt/${vivaldiName}/${vivaldiName}" "$out/bin/vivaldi" - mkdir -p "$out/share" - cp -r usr/share/{applications,xfce4} "$out"/share - substituteInPlace "$out"/share/applications/*.desktop \ - --replace /usr/bin/${vivaldiName} "$out"/bin/vivaldi - substituteInPlace "$out"/share/applications/*.desktop \ - --replace vivaldi-stable vivaldi - local d - for d in 16 22 24 32 48 64 128 256; do - mkdir -p "$out"/share/icons/hicolor/''${d}x''${d}/apps - ln -s \ - "$out"/opt/${vivaldiName}/product_logo_''${d}.png \ - "$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png - done - wrapProgram "$out/bin/vivaldi" \ - --add-flags ${lib.escapeShellArg commandLineArgs} \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - --set-default FONTCONFIG_FILE "${fontconfig.out}/etc/fonts/fonts.conf" \ - --set-default FONTCONFIG_PATH "${fontconfig.out}/etc/fonts" \ - --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ \ - --prefix PATH : ${coreutils}/bin \ - ''${qtWrapperArgs[@]} \ - ${lib.optionalString enableWidevine "--suffix LD_LIBRARY_PATH : ${libPath}"} - '' - + lib.optionalString enableWidevine '' - ln -sf ${widevine-cdm}/share/google/chrome/WidevineCdm $out/opt/${vivaldiName}/WidevineCdm - '' - + '' - runHook postInstall - ''; - - passthru.updateScript = ./update-vivaldi.sh; - - meta = with lib; { - description = "Browser for our Friends, powerful and personal"; - homepage = "https://vivaldi.com"; - license = licenses.unfree; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - mainProgram = "vivaldi"; - maintainers = with maintainers; [ - otwieracz - badmutex - ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - }; -} diff --git a/pkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh b/pkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh deleted file mode 100755 index 994257889ee6..000000000000 --- a/pkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl common-updater-scripts - -set -eu -o pipefail - -version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)-1_amd64\.deb.*/\1/p') - -update_hash() { - url="https://downloads.vivaldi.com/stable/vivaldi-stable_$version-1_$2.deb" - hash=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "$url")) - update-source-version vivaldi "$version" "$hash" --system=$1 --ignore-same-version -} - -update_hash aarch64-linux arm64 -update_hash x86_64-linux amd64 diff --git a/pkgs/applications/networking/browsers/vivaldi/update.sh b/pkgs/applications/networking/browsers/vivaldi/update.sh deleted file mode 100755 index 461b38e3ec44..000000000000 --- a/pkgs/applications/networking/browsers/vivaldi/update.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p libarchive curl common-updater-scripts - -set -eu -o pipefail - -cd "$(dirname "${BASH_SOURCE[0]}")" -root=../../../../.. -export NIXPKGS_ALLOW_UNFREE=1 - -version() { - (cd "$root" && nix-instantiate --eval --strict -A "$1.version" | tr -d '"') -} - -vivaldi_version_old=$(version vivaldi) -vivaldi_version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)-1_amd64\.deb.*/\1/p') - -if [[ ! "$vivaldi_version" = "$vivaldi_version_old" ]]; then - echo "vivaldi is not up-to-date, not updating codecs" - (cd "$root" && nix-shell maintainers/scripts/update.nix --argstr package vivaldi) - exit -fi - -echo "vivaldi is up-to-date, updating codecs" - -# Download vivaldi and save file path. -url="https://downloads.vivaldi.com/stable/vivaldi-stable_${vivaldi_version}-1_amd64.deb" -mapfile -t prefetch < <(nix-prefetch-url --print-path "$url") -path=${prefetch[1]} - -nixpkgs="$(git rev-parse --show-toplevel)" -default_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix" -ffmpeg_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix" - -# Check vivaldi-ffmpeg-codecs version. -chromium_version_old=$(version vivaldi-ffmpeg-codecs) -ffmpeg_update_script=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/update-ffmpeg) -chromium_version=$(sed -rne 's/^FFMPEG_VERSION_DEB\=([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*/\1/p' <<< $ffmpeg_update_script) -download_subdir=$(sed -rne 's/.*FFMPEG_URL_DEB\=https:\/\/launchpadlibrarian\.net\/([0-9]+)\/.*_amd64\.deb/\1/p' <<< $ffmpeg_update_script) - -if [[ "$chromium_version" != "$chromium_version_old" ]]; then - # replace the download prefix - sed -i $ffmpeg_nix -e "s/\(https:\/\/launchpadlibrarian\.net\/\)[0-9]\+/\1$download_subdir/g" - (cd "$root" && update-source-version vivaldi-ffmpeg-codecs "$chromium_version") - - git add "${ffmpeg_nix}" - git commit -m "vivaldi-ffmpeg-codecs: $chromium_version_old -> $chromium_version" -fi diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 3762c817b9a4..d23a9b6d2d5e 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2003,6 +2003,7 @@ mapAliases { vistafonts = vista-fonts; # Added 2025-02-03 vistafonts-chs = vista-fonts-chs; # Added 2025-02-03 vistafonts-cht = vista-fonts-cht; # Added 2025-02-03 + vivaldi = throw "'vivaldi' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-29 vkBasalt = vkbasalt; # Added 2022-11-22 vkdt-wayland = vkdt; # Added 2024-04-19 vocal = throw "'vocal' has been archived upstream. Consider using 'gnome-podcasts' or 'kasts' instead."; # Added 2025-04-12 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19175256b317..acf278a13c50 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13626,8 +13626,6 @@ with pkgs; organicmaps = qt6Packages.callPackage ../applications/misc/organicmaps { }; - vivaldi = callPackage ../applications/networking/browsers/vivaldi { }; - openrazer-daemon = python3Packages.toPythonApplication python3Packages.openrazer-daemon; orpie = callPackage ../applications/misc/orpie {