diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/os-specific')
143 files changed, 1603 insertions, 859 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh index 86c241cd0f56..bbf9625e6557 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh @@ -3,7 +3,7 @@ linkSystemCoreFoundationFramework() { # gross! many symbols (such as _OBJC_CLASS_$_NSArray) are defined in system CF, but not # in the opensource release # if the package needs private headers, we assume they also want to link with system CF - NIX_LDFLAGS+=" /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation" + NIX_LDFLAGS+=" @out@/Library/Frameworks/CoreFoundation.framework/CoreFoundation" } preConfigureHooks+=(linkSystemCoreFoundationFramework) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix index 89c13d0b92d7..97523cf15a8d 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xar, cpio, pkgs, python3, pbzx, lib }: +{ stdenv, fetchurl, xar, cpio, pkgs, python3, pbzx, lib, darwin-stubs, print-reexports }: let version = "10.12"; in @@ -42,7 +42,12 @@ let rmdir System pushd lib - ln -s -L /usr/lib/libcups*.dylib . + cp ${darwin-stubs}/usr/lib/libcups*.tbd . + ln -s libcups.2.tbd libcups.tbd + ln -s libcupscgi.1.tbd libcupscgi.tbd + ln -s libcupsimage.2.tbd libcupsimage.tbd + ln -s libcupsmime.1.tbd libcupsmime.tbd + ln -s libcupsppdc.1.tbd libcupsppdc.tbd popd ''; @@ -53,6 +58,12 @@ let }; }; + mkFrameworkSubs = name: deps: + let + deps' = deps // { "${name}" = placeholder "out"; }; + substArgs = lib.concatMap (x: [ "--subst-var-by" x deps'."${x}" ]) (lib.attrNames deps'); + in lib.escapeShellArgs substArgs; + framework = name: deps: stdenv.mkDerivation { name = "apple-framework-${name}"; @@ -63,11 +74,14 @@ let disallowedRequisites = [ sdk ]; + nativeBuildInputs = [ print-reexports ]; + + extraTBDFiles = []; + installPhase = '' linkFramework() { local path="$1" local nested_path="$1" - local dest="$out/Library/Frameworks/$path" if [ "$path" == "JavaNativeFoundation.framework" ]; then local nested_path="JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework" fi @@ -80,21 +94,29 @@ let current=A fi - mkdir -p "$dest" - pushd "$dest" >/dev/null + local dest="$out/Library/Frameworks/$path" - # Keep track of if this is a child or a child rescue as with - # ApplicationServices in the 10.9 SDK - local isChild=0 + mkdir -p "$dest/Versions/$current" + pushd "$dest/Versions/$current" >/dev/null if [ -d "${sdk.out}/Library/Frameworks/$nested_path/Versions/$current/Headers" ]; then - isChild=1 cp -R "${sdk.out}/Library/Frameworks/$nested_path/Versions/$current/Headers" . elif [ -d "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current/Headers" ]; then current="$(readlink "/System/Library/Frameworks/$name.framework/Versions/Current")" cp -R "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current/Headers" . fi - ln -s -L "/System/Library/Frameworks/$nested_path/Versions/$current/$name" + + local tbd_source=${darwin-stubs}/System/Library/Frameworks/$nested_path/Versions/$current + if [ "${name}" != "Kernel" ]; then + # The Kernel.framework has headers but no actual library component. + cp -v $tbd_source/*.tbd . + fi + + if [ -d "$tbd_source/Libraries" ]; then + mkdir Libraries + cp -v $tbd_source/Libraries/*.tbd Libraries/ + fi + ln -s -L "/System/Library/Frameworks/$nested_path/Versions/$current/Resources" if [ -f "/System/Library/Frameworks/$nested_path/module.map" ]; then @@ -110,17 +132,45 @@ let linkFramework "$childpath" done - if [ -d "$dest/Versions/$current" ]; then - mv $dest/Versions/$current/* . - fi + pushd ../.. >/dev/null + ln -s "$current" Versions/Current + ln -s Versions/Current/* . + popd >/dev/null popd >/dev/null } linkFramework "${name}.framework" + + # linkFramework is recursive, the rest of the processing is not. + + local tbd_source=${darwin-stubs}/System/Library/Frameworks/${name}.framework + for tbd in $extraTBDFiles; do + local tbd_dest_dir=$out/Library/Frameworks/${name}.framework/$(dirname "$tbd") + mkdir -p "$tbd_dest_dir" + cp -v "$tbd_source/$tbd" "$tbd_dest_dir" + done + + # Fix and check tbd re-export references + find $out -name '*.tbd' | while read tbd; do + echo "Fixing re-exports in $tbd" + substituteInPlace "$tbd" ${mkFrameworkSubs name deps} + + echo "Checking re-exports in $tbd" + print-reexports "$tbd" | while read target; do + local expected="''${target%.dylib}.tbd" + if ! [ -e "$expected" ]; then + echo -e "Re-export missing:\n\t$target\n\t(expected $expected)" + echo -e "While processing\n\t$tbd" + exit 1 + else + echo "Re-exported target $target ok" + fi + done + done ''; - propagatedBuildInputs = deps; + propagatedBuildInputs = builtins.attrValues deps; # don't use pure CF for dylibs that depend on frameworks setupHook = ./framework-setup-hook.sh; @@ -139,6 +189,17 @@ let platforms = platforms.darwin; }; }; + + tbdOnlyFramework = name: { private ? true }: stdenv.mkDerivation { + name = "apple-framework-${name}"; + dontUnpack = true; + installPhase = '' + mkdir -p $out/Library/Frameworks/ + cp -r ${darwin-stubs}/System/Library/${lib.optionalString private "Private"}Frameworks/${name}.framework \ + $out/Library/Frameworks + # NOTE there's no re-export checking here, this is probably wrong + ''; + }; in rec { libs = { xpc = stdenv.mkDerivation { @@ -168,7 +229,8 @@ in rec { installPhase = '' mkdir -p $out/include $out/lib ln -s "${lib.getDev sdk}/include/Xplugin.h" $out/include/Xplugin.h - ln -s "/usr/lib/libXplugin.1.dylib" $out/lib/libXplugin.dylib + cp ${darwin-stubs}/usr/lib/libXplugin.1.tbd $out/lib + ln -s libXplugin.1.tbd $out/lib/libXplugin.tbd ''; }; @@ -193,6 +255,10 @@ in rec { ]; }); + Carbon = stdenv.lib.overrideDerivation super.Carbon (drv: { + extraTBDFiles = [ "Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering.tbd" ]; + }); + CoreFoundation = stdenv.lib.overrideDerivation super.CoreFoundation (drv: { setupHook = ./cf-setup-hook.sh; }); @@ -210,6 +276,10 @@ in rec { setupHook = ./private-frameworks-setup-hook.sh; }); + IMServicePlugIn = stdenv.lib.overrideDerivation super.IMServicePlugIn (drv: { + extraTBDFiles = [ "Versions/A/Frameworks/IMServicePlugInSupport.framework/Versions/A/IMServicePlugInSupport.tbd" ]; + }); + Security = stdenv.lib.overrideDerivation super.Security (drv: { setupHook = ./security-setup-hook.sh; }); @@ -228,7 +298,14 @@ in rec { cp ${lib.getDev sdk}/include/simd/*.h $out/include/simd/ ''; }); - }; + + WebKit = stdenv.lib.overrideDerivation super.WebKit (drv: { + extraTBDFiles = [ + "Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore.tbd" + "Versions/A/Frameworks/WebKitLegacy.framework/Versions/A/WebKitLegacy.tbd" + ]; + }); + } // lib.genAttrs [ "ContactsPersistence" "UIFoundation" "GameCenter" ] (x: tbdOnlyFramework x {}); bareFrameworks = stdenv.lib.mapAttrs framework (import ./frameworks.nix { inherit frameworks libs; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index 02e2421f3472..bf0b134773d5 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -5,123 +5,125 @@ { frameworks, libs, libobjc, }: with frameworks; with libs; { - AGL = [ Carbon OpenGL ]; - AVFoundation = [ ApplicationServices CoreGraphics ]; - AVKit = []; - Accounts = []; - AddressBook = [ Carbon ]; - AppKit = [ AudioToolbox AudioUnit Foundation QuartzCore ]; - AppKitScripting = []; - AppleScriptKit = []; - AppleScriptObjC = []; - AudioToolbox = [ CoreAudio CoreMIDI ]; - AudioUnit = [ AudioToolbox Carbon CoreAudio ]; - AudioVideoBridging = [ Foundation ]; - Automator = []; - CFNetwork = []; - CalendarStore = []; - Cocoa = [ AppKit ]; - Collaboration = []; + AGL = { inherit Carbon OpenGL; }; + AVFoundation = { inherit ApplicationServices CoreGraphics; }; + AVKit = {}; + Accounts = {}; + AddressBook = { inherit libobjc Carbon ContactsPersistence; }; + AppKit = { inherit ApplicationServices AudioToolbox AudioUnit Foundation QuartzCore UIFoundation; }; + AppKitScripting = {}; + AppleScriptKit = {}; + AppleScriptObjC = {}; + AudioToolbox = { inherit CoreAudio CoreMIDI; }; + AudioUnit = { inherit AudioToolbox Carbon CoreAudio; }; + AudioVideoBridging = { inherit Foundation; }; + Automator = {}; + CFNetwork = {}; + CalendarStore = {}; + Cocoa = { inherit AppKit CoreData; }; + Collaboration = {}; # Impure version of CoreFoundation, this should not be used unless another # framework includes headers that are not available in the pure version. - CoreFoundation = []; - CoreAudio = [ IOKit ]; - CoreAudioKit = [ AudioUnit ]; - CoreData = []; - CoreGraphics = [ Accelerate IOKit IOSurface SystemConfiguration ]; - CoreImage = []; - CoreLocation = []; - CoreMIDI = []; - CoreMIDIServer = []; - CoreMedia = [ ApplicationServices AudioToolbox AudioUnit CoreAudio CoreGraphics CoreVideo ]; - CoreMediaIO = [ CoreMedia ]; - CoreText = [ CoreGraphics ]; - CoreVideo = [ ApplicationServices CoreGraphics IOSurface OpenGL ]; - CoreWLAN = [ SecurityFoundation ]; - DVDPlayback = []; - DirectoryService = []; - DiscRecording = [ CoreServices IOKit ]; - DiscRecordingUI = []; - DiskArbitration = [ IOKit ]; - EventKit = []; - ExceptionHandling = []; - FWAUserLib = []; - ForceFeedback = [ IOKit ]; - Foundation = [ libobjc CoreFoundation Security ApplicationServices SystemConfiguration ]; - GLKit = []; - GLUT = [ OpenGL ]; - GSS = []; - GameController = []; - GameKit = [ Foundation ]; - Hypervisor = []; - ICADevices = [ Carbon IOBluetooth ]; - IMServicePlugIn = []; - IOBluetoothUI = [ IOBluetooth ]; - IOKit = []; - IOSurface = [ IOKit xpc ]; - ImageCaptureCore = []; - ImageIO = [ CoreGraphics ]; - InputMethodKit = [ Carbon ]; - InstallerPlugins = []; - InstantMessage = []; - JavaFrameEmbedding = []; - JavaNativeFoundation = []; - JavaRuntimeSupport = []; - JavaScriptCore = []; - Kerberos = []; - Kernel = [ IOKit ]; - LDAP = []; - LatentSemanticMapping = [ Carbon ]; - LocalAuthentication = []; - MapKit = []; - MediaAccessibility = [ CoreGraphics CoreText QuartzCore ]; - MediaPlayer = []; - MediaToolbox = [ AudioToolbox AudioUnit CoreMedia ]; - Metal = []; - MetalKit = [ ModelIO Metal ]; - ModelIO = [ ]; - NetFS = []; - OSAKit = [ Carbon ]; - OpenAL = []; - OpenCL = [ IOSurface OpenGL ]; - OpenGL = []; - PCSC = [ CoreData ]; - PreferencePanes = []; - PubSub = []; - QTKit = [ CoreMediaIO CoreMedia MediaToolbox QuickTime VideoToolbox ]; - QuickLook = [ ApplicationServices ]; - SceneKit = []; - ScreenSaver = []; - Scripting = []; - ScriptingBridge = []; - Security = [ IOKit ]; - SecurityFoundation = []; - SecurityInterface = [ Security ]; - ServiceManagement = [ Security ]; - Social = []; - SpriteKit = []; - StoreKit = []; - SyncServices = []; - SystemConfiguration = [ Security ]; - TWAIN = [ Carbon ]; - Tcl = []; - VideoDecodeAcceleration = [ CoreVideo ]; - VideoToolbox = [ CoreMedia CoreVideo ]; - WebKit = [ ApplicationServices Carbon JavaScriptCore OpenGL ]; + CoreFoundation = {}; + CoreAudio = { inherit IOKit; }; + CoreAudioKit = { inherit AudioUnit; }; + CoreData = {}; + CoreGraphics = { inherit Accelerate IOKit IOSurface SystemConfiguration; }; + CoreImage = {}; + CoreLocation = {}; + CoreMIDI = {}; + CoreMIDIServer = { inherit CoreMIDI; }; + CoreMedia = { inherit ApplicationServices AudioToolbox AudioUnit CoreAudio CoreGraphics CoreVideo; }; + CoreMediaIO = { inherit CoreMedia; }; + CoreText = { inherit CoreGraphics; }; + CoreVideo = { inherit ApplicationServices CoreGraphics IOSurface OpenGL; }; + CoreWLAN = { inherit SecurityFoundation; }; + DVDPlayback = {}; + DirectoryService = {}; + DiscRecording = { inherit libobjc CoreServices IOKit; }; + DiscRecordingUI = {}; + DiskArbitration = { inherit IOKit; }; + EventKit = {}; + ExceptionHandling = {}; + FWAUserLib = {}; + ForceFeedback = { inherit IOKit; }; + Foundation = { inherit libobjc CoreFoundation Security ApplicationServices SystemConfiguration; }; + GLKit = {}; + GLUT = { inherit OpenGL; }; + GSS = {}; + GameCenter = {}; + GameController = {}; + GameKit = { inherit Cocoa Foundation GameCenter GameController GameplayKit Metal MetalKit ModelIO SceneKit SpriteKit; }; + GameplayKit = {}; + Hypervisor = {}; + ICADevices = { inherit libobjc Carbon IOBluetooth; }; + IMServicePlugIn = {}; + IOBluetoothUI = { inherit IOBluetooth; }; + IOKit = {}; + IOSurface = { inherit IOKit xpc; }; + ImageCaptureCore = {}; + ImageIO = { inherit CoreGraphics; }; + InputMethodKit = { inherit Carbon; }; + InstallerPlugins = {}; + InstantMessage = {}; + JavaFrameEmbedding = {}; + JavaNativeFoundation = {}; + JavaRuntimeSupport = {}; + JavaScriptCore = { inherit libobjc; }; + Kerberos = {}; + Kernel = { inherit IOKit; }; + LDAP = {}; + LatentSemanticMapping = { inherit Carbon; }; + LocalAuthentication = {}; + MapKit = {}; + MediaAccessibility = { inherit CoreGraphics CoreText QuartzCore; }; + MediaPlayer = {}; + MediaToolbox = { inherit AudioToolbox AudioUnit CoreMedia; }; + Metal = {}; + MetalKit = { inherit ModelIO Metal; }; + ModelIO = {}; + NetFS = {}; + OSAKit = { inherit Carbon; }; + OpenAL = {}; + OpenCL = { inherit IOSurface OpenGL; }; + OpenGL = {}; + PCSC = { inherit CoreData; }; + PreferencePanes = {}; + PubSub = {}; + QTKit = { inherit CoreMediaIO CoreMedia MediaToolbox QuickTime VideoToolbox; }; + QuickLook = { inherit ApplicationServices; }; + SceneKit = {}; + ScreenSaver = {}; + Scripting = {}; + ScriptingBridge = {}; + Security = { inherit IOKit; }; + SecurityFoundation = {}; + SecurityInterface = { inherit Security SecurityFoundation; }; + ServiceManagement = { inherit Security; }; + Social = {}; + SpriteKit = {}; + StoreKit = {}; + SyncServices = {}; + SystemConfiguration = { inherit Security; }; + TWAIN = { inherit Carbon; }; + Tcl = {}; + VideoDecodeAcceleration = { inherit CoreVideo; }; + VideoToolbox = { inherit CoreMedia CoreVideo; }; + WebKit = { inherit libobjc ApplicationServices Carbon JavaScriptCore OpenGL; }; # Umbrellas - Accelerate = [ CoreWLAN IOBluetooth ]; - ApplicationServices = [ CoreServices CoreText ImageIO ]; - Carbon = [ ApplicationServices CoreServices Foundation IOKit Security QuartzCore ]; - CoreBluetooth = []; + Accelerate = { inherit CoreWLAN IOBluetooth; }; + ApplicationServices = { inherit CoreGraphics CoreServices CoreText ImageIO; }; + Carbon = { inherit libobjc ApplicationServices CoreServices Foundation IOKit Security QuartzCore; }; + CoreBluetooth = {}; # TODO: figure out which part of the umbrella depends on CoreFoundation and move it there. - CoreServices = [ CFNetwork CoreFoundation CoreAudio CoreData DiskArbitration Security NetFS OpenDirectory ServiceManagement ]; - IOBluetooth = [ IOKit ]; - JavaVM = []; - OpenDirectory = []; - Quartz = [ QuickLook QTKit ]; - QuartzCore = [ ApplicationServices CoreVideo OpenCL CoreImage Metal ]; - QuickTime = [ ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore ]; + CoreServices = { inherit CFNetwork CoreFoundation CoreAudio CoreData DiskArbitration Security NetFS OpenDirectory ServiceManagement; }; + IOBluetooth = { inherit CoreBluetooth IOKit; }; + JavaVM = {}; + OpenDirectory = {}; + Quartz = { inherit QuartzCore QuickLook QTKit; }; + QuartzCore = { inherit libobjc ApplicationServices CoreVideo OpenCL CoreImage Metal; }; + QuickTime = { inherit ApplicationServices AudioUnit Carbon CoreAudio CoreServices OpenGL QuartzCore; }; - vmnet = []; + vmnet = {}; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/print-reexports/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/print-reexports/default.nix new file mode 100644 index 000000000000..85e11096f06a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/print-reexports/default.nix @@ -0,0 +1,17 @@ +{ stdenv, libyaml }: + +stdenv.mkDerivation { + name = "print-reexports"; + src = stdenv.lib.sourceFilesBySuffices ./. [".c"]; + + buildInputs = [ libyaml ]; + + buildPhase = '' + $CC -lyaml -o $name main.c + ''; + + installPhase = '' + mkdir -p $out/bin + mv $name $out/bin + ''; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c new file mode 100644 index 000000000000..df46e3f18e89 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-sdk/print-reexports/main.c @@ -0,0 +1,148 @@ +/** + * Display the list of re-exported libraries from a TAPI v2 .tbd file, one per + * line on stdout. + * + * TAPI files are the equivalent of library files for the purposes of linking. + * Like dylib files, they may re-export other libraries. In upstream usage + * these refer to the absolute paths of dylibs, and are resolved to .tbd files + * in combination with the syslibroot option. In nixpkgs, the .tbd files refer + * directly to other .tbd files without a syslibroot. Note that each .tbd file + * contains an install name, so the re-exported path does not affect the final + * result. + * + * In nixpkgs each framework is a distinct store path and some frameworks + * re-export other frameworks. The re-exported names are rewritten to refer to + * the store paths of dependencies via textual substitution. This utility is + * used to emit every file that is listed as a re-exported library, which + * allows the framework builder to verify their existence. + */ + +#include <stdio.h> +#include <sys/errno.h> +#include <yaml.h> + +static yaml_node_t *get_mapping_entry(yaml_document_t *document, yaml_node_t *mapping, const char *name) { + if (!mapping) { + fprintf(stderr, "get_mapping_entry: mapping is null\n"); + return NULL; + } + + for ( + yaml_node_pair_t *pair = mapping->data.mapping.pairs.start; + pair < mapping->data.mapping.pairs.top; + ++pair + ) { + yaml_node_t *key = yaml_document_get_node(document, pair->key); + + if (!key) { + fprintf(stderr, "get_mapping_entry: key (%i) is null\n", pair->key); + return NULL; + } + + if (key->type != YAML_SCALAR_NODE) { + fprintf(stderr, "get_mapping_entry: key is not a scalar\n"); + return NULL; + } + + if (strncmp((const char *)key->data.scalar.value, name, key->data.scalar.length) != 0) { + continue; + } + + return yaml_document_get_node(document, pair->value); + } + + return NULL; +} + +static int emit_reexports(yaml_document_t *document) { + yaml_node_t *root = yaml_document_get_root_node(document); + + yaml_node_t *exports = get_mapping_entry(document, root, "exports"); + + if (!exports) { + fprintf(stderr, "emit_reexports: no exports found\n"); + return 0; + } + + if (exports->type != YAML_SEQUENCE_NODE) { + fprintf(stderr, "emit_reexports, value is not a sequence\n"); + return 0; + } + + for ( + yaml_node_item_t *export = exports->data.sequence.items.start; + export < exports->data.sequence.items.top; + ++export + ) { + yaml_node_t *export_node = yaml_document_get_node(document, *export); + + yaml_node_t *reexports = get_mapping_entry(document, export_node, "re-exports"); + + if (!reexports) { + continue; + } + + for ( + yaml_node_item_t *reexport = reexports->data.sequence.items.start; + reexport < reexports->data.sequence.items.top; + ++reexport + ) { + yaml_node_t *val = yaml_document_get_node(document, *reexport); + + if (val->type != YAML_SCALAR_NODE) { + fprintf(stderr, "item is not a scalar\n"); + return 0; + } + + fwrite(val->data.scalar.value, val->data.scalar.length, 1, stdout); + putchar('\n'); + } + } + + return 1; +} + +int main(int argc, char **argv) { + int result = 0; + + if (argc != 2) { + fprintf(stderr, "Invalid usage\n"); + result = 2; + goto done; + } + + FILE *f = fopen(argv[1], "r"); + if (!f) { + perror("opening input file"); + result = errno; + goto done; + } + + yaml_parser_t yaml_parser; + if (!yaml_parser_initialize(&yaml_parser)) { + fprintf(stderr, "Failed to initialize yaml parser\n"); + result = 1; + goto err_file; + } + + yaml_parser_set_input_file(&yaml_parser, f); + + yaml_document_t yaml_document; + + if(!yaml_parser_load(&yaml_parser, &yaml_document)) { + fprintf(stderr, "Failed to load yaml file\n"); + result = 1; + goto err_yaml; + } + + emit_reexports(&yaml_document); + +err_yaml: + yaml_parser_delete(&yaml_parser); + +err_file: + fclose(f); + +done: + return result; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix index 4b82209f176c..a945409ed7a0 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix @@ -1,4 +1,4 @@ -{ stdenv, appleDerivation, IOKitSrcs, xnu }: +{ stdenv, appleDerivation, IOKitSrcs, xnu, darwin-stubs }: # Someday it'll make sense to split these out into their own packages, but today is not that day. appleDerivation { @@ -14,12 +14,15 @@ appleDerivation { ]; installPhase = '' - ###### IMPURITIES mkdir -p $out/Library/Frameworks/IOKit.framework - pushd $out/Library/Frameworks/IOKit.framework - ln -s /System/Library/Frameworks/IOKit.framework/IOKit - ln -s /System/Library/Frameworks/IOKit.framework/Resources - popd + + ###### IMPURITIES + ln -s /System/Library/Frameworks/IOKit.framework/Resources \ + $out/Library/Frameworks/IOKit.framework + + ###### STUBS + cp ${darwin-stubs}/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit.tbd \ + $out/Library/Frameworks/IOKit.framework ###### HEADERS diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix index 99d670028032..24526f05f062 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix @@ -1,7 +1,7 @@ { stdenv, appleDerivation, cpio, xnu, Libc, Libm, libdispatch, cctools, Libinfo , dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto , copyfile, removefile, libresolv, Libnotify, libplatform, libpthread -, mDNSResponder, launchd, libutil, hfs, darling }: +, mDNSResponder, launchd, libutil, hfs, darling, darwin-stubs }: appleDerivation { dontBuild = true; @@ -88,52 +88,18 @@ appleDerivation { # The startup object files cp ${Csu}/lib/* $out/lib - # We can't re-exported libsystem_c and libsystem_kernel directly, - # so we link against the central library here. - mkdir -p $out/lib/system - ld -macosx_version_min 10.7 -arch x86_64 -dylib \ - -o $out/lib/system/libsystem_c.dylib \ - /usr/lib/libSystem.dylib \ - -reexported_symbols_list ${./system_c_symbols} - - ld -macosx_version_min 10.7 -arch x86_64 -dylib \ - -o $out/lib/system/libsystem_kernel.dylib \ - /usr/lib/libSystem.dylib \ - -reexported_symbols_list ${./system_kernel_symbols} - - # The umbrella libSystem also exports some symbols, - # but we don't want to pull in everything from the other libraries. - ld -macosx_version_min 10.7 -arch x86_64 -dylib \ - -o $out/lib/libSystem_internal.dylib \ - /usr/lib/libSystem.dylib \ - -reexported_symbols_list ${./system_symbols} - - # We used to determine these impurely based on the host system, but then when we got some 10.12 Hydra boxes, - # one of them accidentally built this derivation, referenced libsystem_symptoms.dylib, which doesn't exist on - # 10.11, and then broke all subsequent builds on 10.11. By picking a 10.11 compatible subset of the libraries, - # we avoid scary impurity issues like that. - libs=$(cat ${./reexported_libraries} | grep -v '^#') - - for i in $libs; do - if [ "$i" != "/usr/lib/system/libsystem_kernel.dylib" ] && [ "$i" != "/usr/lib/system/libsystem_c.dylib" ]; then - args="$args -reexport_library $i" - fi - done - - ld -macosx_version_min 10.7 -arch x86_64 -dylib \ - -o $out/lib/libSystem.B.dylib \ - -compatibility_version 1.0 \ - -current_version 1226.10.1 \ - -reexport_library $out/lib/system/libsystem_c.dylib \ - -reexport_library $out/lib/system/libsystem_kernel.dylib \ - -reexport_library $out/lib/libSystem_internal.dylib \ - $args + cp -vr \ + ${darwin-stubs}/usr/lib/libSystem.B.tbd \ + ${darwin-stubs}/usr/lib/system \ + $out/lib - ln -s libSystem.B.dylib $out/lib/libSystem.dylib + substituteInPlace $out/lib/libSystem.B.tbd \ + --replace "/usr/lib/system/" "$out/lib/system/" + ln -s libSystem.B.tbd $out/lib/libSystem.tbd # Set up links to pretend we work like a conventional unix (Apple's design, not mine!) for name in c dbm dl info m mx poll proc pthread rpcsvc util gcc_s.10.4 gcc_s.10.5; do - ln -s libSystem.dylib $out/lib/lib$name.dylib + ln -s libSystem.tbd $out/lib/lib$name.tbd done # This probably doesn't belong here, but we want to stay similar to glibc, which includes resolv internally... @@ -144,13 +110,13 @@ appleDerivation { chmod +w $out/lib/libresolv.9.dylib install_name_tool \ -id $out/lib/libresolv.9.dylib \ - -change "$resolv_libSystem" $out/lib/libSystem.dylib \ + -change "$resolv_libSystem" /usr/lib/libSystem.dylib \ $out/lib/libresolv.9.dylib ln -s libresolv.9.dylib $out/lib/libresolv.dylib ''; meta = with stdenv.lib; { - description = "The Mac OS libc/libSystem (impure symlinks to binaries with pure headers)"; + description = "The Mac OS libc/libSystem (tapi library with pure headers)"; maintainers = with maintainers; [ copumpkin gridaphobe ]; platforms = platforms.darwin; license = licenses.apsl20; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/boot.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/boot.nix index e04142b8b11e..b819057f0c1a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/boot.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/Security/boot.nix @@ -1,4 +1,4 @@ -{ appleDerivation }: +{ appleDerivation, darwin-stubs }: appleDerivation { phases = [ "unpackPhase" "installPhase" ]; @@ -12,14 +12,15 @@ appleDerivation { ]; installPhase = '' - ###### IMPURITIES mkdir -p $out/Library/Frameworks/Security.framework - pushd $out/Library/Frameworks/Security.framework - ln -s /System/Library/Frameworks/Security.framework/Security - ln -s /System/Library/Frameworks/Security.framework/Resources - ln -s /System/Library/Frameworks/Security.framework/PlugIns - ln -s /System/Library/Frameworks/Security.framework/XPCServices - popd + + ###### IMPURITIES + ln -s /System/Library/Frameworks/Security.framework/{Resources,Plugins,XPCServices} \ + $out/Library/Frameworks/Security.framework + + ###### STUBS + cp ${darwin-stubs}/System/Library/Frameworks/Security.framework/Versions/A/Security.tbd \ + $out/Library/Frameworks/Security.framework ###### HEADERS diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix index 0cbd7d81b902..6113eed007e5 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix @@ -3,27 +3,22 @@ appleDerivation { # We can't just run the root build, because https://github.com/facebook/xcbuild/issues/264 + patchPhase = '' + substituteInPlace adv_cmds.xcodeproj/project.pbxproj \ + --replace '/usr/lib/libtermcap.dylib' 'libncurses.dylib' + ''; + # pkill requires special private headers that are unavailable in # NixPkgs. These ones are needed: # - xpc/xpxc.h # - os/base_private.h # - _simple.h # We disable it here for now. TODO: build pkill inside adv_cmds - - # We also disable locale here because of some issues with a missing - # "lstdc++". - patchPhase = '' - substituteInPlace adv_cmds.xcodeproj/project.pbxproj \ - --replace "FD201DC214369B4200906237 /* pkill.c in Sources */," "" \ - --replace "FDF278D60FC6204E00D7A3C6 /* locale.cc in Sources */," "" \ - --replace '/usr/lib/libtermcap.dylib' 'libncurses.dylib' - ''; - buildPhase = '' targets=$(xcodebuild -list \ | awk '/Targets:/{p=1;print;next} p&&/^\s*$/{p=0};p' \ | tail -n +2 | sed 's/^[ \t]*//' \ - | grep -v -e Desktop -e Embedded -e mklocale -e colldef) + | grep -v -e Desktop -e Embedded -e mklocale -e pkill -e pgrep -e colldef) for i in $targets; do xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target $i @@ -34,7 +29,7 @@ appleDerivation { installPhase = '' for f in Products/Release/*; do if [ -f $f ]; then - install -D $file $out/bin/$(basename $f) + install -D $f $out/bin/$(basename $f) fi done diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix index a7cedaaea114..2fc4afa77d9f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix @@ -1,4 +1,4 @@ -{ appleDerivation }: +{ appleDerivation, darwin-stubs }: appleDerivation { phases = [ "unpackPhase" "installPhase" ]; @@ -14,7 +14,8 @@ appleDerivation { installPhase = '' mkdir -p $out/include/objc $out/lib - ln -s /usr/lib/libobjc.dylib $out/lib/libobjc.dylib + cp ${darwin-stubs}/usr/lib/libobjc.A.tbd $out/lib/libobjc.A.tbd + ln -s libobjc.A.tbd $out/lib/libobjc.tbd cp runtime/OldClasses.subproj/List.h $out/include/objc/List.h cp runtime/NSObjCRuntime.h $out/include/objc/NSObjCRuntime.h cp runtime/NSObject.h $out/include/objc/NSObject.h diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/darwin-stubs/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/darwin-stubs/default.nix new file mode 100644 index 000000000000..f7f083e32f43 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/darwin-stubs/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + pname = "darwin-stubs"; + version = "10.12"; + + src = fetchFromGitHub { + owner = "NixOS"; + repo = "darwin-stubs"; + rev = "80b3d4a57d3454c975eefd984c804dbd76f04ef2"; + sha256 = "0sslg4rmskms8ixixv1gvnrvvvmn723vbfjj6mcn24fj2ncg38y7"; + }; + + dontBuild = true; + + installPhase = '' + mkdir $out + cp -vr stubs/$version/* $out + ''; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/discrete-scroll/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/discrete-scroll/default.nix index e72402b77933..f38bf8d81322 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/discrete-scroll/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/discrete-scroll/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/emreyolcu/discrete-scroll"; platforms = platforms.darwin; license = licenses.mit; + maintainers = with lib.maintainers; [ bb2020 ]; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix index 1f1e00d13f9a..a6bc16d42f91 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/libtapi/default.nix @@ -1,7 +1,9 @@ { lib, stdenv, fetchFromGitHub, cmake, python3, ncurses }: -stdenv.mkDerivation { - name = "libtapi-1000.10.8"; +stdenv.mkDerivation rec { + pname = "libtapi"; + version = "1000.10.8"; # determined by looking at VERSION.txt + src = fetchFromGitHub { owner = "tpoechtrager"; repo = "apple-libtapi"; @@ -33,11 +35,13 @@ stdenv.mkDerivation { installTargets = [ "install-libtapi" "install-tapi-headers" ]; - postInstall = '' + postInstall = lib.optionalString stdenv.isDarwin '' install_name_tool -id $out/lib/libtapi.dylib $out/lib/libtapi.dylib ''; meta = with lib; { + description = "Replaces the Mach-O Dynamic Library Stub files in Apple's SDKs to reduce the size"; + homepage = "https://github.com/tpoechtrager/apple-libtapi"; license = licenses.apsl20; maintainers = with maintainers; [ matthewbauer ]; }; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix index 768ca6cf9c97..685837768504 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "reattach-to-user-namespace"; - version = "2.8"; + version = "2.9"; - src = fetchurl { - url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/archive/v${version}.tar.gz"; - sha256 = "0xxxdd26rcplhpvi2vy6crxadk3d1qkq4xry10lwq6dyya2jf6wb"; + src = fetchFromGitHub { + owner = "ChrisJohnsen"; + repo = "tmux-MacOSX-pasteboard"; + rev = "v${version}"; + sha256 = "1qgimh58hcx5f646gj2kpd36ayvrdkw616ad8cb3lcm11kg0ag79"; }; buildFlags = [ "ARCHES=x86_64" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/spacebar/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/spacebar/default.nix index 7af7e408223a..6d47499b8350 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/spacebar/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/spacebar/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "spacebar"; - version = "1.1.1"; + version = "1.2.1"; src = fetchFromGitHub { owner = "cmacrae"; repo = pname; rev = "v${version}"; - sha256 = "1x0wzm380nv81j26jqqg4y4dwanydnpdsca41ndw6xyj9zlv73f7"; + sha256 = "0f5ddn3sx13rwwh0nfl784160s8ml3m5593d5fz2b1996aznzrsx"; }; buildInputs = [ Carbon Cocoa ScriptingBridge ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix index 742a3948707e..d4471da4781f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "yabai"; - version = "3.3.0"; + version = "3.3.4"; src = fetchFromGitHub { owner = "koekeishiya"; repo = pname; rev = "v${version}"; - sha256 = "0y4idivqkmi3xsc8yjdzh1b15qzgyqlw7ifs26v3dc91lkjhfc4x"; + sha256 = "1pvyjdxgy7yxxz4x87f8an0dlxvxbnmv5kya8hkzw2na453ihvab"; }; buildInputs = [ Carbon Cocoa ScriptingBridge xxd ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix new file mode 100644 index 000000000000..9e7450775147 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/akvcam/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, kernel, qmake }: + +stdenv.mkDerivation rec { + pname = "akvcam"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "webcamoid"; + repo = "akvcam"; + rev = version; + sha256 = "ULEhfF+uC/NcVUGAtmP1+BnrcgRgftNS97nLp81avQ8="; + }; + + nativeBuildInputs = [ qmake ]; + + qmakeFlags = [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + installPhase = '' + install -m644 -b -D src/akvcam.ko $out/lib/modules/${kernel.modDirVersion}/akvcam.ko + ''; + + meta = with lib; { + description = "Virtual camera driver for Linux"; + homepage = "https://github.com/webcamoid/akvcam"; + maintainers = with maintainers; [ freezeboy ]; + platforms = platforms.linux; + license = licenses.gpl2; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-topology-conf/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-topology-conf/default.nix index 54340d017ade..4b6678d09b23 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-topology-conf/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-topology-conf/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "alsa-topology-conf-${version}"; - version = "1.2.3"; + version = "1.2.4"; src = fetchurl { url = "mirror://alsa/lib/${name}.tar.bz2"; - sha256 = "1zwxc9zhfcmyffjjbibzpdvf4kx7wv9g2zl6xz7y0d6srfr9jgw3"; + sha256 = "01zdg6q4s6d01k39z96wi4vbhrfw1i2g4yi5dijwfk6a5vjfdq2m"; }; dontBuild = true; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-ucm-conf/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-ucm-conf/default.nix index 2a9f28c855a5..3ee800438175 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-ucm-conf/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-ucm-conf/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "alsa-ucm-conf-${version}"; - version = "1.2.3"; + version = "1.2.4"; src = fetchurl { url = "mirror://alsa/lib/${name}.tar.bz2"; - sha256 = "000db5yla7dljidjbbwbiaxvc1a7wh1zpw694gipaymj9fh4vhhv"; + sha256 = "0h6kzi1cfdqyxp4pwpqh5wb89c8s9wrgix315bvamffwfxf56frc"; }; dontBuild = true; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix index f4670581dea4..055927b7a31e 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/alsa-utils/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "alsa-utils"; - version = "1.2.3"; + version = "1.2.4"; src = fetchurl { url = "mirror://alsa/utils/${pname}-${version}.tar.bz2"; - sha256 = "1ai1z4kf91b1m3qrpwqkc1af5vm2fkdkknqv95xdwf19q94aw6gz"; + sha256 = "09m4dnn4kplawprd2bl15nwa0b4r1brab3x44ga7f1fyk7aw5zwq"; }; nativeBuildInputs = [ gettext ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix index 6eb74ca25f6b..896beaf3056e 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/anbox/kmod.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation { homepage = "https://github.com/anbox/anbox-modules"; license = licenses.gpl2; platforms = platforms.linux; - broken = (versionOlder kernel.version "4.4") || (kernel.features.grsecurity); + broken = (versionOlder kernel.version "4.4") || (kernel.features.grsecurity or false); maintainers = with maintainers; [ edwtjo ]; }; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix index 1cfa6b5856fe..b6fe86d1b26a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "android-udev-rules"; - version = "20200410"; + version = "20201003"; src = fetchFromGitHub { owner = "M0Rf30"; repo = "android-udev-rules"; rev = version; - sha256 = "1ik9a0k9gkaw5a80m25pxx5yfiwq34ffb7iqhwicz4lwz5wsw8d3"; + sha256 = "07s5fdjbk5q4km6gz9759ngdavrqdgbnkd2b7z9z5lqw1q0b2422"; }; installPhase = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix index 0e10add55613..64fa92be8658 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/apparmor/default.nix @@ -14,7 +14,7 @@ let apparmor-series = "2.13"; - apparmor-patchver = "4"; + apparmor-patchver = "5"; apparmor-version = apparmor-series + "." + apparmor-patchver; apparmor-meta = component: with stdenv.lib; { @@ -27,19 +27,10 @@ let apparmor-sources = fetchurl { url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz"; - sha256 = "03nislxccnbxld89giak2s8xa4mdbwscfxbdwhmw5qpvgz08dgwh"; - }; - - # See <https://gitlab.com/apparmor/apparmor/-/issues/74> This and the - # accompanying application in prePatchCommon should be removed in 2.13.5 - gnumake43Patch = fetchpatch { - url = "https://gitlab.com/apparmor/apparmor/-/merge_requests/465.patch"; - name = "2-23-fix-build-with-make-4.3.patch"; - sha256 = "0xw028iqp69j9mxv0kbwraplgkj5i5djdlgf0anpkc5cdbsf96r9"; + sha256 = "05x7r99k00r97v1cq2f711lv6yqzhbl8zp1i1c7kxra4v0a2lzk3"; }; prePatchCommon = '' - patch -p1 < ${gnumake43Patch} chmod a+x ./common/list_capabilities.sh ./common/list_af_names.sh patchShebangs ./common/list_capabilities.sh ./common/list_af_names.sh substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${buildPackages.perl}/bin/pod2man" diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/autofs/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/autofs/default.nix index baf3cc6ad55e..ab78c590017f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/autofs/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/autofs/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs -, libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl }: +, libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto }: let version = "5.1.6"; @@ -28,13 +28,16 @@ in stdenv.mkDerivation { unset STRIP # Makefile.rules defines a usable STRIP only without the env var. ''; + # configure script is not finding the right path + NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ]; + installPhase = '' make install SUBDIRS="lib daemon modules man" # all but samples #make install SUBDIRS="samples" # impure! ''; buildInputs = [ linuxHeaders libtirpc libxml2 kerberos kmod openldap sssd - openssl cyrus_sasl ]; + openssl cyrus_sasl rpcsvc-proto ]; nativeBuildInputs = [ flex bison ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix index e617881a570c..d93f8a6c46ed 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/batman-adv/version.nix @@ -1,9 +1,9 @@ { - version = "2020.3"; + version = "2020.4"; sha256 = { - batman-adv = "0wrzh0k44zzjx2s5zj65hjkh4jm9y38qpis1s5cbx9cyj756slb5"; - alfred = "13bvccz90pkjl09jyw68gj23pbrw9b05w1vhds9sjggwf3jkj5w2"; - batctl = "0r2w2v4sy6wgr7mp9lc7yj9k4ldsbsm3425rjil7p0b17zmzf4rm"; + batman-adv = "1cxr0zmn9nzisawkrfk0gzd9fx0pg6261c889kz47hwp4f545v6d"; + alfred = "1ay69nifzghpbvy11fdca5cllkn852h6rg045lci4vzgqf7b2bd2"; + batctl = "05rrpfbpdhxn5zgdps849qls2ifis6a94cjryb60d4y1nc2n0d7w"; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bcc/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bcc/default.nix index a90b2fce34d5..2bc705d4487a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bcc/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bcc/default.nix @@ -6,13 +6,13 @@ python.pkgs.buildPythonApplication rec { pname = "bcc"; - version = "0.16.0"; + version = "0.17.0"; disabled = !stdenv.isLinux; src = fetchurl { url = "https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-with-submodule.tar.gz"; - sha256 = "sha256-ekVRyugpZOU1nr0N9kWCSoJTmtD2qGsn/DmWgK7XZ/c="; + sha256 = "sha256-aEy8WwtKGaf7GZOTK5IHhwzenqU2U+vpWrcNWMCGvMw="; }; format = "other"; @@ -26,12 +26,6 @@ python.pkgs.buildPythonApplication rec { # This is needed until we fix # https://github.com/NixOS/nixpkgs/issues/40427 ./fix-deadlock-detector-import.patch - - # This is already upstream; remove it on the next release - (fetchpatch { - url = "https://github.com/iovisor/bcc/commit/60de17161fe7f44b534a8da343edbad2427220e3.patch"; - sha256 = "0pd5b4vgpdxbsrjwrw2kmn4l9hpj0rwdm3hvwvk7dsr3raz7w4b3"; - }) ]; propagatedBuildInputs = [ python.pkgs.netaddr ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bluez/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bluez/default.nix index 401ab39bca36..8e110fb13ace 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bluez/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bluez/default.nix @@ -19,11 +19,11 @@ ]; in stdenv.mkDerivation rec { pname = "bluez"; - version = "5.54"; + version = "5.55"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz"; - sha256 = "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8"; + sha256 = "124v9s4y1s7s6klx5vlmzpk1jlr4x84ch7r7scm7x2f42dqp2qw8"; }; buildInputs = [ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bolt/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bolt/default.nix index 114a90129ac2..1508125695e7 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bolt/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bolt/default.nix @@ -1,28 +1,50 @@ -{ stdenv, meson, ninja, pkgconfig, fetchFromGitLab, - python3, umockdev, gobject-introspection, dbus, - asciidoc, libxml2, libxslt, docbook_xml_dtd_45, docbook_xsl, - glib, systemd, polkit +{ stdenv +, meson +, ninja +, pkgconfig +, fetchFromGitLab +, fetchpatch +, python3 +, umockdev +, gobject-introspection +, dbus +, asciidoc +, libxml2 +, libxslt +, docbook_xml_dtd_45 +, docbook_xsl +, glib +, systemd +, polkit }: stdenv.mkDerivation rec { pname = "bolt"; - version = "0.8"; + version = "0.9"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "bolt"; repo = "bolt"; rev = version; - sha256 = "1qamls0fll0qc27lqavf56hv1yj6v6n4ry90g7bcnwpvccmd82yd"; + sha256 = "sha256-lcJE+bMK2S2GObHMy/Fu12WGb3T1HrWjsNyZPz4/f4E="; }; nativeBuildInputs = [ - meson ninja pkgconfig - asciidoc libxml2 libxslt docbook_xml_dtd_45 docbook_xsl + asciidoc + docbook_xml_dtd_45 + docbook_xsl + libxml2 + libxslt + meson + ninja + pkgconfig ] ++ stdenv.lib.optional (!doCheck) python3; buildInputs = [ - glib systemd polkit + glib + polkit + systemd ]; doCheck = true; @@ -32,13 +54,25 @@ stdenv.mkDerivation rec { ''; checkInputs = [ - dbus umockdev gobject-introspection + dbus + gobject-introspection + umockdev (python3.withPackages (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ])) ]; - # meson install tries to create /var/lib/boltd - patches = [ ./0001-skip-mkdir.patch ]; + patches = [ + # meson install tries to create /var/lib/boltd + ./0001-skip-mkdir.patch + + # https://github.com/NixOS/nixpkgs/issues/104429 + # Upstream issue: https://gitlab.freedesktop.org/bolt/bolt/-/issues/167 + (fetchpatch { + name = "disable-atime-tests.diff"; + url = "https://gitlab.freedesktop.org/roberth/bolt/-/commit/1f672a7de2ebc4dd51590bb90f3b873a8ac0f4e6.diff"; + sha256 = "134f5s6kjqs6612pwq5pm1miy58crn1kxbyyqhzjnzmf9m57fnc8"; + }) + ]; postPatch = '' patchShebangs scripts tests @@ -55,7 +89,7 @@ stdenv.mkDerivation rec { description = "Thunderbolt 3 device management daemon"; homepage = "https://gitlab.freedesktop.org/bolt/bolt"; license = licenses.lgpl21Plus; - maintainers = [ maintainers.callahad ]; + maintainers = with maintainers; [ callahad ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix index fc7c8ecba2da..9fbeda708e05 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "bpftrace"; - version = "0.11.0"; + version = "0.11.4"; src = fetchFromGitHub { owner = "iovisor"; repo = "bpftrace"; rev = "refs/tags/v${version}"; - sha256 = "02f2r731yj3fdc8341id1ksk4dma9rwm2765n2xgx2ldrrz5823y"; + sha256 = "0y4qgm2cpccrsm20rnh92hqplddqsc5q5zhw9nqn2igm3h9i0z7h"; }; enableParallelBuilding = true; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/btfs/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/btfs/default.nix index b4107e8ba001..762baa587112 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/btfs/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/btfs/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "btfs"; - version = "2.22"; + version = "2.23"; src = fetchFromGitHub { owner = "johang"; repo = pname; rev = "v${version}"; - sha256 = "1z88bk1z4sns3jdn56x83mvh06snxg0lr5h4v0c24lzlf5wbdifz"; + sha256 = "1cfjhyn9cjyyxyd0f08b2ra258pzkljwvkj0iwrjpd0nrbl6wkq5"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/catfs/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/catfs/default.nix new file mode 100644 index 000000000000..0ca585fab47b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/catfs/default.nix @@ -0,0 +1,47 @@ +{ lib, rustPlatform, fetchFromGitHub +, fetchpatch +, fuse +, pkg-config +}: + +rustPlatform.buildRustPackage rec { + pname = "catfs"; + version = "unstable-2020-03-21"; + + src = fetchFromGitHub { + owner = "kahing"; + repo = pname; + rev = "daa2b85798fa8ca38306242d51cbc39ed122e271"; + sha256 = "0zca0c4n2p9s5kn8c9f9lyxdf3df88a63nmhprpgflj86bh8wgf5"; + }; + + cargoSha256 = "0v6lxwj4vcph32np68awpncafvf1dwcik9a2asa0lkb7kmfdjsjk"; + + cargoPatches = [ + # update cargo lock + (fetchpatch { + url = "https://github.com/kahing/catfs/commit/f838c1cf862cec3f1d862492e5be82b6dbe16ac5.patch"; + sha256 = "1r1p0vbr3j9xyj9r1ahipg4acii3m4ni4m9mp3avbi1rfgzhblhw"; + }) + ]; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ fuse ]; + + # require fuse module to be active to run tests + # instead, run command + doCheck = false; + doInstallCheck = true; + installCheckPhase = '' + $out/bin/catfs --help > /dev/null + ''; + + meta = with lib; { + description = "Caching filesystem written in Rust"; + homepage = "https://github.com/kahing/catfs"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/checksec/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/checksec/default.nix index 5a66e536956f..eb33aedd1d49 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/checksec/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/checksec/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "checksec"; - version = "2.2.3"; + version = "2.4.0"; src = fetchFromGitHub { owner = "slimm609"; repo = "checksec.sh"; rev = version; - sha256 = "0hw8bd7dj71m1ml9zvfab2j87jacs542z7a89nziapckmg6kmh6f"; + sha256 = "1gbbq85d3g3mnm3xvgvi2085aba7qc3cmsbwn76al50ax1518j2q"; }; patches = [ ./0001-attempt-to-modprobe-config-before-checking-kernel.patch ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuid/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuid/default.nix index df0017eadc1f..3f57d0c70380 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuid/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuid/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "cpuid"; - version = "20200427"; + version = "20201006"; src = fetchurl { name = "${pname}-${version}.src.tar.gz"; url = "http://etallen.com/cpuid/${pname}-${version}.src.tar.gz"; - sha256 = "1m31238z2ya8f8pzpyklwp0ksf5xicqrw1z941hhhx913wzldaf1"; + sha256 = "19jnkh57f979b78ak5mpxmdvnkgc33r55cw9shgd2hc380b3zi8k"; }; # For pod2man during the build process. diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix index 57cffe5f9e08..90352a944d5b 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cpuset/default.nix @@ -19,7 +19,7 @@ python2Packages.buildPythonApplication rec { }; meta = with stdenv.lib; { - description = "Cpuset is a Python application that forms a wrapper around the standard Linux filesystem calls to make using the cpusets facilities in the Linux kernel easier"; + description = "Python application that forms a wrapper around the standard Linux filesystem calls to make using the cpusets facilities in the Linux kernel easier"; homepage = "https://github.com/wykurz/cpuset"; license = licenses.gpl2; maintainers = with maintainers; [ wykurz ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/criu/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/criu/default.nix index 462658396c8a..abc11a4a5f06 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/criu/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/criu/default.nix @@ -1,19 +1,20 @@ { stdenv, lib, fetchurl, protobuf, protobufc, asciidoc, iptables , xmlto, docbook_xsl, libpaper, libnl, libcap, libnet, pkgconfig -, which, python, makeWrapper, docbook_xml_dtd_45 }: +, which, python3, makeWrapper, docbook_xml_dtd_45 }: stdenv.mkDerivation rec { pname = "criu"; - version = "3.14"; + version = "3.15"; src = fetchurl { url = "https://download.openvz.org/criu/${pname}-${version}.tar.bz2"; - sha256 = "1jrr3v99g18gc0hriz0avq6ccdvyya0j6wwz888sdsc4icc30gzn"; + sha256 = "09d0j24x0cyc7wkgi7cnxqgfjk7kbdlm79zxpj8d356sa3rw2z24"; }; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig docbook_xsl which makeWrapper docbook_xml_dtd_45 ]; - buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet python iptables ]; + nativeBuildInputs = [ pkgconfig docbook_xsl which makeWrapper docbook_xml_dtd_45 python3 python3.pkgs.wrapPython ]; + buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet iptables ]; + propagatedBuildInputs = with python3.pkgs; [ python python3.pkgs.protobuf ]; postPatch = '' substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" "" @@ -39,6 +40,7 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/criu \ --prefix PATH : ${lib.makeBinPath [ iptables ]} + wrapPythonPrograms ''; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix new file mode 100644 index 000000000000..bc1b7f7ecf54 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cshatag/default.nix @@ -0,0 +1,32 @@ +{ lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "cshatag"; + version = "2019-12-03"; + + goPackagePath = "github.com/rfjakob/cshatag"; + goDeps = ./deps.nix; + + src = fetchFromGitHub { + owner = "rfjakob"; + repo = pname; + rev = "b169f0a9dd35a7381774eb176d4badf64d403560"; + sha256 = "16kam3w75avh8khkk6jfdnxwggz2pw6ccv6v7d064j0fbb9y8x0v"; + }; + + makeFlags = [ "PREFIX=$(out)" "GITVERSION=${version}" ]; + + postInstall = '' + # Install man page + cd go/src/${goPackagePath} + make install $makeFlags + ''; + + meta = with lib; { + description = "A tool to detect silent data corruption"; + homepage = "https://github.com/rfjakob/cshatag"; + license = licenses.mit; + platforms = platforms.linux; + }; + +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cshatag/deps.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cshatag/deps.nix new file mode 100644 index 000000000000..6daad9856782 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/cshatag/deps.nix @@ -0,0 +1,21 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.3.0 +[ + { + goPackagePath = "github.com/pkg/xattr"; + fetch = { + type = "git"; + url = "https://github.com/pkg/xattr"; + rev = "d304131d5e58ca76d8b31ceefbb0c85c7b2d2a36"; + sha256 = "0bxskiai283zfra13z5f7q7f77zz2cgswaj6l6jr2nwnc3l5m80i"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "201ba4db2418b54b698efb4d8082dcb504617cdb"; + sha256 = "1cqaiwp19kl38g4d6brfhi32822rhnh2q8x1j0i6yg7a8dzfvbz6"; + }; + } +] diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix index 3db9a7d3005c..dcdafb98d707 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/displaylink/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, unzip, utillinux, +{ stdenv, lib, unzip, util-linux, libusb1, evdi, systemd, makeWrapper, requireFile, substituteAll }: let @@ -7,7 +7,7 @@ let else if stdenv.hostPlatform.system == "i686-linux" then "x86" else throw "Unsupported architecture"; bins = "${arch}-ubuntu-1604"; - libPath = lib.makeLibraryPath [ stdenv.cc.cc utillinux libusb1 evdi ]; + libPath = lib.makeLibraryPath [ stdenv.cc.cc util-linux libusb1 evdi ]; in stdenv.mkDerivation rec { pname = "displaylink"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix index aacbc3cdfbe2..efe578c596b1 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dpdk/default.nix @@ -43,7 +43,7 @@ in stdenv.mkDerivation rec { mesonFlags = [ "-Denable_docs=true" - "-Denable_kmods=${if mod then "true" else "false"}" + "-Denable_kmods=${lib.boolToString mod}" ] ++ lib.optional (!shared) "-Ddefault_library=static" ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem" diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/default.nix index 2e235e27f364..6d2d8eb75b00 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/default.nix @@ -12,6 +12,8 @@ python2Packages.buildPythonApplication rec { propagatedBuildInputs = with python2Packages; [ python-wifi ]; + patches = [ ./fix_pluginpath.patch ]; + makeFlags = [ "prefix=$(out)" ]; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/fix_pluginpath.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/fix_pluginpath.patch new file mode 100644 index 000000000000..06d7793da47e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/dstat/fix_pluginpath.patch @@ -0,0 +1,15 @@ +diff --git a/dstat b/dstat +index 3ac7087..c5f089d 100755 +--- a/dstat ++++ b/dstat +@@ -66,9 +66,7 @@ if sys.version_info < (2, 3): + + pluginpath = [ + os.path.expanduser('~/.dstat/'), # home + /.dstat/ +- os.path.abspath(os.path.dirname(sys.argv[0])) + '/plugins/', # binary path + /plugins/ +- '/usr/share/dstat/', +- '/usr/local/share/dstat/', ++ os.path.abspath(os.path.dirname(sys.argv[0])) + '/../share/dstat/', # binary path + /../share/dstat/ + ] + + class Options: diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/earlyoom/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/earlyoom/default.nix index 575da8aca732..1eecacad60c0 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/earlyoom/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/earlyoom/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "earlyoom"; - version = "1.6.1"; + version = "1.6.2"; src = fetchFromGitHub { owner = "rfjakob"; repo = "earlyoom"; rev = "v${version}"; - sha256 = "1cn0bgbgiq69i8mk8zxly1f7j01afm82g672qzccz6swsi2637j4"; + sha256 = "16iyn51xlrsbshc7p5xl2338yyfzknaqc538sa7mamgccqwgyvvq"; }; nativeBuildInputs = stdenv.lib.optionals withManpage [ pandoc installShellFiles ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ell/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ell/default.nix index 9faeb831b4b2..21f98889ca57 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ell/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ell/default.nix @@ -7,14 +7,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.33"; + version = "0.35"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git"; rev = version; - sha256 = "0li788l57m2ic1i33fag4nnblqghbwqjyqkgppi8s2sifcvswfbw"; + sha256 = "16z7xwlrpx1bsr2y1rgxxxixzwc84cwn2g557iqxhwsxfzy6q3dk"; }; patches = [ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/eudev/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/eudev/default.nix index d087a9e2e26d..696dfd275c74 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/eudev/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/eudev/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, glib, gperf, utillinux, kmod}: +{stdenv, fetchurl, pkgconfig, glib, gperf, util-linux, kmod}: let s = # Generated upstream information rec { @@ -11,7 +11,7 @@ let nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - glib gperf utillinux kmod + glib gperf util-linux kmod ]; in stdenv.mkDerivation { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/default.nix index 272b8612d7a7..a3be5484a047 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/default.nix @@ -1,12 +1,12 @@ -{stdenv, fetchurl, fetchpatch, which, nixosTests}: +{stdenv, fetchurl, fetchpatch, which, xdg-dbus-proxy, nixosTests}: let s = # Generated upstream information rec { baseName="firejail"; - version="0.9.62"; + version="0.9.64"; name="${baseName}-${version}"; url="mirror://sourceforge/firejail/firejail/firejail-${version}.tar.xz"; - sha256="1q2silgy882fl61p5qa9f9jqkxcqnwa71jig3c729iahx4f0hs05"; + sha256="1zgjwy2k57nx0r63fzr15gijah098ig0bll66jd615vc9q3snfz5"; }; buildInputs = [ which @@ -21,16 +21,12 @@ stdenv.mkDerivation { }; patches = [ - (fetchpatch { - name = "CVE-2020-17367.patch"; - url = "https://github.com/netblue30/firejail/commit/2c734d6350ad321fccbefc5ef0382199ac331b37.patch"; - sha256 = "1gxz4jxp80gxnn46195qxcpmikwqab9d0ylj9zkm62lycp84ij6n"; - }) - (fetchpatch { - name = "CVE-2020-17368.patch"; - url = "https://github.com/netblue30/firejail/commit/34193604fed04cad2b7b6b0f1a3a0428afd9ed5b.patch"; - sha256 = "0n4ch3qykxx870201l8lz81f7h84vk93pzz77f5cjbd30cxnbddl"; - }) + # Adds the /nix directory when using an overlay. + # Required to run any programs under this mode. + ./mount-nix-dir-on-overlay.patch + # By default fbuilder hardcodes the firejail binary to the install path. + # On NixOS the firejail binary is a setuid wrapper available in $PATH. + ./fbuilder-call-firejail-on-path.patch ]; prePatch = '' @@ -38,6 +34,10 @@ stdenv.mkDerivation { substituteInPlace etc/firejail.config --replace \ '# follow-symlink-as-user yes' \ 'follow-symlink-as-user no' + + # Fix the path to 'xdg-dbus-proxy' hardcoded in the 'common.h' file + substituteInPlace src/include/common.h \ + --replace '/usr/bin/xdg-dbus-proxy' '${xdg-dbus-proxy}/bin/xdg-dbus-proxy' ''; preConfigure = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch new file mode 100644 index 000000000000..6016891655b1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/fbuilder-call-firejail-on-path.patch @@ -0,0 +1,11 @@ +--- a/src/fbuilder/build_profile.c ++++ b/src/fbuilder/build_profile.c +@@ -67,7 +67,7 @@ + errExit("asprintf"); + + char *cmdlist[] = { +- BINDIR "/firejail", ++ "firejail", + "--quiet", + "--noprofile", + "--caps.drop=all", diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch new file mode 100644 index 000000000000..685314f90758 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firejail/mount-nix-dir-on-overlay.patch @@ -0,0 +1,27 @@ +--- a/src/firejail/fs.c ++++ b/src/firejail/fs.c +@@ -1143,6 +1143,16 @@ + errExit("mounting /dev"); + fs_logger("whitelist /dev"); + ++ // mount-bind /nix ++ if (arg_debug) ++ printf("Mounting /nix\n"); ++ char *nix; ++ if (asprintf(&nix, "%s/nix", oroot) == -1) ++ errExit("asprintf"); ++ if (mount("/nix", nix, NULL, MS_BIND|MS_REC, NULL) < 0) ++ errExit("mounting /nix"); ++ fs_logger("whitelist /nix"); ++ + // mount-bind run directory + if (arg_debug) + printf("Mounting /run\n"); +@@ -1201,6 +1211,7 @@ + free(odiff); + free(owork); + free(dev); ++ free(nix); + free(run); + free(tmp); + } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 76ea5230becc..6938750dd649 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "firmware-linux-nonfree"; - version = "2020-09-18"; + version = "2020-11-18"; src = fetchgit { url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; rev = lib.replaceStrings ["-"] [""] version; - sha256 = "06k2x6y9dhzs6nnbs1ws7rxbz0xijzmyn24sa223n0bmbb96n4f0"; + sha256 = "107p7h13gncsxqhixqq9zmmswvs910sck54ab10s4m5cafvnaf94"; }; installFlags = [ "DESTDIR=$(out)" ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1avpf2x1g7dlpva76pcnldxngkjabsyaknkkjbrhg1mj6z9g1mx7"; + outputHash = "1319qr3mhbbvbnl8q151pgfpahwzfv9zg0fvpj34z5h0wnvmlr2v"; meta = with stdenv.lib; { description = "Binary firmware collection packaged by kernel.org"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch index a727e5f4a85b..6faa6079355c 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch @@ -1,5 +1,5 @@ diff --git a/data/meson.build b/data/meson.build -index bb749fd4..b611875b 100644 +index 14454458..12a798c0 100644 --- a/data/meson.build +++ b/data/meson.build @@ -17,7 +17,7 @@ endif @@ -73,10 +73,10 @@ index 826a3c1d..b78db663 100644 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) diff --git a/meson.build b/meson.build -index 87ea67e5..3a4374db 100644 +index a6fb55dd..aedb7530 100644 --- a/meson.build +++ b/meson.build -@@ -175,6 +175,12 @@ endif +@@ -183,6 +183,12 @@ endif mandir = join_paths(prefix, get_option('mandir')) localedir = join_paths(prefix, get_option('localedir')) @@ -90,19 +90,16 @@ index 87ea67e5..3a4374db 100644 gio = dependency('gio-2.0', version : '>= 2.45.8') giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false) diff --git a/meson_options.txt b/meson_options.txt -index 3da9b6c4..6c80275b 100644 +index 0a0e2853..198ae930 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -24,6 +24,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable - option('systemd', type : 'boolean', value : true, description : 'enable systemd support') - option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units') - option('elogind', type : 'boolean', value : false, description : 'enable elogind support') +@@ -1,3 +1,4 @@ +option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation') - option('tests', type : 'boolean', value : true, description : 'enable tests') - option('udevdir', type: 'string', value: '', description: 'Directory for udev rules') - option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules') + option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type') + option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent') + option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support') diff --git a/plugins/ata/meson.build b/plugins/ata/meson.build -index 8444bb8a..fa4a8ad1 100644 +index f32b97fe..679ccc7b 100644 --- a/plugins/ata/meson.build +++ b/plugins/ata/meson.build @@ -7,7 +7,7 @@ install_data([ @@ -125,11 +122,37 @@ index ed4eee70..76dbdb1d 100644 - install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) +diff --git a/plugins/msr/meson.build b/plugins/msr/meson.build +index d829e153..e2917bbe 100644 +--- a/plugins/msr/meson.build ++++ b/plugins/msr/meson.build +@@ -5,7 +5,7 @@ install_data(['msr.quirk'], + ) + + install_data(['fwupd-msr.conf'], +- install_dir: join_paths(sysconfdir, 'modules-load.d') ++ install_dir: join_paths(sysconfdir_install, 'modules-load.d') + ) + + shared_module('fu_plugin_msr', +diff --git a/plugins/platform-integrity/meson.build b/plugins/platform-integrity/meson.build +index 6f1c4bc5..c5d043fc 100644 +--- a/plugins/platform-integrity/meson.build ++++ b/plugins/platform-integrity/meson.build +@@ -7,7 +7,7 @@ install_data([ + ) + + install_data(['fwupd-platform-integrity.conf'], +- install_dir: join_paths(sysconfdir, 'modules-load.d') ++ install_dir: join_paths(sysconfdir_install, 'modules-load.d') + ) + + shared_module('fu_plugin_platform_integrity', diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build -index 25fc5c7d..77eb9a83 100644 +index 92762791..08bb37ea 100644 --- a/plugins/redfish/meson.build +++ b/plugins/redfish/meson.build -@@ -27,7 +27,7 @@ shared_module('fu_plugin_redfish', +@@ -26,7 +26,7 @@ shared_module('fu_plugin_redfish', ) install_data(['redfish.conf'], @@ -139,10 +162,10 @@ index 25fc5c7d..77eb9a83 100644 if get_option('tests') diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build -index 06ab34ee..297a9182 100644 +index 6b2368fb..2bd06fed 100644 --- a/plugins/thunderbolt/meson.build +++ b/plugins/thunderbolt/meson.build -@@ -46,7 +46,7 @@ executable('tbtfwucli', +@@ -31,7 +31,7 @@ fu_plugin_thunderbolt = shared_module('fu_plugin_thunderbolt', ) install_data(['thunderbolt.conf'], @@ -152,10 +175,10 @@ index 06ab34ee..297a9182 100644 # we use functions from 2.52 in the tests if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52') diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build -index 5838cecc..9ba3d5cd 100644 +index 2d1b2d22..c4217a72 100644 --- a/plugins/uefi/meson.build +++ b/plugins/uefi/meson.build -@@ -101,7 +101,7 @@ if get_option('man') +@@ -97,7 +97,7 @@ if get_option('man') endif install_data(['uefi.conf'], diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix index d502d049ace4..85f5bbbf5b18 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -3,6 +3,7 @@ { stdenv , fetchurl , fetchpatch +, fetchFromGitHub , substituteAll , gtk-doc , pkg-config @@ -88,7 +89,7 @@ let self = stdenv.mkDerivation rec { pname = "fwupd"; - version = "1.4.6"; + version = "1.5.1"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -97,7 +98,7 @@ let src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "AKG5stioIveQc7ooYb/2UoOaBzbPUFzYk8tZK0rzvK0="; + sha256 = "0fpxcl6bighiipyl4qspjhi0lwisrgq8jdahm68mk34rmrx50sgf"; }; patches = [ @@ -118,6 +119,12 @@ let # Needs a different set of modules than po/make-images. inherit installedTestsPython; }) + + # Skip tests requiring network. + (fetchpatch { + url = "https://github.com/fwupd/fwupd/commit/db15442c7c217610954786bd40779c14ed0e034b.patch"; + sha256 = "/jzpGMJcqLisjecKpSUfA8ZCU53n7BOPR6tMgEX/qL8="; + }) ]; nativeBuildInputs = [ @@ -229,6 +236,19 @@ let addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share" ''; + postInstall = + let + testFw = fetchFromGitHub { + owner = "fwupd"; + repo = "fwupd-test-firmware"; + rev = "42b62c62dc85ecfb8e38099fe5de0625af87a722"; + sha256 = "XUpxE003DZSeLJMtyV5UN5CNHH89/nEVKpCbMStm91Q="; + }; + in '' + # These files have weird licenses so they are shipped separately. + cp --recursive --dereference "${testFw}/installed-tests/tests" "$installedTests/libexec/installed-tests/fwupd" + ''; + preFixup = let binPath = [ efibootmgr @@ -254,6 +274,8 @@ let done ''; + separateDebugInfo = true; + passthru = { filesInstalledToEtc = [ "fwupd/ata.conf" @@ -277,8 +299,8 @@ let "fwupd/remotes.d/dell-esrt.conf" ]; - # BlacklistPlugins key in fwupd/daemon.conf - defaultBlacklistedPlugins = [ + # DisabledPlugins key in fwupd/daemon.conf + defaultDisabledPlugins = [ "test" "invalid" ]; @@ -302,9 +324,9 @@ let config = configparser.RawConfigParser() config.read('${self}/etc/fwupd/daemon.conf') - package_blacklisted_plugins = config.get('fwupd', 'BlacklistPlugins').rstrip(';').split(';') - passthru_blacklisted_plugins = ${listToPy passthru.defaultBlacklistedPlugins} - assert package_blacklisted_plugins == passthru_blacklisted_plugins, f'Default blacklisted plug-ins in the package {package_blacklisted_plugins} do not match those listed in passthru.defaultBlacklistedPlugins {passthru_blacklisted_plugins}' + package_disabled_plugins = config.get('fwupd', 'DisabledPlugins').rstrip(';').split(';') + passthru_disabled_plugins = ${listToPy passthru.defaultDisabledPlugins} + assert package_disabled_plugins == passthru_disabled_plugins, f'Default disabled plug-ins in the package {package_disabled_plugins} do not match those listed in passthru.defaultDisabledPlugins {passthru_disabled_plugins}' pathlib.Path(os.getenv('out')).touch() ''; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch index 432056cbe7fe..d8f1a533b824 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch @@ -1,3 +1,5 @@ +diff --git a/data/device-tests/hardware.py b/data/device-tests/hardware.py +index 7f1e1907..10fee1b8 100755 --- a/data/device-tests/hardware.py +++ b/data/device-tests/hardware.py @@ -1,4 +1,4 @@ @@ -6,25 +8,41 @@ # pylint: disable=wrong-import-position,too-many-locals,unused-argument,wrong-import-order # # Copyright (C) 2017 Richard Hughes <richard@hughsie.com> +diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build +index adadbcdd..1b51bb9c 100644 --- a/data/installed-tests/meson.build +++ b/data/installed-tests/meson.build -@@ -1,4 +1,4 @@ --installed_test_datadir = join_paths(datadir, 'installed-tests', 'fwupd') -+installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'fwupd') - - con2 = configuration_data() - con2.set('installedtestsdir', installed_test_datadir) -@@ -52,5 +52,5 @@ configure_file( +@@ -65,5 +65,5 @@ configure_file( output : 'fwupd-tests.conf', configuration : con2, install: true, - install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), + install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'), ) +diff --git a/meson.build b/meson.build +index 772b7bbe..f59302cd 100644 +--- a/meson.build ++++ b/meson.build +@@ -177,8 +177,8 @@ else + datadir = join_paths(prefix, get_option('datadir')) + sysconfdir = join_paths(prefix, get_option('sysconfdir')) + localstatedir = join_paths(prefix, get_option('localstatedir')) +- installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name()) +- installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name()) ++ installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name()) ++ installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name()) + endif + mandir = join_paths(prefix, get_option('mandir')) + localedir = join_paths(prefix, get_option('localedir')) +diff --git a/meson_options.txt b/meson_options.txt +index 0a0e2853..5f68d78b 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -1,3 +1,4 @@ -+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests') - option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type') - option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent') - option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support') +@@ -25,6 +26,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable + option('systemd', type : 'boolean', value : true, description : 'enable systemd support') + option('systemd_root_prefix', type: 'string', value: '', description: 'Directory to base systemd’s installation directories on') + option('elogind', type : 'boolean', value : false, description : 'enable elogind support') ++option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests') + option('tests', type : 'boolean', value : true, description : 'enable tests') + option('tpm', type : 'boolean', value : true, description : 'enable TPM support') + option('udevdir', type: 'string', value: '', description: 'Directory for udev rules') diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 6036eff2d984..70bcaa15d96e 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "raspberrypi-firmware"; - version = "1.20200902"; + version = "1.20201022"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; rev = version; - sha256 = "1dj5vyhz2ljka7hwhl6s14hd017fspix1xp7zbm7lzdyys9jb9ni"; + sha256 = "0j5m50cmmr11m3h8kk89j1pqkdqr7mzdzg04ayiqvfhvy32qqlg8"; }; installPhase = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix index a9fc44e48cc8..684d638ce29f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/sof-firmware/default.nix @@ -3,24 +3,22 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "sof-firmware"; - version = "1.5.1"; + version = "1.6"; src = fetchFromGitHub { owner = "thesofproject"; repo = "sof-bin"; - rev = "ae61d2778b0a0f47461a52da0d1f191f651e0763"; - sha256 = "0j6bpwz49skvdvian46valjw4anwlrnkq703n0snkbngmq78prba"; + rev = "cbdec6963b2c2d58b0080955d3c11b96ff4c92f0"; + sha256 = "0la2pw1zpv50cywiqcfb00cxqvjc73drxwjchyzi54l508817nxh"; }; phases = [ "unpackPhase" "installPhase" ]; installPhase = '' - mkdir -p $out/lib/firmware/intel + mkdir -p $out/lib/firmware - sed -i 's/ROOT=.*$/ROOT=$out/g' go.sh - sed -i 's/VERSION=.*$/VERSION=v${version}/g' go.sh - - ./go.sh + patchShebangs go.sh + ROOT=$out SOF_VERSION=v${version} ./go.sh ''; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix index f19af3d10fc9..3ca8f41be7c6 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/firmware/system76-firmware/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "system76-firmware"; # Check Makefile when updating, make sure postInstall matches make install - version = "1.0.18"; + version = "1.0.20"; src = fetchFromGitHub { owner = "pop-os"; repo = pname; rev = version; - sha256 = "08y65ak3y08xcl1nprwraqv9l65yqnfllbgmxyd2bppjpprwq474"; + sha256 = "0yjv3a8r01ks91gc33rdwqmw52cqqwhq9f3rvw2xv3h8cqa5hfz0"; }; nativeBuildInputs = [ pkgconfig makeWrapper ]; @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { cargoBuildFlags = [ "--workspace" ]; - cargoSha256 = "00933zkhqd1l29ir2dgp5r1k7g24mlb2k8fmggwzplrwzw1al5h4"; + cargoSha256 = "1ivn3i6kpnswiipqw5s67p6gsz3y6an0ahf6vwz7dlw2xaha0xbx"; # Purposefully don't install systemd unit file, that's for NixOS postInstall = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix index f01c96259a80..baa92decd9fc 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fnotifystat/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "fnotifystat"; - version = "0.02.06"; + version = "0.02.07"; src = fetchurl { url = "https://kernel.ubuntu.com/~cking/tarballs/fnotifystat/fnotifystat-${version}.tar.gz"; - sha256 = "1mr2qzh8r8qq7haz4qgci2k5lcrcy493fm0m3ri40a81vaajfniy"; + sha256 = "0ipfg2gymbgx7bqlx1sq5p2y89k5j18iqnb0wa27n5s3kh9sh8w0"; }; installFlags = [ "DESTDIR=$(out)" ]; postInstall = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix index d42091085baf..09c9c660285e 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/forkstat/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "forkstat"; - version = "0.02.15"; + version = "0.02.16"; src = fetchurl { url = "https://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.xz"; - sha256 = "11dvg7bbklpfywx6i6vb29vvc28pbfk3mff0g18n5imxvzsd7jxs"; + sha256 = "1rrzvlws9725dy2jq5k4zfv669ngrb2klhla6wvir8nwh53jms4w"; }; installFlags = [ "DESTDIR=$(out)" ]; postInstall = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/common.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/common.nix index 19c64106701e..b40bd84cbb8d 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/common.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/common.nix @@ -1,7 +1,7 @@ { version, sha256Hash }: { stdenv, fetchFromGitHub, fetchpatch -, fusePackages, utillinux, gettext +, fusePackages, util-linux, gettext , meson, ninja, pkg-config , autoreconfHook , python3Packages, which @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { # $PATH, so it should also work on non-NixOS systems. export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/run/wrappers/bin\"" - sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c + sed -e 's@/bin/@${util-linux}/bin/@g' -i lib/mount_util.c '' + (if isFuse3 then '' # The configure phase will delete these files (temporary workaround for # ./fuse3-install_man.patch) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/default.nix index 7549f379f8a7..f159a4cbf775 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fuse/default.nix @@ -1,8 +1,8 @@ -{ callPackage, utillinux }: +{ callPackage, util-linux }: let mkFuse = args: callPackage (import ./common.nix args) { - inherit utillinux; + inherit util-linux; }; in { fuse_2 = mkFuse { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fwts/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fwts/default.nix index 5de0eea0beac..58d4bdbae855 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fwts/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/fwts/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "fwts"; - version = "20.08.00"; + version = "20.09.00"; src = fetchzip { url = "http://fwts.ubuntu.com/release/${pname}-V${version}.tar.gz"; - sha256 = "098vxj5sd2nm88jmj6cxzcvid8w81m8fxdz881iki0pi7ysixa5q"; + sha256 = "1vzzlb7xdrk8rhi27jdw9baskild4dmk7g5d0hhfh6z3fx4lfhgk"; stripRoot = false; }; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix new file mode 100644 index 000000000000..dd2979b58712 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, kernel +, kmod +}: + +let + kerneldir = "lib/modules/${kernel.modDirVersion}"; +in stdenv.mkDerivation rec { + pname = "gcadapter-oc-kmod"; + version = "1.4"; + + src = fetchFromGitHub { + owner = "HannesMann"; + repo = pname; + rev = "v${version}"; + sha256 = "1nqhj3vqq9rnj37cnm2c4867mnxkr8di3i036shcz44h9qmy9d40"; + }; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + makeFlags = [ + "KERNEL_SOURCE_DIR=${kernel.dev}/${kerneldir}/build" + "INSTALL_MOD_PATH=$(out)" + ]; + + installPhase = '' + install -D {,$out/${kerneldir}/extra/}gcadapter_oc.ko + ''; + + meta = with stdenv.lib; { + description = "Kernel module for overclocking the Nintendo Wii U/Mayflash GameCube adapter"; + homepage = "https://github.com/HannesMann/gcadapter-oc-kmod"; + license = licenses.gpl2; + maintainers = with maintainers; [ r-burns ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix index 99464b67db1e..012cfb7e6032 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/hdparm/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "hdparm-9.58"; + pname = "hdparm"; + version = "9.60"; src = fetchurl { - url = "mirror://sourceforge/hdparm/${name}.tar.gz"; - sha256 = "03z1qm8zbgpxagk3994lvp24yqsshjibkwg05v9p3q1w7y48xrws"; - + url = "mirror://sourceforge/hdparm/hdparm-${version}.tar.gz"; + sha256 = "1k1mcv7naiacw1y6bdd1adnjfiq1kkx2ivsadjwmlkg4fff775w3"; }; preBuild = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/i2c-tools/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/i2c-tools/default.nix index 3a00dbefa635..d1dc94290fab 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/i2c-tools/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/i2c-tools/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "i2c-tools"; - version = "4.1"; + version = "4.2"; src = fetchurl { url = "https://www.kernel.org/pub/software/utils/i2c-tools/${pname}-${version}.tar.xz"; - sha256 = "1m97hpwqfaqjl9xvr4pvz2vdrsdvxbcn0nnx8pamnyc3s7pikcjp"; + sha256 = "1mmc1n8awl3winyrp1rcxg94vjsx9dc1y7gj7y88blc2f2ydmwip"; }; buildInputs = [ perl ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iproute/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iproute/default.nix index a9fcf455ee43..b3de7ceedaad 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iproute/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iproute/default.nix @@ -5,19 +5,19 @@ stdenv.mkDerivation rec { pname = "iproute2"; - version = "5.8.0"; + version = "5.9.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; - sha256 = "0vk4vickrpahdhl3zazr2qn2bf99v5549ncirjpwiy4h0a4izkfg"; + sha256 = "1kys6dmhrl43iaq95n5sh02p39d7bq8i5y672qrzgwnwpjaaqpd2"; }; preConfigure = '' # Don't try to create /var/lib/arpd: sed -e '/ARPDDIR/d' -i Makefile - # TODO: Drop temporary version fix for 5.8 (53159d81) once 5.9 is out: + # TODO: Drop temporary version fix for 5.9 once 5.10 is out: substituteInPlace include/version.h \ - --replace "v5.7.0-77-gb687d1067169" "5.8.0" + --replace "5.8.0" "${version}" ''; outputs = [ "out" "dev" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ipset/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ipset/default.nix index 2c433ba8c29a..647e5e3597df 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ipset/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ipset/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ipset"; - version = "7.6"; + version = "7.9"; src = fetchurl { url = "http://ipset.netfilter.org/${pname}-${version}.tar.bz2"; - sha256 = "1ny2spcm6bmpj8vnazssg99k59impr7n84jzkdmdjly1m7548z8f"; + sha256 = "02mkp7vmsh609dcp02xi290sxmsgq2fsch3875dxkwfxkrl16p5p"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iptables/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iptables/default.nix index c9c342ad7682..97c93db50b8a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iptables/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iptables/default.nix @@ -6,12 +6,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "1.8.5"; + version = "1.8.6"; pname = "iptables"; src = fetchurl { url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2"; - sha256 = "02a3575ypdpg6a2x752mhk3f7h1381ymkq1n0gss6fp6292xfmyl"; + sha256 = "0rvp0k8a72h2snrdx48cfn75bfa0ycrd2xl3kjysbymq7q6gxx50"; }; nativeBuildInputs = [ pkgconfig pruneLibtoolFiles flex bison ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iputils/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iputils/default.nix index e12c44888a0b..3bb653ebcf78 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iputils/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iputils/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, fetchpatch , meson, ninja, pkgconfig, gettext, libxslt, docbook_xsl_ns -, libcap, systemd, libidn2 +, libcap, libidn2 }: with stdenv.lib; @@ -22,18 +22,27 @@ in stdenv.mkDerivation rec { sha256 = "1jhbcz75a4ij1myyyi110ma1d8d5hpm3scz9pyw7js6qym50xvh4"; }; + patches = [ + # Proposed upstream patch to reduce dependency on systemd: https://github.com/iputils/iputils/pull/297 + (fetchpatch { + url = "https://github.com/iputils/iputils/commit/13d6aefd57fd471ecad06e19073dcc44608dff5e.patch"; + sha256 = "1n62zxmzp7hgz9qapbbpqv3fxqvc3qyd2a73jhp357x6by84kj49"; + }) + ]; + mesonFlags = [ "-DBUILD_RARPD=true" "-DBUILD_TRACEROUTE6=true" "-DBUILD_TFTPD=true" "-DNO_SETCAP_OR_SUID=true" "-Dsystemdunitdir=etc/systemd/system" + "-DINSTALL_SYSTEMD_UNITS=true" ] # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111): ++ optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false"; nativeBuildInputs = [ meson ninja pkgconfig gettext libxslt.bin docbook_xsl_ns ]; - buildInputs = [ libcap systemd ] + buildInputs = [ libcap ] ++ optional (!stdenv.hostPlatform.isMusl) libidn2; meta = { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iwd/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iwd/default.nix index adf37a1b71b6..64ac3342acf2 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iwd/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/iwd/default.nix @@ -13,15 +13,15 @@ stdenv.mkDerivation rec { pname = "iwd"; - version = "1.9"; + version = "1.10"; src = fetchgit { url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git"; rev = version; - sha256 = "193wa13i2prfz1zr7nvwbgrxgacms57zj1n7x28yy5hmm3nnwbrd"; + sha256 = "0gzpdgfwzlqj2n3amf2zhi2hlpa412878yphgx79y6b5gn1y1lm2"; }; - outputs = [ "out" "man" ]; + outputs = [ "out" "man" "test" ]; nativeBuildInputs = [ autoreconfHook @@ -61,7 +61,8 @@ stdenv.mkDerivation rec { doCheck = true; postInstall = '' - cp -a test/* $out/bin/ + mkdir -p $test/bin + cp -a test/* $test/bin/ mkdir -p $out/share cp -a doc $out/share/ cp -a README AUTHORS TODO $out/share/doc/ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix index f8e211fb289f..7984e2678070 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/jfbview/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub -, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf, ncurses, openjpeg +, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf_1_17, ncurses, openjpeg , openssl , imageSupport ? true, imlib2 ? null }: @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; buildInputs = [ - freetype harfbuzz jbig2dec libjpeg libX11 mupdf ncurses openjpeg + freetype harfbuzz jbig2dec libjpeg libX11 mupdf_1_17 ncurses openjpeg openssl ] ++ stdenv.lib.optionals imageSupport [ imlib2 diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix index 59656f54db28..284ef472d049 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix @@ -69,12 +69,12 @@ let in { inherit makeLinuxHeaders; - linuxHeaders = let version = "5.5"; in + linuxHeaders = let version = "5.9.8"; in makeLinuxHeaders { inherit version; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0c131fi6s7vgvka1c0597vnvcmwn1pp968rci5kq64iwj3pd9yx6"; + sha256 = "19l67gzk97higd2cbggipcb0wi21pv0ag0mc4qh6cqk564xp6mkn"; }; patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix index 8bd5d0212044..47e49dbe01d7 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix @@ -132,6 +132,7 @@ let IP_MROUTE_MULTIPLE_TABLES = yes; IP_MULTICAST = yes; IP_MULTIPLE_TABLES = yes; + IPV6 = yes; IPV6_ROUTER_PREF = yes; IPV6_ROUTE_INFO = yes; IPV6_OPTIMISTIC_DAD = yes; @@ -774,6 +775,8 @@ let X86_CHECK_BIOS_CORRUPTION = yes; X86_MCE = yes; + RAS = yes; # Needed for EDAC support + # Our initrd init uses shebang scripts, so can't be modular. BINFMT_SCRIPT = yes; # For systemd-binfmt diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix index cab11cc87ae2..dd3050a93eef 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix @@ -45,6 +45,11 @@ stdenv.hostPlatform != stdenv.buildPlatform , extraMeta ? {} +, isXen ? features.xen_dom0 or false +, isZen ? false +, isLibre ? false +, isHardened ? false + # easy overrides to stdenv.hostPlatform.platform members , autoModules ? stdenv.hostPlatform.platform.kernelAutoModules , preferBuiltin ? stdenv.hostPlatform.platform.kernelPreferBuiltin or false @@ -175,7 +180,9 @@ let passthru = { features = kernelFeatures; - inherit commonStructuredConfig; + inherit commonStructuredConfig isXen isZen isHardened isLibre; + kernelOlder = lib.versionOlder version; + kernelAtLeast = lib.versionAtLeast version; passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]); }; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json index 036cc44ecea9..c07c65d9be3f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -1,22 +1,27 @@ { "4.14": { - "name": "linux-hardened-4.14.201.a.patch", - "sha256": "16jkhib0fc8l96a092srqpg850wh0n49pa0yghpviz29rlids6vs", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.201.a/linux-hardened-4.14.201.a.patch" + "name": "linux-hardened-4.14.208.a.patch", + "sha256": "09lmbfp6d4wpr2l7x1njq8q3sdiqz3rrjzkh6dqsdgwd9sdammb3", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.208.a/linux-hardened-4.14.208.a.patch" }, "4.19": { - "name": "linux-hardened-4.19.151.a.patch", - "sha256": "12sh1zvc72p7kkbgpm4cjppv1vlqbywsqfsva76pjx1mw0wsj7sj", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.151.a/linux-hardened-4.19.151.a.patch" + "name": "linux-hardened-4.19.159.a.patch", + "sha256": "0ma4lf97l625474xha5pfb8kph2lm3892g6z63fwd5s1vmva6ni6", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.159.a/linux-hardened-4.19.159.a.patch" }, "5.4": { - "name": "linux-hardened-5.4.71.a.patch", - "sha256": "1w4sfkx4qj9vx47z06bkf4biaiz58z2qp536g7dss26zdbx1im26", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.71.a/linux-hardened-5.4.71.a.patch" + "name": "linux-hardened-5.4.79.a.patch", + "sha256": "154i6ggj27qgsw562jcd93abcd54b4jllkr87h4k2ia6c0mfq4yb", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.79.a/linux-hardened-5.4.79.a.patch" }, "5.8": { - "name": "linux-hardened-5.8.15.a.patch", - "sha256": "0b7bfzknz2am9pfypazqzky9bcd6659sakcdx2a7p1i3bj6zxnn1", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.8.15.a/linux-hardened-5.8.15.a.patch" + "name": "linux-hardened-5.8.18.a.patch", + "sha256": "1r2n74nbyi3dp5zql9sk504xkpil6ylbyd99zqqva4nd3qg17c99", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.8.18.a/linux-hardened-5.8.18.a.patch" + }, + "5.9": { + "name": "linux-hardened-5.9.10.a.patch", + "sha256": "08gdr5sq156lap08nirw4gjq26vr8k65kbjh4js2ndrb0v49f2lk", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.9.10.a/linux-hardened-5.9.10.a.patch" } } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix index dd0d2c2a627b..26694d965e73 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.201"; + version = "4.14.210"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0nr3w5m7dz28v7qfhp99ih4c369qrhq751wfikbz8ga3di0dqa72"; + sha256 = "067xqi6sgf50p7s3n6y77cgf5bj5062s3bz3kqpp6f9wnk85267r"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix index d4e72cb3cbd2..15a5e1972a64 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.151"; + version = "4.19.161"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0vm3nsi9la3azxrsvndbd6fpz79pch7309f2144xyxszsk339cf7"; + sha256 = "0h9wskmz9wridwnicnjlcmj1112qnlvqk01bhjkxv6b8jsajjh87"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix index 49591f634794..599d68636200 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.4.239"; + version = "4.4.247"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "03myd9ngmjmnddh4iqqsgcfg9rd11vyvwym38yh4m1p08j1zbg0k"; + sha256 = "1jh7vmyx55krk6y2r9v48liifs5wwkgns3gp8rs5sm4klfm36r2a"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix index 114629bad577..9169506536a7 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.239"; + version = "4.9.247"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0lfbn5amykvwz1svvxayzhsz1dvm4mgzsnq1g0wqffclxm148hr3"; + sha256 = "1mngdbsq8pdzd0x9hif4715cc7wzc3ahgp1yrknnqk598q0fnfpp"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix index 35025efb6572..8453ec0c6cb3 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.4.71"; + version = "5.4.81"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1ivcimngj5h7lxslkrdljpfw9hfvdhrm8wrp7gp4d3gk7kpljw3k"; + sha256 = "09w4bpr3v9rzcvxics5wddabplwbpk1mynl45lh9csbjfpjbsw4l"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.8.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.8.nix index 3e13d9eb9ce2..dd11359dbf41 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.8.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.8.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.8.15"; + version = "5.8.18"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0hfnq4n902pws8sjxd1lsdxxa0v45g988imp73xnqfqv2d71r0bj"; + sha256 = "0d2mm16mjyl2d734ak0lj8vd76h3r0san7l7g2zczd5pjkva7d2a"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.9.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.9.nix index a7aefa209cc9..e71044b0d968 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.9.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.9.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.9"; + version = "5.9.12"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "01hsddf4sf9q5l1innyyl34b51y48v5wi34qpr421gsh2bpa8f9j"; + sha256 = "1gfrn3sz3h4cbsf3r8f9jxja400qsmbrk8sclk4cjx1l5qcmczyr"; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix index ba37c71d1345..a272bd286f32 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, libelf, utillinux, ... } @ args: +{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, libelf, util-linux, ... } @ args: buildLinux (args // rec { version = "4.14.165-172"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix index 4e308d657ac4..f0d362b02ce0 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "17724"; - sha256 = "0aqg8il35a1mda4icqprvriham81vvnsa04rjc86b6x7khxdhiq2"; + rev = "17768"; + sha256 = "0j85bjxylvl88xzf3nji1xadz3ws1kfbyhbn47haipigncvccndj"; } , ... }: @@ -17,6 +17,7 @@ let in linux.override { argsOverride = { modDirVersion = "${linux.modDirVersion}-gnu"; + isLibre = true; src = stdenv.mkDerivation { name = "${linux.name}-libre-src"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix deleted file mode 100644 index e53c3ceb5c46..000000000000 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: -let - mptcpVersion = "0.94.6"; - modDirVersion = "4.14.127"; -in -buildLinux ({ - version = "${modDirVersion}-mptcp_v${mptcpVersion}"; - inherit modDirVersion; - - extraMeta = { - branch = "4.4"; - maintainers = with stdenv.lib.maintainers; [ teto layus ]; - }; - - src = fetchFromGitHub { - owner = "multipath-tcp"; - repo = "mptcp"; - rev = "v${mptcpVersion}"; - sha256 = "071cx9205wpzhi5gc2da79w2abs3czd60jg0xml7j1szc5wl4yfn"; - }; - - structuredExtraConfig = stdenv.lib.mkMerge [ - (import ./mptcp-config.nix { inherit stdenv; }) - structuredExtraConfig - ]; -} // args) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix index b1f40ac1c96c..3bb3ac7de27a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix @@ -6,7 +6,7 @@ , ... } @ args: let - version = "5.4.70-rt40"; # updated by ./update-rt.sh + version = "5.4.78-rt44"; # updated by ./update-rt.sh branch = lib.versions.majorMinor version; kversion = builtins.elemAt (lib.splitString "-" version) 0; in buildLinux (args // { @@ -14,14 +14,14 @@ in buildLinux (args // { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; - sha256 = "01shqhibrxirl9bik8jwiag70n9n0l7782xh73gkb8jvbh4dicy0"; + sha256 = "0z8skj0w9jfrz9pfxaqfzqh82l13bz5lhza2wjsxk02cyhhnm226"; }; kernelPatches = let rt-patch = { name = "rt"; patch = fetchurl { url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; - sha256 = "19px04cmv1v65ad7dr3y0bjr9xviawhb26iijvnxiwyjvm0054kw"; + sha256 = "0cvvk647cz7nckhyxrsvdnsc6hzhy09y3c1155xzhydiv5gxc56h"; }; }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix index b056568b1663..5bf74ffd377b 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -3,15 +3,15 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.9-rc8"; - extraMeta.branch = "5.9"; + version = "5.10-rc6"; + extraMeta.branch = "5.10"; # modDirVersion needs to be x.y.z, will always add .0 modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "0yhjanmrg0cjmdn7yq8nx0h7q3aq9cimqhn9k4nis1a976p8wpgw"; + sha256 = "14ykzs98r918sqv7lddlps4r7hza1zgw0x67mmj77cmqiv6d8ffi"; }; # Should the testing kernels ever be built on Hydra? diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix index 947aa7c19ab3..c4f08e568a03 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix @@ -1,23 +1,24 @@ { stdenv, fetchFromGitHub, buildLinux, ... } @ args: let - version = "5.8.13"; + version = "5.9.12"; in buildLinux (args // { modDirVersion = "${version}-zen1"; inherit version; + isZen = true; src = fetchFromGitHub { owner = "zen-kernel"; repo = "zen-kernel"; rev = "v${version}-zen1"; - sha256 = "161bvrmic7gspkgkv0pqssk6dzv95vkxld69rir968khwlnpsnim"; + sha256 = "07cmcw8ib9wc4im08pbmxhj187lhsfxh2asn4jdxadxxq3f60h6w"; }; extraMeta = { - branch = "5.8/master"; - maintainers = with stdenv.lib.maintainers; [ atemu ]; + branch = "5.9/master"; + maintainers = with stdenv.lib.maintainers; [ atemu andresilva ]; }; } // (args.argsOverride or {})) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix index 92dc334135ad..3bdb8c4f2973 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kernel/manual-config.nix @@ -34,6 +34,13 @@ in { randstructSeed ? "", # Use defaultMeta // extraMeta extraMeta ? {}, + + # for module compatibility + isXen ? features.xen_dom0 or false, + isZen ? false, + isLibre ? false, + isHardened ? false, + # Whether to utilize the controversial import-from-derivation feature to parse the config allowImportFromDerivation ? false, # ignored @@ -86,6 +93,9 @@ let passthru = { inherit version modDirVersion config kernelPatches configfile moduleBuildDependencies stdenv; + inherit isXen isZen isHardened isLibre; + kernelOlder = stdenv.lib.versionOlder version; + kernelAtLeast = stdenv.lib.versionAtLeast version; }; inherit src; @@ -233,10 +243,10 @@ let rm -fR drivers # Keep all headers - find . -type f -name '*.h' -print0 | xargs -0 chmod u-w + find . -type f -name '*.h' -print0 | xargs -0 -r chmod u-w # Keep linker scripts (they are required for out-of-tree modules on aarch64) - find . -type f -name '*.lds' -print0 | xargs -0 chmod u-w + find . -type f -name '*.lds' -print0 | xargs -0 -r chmod u-w # Keep root and arch-specific Makefiles chmod u-w Makefile @@ -246,7 +256,7 @@ let chmod u-w -R scripts # Delete everything not kept - find . -type f -perm -u=w -print0 | xargs -0 rm + find . -type f -perm -u=w -print0 | xargs -0 -r rm # Delete empty directories find -empty -type d -delete @@ -292,7 +302,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr ] ++ optional (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools ++ optional (stdenv.lib.versionAtLeast version "4.14" && stdenv.lib.versionOlder version "5.8") libelf - # Removed utillinuxMinimal since it should not be a dependency. + # Removed util-linuxMinimal since it should not be a dependency. ++ optionals (stdenv.lib.versionAtLeast version "4.16") [ bison flex ] ++ optional (stdenv.lib.versionAtLeast version "5.2") cpio ++ optional (stdenv.lib.versionAtLeast version "5.8") elfutils diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix index 29f99629df87..8b01fe94d4c7 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/kmscon/default.nix @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { description = "KMS/DRM based System Console"; homepage = "http://www.freedesktop.org/wiki/Software/kmscon/"; license = licenses.mit; + maintainers = with maintainers; [ omasanori ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ldm/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ldm/default.nix index bbc341caf11f..352ce5353377 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ldm/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ldm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, udev, utillinux, mountPath ? "/media/" }: +{ stdenv, fetchgit, udev, util-linux, mountPath ? "/media/" }: assert mountPath != ""; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { sha256 = "0lxfypnbamfx6p9ar5k9wra20gvwn665l4pp2j4vsx4yi5q7rw2n"; }; - buildInputs = [ udev utillinux ]; + buildInputs = [ udev util-linux ]; postPatch = '' substituteInPlace ldm.c \ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libaio/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libaio/default.nix index ac000976a680..b9aa6b5de56c 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libaio/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libaio/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, fetchpatch }: stdenv.mkDerivation rec { - version = "0.3.111"; + version = "0.3.112"; pname = "libaio"; src = fetchurl { url = "https://pagure.io/libaio/archive/${pname}-${version}/${pname}-${pname}-${version}.tar.gz"; - sha256 = "1fih2y2js0dl9qshpyb14m0nnxlms2527shgcxg0hnbflv5igg76"; + sha256 = "0wi2myh191sja13qj3claxhpfkngvy10x30f78hm9cxzkfr97kxp"; }; postPatch = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap-ng/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap-ng/default.nix index c9b061fe03bf..cfcaea694e51 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap-ng/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap-ng/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "libcap-ng"; # When updating make sure to test that the version with # all of the python bindings still works - version = "0.7.10"; + version = "0.7.11"; src = fetchurl { url = "${meta.homepage}/${pname}-${version}.tar.gz"; - sha256 = "1gzzy12agfa9ddipdf72h9y68zqqnvsjjylv4vnq6hj4w2safk58"; + sha256 = "1s8akhnnazk0b5c6z5i3x54rjb26p8pz2wdl1m21ml3231qmr0c5"; }; nativeBuildInputs = [ swig ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap/default.nix index 174f1be99dba..7931e35a8441 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libcap/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libcap"; - version = "2.27"; + version = "2.44"; src = fetchurl { url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${pname}-${version}.tar.xz"; - sha256 = "0sj8kidl7qgf2qwxcbw1vadnlb30y4zvjzxswsmfdghq04npkhfs"; + sha256 = "1qf80lifygbnxwvqjf8jz5j24n6fqqx4ixnkbf76xs2vrmcq664j"; }; outputs = [ "out" "dev" "lib" "man" "doc" "pam" ]; @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { meta = { description = "Library for working with POSIX capabilities"; + homepage = "https://sites.google.com/site/fullycapable"; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.bsd3; }; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix index 52de79e1f2df..1911391c935c 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libfabric/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "libfabric"; - version = "1.11.0"; + version = "1.11.1"; enableParallelBuilding = true; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "ofiwg"; repo = pname; rev = "v${version}"; - sha256 = "1wgn6gsiy64rb76i46dsqlvp687lwqzxwg5lgj1y5y7lyqbq96wp"; + sha256 = "17qq96mlfhbkbmsvbazhxzkjnh6x37xlh3r0ngp0rfqbl05z2pcr"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ] ; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix index 48ee5d16c5c0..e9f090255f92 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libratbag/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "libratbag"; - version = "0.14"; + version = "0.15"; src = fetchFromGitHub { owner = "libratbag"; repo = "libratbag"; rev = "v${version}"; - sha256 = "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x"; + sha256 = "0z6ps5aqwjmbdvahs80fh9cdgcvp4q4w3kfycmzv4kzgzihjki7b"; }; nativeBuildInputs = [ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix index 741c51e2233b..4dfd6a3f2cd6 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libselinux/default.nix @@ -1,26 +1,26 @@ { stdenv, fetchurl, pcre, pkgconfig, libsepol -, enablePython ? true, swig ? null, python ? null +, enablePython ? true, swig ? null, python3 ? null , fts }: -assert enablePython -> swig != null && python != null; +assert enablePython -> swig != null && python3 != null; with stdenv.lib; stdenv.mkDerivation rec { pname = "libselinux"; - version = "2.9"; + version = "3.0"; inherit (libsepol) se_release se_url; outputs = [ "bin" "out" "dev" "man" ] ++ optional enablePython "py"; src = fetchurl { url = "${se_url}/${se_release}/libselinux-${version}.tar.gz"; - sha256 = "14r69mgmz7najf9wbizvp68q56mqx4yjbkxjlbcqg5a47s3wik0v"; + sha256 = "0cr4p0qkr4qd5z1x677vwhz6mlz55kxyijwi2dmrvbhxcw7v78if"; }; - nativeBuildInputs = [ pkgconfig ] ++ optionals enablePython [ swig python ]; - buildInputs = [ libsepol pcre fts ] ++ optionals enablePython [ python ]; + nativeBuildInputs = [ pkgconfig ] ++ optionals enablePython [ swig python3 ]; + buildInputs = [ libsepol pcre fts ] ++ optionals enablePython [ python3 ]; # drop fortify here since package uses it by default, leading to compile error: # command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] @@ -35,14 +35,18 @@ stdenv.mkDerivation rec { "MAN3DIR=$(man)/share/man/man3" "MAN5DIR=$(man)/share/man/man5" "MAN8DIR=$(man)/share/man/man8" - "PYTHON=${python.pythonForBuild}/bin/python" - "PYTHONLIBDIR=$(py)/${python.sitePackages}" + "PYTHON=${python3.pythonForBuild}/bin/python" + "PYTHONLIBDIR=$(py)/${python3.sitePackages}" "SBINDIR=$(bin)/sbin" "SHLIBDIR=$(out)/lib" "LIBSEPOLA=${stdenv.lib.getLib libsepol}/lib/libsepol.a" ]; + preInstall = '' + mkdir -p $py/${python3.sitePackages}/selinux + ''; + installTargets = [ "install" ] ++ optional enablePython "install-pywrap"; meta = removeAttrs libsepol.meta ["outputsToInstall"] // { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix index 497961af11b4..3592ba1637c1 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/libsepol/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { pname = "libsepol"; - version = "2.9"; - se_release = "20190315"; + version = "3.0"; + se_release = "20191204"; se_url = "https://github.com/SELinuxProject/selinux/releases/download"; outputs = [ "bin" "out" "dev" "man" ]; src = fetchurl { url = "${se_url}/${se_release}/libsepol-${version}.tar.gz"; - sha256 = "0p8x7w73jn1nysx1d7416wqrhbi0r6isrjxib7jf68fi72q14jx3"; + sha256 = "0ygb6dh5lng91xs6xiqf5v0nxa68qmjc787p0s5h9w89364f2yjv"; }; nativeBuildInputs = [ flex ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/light/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/light/default.nix index 45af4e7ae8e4..b465b2243e1b 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/light/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/light/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub, autoreconfHook, coreutils }: stdenv.mkDerivation rec { - version = "1.2.1"; + version = "1.2.2"; pname = "light"; src = fetchFromGitHub { owner = "haikarainen"; repo = "light"; rev = "v${version}"; - sha256 = "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg"; + sha256 = "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s"; }; configureFlags = [ "--with-udev" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix index 7bbd1768c043..6f1290cf0705 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lvm2/default.nix @@ -2,7 +2,7 @@ , fetchpatch , fetchurl , pkgconfig -, utillinux +, util-linux , libuuid , thin-provisioning-tools, libaio , enableCmdlib ? false diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix index 21c1eede9d7a..ade4299eaa7a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxc/default.nix @@ -9,11 +9,11 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "lxc"; - version = "4.0.4"; + version = "4.0.5"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "15frszz5am9bnr8vh1zpg89x0xigcfm19jax0z16cazd42xahr9w"; + sha256 = "1976l9308rx1ria1gazasypk5rmmf5jiqdh54dfrws5bslbdcb5g"; }; nativeBuildInputs = [ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix index bcc8614bc6ab..8fdb72e060f7 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/lxcfs/default.nix @@ -1,17 +1,17 @@ { config, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, help2man, fuse -, utillinux, makeWrapper +, util-linux, makeWrapper , enableDebugBuild ? config.lxcfs.enableDebugBuild or false }: with stdenv.lib; stdenv.mkDerivation rec { pname = "lxcfs"; - version = "4.0.5"; + version = "4.0.6"; src = fetchFromGitHub { owner = "lxc"; repo = "lxcfs"; rev = "lxcfs-${version}"; - sha256 = "12mk9hgqzzh1874389lrpvldlp87qxxa1sxzk5zr0d0n1857am5y"; + sha256 = "1fp2q4y3ql4xd2lp4bpcl8s6xryr5xbb56da9d20w2cdr2d0lwyv"; }; nativeBuildInputs = [ pkgconfig help2man autoreconfHook ]; @@ -30,9 +30,9 @@ stdenv.mkDerivation rec { installFlags = [ "SYSTEMD_UNIT_DIR=\${out}/lib/systemd" ]; postInstall = '' - # `mount` hook requires access to the `mount` command from `utillinux`: + # `mount` hook requires access to the `mount` command from `util-linux`: wrapProgram "$out/share/lxcfs/lxc.mount.hook" \ - --prefix PATH : "${utillinux}/bin" + --prefix PATH : "${util-linux}/bin" ''; postFixup = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix index 9ead1f6ad4bd..2e97f9da1eae 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, utillinux }: +{ stdenv, fetchFromGitHub, util-linux }: stdenv.mkDerivation rec { pname = "mcelog"; - version = "169"; + version = "173"; src = fetchFromGitHub { owner = "andikleen"; repo = "mcelog"; rev = "v${version}"; - sha256 = "0ghkwfaky026qwj6hmcvz2w2hm8qqj3ysbkxxi603vslmwj56chv"; + sha256 = "1ili11kqacn6jkjpk11vhycgygdl92mymgb1sx22lcwq2x0d248m"; }; postPatch = '' @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace '"unknown"' '"${version}"' for i in triggers/*; do - substituteInPlace $i --replace 'logger' '${utillinux}/bin/logger' + substituteInPlace $i --replace 'logger' '${util-linux}/bin/logger' done ''; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix index 6a71196157b7..2fbe05557a2f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/mdadm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, utillinux, coreutils, fetchurl, groff, system-sendmail }: +{ stdenv, util-linux, coreutils, fetchurl, groff, system-sendmail }: stdenv.mkDerivation rec { name = "mdadm-4.1"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { -e 's@/usr/sbin/sendmail@${system-sendmail}/bin/sendmail@' -i Makefile sed -i \ -e 's@/usr/bin/basename@${coreutils}/bin/basename@g' \ - -e 's@BINDIR/blkid@${utillinux}/bin/blkid@g' \ + -e 's@BINDIR/blkid@${util-linux}/bin/blkid@g' \ *.rules ''; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix index 475288a0b6f6..50055102dbbe 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/intel.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "microcode-intel"; - version = "20200616"; + version = "20201118"; src = fetchFromGitHub { owner = "intel"; repo = "Intel-Linux-Processor-Microcode-Data-Files"; rev = "microcode-${version}"; - sha256 = "13jrs8hwh7dhjjb9kncb8lk199afaxglkh1cfisl6zca1h36g563"; + sha256 = "1xs3f2rbfqnpz9qs7a1kl363qdyb8fybmmyd37v573clqf7l4lgg"; }; nativeBuildInputs = [ iucode-tool libarchive ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/musl/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/musl/default.nix index 67d08454a844..acc9fff5b482 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/musl/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/musl/default.nix @@ -62,6 +62,12 @@ stdenv.mkDerivation rec { url = "https://raw.githubusercontent.com/openwrt/openwrt/87606e25afac6776d1bbc67ed284434ec5a832b4/toolchain/musl/patches/300-relative.patch"; sha256 = "0hfadrycb60sm6hb6by4ycgaqc9sgrhh42k39v8xpmcvdzxrsq2n"; }) + # wcsnrtombs destination buffer overflow, remove >= 1.2.2 + (fetchurl { + name = "CVE-2020-28928.patch"; + url = "https://www.openwall.com/lists/oss-security/2020/11/20/4/1"; + sha256 = "077n2p165504nz9di6n8y5421591r3lsbcxgih8z26l6mvkhcs2h"; + }) ]; CFLAGS = [ "-fstack-protector-strong" ] ++ lib.optional stdenv.hostPlatform.isPower "-mlong-double-64"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/default.nix index 34c77bc3e6a7..92da7f6fb828 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, kernel, perl, kmod, libelf }: +{ stdenv, fetchurl, kernel, perl, kmod, libelf }: let - version = "1.62-pre"; + version = "1.63"; in stdenv.mkDerivation { name = "ndiswrapper-${version}-${kernel.version}"; @@ -14,7 +14,6 @@ stdenv.mkDerivation { kernel = kernel.dev; buildPhase = " - cd ndiswrapper echo make KBUILD=$(echo \$kernel/lib/modules/*/build); echo -n $kernel/lib/modules/*/build > kbuild_path export PATH=${kmod}/sbin:$PATH @@ -30,12 +29,9 @@ stdenv.mkDerivation { patchShebangs $out/sbin ''; - # should we use unstable? - src = fetchFromGitHub { - owner = "pgiri"; - repo = "ndiswrapper"; - rev = "5e29f6a9d41df949b435066c173e3b1947f179d3"; - sha256 = "0sprrmxxkf170bmh1nz9xw00gs89dddr84djlf666bn5bhy6jffi"; + src = fetchurl { + url = "mirror://sourceforge/ndiswrapper/files/stable/ndiswrapper-${version}.tar.gz"; + sha256 = "1v6b66jhisl110jfl00hm43lmnrav32vs39d85gcbxrjqnmcx08g"; }; buildInputs = [ perl libelf ]; @@ -45,5 +41,6 @@ stdenv.mkDerivation { homepage = "https://sourceforge.net/projects/ndiswrapper"; license = "GPL"; platforms = [ "i686-linux" "x86_64-linux" ]; + broken = stdenv.lib.versionAtLeast kernel.version "5.8"; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch index 34965540d248..373965fb0853 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ndiswrapper/no-sbin.patch @@ -1,7 +1,5 @@ -diff --git a/ndiswrapper/driver/Makefile b/ndiswrapper/driver/Makefile -index bf42f7bc..ad23aa2d 100644 ---- a/ndiswrapper/driver/Makefile -+++ b/ndiswrapper/driver/Makefile +--- a/driver/Makefile ++++ b/driver/Makefile @@ -191,7 +191,7 @@ clean: rm -rf .tmp_versions diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix index 81ec7e5a661e..86b0981c5fa3 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nfs-utils/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent +{ stdenv, fetchurl, fetchpatch, lib, pkgconfig, util-linux, libcap, libtirpc, libevent , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers , python3, buildPackages, nixosTests, rpcsvc-proto , enablePython ? true }: let - statdPath = lib.makeBinPath [ systemd utillinux coreutils ]; + statdPath = lib.makeBinPath [ systemd util-linux coreutils ]; in stdenv.mkDerivation rec { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nftables/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nftables/default.nix index 9ec42ad66b06..c5879fcc0214 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nftables/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nftables/default.nix @@ -10,17 +10,17 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "0.9.6"; + version = "0.9.7"; pname = "nftables"; src = fetchurl { url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2"; - sha256 = "0vmn6xwqa1nq6crfxshh049b199d0aj6hfgin7k068xhibzgvmk8"; + sha256 = "1c1c2475nifncv0ng8z77h2dpanlsx0bhqm15k00jb3a6a68lszy"; }; nativeBuildInputs = [ pkgconfig bison file flex - asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt + asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt ]; buildInputs = [ @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { homepage = "https://netfilter.org/projects/nftables/"; license = licenses.gpl2; platforms = platforms.linux; + maintainers = with maintainers; [ izorkin ]; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh index dbe18ace40a2..5baa4aa51e59 100755 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -84,8 +84,14 @@ installPhase() { else sed -E "s#(libGLX_nvidia)#$i/lib/\\1#" nvidia_icd.json > nvidia_icd.json.fixed fi - install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia.json + + if [ "$system" = "i686-linux" ]; then + install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia_icd.i686.json + else + install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia_icd.json + fi fi + if [ -e nvidia_layers.json ]; then sed -E "s#(libGLX_nvidia)#$i/lib/\\1#" nvidia_layers.json > nvidia_layers.json.fixed install -Dm644 nvidia_layers.json.fixed $i/share/vulkan/implicit_layer.d/nvidia_layers.json diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix index 7c37fcf231fc..b16dd3997f60 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -22,10 +22,10 @@ rec { # Policy: use the highest stable version as the default (on our master). stable = if stdenv.hostPlatform.system == "x86_64-linux" then generic { - version = "450.66"; - sha256_64bit = "1a6va0gvbzpkyza693v2ml1is4xbv8wxasqk0zd5y7rxin94c1ms"; - settingsSha256 = "0mkgs91gx7xb7f24xkq9fl7i8d4l7s0wr9a44b1gm1vkw82fm7lj"; - persistencedSha256 = "02id8cg8fba7c1j4m6vj4gp2mv39lz2k557kdjw8lszcpw6f1fhh"; + version = "455.45.01"; + sha256_64bit = "6tyMfggvZVQPp/aiSdgwn7VG/mIGb0lUcnAdyMEDoVM="; + settingsSha256 = "70ABqnO/heCp/5IztpU0Lo7eZd4n4wUoTlp1xIQ3aCc="; + persistencedSha256 = "36sM+djZvm77Gle7dcZ5tppgzQkD4IA0FJgCGsdZRI8="; } else legacy_390; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix index ff2792ac315d..5979f7e9a224 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvidia-x11/persistenced.nix @@ -1,6 +1,10 @@ nvidia_x11: sha256: -{ stdenv, fetchFromGitHub, m4 }: +{ stdenv +, fetchFromGitHub +, m4 +, libtirpc +}: stdenv.mkDerivation rec { pname = "nvidia-persistenced"; @@ -14,6 +18,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ m4 ]; + buildInputs = [ libtirpc ]; installFlags = [ "PREFIX=$(out)" ]; @@ -27,6 +32,9 @@ stdenv.mkDerivation rec { $out/bin/nvidia-persistenced ''; + NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ]; + NIX_LDFLAGS = [ "-ltirpc" ]; + meta = with stdenv.lib; { homepage = "https://www.nvidia.com/object/unix.html"; description = "Settings application for NVIDIA graphics cards"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix index 80a00082b81a..b848a8682749 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/nvme-cli/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "nvme-cli"; - version = "1.12"; + version = "1.13"; src = fetchFromGitHub { owner = "linux-nvme"; repo = "nvme-cli"; rev = "v${version}"; - sha256 = "0ldky34sn0m5c4hgiip0fkzm465nca69bhxicpd5dg8wxhzxqrp3"; + sha256 = "1d538kp841bjh8h8d9q7inqz56rdcwb3m78zfx8607ddykv7wcqb"; }; nativeBuildInputs = [ pkg-config ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix index 01bbd9a9cc16..b8aa251489dc 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/open-iscsi/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, automake, autoconf, libtool, gettext -, utillinux, openisns, openssl, kmod, perl, systemd, pkgconf +, util-linux, openisns, openssl, kmod, perl, systemd, pkgconf }: stdenv.mkDerivation rec { @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { version = "2.1.2"; nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ]; - buildInputs = [ kmod openisns.lib openssl systemd utillinux ]; + buildInputs = [ kmod openisns.lib openssl systemd util-linux ]; src = fetchFromGitHub { owner = "open-iscsi"; @@ -25,8 +25,16 @@ stdenv.mkDerivation rec { sed -i 's|/usr|/|' Makefile ''; + installFlags = [ + "install" + "install_systemd" + ]; + postInstall = '' cp usr/iscsistart $out/sbin/ + for f in $out/lib/systemd/system/*; do + substituteInPlace $f --replace /sbin $out/bin + done $out/sbin/iscsistart -v ''; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix index a6bf67db0980..ef96c7697e77 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openrazer/driver.nix @@ -2,7 +2,7 @@ , fetchFromGitHub , kernel , stdenv -, utillinux +, util-linux }: let @@ -28,7 +28,7 @@ stdenv.mkDerivation (common // { substituteInPlace $RAZER_RULES_OUT \ --replace razer_mount $RAZER_MOUNT_OUT substituteInPlace $RAZER_MOUNT_OUT \ - --replace /usr/bin/logger ${utillinux}/bin/logger \ + --replace /usr/bin/logger ${util-linux}/bin/logger \ --replace chgrp ${coreutils}/bin/chgrp \ --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" "" ''; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix index 33b252a02254..84f8abf73b0f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which +{ stdenv, fetchurl, makeWrapper, pkgconfig, util-linux, which , procps, libcap_ng, openssl, python3 , perl , kernel ? null }: @@ -19,7 +19,7 @@ in stdenv.mkDerivation rec { kernel = optional (_kernel != null) _kernel.dev; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ makeWrapper utillinux openssl libcap_ng pythonEnv + buildInputs = [ makeWrapper util-linux openssl libcap_ng pythonEnv perl procps which ]; configureFlags = [ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix index 358a8b39917b..54ecefc54b2f 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/openvswitch/lts.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which +{ stdenv, fetchurl, makeWrapper, pkgconfig, util-linux, which , procps, libcap_ng, openssl, python2, iproute , perl , automake, autoconf, libtool, kernel ? null }: @@ -20,7 +20,7 @@ in stdenv.mkDerivation rec { kernel = optional (_kernel != null) _kernel.dev; nativeBuildInputs = [ autoconf libtool automake pkgconfig ]; - buildInputs = [ makeWrapper utillinux openssl libcap_ng python2 + buildInputs = [ makeWrapper util-linux openssl libcap_ng python2 perl procps which ]; preConfigure = "./boot.sh"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_gnupg/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_gnupg/default.nix index 84135f2492aa..50373fe746d6 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_gnupg/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_gnupg/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "pam_gnupg"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "cruegge"; repo = "pam-gnupg"; rev = "v${version}"; - sha256 = "0b70mazyvcbg6xyqllm62rwhbz0y94pcy202db1qyy4w8466bhsw"; + sha256 = "1d8046clv7r3bl77dbpza4f1zlkjffvdczbb5bci3prz7dyfrwsz"; }; configureFlags = [ diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix index 18bc84effa06..ebfd896555ae 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/default.nix @@ -1,37 +1,48 @@ -{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, utillinux }: +{ stdenv, fetchurl, autoreconfHook, pkgconfig, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, util-linux }: stdenv.mkDerivation rec { - name = "pam_mount-2.16"; + pname = "pam_mount"; + version = "2.16"; src = fetchurl { - url = "mirror://sourceforge/pam-mount/pam_mount/2.16/${name}.tar.xz"; + url = "mirror://sourceforge/pam-mount/pam_mount/${version}/${pname}-${version}.tar.xz"; sha256 = "1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ autoconf automake libtool pam libHX utillinux libxml2 pcre perl openssl cryptsetup ]; + patches = [ + ./insert_utillinux_path_hooks.patch + ./support_luks2.patch + ]; - patches = [ ./insert_utillinux_path_hooks.patch ]; + postPatch = '' + substituteInPlace src/mtcrypt.c \ + --replace @@NIX_UTILLINUX@@ ${util-linux}/bin + ''; - preConfigure = '' - substituteInPlace src/mtcrypt.c --replace @@NIX_UTILLINUX@@ ${utillinux}/bin - sh autogen.sh --prefix=$out - ''; + nativeBuildInputs = [ autoreconfHook libtool pkgconfig ]; - makeFlags = [ "DESTDIR=$(out)" ]; + buildInputs = [ pam libHX util-linux libxml2 pcre perl openssl cryptsetup ]; + + enableParallelBuilding = true; + + configureFlags = [ + "--prefix=${placeholder "out"}" + "--localstatedir=${placeholder "out"}/var" + "--sbindir=${placeholder "out"}/bin" + "--sysconfdir=${placeholder "out"}/etc" + "--with-slibdir=${placeholder "out"}/lib" + "--with-ssbindir=${placeholder "out"}/bin" + ]; - # Probably a hack, but using DESTDIR and PREFIX makes everything work! postInstall = '' - mkdir -p $out - cp -r $out/$out/* $out - rm -r $out/nix - ''; + rm -r $out/var + ''; meta = with stdenv.lib; { - homepage = "http://pam-mount.sourceforge.net/"; description = "PAM module to mount volumes for a user session"; - maintainers = [ maintainers.tstrobel ]; + homepage = "https://pam-mount.sourceforge.net/"; license = with licenses; [ gpl2 gpl3 lgpl21 lgpl3 ]; + maintainers = with maintainers; [ tstrobel ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/support_luks2.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/support_luks2.patch new file mode 100644 index 000000000000..0b8557f1bae0 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pam_mount/support_luks2.patch @@ -0,0 +1,47 @@ +commit d4434c05e7c0cf05d87089404cfa2deedc60811a +Author: Ingo Franzki <ifranzki@linux.ibm.com> +Date: Mon Oct 29 16:47:40 2018 +0100 + + crypto: Add support for LUKS2 + + Cryptsetup version 2.0 added support for LUKS2. + This patch adds support for mounting LUKS2 volumes with + pam_mount. + + Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com> + +diff --git a/src/crypto-dmc.c b/src/crypto-dmc.c +index d0ab6ca..abd0358 100644 +--- a/src/crypto-dmc.c ++++ b/src/crypto-dmc.c +@@ -21,6 +21,12 @@ + #include "libcryptmount.h" + #include "pam_mount.h" + ++#ifndef CRYPT_LUKS ++ #define CRYPT_LUKS NULL /* Passing NULL to crypt_load will ++ default to LUKS(1) on older ++ libcryptsetup versions. */ ++#endif ++ + /** + * dmc_is_luks - check if @path points to a LUKS volume (cf. normal dm-crypt) + * @path: path to the crypto container +@@ -48,7 +54,7 @@ EXPORT_SYMBOL int ehd_is_luks(const char *path, bool blkdev) + + ret = crypt_init(&cd, device); + if (ret == 0) { +- ret = crypt_load(cd, CRYPT_LUKS1, NULL); ++ ret = crypt_load(cd, CRYPT_LUKS, NULL); + if (ret == -EINVAL) + ret = false; + else if (ret == 0) +@@ -106,7 +112,7 @@ static bool dmc_run(const struct ehd_mount_request *req, + #endif + } + +- ret = crypt_load(cd, CRYPT_LUKS1, NULL); ++ ret = crypt_load(cd, CRYPT_LUKS, NULL); + if (ret == 0) { + ret = crypt_activate_by_passphrase(cd, mt->crypto_name, + CRYPT_ANY_SLOT, req->key_data, req->key_size, flags); diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pcm/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pcm/default.nix index 3c49e53d8008..66f5dcf338a3 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pcm/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pcm/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "202008"; + version = "202011"; pname = "pcm"; src = fetchFromGitHub { owner = "opcm"; repo = "pcm"; rev = version; - sha256 = "1paxwq0p39vp2ma0rg7dkalc3r28wzj77sm3alavvk2vxgvxi0ig"; + sha256 = "09p8drp9xvvs5bahgnr9xx6987fryz27xs2zaf1mr7a9wsh5j912"; }; installPhase = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix index 41db6e936615..a883935b7b95 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, meson, ninja, pkgconfig -, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux +, dpdk, libbsd, libpcap, lua5_3, numactl, util-linux , gtk2, which, withGtk ? false }: @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { patches = [ ./configure.patch ]; postPatch = '' - substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu + substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${util-linux}/bin/lscpu ''; postInstall = '' diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix index 1d8314923d37..e685402d4739 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pm-utils/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl, coreutils, gnugrep, utillinux, kmod +{ stdenv, fetchurl, coreutils, gnugrep, util-linux, kmod , procps, kbd, dbus }: let binPath = stdenv.lib.makeBinPath - [ coreutils gnugrep utillinux kmod procps kbd dbus ]; + [ coreutils gnugrep util-linux kmod procps kbd dbus ]; sbinPath = stdenv.lib.makeSearchPathOutput "bin" "sbin" [ procps ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pmount/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pmount/default.nix index 63d0c88c1f8e..01624bff5359 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pmount/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pmount/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, ntfs3g, utillinux +{ stdenv, fetchurl, intltool, ntfs3g, util-linux , mediaDir ? "/media/" , lockDir ? "/var/lock/pmount" , whiteList ? "/etc/pmount.allow" @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { sha256 = "db38fc290b710e8e9e9d442da2fb627d41e13b3ee80326c15cc2595ba00ea036"; }; - buildInputs = [ intltool utillinux ]; + buildInputs = [ intltool util-linux ]; configureFlags = [ "--with-media-dir=${mediaDir}" "--with-lock-dir=${lockDir}" "--with-whitelist=${whiteList}" - "--with-mount-prog=${utillinux}/bin/mount" - "--with-umount-prog=${utillinux}/bin/umount" + "--with-mount-prog=${util-linux}/bin/mount" + "--with-umount-prog=${util-linux}/bin/umount" "--with-mount-ntfs3g=${ntfs3g}/sbin/mount.ntfs-3g" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/powertop/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/powertop/default.nix index 4bf318d743ea..22e70fc0b658 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/powertop/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/powertop/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace src/main.cpp --replace "/sbin/modprobe" "modprobe" substituteInPlace src/calibrate/calibrate.cpp --replace "/usr/bin/xset" "xset" + substituteInPlace src/tuning/bluetooth.cpp --replace "/usr/bin/hcitool" "hcitool" ''; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix index e71dcb497a26..9b0e38198a33 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/prl-tools/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, makeWrapper, p7zip -, gawk, utillinux, xorg, glib, dbus-glib, zlib +, gawk, util-linux, xorg, glib, dbus-glib, zlib , kernel ? null, libsOnly ? false , undmg, fetchurl }: @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { kernelVersion = if libsOnly then "" else lib.getName kernel.name; kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}"; - scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]); + scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${util-linux}/bin" "${gawk}/bin" ]); buildPhase = '' if test -z "$libsOnly"; then diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/r8168/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/r8168/default.nix index b3d8965704fd..91e15db2eeb6 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/r8168/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/r8168/default.nix @@ -6,7 +6,7 @@ let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wi in stdenv.mkDerivation rec { name = "r8168-${kernel.version}-${version}"; # on update please verify that the source matches the realtek version - version = "8.047.04"; + version = "8.048.03"; # This is a mirror. The original website[1] doesn't allow non-interactive # downloads, instead emailing you a download link. @@ -17,7 +17,7 @@ in stdenv.mkDerivation rec { owner = "mtorromeo"; repo = "r8168"; rev = version; - sha256 = "1rni8jimwdhyx75603mdcylrdxgfwfpyprf1lf5x5cli2i4bbijg"; + sha256 = "1l8llpcnapcaafxp7wlyny2ywh7k6q5zygwwjl9h0l6p04cghss4"; }; hardeningDisable = [ "pic" ]; @@ -29,8 +29,8 @@ in stdenv.mkDerivation rec { # based on the ArchLinux pkgbuild: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/r8168 preBuild = '' makeFlagsArray+=("-C${kernel.dev}/lib/modules/${kernel.modDirVersion}/build") - makeFlagsArray+=("SUBDIRS=$PWD/src") - makeFlagsArray+=("EXTRA_CFLAGS=-DCONFIG_R8168_NAPI -DCONFIG_R8168_VLAN") + makeFlagsArray+=("M=$PWD/src") + makeFlagsArray+=("EXTRA_CFLAGS=-DCONFIG_R8168_NAPI -DCONFIG_R8168_VLAN -DCONFIG_ASPM -DENABLE_S5WOL -DENABLE_EEE") makeFlagsArray+=("modules") ''; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix new file mode 100644 index 000000000000..ff9c8f4ce8b4 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix @@ -0,0 +1,56 @@ +{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper +, python3, binutils-unwrapped, findutils, kmod, pciutils, raspberrypi-tools +}: +stdenvNoCC.mkDerivation { + pname = "raspberrypi-eeprom"; + version = "unstable-2020-10-05"; + + src = fetchFromGitHub { + owner = "raspberrypi"; + repo = "rpi-eeprom"; + rev = "718820bcebd21d4a619fa262d9b9cf3acbf110f8"; + sha256 = "1277jsiyv34dqpandva8kxy1s0y5ql344pl9gk84avzp1mqjnv4g"; + }; + + buildInputs = [ python3 ]; + nativeBuildInputs = [ makeWrapper ]; + + postPatch = '' + # Don't try to verify md5 signatures from /var/lib/dpkg and + # fix path to the configuration. + substituteInPlace rpi-eeprom-update \ + --replace 'IGNORE_DPKG_CHECKSUMS=$LOCAL_MODE' 'IGNORE_DPKG_CHECKSUMS=1' \ + --replace '/etc/default' '/etc' + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/rpi-eeprom + + cp rpi-eeprom-config rpi-eeprom-update $out/bin + cp -r firmware/{beta,critical,old,stable} $out/share/rpi-eeprom + cp -r firmware/vl805 $out/bin + ''; + + fixupPhase = '' + patchShebangs $out/bin + wrapProgram $out/bin/rpi-eeprom-update \ + --set FIRMWARE_ROOT $out/share/rpi-eeprom \ + ${lib.optionalString stdenvNoCC.isAarch64 "--set VCMAILBOX ${raspberrypi-tools}/bin/vcmailbox"} \ + --prefix PATH : "${lib.makeBinPath ([ + binutils-unwrapped + findutils + kmod + pciutils + (placeholder "out") + ] ++ lib.optionals stdenvNoCC.isAarch64 [ + raspberrypi-tools + ])}" + ''; + + meta = with lib; { + description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 EEPROMs"; + homepage = "https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md"; + license = with licenses; [ bsd3 unfreeRedistributableFirmware ]; + maintainers = with maintainers; [ das_j ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix index 59a7125aad6d..042a54ff1575 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/rdma-core/default.nix @@ -4,7 +4,7 @@ } : let - version = "31.0"; + version = "31.2"; in stdenv.mkDerivation { pname = "rdma-core"; @@ -14,7 +14,7 @@ in stdenv.mkDerivation { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${version}"; - sha256 = "0qr8a25ylmkwfgyj519zvl74q16bhf4895xjich2r98rl2yg0qdl"; + sha256 = "0njfn8ziip57a2s435d4s0p3yylb85y7hdgbq660vwpsia9fb4sq"; }; nativeBuildInputs = [ cmake pkgconfig pandoc docutils makeWrapper ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix index 74bf913df982..5c4fc7622453 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/s6-linux-utils/default.nix @@ -4,8 +4,8 @@ with skawarePackages; buildPackage { pname = "s6-linux-utils"; - version = "2.5.1.2"; - sha256 = "0w4jms9qyb5kx9zcyd3gzri60rrii2rbmh08s59ckg4awy27py86"; + version = "2.5.1.3"; + sha256 = "0wbv02zxaami88xbj2zg63kspz05bbplswg0c6ncb5g9khf52wa4"; description = "A set of minimalistic Linux-specific system utilities"; platforms = stdenv.lib.platforms.linux; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sssd/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sssd/default.nix index 22e2da79c8cd..05866f942692 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sssd/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sssd/default.nix @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { url = "https://github.com/SSSD/sssd/commit/bc56b10aea999284458dcc293b54cf65288e325d.patch"; sha256 = "0q74sx5n41srq3kdn55l5j1sq4xrjsnl5y4v8yh5mwsijj74yh4g"; }) + # Fix collision with external nss symbol + (fetchpatch { + url = "https://github.com/SSSD/sssd/commit/fe9eeb51be06059721e873f77092b1e9ba08e6c1.patch"; + sha256 = "0b83b2w0rnvm26pg03a4lpmkmi7n3gqxg7lk751q61q79gnzrpz4"; + }) ]; # Something is looking for <libxml/foo.h> instead of <libxml2/libxml/foo.h> diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/swapview/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/swapview/default.nix new file mode 100644 index 000000000000..c88c8757db3c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/swapview/default.nix @@ -0,0 +1,23 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "swapview"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "lilydjwg"; + repo = "swapview"; + rev = "v${version}"; + sha256 = "0339biydk997j5r72vzp7djwkscsz89xr3936nshv23fmxjh2rzj"; + }; + + cargoSha256 = "0z99pqd41y8cci3yvwsnm5zbq7pzli62z8qqqghmz1hcq5pb5q7g"; + + meta = with lib; { + description = "A simple program to view processes' swap usage on Linux"; + homepage = "https://github.com/lilydjwg/swapview"; + platforms = platforms.linux; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ oxalica ]; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix index bef9231385a0..0f8702eb6e01 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/sysdig/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchFromGitHub, cmake, kernel +{ stdenv, fetchFromGitHub, cmake, kernel, installShellFiles , luajit, zlib, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, c-ares, protobuf, grpc }: with stdenv.lib; stdenv.mkDerivation rec { pname = "sysdig"; - version = "0.27.0"; + version = "0.27.1"; src = fetchFromGitHub { owner = "draios"; repo = "sysdig"; rev = version; - sha256 = "0lpp271g0749sx7qgpwl6myi0kgfpsxk1kc4yp3r9k1pynv8bq1b"; + sha256 = "sha256-lYjMvxMIReANNwMr62u881Nugrs9piOaN3EmrvGzRns="; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ cmake perl installShellFiles ]; buildInputs = [ zlib luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb c-ares protobuf grpc ] ++ optionals (kernel != null) kernel.moduleBuildDependencies; @@ -38,19 +38,28 @@ stdenv.mkDerivation rec { export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ''; - postInstall = optionalString (kernel != null) '' - make install_driver - kernel_dev=${kernel.dev} - kernel_dev=''${kernel_dev#/nix/store/} - kernel_dev=''${kernel_dev%%-linux*dev*} - if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then - sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - else - xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz - sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - fi - ''; + postInstall = + '' + # Fix the bash completion location + installShellCompletion --bash $out/etc/bash_completion.d/sysdig + rm $out/etc/bash_completion.d/sysdig + rmdir $out/etc/bash_completion.d + rmdir $out/etc + '' + + optionalString (kernel != null) '' + make install_driver + kernel_dev=${kernel.dev} + kernel_dev=''${kernel_dev#/nix/store/} + kernel_dev=''${kernel_dev%%-linux*dev*} + if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + else + xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + fi + ''; + meta = { description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)"; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch index d1961d32f9fb..a2d08753d4df 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0012-Install-default-configuration-into-out-share-factory.patch @@ -16,6 +16,7 @@ store again, while having executables looking up files in /etc. network/meson.build | 2 +- src/core/meson.build | 10 +++++----- src/coredump/meson.build | 2 +- + src/home/meson.build | 2 +- src/journal-remote/meson.build | 4 ++-- src/journal/meson.build | 2 +- src/kernel-install/meson.build | 2 +- @@ -28,7 +29,7 @@ store again, while having executables looking up files in /etc. sysctl.d/meson.build | 2 +- tmpfiles.d/meson.build | 2 +- units/meson.build | 2 +- - 17 files changed, 29 insertions(+), 26 deletions(-) + 18 files changed, 30 insertions(+), 27 deletions(-) diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build index 5c77387a26..6404bc01ba 100644 @@ -144,6 +145,17 @@ index 7fa5942697..34c865dfa0 100644 endif tests += [ +diff --git a/src/home/meson.build b/src/home/meson.build +index 797f3a3c6d..232904ab42 100644 +--- a/src/home/meson.build ++++ b/src/home/meson.build +@@ -98,5 +98,5 @@ if conf.get('ENABLE_HOMED') == 1 + install_dir : polkitpolicydir) + + install_data('homed.conf', +- install_dir : pkgsysconfdir) ++ install_dir : factoryconfdir) + endif diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build index 87b8ba6495..daff8ec967 100644 --- a/src/journal-remote/meson.build diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0019-revert-get-rid-of-seat_can_multi_session.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0019-logind-seat-debus-show-CanMultiSession-again.patch index 6ed82a42e700..4f8cc0822d36 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0019-revert-get-rid-of-seat_can_multi_session.patch +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/0019-logind-seat-debus-show-CanMultiSession-again.patch @@ -1,3 +1,13 @@ +From 3999d8949ddaf9296928f603661abcea13576d83 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Mon, 26 Oct 2020 21:21:38 +0100 +Subject: [PATCH 19/19] logind-seat-debus: show CanMultiSession again + +Fixes the "switch user" function in Plasma < 5.20. +--- + src/login/logind-seat-dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c index a91765205c..742aeb1064 100644 --- a/src/login/logind-seat-dbus.c @@ -11,3 +21,6 @@ index a91765205c..742aeb1064 100644 SD_BUS_PROPERTY("CanTTY", "b", property_get_can_tty, 0, SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("CanGraphical", "b", property_get_can_graphical, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), SD_BUS_PROPERTY("Sessions", "a(so)", property_get_sessions, 0, 0), +-- +2.28.0 + diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/default.nix index cef9d96ae6e1..f7a51ff9a036 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/systemd/default.nix @@ -1,27 +1,118 @@ -{ stdenv, lib, fetchFromGitHub, pkgconfig, intltool, gperf, libcap -, curl, kmod, gnupg, gnutar, xz, pam, acl, libuuid, m4, e2fsprogs, utillinux, libffi -, glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor -, audit, lz4, bzip2, pcre2 -, linuxHeaders ? stdenv.cc.libc.linuxHeaders -, iptables, gnu-efi, bashInteractive -, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 -, ninja, meson, python3Packages, glibcLocales +{ stdenv +, lib +, fetchFromGitHub +, buildPackages +, ninja +, meson +, m4 +, pkgconfig +, coreutils +, gperf +, getent , patchelf +, glibcLocales +, glib , substituteAll -, getent -, cryptsetup, lvm2 -, buildPackages -, perl -, withSelinux ? false, libselinux -, withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp -, withKexectools ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) kexectools.meta.platforms, kexectools +, gettext +, python3Packages + + # Mandatory dependencies +, libcap +, util-linux +, kbd +, kmod + + # Optional dependencies +, pam +, cryptsetup +, lvm2 +, audit +, acl +, lz4 +, libgcrypt +, libgpgerror +, libidn2 +, curl +, gnutar +, gnupg +, zlib +, xz +, libuuid +, libapparmor +, intltool +, bzip2 +, pcre2 +, e2fsprogs +, linuxHeaders ? stdenv.cc.libc.linuxHeaders +, gnu-efi +, iptables +, withSelinux ? false +, libselinux +, withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms +, libseccomp +, withKexectools ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) kexectools.meta.platforms +, kexectools +, bashInteractive +, libmicrohttpd + +, withAnalyze ? true +, withApparmor ? true +, withCompression ? true # adds bzip2, lz4 and xz +, withCoredump ? true +, withCryptsetup ? true +, withDocumentation ? true +, withEfi ? stdenv.hostPlatform.isEfi +, withHomed ? false +, withHostnamed ? true +, withHwdb ? true +, withImportd ? true +, withLocaled ? true +, withLogind ? true +, withMachined ? true +, withNetworkd ? true +, withNss ? true +, withPCRE2 ? true +, withPolkit ? true +, withPortabled ? false +, withRemote ? true +, withResolved ? true +, withShellCompletions ? true +, withTimedated ? true +, withTimesyncd ? true +, withUserDb ? true +, p11-kit +, libfido2 + + # name argument +, pname ? "systemd" + + +, libxslt +, docbook_xsl +, docbook_xml_dtd_42 +, docbook_xml_dtd_45 }: +assert withResolved -> (libgcrypt != null && libgpgerror != null); +assert withImportd -> +(curl.dev != null && zlib != null && xz != null && libgcrypt != null + && gnutar != null && gnupg != null && withCompression); + +assert withEfi -> (gnu-efi != null); +assert withRemote -> lib.getDev curl != null; +assert withCoredump -> withCompression; + +assert withHomed -> withCryptsetup; + +assert withCryptsetup -> +(cryptsetup != null); let + wantCurl = withRemote || withImportd; + version = "246.6"; -in stdenv.mkDerivation { - inherit version; - pname = "systemd"; +in +stdenv.mkDerivation { + inherit version pname; # We use systemd/systemd-stable for src, and ship NixOS-specific patches inside nixpkgs directly # This has proven to be less error-prone than the previous systemd fork. @@ -54,7 +145,7 @@ in stdenv.mkDerivation { ./0016-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch ./0017-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch ./0018-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch - ./0019-revert-get-rid-of-seat_can_multi_session.patch + ./0019-logind-seat-debus-show-CanMultiSession-again.patch ]; postPatch = '' @@ -71,24 +162,55 @@ in stdenv.mkDerivation { outputs = [ "out" "man" "dev" ]; nativeBuildInputs = - [ pkgconfig intltool gperf libxslt gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45 - ninja meson + [ + pkgconfig + gperf + ninja + meson coreutils # meson calls date, stat etc. glibcLocales - patchelf getent m4 - perl # to patch the libsystemd.so and remove dependencies on aarch64 + patchelf + getent + m4 + + intltool + gettext - (buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ])) + libxslt + docbook_xsl + docbook_xml_dtd_42 + docbook_xml_dtd_45 + (buildPackages.python3Packages.python.withPackages (ps: with ps; [ python3Packages.lxml ])) ]; + buildInputs = - [ linuxHeaders libcap curl.dev kmod xz pam acl - cryptsetup libuuid glib libgcrypt libgpgerror libidn2 - pcre2 ] ++ - stdenv.lib.optional withKexectools kexectools ++ - stdenv.lib.optional withLibseccomp libseccomp ++ - [ libffi audit lz4 bzip2 libapparmor - iptables gnu-efi - ] ++ stdenv.lib.optional withSelinux libselinux; + [ + acl + audit + glib + kmod + libcap + libgcrypt + libidn2 + libuuid + linuxHeaders + pam + ] + + ++ lib.optional withApparmor libapparmor + ++ lib.optional wantCurl (lib.getDev curl) + ++ lib.optionals withCompression [ bzip2 lz4 xz ] + ++ lib.optional withCryptsetup (lib.getDev cryptsetup.dev) + ++ lib.optional withEfi gnu-efi + ++ lib.optional withKexectools kexectools + ++ lib.optional withLibseccomp libseccomp + ++ lib.optional withNetworkd iptables + ++ lib.optional withPCRE2 pcre2 + ++ lib.optional withResolved libgpgerror + ++ lib.optional withSelinux libselinux + ++ lib.optional withRemote libmicrohttpd + ++ lib.optionals withHomed [ p11-kit libfido2 ] + ; #dontAddPrefix = true; @@ -104,23 +226,33 @@ in stdenv.mkDerivation { "-Dsetfont-path=${kbd}/bin/setfont" "-Dtty-gid=3" # tty in NixOS has gid 3 "-Ddebug-shell=${bashInteractive}/bin/bash" + "-Dglib=${lib.boolToString (glib != null)}" # while we do not run tests we should also not build them. Removes about 600 targets "-Dtests=false" - "-Dimportd=true" - "-Dlz4=true" - "-Dhomed=false" - "-Dhostnamed=true" - "-Dnetworkd=true" - "-Dportabled=false" - "-Dremote=false" + "-Danalyze=${lib.boolToString withAnalyze}" + "-Dgcrypt=${lib.boolToString (libgcrypt != null)}" + "-Dimportd=${lib.boolToString withImportd}" + "-Dlz4=${lib.boolToString withCompression}" + "-Dhomed=${stdenv.lib.boolToString withHomed}" + "-Dlogind=${lib.boolToString withLogind}" + "-Dlocaled=${lib.boolToString withLocaled}" + "-Dhostnamed=${lib.boolToString withHostnamed}" + "-Dmachined=${lib.boolToString withMachined}" + "-Dnetworkd=${lib.boolToString withNetworkd}" + "-Dpolkit=${lib.boolToString withPolkit}" + "-Dcryptsetup=${lib.boolToString withCryptsetup}" + "-Dportabled=${lib.boolToString withPortabled}" + "-Dhwdb=${lib.boolToString withHwdb}" + "-Dremote=${lib.boolToString withRemote}" "-Dsysusers=false" - "-Dtimedated=true" - "-Dtimesyncd=true" + "-Dtimedated=${lib.boolToString withTimedated}" + "-Dtimesyncd=${lib.boolToString withTimesyncd}" + "-Duserdb=${lib.boolToString withUserDb}" + "-Dcoredump=${lib.boolToString withCoredump}" "-Dfirstboot=false" - "-Dlocaled=true" - "-Dresolve=true" + "-Dresolve=${lib.boolToString withResolved}" "-Dsplit-usr=false" - "-Dlibcurl=true" + "-Dlibcurl=${lib.boolToString wantCurl}" "-Dlibidn=false" "-Dlibidn2=true" "-Dquotacheck=false" @@ -141,26 +273,36 @@ in stdenv.mkDerivation { "-Dsystem-gid-max=999" # "-Dtime-epoch=1" - (if !stdenv.hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true") - "-Defi-libdir=${toString gnu-efi}/lib" - "-Defi-includedir=${toString gnu-efi}/include/efi" - "-Defi-ldsdir=${toString gnu-efi}/lib" - "-Dsysvinit-path=" "-Dsysvrcnd-path=" "-Dkill-path=${coreutils}/bin/kill" "-Dkmod-path=${kmod}/bin/kmod" - "-Dsulogin-path=${utillinux}/bin/sulogin" - "-Dmount-path=${utillinux}/bin/mount" - "-Dumount-path=${utillinux}/bin/umount" + "-Dsulogin-path=${util-linux}/bin/sulogin" + "-Dmount-path=${util-linux}/bin/mount" + "-Dumount-path=${util-linux}/bin/umount" "-Dcreate-log-dirs=false" - # Upstream uses cgroupsv2 by default. To support docker and other - # container managers we still need v1. - "-Ddefault-hierarchy=hybrid" + + # Use cgroupsv2. This is already the upstream default, but better be explicit. + "-Ddefault-hierarchy=unified" # Upstream defaulted to disable manpages since they optimize for the much # more frequent development builds "-Dman=true" + + "-Defi=${lib.boolToString withEfi}" + "-Dgnu-efi=${lib.boolToString withEfi}" + ] ++ lib.optionals withEfi [ + "-Defi-libdir=${toString gnu-efi}/lib" + "-Defi-includedir=${toString gnu-efi}/include/efi" + "-Defi-ldsdir=${toString gnu-efi}/lib" + ] ++ lib.optionals (withShellCompletions == false) [ + "-Dbashcompletiondir=no" + "-Dzshcompletiondir=no" + ] ++ lib.optionals (!withNss) [ + "-Dnss-myhostname=false" + "-Dnss-mymachines=false" + "-Dnss-resolve=false" + "-Dnss-systemd=false" ]; preConfigure = '' @@ -172,7 +314,6 @@ in stdenv.mkDerivation { src/core/mount.c \ src/core/swap.c \ src/cryptsetup/cryptsetup-generator.c \ - src/fsck/fsck.c \ src/journal/cat.c \ src/nspawn/nspawn.c \ src/remount-fs/remount-fs.c \ @@ -186,14 +327,12 @@ in stdenv.mkDerivation { test -e $i substituteInPlace $i \ --replace /usr/bin/getent ${getent}/bin/getent \ - --replace /sbin/mkswap ${lib.getBin utillinux}/sbin/mkswap \ - --replace /sbin/swapon ${lib.getBin utillinux}/sbin/swapon \ - --replace /sbin/swapoff ${lib.getBin utillinux}/sbin/swapoff \ - --replace /sbin/mke2fs ${lib.getBin e2fsprogs}/sbin/mke2fs \ - --replace /sbin/fsck ${lib.getBin utillinux}/sbin/fsck \ + --replace /sbin/mkswap ${lib.getBin util-linux}/sbin/mkswap \ + --replace /sbin/swapon ${lib.getBin util-linux}/sbin/swapon \ + --replace /sbin/swapoff ${lib.getBin util-linux}/sbin/swapoff \ --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ - --replace /sbin/sulogin ${lib.getBin utillinux}/sbin/sulogin \ + --replace /sbin/sulogin ${lib.getBin util-linux}/sbin/sulogin \ --replace /sbin/modprobe ${lib.getBin kmod}/sbin/modprobe \ --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \ --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency @@ -227,14 +366,17 @@ in stdenv.mkDerivation { NIX_CFLAGS_COMPILE = toString [ # Can't say ${polkit.bin}/bin/pkttyagent here because that would # lead to a cyclic dependency. - "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\"" + "-UPOLKIT_AGENT_BINARY_PATH" + "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\"" # Set the release_agent on /sys/fs/cgroup/systemd to the # currently running systemd (/run/current-system/systemd) so # that we don't use an obsolete/garbage-collected release agent. - "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\"" + "-USYSTEMD_CGROUP_AGENT_PATH" + "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\"" - "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\"" + "-USYSTEMD_BINARY_PATH" + "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\"" ]; doCheck = false; # fails a bunch of tests @@ -266,7 +408,9 @@ in stdenv.mkDerivation { # "kernel-install" shouldn't be used on NixOS. find $out -name "*kernel-install*" -exec rm {} \; - ''; # */ + '' + lib.optionalString (!withDocumentation) '' + rm -rf $out/share/doc + ''; enableParallelBuilding = true; @@ -278,12 +422,12 @@ in stdenv.mkDerivation { # runtime; otherwise we can't and we need to reboot. passthru.interfaceVersion = 2; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://www.freedesktop.org/wiki/Software/systemd/"; description = "A system and service manager for Linux"; license = licenses.lgpl21Plus; platforms = platforms.linux; priority = 10; - maintainers = with maintainers; [ andir eelco flokli ]; + maintainers = with maintainers; [ andir eelco flokli kloenk ]; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/tomb/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/tomb/default.nix index 150c64a04514..9a21aab9f256 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/tomb/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/tomb/default.nix @@ -1,16 +1,16 @@ { stdenv, lib, fetchFromGitHub, makeWrapper -, gettext, zsh, pinentry, cryptsetup, gnupg, utillinux, e2fsprogs, sudo +, gettext, zsh, pinentry, cryptsetup, gnupg, util-linux, e2fsprogs, sudo }: stdenv.mkDerivation rec { pname = "tomb"; - version = "2.7"; + version = "2.8"; src = fetchFromGitHub { owner = "dyne"; repo = "Tomb"; rev = "v${version}"; - sha256 = "1vzkpzci6cp1r1q2n34pcgcns78i726k8d89dd6pibyj0vfnkl57"; + sha256 = "sha256-bmkUwj0FFq51MUPbNK7xsyyq4swjZcwFeMwOO3fXCzA="; }; buildInputs = [ sudo zsh pinentry ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { install -Dm644 doc/tomb.1 $out/share/man/man1/tomb.1 wrapProgram $out/bin/tomb \ - --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext gnupg pinentry utillinux e2fsprogs ]} + --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext gnupg pinentry util-linux e2fsprogs ]} ''; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix index a80635c53cef..ddd411702151 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/trace-cmd/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { "man_dir=${placeholder "man"}/share/man" "libdir=${placeholder "lib"}/lib" "includedir=${placeholder "dev"}/include" - "BASH_COMPLETE_DIR=${placeholder "out"}/etc/bash_completion.d" + "BASH_COMPLETE_DIR=${placeholder "out"}/share/bash-completion/completions" ]; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix index f8876e5d155a..725706f9b0eb 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus-glib , polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm -, libxslt, docbook_xsl, utillinux, libgudev }: +, libxslt, docbook_xsl, util-linux, libgudev }: stdenv.mkDerivation rec { name = "udisks-1.0.5"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { substituteInPlace src/main.c --replace \ "/sbin:/bin:/usr/sbin:/usr/bin" \ - "${utillinux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin" + "${util-linux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin" ''; buildInputs = diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix index 3b502dbe48f5..b47d31ab6fdc 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, fetchpatch, substituteAll, libtool, pkgconfig, gettext, gnused , gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash, which -, expat, libxslt, docbook_xsl, utillinux, mdadm, libgudev, libblockdev, parted +, expat, libxslt, docbook_xsl, util-linux, mdadm, libgudev, libblockdev, parted , gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43, autoconf, automake , xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g }: @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { (substituteAll { src = ./fix-paths.patch; bash = "${bash}/bin/bash"; - blkid = "${utillinux}/bin/blkid"; + blkid = "${util-linux}/bin/blkid"; false = "${coreutils}/bin/false"; mdadm = "${mdadm}/bin/mdadm"; sed = "${gnused}/bin/sed"; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { src = ./force-path.patch; path = stdenv.lib.makeBinPath [ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils - xfsprogs ntfs3g parted utillinux + xfsprogs ntfs3g parted util-linux ]; }) diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/usbip/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/usbip/default.nix index ffd33b6ff854..9a009b74f083 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/usbip/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/usbip/default.nix @@ -1,11 +1,11 @@ -{ lib, stdenv, kernel, udev, autoconf, automake, libtool }: +{ lib, stdenv, kernel, udev, autoconf, automake, libtool, kernelOlder }: stdenv.mkDerivation { name = "usbip-${kernel.name}"; src = kernel.src; - patches = lib.optionals (lib.versionAtLeast "5.4" kernel.version) [ + patches = lib.optionals (kernelOlder "5.4") [ # fixes build with gcc8 ./fix-snprintf-truncation.patch # fixes build with gcc9 @@ -27,5 +27,6 @@ stdenv.mkDerivation { description = "allows to pass USB device from server to client over the network"; license = licenses.gpl2; platforms = platforms.linux; + broken = kernelOlder "4.10"; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix index b8b65fecafc2..25a59b14ab82 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/wireguard/default.nix @@ -7,11 +7,11 @@ assert stdenv.lib.versionOlder kernel.version "5.6"; stdenv.mkDerivation rec { pname = "wireguard"; - version = "1.0.20200908"; + version = "1.0.20201112"; src = fetchzip { url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz"; - sha256 = "1nd2kc3c62907kxm1084dw7krd8xsy3hxydmcpz4jvk03vm5dnkg"; + sha256 = "sha256-HnYvjZ3VUH79NwNIvyTTygWYbVqEL2ttvlOlLiHhb5s="; }; hardeningDisable = [ "pic" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix index 5f1018969212..e0e2bcc21d9b 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, kernel, bluez }: +{ lib, stdenv, fetchFromGitHub, kernel, bluez }: stdenv.mkDerivation rec { pname = "xpadneo"; - version = "0.8.3"; + version = "0.8.4"; src = fetchFromGitHub { owner = "atar-axis"; repo = pname; rev = "v${version}"; - sha256 = "1g3ml7vq0dzwl9815c3l0i0qz3a7v8c376c6dqbfkbj2f1d43vqs"; + sha256 = "113xa2mxs2hc4fpjdk3jhhchy81kli6jxdd6vib7zz61n10cjb85"; }; setSourceRoot = '' @@ -34,10 +34,11 @@ stdenv.mkDerivation rec { installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ]; installTargets = [ "modules_install" ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Advanced Linux driver for Xbox One wireless controllers"; homepage = "https://atar-axis.github.io/xpadneo"; license = licenses.gpl3Plus; + maintainers = with maintainers; [ metadark ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/BACKPORT-Linux-5.8-compat-__vmalloc.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/BACKPORT-Linux-5.8-compat-__vmalloc.patch deleted file mode 100644 index 780ce83d84f3..000000000000 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/BACKPORT-Linux-5.8-compat-__vmalloc.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 6cc95288ccea12ad7b67b2b5b3997dfad8e5b5c9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20Niew=C3=B6hner?= - <c0d3z3r0@users.noreply.github.com> -Date: Tue, 9 Jun 2020 01:32:02 +0200 -Subject: [PATCH] BACKPORT: Linux 5.8 compat: __vmalloc() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The `pgprot` argument has been removed from `__vmalloc` in Linux 5.8, -being `PAGE_KERNEL` always now [1]. - -Detect this during configure and define a wrapper for older kernels. - -[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/mm/vmalloc.c?h=next-20200605&id=88dca4ca5a93d2c09e5bbc6a62fbfc3af83c4fca - -Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> -Co-authored-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> -Co-authored-by: Michael Niewöhner <foss@mniewoehner.de> -Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> -Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> -Closes #10422 ---- - config/kernel-kmem.m4 | 26 ++++++++++++++++++++++++++ - config/kernel.m4 | 2 ++ - include/spl/sys/kmem.h | 9 +++++++++ - module/spl/spl-kmem-cache.c | 4 ++-- - module/spl/spl-kmem.c | 9 ++++----- - 5 files changed, 43 insertions(+), 7 deletions(-) - -diff --git a/config/kernel-kmem.m4 b/config/kernel-kmem.m4 -index cc055e530..f1c0d2412 100644 ---- a/config/kernel-kmem.m4 -+++ b/config/kernel-kmem.m4 -@@ -56,3 +56,29 @@ AC_DEFUN([SPL_AC_DEBUG_KMEM_TRACKING], [ - AC_MSG_CHECKING([whether detailed kmem tracking is enabled]) - AC_MSG_RESULT([$enable_debug_kmem_tracking]) - ]) -+ -+dnl # -+dnl # 5.8 API, -+dnl # __vmalloc PAGE_KERNEL removal -+dnl # -+AC_DEFUN([ZFS_AC_KERNEL_SRC_VMALLOC_PAGE_KERNEL], [ -+ ZFS_LINUX_TEST_SRC([__vmalloc], [ -+ #include <linux/mm.h> -+ #include <linux/vmalloc.h> -+ ],[ -+ void *p __attribute__ ((unused)); -+ -+ p = __vmalloc(0, GFP_KERNEL, PAGE_KERNEL); -+ ]) -+]) -+ -+AC_DEFUN([ZFS_AC_KERNEL_VMALLOC_PAGE_KERNEL], [ -+ AC_MSG_CHECKING([whether __vmalloc(ptr, flags, pageflags) is available]) -+ ZFS_LINUX_TEST_RESULT([__vmalloc], [ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_VMALLOC_PAGE_KERNEL, 1, [__vmalloc page flags exists]) -+ ],[ -+ AC_MSG_RESULT(no) -+ ]) -+]) -+- -diff --git a/config/kernel.m4 b/config/kernel.m4 -index b67fcef8c..23edfdcd8 100644 ---- a/config/kernel.m4 -+++ b/config/kernel.m4 -@@ -45,6 +45,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [ - ZFS_AC_KERNEL_SRC_SCHED - ZFS_AC_KERNEL_SRC_USLEEP_RANGE - ZFS_AC_KERNEL_SRC_KMEM_CACHE -+ ZFS_AC_KERNEL_SRC_VMALLOC_PAGE_KERNEL - ZFS_AC_KERNEL_SRC_WAIT - ZFS_AC_KERNEL_SRC_INODE_TIMES - ZFS_AC_KERNEL_SRC_INODE_LOCK -@@ -163,6 +164,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [ - ZFS_AC_KERNEL_SCHED - ZFS_AC_KERNEL_USLEEP_RANGE - ZFS_AC_KERNEL_KMEM_CACHE -+ ZFS_AC_KERNEL_VMALLOC_PAGE_KERNEL - ZFS_AC_KERNEL_WAIT - ZFS_AC_KERNEL_INODE_TIMES - ZFS_AC_KERNEL_INODE_LOCK -diff --git a/include/spl/sys/kmem.h b/include/spl/sys/kmem.h -index 72d3a7765..ca15bfe7f 100644 ---- a/include/spl/sys/kmem.h -+++ b/include/spl/sys/kmem.h -@@ -169,6 +169,15 @@ extern void *spl_kmem_alloc(size_t sz, int fl, const char *func, int line); - extern void *spl_kmem_zalloc(size_t sz, int fl, const char *func, int line); - extern void spl_kmem_free(const void *ptr, size_t sz); - -+/* -+ * 5.8 API change, pgprot_t argument removed. -+ */ -+#ifdef HAVE_VMALLOC_PAGE_KERNEL -+#define spl_vmalloc(size, flags) __vmalloc(size, flags, PAGE_KERNEL) -+#else -+#define spl_vmalloc(size, flags) __vmalloc(size, flags) -+#endif -+ - /* - * The following functions are only available for internal use. - */ -diff --git a/module/spl/spl-kmem-cache.c b/module/spl/spl-kmem-cache.c -index d71b4b348..4866b2993 100644 ---- a/module/spl/spl-kmem-cache.c -+++ b/module/spl/spl-kmem-cache.c -@@ -203,7 +203,7 @@ kv_alloc(spl_kmem_cache_t *skc, int size, int flags) - ASSERT(ISP2(size)); - ptr = (void *)__get_free_pages(lflags, get_order(size)); - } else { -- ptr = __vmalloc(size, lflags | __GFP_HIGHMEM, PAGE_KERNEL); -+ ptr = spl_vmalloc(size, lflags | __GFP_HIGHMEM); - } - - /* Resulting allocated memory will be page aligned */ -@@ -1242,7 +1242,7 @@ spl_cache_grow(spl_kmem_cache_t *skc, int flags, void **obj) - * allocation. - * - * However, this can't be applied to KVM_VMEM due to a bug that -- * __vmalloc() doesn't honor gfp flags in page table allocation. -+ * spl_vmalloc() doesn't honor gfp flags in page table allocation. - */ - if (!(skc->skc_flags & KMC_VMEM)) { - rc = __spl_cache_grow(skc, flags | KM_NOSLEEP); -diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c -index cee69ad43..ca1fc145f 100644 ---- a/module/spl/spl-kmem.c -+++ b/module/spl/spl-kmem.c -@@ -172,16 +172,15 @@ spl_kmem_alloc_impl(size_t size, int flags, int node) - * kmem_zalloc() callers. - * - * For vmem_alloc() and vmem_zalloc() callers it is permissible -- * to use __vmalloc(). However, in general use of __vmalloc() -- * is strongly discouraged because a global lock must be -- * acquired. Contention on this lock can significantly -+ * to use spl_vmalloc(). However, in general use of -+ * spl_vmalloc() is strongly discouraged because a global lock -+ * must be acquired. Contention on this lock can significantly - * impact performance so frequently manipulating the virtual - * address space is strongly discouraged. - */ - if ((size > spl_kmem_alloc_max) || use_vmem) { - if (flags & KM_VMEM) { -- ptr = __vmalloc(size, lflags | __GFP_HIGHMEM, -- PAGE_KERNEL); -+ ptr = spl_vmalloc(size, lflags | __GFP_HIGHMEM); - } else { - return (NULL); - } --- -2.25.1 - diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/default.nix index 14b0909a189e..a83e554b6f0a 100644 --- a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/zfs/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch -, autoreconfHook, utillinux, nukeReferences, coreutils +, autoreconfHook, util-linux, nukeReferences, coreutils , perl, buildPackages , configFile ? "all" @@ -49,13 +49,11 @@ let patchShebangs scripts # The arrays must remain the same length, so we repeat a flag that is # already part of the command and therefore has no effect. - substituteInPlace ./module/${optionalString isUnstable "os/linux/"}zfs/zfs_ctldir.c \ - --replace '"/usr/bin/env", "umount"' '"${utillinux}/bin/umount", "-n"' \ - --replace '"/usr/bin/env", "mount"' '"${utillinux}/bin/mount", "-n"' + substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \ + --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ + --replace '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' '' + optionalString buildUser '' - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" \ - --replace "/bin/mount" "${utillinux}/bin/mount" - substituteInPlace ./lib/libshare/${optionalString isUnstable "os/linux/"}nfs.c --replace "/usr/sbin/exportfs" "${ + substituteInPlace ./lib/libshare/os/linux/nfs.c --replace "/usr/sbin/exportfs" "${ # We don't *need* python support, but we set it like this to minimize closure size: # If it's disabled by default, no need to enable it, even if we have python enabled # And if it's enabled by default, only change that if we explicitly disable python to remove python from the closure @@ -65,7 +63,6 @@ let substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" \ --replace "/etc/default" "$out/etc/default" substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - substituteInPlace ./cmd/zed/Makefile.am --replace "\$(sysconfdir)" "$out/etc" substituteInPlace ./contrib/initramfs/hooks/Makefile.am \ --replace "/usr/share/initramfs-tools/hooks" "$out/usr/share/initramfs-tools/hooks" @@ -82,15 +79,10 @@ let substituteInPlace ./etc/systemd/system/Makefile.am \ --replace '$(DESTDIR)$(systemdunitdir)' "$out"'$(DESTDIR)$(systemdunitdir)' - ${optionalString isUnstable '' substituteInPlace ./contrib/initramfs/conf.d/Makefile.am \ --replace "/usr/share/initramfs-tools/conf.d" "$out/usr/share/initramfs-tools/conf.d" substituteInPlace ./contrib/initramfs/conf-hooks.d/Makefile.am \ --replace "/usr/share/initramfs-tools/conf-hooks.d" "$out/usr/share/initramfs-tools/conf-hooks.d" - ''} - - substituteInPlace ./etc/systemd/system/zfs-share.service.in \ - --replace "/bin/rm " "${coreutils}/bin/rm " substituteInPlace ./cmd/vdev_id/vdev_id \ --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ @@ -142,7 +134,7 @@ let postInstall = optionalString buildKernel '' # Add reference that cannot be detected due to compressed kernel module mkdir -p "$out/nix-support" - echo "${utillinux}" >> "$out/nix-support/extra-refs" + echo "${util-linux}" >> "$out/nix-support/extra-refs" '' + optionalString buildUser '' # Remove provided services as they are buggy rm $out/etc/systemd/system/zfs-import-*.service @@ -153,9 +145,6 @@ let substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target" done - # Fix pkgconfig. - ln -s ../share/pkgconfig $out/lib/pkgconfig - # Remove tests because they add a runtime dependency on gcc rm -rf $out/share/zfs/zfs-tests @@ -164,10 +153,11 @@ let (cd $out/share/bash-completion/completions; ln -s zfs zpool) ''; - postFixup = '' - path="PATH=${makeBinPath [ coreutils gawk gnused gnugrep utillinux smartmontools sysstat sudo ]}" + postFixup = let + path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmontools sysstat ]}:$PATH"; + in '' for i in $out/libexec/zfs/zpool.d/*; do - sed -i "2i$path" $i + sed -i '2i${path}' $i done ''; @@ -180,10 +170,10 @@ let Copy-On-Write filesystem with data integrity detection and repair, snapshotting, cloning, block devices, deduplication, and more. ''; - homepage = "https://zfsonlinux.org/"; + homepage = "https://github.com/openzfs/zfs"; license = licenses.cddl; platforms = platforms.linux; - maintainers = with maintainers; [ jcumming wizeman fpletz globin ]; + maintainers = with maintainers; [ hmenke jcumming jonringer wizeman fpletz globin mic92 ]; }; }; in { @@ -195,10 +185,9 @@ in { # incompatibleKernelVersion = "4.20"; # this package should point to the latest release. - version = "0.8.4"; + version = "2.0.0"; - sha256 = "1hl4n900d24gl4vd65qdzq4m62b7bpvckldazcbd1xqcn8xhi6wp"; - extraPatches = [ ./BACKPORT-Linux-5.8-compat-__vmalloc.patch ]; + sha256 = "1kriz6pg8wj98izvjc60wp23lgcp4k3mzhpkgj74np73rzgy6v8r"; }; zfsUnstable = common { @@ -206,9 +195,8 @@ in { # incompatibleKernelVersion = "4.19"; # this package should point to a version / git revision compatible with the latest kernel release - version = "2.0.0-rc3"; + version = "2.0.0"; - sha256 = "00fljxs6vacfhzc13bgsrmq6p3agpzcq6waw4iv2m58dr90jhlcz"; - isUnstable = true; + sha256 = "1kriz6pg8wj98izvjc60wp23lgcp4k3mzhpkgj74np73rzgy6v8r"; }; } |