about summary refs log tree commit diff
path: root/pkgs/by-name/fl
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/fl')
-rw-r--r--pkgs/by-name/fl/flaca/package.nix46
-rw-r--r--pkgs/by-name/fl/flake-checker/package.nix6
-rw-r--r--pkgs/by-name/fl/flameshot/package.nix75
-rw-r--r--pkgs/by-name/fl/flarectl/package.nix6
-rw-r--r--pkgs/by-name/fl/flaresolverr/package.nix82
-rw-r--r--pkgs/by-name/fl/flashgbx/package.nix6
-rw-r--r--pkgs/by-name/fl/flashmq/package.nix4
-rw-r--r--pkgs/by-name/fl/flatpak/package.nix18
-rw-r--r--pkgs/by-name/fl/flatpak/unset-env-vars.patch14
-rw-r--r--pkgs/by-name/fl/flexget/package.nix108
-rw-r--r--pkgs/by-name/fl/flip-link/package.nix33
-rw-r--r--pkgs/by-name/fl/flite/package.nix77
-rw-r--r--pkgs/by-name/fl/fluent-bit/macos-11-sdk-compat.patch17
-rw-r--r--pkgs/by-name/fl/fluent-bit/package.nix83
-rw-r--r--pkgs/by-name/fl/fluxcd/package.nix4
-rwxr-xr-xpkgs/by-name/fl/fluxcd/update.sh4
-rw-r--r--pkgs/by-name/fl/flye/aarch64-fix.patch15
-rw-r--r--pkgs/by-name/fl/flye/package.nix42
18 files changed, 589 insertions, 51 deletions
diff --git a/pkgs/by-name/fl/flaca/package.nix b/pkgs/by-name/fl/flaca/package.nix
new file mode 100644
index 0000000000000..bec47b7b302c2
--- /dev/null
+++ b/pkgs/by-name/fl/flaca/package.nix
@@ -0,0 +1,46 @@
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  fetchurl,
+  runCommand,
+  lndir,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "flaca";
+  version = "3.1.6";
+
+  src =
+    let
+      source = fetchFromGitHub {
+        owner = "Blobfolio";
+        repo = pname;
+        rev = "v${version}";
+        hash = "sha256-mNCb9d7/nRWSkiir2bYkslw/F2GmjvE0cPi7HhzEN68=";
+      };
+      lockFile = fetchurl {
+        url = "https://github.com/Blobfolio/flaca/releases/download/v${version}/Cargo.lock";
+        hash = "sha256-tyxTgYEGROCtoiKPX57pF32UcfpDCuMdFSttZu++ju8=";
+      };
+    in
+    runCommand "source-with-lock" { nativeBuildInputs = [ lndir ]; } ''
+      mkdir -p $out
+      ln -s ${lockFile} $out/Cargo.lock
+      lndir -silent ${source} $out
+    '';
+
+  nativeBuildInputs = [ rustPlatform.bindgenHook ];
+
+  cargoHash = "sha256-YYNWCJT5ZT36v4u4P3gtW/osor6eIvR8leqlQHHZYMk=";
+
+  meta = with lib; {
+    description = "CLI tool to losslessly compress JPEG and PNG images";
+    longDescription = "A CLI tool for x86-64 Linux machines that simplifies the task of maximally, losslessly compressing JPEG and PNG images for use in production web environments";
+    homepage = "https://github.com/Blobfolio/flaca";
+    maintainers = with maintainers; [ zzzsy ];
+    platforms = platforms.linux;
+    license = licenses.wtfpl;
+    mainProgram = "flaca";
+  };
+}
diff --git a/pkgs/by-name/fl/flake-checker/package.nix b/pkgs/by-name/fl/flake-checker/package.nix
index 09c3215527f86..5ccab79d97180 100644
--- a/pkgs/by-name/fl/flake-checker/package.nix
+++ b/pkgs/by-name/fl/flake-checker/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "flake-checker";
-  version = "0.1.19";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "DeterminateSystems";
     repo = "flake-checker";
     rev = "v${version}";
-    hash = "sha256-KJTObuHJQjIgg/5A25Ee+7s2SrmtyYFnvcnklYhSCNE=";
+    hash = "sha256-cvjSQNvRnreherInbieJnaanU/TzDAgM544MBi7UWvQ=";
   };
 
-  cargoHash = "sha256-ADqc7H2MClXyYEw/lc9F4HAfpHrDc/lqL/BIL/PTZro=";
+  cargoHash = "sha256-0iH5owyNfIpRz6nYwrJUoqd9lVGZ3T3K8rmsOk2UoGI=";
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     Security
diff --git a/pkgs/by-name/fl/flameshot/package.nix b/pkgs/by-name/fl/flameshot/package.nix
new file mode 100644
index 0000000000000..c9a5849b3b839
--- /dev/null
+++ b/pkgs/by-name/fl/flameshot/package.nix
@@ -0,0 +1,75 @@
+{ libsForQt5
+, stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, nix-update-script
+, fetchpatch
+, grim
+, makeBinaryWrapper
+, enableWlrSupport ? false
+}:
+
+stdenv.mkDerivation {
+  pname = "flameshot";
+  # wlr screenshotting is currently only available on unstable version (>12.1.0)
+  version = "12.1.0-unstable-2024-08-02";
+
+  src = fetchFromGitHub {
+    owner = "flameshot-org";
+    repo = "flameshot";
+    rev = "fd3772e2abb0b852573fcaa549ba13517f13555c";
+    hash = "sha256-WXUxrirlevqJ+dnXZbN1C1l5ibuSI/DBi5fqPx9nOGQ=";
+  };
+
+  patches = [
+    # https://github.com/flameshot-org/flameshot/pull/3166
+    # fixes fractional scaling calculations on wayland
+    (fetchpatch {
+      name = "10-fix-wayland.patch";
+      url = "https://github.com/flameshot-org/flameshot/commit/5fea9144501f7024344d6f29c480b000b2dcd5a6.patch";
+      hash = "sha256-SnjVbFMDKD070vR4vGYrwLw6scZAFaQA4b+MbI+0W9E=";
+    })
+  ];
+
+  passthru = {
+    updateScript = nix-update-script {
+      extraArgs = [ "--version=branch" ];
+    };
+  };
+
+  cmakeFlags = [
+    (lib.cmakeBool "USE_WAYLAND_CLIPBOARD" true)
+    (lib.cmakeBool "USE_WAYLAND_GRIM" enableWlrSupport)
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    libsForQt5.qttools
+    libsForQt5.qtsvg
+    libsForQt5.wrapQtAppsHook
+    makeBinaryWrapper
+  ];
+
+  buildInputs = [
+    libsForQt5.qtbase
+    libsForQt5.kguiaddons
+  ];
+
+  dontWrapQtApps = true;
+
+  postFixup = ''
+    wrapProgram $out/bin/flameshot \
+      ${lib.optionalString enableWlrSupport "--prefix PATH : ${lib.makeBinPath [ grim ]}"} \
+      ''${qtWrapperArgs[@]}
+  '';
+
+  meta = with lib; {
+    description = "Powerful yet simple to use screenshot software";
+    homepage = "https://github.com/flameshot-org/flameshot";
+    mainProgram = "flameshot";
+    maintainers = with maintainers; [ scode oxalica ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/by-name/fl/flarectl/package.nix b/pkgs/by-name/fl/flarectl/package.nix
index be3cc19a1fdfe..d067f4533cd29 100644
--- a/pkgs/by-name/fl/flarectl/package.nix
+++ b/pkgs/by-name/fl/flarectl/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "flarectl";
-  version = "0.98.0";
+  version = "0.102.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflare-go";
     rev = "v${version}";
-    hash = "sha256-h6NLX++cf9pn8plZUKyiE3qcsiXGYHngRio34Mp341g=";
+    hash = "sha256-i/JWbi8itjcFklknFGB23DtYh4+jd+2YMQysHtS3qf8=";
   };
 
-  vendorHash = "sha256-k1JZGkJy5oGI3pEcrStNrsQTh8diNoe4DARqRX4PGS8=";
+  vendorHash = "sha256-4tJATAvWpWq1aTtV4ERTHF6S2D0azC3HlrwxkLIGT7s=";
 
   subPackages = [ "cmd/flarectl" ];
 
diff --git a/pkgs/by-name/fl/flaresolverr/package.nix b/pkgs/by-name/fl/flaresolverr/package.nix
new file mode 100644
index 0000000000000..07e02231997c3
--- /dev/null
+++ b/pkgs/by-name/fl/flaresolverr/package.nix
@@ -0,0 +1,82 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+
+  makeWrapper,
+
+  chromium,
+  python3,
+  undetected-chromedriver,
+  xorg,
+
+  nixosTests,
+}:
+
+let
+  python = python3.withPackages (
+    ps: with ps; [
+      bottle
+      func-timeout
+      prometheus-client
+      selenium
+      waitress
+      xvfbwrapper
+
+      # For `undetected_chromedriver`
+      looseversion
+      requests
+      websockets
+    ]
+  );
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "flaresolverr";
+  version = "3.3.21";
+
+  src = fetchFromGitHub {
+    owner = "FlareSolverr";
+    repo = "FlareSolverr";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-M/snpYKZK3pgzlhYjRYEiAPlK9DUKYRiiu43KcrAy9g=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    substituteInPlace src/undetected_chromedriver/patcher.py \
+      --replace-fail \
+        "from distutils.version import LooseVersion" \
+        "from looseversion import LooseVersion"
+
+    substituteInPlace src/utils.py \
+      --replace-fail \
+        'CHROME_EXE_PATH = None' \
+        'CHROME_EXE_PATH = "${lib.getExe chromium}"' \
+      --replace-fail \
+        'PATCHED_DRIVER_PATH = None' \
+        'PATCHED_DRIVER_PATH = "${lib.getExe undetected-chromedriver}"'
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/${finalAttrs.pname}-${finalAttrs.version}}
+    cp -r * $out/share/${finalAttrs.pname}-${finalAttrs.version}/.
+
+    makeWrapper ${python}/bin/python $out/bin/flaresolverr \
+      --add-flags "$out/share/${finalAttrs.pname}-${finalAttrs.version}/src/flaresolverr.py" \
+      --prefix PATH : "${lib.makeBinPath [ xorg.xvfb ]}"
+  '';
+
+  passthru = {
+    tests.smoke-test = nixosTests.flaresolverr;
+  };
+
+  meta = with lib; {
+    description = "Proxy server to bypass Cloudflare protection";
+    homepage = "https://github.com/FlareSolverr/FlareSolverr";
+    license = licenses.mit;
+    mainProgram = "flaresolverr";
+    maintainers = with maintainers; [ paveloom ];
+    inherit (undetected-chromedriver.meta) platforms;
+  };
+})
diff --git a/pkgs/by-name/fl/flashgbx/package.nix b/pkgs/by-name/fl/flashgbx/package.nix
index c816f7d005280..d6cd2eac6075e 100644
--- a/pkgs/by-name/fl/flashgbx/package.nix
+++ b/pkgs/by-name/fl/flashgbx/package.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flashgbx";
-  version = "3.37";
+  version = "4.2";
 
   src = fetchFromGitHub {
     repo = "FlashGBX";
     owner = "lesserkuma";
-    rev = version;
-    hash = "sha256-3527QmSSpGotFHKTg0yb6MgHKSze+9BECQWqZM3qKsw=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-3Oqr70+6BWlt+9M1gkzpcnXC4Q44e1SRI3ylYfMOI90=";
   };
 
   desktopItems = [
diff --git a/pkgs/by-name/fl/flashmq/package.nix b/pkgs/by-name/fl/flashmq/package.nix
index cb39bc06b9ce8..d13cc9efd0c07 100644
--- a/pkgs/by-name/fl/flashmq/package.nix
+++ b/pkgs/by-name/fl/flashmq/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flashmq";
-  version = "1.15.2";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "halfgaar";
     repo = "FlashMQ";
     rev = "v${version}";
-    hash = "sha256-4ZK8aHDhI0yslx1VoO+cgqj4YQ6AgE0Jy5C4WJ4k4OQ=";
+    hash = "sha256-oKH2cH1GuNrBzxAVvmO01+IfkuNzQEgGpL4gSfjpjqg=";
   };
 
   nativeBuildInputs = [ cmake installShellFiles ];
diff --git a/pkgs/by-name/fl/flatpak/package.nix b/pkgs/by-name/fl/flatpak/package.nix
index fc109bf508345..96349cfcd784e 100644
--- a/pkgs/by-name/fl/flatpak/package.nix
+++ b/pkgs/by-name/fl/flatpak/package.nix
@@ -54,11 +54,12 @@
   xorg,
   xz,
   zstd,
+  withGtkDoc ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "flatpak";
-  version = "1.14.6";
+  version = "1.14.10";
 
   # TODO: split out lib once we figure out what to do with triggerdir
   outputs = [
@@ -72,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
-    hash = "sha256-U482ssb4xw7v0S0TrVsa2DCCAQaovTqfa45NnegeSUY=";
+    hash = "sha256-a73HkIEnNQrYWkpH1wKSyi9MRul3sysf0jHCpxnYIc0=";
   };
 
   patches = [
@@ -147,6 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
     libarchive
     libcap
     libseccomp
+    libxml2
     xz
     zstd
     polkit
@@ -157,7 +159,7 @@ stdenv.mkDerivation (finalAttrs: {
     gsettings-desktop-schemas
     glib-networking
     librsvg # for flatpak-validate-icon
-  ];
+  ] ++ lib.optionals withGtkDoc [ gtk-doc ];
 
   # Required by flatpak.pc
   propagatedBuildInputs = [
@@ -169,6 +171,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   # TODO: some issues with temporary files
   doCheck = false;
+  strictDeps = true;
 
   NIX_LDFLAGS = "-lpthread";
 
@@ -182,8 +185,9 @@ stdenv.mkDerivation (finalAttrs: {
     "--with-profile-dir=${placeholder "out"}/etc/profile.d"
     "--localstatedir=/var"
     "--sysconfdir=/etc"
-    "--enable-gtk-doc"
+    "--enable-gtk-doc=${if withGtkDoc then "yes" else "no"}"
     "--enable-installed-tests"
+    "--enable-selinux-module=no"
   ];
 
   makeFlags = [
@@ -193,12 +197,16 @@ stdenv.mkDerivation (finalAttrs: {
 
   postPatch =
     let
-      vsc-py = python3.withPackages (pp: [ pp.pyparsing ]);
+      vsc-py = python3.pythonOnBuildForHost.withPackages (pp: [ pp.pyparsing ]);
     in
     ''
       patchShebangs buildutil
       patchShebangs tests
       PATH=${lib.makeBinPath [ vsc-py ]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
+
+      substituteInPlace configure.ac \
+        --replace-fail '$BWRAP --version' 'echo ${bubblewrap.version}' \
+        --replace-fail '$DBUS_PROXY --version' 'echo ${xdg-dbus-proxy.version}'
     '';
 
   passthru = {
diff --git a/pkgs/by-name/fl/flatpak/unset-env-vars.patch b/pkgs/by-name/fl/flatpak/unset-env-vars.patch
index 2a88d24f49166..0235022bbf567 100644
--- a/pkgs/by-name/fl/flatpak/unset-env-vars.patch
+++ b/pkgs/by-name/fl/flatpak/unset-env-vars.patch
@@ -1,12 +1,12 @@
 diff --git a/common/flatpak-run.c b/common/flatpak-run.c
-index 6f54a9d0..102d9b90 100644
+index e3f031d4..ed131c0b 100644
 --- a/common/flatpak-run.c
 +++ b/common/flatpak-run.c
-@@ -1902,6 +1902,7 @@ static const ExportData default_exports[] = {
+@@ -571,6 +571,7 @@ static const ExportData default_exports[] = {
+   {"XKB_CONFIG_ROOT", NULL},
+   {"GIO_EXTRA_MODULES", NULL},
    {"GDK_BACKEND", NULL},
-   {"VK_DRIVER_FILES", NULL},
-   {"VK_ICD_FILENAMES", NULL},
 +  {"GDK_PIXBUF_MODULE_FILE", NULL},
- };
- 
- static const ExportData no_ld_so_cache_exports[] = {
+   {"VK_ADD_DRIVER_FILES", NULL},
+   {"VK_ADD_LAYER_PATH", NULL},
+   {"VK_DRIVER_FILES", NULL},
diff --git a/pkgs/by-name/fl/flexget/package.nix b/pkgs/by-name/fl/flexget/package.nix
new file mode 100644
index 0000000000000..79203498ec6ec
--- /dev/null
+++ b/pkgs/by-name/fl/flexget/package.nix
@@ -0,0 +1,108 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "flexget";
+  version = "3.11.43";
+  pyproject = true;
+
+  # Fetch from GitHub in order to use `requirements.in`
+  src = fetchFromGitHub {
+    owner = "Flexget";
+    repo = "Flexget";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-KX7Bvu4rt+Q7x2XkBiZMngAgqRKYu90EVi2oQ21o5AI=";
+  };
+
+  postPatch = ''
+    # remove dependency constraints but keep environment constraints
+    sed 's/[~<>=][^;]*//' -i requirements.txt
+  '';
+
+  build-system = with python3.pkgs; [
+    setuptools
+    wheel
+  ];
+
+  dependencies = with python3.pkgs; [
+    # See https://github.com/Flexget/Flexget/blob/master/pyproject.toml
+    apscheduler
+    beautifulsoup4
+    colorama
+    feedparser
+    guessit
+    html5lib
+    jinja2
+    jsonschema
+    loguru
+    psutil
+    pydantic
+    pynzb
+    pyrss2gen
+    python-dateutil
+    pyyaml
+    rebulk
+    requests
+    rich
+    rpyc
+    sqlalchemy
+
+    # WebUI requirements
+    cherrypy
+    flask-compress
+    flask-cors
+    flask-login
+    flask-restx
+    flask
+    packaging
+    pyparsing
+    werkzeug
+    zxcvbn
+    pendulum
+
+    # Plugins requirements
+    transmission-rpc
+    qbittorrent-api
+    deluge-client
+    cloudscraper
+    python-telegram-bot
+  ];
+
+  pythonImportsCheck = [
+    "flexget"
+    "flexget.api.core.authentication"
+    "flexget.api.core.database"
+    "flexget.api.core.plugins"
+    "flexget.api.core.schema"
+    "flexget.api.core.server"
+    "flexget.api.core.tasks"
+    "flexget.api.core.user"
+    "flexget.components.thetvdb.api"
+    "flexget.components.tmdb.api"
+    "flexget.components.trakt.api"
+    "flexget.components.tvmaze.api"
+    "flexget.plugins.clients.aria2"
+    "flexget.plugins.clients.deluge"
+    "flexget.plugins.clients.nzbget"
+    "flexget.plugins.clients.pyload"
+    "flexget.plugins.clients.qbittorrent"
+    "flexget.plugins.clients.rtorrent"
+    "flexget.plugins.clients.transmission"
+    "flexget.plugins.services.kodi_library"
+    "flexget.plugins.services.myepisodes"
+    "flexget.plugins.services.pogcal_acquired"
+  ];
+
+  # ~400 failures
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://flexget.com/";
+    changelog = "https://github.com/Flexget/Flexget/releases/tag/v${version}";
+    description = "Multipurpose automation tool for all of your media";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/pkgs/by-name/fl/flip-link/package.nix b/pkgs/by-name/fl/flip-link/package.nix
new file mode 100644
index 0000000000000..b4ba056ee3b44
--- /dev/null
+++ b/pkgs/by-name/fl/flip-link/package.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "flip-link";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "knurling-rs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-slidPVL0LAUtmCI2rlAwfGVUmB4WRF9bHqQhdgbO2oc=";
+  };
+
+  cargoHash = "sha256-x3JnqztoLol5dNMact/qMveQuvcMTg/jqHxW0lksB7Y=";
+
+  buildInputs = lib.optional stdenv.isDarwin libiconv;
+
+  checkFlags = [
+    # requires embedded toolchains
+    "--skip should_link_example_firmware::case_1_normal"
+    "--skip should_link_example_firmware::case_2_custom_linkerscript"
+    "--skip should_verify_memory_layout"
+  ];
+
+  meta = with lib; {
+    description = "Adds zero-cost stack overflow protection to your embedded programs";
+    mainProgram = "flip-link";
+    homepage = "https://github.com/knurling-rs/flip-link";
+    changelog = "https://github.com/knurling-rs/flip-link/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ FlorianFranzen newam ];
+  };
+}
diff --git a/pkgs/by-name/fl/flite/package.nix b/pkgs/by-name/fl/flite/package.nix
new file mode 100644
index 0000000000000..1edb95c2d4b80
--- /dev/null
+++ b/pkgs/by-name/fl/flite/package.nix
@@ -0,0 +1,77 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  alsa-lib,
+  libpulseaudio,
+  nix-update-script,
+  testers,
+  audioBackend ? "pulseaudio",
+}:
+assert lib.assertOneOf "audioBackend" audioBackend [
+  "alsa"
+  "pulseaudio"
+];
+stdenv.mkDerivation (finalAttrs: {
+  pname = "flite";
+  version = "2.2";
+
+  outputs = [
+    "bin"
+    "dev"
+    "lib"
+    "out"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "festvox";
+    repo = "flite";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-Tq5pyg3TiQt8CPqGXTyLOaGgaeLTmPp+Duw3+2VAF9g=";
+  };
+
+  # https://github.com/festvox/flite/pull/60.
+  # Replaces `ar` with `$(AR)` in config/common_make_rules.
+  # Improves cross-compilation compatibility.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/festvox/flite/commit/54c65164840777326bbb83517568e38a128122ef.patch";
+      hash = "sha256-hvKzdX7adiqd9D+9DbnfNdqEULg1Hhqe1xElYxNM1B8=";
+    })
+  ];
+
+  buildInputs = lib.optional stdenv.isLinux (
+    {
+      alsa = alsa-lib;
+      pulseaudio = libpulseaudio;
+    }
+    .${audioBackend} or (throw "${audioBackend} is not a supported backend!")
+  );
+
+  configureFlags = [
+    "--enable-shared"
+  ] ++ lib.optionals stdenv.isLinux [ "--with-audio=${audioBackend}" ];
+
+  # main/Makefile creates and removes 'flite_voice_list.c' from multiple targets:
+  # make[1]: *** No rule to make target 'flite_voice_list.c', needed by 'all'.  Stop
+  enableParallelBuilding = false;
+
+  passthru = {
+    tests.version = testers.testVersion {
+      # `flite` does have a `--version` command, but it returns 1
+      command = "flite --help";
+      package = finalAttrs.finalPackage;
+    };
+
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    description = "Small, fast run-time speech synthesis engine";
+    homepage = "http://www.festvox.org/flite/";
+    license = lib.licenses.bsdOriginal;
+    maintainers = with lib.maintainers; [ getchoo ];
+    mainProgram = "flite";
+  };
+})
diff --git a/pkgs/by-name/fl/fluent-bit/macos-11-sdk-compat.patch b/pkgs/by-name/fl/fluent-bit/macos-11-sdk-compat.patch
new file mode 100644
index 0000000000000..5063e028e6564
--- /dev/null
+++ b/pkgs/by-name/fl/fluent-bit/macos-11-sdk-compat.patch
@@ -0,0 +1,17 @@
+diff --git i/src/flb_utils.c w/src/flb_utils.c
+index 87637f1331d7..7a0036566438 100644
+--- i/src/flb_utils.c
++++ w/src/flb_utils.c
+@@ -1424,11 +1424,11 @@ int flb_utils_get_machine_id(char **out_id, size_t *out_size)
+         return 0;
+     }
+ #elif defined (FLB_SYSTEM_MACOS)
+     bool bret;
+     CFStringRef serialNumber;
+-    io_service_t platformExpert = IOServiceGetMatchingService(kIOMainPortDefault,
++    io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,
+         IOServiceMatching("IOPlatformExpertDevice"));
+
+     if (platformExpert) {
+         CFTypeRef serialNumberAsCFString =
+             IORegistryEntryCreateCFProperty(platformExpert,
diff --git a/pkgs/by-name/fl/fluent-bit/package.nix b/pkgs/by-name/fl/fluent-bit/package.nix
new file mode 100644
index 0000000000000..55a0017e69f2a
--- /dev/null
+++ b/pkgs/by-name/fl/fluent-bit/package.nix
@@ -0,0 +1,83 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  flex,
+  bison,
+  systemd,
+  postgresql,
+  openssl,
+  libyaml,
+  darwin,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fluent-bit";
+  version = "3.1.6";
+
+  src = fetchFromGitHub {
+    owner = "fluent";
+    repo = "fluent-bit";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-l33DDS7rk/uLCGTU5WTGvQH0JUEarKo3cxMrXn5eefc=";
+  };
+
+  # optional only to avoid linux rebuild
+  patches = lib.optionals stdenv.isDarwin [ ./macos-11-sdk-compat.patch ];
+
+  nativeBuildInputs = [
+    cmake
+    flex
+    bison
+  ];
+
+  buildInputs =
+    [
+      openssl
+      libyaml
+      postgresql
+    ]
+    ++ lib.optionals stdenv.isLinux [ systemd ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk_11_0.frameworks.IOKit
+      darwin.apple_sdk_11_0.frameworks.Foundation
+    ];
+
+  cmakeFlags = [
+    "-DFLB_RELEASE=ON"
+    "-DFLB_METRICS=ON"
+    "-DFLB_HTTP_SERVER=ON"
+    "-DFLB_OUT_PGSQL=ON"
+  ] ++ lib.optionals stdenv.isDarwin [ "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13" ];
+
+  env.NIX_CFLAGS_COMPILE = toString (
+    # Used by the embedded luajit, but is not predefined on older mac SDKs.
+    lib.optionals stdenv.isDarwin [ "-DTARGET_OS_IPHONE=0" ]
+    # Assumes GNU version of strerror_r, and the posix version has an
+    # incompatible return type.
+    ++ lib.optionals (!stdenv.hostPlatform.isGnu) [ "-Wno-int-conversion" ]
+  );
+
+  outputs = [
+    "out"
+    "dev"
+  ];
+
+  postPatch = ''
+    substituteInPlace src/CMakeLists.txt \
+      --replace /lib/systemd $out/lib/systemd
+  '';
+
+  meta = {
+    changelog = "https://github.com/fluent/fluent-bit/releases/tag/v${finalAttrs.version}";
+    description = "Log forwarder and processor, part of Fluentd ecosystem";
+    homepage = "https://fluentbit.io";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      samrose
+      fpletz
+    ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/fl/fluxcd/package.nix b/pkgs/by-name/fl/fluxcd/package.nix
index 712f075459b60..8d691f58b5a55 100644
--- a/pkgs/by-name/fl/fluxcd/package.nix
+++ b/pkgs/by-name/fl/fluxcd/package.nix
@@ -60,8 +60,8 @@ buildGoModule rec {
 
   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
     for shell in bash fish zsh; do
-      $out/bin/flux completion $shell > flux.$shell
-      installShellCompletion flux.$shell
+      installShellCompletion --cmd flux \
+        --$shell <($out/bin/flux completion $shell)
     done
   '';
 
diff --git a/pkgs/by-name/fl/fluxcd/update.sh b/pkgs/by-name/fl/fluxcd/update.sh
index 1763b37d33285..218eba0be91ac 100755
--- a/pkgs/by-name/fl/fluxcd/update.sh
+++ b/pkgs/by-name/fl/fluxcd/update.sh
@@ -17,7 +17,7 @@ if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then
     SPEC_SHA256=$(nix hash to-sri --type sha256 $SPEC_SHA256)
 
     setKV () {
-        sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${FLUXCD_PATH}/default.nix"
+        sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${FLUXCD_PATH}/package.nix"
     }
 
     setKV version ${LATEST_VERSION}
@@ -40,7 +40,7 @@ if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then
     # `git` flag here is to be used by local maintainers to speed up the bump process
     if [ $# -eq 1 ] && [ "$1" = "git" ]; then
         git switch -c "package-fluxcd-${LATEST_VERSION}"
-        git add "$FLUXCD_PATH"/default.nix
+        git add "$FLUXCD_PATH"/package.nix
         git commit -m "fluxcd: ${OLD_VERSION} -> ${LATEST_VERSION}
 
 Release: https://github.com/fluxcd/flux2/releases/tag/v${LATEST_VERSION}"
diff --git a/pkgs/by-name/fl/flye/aarch64-fix.patch b/pkgs/by-name/fl/flye/aarch64-fix.patch
deleted file mode 100644
index 02588fc63e218..0000000000000
--- a/pkgs/by-name/fl/flye/aarch64-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 75f62aed..91b9571b 100644
---- a/Makefile
-+++ b/Makefile
-@@ -16,6 +16,10 @@ ifeq ($(shell uname -m),arm64)
- 	export aarch64=1
- endif
- 
-+ifeq ($(shell uname -m),aarch64)
-+	export aarch64=1
-+endif
-+
- .PHONY: clean all profile debug minimap2 samtools
- 
- .DEFAULT_GOAL := all
diff --git a/pkgs/by-name/fl/flye/package.nix b/pkgs/by-name/fl/flye/package.nix
index 76ea84a1c9a04..41e098609597a 100644
--- a/pkgs/by-name/fl/flye/package.nix
+++ b/pkgs/by-name/fl/flye/package.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , python3Packages
 , zlib
 , curl
@@ -11,6 +12,7 @@
 python3Packages.buildPythonApplication rec {
   pname = "flye";
   version = "2.9.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "fenderglass";
@@ -19,7 +21,33 @@ python3Packages.buildPythonApplication rec {
     hash = "sha256-lwiY0VTEsLMMXt1VowsS3jj44v30Z766xNRwQtQKr10=";
   };
 
-  nativeCheckInputs = [ python3Packages.pytestCheckHook ];
+  patches = [
+    (fetchpatch {
+      # https://github.com/mikolmogorov/Flye/pull/691
+      name = "aarch64-fix.patch";
+      url = "https://github.com/mikolmogorov/Flye/commit/e4dcc3fdf0fa1430a974fcd7da31b03ea642df9b.patch";
+      hash = "sha256-Ny2daPt8eYOKnwZ6bdBoCcFWhe9eiIHF4vJU/occwU0=";
+    })
+    (fetchpatch {
+      # https://github.com/mikolmogorov/Flye/pull/711
+      name = "remove-distutils.patch";
+      url = "https://github.com/mikolmogorov/Flye/commit/fb34f1ccfdf569d186a4ce822ee18eced736636b.patch";
+      hash = "sha256-52bnZ8XyP0HsY2OpNYMU3xJgotNVdQc/O2w3XIReUdQ=";
+    })
+    (fetchpatch {
+      # https://github.com/mikolmogorov/Flye/pull/670
+      name = "remove-find_module.patch";
+      url = "https://github.com/mikolmogorov/Flye/commit/441b1c6eb0f60b7c4fb1a40d659c7dabb7ad41b6.patch";
+      hash = "sha256-RytFIN1STK33/nvXpck6woQcwV/e1fmA8AgmptiIiDU=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace flye/polishing/alignment.py \
+      --replace-fail "/bin/bash" "${lib.getExe bash}"
+  '';
+
+  build-system = [ python3Packages.setuptools ];
 
   propagatedBuildInputs = [ coreutils ];
 
@@ -29,22 +57,18 @@ python3Packages.buildPythonApplication rec {
     libdeflate
   ];
 
-  patches = [ ./aarch64-fix.patch ];
+  pythonImportsCheck = [ "flye" ];
 
-  postPatch = ''
-    substituteInPlace flye/polishing/alignment.py \
-      --replace-fail "/bin/bash" "${lib.getExe bash}"
+  nativeCheckInputs = [ python3Packages.pytestCheckHook ];
 
-    substituteInPlace flye/tests/test_toy.py \
-      --replace-fail "find_executable(\"flye" "find_executable(\"$out/bin/flye" \
-      --replace-fail "[\"flye" "[\"$out/bin/flye"
+  preCheck = ''
+    export PATH=$out/bin:$PATH
   '';
 
   meta = with lib; {
     description = "De novo assembler for single molecule sequencing reads using repeat graphs";
     homepage = "https://github.com/fenderglass/Flye";
     license = licenses.bsd3;
-    platforms = platforms.unix;
     mainProgram = "flye";
     maintainers = with maintainers; [ assistant ];
   };