diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix deleted file mode 100644 index 24a72501db54..000000000000 --- a/pkgs/applications/audio/keyfinder/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, mkDerivation, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, qmake, taglib }: - -mkDerivation rec { - pname = "keyfinder"; - version = "2.4"; - - src = fetchFromGitHub { - sha256 = "11yhdwan7bz8nn8vxr54drckyrnlxynhx5s981i475bbccg8g7ls"; - rev = "530034d6fe86d185f6a68b817f8db5f552f065d7"; # tag is missing - repo = "is_KeyFinder"; - owner = "ibsh"; - }; - - nativeBuildInputs = [ qmake ]; - buildInputs = [ libav_0_8 libkeyfinder qtbase qtxmlpatterns taglib ]; - - postPatch = '' - substituteInPlace is_KeyFinder.pro \ - --replace "-stdlib=libc++" "" \ - --replace "\$\$[QT_INSTALL_PREFIX]" "$out" - ''; - - dontWrapQtApps = true; - - meta = with lib; { - description = "Musical key detection for digital audio (graphical UI)"; - longDescription = '' - KeyFinder is an open source key detection tool, for DJs interested in - harmonic and tonal mixing. Designed primarily for electronic and dance - music, it is highly configurable and can be applied to many genres. It - supports a huge range of codecs thanks to LibAV, and writes to metadata - tags using TagLib. It's intended to be very focused: no library - management, no track suggestions, no media player. Just a fast, - efficient workflow tool. - ''; - homepage = "https://www.ibrahimshaath.co.uk/keyfinder/"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index 92156dec54ea..38a553ec8669 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -8,14 +8,11 @@ , gstreamer , gst-plugins-base , gettext -, libav +, ffmpeg-headless # Checks meson.is_cross_build(), so even canExecute isn't enough. , enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc }: -# Note that since gst-libav-1.6, libav is actually ffmpeg. See -# https://gstreamer.freedesktop.org/releases/1.6/ for more info. - stdenv.mkDerivation rec { pname = "gst-libav"; version = "1.24.3"; @@ -40,7 +37,7 @@ stdenv.mkDerivation rec { buildInputs = [ gstreamer gst-plugins-base - libav + ffmpeg-headless ]; mesonFlags = [ @@ -53,7 +50,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "FFmpeg/libav plugin for GStreamer"; + description = "FFmpeg plugin for GStreamer"; homepage = "https://gstreamer.freedesktop.org"; license = licenses.lgpl2Plus; platforms = platforms.unix; diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix deleted file mode 100644 index 8cc098d81087..000000000000 --- a/pkgs/development/libraries/libav/default.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, yasm, bzip2, zlib, perl, bash -, mp3Support ? true, lame ? null -, speexSupport ? true, speex ? null -, theoraSupport ? true, libtheora ? null -, vorbisSupport ? true, libvorbis ? null -, vpxSupport ? true, libvpx ? null -, x264Support ? false, x264 ? null -, xvidSupport ? true, xvidcore ? null -, faacSupport ? false, faac ? null -, vaapiSupport ? true, libva ? null -, vdpauSupport ? true, libvdpau ? null -, freetypeSupport ? true, freetype ? null # it's small and almost everywhere -, SDL # only for avplay in $bin, adds nontrivial closure to it -, enableGPL ? true # ToDo: some additional default stuff may need GPL -, enableUnfree ? faacSupport -}: - -assert faacSupport -> enableUnfree; - -let inherit (lib) optional optionals hasPrefix enableFeature; in - -/* ToDo: - - more deps, inspiration: https://packages.ubuntu.com/raring/libav-tools - - maybe do some more splitting into outputs -*/ - -let - result = { - # e.g. https://libav.org/releases/libav-11.11.tar.xz.sha1 - libav_0_8 = libavFun "0.8.21" "d858f65128dad0bac1a8c3a51e5cbb27a7c79b3f"; - libav_11 = libavFun "11.12" "61d5dcab5fde349834af193a572b12a5fd6a4d42"; - libav_12 = libavFun "12.3" "386c18c8b857f23dfcf456ce40370716130211d9"; - }; - - libavFun = version : sha1 : stdenv.mkDerivation rec { - pname = "libav"; - inherit version; - - src = fetchurl { - url = "${meta.homepage}/releases/${pname}-${version}.tar.xz"; - inherit sha1; # upstream directly provides sha1 of releases over https - }; - - patches = [] - ++ optional (vpxSupport && hasPrefix "0.8." version) ./vpxenc-0.8.17-libvpx-1.5.patch - ++ optional (vpxSupport && hasPrefix "12." version) ./vpx-12.3-libvpx-1.8.patch - ; - - postPatch = '' - patchShebangs . - # another shebang was hidden in a here document text - substituteInPlace ./configure --replace "#! /bin/sh" "#!${bash}/bin/sh" - ''; - - configurePlatforms = []; - configureFlags = assert lib.all (x: x!=null) buildInputs; [ - "--arch=${stdenv.hostPlatform.parsed.cpu.name}" - "--target_os=${stdenv.hostPlatform.parsed.kernel.name}" - #"--enable-postproc" # it's now a separate package in upstream - "--disable-avserver" # upstream says it's in a bad state - "--enable-avplay" - "--enable-shared" - "--enable-runtime-cpudetect" - "--cc=${stdenv.cc.targetPrefix}cc" - (enableFeature enableGPL "gpl") - (enableFeature enableGPL "swscale") - (enableFeature mp3Support "libmp3lame") - (enableFeature mp3Support "libmp3lame") - (enableFeature speexSupport "libspeex") - (enableFeature theoraSupport "libtheora") - (enableFeature vorbisSupport "libvorbis") - (enableFeature vpxSupport "libvpx") - (enableFeature x264Support "libx264") - (enableFeature xvidSupport "libxvid") - (enableFeature faacSupport "libfaac") - (enableFeature faacSupport "nonfree") - (enableFeature vaapiSupport "vaapi") - (enableFeature vdpauSupport "vdpau") - (enableFeature freetypeSupport "libfreetype") - ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--cross-prefix=${stdenv.cc.targetPrefix}" - "--enable-cross-compile" - ]; - - nativeBuildInputs = [ pkg-config perl ]; - buildInputs = [ lame yasm zlib bzip2 SDL bash ] - ++ [ perl ] # for install-man target - ++ optional mp3Support lame - ++ optional speexSupport speex - ++ optional theoraSupport libtheora - ++ optional vorbisSupport libvorbis - ++ optional vpxSupport libvpx - ++ optional x264Support x264 - ++ optional xvidSupport xvidcore - ++ optional faacSupport faac - ++ optional vaapiSupport libva - ++ optional vdpauSupport libvdpau - ++ optional freetypeSupport freetype - ; - - enableParallelBuilding = true; - - outputs = [ "bin" "dev" "out" ]; - setOutputFlags = false; - - # alltools to build smaller tools, incl. aviocat, ismindex, qt-faststart, etc. - buildFlags = [ "all" "alltools" "install-man" ]; - - - postInstall = '' - moveToOutput bin "$bin" - # alltools target compiles an executable in tools/ for every C - # source file in tools/, so move those to $out - for tool in $(find tools -type f -executable); do - mv "$tool" "$bin/bin/" - done - ''; - - doInstallCheck = false; # fails randomly - installCheckTarget = "check"; # tests need to be run *after* installation - - passthru = { inherit vdpauSupport; }; - - meta = with lib; { - homepage = "https://libav.org/"; - description = "Complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)"; - license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not? - else if enableGPL then gpl2Plus else lgpl21Plus; - platforms = with platforms; linux ++ darwin; - knownVulnerabilities = - lib.optional (lib.versionOlder version "12.1") "CVE-2017-9051" - ++ lib.optionals (lib.versionOlder version "12.3") [ "CVE-2018-5684" "CVE-2018-5766" ] - ++ lib.optionals (lib.versionOlder version "12.4") [ "CVE-2019-9717" "CVE-2019-9720" ]; - }; - }; # libavFun - -in result diff --git a/pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch b/pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch deleted file mode 100644 index 8f8e5003284f..000000000000 --- a/pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- libav/libavcodec/libvpx.c.orig 2018-02-12 21:25:59 UTC -+++ libav/libavcodec/libvpx.c -@@ -25,6 +25,7 @@ - enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt_t img) - { - switch (img) { -+#if VPX_IMAGE_ABI_VERSION < 5 - case VPX_IMG_FMT_RGB24: return AV_PIX_FMT_RGB24; - case VPX_IMG_FMT_RGB565: return AV_PIX_FMT_RGB565BE; - case VPX_IMG_FMT_RGB555: return AV_PIX_FMT_RGB555BE; -@@ -36,10 +37,13 @@ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt - case VPX_IMG_FMT_ARGB_LE: return AV_PIX_FMT_BGRA; - case VPX_IMG_FMT_RGB565_LE: return AV_PIX_FMT_RGB565LE; - case VPX_IMG_FMT_RGB555_LE: return AV_PIX_FMT_RGB555LE; -+#endif - case VPX_IMG_FMT_I420: return AV_PIX_FMT_YUV420P; - case VPX_IMG_FMT_I422: return AV_PIX_FMT_YUV422P; - case VPX_IMG_FMT_I444: return AV_PIX_FMT_YUV444P; -+#if VPX_IMAGE_ABI_VERSION < 5 - case VPX_IMG_FMT_444A: return AV_PIX_FMT_YUVA444P; -+#endif - #if VPX_IMAGE_ABI_VERSION >= 3 - case VPX_IMG_FMT_I440: return AV_PIX_FMT_YUV440P; - case VPX_IMG_FMT_I42016: return AV_PIX_FMT_YUV420P16BE; -@@ -53,6 +57,7 @@ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt - vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix) - { - switch (pix) { -+#if VPX_IMAGE_ABI_VERSION < 5 - case AV_PIX_FMT_RGB24: return VPX_IMG_FMT_RGB24; - case AV_PIX_FMT_RGB565BE: return VPX_IMG_FMT_RGB565; - case AV_PIX_FMT_RGB555BE: return VPX_IMG_FMT_RGB555; -@@ -64,10 +69,13 @@ vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelForm - case AV_PIX_FMT_BGRA: return VPX_IMG_FMT_ARGB_LE; - case AV_PIX_FMT_RGB565LE: return VPX_IMG_FMT_RGB565_LE; - case AV_PIX_FMT_RGB555LE: return VPX_IMG_FMT_RGB555_LE; -+#endif - case AV_PIX_FMT_YUV420P: return VPX_IMG_FMT_I420; - case AV_PIX_FMT_YUV422P: return VPX_IMG_FMT_I422; - case AV_PIX_FMT_YUV444P: return VPX_IMG_FMT_I444; -+#if VPX_IMAGE_ABI_VERSION < 5 - case AV_PIX_FMT_YUVA444P: return VPX_IMG_FMT_444A; -+#endif - #if VPX_IMAGE_ABI_VERSION >= 3 - case AV_PIX_FMT_YUV440P: return VPX_IMG_FMT_I440; - case AV_PIX_FMT_YUV420P16BE: return VPX_IMG_FMT_I42016; diff --git a/pkgs/development/libraries/libav/vpxenc-0.8.17-libvpx-1.5.patch b/pkgs/development/libraries/libav/vpxenc-0.8.17-libvpx-1.5.patch deleted file mode 100644 index 456828c025ef..000000000000 --- a/pkgs/development/libraries/libav/vpxenc-0.8.17-libvpx-1.5.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/libavcodec/libvpxenc.c 2016-05-01 17:57:16.753852614 +0200 -+++ b/libavcodec/libvpxenc.c 2016-05-01 18:01:08.252147138 +0200 -@@ -67,19 +67,11 @@ - - /** String mappings for enum vp8e_enc_control_id */ - static const char *ctlidstr[] = { -- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY", -- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE", -- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE", -- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP", -- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP", -- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE", - [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED", - [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF", - [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY", -- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS", - [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD", - [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS", -- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER", - [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES", - [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH", - [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE", diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix index 57fca04c0a4b..a030344e8f4c 100644 --- a/pkgs/development/python-modules/av/default.nix +++ b/pkgs/development/python-modules/av/default.nix @@ -94,7 +94,7 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "Pythonic bindings for FFmpeg/Libav"; + description = "Pythonic bindings for FFmpeg"; mainProgram = "pyav"; homepage = "https://github.com/PyAV-Org/PyAV"; changelog = "https://github.com/PyAV-Org/PyAV/blob/v${version}/CHANGELOG.rst"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 78f09f09c27e..3967b429b8d1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -722,6 +722,7 @@ mapAliases ({ keepkey_agent = keepkey-agent; # added 2024-01-06 kerberos = libkrb5; # moved from top-level 2021-03-14 kexectools = kexec-tools; # Added 2021-09-03 + keyfinger = throw "keyfinder has been removed as it was abandoned upstream and did not build; consider using mixxx or keyfinder-cli"; # Addd 2024-08-25 keysmith = libsForQt5.kdeGear.keysmith; # Added 2021-07-14 kfctl = throw "kfctl is broken and has been archived by upstream"; # Added 2023-08-21 kgx = gnome-console; # Added 2022-02-19 @@ -750,6 +751,11 @@ mapAliases ({ lfs = dysk; # Added 2023-07-03 llvmPackages_rocm = throw "'llvmPackages_rocm' has been replaced with 'rocmPackages.llvm'"; # Added 2023-10-08 libAfterImage = throw "'libAfterImage' has been removed from nixpkgs, as it's no longer in development for a long time"; # Added 2024-06-01 + libav = throw "libav has been removed as it was insecure and abandoned upstream for over half a decade; please use FFmpeg"; # Added 2024-08-25 + libav_0_8 = libav; # Added 2024-08-25 + libav_11 = libav; # Added 2024-08-25 + libav_12 = libav; # Added 2024-08-25 + libav_all = libav; # Added 2024-08-25 libayatana-indicator-gtk3 = libayatana-indicator; # Added 2022-10-18 libayatana-appindicator-gtk3 = libayatana-appindicator; # Added 2022-10-18 libbencodetools = bencodetools; # Added 2022-07-30 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8621aa30d5e1..81f409ceefd5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20501,7 +20501,7 @@ with pkgs; gsettings-qt = libsForQt5.callPackage ../development/libraries/gsettings-qt { }; gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { - callPackage = newScope (gst_all_1 // { libav = pkgs.ffmpeg-headless; }); + callPackage = newScope gst_all_1; inherit (darwin.apple_sdk.frameworks) AudioToolbox AVFoundation Cocoa CoreFoundation CoreMedia CoreServices CoreVideo DiskArbitration Foundation IOKit MediaToolbox OpenGL Security SystemConfiguration VideoToolbox; }); @@ -21158,10 +21158,6 @@ with pkgs; libaudec = callPackage ../development/libraries/libaudec { }; - libav = libav_11; # branch 11 is API-compatible with branch 10 - libav_all = callPackages ../development/libraries/libav { }; - inherit (libav_all) libav_0_8 libav_11 libav_12; - libavc1394 = callPackage ../development/libraries/libavc1394 { }; libavif = callPackage ../development/libraries/libavif { }; @@ -31223,8 +31219,6 @@ with pkgs; khronos = callPackage ../applications/office/khronos { }; - keyfinder = libsForQt5.callPackage ../applications/audio/keyfinder { }; - keyfinder-cli = callPackage ../applications/audio/keyfinder-cli { }; kfilt = callPackage ../applications/networking/cluster/kfilt { };