diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index b07edb0f6ac..8cf3e5633dc 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -48,6 +48,7 @@ in { rtl8192su-firmware rt5677-firmware rtl8723bs-firmware + rtl8761b-firmware rtlwifi_new-firmware zd1211fw alsa-firmware diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix index 6f1c4c48b43..074830fc352 100644 --- a/nixos/modules/services/networking/kresd.nix +++ b/nixos/modules/services/networking/kresd.nix @@ -135,6 +135,8 @@ in { CacheDirectory = "knot-resolver"; CacheDirectoryMode = "0770"; }; + # We don't mind running stop phase from wrong version. It seems less racy. + systemd.services."kresd@".stopIfChanged = false; # Try cleaning up the previously default location of cache file. # Note that /var/cache/* should always be safe to remove. diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index f8adc522fcb..33308ebc61a 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -12,11 +12,11 @@ assert taglibSupport -> (taglib != null); with stdenv.lib; stdenv.mkDerivation rec { pname = "ncmpcpp"; - version = "0.8.2"; + version = "0.9.1"; src = fetchurl { - url = "https://ncmpcpp.rybczak.net/stable/${pname}-${version}.tar.bz2"; - sha256 = "0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"; + url = "https://rybczak.net/ncmpcpp/stable/${pname}-${version}.tar.bz2"; + sha256 = "0x35nd4v31sma8fliqdbn1nxpjyi8hv472318sfb3xbmr4wlm0fb"; }; configureFlags = [ "BOOST_LIB_SUFFIX=" ] @@ -33,7 +33,8 @@ stdenv.mkDerivation rec { meta = { description = "A featureful ncurses based MPD client inspired by ncmpc"; - homepage = "https://ncmpcpp.rybczak.net/"; + homepage = "https://rybczak.net/ncmpcpp/"; + changelog = "https://github.com/ncmpcpp/ncmpcpp/blob/${version}/CHANGELOG.md"; license = licenses.gpl2Plus; maintainers = with maintainers; [ jfrankenau koral lovek323 ]; platforms = platforms.all; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index d754c2769c9..d7b1a017d31 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -13,7 +13,7 @@ , bison, gperf , glib, gtk3, dbus-glib , glibc -, libXScrnSaver, libXcursor, libXtst, libGLU, libGL +, libXScrnSaver, libXcursor, libXtst, libxshmfence, libGLU, libGL , protobuf, speechd, libXdamage, cups , ffmpeg, libxslt, libxml2, at-spi2-core , jre8 @@ -136,7 +136,7 @@ let util-linux alsaLib bison gperf kerberos glib gtk3 dbus-glib - libXScrnSaver libXcursor libXtst libGLU libGL + libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL pciutils protobuf speechd libXdamage at-spi2-core jre pipewire_0_2 diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh index 49e84f84ceb..511371931de 100644 --- a/pkgs/build-support/setup-hooks/auto-patchelf.sh +++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + declare -a autoPatchelfLibs declare -Ag autoPatchelfFailedDeps @@ -11,6 +13,8 @@ runPatchelf() { patchelf "$@" || (echo "Command failed: patchelf $*" && exit 1) } +# shellcheck disable=SC2154 +# (targetOffset is referenced but not assigned.) addEnvHooks "$targetOffset" gatherLibraries isExecutable() { @@ -116,6 +120,8 @@ autoPatchelfFile() { interpreter="$(< "$NIX_CC/nix-support/dynamic-linker")" if isExecutable "$toPatch"; then runPatchelf --set-interpreter "$interpreter" "$toPatch" + # shellcheck disable=SC2154 + # (runtimeDependencies is referenced but not assigned.) if [ -n "$runtimeDependencies" ]; then for dep in $runtimeDependencies; do rpath="$rpath${rpath:+:}$dep/lib" @@ -129,11 +135,13 @@ autoPatchelfFile() { # clear the RPATH first. runPatchelf --remove-rpath "$toPatch" + # If the file is not a dynamic executable, ldd/sed will fail, + # in which case we return, since there is nothing left to do. local missing missing="$( ldd "$toPatch" 2> /dev/null | \ sed -n -e 's/^[\t ]*\([^ ]\+\) => not found.*/\1/p' - )" + )" || return 0 # This ensures that we get the output of all missing dependencies instead # of failing at the first one, because it's more useful when working on a @@ -175,10 +183,10 @@ addAutoPatchelfSearchPath() { esac done - for file in \ - $(find "$@" "${findOpts[@]}" \! -type d \ - \( -name '*.so' -o -name '*.so.*' \)) - do addToDepCache "$file"; done + while IFS= read -r -d '' file; do + addToDepCache "$file" + done < <(find "$@" "${findOpts[@]}" \! -type d \ + \( -name '*.so' -o -name '*.so.*' \) -print0) } autoPatchelf() { @@ -231,6 +239,8 @@ autoPatchelf() { echo "autoPatchelfHook could not satisfy dependency $failedDep wanted by ${autoPatchelfFailedDeps[$failedDep]}" depsMissing=1 done + # shellcheck disable=SC2154 + # (autoPatchelfIgnoreMissingDeps is referenced but not assigned.) if [[ $depsMissing == 1 && -z "$autoPatchelfIgnoreMissingDeps" ]]; then echo "Add the missing dependencies to the build inputs or set autoPatchelfIgnoreMissingDeps=true" exit 1 diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix index 1c537edd0b4..07e9c7bdb02 100644 --- a/pkgs/development/arduino/arduino-core/default.nix +++ b/pkgs/development/arduino/arduino-core/default.nix @@ -11,7 +11,8 @@ , ncurses , readline , withGui ? false -, gtk2 ? null +, gtk3 ? null +, wrapGAppsHook , withTeensyduino ? false /* Packages needed for Teensyduino */ , upx @@ -29,7 +30,7 @@ , udev }: -assert withGui -> gtk2 != null; +assert withGui -> gtk3 != null && wrapGAppsHook != null; assert withTeensyduino -> withGui; let externalDownloads = import ./downloads.nix { @@ -55,7 +56,7 @@ let gcc.cc.lib gdk-pixbuf glib - gtk2 + gtk3 libpng12 libusb-compat-0_1 pango @@ -78,39 +79,40 @@ let + stdenv.lib.optionalString (!withGui) "-core"; in stdenv.mkDerivation rec { - version = "1.8.12"; + version = "1.8.13"; name = "${flavor}-${version}"; src = fetchFromGitHub { owner = "arduino"; repo = "Arduino"; rev = version; - sha256 = "0lxkyvsh55biz2q20ba4qabraind5cpxznl41zfq027vl22j6kd2"; + sha256 = "0qg3qyj1b7wbaw2rsfly7nf3115h26nskl4ggrn6plhx272ni84p"; }; - teensyduino_version = "151"; + teensyduino_version = "153"; teensyduino_src = fetchurl { url = "https://www.pjrc.com/teensy/td_${teensyduino_version}/TeensyduinoInstall.${teensy_architecture}"; sha256 = { - linux64 = "0q8mw9bm2vb5vwa98gwcs6ad164i98hc1qqh2qw029yhwm599pn0"; - linux32 = "1rq6sx0048ab200jy0cz5vznwxi99avidngj42rjnh7kcfas5c4m"; - linuxarm = "19j55bq36040rpdpfxcqimda76rkbx137q15bs8nvxj13wrbl4ip"; - linuxaarch64 = "09k78dycn1vcpcx37c1dak8bgjv8gs34l89n9r9s0c3rqmv3pg4x"; + linux64 = "02qgsj4h4zrjxkcclx7clsqbqd699kg0dq1xxa9hbj3vfnddjv1f"; + linux32 = "14xaff8xj176ih8ifdvxsly5xgjjm82dqbn7lqq81a43i0svjjyn"; + linuxarm = "0xpg9axa6dqyhccm9cpvsv2al7rgwy4gv2l8b2kffvn974dl5759"; + linuxaarch64 = "1lyn4zy4l5mml3c19fw6i2pk1ypnq6mgjmxmzk9d54wpf6n3j5dk"; }.${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}"); }; # Used because teensyduino requires jars be a specific size arduino_dist_src = fetchurl { - url = "http://downloads.arduino.cc/arduino-${version}-${teensy_architecture}.tar.xz"; + url = "https://downloads.arduino.cc/arduino-${version}-${teensy_architecture}.tar.xz"; sha256 = { - linux64 = "128f34kkxz7ab6ir5mqyr8d1mgxig8f9jygwxy44pdnq2rk6gmh9"; - linux32 = "11n85lwsn1w4ysfacyw08v85s3f3zvl8j8ac7rld19yxgjslvisi"; - linuxarm = "1k8yjivaydm6y16mplrjyblgx7l0wjzm3mjxh5saxrjq7drswmxx"; - linuxaarch64 = "04v2nhyjhahml6nmz23bfb63c0an4a7zxgcgxqqq442i8vd304wa"; + linux64 = "1bdlk51dqiyg5pw23hs8rfv8nrjqy0jqfl89h1466ahahpnd080v"; + linux32 = "0mgsw9wpwv1pgs2jslzflh7zf4ggqjgcd55hmdzrj0dvgkyw4cr2"; + linuxarm = "08n4lpak3i7yfyi0085j4nq14gb2n7zx85wl9drp8gaavxnfbp5f"; + linuxaarch64 = "0m4nhykzknm2hdpz1fhr2hbpncry53kvzs9y5lgj7rx3sy6ygbh7"; }.${teensy_architecture} or (throw "No arduino binaries for ${teensy_architecture}"); }; + nativeBuildInputs = [ wrapGAppsHook ]; buildInputs = [ jdk ant @@ -149,7 +151,7 @@ stdenv.mkDerivation rec { # This will be patched into `arduino` wrapper script # Java loads gtk dynamically, so we need to provide it using LD_LIBRARY_PATH - dynamicLibraryPath = lib.makeLibraryPath [ gtk2 ]; + dynamicLibraryPath = lib.makeLibraryPath [ gtk3 ]; javaPath = lib.makeBinPath [ jdk ]; # Everything else will be patched into rpath diff --git a/pkgs/development/arduino/arduino-core/downloads.nix b/pkgs/development/arduino/arduino-core/downloads.nix index f2edf64ceb6..76fa7664f0e 100644 --- a/pkgs/development/arduino/arduino-core/downloads.nix +++ b/pkgs/development/arduino/arduino-core/downloads.nix @@ -107,20 +107,20 @@ url = "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.10.10/WiFi101-Updater-ArduinoIDE-Plugin-0.10.10.zip"; sha256 = "0bs5qdglsfc2q5c48m6wdjpzhz4ya4askh1g8364dp6p7jmg6w0d"; }; - "build/avr-1.8.2.tar.bz2" = fetchurl { - url = "https://downloads.arduino.cc/cores/avr-1.8.2.tar.bz2"; - sha256 = "06zl8fwphknd0qdx87fcr1003gid1yqsazaj674mm9widqfd84v2"; + "build/avr-1.8.3.tar.bz2" = fetchurl { + url = "https://downloads.arduino.cc/cores/avr-1.8.3.tar.bz2"; + sha256 = "051wnc0nmsmxvvs4c79zvjag33yx5il2pz2j7qyjsxkp4jc9p2ny"; }; } // optionalAttrs (system == "x86_64-linux") { - "build/arduino-builder-linux64-1.5.2.tar.bz2" = fetchurl { - url = "https://downloads.arduino.cc/tools/arduino-builder-linux64-1.5.2.tar.bz2"; - sha256 = "0wypr9a2cbv9r0ignsr13raw09i3vfc5zvkjxp2xwb7mv35y77z3"; + "build/arduino-builder-linux64-1.5.4.tar.bz2" = fetchurl { + url = "https://downloads.arduino.cc/tools/arduino-builder-linux64-1.5.4.tar.bz2"; + sha256 = "1cgvwlvxzzpjaj4njz1mrsif27l26dwkz9c7gbhdj0lvlk3xsa7s"; }; - "build/linux/avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { - url = "https://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-pc-linux-gnu.tar.bz2"; - sha256 = "1yq6a811dabrkcgzfi3jsys41r19qsna46kglkjbcy0rza7yvzry"; + "build/linux/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { + url = "https://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-pc-linux-gnu.tar.bz2"; + sha256 = "07nrzv7gsq7bi7ichlw3xsdvgzk0lvv56b73ksn3089ajpv3g35x"; }; "build/linux/avrdude-6.3.0-arduino17-x86_64-pc-linux-gnu.tar.bz2" = fetchurl { url = "https://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-x86_64-pc-linux-gnu.tar.bz2"; diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix new file mode 100644 index 00000000000..1a642c90d2e --- /dev/null +++ b/pkgs/games/anki/bin.nix @@ -0,0 +1,64 @@ +{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg }: + +let + pname = "anki-bin"; + # Update hashes for both Linux and Darwin! + version = "2.1.36"; + + unpacked = stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2"; + sha256 = "01xcjnfs5pfh7v0nkffw2wpl19l6pj9k3kxrcawv3cm42asy0mfz"; + }; + + installPhase = '' + runHook preInstall + + xdg-mime () { + echo Stubbed! + } + export -f xdg-mime + + PREFIX=$out bash install.sh + + runHook postInstall + ''; + }; + + meta = with lib; { + inherit (anki.meta) license homepage description longDescription; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + maintainers = with maintainers; [ atemu ]; + }; +in + +if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // { + name = "anki"; + + runScript = writeShellScript "anki-wrapper.sh" '' + # Wayland support is broken, disable via ENV variable + export QT_QPA_PLATFORM=xcb + exec ${unpacked}/bin/anki + ''; + + inherit meta; +}) else stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg"; + sha256 = "1i6iidm5h8r9g801mvqxi2av03qdw3lr28056fv5ixnb5dq2wqim"; + }; + + nativeBuildInputs = [ undmg ]; + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/Applications/ + cp -a Anki.app $out/Applications/ + ''; + + inherit meta; +} diff --git a/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix b/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix new file mode 100644 index 00000000000..4418722c7c4 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/rtl8761b-firmware/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + name = "rtl8761b-firmware"; + + src = fetchFromGitHub { + owner = "Realtek-OpenSource"; + repo = "android_hardware_realtek"; + rev = "rtk1395"; + sha256 = "sha256-vd9sZP7PGY+cmnqVty3sZibg01w8+UNinv8X85B+dzc="; + }; + + installPhase = '' + install -D -pm644 \ + bt/rtkbt/Firmware/BT/rtl8761b_fw \ + $out/lib/firmware/rtl_bt/rtl8761b_fw.bin + + install -D -pm644 \ + bt/rtkbt/Firmware/BT/rtl8761b_config \ + $out/lib/firmware/rtl_bt/rtl8761b_config.bin + ''; + + meta = with stdenv.lib; { + description = "Firmware for Realtek RTL8761b"; + license = licenses.unfreeRedistributableFirmware; + maintainers = with maintainers; [ edibopp ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index e2805c315b8..23c01d04192 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -76,6 +76,13 @@ }; }; + # Adapted for Linux 5.4 from: + # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04896832c94aae4842100cafb8d3a73e1bed3a45 + rtl8761b_support = + { name = "rtl8761b-support"; + patch = ./rtl8761b-support.patch; + }; + export_kernel_fpu_functions = { "4.14" = { name = "export_kernel_fpu_functions"; diff --git a/pkgs/os-specific/linux/kernel/rtl8761b-support.patch b/pkgs/os-specific/linux/kernel/rtl8761b-support.patch new file mode 100644 index 00000000000..b6d80d5bc8d --- /dev/null +++ b/pkgs/os-specific/linux/kernel/rtl8761b-support.patch @@ -0,0 +1,33 @@ +diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c +index 67f4bc21e7c5..3a9afc905f24 100644 +--- a/drivers/bluetooth/btrtl.c ++++ b/drivers/bluetooth/btrtl.c +@@ -130,12 +130,19 @@ static const struct id_table ic_id_table[] = { + .cfg_name = "rtl_bt/rtl8821c_config" }, + + /* 8761A */ +- { IC_MATCH_FL_LMPSUBV, RTL_ROM_LMP_8761A, 0x0, ++ { IC_INFO(RTL_ROM_LMP_8761A, 0xa), + .config_needed = false, + .has_rom_version = true, + .fw_name = "rtl_bt/rtl8761a_fw.bin", + .cfg_name = "rtl_bt/rtl8761a_config" }, + ++ /* 8761B */ ++ { IC_INFO(RTL_ROM_LMP_8761A, 0xb), ++ .config_needed = false, ++ .has_rom_version = true, ++ .fw_name = "rtl_bt/rtl8761b_fw.bin", ++ .cfg_name = "rtl_bt/rtl8761b_config" }, ++ + /* 8822C with USB interface */ + { IC_INFO(RTL_ROM_LMP_8822B, 0xc), + .config_needed = false, +@@ -251,6 +258,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev, + { RTL_ROM_LMP_8723B, 9 }, /* 8723D */ + { RTL_ROM_LMP_8821A, 10 }, /* 8821C */ + { RTL_ROM_LMP_8822B, 13 }, /* 8822C */ ++ { RTL_ROM_LMP_8761A, 14 }, /* 8761B */ + }; + + min_size = sizeof(struct rtl_epatch_header) + sizeof(extension_sig) + 3; diff --git a/pkgs/tools/misc/fbcat/default.nix b/pkgs/tools/misc/fbcat/default.nix new file mode 100644 index 00000000000..4f640f13a27 --- /dev/null +++ b/pkgs/tools/misc/fbcat/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub } : + +stdenv.mkDerivation rec { + pname = "fbcat"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "jwilk"; + repo = pname; + rev = version; + sha256 = "08y79br4a4cgkjnslw0hw57441ybsapaw7wjdbak19mv9lnl5ll9"; + }; + + # hardcoded because makefile target "install" depends on libxslt dependencies from network + # that are just too hard to monkeypatch here + # so this is the simple fix. + installPhase = '' + mkdir -p $out + install -d $out/bin + install -m755 fbcat $out/bin/ + install -m755 fbgrab $out/bin/ + install -d $out/share/man/man1 + ''; + + meta = with stdenv.lib; { + homepage = "http://jwilk.net/software/fbcat"; + description = "Framebuffer screenshot tool"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.matthiasbeyer ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/tools/misc/toybox/default.nix b/pkgs/tools/misc/toybox/default.nix index 9b38db5a727..e7a08877e90 100644 --- a/pkgs/tools/misc/toybox/default.nix +++ b/pkgs/tools/misc/toybox/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchFromGitHub, which, + buildPackages, enableStatic ? false, enableMinimal ? false, extraConfig ? "" @@ -16,6 +17,7 @@ stdenv.mkDerivation rec { sha256 = "0cgbmv6qk1haj709hjx5q4sl7wgh91i459gzs1203adwc7rvk6jv"; }; + depsBuildBuild = [ buildPackages.stdenv.cc ]; # needed for cross buildInputs = lib.optionals enableStatic [ stdenv.cc.libc stdenv.cc.libc.static ]; postPatch = "patchShebangs ."; diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix index 3e7719c40d4..7e6f2c475ca 100644 --- a/pkgs/tools/networking/libreswan/default.nix +++ b/pkgs/tools/networking/libreswan/default.nix @@ -29,6 +29,10 @@ stdenv.mkDerivation rec { "-Wno-error=format-truncation" "-Wno-error=pointer-compare" "-Wno-error=stringop-truncation" + # The following flag allows libreswan v3.32 to work with NSS 3.22, see + # https://github.com/libreswan/libreswan/issues/334. + # This flag should not be needed for libreswan v3.33 (which is not yet released). + "-DNSS_PKCS11_2_0_COMPAT=1" ]; nativeBuildInputs = [ makeWrapper pkgconfig ]; @@ -82,7 +86,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = "https://libreswan.org"; description = "A free software implementation of the VPN protocol based on IPSec and the Internet Key Exchange"; - platforms = platforms.linux ++ platforms.darwin ++ platforms.freebsd; + platforms = platforms.linux ++ platforms.freebsd; license = licenses.gpl2; maintainers = [ maintainers.afranchuk ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 83ebfdb320e..345276c670a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3999,6 +3999,8 @@ in feedgnuplot = callPackage ../tools/graphics/feedgnuplot { }; + fbcat = callPackage ../tools/misc/fbcat { }; + fbv = callPackage ../tools/graphics/fbv { }; fbvnc = callPackage ../tools/admin/fbvnc {}; @@ -18456,6 +18458,7 @@ in kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper + kernelPatches.rtl8761b_support kernelPatches.export_kernel_fpu_functions."5.3" ]; }; @@ -19212,6 +19215,8 @@ in rtl8723bs-firmware = callPackage ../os-specific/linux/firmware/rtl8723bs-firmware { }; + rtl8761b-firmware = callPackage ../os-specific/linux/firmware/rtl8761b-firmware { }; + rtlwifi_new-firmware = callPackage ../os-specific/linux/firmware/rtlwifi_new-firmware { }; s3ql = callPackage ../tools/backup/s3ql { }; @@ -25591,6 +25596,7 @@ in anki = python3Packages.callPackage ../games/anki { inherit (darwin.apple_sdk.frameworks) CoreAudio; }; + anki-bin = callPackage ../games/anki/bin.nix { buildFHSUserEnv = buildFHSUserEnvBubblewrap; }; armagetronad = callPackage ../games/armagetronad { };