Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2020-12-25 12:23:40 +00:00 committed by GitHub
commit 09a970dcd2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 231 additions and 37 deletions

View file

@ -48,6 +48,7 @@ in {
rtl8192su-firmware
rt5677-firmware
rtl8723bs-firmware
rtl8761b-firmware
rtlwifi_new-firmware
zd1211fw
alsa-firmware

View file

@ -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.

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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";

64
pkgs/games/anki/bin.nix Normal file
View file

@ -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;
}

View file

@ -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;
};
}

View file

@ -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";

View file

@ -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;

View file

@ -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;
};
}

View file

@ -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 .";

View file

@ -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 ];
};

View file

@ -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 { };