diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2020-01-03 15:34:20 -0500 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2020-01-03 15:34:20 -0500 |
commit | 9c1a2ac51e365d7ef78315bb8eb24874823a6176 (patch) | |
tree | 341d952a81e3f453bff9196be1672dc3bd60ee7b /pkgs/os-specific | |
parent | 8b41b16a9f1210d8a4556a9c412072fffbf4fb95 (diff) | |
parent | ba9fdecba34d52cb157a8da9992a9ea93c549fe8 (diff) | |
download | nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.tar nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.tar.gz nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.tar.bz2 nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.tar.lz nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.tar.xz nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.tar.zst nixpkgs-9c1a2ac51e365d7ef78315bb8eb24874823a6176.zip |
Merge remote-tracking branch 'origin/master' into ios-with-xcode-11
Diffstat (limited to 'pkgs/os-specific')
198 files changed, 2330 insertions, 1415 deletions
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index 7370901f319..2d51c11f04a 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -68,9 +68,9 @@ let } // lib.optionalAttrs stdenv'.isDarwin { MKRELRO = "no"; } // lib.optionalAttrs (stdenv'.cc.isClang or false) { - HAVE_LLVM = lib.head (lib.splitString "." (lib.getVersion stdenv'.cc.cc)); + HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc); } // lib.optionalAttrs (stdenv'.cc.isGNU or false) { - HAVE_GCC = lib.head (lib.splitString "." (lib.getVersion stdenv'.cc.cc)); + HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc); } // lib.optionalAttrs (attrs.headersOnly or false) { installPhase = "includesPhase"; dontBuild = true; @@ -127,6 +127,11 @@ let nativeBuildInputs = [ makeMinimal ]; buildInputs = [ zlib ]; + # the build system re-runs `./configure` with `HOST_CC` (which is their + # name for Build CC) as a compiler to make `defs.mk`, which is installed + depsBuildBuild = [ buildPackages.stdenv.cc ] ++ buildInputs; + HOST_CC = "${buildPackages.stdenv.cc.targetPrefix}cc"; + # temporarily use gnuinstall for bootstrapping # bsdinstall will be built later makeFlags = [ @@ -218,9 +223,9 @@ let ]; skipIncludesPhase = true; buildPhase = '' - cc -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \ + "$CC" -c -Iinclude -Ilib/libc/include lib/libc/gen/fts.c \ -o lib/libc/gen/fts.o - ar -rsc libfts.a lib/libc/gen/fts.o + "$AR" -rsc libfts.a lib/libc/gen/fts.o ''; installPhase = '' runHook preInstall diff --git a/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh index 66e24fe5877..86c241cd0f5 100644 --- a/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh +++ b/pkgs/os-specific/darwin/apple-sdk/cf-setup-hook.sh @@ -1,5 +1,5 @@ linkSystemCoreFoundationFramework() { - NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks $NIX_CFLAGS_COMPILE" + NIX_CFLAGS_COMPILE="-F@out@/Library/Frameworks${NIX_CFLAGS_COMPILE:+ }${NIX_CFLAGS_COMPILE-}" # 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 diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index ba5002c8c48..8456d64a451 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -12,8 +12,8 @@ let # 3. ??? # 4. Profit src = fetchurl { - url = "http://swcdn.apple.com/content/downloads/28/09/091-29862/pafhn2u002b9slnrxzy9p86rpedycnjhb5/DevSDK_OSX1012.pkg"; - sha256 = "1sggc70rypqwcjwr7ciavw8sczwll16cwqxdxrbw7r2qvy3b0nhx"; + url = "http://swcdn.apple.com/content/downloads/33/36/041-90419-A_7JJ4H9ZHO2/xs88ob5wjz6riz7g6764twblnvksusg4ps/DevSDK_OSX1012.pkg"; + sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih"; }; buildInputs = [ xar cpio python pbzx ]; diff --git a/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh index fbd977f8552..a351c39de13 100644 --- a/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh +++ b/pkgs/os-specific/darwin/apple-sdk/private-frameworks-setup-hook.sh @@ -1,6 +1,6 @@ addPrivateFrameworks() { flag="-F/System/Library/PrivateFrameworks" - if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then + if [[ "${NIX_CFLAGS_COMPILE-}" != *$flag* ]]; then NIX_CFLAGS_COMPILE+=" $flag" fi } diff --git a/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh index ed9bdbd912d..35cea773f98 100644 --- a/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh +++ b/pkgs/os-specific/darwin/apple-sdk/security-setup-hook.sh @@ -2,7 +2,7 @@ noDeprecatedDeclarations() { # Security.framework has about 2000 deprecated constants, all of which the user will be # warned about at compilation time flag="-Wno-deprecated-declarations" - if [[ "$NIX_CFLAGS_COMPILE" != *$flag* ]]; then + if [[ "${NIX_CFLAGS_COMPILE-}" != *$flag* ]]; then NIX_CFLAGS_COMPILE+=" $flag" fi } diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix index 03556296ca1..16454cbc1a5 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix @@ -14,8 +14,8 @@ appleDerivation { # + lib.optionalString hostPlatform.isAarch32 "-D__arm__"; NIX_CFLAGS_COMPILE = [ "-DDAEMON_UID=1" "-DDAEMON_GID=1" - "-DDEFAULT_AT_QUEUE=\'a\'" - "-DDEFAULT_BATCH_QUEUE=\'b\'" + "-DDEFAULT_AT_QUEUE='a'" + "-DDEFAULT_BATCH_QUEUE='b'" "-DPERM_PATH=\"/usr/lib/cron/\"" "-DOPEN_DIRECTORY" "-DNO_DIRECT_RPC" diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix index 9f9a0c74724..e31f9b91f97 100644 --- a/pkgs/os-specific/darwin/binutils/default.nix +++ b/pkgs/os-specific/darwin/binutils/default.nix @@ -14,7 +14,8 @@ in # TODO: loop over targetPrefixed binaries too stdenv.mkDerivation { - name = "${targetPrefix}cctools-binutils-darwin"; + pname = "${targetPrefix}cctools-binutils-darwin"; + inherit (cctools) version; outputs = [ "out" "info" "man" ]; buildCommand = '' mkdir -p $out/bin $out/include diff --git a/pkgs/os-specific/darwin/cctools/apfs.patch b/pkgs/os-specific/darwin/cctools/apfs.patch deleted file mode 100644 index 8c6b3c0d273..00000000000 --- a/pkgs/os-specific/darwin/cctools/apfs.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cctools/ld64/src/ld/OutputFile.cpp b/cctools/ld64/src/ld/OutputFile.cpp -index 8859882..158c7d2 100644 ---- a/cctools/ld64/src/ld/OutputFile.cpp -+++ b/cctools/ld64/src/ld/OutputFile.cpp -@@ -2786,7 +2786,7 @@ void OutputFile::writeOutputFile(ld::Internal& state) - #ifdef __APPLE__ // ld64-port - struct statfs fsInfo; - if ( statfs(_options.outputFilePath(), &fsInfo) != -1 ) { -- if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) { -+ if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) { - (void)unlink(_options.outputFilePath()); - outputIsMappableFile = true; - } -@@ -2814,7 +2814,7 @@ void OutputFile::writeOutputFile(ld::Internal& state) - #ifdef __APPLE__ // ld64-port - struct statfs fsInfo; - if ( statfs(dirPath, &fsInfo) != -1 ) { -- if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) { -+ if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) { - outputIsMappableFile = true; - } - } diff --git a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch index 265d0d30477..17ad9053f3b 100644 --- a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch +++ b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch @@ -1,13 +1,14 @@ diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp -index 9250016..91d54ec 100644 +index e4b37ec..4189ebc 100644 --- a/cctools/ld64/src/ld/Options.cpp +++ b/cctools/ld64/src/ld/Options.cpp -@@ -4175,23 +4175,9 @@ void Options::checkIllegalOptionCombinations() +@@ -5800,24 +5800,6 @@ void Options::checkIllegalOptionCombinations() + if ( fDeadStrip && (fOutputKind == Options::kObjectFile) ) throw "-r and -dead_strip cannot be used together"; - // can't use -rpath unless targeting 10.5 or later +- // can't use -rpath unless targeting 10.5 or later - if ( fRPaths.size() > 0 ) { -- if ( !minOS(ld::mac10_5, ld::iOS_2_0) ) +- if ( !platforms().minOS(ld::version2008) ) - throw "-rpath can only be used when targeting Mac OS X 10.5 or later"; - switch ( fOutputKind ) { - case Options::kDynamicExecutable: @@ -23,9 +24,6 @@ index 9250016..91d54ec 100644 - } - } - -+ if ( fRPaths.size() > 0 && !minOS(ld::mac10_5, ld::iOS_2_0) ) -+ throw "-rpath can only be used when targeting Mac OS X 10.5 or later"; -+ if ( fPositionIndependentExecutable ) { switch ( fOutputKind ) { case Options::kDynamicExecutable: diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index ff8f3eb5e26..1aee5c8c35e 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -18,14 +18,14 @@ assert (!stdenv.hostPlatform.isDarwin) -> maloader != null; let baseParams = rec { - name = "${targetPrefix}cctools-port-${version}"; - version = "895"; + name = "${targetPrefix}cctools-port"; + version = "927.0.2"; src = fetchFromGitHub { owner = "tpoechtrager"; repo = "cctools-port"; - rev = "07619027f8311fa61b4a549c75994b88739a82d8"; - sha256 = "12g94hhz5v5bmy2w0zb6fb4bjlmn992gygc60h9nai15kshj2spi"; + rev = "8239a5211bcf07d6b9d359782e1a889ec1d7cce5"; + sha256 = "0h8b1my0wf1jyjq63wbiqkl2clgxsf87f6i4fjhqs431fzlq8sac"; }; outputs = [ "out" "dev" ]; @@ -35,7 +35,7 @@ let ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ] ++ stdenv.lib.optional enableTapiSupport libtapi; - patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ./apfs.patch ]; + patches = [ ./ld-ignore-rpath-link.patch ./ld-rpath-nonfinal.patch ]; __propagatedImpureHostDeps = [ # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them @@ -84,12 +84,6 @@ let cd cctools ''; - # TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather - # hairy to handle during bootstrap. Perhaps it could be optional? - preConfigure = '' - sh autogen.sh - ''; - preInstall = '' pushd include make DSTROOT=$out/include RC_OS=common install diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix index e68e77f55af..cac2d97482a 100644 --- a/pkgs/os-specific/darwin/libtapi/default.nix +++ b/pkgs/os-specific/darwin/libtapi/default.nix @@ -1,18 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, cmake, python }: +{ lib, stdenv, fetchFromGitHub, cmake, python, clang_6 }: stdenv.mkDerivation { - name = "libtapi"; + name = "libtapi-1000.10.8"; src = fetchFromGitHub { owner = "tpoechtrager"; repo = "apple-libtapi"; - rev = "e56673694db395e25b31808b4fbb9a7005e6875f"; - sha256 = "1lnl1af9sszp9wxfk0wljrpdmwcx83j0w5c0y4qw4pqrdkdgwks7"; + rev = "cd9885b97fdff92cc41e886bba4a404c42fdf71b"; + sha256 = "1a19h39a48agvnmal99n9j1fjadiqwib7hfzmn342wmgh9z3vk0g"; }; nativeBuildInputs = [ cmake python ]; + buildInputs = [ clang_6.cc ]; preConfigure = '' - cd src/apple-llvm/src + cd src/llvm ''; cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=OFF" ]; diff --git a/pkgs/os-specific/darwin/osxsnarf/default.nix b/pkgs/os-specific/darwin/osxsnarf/default.nix new file mode 100644 index 00000000000..e391be1807c --- /dev/null +++ b/pkgs/os-specific/darwin/osxsnarf/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, fetchFromGitHub, plan9port, darwin, ... }: + +stdenv.mkDerivation rec { + pname = "osxsnarf"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "eraserhd"; + repo = "osxsnarf"; + rev = "v${version}"; + sha256 = "1vpg39mpc5avnv1j0yfx0x2ncvv38slmm83zv6nmm7alfwfjr2ss"; + }; + + buildInputs = [ plan9port darwin.apple_sdk.frameworks.Carbon ]; + makeFlags = [ "prefix=${placeholder "out"}" ]; + + meta = with lib; { + description = "A Plan 9-inspired way to share your OS X clipboard."; + homepage = https://github.com/eraserhd/osxsnarf; + license = licenses.unlicense; + platforms = platforms.darwin; + maintainers = [ maintainers.eraserhd ]; + }; +} diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 6f7caa8ec02..4f2f84b3c0a 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -63,10 +63,31 @@ stdenv.mkDerivation { # I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra" # and this version is a version from there. No idea how accurate it is. LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize"; - configurePhase = "../configure release --sysroot UNUSED"; + + configurePhase = '' + ../configure release --sysroot UNUSED + ''; enableParallelBuilding = true; - buildPhase = "ninja -j $NIX_BUILD_CORES"; + + # FIXME: Workaround for intermittent build failures of CFRuntime.c. + # Based on testing this issue seems to only occur with clang_7, so + # please remove this when updating the default llvm versions to 8 or + # later. + buildPhase = stdenv.lib.optionalString true '' + for i in {1..512}; do + if ninja -j $NIX_BUILD_CORES; then + break + fi + + echo >&2 + echo "[$i/512] retrying build, workaround for #66811" >&2 + echo " With clang_7 the build of CFRuntime.c fails intermittently." >&2 + echo " See https://github.com/NixOS/nixpkgs/issues/66811 for more details." >&2 + echo >&2 + continue + done + ''; # TODO: their build system sorta kinda can do this, but it doesn't seem to work right now # Also, this includes a bunch of private headers in the framework, which is not what we want diff --git a/pkgs/os-specific/darwin/wifi-password/default.nix b/pkgs/os-specific/darwin/wifi-password/default.nix new file mode 100644 index 00000000000..801e180f734 --- /dev/null +++ b/pkgs/os-specific/darwin/wifi-password/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "0.1.0"; + pname = "wifi-password"; + + src = fetchFromGitHub { + owner = "rauchg"; + repo = pname; + rev = version; + sha256 = "0sfvb40h7rz9jzp4l9iji3jg80paklqsbmnk5h7ipsv2xbsplp64"; + }; + + installPhase = '' + mkdir -p $out/bin + cp wifi-password.sh $out/bin/wifi-password + ''; + + meta = { + homepage = https://github.com/rauchg/wifi-password; + description = "Get the password of the wifi you're on"; + platforms = stdenv.lib.platforms.darwin; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.nikitavoloboev ]; + }; +} diff --git a/pkgs/os-specific/linux/acpitool/default.nix b/pkgs/os-specific/linux/acpitool/default.nix index ce47932587c..86e6b54906a 100644 --- a/pkgs/os-specific/linux/acpitool/default.nix +++ b/pkgs/os-specific/linux/acpitool/default.nix @@ -3,7 +3,7 @@ let acpitool-patch-051-4 = params: fetchpatch rec { inherit (params) name sha256; - url = "https://anonscm.debian.org/cgit/pkg-acpi/acpitool.git/plain/debian/patches/${name}?h=debian/0.5.1-4&id=3fd9f396f12ec9c1cae3337a2a25026b7faad2ae"; + url = "https://salsa.debian.org/debian/acpitool/raw/33e2ef42a663de820457b212ea2925e506df3b88/debian/patches/${name}"; }; in stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/linux/alienfx/default.nix b/pkgs/os-specific/linux/alienfx/default.nix deleted file mode 100644 index d04e7b8fbeb..00000000000 --- a/pkgs/os-specific/linux/alienfx/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, libusb1, fetchgit}: - - -let - rev = "85ee5eeaca59a1c92659c3f49b148b0447d78f16"; -in - -stdenv.mkDerivation { - name = "alienfx-1.0.0"; - src = fetchgit { - inherit rev; - url = https://github.com/tibz/alienfx.git; - - sha256 = "47501a3b4e08d39edee4cd829ae24259a7e740b9798db76b846fa872989f8fb1"; - }; - - prePatch = '' - substituteInPlace Makefile --replace /usr/ $out/ - substituteInPlace Makefile --replace "install -o root -g root -m 4755" "install -m 555" - ''; - - patches = [./unistd.patch]; - buildInputs = [ libusb1 ]; - makeFlags = "build"; - preInstall = '' - mkdir -p $out/bin - mkdir -p $out/man/man1 - ''; - installTargets = "install"; - postInstall = ''cp alienfx.1 $out/man/man1''; - - meta = { - description = "Controls AlienFX lighting"; - homepage = https://github.com/tibz/alienfx; - maintainers = [stdenv.lib.maintainers.tomberek]; - platforms = stdenv.lib.platforms.linux; - }; -} - diff --git a/pkgs/os-specific/linux/alienfx/unistd.patch b/pkgs/os-specific/linux/alienfx/unistd.patch deleted file mode 100644 index 546a27892f0..00000000000 --- a/pkgs/os-specific/linux/alienfx/unistd.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/alienfx.cpp b/alienfx.cpp -index 5981039..aea8992 100644 ---- a/alienfx.cpp -+++ b/alienfx.cpp -@@ -13,6 +13,7 @@ - #include <string.h> - #include <iostream> - #include <libusb-1.0/libusb.h> -+#include <unistd.h> - - using namespace std; - diff --git a/pkgs/os-specific/linux/alsa-firmware/default.nix b/pkgs/os-specific/linux/alsa-firmware/default.nix index 53fcf7d6843..7f0ba5498df 100644 --- a/pkgs/os-specific/linux/alsa-firmware/default.nix +++ b/pkgs/os-specific/linux/alsa-firmware/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "alsa-firmware-1.0.29"; + name = "alsa-firmware-1.2.1"; src = fetchurl { url = "mirror://alsa/firmware/${name}.tar.bz2"; - sha256 = "0gfcyj5anckjn030wcxx5v2xk2s219nyf99s9m833275b5wz2piw"; + sha256 = "1aq8z8ajpjvcx7bwhwp36bh5idzximyn77ygk3ifs0my3mbpr8mf"; }; configureFlags = [ diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index 2956b107aa7..a5262d6ae9e 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "alsa-plugins"; - version = "1.1.9"; + version = "1.2.1"; src = fetchurl { url = "mirror://alsa/plugins/${pname}-${version}.tar.bz2"; - sha256 = "01zrg0h2jw9dlj9233vjsn916yf4f2s667yry6xsn8d57lq745qn"; + sha256 = "1nj8cpbi05rb62yzs01c1k7lymdn1ch229b599hbhd0psixdx52d"; }; # ToDo: a52, etc.? diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index 6f23d190318..8b1faf788e5 100644 --- a/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/pkgs/os-specific/linux/alsa-utils/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "alsa-utils"; - version = "1.1.9"; + version = "1.2.1"; src = fetchurl { url = "mirror://alsa/utils/${pname}-${version}.tar.bz2"; - sha256 = "0fi11b7r8hg1bdjw74s8sqx8rc4qb310jaj9lsia9labvfyjrpsx"; + sha256 = "039c19b7091is0czl9jlrfczp7pp1jpdri0vvc4k07gl3skhn48b"; }; patchPhase = '' diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix index 755ec390a9c..0012c3de989 100644 --- a/pkgs/os-specific/linux/anbox/default.nix +++ b/pkgs/os-specific/linux/anbox/default.nix @@ -45,13 +45,13 @@ in stdenv.mkDerivation rec { pname = "anbox"; - version = "unstable-2019-05-03"; + version = "unstable-2019-11-15"; src = fetchFromGitHub { owner = pname; repo = pname; - rev = "ea2b7a3dea34a6803134f4adc16c276f4c2479eb"; - sha256 = "00x772nbrbx7ma0scr24m65g50pmi4v6d6q3cwbbi55r8qiy2yz7"; + rev = "0a49ae08f76de7f886a3dbed4422711c2fa39d10"; + sha256 = "09l56nv9cnyhykclfmvam6bkcxlamwbql6nrz9n022553w92hkjf"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/anbox/kmod.nix b/pkgs/os-specific/linux/anbox/kmod.nix index fee8d1e7a42..0888f2c5414 100644 --- a/pkgs/os-specific/linux/anbox/kmod.nix +++ b/pkgs/os-specific/linux/anbox/kmod.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "anbox-modules"; - version = "2019-07-13-" + kernel.version; + version = "2019-11-15-" + kernel.version; src = fetchFromGitHub { owner = "anbox"; repo = "anbox-modules"; - rev = "816dd4d6e702cf77a44cfe208659af6c39e02b57"; - sha256 = "115xrv3fz5bk51hz8cwb61h0xnrsnv217fxmbpw35a6hjrk7gslc"; + rev = "e0a237e571989987806b32881044c539db25e3e1"; + sha256 = "1km1nslp4f5znwskh4bb1b61r1inw1dlbwiyyq3rrh0f0agf8d0v"; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix index aed0ed374a7..2aa71b92beb 100644 --- a/pkgs/os-specific/linux/android-udev-rules/default.nix +++ b/pkgs/os-specific/linux/android-udev-rules/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "android-udev-rules"; - version = "20190315"; + version = "20191103"; src = fetchFromGitHub { owner = "M0Rf30"; repo = "android-udev-rules"; rev = version; - sha256 = "1w8zkww3cj6yzcsfzwvj1gkf4dfflhp1vd9fixnmlbm43kwkqrdr"; + sha256 = "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3"; }; installPhase = '' diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 06c37d00d5e..7030bc0ca31 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -14,7 +14,7 @@ let apparmor-series = "2.13"; - apparmor-patchver = "1"; + apparmor-patchver = "3"; apparmor-version = apparmor-series + "." + apparmor-patchver; apparmor-meta = component: with stdenv.lib; { @@ -27,7 +27,7 @@ let apparmor-sources = fetchurl { url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz"; - sha256 = "7a060d94c275e59f96bacd1da150e6fee2c9152a85bf57800109d07d51ef8afb"; + sha256 = "0fbnk9fzjsffwcijsv2wwykmybvfdckpqk99qlib3kb89him6w16"; }; prePatchCommon = '' @@ -124,8 +124,8 @@ let prePatch = prePatchCommon; inherit patches; postPatch = "cd ./utils"; - makeFlags = ''LANGS=''; - installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin VIM_INSTALL_PATH=$(out)/share PYPREFIX=''; + makeFlags = [ "LANGS=" ]; + installFlags = [ "DESTDIR=$(out)" "BINDIR=$(out)/bin" "VIM_INSTALL_PATH=$(out)/share" "PYPREFIX=" ]; postInstall = '' for prog in aa-audit aa-autodep aa-cleanprof aa-complain aa-disable aa-enforce aa-genprof aa-logprof aa-mergeprof aa-status aa-unconfined ; do @@ -162,8 +162,8 @@ let prePatch = prePatchCommon; postPatch = "cd ./binutils"; - makeFlags = ''LANGS= USE_SYSTEM=1''; - installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin''; + makeFlags = [ "LANGS=" "USE_SYSTEM=1" ]; + installFlags = [ "DESTDIR=$(out)" "BINDIR=$(out)/bin" ]; inherit doCheck; @@ -187,8 +187,11 @@ let ''; inherit patches; postPatch = "cd ./parser"; - makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include AR=${stdenv.cc.bintools.targetPrefix}ar''; - installFlags = ''DESTDIR=$(out) DISTRO=unknown''; + makeFlags = [ + "LANGS=" "USE_SYSTEM=1" "INCLUDEDIR=${libapparmor}/include" + "AR=${stdenv.cc.bintools.targetPrefix}ar" + ]; + installFlags = [ "DESTDIR=$(out)" "DISTRO=unknown" ]; inherit doCheck; @@ -204,8 +207,8 @@ let buildInputs = [ libapparmor pam ]; postPatch = "cd ./changehat/pam_apparmor"; - makeFlags = ''USE_SYSTEM=1''; - installFlags = ''DESTDIR=$(out)''; + makeFlags = [ "USE_SYSTEM=1" ]; + installFlags = [ "DESTDIR=$(out)" ]; inherit doCheck; @@ -219,7 +222,7 @@ let nativeBuildInputs = [ which ]; postPatch = "cd ./profiles"; - installFlags = ''DESTDIR=$(out) EXTRAS_DEST=$(out)/share/apparmor/extra-profiles''; + installFlags = [ "DESTDIR=$(out)" "EXTRAS_DEST=$(out)/share/apparmor/extra-profiles" ]; inherit doCheck; diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index f6ad8e2c03b..09d218e8745 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -246,9 +246,9 @@ if test -z "$libsOnly"; then ( # build and install fgl_glxgears cd fgl_glxgears; gcc -DGL_ARB_texture_multisample=1 -g \ - -I$libGLU_combined/include \ + -I$libGL/include -I$libGLU/include \ -I$out/include \ - -L$libGLU_combined/lib -lGL -lGLU -lX11 -lm \ + -L$libGL/lib -L$libGLU/lib -lGL -lGLU -lX11 -lm \ -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c ) diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index b79054d4406..a391f73391f 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, kernel ? null, which , xorg, makeWrapper, glibc, patchelf, unzip -, fontconfig, freetype, libGLU_combined # for fgl_glxgears +, fontconfig, freetype, libGLU, libGL # for fgl_glxgears , # Whether to build the libraries only (i.e. not the kernel module or # driver utils). Used to support 32-bit binaries on 64-bit # Linux. @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE patchelf unzip - libGLU_combined + libGLU libGL fontconfig freetype makeWrapper @@ -108,7 +108,7 @@ stdenv.mkDerivation rec { LD_LIBRARY_PATH = makeLibraryPath [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE - libGLU_combined + libGLU libGL fontconfig freetype stdenv.cc.cc @@ -122,7 +122,7 @@ stdenv.mkDerivation rec { xorg.libX11.out xorg.libXinerama.out xorg.libSM.out xorg.libICE.out ]; - inherit libGLU_combined; # only required to build the examples + inherit libGLU libGL; # only required to build the examples enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix index 4a569e1e1c3..dab95049643 100644 --- a/pkgs/os-specific/linux/audit/default.nix +++ b/pkgs/os-specific/linux/audit/default.nix @@ -61,6 +61,6 @@ stdenv.mkDerivation rec { homepage = https://people.redhat.com/sgrubb/audit/; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + maintainers = with stdenv.lib.maintainers; [ ]; }; } diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix index 38e2fa9bd34..591a9a8792f 100644 --- a/pkgs/os-specific/linux/autofs/default.nix +++ b/pkgs/os-specific/linux/autofs/default.nix @@ -2,14 +2,14 @@ , libxml2, kerberos, kmod, openldap, sssd, cyrus_sasl, openssl }: let - version = "5.1.5"; + version = "5.1.6"; name = "autofs-${version}"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz"; - sha256 = "1nn0z60f49zchpv8yw67fk8hmbjszpnczs0bj2ql2vgxwbcxmbr3"; + sha256 = "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx"; }; preConfigure = '' diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix index 1f24f4182de..eccb3e71660 100644 --- a/pkgs/os-specific/linux/batman-adv/alfred.nix +++ b/pkgs/os-specific/linux/batman-adv/alfred.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }: let - ver = "2019.3"; + ver = "2019.5"; in stdenv.mkDerivation rec { name = "alfred-${ver}"; src = fetchurl { url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "0rj7vyir4m63b69fgrz06mqlw7nivjfc8mdv19l02xs9vqh7khx4"; + sha256 = "09npizg89ks1wm19l5xz0pq1ljpsbwy030xnprqnd0p53976wywa"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix index 014ebe80cdc..ffb14e9c3c1 100644 --- a/pkgs/os-specific/linux/bcc/default.nix +++ b/pkgs/os-specific/linux/bcc/default.nix @@ -1,38 +1,25 @@ { stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel , flex, bison, elfutils, python, luajit, netperf, iperf, libelf -, systemtap +, systemtap, bash }: python.pkgs.buildPythonApplication rec { - version = "0.10.0"; + version = "0.12.0"; name = "bcc-${version}"; - srcs = [ - (fetchFromGitHub { - owner = "iovisor"; - repo = "bcc"; - rev = "v${version}"; - sha256 = "0qbqygj7ia494fbira9ajavvnxlpffx1jlzbb1vsf1wa8h3y4xn1"; - name = "bcc"; - }) - - # note: keep this in sync with the version that was used at the time of the - # tagged release! - (fetchFromGitHub { - owner = "libbpf"; - repo = "libbpf"; - rev = "0e37e0d03ac99987401e4496d3d76d44237b9963"; - sha256 = "0wjf9dhvqkwiwnygzikamrgmpxgq77h2pxx6mi4pnbw0lxlppivr"; - name = "libbpf"; - }) - ]; - sourceRoot = "bcc"; + src = fetchFromGitHub { + owner = "iovisor"; + repo = "bcc"; + rev = "v${version}"; + sha256 = "1r2yjxam23k56prsvjhqf8i8d3irhcvmy0bly6x23h1jc3zc6yym"; + fetchSubmodules = true; + }; format = "other"; buildInputs = with llvmPackages; [ llvm clang-unwrapped kernel elfutils luajit netperf iperf - systemtap.stapBuild flex + systemtap.stapBuild flex bash ]; patches = [ @@ -58,12 +45,6 @@ python.pkgs.buildPythonApplication rec { patch -p1 < libbcc-path.patch ''; - preConfigure = '' - chmod -R u+w ../libbpf/ - rmdir src/cc/libbpf - (cd src/cc && ln -svf ../../../libbpf/ libbpf) - ''; - postInstall = '' mkdir -p $out/bin $out/share rm -r $out/share/bcc/tools/old @@ -76,6 +57,8 @@ python.pkgs.buildPythonApplication rec { if [ ! -e $bin ]; then ln -s $f $bin fi + substituteInPlace "$f" \ + --replace '$(dirname $0)/lib' "$out/share/bcc/tools/lib" done sed -i -e "s!lib=.*!lib=$out/bin!" $out/bin/{java,ruby,node,python}gc diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix deleted file mode 100644 index 7ce2fea6924..00000000000 --- a/pkgs/os-specific/linux/beegfs/default.nix +++ /dev/null @@ -1,167 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, unzip, which -, libuuid, attr, xfsprogs, cppunit, rdma-core -, zlib, openssl, sqlite, jre, openjdk, ant -, openssh, perl, gfortran, influxdb, curl -} : - -let - version = "7.0"; - - subdirs = [ - "beeond_thirdparty/build" - "beeond_thirdparty_gpl/build" - "thirdparty/build" - "opentk_lib/build" - "common/build" - "admon/build" - "java_lib/build" - "ctl/build" - "fsck/build" - "helperd/build" - "meta/build" - "mgmtd/build" - "storage/build" - "utils/build" - "mon/build" - "upgrade/beegfs_mirror_md/build" - ]; - -in stdenv.mkDerivation { - pname = "beegfs"; - inherit version; - - src = fetchurl { - url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}"; - sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k"; - }; - - nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ]; - - buildInputs = [ - libuuid - attr - xfsprogs - zlib - openssl - sqlite - jre - rdma-core - openssh - gfortran - influxdb - curl - ]; - - hardeningDisable = [ "format" ]; # required for building beeond - - postPatch = '' - patchShebangs ./ - find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \; - find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \; - find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \; - - # unpack manually and patch variable name - sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile - cd beeond_thirdparty/source - tar xf pcopy-0.96.tar.gz - sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp - cd ../.. - ''; - - buildPhase = '' - for i in ${toString subdirs}; do - make -C $i BEEGFS_OPENTK_IBVERBS=1 ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} - done - make -C admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1 - ''; - - enableParallelBuilding = true; - - installPhase = '' - binDir=$out/bin - docDir=$out/share/doc/beegfs - includeDir=$out/include/beegfs - libDir=$out/lib - libDirPkg=$out/lib/beegfs - - mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir - - cp admon/build/beegfs-admon $binDir - cp admon/build/dist/usr/bin/beegfs-admon-gui $binDir - cp admon_gui/dist/beegfs-admon-gui.jar $libDirPkg - cp admon/build/dist/etc/beegfs-admon.conf $docDir - - cp java_lib/build/jbeegfs.jar $libDirPkg - cp java_lib/build/libjbeegfs.so $libDir - - cp ctl/build/beegfs-ctl $binDir - cp fsck/build/beegfs-fsck $binDir - - cp utils/scripts/beegfs-check-servers $binDir - cp utils/scripts/beegfs-df $binDir - cp utils/scripts/beegfs-net $binDir - - cp helperd/build/beegfs-helperd $binDir - cp helperd/build/dist/etc/beegfs-helperd.conf $docDir - - cp client_module/build/dist/sbin/beegfs-setup-client $binDir - cp client_module/build/dist/etc/beegfs-client.conf $docDir - - cp meta/build/beegfs-meta $binDir - cp meta/build/dist/sbin/beegfs-setup-meta $binDir - cp meta/build/dist/etc/beegfs-meta.conf $docDir - - cp mgmtd/build/beegfs-mgmtd $binDir - cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir - cp mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir - - cp storage/build/beegfs-storage $binDir - cp storage/build/dist/sbin/beegfs-setup-storage $binDir - cp storage/build/dist/etc/beegfs-storage.conf $docDir - - cp opentk_lib/build/libbeegfs-opentk.so $libDir - - cp upgrade/beegfs_mirror_md/build/beegfs-mirror-md $binDir - - cp client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir - cp -r client_devel/include/* $includeDir - - cp beeond_thirdparty_gpl/build/parallel $out/bin - cp beeond_thirdparty/build/pcopy/p* $out/bin - cp beeond_thirdparty/build/pcopy/s* $out/bin - cp -r beeond/scripts/* $out - cp beeond/source/* $out/bin - ''; - - postFixup = '' - substituteInPlace $out/bin/beegfs-admon-gui \ - --replace " java " " ${jre}/bin/java " \ - --replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \ - "$libDirPkg/beegfs-admon-gui.jar" - - substituteInPlace $out/bin/beeond \ - --replace /opt/beegfs/sbin "$out/bin" - ''; - - doCheck = true; - - checkPhase = '' - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/opentk_lib/build/ \ - common/build/test-runner --text - ''; - - meta = with stdenv.lib; { - description = "High performance distributed filesystem with RDMA support"; - homepage = "https://www.beegfs.io"; - platforms = [ "i686-linux" "x86_64-linux" ]; - license = { - fullName = "BeeGFS_EULA"; - url = "https://www.beegfs.io/docs/BeeGFS_EULA.txt"; - free = false; - }; - maintainers = with maintainers; [ markuskowa ]; - # 2019-08-09 - # fails to build and had stability issues earlier - broken = true; - }; -} diff --git a/pkgs/os-specific/linux/beegfs/kernel-module.nix b/pkgs/os-specific/linux/beegfs/kernel-module.nix deleted file mode 100644 index 286252b927b..00000000000 --- a/pkgs/os-specific/linux/beegfs/kernel-module.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, which -, kmod, kernel -} : - -let - version = "7.0"; -in stdenv.mkDerivation { - name = "beegfs-module-${version}-${kernel.version}"; - - src = fetchurl { - url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}"; - sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k"; - }; - - hardeningDisable = [ "fortify" "pic" "stackprotector" ]; - - nativeBuildInputs = [ which kmod ]; - - buildInputs = kernel.moduleBuildDependencies; - - makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/" ]; - - postPatch = '' - patchShebangs ./ - find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \; - find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \; - find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \; - ''; - - preBuild = "cd client_module/build"; - - installPhase = '' - instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs - mkdir -p $instdir - cp beegfs.ko $instdir - ''; - - meta = with stdenv.lib; { - description = "High performance distributed filesystem with RDMA support"; - homepage = "https://www.beegfs.io"; - platforms = [ "i686-linux" "x86_64-linux" ]; - license = licenses.gpl2; - maintainers = with maintainers; [ markuskowa ]; - broken = stdenv.lib.versionAtLeast kernel.version "4.18"; - }; -} diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix deleted file mode 100644 index e018f4622b4..00000000000 --- a/pkgs/os-specific/linux/blcr/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchurl, kernel, perl, makeWrapper }: - -# BLCR version 0.8.6 should works with linux kernel up to version 3.17.x - -assert stdenv.lib.versionOlder "3.18" kernel.version; - -stdenv.mkDerivation { - name = "blcr_${kernel.version}-0.8.6pre4"; - - src = fetchurl { - url = https://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.6_b4.tar.gz; - sha256 = "1a3gdhdnmk592jc652szxgfz8rjd8dax5jwxfsypiqx5lgkj3m21"; - }; - - buildInputs = [ perl makeWrapper ]; - - hardeningDisable = [ "pic" ]; - - preConfigure = '' - configureFlagsArray=( - --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build - --with-kmod-dir=$out/lib/modules/${kernel.modDirVersion} - --with-system-map=${kernel}/System.map - ) - ''; - - postInstall = '' - for prog in "$out/bin/"* - do - wrapProgram "$prog" --prefix LD_LIBRARY_PATH ":" "$out/lib" - done - ''; - - meta = { - description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)"; - homepage = https://ftg.lbl.gov/projects/CheckpointRestart/; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ - z77z - ]; - }; -} diff --git a/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch b/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch deleted file mode 100644 index 749787c5b3a..00000000000 --- a/pkgs/os-specific/linux/bluez/bluez-5.37-obexd_without_systemd-1.patch +++ /dev/null @@ -1,61 +0,0 @@ -Submitted By: Armin K. <krejzi at email dot com> -Date: 2013-04-29 -Initial Package Version: 5.17 -Upstream Status: unknown -Origin: Arch Linux (Giovanni Campagna) -Description: Allow using obexd without systemd in the user session - -Not all sessions run systemd --user (actually, the majority -doesn't), so the dbus daemon must be able to spawn obexd -directly, and to do so it needs the full path of the daemon. ---- - Makefile.obexd | 4 ++-- - obexd/src/org.bluez.obex.service | 4 ---- - obexd/src/org.bluez.obex.service.in | 4 ++++ - 3 files changed, 6 insertions(+), 6 deletions(-) - delete mode 100644 obexd/src/org.bluez.obex.service - create mode 100644 obexd/src/org.bluez.obex.service.in - -diff --git a/Makefile.obexd b/Makefile.obexd -index 3760867..142e7c3 100644 ---- a/Makefile.obexd -+++ b/Makefile.obexd -@@ -2,12 +2,12 @@ - if SYSTEMD - systemduserunitdir = @SYSTEMD_USERUNITDIR@ - systemduserunit_DATA = obexd/src/obex.service -+endif - - dbussessionbusdir = @DBUS_SESSIONBUSDIR@ - dbussessionbus_DATA = obexd/src/org.bluez.obex.service --endif - --EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service -+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in - - obex_plugindir = $(libdir)/obex/plugins - -diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service -deleted file mode 100644 -index a538088..0000000 ---- a/obexd/src/org.bluez.obex.service -+++ /dev/null -@@ -1,4 +0,0 @@ --[D-BUS Service] --Name=org.bluez.obex --Exec=/bin/false --SystemdService=dbus-org.bluez.obex.service -diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in -new file mode 100644 -index 0000000..9c815f2 ---- /dev/null -+++ b/obexd/src/org.bluez.obex.service.in -@@ -0,0 +1,4 @@ -+[D-BUS Service] -+Name=org.bluez.obex -+Exec=@libexecdir@/obexd -+SystemdService=dbus-org.bluez.obex.service --- -1.8.3.1 - - diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index be43d23d611..cf9bcec554c 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -1,67 +1,83 @@ -{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, - python3, readline, udev, libical, systemd, fetchpatch, - enableWiimote ? false, enableMidi ? false, enableSixaxis ? false }: +{ stdenv +, lib +, fetchurl +, alsaLib +, dbus +, glib +, json_c +, libical +, pkgconfig +, python3 +, readline +, systemd +, udev +}: stdenv.mkDerivation rec { - name = "bluez-5.50"; + pname = "bluez"; + version = "5.52"; src = fetchurl { - url = "mirror://kernel/linux/bluetooth/${name}.tar.xz"; - sha256 = "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z"; + url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz"; + sha256 = "02jng21lp6fb3c2bh6vf9y7cj4gaxwk29dfc32ncy0lj0gi4q57p"; }; pythonPath = with python3.pkgs; [ - dbus-python pygobject2 pygobject3 recursivePthLoader + dbus-python + pygobject3 + recursivePthLoader ]; buildInputs = [ - dbus glib alsaLib python3 python3.pkgs.wrapPython - readline udev libical + alsaLib + dbus + glib + json_c + libical + python3 + readline + udev ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ + pkgconfig + python3.pkgs.wrapPython + ]; outputs = [ "out" "dev" "test" ]; - patches = [ - ./bluez-5.37-obexd_without_systemd-1.patch - (fetchpatch { - url = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=1880b299086659844889cdaf687133aca5eaf102"; - name = "CVE-2018-10910-1.patch"; - sha256 = "17spsxza27gif8jpxk7360ynvwii1llfdfwg35rwywjjmvww0qj4"; - }) - (fetchpatch { - url = "https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=9213ff7642a33aa481e3c61989ad60f7985b9984"; - name = "CVE-2018-10910-2.patch"; - sha256 = "0j7klbhym64yhn86dbsmybqmwx47bviyyhx931izl1p29z2mg8hn"; - }) - ]; - - postConfigure = '' + postPatch = '' substituteInPlace tools/hid2hci.rules \ --replace /sbin/udevadm ${systemd}/bin/udevadm \ --replace "hid2hci " "$out/lib/udev/hid2hci " ''; - configureFlags = (with stdenv.lib; [ + configureFlags = [ "--localstatedir=/var" "--enable-library" "--enable-cups" "--enable-pie" - "--with-dbusconfdir=$(out)/etc" - "--with-dbussystembusdir=$(out)/share/dbus-1/system-services" - "--with-dbussessionbusdir=$(out)/share/dbus-1/services" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" - "--with-systemduserunitdir=$(out)/etc/systemd/user" - "--with-udevdir=$(out)/lib/udev" - ] ++ optional enableWiimote [ "--enable-wiimote" ] - ++ optional enableMidi [ "--enable-midi" ] - ++ optional enableSixaxis [ "--enable-sixaxis" ]); + "--with-dbusconfdir=${placeholder "out"}/share" + "--with-dbussystembusdir=${placeholder "out"}/share/dbus-1/system-services" + "--with-dbussessionbusdir=${placeholder "out"}/share/dbus-1/services" + "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user" + "--with-udevdir=${placeholder "out"}/lib/udev" + "--enable-health" + "--enable-mesh" + "--enable-midi" + "--enable-nfc" + "--enable-sap" + "--enable-sixaxis" + "--enable-wiimote" + ]; # Work around `make install' trying to create /var/lib/bluetooth. - installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth"; + installFlags = [ "statedir=$(TMPDIR)/var/lib/bluetooth" ]; + + makeFlags = [ "rulesdir=${placeholder "out"}/lib/udev/rules.d" ]; - makeFlags = "rulesdir=$(out)/lib/udev/rules.d"; + doCheck = stdenv.hostPlatform.isx86_64; postInstall = '' mkdir -p $test/{bin,test} diff --git a/pkgs/os-specific/linux/bpftool/default.nix b/pkgs/os-specific/linux/bpftool/default.nix index c54e3e38e9b..8b288fc046a 100644 --- a/pkgs/os-specific/linux/bpftool/default.nix +++ b/pkgs/os-specific/linux/bpftool/default.nix @@ -1,13 +1,13 @@ { stdenv , libopcodes, libbfd, libelf -, linuxPackages_latest +, linuxPackages_latest, zlib }: stdenv.mkDerivation { pname = "bpftool"; inherit (linuxPackages_latest.kernel) version src; - buildInputs = [ libopcodes libbfd libelf ]; + buildInputs = [ libopcodes libbfd libelf zlib ]; preConfigure = '' cd tools/bpf/bpftool diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix index 7f5cd206f32..9eb9c53b8dd 100644 --- a/pkgs/os-specific/linux/bpftrace/default.nix +++ b/pkgs/os-specific/linux/bpftrace/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "bpftrace"; - version = "0.9.1"; + version = "0.9.3"; src = fetchFromGitHub { owner = "iovisor"; repo = "bpftrace"; rev = "refs/tags/v${version}"; - sha256 = "17qf1c3h99iyxkc0xzix4jnxwqvxbg9ki23zm7l04qw73lj01g1m"; + sha256 = "1qkfbmksdssmm1qxcvcwdql1pz8cqy233195n9i9q5dhk876f75v"; }; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/bridge-utils/autoconf-ar.patch b/pkgs/os-specific/linux/bridge-utils/autoconf-ar.patch new file mode 100644 index 00000000000..efa41075644 --- /dev/null +++ b/pkgs/os-specific/linux/bridge-utils/autoconf-ar.patch @@ -0,0 +1,25 @@ +diff --git a/configure.in b/configure.in +index 5e3f89b..19be6d9 100644 +--- a/configure.in ++++ b/configure.in +@@ -9,6 +9,7 @@ dnl Checks for programs. + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_RANLIB ++AC_CHECK_TOOL([AR], [ar]) + + dnl Checks for header files. + AC_HEADER_STDC +diff --git a/libbridge/Makefile.in b/libbridge/Makefile.in +index 20512c4..83c802b 100644 +--- a/libbridge/Makefile.in ++++ b/libbridge/Makefile.in +@@ -1,7 +1,7 @@ + + KERNEL_HEADERS=-I@KERNEL_HEADERS@ + +-AR=ar ++AR=@AR@ + RANLIB=@RANLIB@ + + CC=@CC@ diff --git a/pkgs/os-specific/linux/bridge-utils/default.nix b/pkgs/os-specific/linux/bridge-utils/default.nix index 2725a5909b7..e3207fdf37d 100644 --- a/pkgs/os-specific/linux/bridge-utils/default.nix +++ b/pkgs/os-specific/linux/bridge-utils/default.nix @@ -8,11 +8,12 @@ stdenv.mkDerivation rec { sha256 = "42f9e5fb8f6c52e63a98a43b81bd281c227c529f194913e1c51ec48a393b6688"; }; - # Remove patch once the kernel headers are updated - patches = [ ./add-ip6-header.patch ]; + patches = [ + ./autoconf-ar.patch + ./add-ip6-header.patch # Remove patch once the kernel headers are updated + ]; nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ ]; postInstall = '' # The bridge utils build does not fail even if the brctl binary diff --git a/pkgs/os-specific/linux/brillo/default.nix b/pkgs/os-specific/linux/brillo/default.nix new file mode 100644 index 00000000000..6d51907ea16 --- /dev/null +++ b/pkgs/os-specific/linux/brillo/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitLab , go-md2man, coreutils, substituteAll }: + +stdenv.mkDerivation rec { + pname = "brillo"; + version = "1.4.9"; + + src = fetchFromGitLab { + owner= "cameronnemo"; + repo= "brillo"; + rev= "v${version}"; + sha256 = "0ab7s60zcgl6hvm0a9rlwq35p25n3jnw6r9256pwl4cdwyjyybsb"; + }; + + patches = [ + (substituteAll { + src = ./udev-rule.patch; + inherit coreutils; + }) + ]; + + nativeBuildInputs = [ go-md2man ]; + + makeFlags = [ "PREFIX=$(out)" "AADIR=$(out)/etc/apparmor.d" ]; + + installTargets = "install-dist"; + + meta = with stdenv.lib; { + description = "Backlight and Keyboard LED control tool"; + homepage = https://gitlab.com/cameronnemo/brillo; + license = [ licenses.gpl3 licenses.bsd0 ]; + platforms = platforms.linux; + maintainers = [ maintainers.alexarice ]; + }; +} diff --git a/pkgs/os-specific/linux/brillo/udev-rule.patch b/pkgs/os-specific/linux/brillo/udev-rule.patch new file mode 100644 index 00000000000..7b1cf484067 --- /dev/null +++ b/pkgs/os-specific/linux/brillo/udev-rule.patch @@ -0,0 +1,13 @@ +diff --git a/contrib/udev.in b/contrib/udev.in +index 0625952..a6c940e 100644 +--- a/contrib/udev.in ++++ b/contrib/udev.in +@@ -1,4 +1,4 @@ +-ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp @group@ /sys/class/backlight/%k/brightness" +-ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness" +-ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp @group@ /sys/class/leds/%k/brightness" +-ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness" ++ACTION=="add", SUBSYSTEM=="backlight", RUN+="@coreutils@/bin/chgrp @group@ /sys/class/backlight/%k/brightness" ++ACTION=="add", SUBSYSTEM=="backlight", RUN+="@coreutils@/bin/chmod g+w /sys/class/backlight/%k/brightness" ++ACTION=="add", SUBSYSTEM=="leds", RUN+="@coreutils@/bin/chgrp @group@ /sys/class/leds/%k/brightness" ++ACTION=="add", SUBSYSTEM=="leds", RUN+="@coreutils@/bin/chmod g+w /sys/class/leds/%k/brightness" diff --git a/pkgs/os-specific/linux/btfs/default.nix b/pkgs/os-specific/linux/btfs/default.nix index 27fa40887ed..d2e5d91e365 100644 --- a/pkgs/os-specific/linux/btfs/default.nix +++ b/pkgs/os-specific/linux/btfs/default.nix @@ -3,25 +3,20 @@ stdenv.mkDerivation rec { pname = "btfs"; - version = "2.19"; + version = "2.20"; src = fetchFromGitHub { owner = "johang"; repo = pname; rev = "v${version}"; - sha256 = "1b58zqha2hpnk4ysp9870wd9pkyy6l106ghp0z0x655q70npj0wn"; + sha256 = "1xil18nmivakdv6rz4sd3203gzfisdvj79spni59kv7dby64rxdz"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ - boost fuse libtorrentRasterbar curl + boost fuse libtorrentRasterbar curl python3 ]; - preInstall = '' - substituteInPlace scripts/btplay \ - --replace "/usr/bin/env python" "${python3.interpreter}" - ''; - meta = with stdenv.lib; { description = "A bittorrent filesystem based on FUSE"; homepage = https://github.com/johang/btfs; diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index f041d2b5042..41ac6e94ab3 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -1,6 +1,8 @@ { stdenv, lib, buildPackages, fetchurl , enableStatic ? false , enableMinimal ? false +# Allow forcing musl without switching stdenv itself, e.g. for our bootstrapping: +# nix build -f pkgs/top-level/release.nix stdenvBootstrapTools.x86_64-linux.dist , useMusl ? stdenv.hostPlatform.libc == "musl", musl , extraConfig ? "" }: @@ -32,14 +34,14 @@ let in stdenv.mkDerivation rec { - name = "busybox-1.30.1"; + name = "busybox-1.31.1"; # Note to whoever is updating busybox: please verify that: # nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test # still builds after the update. src = fetchurl { url = "https://busybox.net/downloads/${name}.tar.bz2"; - sha256 = "1p7vbnwj60q6zkzrzq3pa8ybb7mviv2aa5a8g7s4hh6kvfj0879x"; + sha256 = "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"; }; hardeningDisable = [ "format" "pie" ] @@ -88,7 +90,7 @@ stdenv.mkDerivation rec { runHook postConfigure ''; - postConfigure = lib.optionalString useMusl '' + postConfigure = lib.optionalString (useMusl && stdenv.hostPlatform.libc != "musl") '' makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}cc -isystem ${musl.dev}/include -B${musl}/lib -L${musl}/lib") ''; diff --git a/pkgs/os-specific/linux/busybox/sandbox-shell.nix b/pkgs/os-specific/linux/busybox/sandbox-shell.nix index c2d82ebc487..036ea0a0f48 100644 --- a/pkgs/os-specific/linux/busybox/sandbox-shell.nix +++ b/pkgs/os-specific/linux/busybox/sandbox-shell.nix @@ -2,8 +2,6 @@ # Minimal shell for use as basic /bin/sh in sandbox builds busybox.override { - # musl roadmap has RISC-V support projected for 1.1.20 - useMusl = !stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.libc != "bionic"; enableStatic = true; enableMinimal = true; extraConfig = '' diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix index 58038923890..d9608650ed9 100644 --- a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix +++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix @@ -1,6 +1,6 @@ -{fetchgit }: +{ fetchFromGitiles }: -fetchgit { +fetchFromGitiles { name = "chromium-xorg-conf"; url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf"; rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514"; diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix index 1b307da8cb8..601810f2600 100644 --- a/pkgs/os-specific/linux/cpupower/default.nix +++ b/pkgs/os-specific/linux/cpupower/default.nix @@ -14,7 +14,11 @@ stdenv.mkDerivation { sed -i 's,/usr/bin/install,${buildPackages.coreutils}/bin/install,' Makefile ''; - makeFlags = [ "CROSS=${stdenv.cc.targetPrefix}" ]; + makeFlags = [ + "CROSS=${stdenv.cc.targetPrefix}" + "CC=${stdenv.cc.targetPrefix}cc" + "LD=${stdenv.cc.targetPrefix}cc" + ]; installFlags = stdenv.lib.mapAttrsToList (n: v: "${n}dir=${placeholder "out"}/${v}") { diff --git a/pkgs/os-specific/linux/cpustat/default.nix b/pkgs/os-specific/linux/cpustat/default.nix new file mode 100644 index 00000000000..23ed2b07c96 --- /dev/null +++ b/pkgs/os-specific/linux/cpustat/default.nix @@ -0,0 +1,26 @@ +{ stdenv, lib, fetchurl, ncurses }: + +stdenv.mkDerivation rec { + pname = "cpustat"; + version = "0.02.09"; + + src = fetchurl { + url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz"; + sha256 = "12xahv65yrhs5r830clkl1qnwg3dnrk5qn3zsznzbv1iy2f3cj7y"; + }; + + buildInputs = [ ncurses ]; + + installFlags = [ + "BINDIR=${placeholder "out"}/bin" + "MANDIR=${placeholder "out"}/share/man/man8" + ]; + + meta = with lib; { + description = "CPU usage monitoring tool"; + homepage = "https://kernel.ubuntu.com/~cking/cpustat/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix index 354eea40b24..3210a0106a6 100644 --- a/pkgs/os-specific/linux/criu/default.nix +++ b/pkgs/os-specific/linux/criu/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "criu"; - version = "3.12"; + version = "3.13"; src = fetchurl { url = "https://download.openvz.org/criu/${pname}-${version}.tar.bz2"; - sha256 = "1z0fpym8fi2jqx99himqs8pm5l4mzrswjqxcyfwjmbabzb77dwhf"; + sha256 = "1yn9ix9lqvqvjrs3a3g6g1wqfniyf9n7giy0mr3jvijmrcm7y0pa"; }; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/device-tree/raspberrypi.nix b/pkgs/os-specific/linux/device-tree/raspberrypi.nix index a77200a68f7..5e99e870ac8 100644 --- a/pkgs/os-specific/linux/device-tree/raspberrypi.nix +++ b/pkgs/os-specific/linux/device-tree/raspberrypi.nix @@ -11,7 +11,7 @@ stdenvNoCC.mkDerivation { cp ${raspberrypifw}/share/raspberrypi/boot/bcm*.dtb . - cp bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb + cp bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb cp bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb cp bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb cp bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb @@ -23,6 +23,7 @@ stdenvNoCC.mkDerivation { cp bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb cp bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb cp bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb + cp bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb ''; passthru = { diff --git a/pkgs/os-specific/linux/digimend/default.nix b/pkgs/os-specific/linux/digimend/default.nix new file mode 100644 index 00000000000..94f32d2c432 --- /dev/null +++ b/pkgs/os-specific/linux/digimend/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchFromGitHub, fetchpatch, kernel }: + +assert stdenv.lib.versionAtLeast kernel.version "3.5"; + +stdenv.mkDerivation rec { + pname = "digimend"; + version = "unstable-2019-06-18"; + + src = fetchFromGitHub { + owner = "digimend"; + repo = "digimend-kernel-drivers"; + rev = "8b228a755e44106c11f9baaadb30ce668eede5d4"; + sha256 = "1l54j85540386a8aypqka7p5hy1b63cwmpsscv9rmmf10f78v8mm"; + }; + + INSTALL_MOD_PATH = "\${out}"; + + postPatch = '' + sed 's/udevadm /true /' -i Makefile + sed 's/depmod /true /' -i Makefile + ''; + + patches = [ + # Fix build on Linux kernel >= 5.4 + # https://github.com/DIGImend/digimend-kernel-drivers/pull/331 + (fetchpatch { + url = "https://github.com/DIGImend/digimend-kernel-drivers/commit/fb8a2eb6a9198bb35aaccb81e22dd5ebe36124d1.patch"; + sha256 = "1j7l5hsk59gccydpf7n6xx1ki4rm6aka7k879a7ah5jn8p1ylgw9"; + }) + ]; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + postInstall = '' + # Remove module reload hack. + # The hid-rebind unloads and then reloads the hid-* module to ensure that + # the extra/ module is loaded. + rm -r $out/lib/udev + ''; + + makeFlags = [ + "KVERSION=${kernel.modDirVersion}" + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "DESTDIR=${placeholder "out"}" + ]; + + meta = with stdenv.lib; { + description = "DIGImend graphics tablet drivers for the Linux kernel"; + homepage = "https://digimend.github.io/"; + license = licenses.gpl2; + maintainers = with maintainers; [ gebner ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix index 7ce5535313c..642d05e4beb 100644 --- a/pkgs/os-specific/linux/displaylink/default.nix +++ b/pkgs/os-specific/linux/displaylink/default.nix @@ -11,22 +11,22 @@ let in stdenv.mkDerivation rec { pname = "displaylink"; - version = "4.4.24"; + version = "5.2.14"; src = requireFile rec { name = "displaylink.zip"; - sha256 = "0c02mg7vbijpfpk9imh0hmls1yiglc216zfllw5ar86r1slhd5y0"; + sha256 = "03b176y95f04rg3lcnjps9llsjbvd8yksh1fpvjwaciz48mnxh2i"; message = '' In order to install the DisplayLink drivers, you must first comply with DisplayLink's EULA and download the binaries and sources from here: - http://www.displaylink.com/downloads/file?id=1261 + http://www.displaylink.com/downloads/file?id=1369 Once you have downloaded the file, please use the following commands and re-run the installation: - mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${version}.zip" \$PWD/${name} + mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu ${lib.versions.majorMinor version}.zip" \$PWD/${name} nix-prefetch-url file://\$PWD/${name} ''; }; @@ -36,7 +36,7 @@ in stdenv.mkDerivation rec { unpackPhase = '' unzip $src chmod +x displaylink-driver-${version}.run - ./displaylink-driver-${version}.run --target . --noexec + ./displaylink-driver-${version}.run --target . --noexec --nodiskspace ''; patches = [ (substituteAll { @@ -67,8 +67,9 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux"; + maintainers = with maintainers; [ nshalman abbradar peterhoeg ]; platforms = [ "x86_64-linux" "i686-linux" ]; license = licenses.unfree; - homepage = https://www.displaylink.com/; + homepage = "https://www.displaylink.com/"; }; } diff --git a/pkgs/os-specific/linux/displaylink/udev-installer.patch b/pkgs/os-specific/linux/displaylink/udev-installer.patch index 3e62e20c315..bd7d9d145c9 100644 --- a/pkgs/os-specific/linux/displaylink/udev-installer.patch +++ b/pkgs/os-specific/linux/displaylink/udev-installer.patch @@ -4,13 +4,13 @@ cat <<'EOF' start_service() { -- systemctl start dlm +- systemctl start displaylink-driver + @systemd@/bin/systemctl start --no-block dlm } stop_service() { -- systemctl stop dlm +- systemctl stop displaylink-driver + @systemd@/bin/systemctl stop dlm } diff --git a/pkgs/os-specific/linux/dmtcp/default.nix b/pkgs/os-specific/linux/dmtcp/default.nix index 1d67b16a492..0f7f2f9817a 100644 --- a/pkgs/os-specific/linux/dmtcp/default.nix +++ b/pkgs/os-specific/linux/dmtcp/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "dmtcp"; - version = "2.5.2"; + version = "2.6.0"; src = fetchFromGitHub { - owner = "dmtcp"; - repo = "dmtcp"; + owner = pname; + repo = pname; rev = version; - sha256 = "1sq38in4wk855yhfnzbs9xpnps97fhja93w08xjmx7szzm33g5a8"; + sha256 = "01skyhr573w1dygvkwz66lvir2jsq443fjwkysglwxvmrdfz9kwd"; }; dontDisableStatic = true; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { --replace "os.getenv('USER')" "\"nixbld1\"" ''; - meta = { + meta = with stdenv.lib; { description = "Distributed MultiThreaded Checkpointing"; longDescription = '' DMTCP (Distributed MultiThreaded Checkpointing) is a tool to @@ -41,7 +41,8 @@ stdenv.mkDerivation rec { programs spread across many machines and connected by sockets. It does not modify the user's program or the operating system. ''; - homepage = http://dmtcp.sourceforge.net/; - license = stdenv.lib.licenses.lgpl3Plus; # most files seem this or LGPL-2.1+ + homepage = "http://dmtcp.sourceforge.net/"; + license = licenses.lgpl3Plus; # most files seem this or LGPL-2.1+ + platforms = intersectLists platforms.linux platforms.x86; # broken on ARM and Darwin }; } diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix index 13614493f61..414f276a210 100644 --- a/pkgs/os-specific/linux/dpdk/default.nix +++ b/pkgs/os-specific/linux/dpdk/default.nix @@ -1,54 +1,65 @@ -{ stdenv, lib, kernel, fetchurl, pkgconfig, numactl, shared ? false }: +{ stdenv, lib +, kernel +, fetchurl +, pkgconfig, meson, ninja +, libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap +, doxygen, python3 +, shared ? false }: let - - kver = kernel.modDirVersion or null; - mod = kernel != null; in stdenv.mkDerivation rec { name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}"; - version = "17.11.2"; + version = "19.11"; src = fetchurl { url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz"; - sha256 = "19m5l3jkrns8r1zbjb6ry18w50ff36kbl5b5g6pfcp9p57sfisd2"; + sha256 = "1aqjn6bm9miv3v2rbqi1rh1c19wa8nip9fvnqaqpnrs3i2b36wa6"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ numactl ] ++ lib.optional mod kernel.moduleBuildDependencies; - - RTE_KERNELDIR = if mod then "${kernel.dev}/lib/modules/${kver}/build" else "/var/empty"; - RTE_TARGET = "x86_64-native-linuxapp-gcc"; - - # we need sse3 instructions to build - NIX_CFLAGS_COMPILE = [ "-msse3" ]; - hardeningDisable = [ "pic" ]; + nativeBuildInputs = [ + doxygen + meson + ninja + pkgconfig + python3 + python3.pkgs.sphinx + ]; + buildInputs = [ + jansson + libbpf + libbsd + libelf + libpcap + numactl + openssl.dev + zlib + ] ++ lib.optionals mod kernel.moduleBuildDependencies; postPatch = '' - cat >>config/defconfig_$RTE_TARGET <<EOF -# Build static or shared libraries. -CONFIG_RTE_BUILD_SHARED_LIB=${if shared then "y" else "n"} -EOF - '' + lib.optionalString (!mod) '' - cat >>config/defconfig_$RTE_TARGET <<EOF -# Do not build kernel modules. -CONFIG_RTE_EAL_IGB_UIO=n -CONFIG_RTE_KNI_KMOD=n -EOF + patchShebangs config/arm ''; - configurePhase = '' - make T=${RTE_TARGET} config - ''; + mesonFlags = [ + "-Denable_docs=true" + "-Denable_kmods=${if mod then "true" else "false"}" + ] + ++ lib.optional (!shared) "-Ddefault_library=static" + ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem" + ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}"; - installTargets = [ "install-runtime" "install-sdk" "install-kmod" ]; # skip install-doc + # dpdk meson script does not support separate kernel source and installion + # dirs (except via destdir), so we temporarily link the former into the latter. + preConfigure = lib.optionalString mod '' + mkdir -p $kmod/lib/modules/${kernel.modDirVersion} + ln -sf ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \ + $kmod/lib/modules/${kernel.modDirVersion} + ''; - installFlags = [ - "prefix=$(out)" - ] ++ lib.optionals mod [ - "kerneldir=$(kmod)/lib/modules/${kver}" - ]; + postBuild = lib.optionalString mod '' + rm -f $kmod/lib/modules/${kernel.modDirVersion}/build + ''; outputs = [ "out" ] ++ lib.optional mod "kmod"; @@ -58,7 +69,7 @@ EOF description = "Set of libraries and drivers for fast packet processing"; homepage = http://dpdk.org/; license = with licenses; [ lgpl21 gpl2 bsd2 ]; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ domenkozar orivej ]; + platforms = platforms.linux; + maintainers = with maintainers; [ domenkozar magenbluten orivej ]; }; } diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix index 5e990511eed..0e35f45f042 100644 --- a/pkgs/os-specific/linux/drbd/default.nix +++ b/pkgs/os-specific/linux/drbd/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { patches = [ ./pass-force.patch ]; - buildInputs = [ flex perl ]; + nativeBuildInputs = [ flex ]; + buildInputs = [ perl ]; configureFlags = [ "--without-distro" diff --git a/pkgs/os-specific/linux/dropwatch/default.nix b/pkgs/os-specific/linux/dropwatch/default.nix index f5b7e44a3fb..061dce04860 100644 --- a/pkgs/os-specific/linux/dropwatch/default.nix +++ b/pkgs/os-specific/linux/dropwatch/default.nix @@ -3,17 +3,16 @@ stdenv.mkDerivation rec { pname = "dropwatch"; - version = "1.5"; + version = "1.5.1"; src = fetchFromGitHub { owner = "nhorman"; repo = pname; - rev = version; - sha256 = "085hyyl28v0vpxfnmzchl97fjfnzj46ynhkg6y4i6h194y0d99m7"; + rev = "v${version}"; + sha256 = "1qmax0l7z1qik42c949fnvjh5r6awk4gpgzdsny8iwnmwzjyp8b8"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ libbfd libnl ncurses readline zlib ]; # To avoid running into https://sourceware.org/bugzilla/show_bug.cgi?id=14243 we need to define: @@ -25,8 +24,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - description = "Kernel dropped packet monitor"; - homepage = https://github.com/nhorman/dropwatch; + description = "Linux kernel dropped packet monitor"; + homepage = "https://github.com/nhorman/dropwatch"; license = licenses.gpl2; platforms = platforms.linux; maintainers = [ maintainers.c0bw3b ]; diff --git a/pkgs/os-specific/linux/ebtables/default.nix b/pkgs/os-specific/linux/ebtables/default.nix index 23bd39ff388..3f025ca7504 100644 --- a/pkgs/os-specific/linux/ebtables/default.nix +++ b/pkgs/os-specific/linux/ebtables/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ebtables"; - version = "2.0.10-4"; + version = "2.0.11"; src = fetchurl { - url = "mirror://sourceforge/ebtables/ebtables-v${version}.tar.gz"; - sha256 = "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw"; + url = "http://ftp.netfilter.org/pub/${pname}/${pname}-${version}.tar.gz"; + sha256 = "0apxgmkhsk3vxn9q3libxn3dgrdljrxyy4mli2gk49m7hi3na7xp"; }; makeFlags = @@ -15,11 +15,6 @@ stdenv.mkDerivation rec { "LOCALSTATEDIR=/var" ]; - preBuild = - '' - substituteInPlace Makefile --replace '-o root -g root' "" - ''; - NIX_CFLAGS_COMPILE = "-Wno-error"; preInstall = "mkdir -p $out/etc/sysconfig"; diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix index b10d45d8a4b..5cbddac82f0 100644 --- a/pkgs/os-specific/linux/ell/default.nix +++ b/pkgs/os-specific/linux/ell/default.nix @@ -7,14 +7,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.21"; + version = "0.27"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git"; rev = version; - sha256 = "0m7fk2xgzsz7am0wjw98sqa42zpw3cz3hz399niw5rj8dbqh0zpy"; + sha256 = "0pr9c4h535ggj54zfah9m3wziiwlig7r1hxpfx16s2s11ylrl9gd"; }; patches = [ diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix index 9d836b30dc7..d087a9e2e26 100644 --- a/pkgs/os-specific/linux/eudev/default.nix +++ b/pkgs/os-specific/linux/eudev/default.nix @@ -3,10 +3,10 @@ let s = # Generated upstream information rec { baseName="eudev"; - version = "3.2.8"; + version = "3.2.9"; name="${baseName}-${version}"; url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz"; - sha256 = "1f7n8dz01yr7qvk64401xw1xs1mj60d33d9brqy1q9siks799r31"; + sha256 = "1z6lfhhbjs6j7pbp6ybn17ywjsdl87ql6g1p3m2y26aa10cqcqc9"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix index 2508fb851a8..72f3b1fbd9c 100644 --- a/pkgs/os-specific/linux/evdi/default.nix +++ b/pkgs/os-specific/linux/evdi/default.nix @@ -2,20 +2,23 @@ stdenv.mkDerivation rec { pname = "evdi"; - version = "1.6.2"; + version = "1.6.3"; src = fetchFromGitHub { owner = "DisplayLink"; repo = pname; rev = "v${version}"; - sha256 = "0ajjsh1fw7w0k28r6qq7kh3qcr87gzzjp8s890algbglynlafzfw"; + sha256 = "1gp8xbhd5pmcl95izhpvw9gxfcsbv5f80s6q39l4y3z9j734rb8j"; }; nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [ kernel libdrm ]; - makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; + makeFlags = [ + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "KVER=${kernel.modDirVersion}" + ]; hardeningDisable = [ "format" "pic" "fortify" ]; @@ -26,9 +29,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Extensible Virtual Display Interface"; - platforms = platforms.linux; + homepage = "https://www.displaylink.com/"; license = with licenses; [ lgpl21 gpl2 ]; - homepage = https://www.displaylink.com/; - broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "5.3" || stdenv.isAarch64; + platforms = platforms.linux; + broken = versionOlder kernel.version "4.9" || stdenv.isAarch64; }; } diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix index 036cd3f28a1..e66ac4d65ab 100644 --- a/pkgs/os-specific/linux/exfat/default.nix +++ b/pkgs/os-specific/linux/exfat/default.nix @@ -6,13 +6,13 @@ assert lib.versionAtLeast kernel.version "4.2" || lib.versionOlder kernel.versi stdenv.mkDerivation rec { name = "exfat-nofuse-${version}-${kernel.version}"; - version = "2018-04-16"; + version = "2019-09-06"; src = fetchFromGitHub { - owner = "dorimanx"; + owner = "AdrianBan"; repo = "exfat-nofuse"; - rev = "01c30ad52625a7261e1b0d874553b6ca7af25966"; - sha256 = "0n1ibamf1yj8iqapc86lfscnky9p07ngsi4f2kpv3d5r2s6mzsh6"; + rev = "5536f067373c196f152061f5000fe0032dc07c48"; + sha256 = "00mhadsv2iw8z00a6170hwbvk3afx484nn3irmd5f5kmhs34sw7k"; }; hardeningDisable = [ "pic" ]; @@ -27,18 +27,9 @@ stdenv.mkDerivation rec { install -m644 -b -D exfat.ko $out/lib/modules/${kernel.modDirVersion}/kernel/fs/exfat/exfat.ko ''; - patches = [ - # fix compile-errors in 4.18 and 4.20 - # ref: https://github.com/dorimanx/exfat-nofuse/pull/137 - (fetchpatch { - url = https://github.com/dorimanx/exfat-nofuse/compare/01c30ad52625a7261e1b0d874553b6ca7af25966...f93a47e6414d567a1e7f6ab7f34b015b20f9a050.patch ; - sha256 = "0w57pi9h6dwjxfgc3zpwy6sr4zw42hn1zj72f7wgfpqrx6d8xkh5"; - } ) - ]; - meta = { description = "exfat kernel module"; - homepage = https://github.com/dorimanx/exfat-nofuse; + inherit (src.meta) homepage; license = lib.licenses.gpl2; maintainers = with lib.maintainers; [ makefu ]; platforms = lib.platforms.linux; diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix index c8fc633f8bd..d56b254d382 100644 --- a/pkgs/os-specific/linux/fbterm/default.nix +++ b/pkgs/os-specific/linux/fbterm/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { inherit (s) url sha256; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ncurses ]; inherit buildInputs; preConfigure = '' @@ -31,6 +31,7 @@ stdenv.mkDerivation { preBuild = '' mkdir -p "$out/share/terminfo" tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm + makeFlagsArray+=("AR=$AR") ''; patches = [ @@ -47,6 +48,7 @@ stdenv.mkDerivation { url = "https://raw.githubusercontent.com/glitsj16/fbterm-patched/d1fe03313be4654dd0a1c0bb5f51530732345134/miscoloring-fix.patch"; sha256 = "1mjszji0jgs2jsagjp671fv0d1983wmxv009ff1jfhi9pbay6jd0"; }) + ./select.patch ]; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/fbterm/select.patch b/pkgs/os-specific/linux/fbterm/select.patch new file mode 100644 index 00000000000..549674047a9 --- /dev/null +++ b/pkgs/os-specific/linux/fbterm/select.patch @@ -0,0 +1,12 @@ +diff --git a/src/fbio.cpp b/src/fbio.cpp +index e5afc44..2485227 100644 +--- a/src/fbio.cpp ++++ b/src/fbio.cpp +@@ -18,6 +18,7 @@ + * + */ + ++#include <sys/select.h> + #include <unistd.h> + #include <fcntl.h> + #include "config.h" diff --git a/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix b/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix index c9723c944ab..1a1c1ec39d7 100644 --- a/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/facetimehd-firmware/default.nix @@ -2,7 +2,7 @@ let - version = "1.43_4"; + version = "1.43_5"; # Updated according to https://github.com/patjak/bcwc_pcie/pull/81/files @@ -10,8 +10,8 @@ let # and https://github.com/patjak/bcwc_pcie/blob/5a7083bd98b38ef3bd223f7ee531d58f4fb0fe7c/firmware/extract-firmware.sh # From the Makefile: - dmgUrl = "https://support.apple.com/downloads/DL1877/en_US/osxupd10.11.5.dmg"; - dmgRange = "205261917-208085450"; # the whole download is 1.3GB, this cuts it down to 2MB + dmgUrl = "https://updates.cdn-apple.com/2019/cert/041-88431-20191011-e7ee7d98-2878-4cd9-bc0a-d98b3a1e24b1/OSXUpd10.11.5.dmg"; + dmgRange = "204909802-207733123"; # the whole download is 1.3GB, this cuts it down to 2MB # Notes: # 1. Be sure to update the sha256 below in the fetch_url # 2. Be sure to update the homepage in the meta @@ -39,7 +39,7 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = dmgUrl; - sha256 = "0xqkl4yds0n9fdjvnk0v5mj382q02crry6wm2q7j3ncdqwsv02sv"; + sha256 = "0s8crlh8rvpanzk1w4z3hich0a3mw0m5xhpcg07bxy02calhpdk1"; curlOpts = "-r ${dmgRange}"; }; @@ -56,7 +56,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "facetimehd firmware"; - homepage = https://support.apple.com/downloads/DL1877; + homepage = https://support.apple.com/kb/DL1877; license = licenses.unfree; maintainers = with maintainers; [ womfoo grahamc ]; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 380444f0269..6e535cce898 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchgit, lib }: stdenv.mkDerivation rec { pname = "firmware-linux-nonfree"; - version = "2019-07-17"; + version = "2019-12-15"; src = fetchgit { url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; - rev = "20190717"; - sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; + rev = lib.replaceStrings ["-"] [""] version; + sha256 = "01zwmgva2263ksssqhhi46jh5kzb6z1a4xs8agsb2mbwifxf84cl"; }; installFlags = [ "DESTDIR=$(out)" ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1q3zqa3xxg4679p893xzwpa43afvdnnkg5xb0qs6mac75sizngid"; + outputHash = "1jp2bb87jbcml1q3r4yilf9l3pirr19zb70l6mlxlmbqml50zwzd"; meta = with stdenv.lib; { description = "Binary firmware collection packaged by kernel.org"; diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch index 4903eadef4b..81e82d68dbc 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch @@ -1,30 +1,21 @@ diff --git a/data/meson.build b/data/meson.build -index 61664cd6..f10abbba 100644 +index 25db9509..f394eb25 100644 --- a/data/meson.build +++ b/data/meson.build -@@ -11,7 +11,7 @@ if get_option('daemon') +@@ -13,7 +13,7 @@ + if build_daemon + subdir('installed-tests') + install_data(['daemon.conf'], +- install_dir : join_paths(sysconfdir, 'fwupd') ++ install_dir : join_paths(sysconfdir_install, 'fwupd') + ) endif - install_data(['daemon.conf'], -- install_dir : join_paths(sysconfdir, 'fwupd') -+ install_dir : join_paths(sysconfdir_install, 'fwupd') - ) - - install_data(['org.freedesktop.fwupd.metainfo.xml'], -@@ -23,7 +23,7 @@ install_data(['org.freedesktop.fwupd.svg'], - ) - - install_data(['org.freedesktop.fwupd.conf'], -- install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d') -+ install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d') - ) - - if get_option('daemon') diff --git a/data/pki/meson.build b/data/pki/meson.build index eefcc914..dc801fa1 100644 --- a/data/pki/meson.build +++ b/data/pki/meson.build -@@ -4,14 +4,14 @@ if get_option('gpg') +@@ -4,14 +4,14 @@ 'GPG-KEY-Linux-Foundation-Firmware', 'GPG-KEY-Linux-Vendor-Firmware-Service', ], @@ -41,7 +32,7 @@ index eefcc914..dc801fa1 100644 ) endif -@@ -19,12 +19,12 @@ if get_option('pkcs7') +@@ -19,12 +19,12 @@ install_data([ 'LVFS-CA.pem', ], @@ -57,10 +48,10 @@ index eefcc914..dc801fa1 100644 endif diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build -index a27c31ef..374e09b6 100644 +index 826a3c1d..b78db663 100644 --- a/data/remotes.d/meson.build +++ b/data/remotes.d/meson.build -@@ -3,7 +3,7 @@ if get_option('daemon') and get_option('lvfs') +@@ -3,7 +3,7 @@ 'lvfs.conf', 'lvfs-testing.conf', ], @@ -69,7 +60,7 @@ index a27c31ef..374e09b6 100644 ) i18n.merge_file( input: 'lvfs.metainfo.xml', -@@ -37,12 +37,12 @@ configure_file( +@@ -37,12 +37,12 @@ output : 'vendor.conf', configuration : con2, install: true, @@ -85,10 +76,10 @@ index a27c31ef..374e09b6 100644 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) diff --git a/meson.build b/meson.build -index a89f9b3f..736896eb 100644 +index 8e1de887..a5bb1fe6 100644 --- a/meson.build +++ b/meson.build -@@ -145,6 +145,12 @@ localstatedir = join_paths(prefix, get_option('localstatedir')) +@@ -158,6 +158,12 @@ mandir = join_paths(prefix, get_option('mandir')) localedir = join_paths(prefix, get_option('localedir')) @@ -99,13 +90,13 @@ index a89f9b3f..736896eb 100644 +endif + gio = dependency('gio-2.0', version : '>= 2.45.8') + giounix = dependency('gio-unix-2.0', version : '>= 2.45.8') if gio.version().version_compare ('>= 2.55.0') - conf.set('HAVE_GIO_2_55_0', '1') diff --git a/meson_options.txt b/meson_options.txt -index 5d4163e8..db81fd1f 100644 +index 71b50c6a..561c2031 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -21,6 +21,7 @@ option('plugin_modem_manager', type : 'boolean', value : false, description : 'e +@@ -24,6 +24,7 @@ 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') @@ -117,7 +108,7 @@ diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build index cb9f4555..b972d7fb 100644 --- a/plugins/dell-esrt/meson.build +++ b/plugins/dell-esrt/meson.build -@@ -36,5 +36,5 @@ configure_file( +@@ -36,5 +36,5 @@ output : 'dell-esrt.conf', configuration : con2, install: true, @@ -128,7 +119,7 @@ diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build index 5c88504e..7706da71 100644 --- a/plugins/redfish/meson.build +++ b/plugins/redfish/meson.build -@@ -26,7 +26,7 @@ shared_module('fu_plugin_redfish', +@@ -26,7 +26,7 @@ ) install_data(['redfish.conf'], @@ -137,11 +128,24 @@ index 5c88504e..7706da71 100644 ) if get_option('tests') +diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build +index 42718abf..bc815491 100644 +--- a/plugins/thunderbolt/meson.build ++++ b/plugins/thunderbolt/meson.build +@@ -46,7 +46,7 @@ + ) + + install_data(['thunderbolt.conf'], +- install_dir: join_paths(sysconfdir, 'fwupd') ++ install_dir: join_paths(sysconfdir_install, 'fwupd') + ) + # 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 ac9f5dd8..1ab51b5e 100644 +index 45b18d7d..ef8e0b04 100644 --- a/plugins/uefi/meson.build +++ b/plugins/uefi/meson.build -@@ -79,7 +79,7 @@ executable( +@@ -85,7 +85,7 @@ ) install_data(['uefi.conf'], diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index c688d8c6ab3..aa2d9978178 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -45,6 +45,7 @@ , freetype , fontconfig , pango +, tpm2-tss , bubblewrap , efibootmgr , flashrom @@ -57,6 +58,7 @@ let pygobject3 pycairo pillow + setuptools ]); installedTestsPython = python3.withPackages (p: with p; [ @@ -78,18 +80,18 @@ let # # Currently broken on Aarch64 # haveFlashrom = isx86; - # Experimental in 1.2.10 + # Experimental haveFlashrom = false; in stdenv.mkDerivation rec { pname = "fwupd"; - version = "1.2.10"; + version = "1.3.3"; src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "0inngs7i48akm9c7fmdsf9zjif595rkaba69rl76jfwfv8r21vjb"; + sha256 = "0nqzqvx8nzflhb4kzvkdcv7kixb50vh6h21kpkd7pjxp942ndzql"; }; outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ]; @@ -136,6 +138,7 @@ stdenv.mkDerivation rec { freetype fontconfig pango + tpm2-tss efivar ] ++ stdenv.lib.optionals haveDell [ libsmbios @@ -145,6 +148,10 @@ stdenv.mkDerivation rec { ./fix-paths.patch ./add-option-for-installation-sysconfdir.patch + # do not require which + # https://github.com/fwupd/fwupd/pull/1568 + ./no-which.patch + # installed tests are installed to different output # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle (substituteAll { @@ -194,6 +201,7 @@ stdenv.mkDerivation rec { ''; mesonFlags = [ + "-Dgtkdoc=true" "-Dplugin_dummy=true" "-Dudevdir=lib/udev" "-Dsystemdunitdir=lib/systemd/system" @@ -203,21 +211,16 @@ stdenv.mkDerivation rec { "--localstatedir=/var" "--sysconfdir=/etc" "-Dsysconfdir_install=${placeholder "out"}/etc" + "--libexecdir=${placeholder "out"}/libexec" ] ++ stdenv.lib.optionals (!haveDell) [ "-Dplugin_dell=false" "-Dplugin_synaptics=false" ] ++ stdenv.lib.optionals (!haveRedfish) [ "-Dplugin_redfish=false" - ] ++ stdenv.lib.optionals (!haveFlashrom) [ - "-Dplugin_flashrom=false" + ] ++ stdenv.lib.optionals haveFlashrom [ + "-Dplugin_flashrom=true" ]; - # TODO: We need to be able to override the directory flags from meson setup hook - # better – declaring them multiple times might become an error. - preConfigure = '' - mesonFlagsArray+=("--libexecdir=$out/libexec") - ''; - postInstall = '' moveToOutput share/installed-tests "$installedTests" wrapProgram $installedTests/share/installed-tests/fwupd/hardware.py \ @@ -230,15 +233,18 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428 PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions"; + # cannot install to systemd prefix + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMPRESETDIR = "${placeholder "out"}/lib/systemd/system-preset"; + # TODO: wrapGAppsHook wraps efi capsule even though it is not elf dontWrapGApps = true; # so we need to wrap the executables manually postFixup = '' find -L "$out/bin" "$out/libexec" -type f -executable -print0 \ | while IFS= read -r -d ''' file; do - if [[ "''${file}" != *.efi ]]; then - echo "Wrapping program ''${file}" - wrapProgram "''${file}" "''${gappsWrapperArgs[@]}" + if [[ "$file" != *.efi ]]; then + echo "Wrapping program $file" + wrapGApp "$file" fi done ''; @@ -246,11 +252,15 @@ stdenv.mkDerivation rec { # /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module passthru = { filesInstalledToEtc = [ + # "fwupd/daemon.conf" # already created by the module + "fwupd/redfish.conf" "fwupd/remotes.d/dell-esrt.conf" "fwupd/remotes.d/lvfs-testing.conf" "fwupd/remotes.d/lvfs.conf" "fwupd/remotes.d/vendor.conf" "fwupd/remotes.d/vendor-directory.conf" + "fwupd/thunderbolt.conf" + # "fwupd/uefi.conf" # already created by the module "pki/fwupd/GPG-KEY-Hughski-Limited" "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware" "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" @@ -261,12 +271,12 @@ stdenv.mkDerivation rec { ]; tests = { - installedTests = nixosTests.fwupd; + installedTests = nixosTests.installed-tests.fwupd; }; }; meta = with stdenv.lib; { - homepage = https://fwupd.org/; + homepage = "https://fwupd.org/"; maintainers = with maintainers; [ jtojnar ]; license = [ licenses.gpl2 ]; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch index 9efd7b8d6ab..474b250097d 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch @@ -6,14 +6,3 @@ index c7a430c0..e69de29b 100644 -install_data('README.md', - install_dir : join_paths(localstatedir, 'lib', 'fwupd', 'builder') -) -diff --git a/meson_post_install.sh b/meson_post_install.sh -index 0cbb6f41..d757a81a 100755 ---- a/meson_post_install.sh -+++ b/meson_post_install.sh -@@ -11,6 +11,4 @@ LOCALSTATEDIR=$2 - echo 'Updating systemd deps' - mkdir -p ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants - ln -sf ../fwupd-offline-update.service ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants/fwupd-offline-update.service -- echo 'Creating stateful directory' -- mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd - #fi diff --git a/pkgs/os-specific/linux/firmware/fwupd/no-which.patch b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch new file mode 100644 index 00000000000..c0c65e42539 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch @@ -0,0 +1,31 @@ +--- a/plugins/uefi/efi/generate_binary.sh ++++ b/plugins/uefi/efi/generate_binary.sh +@@ -1,9 +1,9 @@ + #!/bin/sh + output=$2 +-objcopy_cmd=$(which objcopy) +-genpeimg_cmd=$(which genpeimg) ++objcopy_cmd=$(command -v objcopy) ++genpeimg_cmd=$(command -v genpeimg) + +-$objcopy_cmd -j .text \ ++"$objcopy_cmd" -j .text \ + -j .sdata \ + -j .data \ + -j .dynamic \ +@@ -11,7 +11,7 @@ + -j .rel \ + -j .rela \ + -j .reloc \ +- $* ++ "$@" + + if [ -n "${genpeimg_cmd}" ]; then + $genpeimg_cmd -d \ +@@ -20,5 +20,5 @@ + +n \ + -d \ + +s \ +- $output ++ "$output" + fi diff --git a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix index e9ee91a2de7..392ddda6f57 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix @@ -2,22 +2,22 @@ stdenv.mkDerivation { pname = "raspberrypi-wireless-firmware"; - version = "2018-08-20"; + version = "2019-08-16"; srcs = [ (fetchFromGitHub { name = "bluez-firmware"; owner = "RPi-Distro"; repo = "bluez-firmware"; - rev = "ade2bae1aaaebede09abb8fb546f767a0e4c7804"; - sha256 = "07gm76gxp5anv6paryvxcp34a86fkny8kdlzqhzcpfczzglkp6ag"; + rev = "96eefffcccc725425fd83be5e0704a5c32b79e54"; + sha256 = "05h57gcxhb2c84h99cyxxx4mzi6kd5fm8pjqkz3nq5vs3nv8cqhr"; }) (fetchFromGitHub { name = "firmware-nonfree"; owner = "RPi-Distro"; repo = "firmware-nonfree"; - rev = "b518de45ced519e8f7a499f4778100173402ae43"; - sha256 = "1d5026ic9awji6c67irpwsxpxgsc0dhn11d3abkxi2vvra1pir4g"; + rev = "130cb86fa30cafbd575d38865fa546350d4c5f9c"; + sha256 = "0jmhgbpldzz8n8lncpzwfl5ym8zgss05y952rfpwcf9v5c7vgabx"; }) ]; @@ -41,7 +41,7 @@ stdenv.mkDerivation { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1s5gb00v42s5izbaw8irs1fwvhh7z9wl07czc0nkw6p91871ivb7"; + outputHash = "1r4alf1fbj6vkkf54d0anm47ymb6gn2ykl4a2hhd34b0hnf1dnhn"; meta = with stdenv.lib; { description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3 and Zero W"; diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index ebd69d1fe12..a8c4bd559d3 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "raspberrypi-firmware"; - version = "1.20190620+1"; + version = "1.20190925"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "firmware"; rev = version; - sha256 = "0gbqlkr50qlmbpwr0n61pb58w0k3sfjfirh2y683rlkp5rlq7mrf"; + sha256 = "0xyj3f04dcfnl9hp8hakgwcb1msqh7934n0pclcmzy47xjkz7ris"; }; installPhase = '' diff --git a/pkgs/os-specific/linux/forktty/default.nix b/pkgs/os-specific/linux/forktty/default.nix index 6402b5c69d8..66570bac942 100644 --- a/pkgs/os-specific/linux/forktty/default.nix +++ b/pkgs/os-specific/linux/forktty/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { mkdir -p "$out/bin" mkdir -p "$out/share/man/man8" ''; - makeFlags='' prefix="''${out}" manprefix="''${out}/share/" ''; + makeFlags = [ "prefix=$(out)" "manprefix=$(out)/share/" ]; meta = { inherit (s) version; description = ''Tool to detach from controlling TTY and attach to another''; diff --git a/pkgs/os-specific/linux/fscrypt/default.nix b/pkgs/os-specific/linux/fscrypt/default.nix index cdd42e98f06..92594ea99de 100644 --- a/pkgs/os-specific/linux/fscrypt/default.nix +++ b/pkgs/os-specific/linux/fscrypt/default.nix @@ -4,17 +4,15 @@ buildGoPackage rec { pname = "fscrypt"; - version = "unstable-2019-08-29"; + version = "0.2.5"; goPackagePath = "github.com/google/fscrypt"; - goDeps = ./deps.nix; - src = fetchFromGitHub { owner = "google"; repo = "fscrypt"; - rev = "8a3acda2011e9a080ee792c1e11646e6118a4930"; - sha256 = "17h6r5lqiz0cw9vsixv48a1p78nd7bs1kncg6p4lfagl7kr5hpls"; + rev = "v${version}"; + sha256 = "1jf6363kc9id3ar93znlcglx3llgv01ccp3nlbamm98rm9dps4qk"; }; buildInputs = [ pam ]; diff --git a/pkgs/os-specific/linux/fscrypt/deps.nix b/pkgs/os-specific/linux/fscrypt/deps.nix deleted file mode 100644 index 5d3e8a89a91..00000000000 --- a/pkgs/os-specific/linux/fscrypt/deps.nix +++ /dev/null @@ -1,66 +0,0 @@ -# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) -[ - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "v1.2.0"; - sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab"; - }; - } - { - goPackagePath = "github.com/pkg/errors"; - fetch = { - type = "git"; - url = "https://github.com/pkg/errors"; - rev = "v0.8.0"; - sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; - }; - } - { - goPackagePath = "github.com/urfave/cli"; - fetch = { - type = "git"; - url = "https://github.com/urfave/cli"; - rev = "v1.20.0"; - sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"; - }; - } - { - goPackagePath = "golang.org/x/crypto"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/crypto"; - rev = "614d502a4dac"; - sha256 = "1rcyvsl8b8pk7h8lwl0fpiflrx8zs121wi5490ln0qnvkk8d4bwy"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "8a410e7b638d"; - sha256 = "0hp0l8f6fir5gmgrjq0mhh5ikc0rlrm72774228800kfwqjrxxny"; - }; - } - { - goPackagePath = "golang.org/x/sync"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sync"; - rev = "1d60e4601c6f"; - sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "d99a578cf41b"; - sha256 = "10q9xx4pmnq92qn6ff4xp7n1hx766wvw2rf7pqcd6rx5plgwz8cm"; - }; - } -] diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index f48e528b486..6792e05829d 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -11,7 +11,7 @@ in { }; fuse_3 = mkFuse { - version = "3.6.2"; - sha256Hash = "1cxx94q6zqns1iw5d4g3ll8f78swqxl6h25bpxmqkqsj6c91pzkl"; + version = "3.9.0"; + sha256Hash = "00yppzmv15jqjy3wq5ki9d49jl6bfxrlwr5sfz50ihr40d6dgx9p"; }; } diff --git a/pkgs/os-specific/linux/fwts/default.nix b/pkgs/os-specific/linux/fwts/default.nix index b5df553a97c..2f725952f0a 100644 --- a/pkgs/os-specific/linux/fwts/default.nix +++ b/pkgs/os-specific/linux/fwts/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "fwts"; - version = "19.08.00"; + version = "19.09.00"; src = fetchzip { url = "http://fwts.ubuntu.com/release/${pname}-V${version}.tar.gz"; - sha256 = "14v4vxvfsl008xalsmlhl9wh89xlrfffh3pky9m90flaizdzwyp4"; + sha256 = "039dc1sy2pfj3b7kqcww3qaabrhzks1xfkynzwbjwdk04fjiwxfw"; stripRoot = false; }; diff --git a/pkgs/os-specific/linux/fwts/module.nix b/pkgs/os-specific/linux/fwts/module.nix new file mode 100644 index 00000000000..ef90e0c303b --- /dev/null +++ b/pkgs/os-specific/linux/fwts/module.nix @@ -0,0 +1,31 @@ +{ stdenv, fwts, kernel }: + +stdenv.mkDerivation rec { + pname = "fwts-efi-runtime"; + version = "${fwts.version}-${kernel.version}"; + + inherit (fwts) src; + + sourceRoot = "source/efi_runtime"; + + postPatch = '' + substituteInPlace Makefile --replace \ + '/lib/modules/$(KVER)/build' \ + '${kernel.dev}/lib/modules/${kernel.modDirVersion}/build' + ''; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + hardeningDisable = [ "pic" ]; + + makeFlags = [ + "INSTALL_MOD_PATH=${placeholder "out"}" + ]; + + meta = with stdenv.lib; { + inherit (fwts.meta) homepage license; + description = fwts.meta.description + "(efi-runtime kernel module)"; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix index 03018c98818..a7aad276d37 100644 --- a/pkgs/os-specific/linux/google-authenticator/default.nix +++ b/pkgs/os-specific/linux/google-authenticator/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "google-authenticator-libpam"; - version = "1.06"; + version = "1.07"; src = fetchurl { url = "https://github.com/google/google-authenticator-libpam/archive/${version}.tar.gz"; - sha256 = "01kb1ppsc2fz1i3crdwi6ic8gyphjv89f5li6ypv3pp88v3kxw2j"; + sha256 = "01841dfmf6aw39idlv8y52b1nw9wx4skklzqhw1f519m0671ajhh"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix index 542d99eeabe..2aa928e8119 100644 --- a/pkgs/os-specific/linux/hdparm/default.nix +++ b/pkgs/os-specific/linux/hdparm/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { homepage = https://sourceforge.net/projects/hdparm/; platforms = platforms.linux; license = licenses.bsd2; - maintainers = [ maintainers.fuuzetsu ]; + maintainers = [ ]; }; } diff --git a/pkgs/os-specific/linux/health-check/default.nix b/pkgs/os-specific/linux/health-check/default.nix new file mode 100644 index 00000000000..d45f6c5f896 --- /dev/null +++ b/pkgs/os-specific/linux/health-check/default.nix @@ -0,0 +1,28 @@ +{ stdenv, lib, fetchurl, json_c, libbsd }: + +stdenv.mkDerivation rec { + pname = "health-check"; + version = "0.03.04"; + + src = fetchurl { + url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz"; + sha256 = "0p85ai31n9hh6d4b79zzlczf9arsy7vmkjak1x3g9f5qj8fy4avp"; + }; + + buildInputs = [ json_c libbsd ]; + + makeFlags = [ "JSON_OUTPUT=y" "FNOTIFY=y" ]; + + installFlags = [ + "BINDIR=${placeholder "out"}/bin" + "MANDIR=${placeholder "out"}/share/man/man8" + ]; + + meta = with lib; { + description = "Process monitoring tool"; + homepage = "https://kernel.ubuntu.com/~cking/health-check/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix index e90470cd589..b1251a4396f 100644 --- a/pkgs/os-specific/linux/hostapd/default.nix +++ b/pkgs/os-specific/linux/hostapd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "hostapd"; - version = "2.8"; + version = "2.9"; src = fetchurl { url = "https://w1.fi/releases/${pname}-${version}.tar.gz"; - sha256 = "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"; + sha256 = "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"; }; nativeBuildInputs = [ pkgconfig ]; @@ -49,6 +49,7 @@ stdenv.mkDerivation rec { CONFIG_INTERNETWORKING=y CONFIG_HS20=y CONFIG_ACS=y + CONFIG_GETRANDOM=y '' + stdenv.lib.optionalString (sqlite != null) '' CONFIG_SQLITE=y ''; @@ -69,7 +70,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://hostap.epitest.fi; + homepage = https://hostap.epitest.fi; repositories.git = git://w1.fi/hostap.git; description = "A user space daemon for access point and authentication servers"; license = licenses.gpl2; diff --git a/pkgs/os-specific/linux/hyperv-daemons/default.nix b/pkgs/os-specific/linux/hyperv-daemons/default.nix index a209f1ab4bb..1a111a295a4 100644 --- a/pkgs/os-specific/linux/hyperv-daemons/default.nix +++ b/pkgs/os-specific/linux/hyperv-daemons/default.nix @@ -1,7 +1,10 @@ -{ stdenv, lib, python, kernel, makeWrapper, writeText }: +{ stdenv, lib, python, kernel, makeWrapper, writeText +, gawk, iproute }: let - daemons = stdenv.mkDerivation { + libexec = "libexec/hypervkvpd"; + + daemons = stdenv.mkDerivation rec { pname = "hyperv-daemons-bin"; inherit (kernel) src version; @@ -10,10 +13,15 @@ let # as of 4.9 compilation will fail due to -Werror=format-security hardeningDisable = [ "format" ]; - preConfigure = '' + postPatch = '' cd tools/hv + substituteInPlace hv_kvp_daemon.c \ + --replace /usr/libexec/hypervkvpd/ $out/${libexec}/ ''; + # We don't actually need the hv_get_{dhcp,dns}_info scripts on NixOS in + # their current incarnation but with them in place, we stop the spam of + # errors in the log. installPhase = '' runHook preInstall @@ -21,7 +29,9 @@ let install -Dm755 hv_''${f}_daemon -t $out/bin done - install -Dm755 hv_get_dns_info.sh lsvmbus -t $out/bin + install -Dm755 lsvmbus $out/bin/lsvmbus + install -Dm755 hv_get_dhcp_info.sh $out/${libexec}/hv_get_dhcp_info + install -Dm755 hv_get_dns_info.sh $out/${libexec}/hv_get_dns_info # I don't know why this isn't being handled automatically by fixupPhase substituteInPlace $out/bin/lsvmbus \ @@ -31,8 +41,8 @@ let ''; postFixup = '' - # kvp needs to be able to find the script(s) - wrapProgram $out/bin/hv_kvp_daemon --prefix PATH : $out/bin + wrapProgram $out/bin/hv_kvp_daemon \ + --prefix PATH : $out/bin:${lib.makeBinPath [ gawk iproute ]} ''; }; @@ -56,24 +66,19 @@ let in stdenv.mkDerivation { pname = "hyperv-daemons"; - inherit (kernel) version; # we just stick the bins into out as well as it requires "out" outputs = [ "bin" "lib" "out" ]; - phases = [ "installPhase" ]; - buildInputs = [ daemons ]; - installPhase = '' + buildCommand = '' system=$lib/lib/systemd/system - mkdir -p $system - - cp ${service "fcopy" "file copy (FCOPY)" "hv_fcopy" } $system/hv-fcopy.service - cp ${service "kvp" "key-value pair (KVP)" "" } $system/hv-kvp.service - cp ${service "vss" "volume shadow copy (VSS)" "" } $system/hv-vss.service + install -Dm444 ${service "fcopy" "file copy (FCOPY)" "hv_fcopy" } $system/hv-fcopy.service + install -Dm444 ${service "kvp" "key-value pair (KVP)" "" } $system/hv-kvp.service + install -Dm444 ${service "vss" "volume shadow copy (VSS)" "" } $system/hv-vss.service cat > $system/hyperv-daemons.target <<EOF [Unit] @@ -102,7 +107,7 @@ in stdenv.mkDerivation { Microsoft calls their guest agents "Integration Services" which is why we use that name here. ''; - homepage = https://kernel.org; + homepage = "https://kernel.org"; maintainers = with maintainers; [ peterhoeg ]; platforms = kernel.meta.platforms; }; diff --git a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix index 76ec9be2798..a1d488adcfa 100644 --- a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix +++ b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "iio-sensor-proxy"; - version = "2.7"; + version = "2.8"; src = fetchFromGitHub { owner = "hadess"; repo = pname; rev = version; - sha256 = "05ipljw78d8z90cnkygcrpd0qq4vh14bb9hy06vqxnpdbyq46fxh"; + sha256 = "07rzm1z2p6lh4iv5pyp0p2x5805m9gsh19kcsjls3fi25p3a2c00"; }; configurePhase = '' diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix new file mode 100644 index 00000000000..d8aefd02e7f --- /dev/null +++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchFromGitHub +, patchelf +, cmake +, pkgconfig + +, intel-gmmlib +, intel-graphics-compiler +, libva +}: + +stdenv.mkDerivation rec { + pname = "intel-compute-runtime"; + version = "19.44.14658"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "compute-runtime"; + rev = version; + sha256 = "1pl7yhmgzf7r2b8jyxzmwdc7772gd24izy2z2g4n5s205s125k7x"; + }; + + # Build script tries to write the ICD to /etc + patches = [ ./etc-dir.patch ]; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ intel-gmmlib intel-graphics-compiler libva ]; + + cmakeFlags = [ + "-DSKIP_UNIT_TESTS=1" + + "-DIGC_DIR=${intel-graphics-compiler}" + "-DETC_DIR=${placeholder "out"}/etc" + + # The install script assumes this path is relative to CMAKE_INSTALL_PREFIX + "-DCMAKE_INSTALL_LIBDIR=lib" + ]; + + postInstall = '' + # Avoid clash with intel-ocl + mv $out/etc/OpenCL/vendors/intel.icd $out/etc/OpenCL/vendors/intel-neo.icd + ''; + + postFixup = '' + patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva ]} \ + $out/lib/intel-opencl/libigdrcl.so + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/intel/compute-runtime; + description = "Intel Graphics Compute Runtime for OpenCL. Replaces Beignet for Gen8 (Broadwell) and beyond."; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ gloaming ]; + }; +} diff --git a/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch b/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch new file mode 100644 index 00000000000..d9a80ffa6f9 --- /dev/null +++ b/pkgs/os-specific/linux/intel-compute-runtime/etc-dir.patch @@ -0,0 +1,15 @@ +diff --git a/package.cmake b/package.cmake +index 24960d5..e9a21e7 100644 +--- a/package.cmake ++++ b/package.cmake +@@ -24,7 +24,9 @@ if(UNIX) + + get_os_release_info(os_name os_version) + +- if("${os_name}" STREQUAL "clear-linux-os") ++ if(DEFINED ETC_DIR) ++ set(_dir_etc ${ETC_DIR}) ++ elseif("${os_name}" STREQUAL "clear-linux-os") + # clear-linux-os distribution avoids /etc for distribution defaults. + set(_dir_etc "/usr/share/defaults/etc") + else() diff --git a/pkgs/os-specific/linux/intel-speed-select/default.nix b/pkgs/os-specific/linux/intel-speed-select/default.nix new file mode 100644 index 00000000000..cf0dd75a8a4 --- /dev/null +++ b/pkgs/os-specific/linux/intel-speed-select/default.nix @@ -0,0 +1,20 @@ +{ stdenv, kernel }: + +stdenv.mkDerivation { + pname = "intel-speed-select"; + inherit (kernel) src version; + + makeFlags = [ "bindir=${placeholder "out"}/bin" ]; + + postPatch = '' + cd tools/power/x86/intel-speed-select + sed -i 's,/usr,,g' Makefile + ''; + + meta = with stdenv.lib; { + description = "Tool to enumerate and control the Intel Speed Select Technology features"; + homepage = https://www.kernel.org/; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific + }; +} diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 87b7de4736f..b8b46b33e96 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "iproute2"; - version = "5.2.0"; + version = "5.4.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1a2dywa2kam24951byv9pl32mb9z6klh7d4vp8fwfgrm4vn5vfd5"; + sha256 = "1bl6c3af7wbgi6nqjfm32fkhqh63iphkg2g11f1srifll1ham5zy"; }; preConfigure = '' @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace " netem " " " ''; - outputs = [ "out" "dev"]; + outputs = [ "out" "dev" ]; makeFlags = [ "DESTDIR=" diff --git a/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch b/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch new file mode 100644 index 00000000000..b644d46f8c9 --- /dev/null +++ b/pkgs/os-specific/linux/ipsec-tools/CVE-2016-10396.patch @@ -0,0 +1,193 @@ +From: Antoine_Beaupre <anarcat@orangeseeds.org> +Acked-by: Jiri Bohac <jbohac@suse.cz> +Subject: PR/51682: Avoid DoS with fragment out of order insertion; keep fragments sorted in the list. +References: bsc#1047443, CVE-2016-10396 + + + +Index: a/src/racoon/handler.h +=================================================================== +--- a/src/racoon/handler.h.orig 2018-01-26 18:05:21.114764376 +0100 ++++ a/src/racoon/handler.h 2018-01-26 18:05:33.986741103 +0100 +@@ -141,6 +141,7 @@ struct ph1handle { + #endif + #ifdef ENABLE_FRAG + int frag; /* IKE phase 1 fragmentation */ ++ int frag_last_index; + struct isakmp_frag_item *frag_chain; /* Received fragments */ + #endif + +Index: a/src/racoon/isakmp.c +=================================================================== +--- a/src/racoon/isakmp.c.orig 2018-01-26 18:05:21.118764369 +0100 ++++ a/src/racoon/isakmp.c 2018-01-26 18:05:33.986741103 +0100 +@@ -1069,6 +1069,7 @@ isakmp_ph1begin_i(rmconf, remote, local) + iph1->frag = 1; + else + iph1->frag = 0; ++ iph1->frag_last_index = 0; + iph1->frag_chain = NULL; + #endif + iph1->approval = NULL; +@@ -1173,6 +1174,7 @@ isakmp_ph1begin_r(msg, remote, local, et + #endif + #ifdef ENABLE_FRAG + iph1->frag = 0; ++ iph1->frag_last_index = 0; + iph1->frag_chain = NULL; + #endif + iph1->approval = NULL; +Index: a/src/racoon/isakmp_frag.c +=================================================================== +--- a/src/racoon/isakmp_frag.c.orig 2018-01-26 18:05:21.118764369 +0100 ++++ a/src/racoon/isakmp_frag.c 2018-01-26 18:05:33.986741103 +0100 +@@ -173,6 +173,43 @@ vendorid_frag_cap(gen) + return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]); + } + ++static int ++isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item) ++{ ++ struct isakmp_frag_item *pitem = NULL; ++ struct isakmp_frag_item *citem = iph1->frag_chain; ++ ++ /* no frag yet, just insert at beginning of list */ ++ if (iph1->frag_chain == NULL) { ++ iph1->frag_chain = item; ++ return 0; ++ } ++ ++ do { ++ /* duplicate fragment number, abort (CVE-2016-10396) */ ++ if (citem->frag_num == item->frag_num) ++ return -1; ++ ++ /* need to insert before current item */ ++ if (citem->frag_num > item->frag_num) { ++ if (pitem != NULL) ++ pitem->frag_next = item; ++ else ++ /* insert at the beginning of the list */ ++ iph1->frag_chain = item; ++ item->frag_next = citem; ++ return 0; ++ } ++ ++ pitem = citem; ++ citem = citem->frag_next; ++ } while (citem != NULL); ++ ++ /* we reached the end of the list, insert */ ++ pitem->frag_next = item; ++ return 0; ++} ++ + int + isakmp_frag_extract(iph1, msg) + struct ph1handle *iph1; +@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg) + item->frag_next = NULL; + item->frag_packet = buf; + +- /* Look for the last frag while inserting the new item in the chain */ +- if (item->frag_last) +- last_frag = item->frag_num; ++ /* Check for the last frag before inserting the new item in the chain */ ++ if (item->frag_last) { ++ /* if we have the last fragment, indices must match */ ++ if (iph1->frag_last_index != 0 && ++ item->frag_last != iph1->frag_last_index) { ++ plog(LLV_ERROR, LOCATION, NULL, ++ "Repeated last fragment index mismatch\n"); ++ racoon_free(item); ++ vfree(buf); ++ return -1; ++ } + +- if (iph1->frag_chain == NULL) { +- iph1->frag_chain = item; +- } else { +- struct isakmp_frag_item *current; ++ last_frag = iph1->frag_last_index = item->frag_num; ++ } + +- current = iph1->frag_chain; +- while (current->frag_next) { +- if (current->frag_last) +- last_frag = item->frag_num; +- current = current->frag_next; +- } +- current->frag_next = item; ++ /* insert fragment into chain */ ++ if (isakmp_frag_insert(iph1, item) == -1) { ++ plog(LLV_ERROR, LOCATION, NULL, ++ "Repeated fragment index mismatch\n"); ++ racoon_free(item); ++ vfree(buf); ++ return -1; + } + +- /* If we saw the last frag, check if the chain is complete */ ++ /* If we saw the last frag, check if the chain is complete ++ * we have a sorted list now, so just walk through */ + if (last_frag != 0) { ++ item = iph1->frag_chain; + for (i = 1; i <= last_frag; i++) { +- item = iph1->frag_chain; +- do { +- if (item->frag_num == i) +- break; +- item = item->frag_next; +- } while (item != NULL); +- ++ if (item->frag_num != i) ++ break; ++ item = item->frag_next; + if (item == NULL) /* Not found */ + break; + } + +- if (item != NULL) /* It is complete */ ++ if (i > last_frag) /* It is complete */ + return 1; + } + +@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1) + } + data = buf->v; + ++ item = iph1->frag_chain; + for (i = 1; i <= frag_count; i++) { +- item = iph1->frag_chain; +- do { +- if (item->frag_num == i) +- break; +- item = item->frag_next; +- } while (item != NULL); +- +- if (item == NULL) { ++ if (item->frag_num != i) { + plog(LLV_ERROR, LOCATION, NULL, + "Missing fragment #%d\n", i); + vfree(buf); +@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1) + } + memcpy(data, item->frag_packet->v, item->frag_packet->l); + data += item->frag_packet->l; ++ item = item->frag_next; + } + + out: + + +diff -u -p -r1.50 -r1.51 +--- a/src/racoon/isakmp_inf.c 2013/04/12 09:53:10 1.50 ++++ a/src/racoon/isakmp_inf.c 2017/01/24 19:23:56 1.51 +@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca + #endif + #ifdef ENABLE_FRAG + iph1->frag = 0; ++ iph1->frag_last_index = 0; + iph1->frag_chain = NULL; + #endif + diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix index 0aa074b4df8..551fc61f814 100644 --- a/pkgs/os-specific/linux/ipsec-tools/default.nix +++ b/pkgs/os-specific/linux/ipsec-tools/default.nix @@ -19,10 +19,7 @@ stdenv.mkDerivation rec { patches = [ ./dont-create-localstatedir-during-install.patch ./CVE-2015-4047.patch - (fetchpatch { - url = "https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b"; - sha256 = "1kf7j2pf1blni52z7q41n0yisqb7gvk01lvldr319zaxxg7rm84a"; - }) + ./CVE-2016-10396.patch ]; # fix build with newer gcc versions diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix index 57255b4a382..4463e689851 100644 --- a/pkgs/os-specific/linux/ipset/default.nix +++ b/pkgs/os-specific/linux/ipset/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libmnl }: stdenv.mkDerivation rec { - name = "ipset-7.3"; + name = "ipset-7.4"; src = fetchurl { url = "http://ipset.netfilter.org/${name}.tar.bz2"; - sha256 = "0nm3vagr1pb5hr1028qrwx6v6s8bxf1m4qjx72vak42y032wfi26"; + sha256 = "110q996yrf74ckpkc5f4pn8j5bqq98f27fsak3ibgr3zwmv435sa"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index cf06ff35325..f556d7368e9 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,32 +1,48 @@ -{ stdenv, fetchurl, bison, flex, pkgconfig, pruneLibtoolFiles -, libnetfilter_conntrack, libnftnl, libmnl, libpcap }: +{ stdenv, fetchurl, pkgconfig, pruneLibtoolFiles, flex, bison +, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap +, nftablesCompat ? false +}: + +with stdenv.lib; stdenv.mkDerivation rec { + version = "1.8.4"; pname = "iptables"; - version = "1.8.3"; src = fetchurl { url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2"; - sha256 = "106xkkg5crsscjlinxvqvprva23fwwqfgrzl8m2nn841841sqg52"; + sha256 = "0z0mgs1ghvn3slc868mgbf2g26njgrzcy5ggyb5w4i55j1a3lflr"; }; - nativeBuildInputs = [ bison flex pkgconfig pruneLibtoolFiles ]; + nativeBuildInputs = [ pkgconfig pruneLibtoolFiles flex bison ]; - buildInputs = [ libnetfilter_conntrack libnftnl libmnl libpcap ]; + buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ]; preConfigure = '' export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl" ''; configureFlags = [ + "--enable-bpf-compiler" "--enable-devel" + "--enable-libipq" + "--enable-nfsynproxy" "--enable-shared" - "--enable-bpf-compiler" - ]; + ] ++ optional (!nftablesCompat) "--disable-nftables"; outputs = [ "out" "dev" ]; - meta = with stdenv.lib; { + postInstall = optional nftablesCompat '' + rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save} + ln -sv xtables-nft-multi $out/bin/iptables + ln -sv xtables-nft-multi $out/bin/iptables-restore + ln -sv xtables-nft-multi $out/bin/iptables-save + ln -sv xtables-nft-multi $out/bin/ip6tables + ln -sv xtables-nft-multi $out/bin/ip6tables-restore + ln -sv xtables-nft-multi $out/bin/ip6tables-save + ''; + + meta = { description = "A program to configure the Linux IP packet filtering ruleset"; homepage = https://www.netfilter.org/projects/iptables/index.html; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix index ad965f95c94..930f77437ac 100644 --- a/pkgs/os-specific/linux/iw/default.nix +++ b/pkgs/os-specific/linux/iw/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "iw"; - version = "5.3"; + version = "5.4"; src = fetchurl { url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1m85ap8hwzfs7xf9r0v5d55ra4mhw45f6vclc7j6gsldpibyibq4"; + sha256 = "0prrgb11pjrr6dw71v7nx2bic127qzrjifvz183v3mw8f1kryim2"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index a1bb98b8297..8e1bbd374cf 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -1,26 +1,38 @@ -{ stdenv, fetchgit, autoreconfHook, pkgconfig, ell, coreutils, readline, python3Packages }: +{ stdenv +, fetchgit +, fetchpatch +, autoreconfHook +, pkgconfig +, ell +, coreutils +, docutils +, readline +, python3Packages +, systemd +}: stdenv.mkDerivation rec { pname = "iwd"; - - version = "0.19"; + version = "1.4"; src = fetchgit { url = https://git.kernel.org/pub/scm/network/wireless/iwd.git; rev = version; - sha256 = "0848r06bnx5k6wlmy425hljc3f03x9xx0r83vdvf630jryc9llmz"; + sha256 = "13sig2lbiyi4x74ag37gvdqx5w18w6hmq9hc1ir4a1cqqf50v61v"; }; nativeBuildInputs = [ autoreconfHook + docutils pkgconfig python3Packages.wrapPython ]; buildInputs = [ ell - readline python3Packages.python + readline + systemd ]; pythonPath = [ @@ -29,13 +41,14 @@ stdenv.mkDerivation rec { ]; configureFlags = [ - "--with-dbus-datadir=${placeholder "out"}/etc/" + "--enable-external-ell" + "--enable-wired" + "--localstatedir=/var/" "--with-dbus-busdir=${placeholder "out"}/share/dbus-1/system-services/" - "--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/" + "--with-dbus-datadir=${placeholder "out"}/share/" "--with-systemd-modloaddir=${placeholder "out"}/etc/modules-load.d/" # maybe - "--localstatedir=/var/" - "--enable-wired" - "--enable-external-ell" + "--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/" + "--with-systemd-networkdir=${placeholder "out"}/lib/systemd/network/" ]; postUnpack = '' @@ -55,16 +68,18 @@ stdenv.mkDerivation rec { postFixup = '' substituteInPlace $out/share/dbus-1/system-services/net.connman.ead.service \ - --replace /bin/false ${coreutils}/bin/false + --replace /bin/false ${coreutils}/bin/false substituteInPlace $out/share/dbus-1/system-services/net.connman.iwd.service \ - --replace /bin/false ${coreutils}/bin/false + --replace /bin/false ${coreutils}/bin/false ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { homepage = https://git.kernel.org/pub/scm/network/wireless/iwd.git; description = "Wireless daemon for Linux"; license = licenses.lgpl21; platforms = platforms.linux; - maintainers = [ maintainers.mic92 ]; + maintainers = with maintainers; [ dtzWill fpletz ]; }; } diff --git a/pkgs/os-specific/linux/jool/source.nix b/pkgs/os-specific/linux/jool/source.nix index 0dd0eeed616..9e8de46edba 100644 --- a/pkgs/os-specific/linux/jool/source.nix +++ b/pkgs/os-specific/linux/jool/source.nix @@ -1,11 +1,11 @@ { fetchFromGitHub }: rec { - version = "4.0.0"; + version = "4.0.5"; src = fetchFromGitHub { owner = "NICMx"; repo = "Jool"; rev = "v${version}"; - sha256 = "1ivnx7ijqf41kxmi2bmsf9qfcv6b1rvag35754ddlndry3sgvimr"; + sha256 = "0zfda8mbcg4mgg39shxdx5n2bq6zi9w3v8bcx03b3dp09lmq45y3"; }; } diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 1699324546d..fb2b9068921 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -58,7 +58,7 @@ let + '' mkdir -p $out/include/config echo "${version}-default" > $out/include/config/kernel.release '' - # These oddly named file records teh `SHELL` passed, which causes bootstrap + # These oddly named file records the `SHELL` passed, which causes bootstrap # tools run-time dependency. + '' find "$out" -name '..install.cmd' -print0 | xargs -0 rm diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 7bffc54673b..4bd86a70267 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -33,7 +33,6 @@ let DYNAMIC_DEBUG = yes; TIMER_STATS = whenOlder "4.11" yes; DEBUG_NX_TEST = whenOlder "4.11" no; - CPU_NOTIFIER_ERROR_INJECT = whenOlder "4.4" (option no); DEBUG_STACK_USAGE = no; DEBUG_STACKOVERFLOW = mkIf (!features.grsecurity) no; RCU_TORTURE_TEST = no; @@ -42,6 +41,8 @@ let CRASH_DUMP = option no; # Easier debugging of NFS issues. SUNRPC_DEBUG = yes; + # Provide access to tunables like sched_migration_cost_ns + SCHED_DEBUG = yes; }; power-management = { @@ -52,6 +53,9 @@ let CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes; CPU_FREQ_GOV_SCHEDUTIL = whenAtLeast "4.9" yes; PM_WAKELOCKS = yes; + # Power-capping framework and support for INTEL RAPL + POWERCAP = yes; + INTEL_RAPL = module; }; external-firmware = { @@ -94,8 +98,6 @@ let networking = { NET = yes; IP_PNP = no; - NETFILTER = yes; - NETFILTER_ADVANCED = yes; IP_VS_PROTO_TCP = yes; IP_VS_PROTO_UDP = yes; IP_VS_PROTO_ESP = yes; @@ -140,12 +142,32 @@ let KEY_DH_OPERATIONS = whenAtLeast "4.7" yes; # needed for nftables - NF_TABLES_INET = whenAtLeast "4.17" yes; - NF_TABLES_NETDEV = whenAtLeast "4.17" yes; - NF_TABLES_IPV4 = whenAtLeast "4.17" yes; - NF_TABLES_ARP = whenAtLeast "4.17" yes; - NF_TABLES_IPV6 = whenAtLeast "4.17" yes; - NF_TABLES_BRIDGE = whenAtLeast "4.17" yes; + # Networking Options + NETFILTER = yes; + NETFILTER_ADVANCED = yes; + # Core Netfilter Configuration + NF_CONNTRACK_ZONES = yes; + NF_CONNTRACK_EVENTS = yes; + NF_CONNTRACK_TIMEOUT = yes; + NF_CONNTRACK_TIMESTAMP = yes; + NETFILTER_NETLINK_GLUE_CT = yes; + NF_TABLES_INET = whenAtLeast "4.19" yes; + NF_TABLES_NETDEV = whenAtLeast "4.19" yes; + # IP: Netfilter Configuration + NF_TABLES_IPV4 = yes; + NF_TABLES_ARP = whenAtLeast "4.19" yes; + # IPv6: Netfilter Configuration + NF_TABLES_IPV6 = yes; + # Bridge Netfilter Configuration + NF_TABLES_BRIDGE = mkMerge [ (whenBetween "4.19" "5.3" yes) + (whenAtLeast "5.3" module) ]; + + # needed for ss + INET_DIAG = yes; + INET_TCP_DIAG = module; + INET_UDP_DIAG = module; + INET_RAW_DIAG = whenAtLeast "4.14" module; + INET_DIAG_DESTROY = whenAtLeast "4.9" yes; }; wireless = { @@ -158,6 +180,9 @@ let ATH9K_AHB = option yes; # Ditto, AHB bus B43_PHY_HT = option yes; BCMA_HOST_PCI = option yes; + RTW88 = whenAtLeast "5.2" module; + RTW88_8822BE = whenAtLeast "5.2" yes; + RTW88_8822CE = whenAtLeast "5.2" yes; }; fb = { @@ -179,8 +204,6 @@ let }; video = { - # Enable KMS for devices whose X.org driver supports it - DRM_I915_KMS = whenOlder "4.3" yes; # Allow specifying custom EDID on the kernel command line DRM_LOAD_EDID_FIRMWARE = yes; VGA_SWITCHEROO = yes; # Hybrid graphics support @@ -249,7 +272,6 @@ let EXT2_FS_XATTR = yes; EXT2_FS_POSIX_ACL = yes; EXT2_FS_SECURITY = yes; - EXT2_FS_XIP = whenOlder "4.0" yes; # Ext2 execute in place support EXT3_FS_POSIX_ACL = yes; EXT3_FS_SECURITY = yes; @@ -341,6 +363,7 @@ let SECURITY_APPARMOR = yes; DEFAULT_SECURITY_APPARMOR = yes; + SECURITY_LOCKDOWN_LSM = whenAtLeast "5.4" yes; } // optionalAttrs (!stdenv.hostPlatform.isAarch32) { # Detect buffer overflows on the stack @@ -351,10 +374,6 @@ let MICROCODE = yes; MICROCODE_INTEL = yes; MICROCODE_AMD = yes; - - MICROCODE_EARLY = whenOlder "4.4" yes; - MICROCODE_INTEL_EARLY = whenOlder "4.4" yes; - MICROCODE_AMD_EARLY = whenOlder "4.4" yes; } // optionalAttrs (versionAtLeast version "4.10") { # Write Back Throttling # https://lwn.net/Articles/682582/ @@ -631,11 +650,13 @@ let IDLE_PAGE_TRACKING = yes; IRDA_ULTRA = whenOlder "4.17" yes; # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 = option yes; # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB = option yes; # I-Force USB joysticks and wheels + JOYSTICK_IFORCE_232 = { optional = true; tristate = whenOlder "5.3" "y"; }; # I-Force Serial joysticks and wheels + JOYSTICK_IFORCE_USB = { optional = true; tristate = whenOlder "5.3" "y"; }; # I-Force USB joysticks and wheels JOYSTICK_XPAD_FF = option yes; # X-Box gamepad rumble support JOYSTICK_XPAD_LEDS = option yes; # LED Support for Xbox360 controller 'BigX' LED + KEYBOARD_APPLESPI = whenAtLeast "5.3" module; + KEXEC_FILE = option yes; KEXEC_JUMP = option yes; @@ -696,10 +717,15 @@ let # Enable AMD's ROCm GPU compute stack HSA_AMD = whenAtLeast "4.20" yes; + ZONE_DEVICE = whenAtLeast "5.3" yes; + HMM_MIRROR = whenAtLeast "5.3" yes; + DRM_AMDGPU_USERPTR = whenAtLeast "5.3" yes; PREEMPT = no; PREEMPT_VOLUNTARY = yes; + X86_AMD_PLATFORM_DEVICE = yes; + } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") { # Enable CPU/memory hotplug support # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot @@ -717,6 +743,9 @@ let } // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") { # Enables support for the Allwinner Display Engine 2.0 SUN8I_DE2_CCU = whenAtLeast "4.13" yes; + + # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647 + CRYPTO_AEGIS128_SIMD = no; }; }; in diff --git a/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch b/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_4_14.patch index 205497aee2d..205497aee2d 100644 --- a/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch +++ b/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_4_14.patch diff --git a/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch b/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch new file mode 100644 index 00000000000..dc9ca64bdc1 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions_5_3.patch @@ -0,0 +1,42 @@ +From 1e010beda2896bdf3082fb37a3e49f8ce20e04d8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> +Date: Thu, 2 May 2019 05:28:08 +0100 +Subject: [PATCH] x86/fpu: Export kernel_fpu_{begin,end}() with + EXPORT_SYMBOL_GPL +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We need these symbols in zfs as the fpu implementation breaks userspace: + +https://github.com/zfsonlinux/zfs/issues/9346 +Signed-off-by: Jörg Thalheim <joerg@thalheim.io> +--- + arch/x86/kernel/fpu/core.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c +index 12c70840980e..352538b3bb5d 100644 +--- a/arch/x86/kernel/fpu/core.c ++++ b/arch/x86/kernel/fpu/core.c +@@ -102,7 +102,7 @@ void kernel_fpu_begin(void) + } + __cpu_invalidate_fpregs_state(); + } +-EXPORT_SYMBOL_GPL(kernel_fpu_begin); ++EXPORT_SYMBOL(kernel_fpu_begin); + + void kernel_fpu_end(void) + { +@@ -111,7 +111,7 @@ void kernel_fpu_end(void) + this_cpu_write(in_kernel_fpu, false); + preempt_enable(); + } +-EXPORT_SYMBOL_GPL(kernel_fpu_end); ++EXPORT_SYMBOL(kernel_fpu_end); + + /* + * Save the FPU state (mark it for reload if necessary): +-- +2.23.0 + diff --git a/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch b/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch new file mode 100644 index 00000000000..0639f8b4e8f --- /dev/null +++ b/pkgs/os-specific/linux/kernel/gen-kheaders-metadata.patch @@ -0,0 +1,86 @@ +From 2cc99c9cdc8fde5e92e34f9655829449cebd3e00 Mon Sep 17 00:00:00 2001 +From: Dmitry Goldin <dgoldin+lkml@protonmail.ch> +Date: Fri, 4 Oct 2019 10:40:07 +0000 +Subject: kheaders: make headers archive reproducible + +In commit 43d8ce9d65a5 ("Provide in-kernel headers to make +extending kernel easier") a new mechanism was introduced, for kernels +>=5.2, which embeds the kernel headers in the kernel image or a module +and exposes them in procfs for use by userland tools. + +The archive containing the header files has nondeterminism caused by +header files metadata. This patch normalizes the metadata and utilizes +KBUILD_BUILD_TIMESTAMP if provided and otherwise falls back to the +default behaviour. + +In commit f7b101d33046 ("kheaders: Move from proc to sysfs") it was +modified to use sysfs and the script for generation of the archive was +renamed to what is being patched. + +Signed-off-by: Dmitry Goldin <dgoldin+lkml@protonmail.ch> +Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> +Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> + +--- + +nixos note: This patch is from +https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?h=fixes&id=2cc99c9cdc8fde5e92e34f9655829449cebd3e00 +I commented out the documentation part here, so that it easily applies +to linux 5.2 and 5.3, which does not ship with the reproducible build +documentation yet, which only was introduced recently. + +--- + Documentation/kbuild/reproducible-builds.rst | 13 +++++++++---- + kernel/gen_kheaders.sh | 5 ++++- + 2 files changed, 13 insertions(+), 5 deletions(-) + +#diff --git a/Documentation/kbuild/reproducible-builds.rst b/Documentation/kbuild/reproducible-builds.rst +#index ab92e98c89c8..503393854e2e 100644 +# --- a/Documentation/kbuild/reproducible-builds.rst +#+++ b/Documentation/kbuild/reproducible-builds.rst +#@@ -16,16 +16,21 @@ the kernel may be unreproducible, and how to avoid them. +# Timestamps +# ---------- +# +#-The kernel embeds a timestamp in two places: +#+The kernel embeds timestamps in three places: +# +# * The version string exposed by ``uname()`` and included in +# ``/proc/version`` +# +# * File timestamps in the embedded initramfs +# +#-By default the timestamp is the current time. This must be overridden +#-using the `KBUILD_BUILD_TIMESTAMP`_ variable. If you are building +#-from a git commit, you could use its commit date. +#+* If enabled via ``CONFIG_IKHEADERS``, file timestamps of kernel +#+ headers embedded in the kernel or respective module, +#+ exposed via ``/sys/kernel/kheaders.tar.xz`` +#+ +#+By default the timestamp is the current time and in the case of +#+``kheaders`` the various files' modification times. This must +#+be overridden using the `KBUILD_BUILD_TIMESTAMP`_ variable. +#+If you are building from a git commit, you could use its commit date. +# +# The kernel does *not* use the ``__DATE__`` and ``__TIME__`` macros, +# and enables warnings if they are used. If you incorporate external +diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh +index 9ff449888d9c..aff79e461fc9 100755 +--- a/kernel/gen_kheaders.sh ++++ b/kernel/gen_kheaders.sh +@@ -71,7 +71,10 @@ done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1 + find $cpio_dir -type f -print0 | + xargs -0 -P8 -n1 perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;' + +-tar -Jcf $tarfile -C $cpio_dir/ . > /dev/null ++# Create archive and try to normalize metadata for reproducibility ++tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \ ++ --owner=0 --group=0 --sort=name --numeric-owner \ ++ -Jcf $tarfile -C $cpio_dir/ . > /dev/null + + echo "$src_files_md5" > kernel/kheaders.md5 + echo "$obj_files_md5" >> kernel/kheaders.md5 +-- +cgit 1.2-0.3.lf.el7 + diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl index 26fc07202bb..26c559ea908 100644 --- a/pkgs/os-specific/linux/kernel/generate-config.pl +++ b/pkgs/os-specific/linux/kernel/generate-config.pl @@ -136,10 +136,12 @@ while (<CONFIG>) { } close CONFIG; +my $ret = 0; foreach my $name (sort (keys %answers)) { my $f = $requiredAnswers{$name} && $ignoreConfigErrors ne "1" - ? sub { die "error: " . $_[0]; } : sub { warn "warning: " . $_[0]; }; + ? sub { warn "error: " . $_[0]; $ret = -1; } : sub { warn "warning: " . $_[0]; }; &$f("unused option: $name\n") unless defined $config{$name}; &$f("option not set correctly: $name (wanted '$answers{$name}', got '$config{$name}')\n") if $config{$name} && $config{$name} ne $answers{$name}; } +exit $ret; diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index ae39047a9d3..57b3aeaa82f 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,16 +3,16 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.142"; + version = "4.14.161"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1wwhnm1n1b6yzsd2zzzf9i3n4hlvgnph70p67cwahw0ik4ssayz6"; + sha256 = "1jc1izlvgymp9x61r4yz2xhplwmp6x8laxqj9wy33iz6a2gn48wx"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 56d254c1ecb..b43da123e24 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,16 +3,16 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.71"; + version = "4.19.92"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1bjwkb7k82l646ryyy0jbwsnygm2qsxgcwli8bdrj844skzynlqz"; + sha256 = "18l3k0hgyanh6axgmmaaff139vpw6lf3fcf9iglpqwgspgw7rhr9"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 2889dc34aba..e63f96d6876 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/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.191"; + version = "4.4.207"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0x3lnq4xyj5v6r1cz4jizm4vdspws1nb806f5qczwi3yil5nm6bh"; + sha256 = "024flajnl3l4yk8sgqdrfrl21js4vsjcv4ivmjblj4l9fl3hdjb6"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index d494c7bb623..27e802f6107 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/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.191"; + version = "4.9.207"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1g5p736p8zx5rmxaj56yw93jp768npl868jsn8973dny0rsbim6y"; + sha256 = "090181vij95py22jhx7baaxabb78w0j5hsfsnzp6bv2vgdz671na"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.2.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix index dfce0f30398..d83f0fb9813 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix @@ -3,16 +3,16 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.2.13"; + version = "5.3.18"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "12hpph3iynr22mfwz7745lp01waf2kg579hr56d4pvhx4iahzdhp"; + sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix new file mode 100644 index 00000000000..0eb57180644 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -0,0 +1,18 @@ +{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args: + +with stdenv.lib; + +buildLinux (args // rec { + version = "5.4.7"; + + # 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; + + # branchVersion needs to be x.y + extraMeta.branch = versions.majorMinor version; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; + sha256 = "1jgwg5qb7lb30m5ywvpfagzrl6d0i524qpy3v99mina6j4fv5jdb"; + }; +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index e4a4e40f370..aa6f29f374a 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,11 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { - url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/"; - - # Update this if linux_latest-libre fails to build. - # $ curl https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/ | grep -Eo 'Revision [0-9]+' - rev = "16604"; - sha256 = "0d2dh52zv073zr74ilspy0fy3ivys5pq32j7fljs4fwi2bcljf51"; + url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; + rev = "17153"; + sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789"; } , ... }: @@ -25,7 +22,7 @@ in linux.override { name = "${linux.name}-libre-src"; src = linux.src; buildPhase = '' - ${scripts}/${majorMinor}-gnu/deblob-${majorMinor} \ + ${scripts}/${majorMinor}/deblob-${majorMinor} \ ${major} ${minor} ${patch} ''; checkPhase = '' @@ -36,6 +33,8 @@ in linux.override { ''; }; + passthru.updateScript = ./update-libre.sh; + maintainers = [ lib.maintainers.qyliss ]; }; } diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index 1b4700a2e39..6f5f2524276 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -1,8 +1,8 @@ -{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: +{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, rpiVersion, ... } @ args: let - modDirVersion = "4.14.98"; - tag = "1.20190215"; + modDirVersion = "4.19.75"; + tag = "1.20190925"; in lib.overrideDerivation (buildLinux (args // { version = "${modDirVersion}-${tag}"; @@ -12,24 +12,32 @@ lib.overrideDerivation (buildLinux (args // { owner = "raspberrypi"; repo = "linux"; rev = "raspberrypi-kernel_${tag}-1"; - sha256 = "1gc4x7p82m2v1jhahhyl7qfdkflj71ly6p0fpc1vf9sk13hbwgj2"; + sha256 = "0l91kb4jjxg4fcp7d2aqm1fj34ns137rys93k907mdgnarcliafs"; }; defconfig = { - armv6l-linux = "bcmrpi_defconfig"; - armv7l-linux = "bcm2709_defconfig"; - aarch64-linux = "bcmrpi3_defconfig"; - }.${stdenv.hostPlatform.system} or (throw "linux_rpi not supported on '${stdenv.hostPlatform.system}'"); + "1" = "bcmrpi_defconfig"; + "2" = "bcm2709_defconfig"; + "3" = "bcmrpi3_defconfig"; + "4" = "bcm2711_defconfig"; + }.${toString rpiVersion}; features = { efiBootStub = false; } // (args.features or {}); - extraMeta.hydraPlatforms = [ "aarch64-linux" ]; + extraMeta = if (rpiVersion < 3) then { + platforms = with lib.platforms; [ arm ]; + hydraPlatforms = []; + } else { + platforms = with lib.platforms; [ arm aarch64 ]; + hydraPlatforms = [ "aarch64-linux" ]; + }; } // (args.argsOverride or {}))) (oldAttrs: { postConfigure = '' # The v7 defconfig has this set to '-v7' which screws up our modDirVersion. sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' + sed -i $buildRoot/include/config/auto.conf -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/' ''; # Make copies of the DTBs named after the upstream names so that U-Boot finds them. @@ -41,8 +49,8 @@ lib.overrideDerivation (buildLinux (args // { cp -v "$dtbDir/$1" "$dtbDir/$2" } '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) '' - copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb - copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb + copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero.dtb + copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb @@ -54,7 +62,9 @@ lib.overrideDerivation (buildLinux (args // { copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) '' copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb + copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-a-plus.dtb copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb + copyDTB bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb ''; }) diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix index 0b2ed76a4b4..f4b9e5b8da6 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix @@ -1,13 +1,13 @@ { stdenv, buildPackages, fetchgit, fetchpatch, perl, buildLinux, ... } @ args: buildLinux (args // { - version = "5.1.2019.08.21"; - modDirVersion = "5.1.0"; + version = "5.2.2019.10.12"; + modDirVersion = "5.2.0"; src = fetchgit { url = "https://evilpiepirate.org/git/bcachefs.git"; - rev = "ece184f718c2b678738bc2c42906e90eeb8ba7dc"; - sha256 = "08cbisgcww8fklpxwqkm2c8ddz0mm7v11ycp7ch0kalwdv2f81lr"; + rev = "de906c3e2eddad291d46bd0e7c81c68eaadcd08a"; + sha256 = "1ahabp8pd9slf4lchkbyfkagg9vhic0cw3kwvwryzaxxxjmf2hkk"; }; extraConfig = "BCACHEFS_FS m"; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 59b406a91ee..dcb274c9254 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -3,15 +3,15 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.2-rc7"; - extraMeta.branch = "5.2"; + version = "5.5-rc3"; + extraMeta.branch = "5.5"; # 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 = "1128jb1y4gia5icv614ycp3c5mkvrb2l2wn20765b3si256g68n4"; + sha256 = "1rf394d1d6c0mvf6006gq1bscq3jjcvj9xxmdwallfwpp9igs8id"; }; # Should the testing kernels ever be built on Hydra? diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 257aec75142..0538511c528 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -94,7 +94,9 @@ let patches = map (p: p.patch) kernelPatches # Required for deterministic builds along with some postPatch magic. - ++ optional (stdenv.lib.versionAtLeast version "4.13") ./randstruct-provide-seed.patch; + ++ optional (stdenv.lib.versionAtLeast version "4.13") ./randstruct-provide-seed.patch + # Fixes determinism by normalizing metadata for the archive of kheaders + ++ optional (stdenv.lib.versionAtLeast version "5.2" && stdenv.lib.versionOlder version "5.4") ./gen-kheaders-metadata.patch; prePatch = '' for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do @@ -162,6 +164,10 @@ let ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)") ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware"; + preInstall = '' + installFlagsArray+=("-j$NIX_BUILD_CORES") + ''; + # Some image types need special install targets (e.g. uImage is installed with make uinstall) installTargets = [ ( if platform ? kernelInstallTarget then platform.kernelInstallTarget @@ -177,7 +183,7 @@ let '' else "") + (if isModular then '' mkdir -p $dev cp vmlinux $dev/ - if [ -z "$dontStrip" ]; then + if [ -z "''${dontStrip-}" ]; then installFlagsArray+=("INSTALL_MOD_STRIP=1") fi make modules_install $makeFlags "''${makeFlagsArray[@]}" \ @@ -190,7 +196,6 @@ let # To save space, exclude a bunch of unneeded stuff when copying. (cd .. && rsync --archive --prune-empty-dirs \ --exclude='/build/' \ - --exclude='/Documentation/' \ * $dev/lib/modules/${modDirVersion}/source/) cd $dev/lib/modules/${modDirVersion}/source diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index b80320db282..2af64c2ddc4 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -6,6 +6,16 @@ patch = ./bridge-stp-helper.patch; }; + request_key_helper = + { name = "request-key-helper"; + patch = ./request-key-helper.patch; + }; + + request_key_helper_updated = + { name = "request-key-helper-updated"; + patch = ./request-key-helper-updated.patch; + }; + p9_fixes = { name = "p9-fixes"; patch = ./p9-fixes.patch; @@ -59,8 +69,14 @@ }; export_kernel_fpu_functions = { - name = "export_kernel_fpu_functions"; - patch = ./export_kernel_fpu_functions.patch; + "4.14" = { + name = "export_kernel_fpu_functions"; + patch = ./export_kernel_fpu_functions_4_14.patch; + }; + "5.3" = { + name = "export_kernel_fpu_functions"; + patch = ./export_kernel_fpu_functions_5_3.patch; + }; }; # patches from https://lkml.org/lkml/2019/7/15/1748 diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 1e5c987d508..37b728bde88 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto, makeWrapper +{ lib, stdenv, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils , libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl , zlib, withGtk ? false, gtk2 ? null @@ -36,12 +36,13 @@ stdenv.mkDerivation { # perf refers both to newt and slang nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt - flex bison libiberty audit makeWrapper pkgconfig python perl + flex bison libiberty audit makeWrapper pkgconfig ]; buildInputs = [ elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl - libopcodes - ] ++ stdenv.lib.optional withGtk gtk2; + libopcodes python3 perl + ] ++ stdenv.lib.optional withGtk gtk2 + ++ (if (versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ]); # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. diff --git a/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch b/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch new file mode 100644 index 00000000000..aabb9e801be --- /dev/null +++ b/pkgs/os-specific/linux/kernel/request-key-helper-updated.patch @@ -0,0 +1,13 @@ +diff --git a/security/keys/request_key.c b/security/keys/request_key.c +index 88172c163953..4da74a1eebb2 100644 +--- a/security/keys/request_key.c ++++ b/security/keys/request_key.c +@@ -161,7 +161,7 @@ static int call_sbin_request_key(struct key_construction *cons, + + /* set up the argument list */ + i = 0; +- argv[i++] = "/sbin/request-key"; ++ argv[i++] = "/run/current-system/sw/bin/request-key"; + argv[i++] = (char *) op; + argv[i++] = key_str; + argv[i++] = uid_str; diff --git a/pkgs/os-specific/linux/kernel/request-key-helper.patch b/pkgs/os-specific/linux/kernel/request-key-helper.patch new file mode 100644 index 00000000000..8264e265aed --- /dev/null +++ b/pkgs/os-specific/linux/kernel/request-key-helper.patch @@ -0,0 +1,13 @@ +diff --git a/security/keys/request_key.c b/security/keys/request_key.c +index 957b9e3e1492..5436a0d8b81d 100644 +--- a/security/keys/request_key.c ++++ b/security/keys/request_key.c +@@ -114,7 +114,7 @@ static int call_usermodehelper_keys(const char *path, char **argv, char **envp, + */ + static int call_sbin_request_key(struct key *authkey, void *aux) + { +- static char const request_key[] = "/sbin/request-key"; ++ static char const request_key[] = "/run/current-system/sw/bin/request-key"; + struct request_key_auth *rka = get_request_key_auth(authkey); + const struct cred *cred = current_cred(); + key_serial_t prkey, sskey; diff --git a/pkgs/os-specific/linux/kernel/update-libre.sh b/pkgs/os-specific/linux/kernel/update-libre.sh new file mode 100755 index 00000000000..3b8a00edcda --- /dev/null +++ b/pkgs/os-specific/linux/kernel/update-libre.sh @@ -0,0 +1,26 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p nix-prefetch-svn git curl +set -euo pipefail + +nixpkgs="$(git rev-parse --show-toplevel)" +path="$nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix" + +old_rev="$(grep -o 'rev = ".*"' "$path" | awk -F'"' '{print $2}')" + +svn_url=https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/ +rev="$(curl -s "$svn_url" | grep -Em 1 -o 'Revision [0-9]+' | awk '{print $2}')" + +if [ "$old_rev" = "$rev" ]; then + echo "No updates for linux-libre" + exit 0 +fi + +sha256="$(QUIET=1 nix-prefetch-svn "$svn_url" "$rev" | tail -1)" + +sed -i -e "s/rev = \".*\"/rev = \"$rev\"/" \ + -e "s/sha256 = \".*\"/sha256 = \"$sha256\"/" "$path" + +if [ -n "$COMMIT" ]; then + git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path" + echo "Updated linux_latest-libre $old_rev -> $rev" +fi diff --git a/pkgs/os-specific/linux/kernel/update.sh b/pkgs/os-specific/linux/kernel/update.sh index 7a86b05dafc..dbfa052d292 100755 --- a/pkgs/os-specific/linux/kernel/update.sh +++ b/pkgs/os-specific/linux/kernel/update.sh @@ -57,3 +57,6 @@ ls $NIXPKGS/pkgs/os-specific/linux/kernel | while read FILE; do echo "Updated $OLDVER -> $V" done + +# Update linux-libre +COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-libre.sh diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix index 3d3215e6b4b..4e9007c7362 100644 --- a/pkgs/os-specific/linux/kexectools/default.nix +++ b/pkgs/os-specific/linux/kexectools/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages, fetchurl, zlib }: +{ stdenv, buildPackages, fetchurl, zlib, fetchpatch }: stdenv.mkDerivation rec { pname = "kexec-tools"; @@ -18,6 +18,16 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; buildInputs = [ zlib ]; + patches = [ + # fix build on i686 + # See: https://src.fedoraproject.org/rpms/kexec-tools/c/cb1e5463b5298b064e9b6c86ad6fe3505fec9298 + (fetchpatch { + name = "kexec-tools-2.0.20-fix-broken-multiboot2-buliding-for-i386.patch"; + url = "https://src.fedoraproject.org/rpms/kexec-tools/raw/cb1e5463b5298b064e9b6c86ad6fe3505fec9298/f/kexec-tools-2.0.20-fix-broken-multiboot2-buliding-for-i386.patch"; + sha256 = "1kzmcsbhwfdgxlc5s88ir0n494phww1j16yk0z42x09qlkxxkg0l"; + }) + ]; + meta = with stdenv.lib; { homepage = http://horms.net/projects/kexec/kexec-tools; description = "Tools related to the kexec Linux feature"; diff --git a/pkgs/os-specific/linux/keyutils/conf-symlink.patch b/pkgs/os-specific/linux/keyutils/conf-symlink.patch new file mode 100644 index 00000000000..02762e857a8 --- /dev/null +++ b/pkgs/os-specific/linux/keyutils/conf-symlink.patch @@ -0,0 +1,13 @@ +diff --git a/request-key.c b/request-key.c +index bf47c0a..105fee8 100644 +--- a/request-key.c ++++ b/request-key.c +@@ -313,7 +313,7 @@ static void scan_conf_dir(struct parameters *params, const char *confdir) + while ((d = readdir(dir))) { + if (d->d_name[0] == '.') + continue; +- if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG) ++ if (d->d_type != DT_UNKNOWN && d->d_type != DT_REG && d->d_type != DT_LNK) + continue; + l = strlen(d->d_name); + if (l < 5) diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix index 7d6ee61030c..887aee45aa8 100644 --- a/pkgs/os-specific/linux/keyutils/default.nix +++ b/pkgs/os-specific/linux/keyutils/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "keyutils"; - version = "1.6"; + version = "1.6.1"; src = fetchurl { - url = "https://people.redhat.com/dhowells/keyutils/${pname}-${version}.tar.bz2"; - sha256 = "05bi5ja6f3h3kdi7p9dihlqlfrsmi1wh1r2bdgxc0180xh6g5bnk"; + url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/${pname}-${version}.tar.gz"; + sha256 = "0mzmw8c7gqmqaxm3sa0xki8ycjla47xxhqg0yh17pl00d7ydqw9w"; }; patches = [ @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { url = "https://salsa.debian.org/debian/keyutils/raw/4cecffcb8e2a2aa4ef41777ed40e4e4bcfb2e5bf/debian/patches/Make-build-reproducible.patch"; sha256 = "0wnvbjfrbk7rghd032z684l7vk7mhy3bd41zvhkrhgp3cd5id0bm"; }) + ./conf-symlink.patch ]; BUILDDATE = "1970-01-01"; diff --git a/pkgs/os-specific/linux/kmod/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix index 4da87a557cb..cd138f1d7f5 100644 --- a/pkgs/os-specific/linux/kmod/aggregator.nix +++ b/pkgs/os-specific/linux/kmod/aggregator.nix @@ -29,7 +29,7 @@ buildEnv { # kernel version number, otherwise depmod will use `uname -r'. if test -w $out/lib/modules/$kernelVersion; then rm -f $out/lib/modules/$kernelVersion/modules.!(builtin*|order*) - ${kmod}/bin/depmod -b $out -a $kernelVersion + ${kmod}/bin/depmod -b $out -C $out/etc/depmod.d -a $kernelVersion fi ''; } diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index 433506e5c39..052ab3061c1 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchurl, autoreconfHook, pkgconfig -, libxslt, xz, elf-header }: +, libxslt, xz, elf-header +, withStatic ? false }: let systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ]; @@ -21,10 +22,11 @@ in stdenv.mkDerivation rec { "--sysconfdir=/etc" "--with-xz" "--with-modulesdirs=${modulesDirs}" - ]; + ] ++ lib.optional withStatic "--enable-static"; patches = [ ./module-dir.patch ] - ++ lib.optional stdenv.isDarwin ./darwin.patch; + ++ lib.optional stdenv.isDarwin ./darwin.patch + ++ lib.optional withStatic ./enable-static.patch; postInstall = '' for prog in rmmod insmod lsmod modinfo modprobe depmod; do diff --git a/pkgs/os-specific/linux/kmod/enable-static.patch b/pkgs/os-specific/linux/kmod/enable-static.patch new file mode 100644 index 00000000000..8308c655792 --- /dev/null +++ b/pkgs/os-specific/linux/kmod/enable-static.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index ee72283..b42c42a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,7 +19,6 @@ AM_SILENT_RULES([yes]) + LT_INIT([disable-static pic-only]) + DOLT + +-AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])]) + AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])]) + + ##################################################################### diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix index 0fff816eac7..fd16acaa3a9 100644 --- a/pkgs/os-specific/linux/kmscon/default.nix +++ b/pkgs/os-specific/linux/kmscon/default.nix @@ -4,7 +4,7 @@ , systemd , libxkbcommon , libdrm -, libGLU_combined +, libGLU, libGL , pango , pixman , pkgconfig @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { systemd libxkbcommon libdrm - libGLU_combined + libGLU libGL pango pixman pkgconfig diff --git a/pkgs/os-specific/linux/ledger-udev-rules/default.nix b/pkgs/os-specific/linux/ledger-udev-rules/default.nix index 96c60f6ea56..e61bac510e6 100644 --- a/pkgs/os-specific/linux/ledger-udev-rules/default.nix +++ b/pkgs/os-specific/linux/ledger-udev-rules/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "ledger-udev-rules"; - version = "unstable-2019-02-13"; + version = "unstable-2019-05-30"; src = fetchFromGitHub { owner = "LedgerHQ"; repo = "udev-rules"; - rev = "20cc1651eb551c4855aaa56628c77eaeb3031c22"; - sha256 = "0riydkc4in10pv4qlrvbg3w78qsvxly5caa3zwyqcmsm5fmprqky"; + rev = "765b7fdf57b20fd9326cedf48ee52e905024ab4f"; + sha256 = "10a42al020zpkx918y6b1l9az45vk3921b2l1mx87w3m0ad9qvif"; }; dontBuild = true; diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix index fef7a3236b3..090bf6a566a 100644 --- a/pkgs/os-specific/linux/libaio/default.nix +++ b/pkgs/os-specific/linux/libaio/default.nix @@ -33,6 +33,6 @@ stdenv.mkDerivation rec { homepage = http://lse.sourceforge.net/io/aio.html; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.lgpl21; - maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + maintainers = with stdenv.lib.maintainers; [ ]; }; } diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix index 0789d53b434..b3ccda3b50d 100644 --- a/pkgs/os-specific/linux/libnl/default.nix +++ b/pkgs/os-specific/linux/libnl/default.nix @@ -1,25 +1,19 @@ -{ stdenv, file, lib, fetchFromGitHub, fetchpatch, autoreconfHook, bison, flex, pkgconfig +{ stdenv, file, lib, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, swig ? null, python}: stdenv.mkDerivation rec { pname = "libnl"; - version = "3.4.0"; + version = "3.5.0"; src = fetchFromGitHub { repo = "libnl"; owner = "thom311"; rev = "libnl${lib.replaceStrings ["."] ["_"] version}"; - sha256 = "1bqf1f5glwf285sa98k5pkj9gg79lliixk1jk85j63v5510fbagp"; + sha256 = "1ak30jcx52gl5yz1691qq0b76ldbcp2z6vsvdr2mrrwqiplqbcs2"; }; outputs = [ "bin" "dev" "out" "man" ] ++ lib.optional pythonSupport "py"; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl - (fetchpatch { - url = "https://raw.githubusercontent.com/gentoo/musl/48d2a28710ae40877fd3e178ead1fb1bb0baa62c/dev-libs/libnl/files/libnl-3.3.0_rc1-musl.patch"; - sha256 = "0dd7xxikib201i99k2if066hh7gwf2i4ffckrjplq6lr206jn00r"; - }); - enableParallelBuilding = true; nativeBuildInputs = [ autoreconfHook bison flex pkgconfig file ] diff --git a/pkgs/os-specific/linux/libratbag/default.nix b/pkgs/os-specific/linux/libratbag/default.nix index a09bb2a6ceb..2f92b316003 100644 --- a/pkgs/os-specific/linux/libratbag/default.nix +++ b/pkgs/os-specific/linux/libratbag/default.nix @@ -1,15 +1,16 @@ { stdenv, fetchFromGitHub, meson, ninja, pkgconfig -, glib, systemd, udev, libevdev, gitMinimal, check, valgrind, swig, python3 }: +, glib, systemd, udev, libevdev, gitMinimal, check, valgrind, swig, python3 +, json-glib, libunistring }: stdenv.mkDerivation rec { pname = "libratbag"; - version = "0.9.905"; + version = "0.11"; src = fetchFromGitHub { owner = "libratbag"; repo = "libratbag"; rev = "v${version}"; - sha256 = "0bh1nf9sv7wka0vh5bz9krf2cfxz0rr64hrpdm7imsb6cn39k01y"; + sha256 = "1fcdcs4i83yic4rp3dsr7rq040f78lh8fb1ni1nnvp3y78fmibmi"; }; nativeBuildInputs = [ @@ -17,7 +18,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib systemd udev libevdev + glib systemd udev libevdev json-glib libunistring (python3.withPackages (ps: with ps; [ evdev pygobject3 ])) ]; diff --git a/pkgs/os-specific/linux/lm-sensors/default.nix b/pkgs/os-specific/linux/lm-sensors/default.nix index b9e58cb5a4c..82ac626d7c9 100644 --- a/pkgs/os-specific/linux/lm-sensors/default.nix +++ b/pkgs/os-specific/linux/lm-sensors/default.nix @@ -6,26 +6,26 @@ assert sensord -> rrdtool != null; stdenv.mkDerivation rec { pname = "lm-sensors"; - version = "3.5.0"; + version = "3.6.0"; + dashedVersion = stdenv.lib.replaceStrings ["."] ["-"] version; src = fetchzip { - url = "https://github.com/lm-sensors/lm-sensors/archive/V${stdenv.lib.replaceStrings ["."] ["-"] version}.tar.gz"; - sha256 = "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj"; + url = "https://github.com/lm-sensors/lm-sensors/archive/V${dashedVersion}.tar.gz"; + sha256 = "1ipf6wjx037sqyhy0r5jh4983h216anq9l68ckn2x5c3qc4wfmzn"; }; nativeBuildInputs = [ bison flex which ]; buildInputs = [ perl ] ++ stdenv.lib.optional sensord rrdtool; - preBuild = '' - makeFlagsArray=(PREFIX=$out ETCDIR=$out/etc - ${stdenv.lib.optionalString sensord "PROG_EXTRA=sensord"}) - ''; + makeFlags = [ "PREFIX=${placeholder "out"}" "ETCDIR=${placeholder "out"}/etc" ] + ++ stdenv.lib.optional sensord "PROG_EXTRA=sensord"; meta = with stdenv.lib; { - homepage = https://hwmon.wiki.kernel.org/lm_sensors; + homepage = "https://hwmon.wiki.kernel.org/lm_sensors"; + changelog = "https://raw.githubusercontent.com/lm-sensors/lm-sensors/V${dashedVersion}/CHANGES"; description = "Tools for reading hardware sensors"; - license = with licenses; [ gpl2Plus lgpl21Plus ]; + license = with licenses; [ lgpl21Plus gpl2Plus ]; platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 9944250bf30..9c48caaa243 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -21,7 +21,6 @@ stdenv.mkDerivation { "--enable-udev_rules" "--enable-udev_sync" "--enable-pkgconfig" - "--enable-applib" "--enable-cmdlib" ] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd" ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ @@ -34,17 +33,17 @@ stdenv.mkDerivation { preConfigure = '' - substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \ - --replace /usr/bin/udevadm ${systemd}/bin/udevadm - sed -i /DEFAULT_SYS_DIR/d Makefile.in sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in + '' + stdenv.lib.optionalString (systemd != null) '' + substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \ + --replace /usr/bin/udevadm ${systemd}/bin/udevadm ''; + # https://github.com/NixOS/nixpkgs/pull/52597 # gcc: error: ../../device_mapper/libdevice-mapper.a: No such file or directory enableParallelBuilding = false; - #patches = [ ./purity.patch ]; patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ (fetchpatch { name = "fix-stdio-usage.patch"; @@ -75,7 +74,7 @@ stdenv.mkDerivation { '' substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \ --replace $out/sbin/blkid ${utillinux}/sbin/blkid - + '' + stdenv.lib.optionalString (systemd != null) '' # Systemd stuff mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system diff --git a/pkgs/os-specific/linux/lvm2/purity.patch b/pkgs/os-specific/linux/lvm2/purity.patch deleted file mode 100644 index d6990dd9caa..00000000000 --- a/pkgs/os-specific/linux/lvm2/purity.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -ru LVM2.2.02.95-orig/udev/10-dm.rules.in LVM2.2.02.95/udev/10-dm.rules.in ---- LVM2.2.02.95-orig/udev/10-dm.rules.in 2011-08-11 19:55:29.000000000 +0200 -+++ LVM2.2.02.95/udev/10-dm.rules.in 2012-03-19 20:12:35.000000000 +0100 -@@ -19,9 +19,8 @@ - SUBSYSTEM!="block", GOTO="dm_end" - KERNEL!="dm-[0-9]*", GOTO="dm_end" - --# Set proper sbin path, /sbin has higher priority than /usr/sbin. --ENV{DM_SBIN_PATH}="/sbin" --TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin" -+# Set proper sbin path. Exit if dmsetup is not present. -+ENV{DM_SBIN_PATH}="(sbindir)" - TEST!="$env{DM_SBIN_PATH}/dmsetup", GOTO="dm_end" - - # Device created, major and minor number assigned - "add" event generated. -diff -ru LVM2.2.02.95-orig/udev/Makefile.in LVM2.2.02.95/udev/Makefile.in ---- LVM2.2.02.95-orig/udev/Makefile.in 2012-02-24 10:53:12.000000000 +0100 -+++ LVM2.2.02.95/udev/Makefile.in 2012-03-19 20:16:09.000000000 +0100 -@@ -12,6 +12,7 @@ - # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - srcdir = @srcdir@ -+sbindir = @sbindir@ - top_srcdir = @top_srcdir@ - top_builddir = @top_builddir@ - -@@ -26,7 +27,7 @@ - ifeq ("@UDEV_HAS_BUILTIN_BLKID@", "yes") - BLKID_RULE=IMPORT{builtin}=\"blkid\" - else -- BLKID_RULE=IMPORT{program}=\"\$$env{DM_SBIN_PATH}\/blkid -o udev -p \$$tempnode\" -+ BLKID_RULE=IMPORT{program}=\"\/sbin\/blkid -o udev -p \$$tempnode\" - endif - - CLEAN_TARGETS = 10-dm.rules 13-dm-disk.rules -@@ -36,7 +37,7 @@ - vpath %.rules $(srcdir) - - %.rules: %.rules.in -- $(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" $< >$@ -+ $(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" -e "s|(sbindir)|$(sbindir)|" $< >$@ - - %_install: %.rules - $(INSTALL_DATA) -D $< $(udevdir)/$(<F) diff --git a/pkgs/os-specific/linux/macchanger/default.nix b/pkgs/os-specific/linux/macchanger/default.nix index ec76cda9769..1f1c4b4d7c1 100644 --- a/pkgs/os-specific/linux/macchanger/default.nix +++ b/pkgs/os-specific/linux/macchanger/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A utility for viewing/manipulating the MAC address of network interfaces"; - maintainers = with maintainers; [ joachifm ]; + maintainers = with maintainers; [ joachifm ma27 ]; license = licenses.gpl2Plus; homepage = https://www.gnu.org/software/macchanger; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/mbpfan/default.nix b/pkgs/os-specific/linux/mbpfan/default.nix index 8b62ce76409..4e2e31606c5 100644 --- a/pkgs/os-specific/linux/mbpfan/default.nix +++ b/pkgs/os-specific/linux/mbpfan/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "mbpfan"; - version = "2.1.1"; + version = "2.2.1"; src = fetchFromGitHub { owner = "dgraziotin"; repo = "mbpfan"; rev = "v${version}"; - sha256 = "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj"; + sha256 = "0gc9ypxi55vxs77nx8ihhh9zk7fr9v0m0zfm76q7x0bi6jz11mbr"; }; installPhase = '' mkdir -p $out/bin $out/etc diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix index a58bfc321d3..13bdbcc19f6 100644 --- a/pkgs/os-specific/linux/mcelog/default.nix +++ b/pkgs/os-specific/linux/mcelog/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mcelog"; - version = "164"; + version = "166"; src = fetchFromGitHub { owner = "andikleen"; repo = "mcelog"; rev = "v${version}"; - sha256 = "1i0f0zvxlzkfp0bvghm1z8z8bb8a5x97h56bwd7fdkrm00ivfw2k"; + sha256 = "0q76lf5yrjq7b96ynj5dbf9ll94ymiab1b9106xpb4vbiwz0ia7w"; }; postPatch = '' diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index 5aa9e9b43da..8638ac9f798 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { postPatch = '' sed -e 's@/lib/udev@''${out}/lib/udev@' \ -e 's@ -Werror @ @' \ - -e 's@/usr/sbin/sendmail@${system-sendmail}@' -i Makefile + -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' \ diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index 07d6dcb4a5f..70b2580b664 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "microcode-intel"; - version = "20190618"; + version = "20191115"; src = fetchFromGitHub { owner = "intel"; repo = "Intel-Linux-Processor-Microcode-Data-Files"; rev = "microcode-${version}"; - sha256 = "0fdhrpxvsq0rm5mzj82gvmfb3lm7mhc9hwvimv7dl1jaidbp6lvs"; + sha256 = "0pzi5qmrcrdf6nsds4bvyq1hnvv9d1dlrvqrbzcrpxk84rcjwq1x"; }; nativeBuildInputs = [ iucode-tool libarchive ]; @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { description = "Microcode for Intel processors"; license = licenses.unfreeRedistributableFirmware; platforms = platforms.linux; + maintainers = with maintainers; [ andir ]; }; } diff --git a/pkgs/os-specific/linux/molly-guard/default.nix b/pkgs/os-specific/linux/molly-guard/default.nix index 766c01eed3f..9b412d9d7ed 100644 --- a/pkgs/os-specific/linux/molly-guard/default.nix +++ b/pkgs/os-specific/linux/molly-guard/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "molly-guard"; - version = "0.6.3"; + version = "0.7.2"; src = fetchurl { - url = "https://launchpad.net/ubuntu/+source/molly-guard/${version}/+build/8892607/+files/molly-guard_${version}_all.deb"; - sha256 = "1d1x60m6kh9wfh9lc22g5s0j40aivwgsczykk27ymwl1pvk58dxn"; + url = "https://launchpad.net/ubuntu/+archive/primary/+files/molly-guard_${version}_all.deb"; + sha256 = "1k6b1hn8lc4rj9n036imsl7s9lqj6ny3acdhnbnamsdkkndmxrw7"; }; buildInputs = [ dpkg ]; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Attempts to prevent you from accidentally shutting down or rebooting machines"; - homepage = https://anonscm.debian.org/git/collab-maint/molly-guard.git/; + homepage = https://salsa.debian.org/debian/molly-guard; license = licenses.artistic2; platforms = platforms.linux; maintainers = with maintainers; [ DerTim1 ]; diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix index afe07a5c4db..9a76e5873d4 100644 --- a/pkgs/os-specific/linux/multipath-tools/default.nix +++ b/pkgs/os-specific/linux/multipath-tools/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "multipath-tools"; - version = "0.8.2"; + version = "0.8.3"; src = fetchurl { name = "${pname}-${version}.tar.gz"; url = "https://git.opensvc.com/gitweb.cgi?p=multipath-tools/.git;a=snapshot;h=refs/tags/${version};sf=tgz"; - sha256 = "0x6cjlb9mjrmpaqk5v6v47qz6n9zyqmw13i7pq5x6ppwyqdxhn5s"; + sha256 = "1mgjylklh1cx8px8ffgl12kyc0ln3445vbabd2sy8chq31rpiiq8"; }; postPatch = '' @@ -27,10 +27,10 @@ stdenv.mkDerivation rec { makeFlags = [ "LIB=lib" "prefix=$(out)" - "mandir=$(out)/share/man/man8" + "man8dir=$(out)/share/man/man8" "man5dir=$(out)/share/man/man5" "man3dir=$(out)/share/man/man3" - "unitdir=$(out)/lib/systemd/system" + "SYSTEMDPATH=lib" ]; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index 91e1ae36f70..93e9ba614f8 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -29,11 +29,11 @@ let in stdenv.mkDerivation rec { pname = "musl"; - version = "1.1.22"; + version = "1.1.24"; src = fetchurl { url = "https://www.musl-libc.org/releases/${pname}-${version}.tar.gz"; - sha256 = "1qr9xqdzziy5bsyyqlh6k8yz056ll55d5yvc0gbhz61ginj422cb"; + sha256 = "18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k"; }; enableParallelBuilding = true; @@ -110,11 +110,11 @@ stdenv.mkDerivation rec { passthru.linuxHeaders = linuxHeaders; - meta = { + meta = with lib; { description = "An efficient, small, quality libc implementation"; homepage = "http://www.musl-libc.org"; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.thoughtpolice ]; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice dtzWill ]; }; } diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 3f53c0f5817..74363be47f4 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers -, python3, buildPackages +, python3, buildPackages, nixosTests }: let @@ -39,6 +39,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-gss" + "--enable-svcgss" "--with-statedir=/var/lib/nfs" "--with-krb5=${lib.getLib kerberos}" "--with-systemd=${placeholder "out"}/etc/systemd/system" @@ -104,6 +105,12 @@ stdenv.mkDerivation rec { disallowedReferences = [ (lib.getDev kerberos) ]; + passthru.tests = { + nfs3-simple = nixosTests.nfs3.simple; + nfs4-simple = nixosTests.nfs4.simple; + nfs4-kerberos = nixosTests.nfs4.kerberos; + }; + meta = with stdenv.lib; { description = "Linux user-space NFS utilities"; diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix index 9b4f2f1c544..34f899977d1 100644 --- a/pkgs/os-specific/linux/nftables/default.nix +++ b/pkgs/os-specific/linux/nftables/default.nix @@ -1,31 +1,44 @@ -{ stdenv, fetchurl, pkgconfig, bison, flex +{ stdenv, fetchurl, pkgconfig, bison, file, flex +, asciidoc, libxslt, findXMLCatalogs, docbook_xml_dtd_45, docbook_xsl , libmnl, libnftnl, libpcap , gmp, jansson, readline +, withDebugSymbols ? false +, withPython ? false , python3 , withXtables ? false , iptables }: with stdenv.lib; stdenv.mkDerivation rec { - version = "0.9.2"; + version = "0.9.3"; pname = "nftables"; src = fetchurl { url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2"; - sha256 = "1x8kalbggjq44j4916i6vyv1rb20dlh1dcsf9xvzqsry2j063djw"; + sha256 = "0y6vbqp6x8w165q65h4n9sba1406gaz0d4744gqszbm7w9f92swm"; }; - configureFlags = [ - "--disable-man-doc" - "--with-json" - ] ++ optional withXtables "--with-xtables"; - - nativeBuildInputs = [ pkgconfig bison flex ]; + nativeBuildInputs = [ + pkgconfig bison file flex + asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt + ]; buildInputs = [ libmnl libnftnl libpcap - gmp readline jansson - ] ++ optional withXtables iptables; + gmp jansson readline + ] ++ optional withXtables iptables + ++ optional withPython python3; + + preConfigure = '' + substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file + ''; + + configureFlags = [ + "--with-json" + ] ++ optional (!withDebugSymbols) "--disable-debug" + ++ optional (!withPython) "--disable-python" + ++ optional withPython "--enable-python" + ++ optional withXtables "--with-xtables"; meta = { description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework"; diff --git a/pkgs/os-specific/linux/nmon/default.nix b/pkgs/os-specific/linux/nmon/default.nix index cb6dd4ab946..9de18401d7b 100644 --- a/pkgs/os-specific/linux/nmon/default.nix +++ b/pkgs/os-specific/linux/nmon/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "nmon"; - version = "16k"; + version = "16m"; src = fetchurl { url = "mirror://sourceforge/nmon/lmon${version}.c"; - sha256 = "17nbxrnl7kqiaaxn2hwyi65gphbl3wybbyp9vri2q5ifdis3ssib"; + sha256 = "1hazgrq3m01dzv05639yis1mypcp0jf167n9gqwd3wgxzm2lvv9b"; }; buildInputs = [ ncurses ]; diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index 2b1b37db344..b4c6952d44d 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -59,15 +59,24 @@ installPhase() { mv $i/lib/libvdpau* $i/lib/vdpau # Install ICDs, make absolute paths. + # Be careful not to modify any original files because this runs twice. + + # OpenCL sed -E "s#(libnvidia-opencl)#$i/lib/\\1#" nvidia.icd > nvidia.icd.fixed install -Dm644 nvidia.icd.fixed $i/etc/OpenCL/vendors/nvidia.icd - if [ -e nvidia_icd.json.template ]; then - # template patching for version < 435 - sed "s#__NV_VK_ICD__#$i/lib/libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json - fi - if [ -e nvidia_icd.json ]; then - install -Dm644 nvidia_icd.json $i/share/vulkan/icd.d/nvidia.json + + # Vulkan + if [ -e nvidia_icd.json.template ] || [ -e nvidia_icd.json ]; then + if [ -e nvidia_icd.json.template ]; then + # template patching for version < 435 + sed "s#__NV_VK_ICD__#$i/lib/libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json.fixed + 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 fi + + # EGL if [ "$useGLVND" = "1" ]; then sed -E "s#(libEGL_nvidia)#$i/lib/\\1#" 10_nvidia.json > 10_nvidia.json.fixed install -Dm644 10_nvidia.json.fixed $i/share/glvnd/egl_vendor.d/nvidia.json diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index c41ce5994a1..f5aad76b0b4 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -20,37 +20,25 @@ if ((!lib.versionOlder args.version "391") in rec { # Policy: use the highest stable version as the default (on our master). - stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_43x else legacy_390; + stable = if stdenv.hostPlatform.system == "x86_64-linux" + then generic { + version = "440.44"; + sha256_64bit = "057wq9p2vl87gy61f079b6d7clw2vhw3kq7rj411brhrnvr7shmd"; + settingsSha256 = "1hr1n78c92zksnnryrcz4b8kxvi6kz4yp801ks85hq4a3rryj4vg"; + persistencedSha256 = "050znx2scm7x3r7czsz77ddjh4bs18hdd3k3shwpi3zflkmnhnvj"; + } + else legacy_390; # No active beta right now beta = stable; - stable_43x = generic { - version = "435.21"; - sha256_64bit = "0v3pq677ab01qdmwl5dawk8hn39qlwj05p8s9qzh9irmrlnc1izs"; - settingsSha256 = "1p13cz79kncwx5067a3d7dbz6a1ibp611zynp1qdxpa65hwp2pxa"; - persistencedSha256 = "0br8znxhz2ryzdj0j4jhqzvdgw9h899q8yz0p9429xz4wxkavgdr"; - }; - # Last one supporting x86 legacy_390 = generic { - version = "390.129"; - sha256_32bit = "0dkgkp0zx40hf1fsq5xnvbschp7r3c1x1pnpdxna24pi4s62cm2q"; - sha256_64bit = "0h0jcckqpd63vaj95lvdgj2sbbn9y1ri1xx7r2snxfx0plhwz46n"; - settingsSha256 = "1w5nkxs7a40mq0qf97nhfazdqhfn1bvr54v50s8p0ggixb6vdm3l"; - persistencedSha256 = "02v76202qcnh8hvg4y9wmk9swdlv7z39ppfd1c850nlv158vn5nf"; - - patches = [ - (fetchurl { - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-4.16.patch?h=2ad07241ea525a6b6b555b6cb96a97634a4b2cb0"; - sha256 = "11b3dp0na496rn13v5q4k66bf61174800g36rcwj42r0xj9cfak2"; - }) - - (fetchurl { - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel-5.1.patch?h=42d50ef8d6048608d18bdf2c296dd335260c5a1a"; - sha256 = "03v46ym2bcckg9q2xrilkg21hfiwypr6gl4jmly2q3m4yza9ja6r"; - }) - ]; + version = "390.132"; + sha256_32bit = "0xgjywzkmmm6a5gby67l2kx0gn7bcxksv4wam0sqym6l1s7v5bai"; + sha256_64bit = "0qgzsajrc3xkf2jjkwip3la0f2ixp45f76nmz5cphvzrb7k2slxn"; + settingsSha256 = "07nylqzhldq1gr40q7x5424p2aml3qqnvl2zvnpzc65x2way34v6"; + persistencedSha256 = "0vab5rj9b1n9yl9674q7i88w1i5p8nhvrwsayn7i1vh4wp3m840r"; }; legacy_340 = generic { diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index 101f61f3020..533a74fcffd 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -50,6 +50,7 @@ stdenv.mkDerivation { buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ] ++ lib.optionals withGtk3 [ gtk3 librsvg wrapGAppsHook ]; + enableParallelBuilding = true; makeFlags = [ "NV_USE_BUNDLED_LIBJANSSON=0" ]; installFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix index 4040d70260c..66185de03a1 100644 --- a/pkgs/os-specific/linux/odp-dpdk/default.nix +++ b/pkgs/os-specific/linux/odp-dpdk/default.nix @@ -1,34 +1,58 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig -, dpdk, libconfig, libpcap, numactl, openssl -}: +, dpdk, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson +}: let + dpdk_18_11 = dpdk.overrideAttrs (old: rec { + version = "18.11.5"; + src = fetchurl { + url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz"; + sha256 = "1n6nfaj7703l19jcw540lm8avni48hj9q1rq4mfp8b8gd4zjprj0"; + }; + }); -stdenv.mkDerivation rec { +in stdenv.mkDerivation rec { pname = "odp-dpdk"; - version = "1.19.0.0_DPDK_17.11"; + version = "1.22.0.0_DPDK_18.11"; src = fetchurl { url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz"; - sha256 = "05bwjaxl9hqc6fbkp95nniq11g3kvzmlxw0bq55i7p2v35nv38px"; + sha256 = "1m8xhmfjqlj2gkkigq5ka3yh0xgzrcpfpaxp1pnh8d1g99094vbx"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ dpdk libconfig libpcap numactl openssl ]; + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + buildInputs = [ + dpdk_18_11 + libconfig + libpcap + numactl + openssl + zlib + libbsd + libelf + jansson + ]; - RTE_SDK = "${dpdk}/share/dpdk"; - RTE_TARGET = "x86_64-native-linuxapp-gcc"; + # for some reason, /build/odp-dpdk-1.22.0.0_DPDK_18.11/lib/.libs ends up in all binaries, + # while it should be $out/lib instead. + # prepend rpath with the proper location, the /build will get removed during rpath shrinking + preFixup = '' + for prog in $out/bin/*; do + patchelf --set-rpath $out/lib:`patchelf --print-rpath $prog` $prog + done + ''; - dontDisableStatic = true; + # binaries will segfault otherwise + dontStrip = true; - configureFlags = [ - "--disable-shared" - "--with-dpdk-path=${dpdk}" - ]; + enableParallelBuilding = true; meta = with stdenv.lib; { description = "Open Data Plane optimized for DPDK"; homepage = https://www.opendataplane.org; license = licenses.bsd3; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; maintainers = [ maintainers.abuibrahim ]; }; } diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix index 274e960a89b..34e2591d44a 100644 --- a/pkgs/os-specific/linux/open-iscsi/default.nix +++ b/pkgs/os-specific/linux/open-iscsi/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { pname = "open-iscsi"; - version = "2.0.877"; + version = "2.1.0"; nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ]; buildInputs = [ kmod openisns.lib openssl systemd utillinux ]; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { owner = "open-iscsi"; repo = "open-iscsi"; rev = version; - sha256 = "0v3dsrl34pdx0yl5jsanrpgg3vw466rl8k81hkshgq3a5mq5qhf6"; + sha256 = "0z7rnbfa48j3r4ij7335xgjfb835gnnp10v7q6lvwg7bq6v5xvih"; }; DESTDIR = "$(out)"; @@ -30,6 +30,10 @@ stdenv.mkDerivation rec { $out/sbin/iscsistart -v ''; + postFixup = '' + sed -i "s|/sbin/iscsiadm|$out/bin/iscsiadm|" $out/bin/iscsi_fw_login + ''; + meta = with stdenv.lib; { description = "A high performance, transport independent, multi-platform implementation of RFC3720"; license = licenses.gpl2; diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix index 355108f56e4..a6bf67db098 100644 --- a/pkgs/os-specific/linux/openrazer/driver.nix +++ b/pkgs/os-specific/linux/openrazer/driver.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation (common // { nativeBuildInputs = kernel.moduleBuildDependencies; buildFlags = [ - "KERNELDIR=${kernel.dev}/lib/modules/${kernel.version}/build" + "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; installPhase = '' diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix index bf26b9e2b28..53fc986d9f6 100644 --- a/pkgs/os-specific/linux/openvswitch/default.nix +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -1,24 +1,25 @@ { stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which -, procps, libcap_ng, openssl, python27 , perl +, procps, libcap_ng, openssl, python3 , perl , kernel ? null }: with stdenv.lib; let _kernel = kernel; + pythonEnv = python3.withPackages (ps: with ps; [ six ]); in stdenv.mkDerivation rec { - version = "2.5.4"; + version = "2.12.0"; pname = "openvswitch"; src = fetchurl { - url = "http://openvswitch.org/releases/${pname}-${version}.tar.gz"; - sha256 = "1lji87wg953lqcdf02f1zv2m54vhd2x9jd03bb91lnlb4qlhifiv"; + url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz"; + sha256 = "1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k"; }; kernel = optional (_kernel != null) _kernel.dev; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ makeWrapper utillinux openssl libcap_ng python27 + buildInputs = [ makeWrapper utillinux openssl libcap_ng pythonEnv perl procps which ]; configureFlags = [ @@ -36,27 +37,13 @@ in stdenv.mkDerivation rec { postBuild = '' # fix tests - substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python27.interpreter}' - substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python27.interpreter}' + substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${pythonEnv.interpreter}' + substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${pythonEnv.interpreter}' ''; enableParallelBuilding = true; doCheck = false; # bash-completion test fails with "compgen: command not found" - postInstall = '' - cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts - makeWrapper \ - $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - $out/bin/ovs-monitor-ipsec \ - --prefix PYTHONPATH : "$out/share/openvswitch/python" - substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])" - substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - --replace "self.psk_file" "root_prefix + self.psk_file" - substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - --replace "self.cert_dir" "root_prefix + self.cert_dir" - ''; - meta = with stdenv.lib; { platforms = platforms.linux; description = "A multilayer virtual switch"; @@ -71,7 +58,8 @@ in stdenv.mkDerivation rec { support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. ''; - homepage = http://openvswitch.org/; + homepage = https://www.openvswitch.org/; license = licenses.asl20; + maintainers = with maintainers; [ netixx kmcopper ]; }; } diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix new file mode 100644 index 00000000000..4f3f4c5c172 --- /dev/null +++ b/pkgs/os-specific/linux/openvswitch/lts.nix @@ -0,0 +1,82 @@ +{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which +, procps, libcap_ng, openssl, python2, iproute , perl +, automake, autoconf, libtool, kernel ? null }: + +with stdenv.lib; + +let + _kernel = kernel; +in stdenv.mkDerivation rec { + version = "2.5.9"; + pname = "openvswitch"; + + src = fetchurl { + url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz"; + sha256 = "0iv0ncwl6s4qyyb655yj5xvqrjr1zbymmab96q259wa09xnyw7b7"; + }; + + patches = [ ./patches/lts-ssl.patch ]; + + kernel = optional (_kernel != null) _kernel.dev; + + nativeBuildInputs = [ autoconf libtool automake pkgconfig ]; + buildInputs = [ makeWrapper utillinux openssl libcap_ng python2 + perl procps which ]; + + preConfigure = "./boot.sh"; + + configureFlags = [ + "--localstatedir=/var" + "--sharedstatedir=/var" + "--sbindir=$(out)/bin" + ] ++ (optionals (_kernel != null) ["--with-linux"]); + + # Leave /var out of this! + installFlags = [ + "LOGDIR=$(TMPDIR)/dummy" + "RUNDIR=$(TMPDIR)/dummy" + "PKIDIR=$(TMPDIR)/dummy" + ]; + + postBuild = '' + # fix tests + substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python2.interpreter}' + substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python2.interpreter}' + ''; + + enableParallelBuilding = true; + doCheck = false; # bash-completion test fails with "compgen: command not found" + + postInstall = '' + cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts + makeWrapper \ + $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + $out/bin/ovs-monitor-ipsec \ + --prefix PYTHONPATH : "$out/share/openvswitch/python" + substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])" + substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + --replace "self.psk_file" "root_prefix + self.psk_file" + substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + --replace "self.cert_dir" "root_prefix + self.cert_dir" + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + description = "A multilayer virtual switch"; + longDescription = + '' + Open vSwitch is a production quality, multilayer virtual switch + licensed under the open source Apache 2.0 license. It is + designed to enable massive network automation through + programmatic extension, while still supporting standard + management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, + RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to + support distribution across multiple physical servers similar + to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. + ''; + homepage = https://www.openvswitch.org/; + license = licenses.asl20; + maintainers = with maintainers; [ netixx kmcopper ]; + }; +} diff --git a/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch new file mode 100644 index 00000000000..0d8ff5b0d52 --- /dev/null +++ b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch @@ -0,0 +1,274 @@ +diff --git a/build-aux/automake.mk b/build-aux/automake.mk +new file mode 100644 +index 000000000..5d2657fd6 +--- /dev/null ++++ b/build-aux/automake.mk +@@ -0,0 +1,2 @@ ++EXTRA_DIST += \ ++ build-aux/generate-dhparams-c +diff --git a/build-aux/generate-dhparams-c b/build-aux/generate-dhparams-c +new file mode 100755 +index 000000000..bcd25e2d8 +--- /dev/null ++++ b/build-aux/generate-dhparams-c +@@ -0,0 +1,33 @@ ++#! /bin/sh -e ++ ++cat <<'EOF' ++/* Generated automatically; do not modify! -*- buffer-read-only: t -*- ++ * ++ * If you do need to regenerate this file, run "make generate-dhparams-c". */ ++ ++#include <config.h> ++#include "lib/dhparams.h" ++#include "lib/util.h" ++ ++static int ++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g) ++{ ++ ovs_assert(q == NULL); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) ++ dh->p = p; ++ dh->g = g; ++ return 1; ++#else ++ return DH_set0_pqg(dh, p, NULL, g); ++#endif ++} ++EOF ++(openssl dhparam -C -in lib/dh1024.pem -noout && ++openssl dhparam -C -in lib/dh2048.pem -noout && ++openssl dhparam -C -in lib/dh4096.pem -noout) | sed ' ++ s/^static DH/DH/ ++ s/\(get_dh[0-9]*\)()/\1(void)/ ++ s/\(DH_set0_pqg\)/my_\1/ ++ s/[ ]*$// ++ s/ / /g ++' +diff --git a/lib/automake.mk b/lib/automake.mk +index 5387d519a..804a8b7d7 100644 +--- a/lib/automake.mk ++++ b/lib/automake.mk +@@ -399,15 +399,16 @@ lib_libopenvswitch_la_SOURCES += \ + lib/route-table-bsd.c + endif + ++.PHONY: generate-dhparams-c + if HAVE_OPENSSL +-lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c +-nodist_lib_libopenvswitch_la_SOURCES += lib/dhparams.c +-lib/dhparams.c: lib/dh1024.pem lib/dh2048.pem lib/dh4096.pem +- $(AM_V_GEN)(echo '#include "lib/dhparams.h"' && \ +- openssl dhparam -C -in $(srcdir)/lib/dh1024.pem -noout && \ +- openssl dhparam -C -in $(srcdir)/lib/dh2048.pem -noout && \ +- openssl dhparam -C -in $(srcdir)/lib/dh4096.pem -noout) \ +- | sed 's/\(get_dh[0-9]*\)()/\1(void)/' > lib/dhparams.c.tmp && \ ++lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c lib/dhparams.c ++ ++# Manually regenerates lib/dhparams.c. Not normally necessary since ++# lib/dhparams.c is part of the repository and doesn't normally need ++# updates. ++generate-dhparams-c: ++ $(AM_V_GEN)cd $(srcdir) && \ ++ build-aux/generate-dhparams-c > lib/dhparams.c.tmp && \ + mv lib/dhparams.c.tmp lib/dhparams.c + else + lib_libopenvswitch_la_SOURCES += lib/stream-nossl.c +diff --git a/lib/dhparams.c b/lib/dhparams.c +new file mode 100644 +index 000000000..4e42efad2 +--- /dev/null ++++ b/lib/dhparams.c +@@ -0,0 +1,192 @@ ++/* Generated automatically; do not modify! -*- buffer-read-only: t -*- ++ * ++ * If you do need to regenerate this file, run "make generate-dhparams-c". */ ++ ++#include <config.h> ++#include "lib/dhparams.h" ++#include "lib/util.h" ++ ++static int ++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g) ++{ ++ ovs_assert(q == NULL); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) ++ dh->p = p; ++ dh->g = g; ++ return 1; ++#else ++ return DH_set0_pqg(dh, p, NULL, g); ++#endif ++} ++#ifndef HEADER_DH_H ++# include <openssl/dh.h> ++#endif ++ ++DH *get_dh1024(void) ++{ ++ static unsigned char dhp_1024[] = { ++ 0xF4, 0x88, 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, ++ 0x9D, 0xE4, 0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D, ++ 0x45, 0x1D, 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D, ++ 0x8E, 0xF6, 0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, ++ 0x18, 0x8D, 0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3, ++ 0x34, 0xFD, 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, ++ 0xDE, 0x33, 0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, ++ 0x29, 0x40, 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72, ++ 0xD6, 0x86, 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, ++ 0x95, 0x0C, 0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B, ++ 0x02, 0x46, 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F, ++ 0x9C, 0x7C, 0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, ++ 0xA2, 0x5E, 0xC3, 0x55, 0xE9, 0x2F, 0x78, 0xC7 ++ }; ++ static unsigned char dhg_1024[] = { ++ 0x02 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_1024, sizeof (dhp_1024), NULL); ++ dhg_bn = BN_bin2bn(dhg_1024, sizeof (dhg_1024), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} ++#ifndef HEADER_DH_H ++# include <openssl/dh.h> ++#endif ++ ++DH *get_dh2048(void) ++{ ++ static unsigned char dhp_2048[] = { ++ 0xF6, 0x42, 0x57, 0xB7, 0x08, 0x7F, 0x08, 0x17, 0x72, 0xA2, ++ 0xBA, 0xD6, 0xA9, 0x42, 0xF3, 0x05, 0xE8, 0xF9, 0x53, 0x11, ++ 0x39, 0x4F, 0xB6, 0xF1, 0x6E, 0xB9, 0x4B, 0x38, 0x20, 0xDA, ++ 0x01, 0xA7, 0x56, 0xA3, 0x14, 0xE9, 0x8F, 0x40, 0x55, 0xF3, ++ 0xD0, 0x07, 0xC6, 0xCB, 0x43, 0xA9, 0x94, 0xAD, 0xF7, 0x4C, ++ 0x64, 0x86, 0x49, 0xF8, 0x0C, 0x83, 0xBD, 0x65, 0xE9, 0x17, ++ 0xD4, 0xA1, 0xD3, 0x50, 0xF8, 0xF5, 0x59, 0x5F, 0xDC, 0x76, ++ 0x52, 0x4F, 0x3D, 0x3D, 0x8D, 0xDB, 0xCE, 0x99, 0xE1, 0x57, ++ 0x92, 0x59, 0xCD, 0xFD, 0xB8, 0xAE, 0x74, 0x4F, 0xC5, 0xFC, ++ 0x76, 0xBC, 0x83, 0xC5, 0x47, 0x30, 0x61, 0xCE, 0x7C, 0xC9, ++ 0x66, 0xFF, 0x15, 0xF9, 0xBB, 0xFD, 0x91, 0x5E, 0xC7, 0x01, ++ 0xAA, 0xD3, 0x5B, 0x9E, 0x8D, 0xA0, 0xA5, 0x72, 0x3A, 0xD4, ++ 0x1A, 0xF0, 0xBF, 0x46, 0x00, 0x58, 0x2B, 0xE5, 0xF4, 0x88, ++ 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, 0x9D, 0xE4, ++ 0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D, 0x45, 0x1D, ++ 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D, 0x8E, 0xF6, ++ 0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, 0x18, 0x8D, ++ 0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3, 0x34, 0xFD, ++ 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, 0xDE, 0x33, ++ 0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, 0x29, 0x40, ++ 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72, 0xD6, 0x86, ++ 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, 0x95, 0x0C, ++ 0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B, 0x02, 0x46, ++ 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F, 0x9C, 0x7C, ++ 0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, 0xA2, 0x5E, ++ 0xC3, 0x55, 0xE9, 0x32, 0x0B, 0x3B ++ }; ++ static unsigned char dhg_2048[] = { ++ 0x02 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} ++#ifndef HEADER_DH_H ++# include <openssl/dh.h> ++#endif ++ ++DH *get_dh4096(void) ++{ ++ static unsigned char dhp_4096[] = { ++ 0xFA, 0x14, 0x72, 0x52, 0xC1, 0x4D, 0xE1, 0x5A, 0x49, 0xD4, ++ 0xEF, 0x09, 0x2D, 0xC0, 0xA8, 0xFD, 0x55, 0xAB, 0xD7, 0xD9, ++ 0x37, 0x04, 0x28, 0x09, 0xE2, 0xE9, 0x3E, 0x77, 0xE2, 0xA1, ++ 0x7A, 0x18, 0xDD, 0x46, 0xA3, 0x43, 0x37, 0x23, 0x90, 0x97, ++ 0xF3, 0x0E, 0xC9, 0x03, 0x50, 0x7D, 0x65, 0xCF, 0x78, 0x62, ++ 0xA6, 0x3A, 0x62, 0x22, 0x83, 0xA1, 0x2F, 0xFE, 0x79, 0xBA, ++ 0x35, 0xFF, 0x59, 0xD8, 0x1D, 0x61, 0xDD, 0x1E, 0x21, 0x13, ++ 0x17, 0xFE, 0xCD, 0x38, 0x87, 0x9E, 0xF5, 0x4F, 0x79, 0x10, ++ 0x61, 0x8D, 0xD4, 0x22, 0xF3, 0x5A, 0xED, 0x5D, 0xEA, 0x21, ++ 0xE9, 0x33, 0x6B, 0x48, 0x12, 0x0A, 0x20, 0x77, 0xD4, 0x25, ++ 0x60, 0x61, 0xDE, 0xF6, 0xB4, 0x4F, 0x1C, 0x63, 0x40, 0x8B, ++ 0x3A, 0x21, 0x93, 0x8B, 0x79, 0x53, 0x51, 0x2C, 0xCA, 0xB3, ++ 0x7B, 0x29, 0x56, 0xA8, 0xC7, 0xF8, 0xF4, 0x7B, 0x08, 0x5E, ++ 0xA6, 0xDC, 0xA2, 0x45, 0x12, 0x56, 0xDD, 0x41, 0x92, 0xF2, ++ 0xDD, 0x5B, 0x8F, 0x23, 0xF0, 0xF3, 0xEF, 0xE4, 0x3B, 0x0A, ++ 0x44, 0xDD, 0xED, 0x96, 0x84, 0xF1, 0xA8, 0x32, 0x46, 0xA3, ++ 0xDB, 0x4A, 0xBE, 0x3D, 0x45, 0xBA, 0x4E, 0xF8, 0x03, 0xE5, ++ 0xDD, 0x6B, 0x59, 0x0D, 0x84, 0x1E, 0xCA, 0x16, 0x5A, 0x8C, ++ 0xC8, 0xDF, 0x7C, 0x54, 0x44, 0xC4, 0x27, 0xA7, 0x3B, 0x2A, ++ 0x97, 0xCE, 0xA3, 0x7D, 0x26, 0x9C, 0xAD, 0xF4, 0xC2, 0xAC, ++ 0x37, 0x4B, 0xC3, 0xAD, 0x68, 0x84, 0x7F, 0x99, 0xA6, 0x17, ++ 0xEF, 0x6B, 0x46, 0x3A, 0x7A, 0x36, 0x7A, 0x11, 0x43, 0x92, ++ 0xAD, 0xE9, 0x9C, 0xFB, 0x44, 0x6C, 0x3D, 0x82, 0x49, 0xCC, ++ 0x5C, 0x6A, 0x52, 0x42, 0xF8, 0x42, 0xFB, 0x44, 0xF9, 0x39, ++ 0x73, 0xFB, 0x60, 0x79, 0x3B, 0xC2, 0x9E, 0x0B, 0xDC, 0xD4, ++ 0xA6, 0x67, 0xF7, 0x66, 0x3F, 0xFC, 0x42, 0x3B, 0x1B, 0xDB, ++ 0x4F, 0x66, 0xDC, 0xA5, 0x8F, 0x66, 0xF9, 0xEA, 0xC1, 0xED, ++ 0x31, 0xFB, 0x48, 0xA1, 0x82, 0x7D, 0xF8, 0xE0, 0xCC, 0xB1, ++ 0xC7, 0x03, 0xE4, 0xF8, 0xB3, 0xFE, 0xB7, 0xA3, 0x13, 0x73, ++ 0xA6, 0x7B, 0xC1, 0x0E, 0x39, 0xC7, 0x94, 0x48, 0x26, 0x00, ++ 0x85, 0x79, 0xFC, 0x6F, 0x7A, 0xAF, 0xC5, 0x52, 0x35, 0x75, ++ 0xD7, 0x75, 0xA4, 0x40, 0xFA, 0x14, 0x74, 0x61, 0x16, 0xF2, ++ 0xEB, 0x67, 0x11, 0x6F, 0x04, 0x43, 0x3D, 0x11, 0x14, 0x4C, ++ 0xA7, 0x94, 0x2A, 0x39, 0xA1, 0xC9, 0x90, 0xCF, 0x83, 0xC6, ++ 0xFF, 0x02, 0x8F, 0xA3, 0x2A, 0xAC, 0x26, 0xDF, 0x0B, 0x8B, ++ 0xBE, 0x64, 0x4A, 0xF1, 0xA1, 0xDC, 0xEE, 0xBA, 0xC8, 0x03, ++ 0x82, 0xF6, 0x62, 0x2C, 0x5D, 0xB6, 0xBB, 0x13, 0x19, 0x6E, ++ 0x86, 0xC5, 0x5B, 0x2B, 0x5E, 0x3A, 0xF3, 0xB3, 0x28, 0x6B, ++ 0x70, 0x71, 0x3A, 0x8E, 0xFF, 0x5C, 0x15, 0xE6, 0x02, 0xA4, ++ 0xCE, 0xED, 0x59, 0x56, 0xCC, 0x15, 0x51, 0x07, 0x79, 0x1A, ++ 0x0F, 0x25, 0x26, 0x27, 0x30, 0xA9, 0x15, 0xB2, 0xC8, 0xD4, ++ 0x5C, 0xCC, 0x30, 0xE8, 0x1B, 0xD8, 0xD5, 0x0F, 0x19, 0xA8, ++ 0x80, 0xA4, 0xC7, 0x01, 0xAA, 0x8B, 0xBA, 0x53, 0xBB, 0x47, ++ 0xC2, 0x1F, 0x6B, 0x54, 0xB0, 0x17, 0x60, 0xED, 0x79, 0x21, ++ 0x95, 0xB6, 0x05, 0x84, 0x37, 0xC8, 0x03, 0xA4, 0xDD, 0xD1, ++ 0x06, 0x69, 0x8F, 0x4C, 0x39, 0xE0, 0xC8, 0x5D, 0x83, 0x1D, ++ 0xBE, 0x6A, 0x9A, 0x99, 0xF3, 0x9F, 0x0B, 0x45, 0x29, 0xD4, ++ 0xCB, 0x29, 0x66, 0xEE, 0x1E, 0x7E, 0x3D, 0xD7, 0x13, 0x4E, ++ 0xDB, 0x90, 0x90, 0x58, 0xCB, 0x5E, 0x9B, 0xCD, 0x2E, 0x2B, ++ 0x0F, 0xA9, 0x4E, 0x78, 0xAC, 0x05, 0x11, 0x7F, 0xE3, 0x9E, ++ 0x27, 0xD4, 0x99, 0xE1, 0xB9, 0xBD, 0x78, 0xE1, 0x84, 0x41, ++ 0xA0, 0xDF ++ }; ++ static unsigned char dhg_4096[] = { ++ 0x02 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_4096, sizeof (dhp_4096), NULL); ++ dhg_bn = BN_bin2bn(dhg_4096, sizeof (dhg_4096), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} diff --git a/pkgs/os-specific/linux/pagemon/default.nix b/pkgs/os-specific/linux/pagemon/default.nix index 5d7357cb838..772ef56cde2 100644 --- a/pkgs/os-specific/linux/pagemon/default.nix +++ b/pkgs/os-specific/linux/pagemon/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "pagemon"; - version = "0.01.16"; + version = "0.01.17"; src = fetchFromGitHub { - sha256 = "0fpxjw6sg6r9r7yy03brri37wmmc32rhzayzlmwgmzay8rifmm7i"; + sha256 = "11r84nwjvnjyxc3jqhbvlgb89ajfj7v8212mz61dq5ilq5k7xa3d"; rev = "V${version}"; repo = "pagemon"; owner = "ColinIanKing"; diff --git a/pkgs/os-specific/linux/pam_ccreds/default.nix b/pkgs/os-specific/linux/pam_ccreds/default.nix index 8293ac0a830..012750c22ad 100644 --- a/pkgs/os-specific/linux/pam_ccreds/default.nix +++ b/pkgs/os-specific/linux/pam_ccreds/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, pam, openssl, db}: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "pam_ccreds-10"; src = fetchurl { - url = "http://www.padl.com/download/pam_ccreds.tgz"; + url = "https://www.padl.com/download/${name}.tar.gz"; sha256 = "1h7zyg1b1h69civyvrj95w22dg0y7lgw3hq4gqkdcg35w1y76fhz"; }; patchPhase = '' @@ -14,7 +14,7 @@ stdenv.mkDerivation { buildInputs = [ pam openssl db ]; meta = with stdenv.lib; { - homepage = http://www.padl.com/OSS/pam_ccreds.html; + homepage = https://www.padl.com/OSS/pam_ccreds.html; description = "PAM module to locally authenticate using an enterprise identity when the network is unavailable"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/pam_ldap/default.nix b/pkgs/os-specific/linux/pam_ldap/default.nix index 5b34a8bc82b..2b3a300ecca 100644 --- a/pkgs/os-specific/linux/pam_ldap/default.nix +++ b/pkgs/os-specific/linux/pam_ldap/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "pam_ldap-186"; src = fetchurl { - url = "http://www.padl.com/download/${name}.tar.gz"; + url = "https://www.padl.com/download/${name}.tar.gz"; sha256 = "0lv4f7hc02jrd2l3gqxd247qq62z11sp3fafn8lgb8ymb7aj5zn8"; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ pam openldap ]; meta = { - homepage = http://www.padl.com/OSS/pam_ldap.html; + homepage = https://www.padl.com/OSS/pam_ldap.html; description = "LDAP backend for PAM"; longDescription = '' The pam_ldap module provides the means for Solaris and Linux servers and diff --git a/pkgs/os-specific/linux/piper/default.nix b/pkgs/os-specific/linux/piper/default.nix index e177b284bbd..1229c442fa2 100644 --- a/pkgs/os-specific/linux/piper/default.nix +++ b/pkgs/os-specific/linux/piper/default.nix @@ -4,7 +4,7 @@ python3.pkgs.buildPythonApplication rec { pname = "piper"; - version = "0.2.903"; + version = "0.3"; format = "other"; @@ -12,12 +12,16 @@ python3.pkgs.buildPythonApplication rec { owner = "libratbag"; repo = "piper"; rev = version; - sha256 = "0zh4lm074x5gwvx663bapdyv8lf84yjwfg8cpf77rszyja1hx13a"; + sha256 = "1vz7blhx6qsfrk5znwr0fj1k8vahnlaz6rn7ifcgxmq398mmz8z7"; }; nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ]; - buildInputs = [ gtk3 glib gnome3.adwaita-icon-theme python3 ]; - propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ]; + buildInputs = [ + gtk3 glib gnome3.adwaita-icon-theme python3 + ]; + propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ] ++ [ + gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now + ]; postPatch = '' chmod +x meson_install.sh # patchShebangs requires executable file diff --git a/pkgs/os-specific/linux/pktgen/configure.patch b/pkgs/os-specific/linux/pktgen/configure.patch new file mode 100644 index 00000000000..b4933313a51 --- /dev/null +++ b/pkgs/os-specific/linux/pktgen/configure.patch @@ -0,0 +1,17 @@ +1. librte_process_info does not exist. +2. lua5.3 library is liblua. +3. app/meson.build uses undeclared drivers_install_subdir. +--- a/lib/common/meson.build ++++ b/lib/common/meson.build +@@ -34,1 +34,1 @@ +-libs = ['eal', 'kvargs', 'cmdline', 'process_info'] ++libs = ['eal', 'kvargs', 'cmdline'] +--- a/lib/lua/meson.build ++++ b/lib/lua/meson.build +@@ -31 +31 @@ endforeach +-ext_deps += cc.find_library('lua5.3', required: true) ++ext_deps += cc.find_library('lua', required: true) +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -0,0 +1,1 @@ ++option('drivers_install_subdir', type: 'string', value: '') diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix index 0d92c7c6909..171e5d3b43a 100644 --- a/pkgs/os-specific/linux/pktgen/default.nix +++ b/pkgs/os-specific/linux/pktgen/default.nix @@ -1,59 +1,40 @@ -{ stdenv, lib, fetchurl, pkgconfig -, dpdk, libpcap, numactl, utillinux -, gtk2, withGtk ? false +{ stdenv, lib, fetchurl, meson, ninja, pkgconfig +, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux +, gtk2, which, withGtk ? false }: -let - - # pktgen needs a specific version of lua to apply its patch (see lib/lua/Makefile). - lua = rec { - name = "lua-5.3.4"; - basename = name + ".tar.gz"; - src = fetchurl { - url = "https://www.lua.org/ftp/${basename}"; - sha256 = "0320a8dg3aci4hxla380dx1ifkw8gj4gbw5c4dz41g1kh98sm0gn"; - }; - }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "pktgen"; - version = "3.5.0"; + version = "19.12.0"; src = fetchurl { - url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.xz"; - sha256 = "1gy99jr9dbwzi9pd3w5k673h3pfnbkz6rbzmrkwcyis72pnphy5z"; + url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/${pname}-${version}.tar.xz"; + sha256 = "1clfviz1qa4hysslcg6i29vsxwl9f6j1y7zf9wwx9br3yq08x956"; }; - nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ]; + nativeBuildInputs = [ meson ninja pkgconfig ]; buildInputs = - [ dpdk libpcap numactl ] + [ dpdk libbsd libpcap lua5_3 numactl which ] ++ stdenv.lib.optionals withGtk [gtk2]; - RTE_SDK = "${dpdk}/share/dpdk"; - RTE_TARGET = "x86_64-native-linuxapp-gcc"; + RTE_SDK = dpdk; GUI = stdenv.lib.optionalString withGtk "true"; NIX_CFLAGS_COMPILE = [ "-msse3" ]; - postPatch = let dpdkMajor = lib.versions.major dpdk.version; in '' - substituteInPlace app/Makefile --replace 'yy :=' 'yy := ${dpdkMajor} #' - substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu + patches = [ ./configure.patch ]; - ln -s ${lua.src} lib/lua/${lua.basename} - make -C lib/lua get_tarball # unpack and patch - substituteInPlace lib/lua/${lua.name}/src/luaconf.h --replace /usr/local $out + postPatch = '' + substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu ''; - installPhase = '' - install -d $out/bin - install -m 0755 app/${RTE_TARGET}/pktgen $out/bin - install -d $out/lib/lua/5.3 - install -m 0644 Pktgen.lua $out/lib/lua/5.3 + postInstall = '' + # meson installs unneeded files with conflicting generic names, such as + # include/cli.h and lib/liblua.so. + rm -rf $out/include $out/lib ''; - enableParallelBuilding = true; - meta = with stdenv.lib; { description = "Traffic generator powered by DPDK"; homepage = http://dpdk.org/; diff --git a/pkgs/os-specific/linux/ply/default.nix b/pkgs/os-specific/linux/ply/default.nix index 24213cd2fb5..42739e53fda 100644 --- a/pkgs/os-specific/linux/ply/default.nix +++ b/pkgs/os-specific/linux/ply/default.nix @@ -1,4 +1,4 @@ -{ stdenv, kernel, fetchFromGitHub, autoreconfHook, yacc, flex, p7zip }: +{ stdenv, kernel, fetchFromGitHub, autoreconfHook, yacc, flex, p7zip, rsync }: assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "4.0"; @@ -7,7 +7,7 @@ let in stdenv.mkDerivation { pname = "ply"; inherit version; - nativeBuildInputs = [ autoreconfHook flex yacc p7zip ]; + nativeBuildInputs = [ autoreconfHook flex yacc p7zip rsync ]; src = fetchFromGitHub { owner = "iovisor"; diff --git a/pkgs/os-specific/linux/power-calibrate/default.nix b/pkgs/os-specific/linux/power-calibrate/default.nix new file mode 100644 index 00000000000..75c6f1716fc --- /dev/null +++ b/pkgs/os-specific/linux/power-calibrate/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, fetchurl }: + +stdenv.mkDerivation rec { + pname = "power-calibrate"; + version = "0.01.28"; + + src = fetchurl { + url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz"; + sha256 = "1miyjs0vngzfdlsxhn5gndcalzkh28grg4m6faivvp1c6mjp794m"; + }; + + installFlags = [ + "BINDIR=${placeholder "out"}/bin" + "MANDIR=${placeholder "out"}/share/man/man8" + ]; + + meta = with lib; { + description = "Tool to calibrate power consumption"; + homepage = "https://kernel.ubuntu.com/~cking/power-calibrate/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index 78aa5abdf30..b5e44a10947 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -9,7 +9,7 @@ assert (!libsOnly) -> kernel != null; assert kernel != null -> stdenv.lib.versionOlder kernel.version "4.15"; let xorgFullVer = lib.getVersion xorg.xorgserver; - xorgVer = lib.concatStringsSep "." (lib.take 2 (lib.splitString "." xorgFullVer)); + xorgVer = lib.versions.majorMinor xorgFullVer; x64 = if stdenv.hostPlatform.system == "x86_64-linux" then true else if stdenv.hostPlatform.system == "i686-linux" then false else throw "Parallels Tools for Linux only support {x86-64,i686}-linux targets"; diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix index 0185d3022bc..d24f665cc7c 100644 --- a/pkgs/os-specific/linux/procdump/default.nix +++ b/pkgs/os-specific/linux/procdump/default.nix @@ -1,28 +1,19 @@ -{ stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }: +{ stdenv, fetchFromGitHub, bash, coreutils, gdb, zlib }: stdenv.mkDerivation rec { pname = "procdump"; - version = "1.0.1"; + version = "1.1"; src = fetchFromGitHub { owner = "Microsoft"; repo = "ProcDump-for-Linux"; rev = version; - sha256 = "1lkm05hq4hl1vadj9ifm18hi7cbf5045xlfxdfbrpsl6kxgfwcc4"; + sha256 = "1pcf6cpslpazla0na0q680dih9wb811q5irr7d2zmw0qmxm33jw2"; }; nativeBuildInputs = [ zlib ]; buildInputs = [ bash coreutils gdb ]; - patches = [ - # Fix name conflict when built with musl - # TODO: check if fixed upstream https://github.com/Microsoft/ProcDump-for-Linux/pull/50 - (fetchpatch { - url = "https://github.com/Microsoft/ProcDump-for-Linux/commit/1b7b50b910f20b463fb628c8213663c8a8d11d0d.patch"; - sha256 = "0h0dj3gi6hw1wdpc0ih9s4kkagv0d9jzrg602cr85r2z19lmb7yk"; - }) - ]; - postPatch = '' substituteInPlace src/CoreDumpWriter.c \ --replace '"gcore ' '"${gdb}/bin/gcore ' \ @@ -31,16 +22,26 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "DESTDIR=$(out)" + "DESTDIR=${placeholder "out"}" "INSTALLDIR=/bin" "MANDIR=/share/man/man1" ]; - doCheck = false; # needs root + doCheck = false; # needs sudo root + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + set +o pipefail + ($out/bin/procdump -h | grep "ProcDump v${version}") || + (echo "ERROR: ProcDump is not the expected version or does not run properly" ; exit 1) + set -o pipefail + runHook postInstallCheck + ''; meta = with stdenv.lib; { description = "A Linux version of the ProcDump Sysinternals tool"; - homepage = https://github.com/Microsoft/ProcDump-for-Linux; + homepage = "https://github.com/Microsoft/ProcDump-for-Linux"; license = licenses.mit; maintainers = with maintainers; [ c0bw3b ]; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix index 413b7d5dcbd..999df37706d 100644 --- a/pkgs/os-specific/linux/psmisc/default.nix +++ b/pkgs/os-specific/linux/psmisc/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "psmisc"; - version = "23.2"; + version = "23.3"; src = fetchFromGitLab { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "0d90wmibxpkl0d7sdibvvkwpyxyg6m6ksh5gwrjh15vf1swvd5i1"; + sha256 = "1132xvrldv0dar2mf221mv5kvajq0v6yrq8k3nl0wslnh5baa0r0"; }; nativeBuildInputs = [ autoconf automake gettext ]; diff --git a/pkgs/os-specific/linux/r8168/default.nix b/pkgs/os-specific/linux/r8168/default.nix index f2c87b97c4f..b3d8965704f 100644 --- a/pkgs/os-specific/linux/r8168/default.nix +++ b/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.046.00"; + version = "8.047.04"; # 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 = "0y8w3biw5mshn5bvl24b9rybfh67f1s9gfzkcv9p4m7s7nchj2dg"; + sha256 = "1rni8jimwdhyx75603mdcylrdxgfwfpyprf1lf5x5cli2i4bbijg"; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/radeontools/default.nix b/pkgs/os-specific/linux/radeontools/default.nix index 81e5a2af9cd..d2c3c11c939 100644 --- a/pkgs/os-specific/linux/radeontools/default.nix +++ b/pkgs/os-specific/linux/radeontools/default.nix @@ -1,33 +1,25 @@ -{ stdenv, fetchurl, pciutils }: +{ stdenv, fetchurl +, autoreconfHook +, pciutils +, pkgconfig +, xorg +}: -stdenv.mkDerivation { - name = "radeontool-1.5"; - - inherit pciutils; - - # Don't know wether it's a good idea to hardcode the lspci path.. - # But it will work on nix.. - postUnpack = '' - cd $sourceRoot - sed -i "s%lspci%$pciutils/sbin/lspci%g" radeontool.c - cd .. - ''; +stdenv.mkDerivation rec { + pname = "radeontool"; + version = "1.6.3"; src = fetchurl { - url = http://fdd.com/software/radeon/radeontool-1.5.tar.gz; - sha256 = "0qbkawhhq0y0gqbbql7q04y0v0hims5c4jkjsbc1y03rf9kr10ar"; + url = "https://people.freedesktop.org/~airlied/radeontool/${pname}-${version}.tar.gz"; + sha256 = "0mjk9wr9rsb17yy92j6yi16hfpa6v5r1dbyiy60zp4r125wr63za"; }; - installPhase = '' - mkdir -p $out/bin - chmod +x lightwatch.pl - cp radeontool lightwatch.pl $out/bin - ''; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ xorg.libpciaccess ]; - meta = { - description = "Control the backlight and external video output of ATI Radeon Mobility graphics cards"; - homepage = http://fdd.com/software/radeon/; - license = stdenv.lib.licenses.zlib; - broken = true; + meta = with stdenv.lib; { + description = "Lowlevel tools to tweak register and dump state on radeon GPUs"; + homepage = "https://airlied.livejournal.com/"; + license = licenses.zlib; }; } diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix index ce0e8707ff5..2162db25c86 100644 --- a/pkgs/os-specific/linux/rdma-core/default.nix +++ b/pkgs/os-specific/linux/rdma-core/default.nix @@ -4,7 +4,7 @@ } : let - version = "25.0"; + version = "26.1"; in stdenv.mkDerivation { pname = "rdma-core"; @@ -14,7 +14,7 @@ in stdenv.mkDerivation { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${version}"; - sha256 = "1r1gfps1xckky06ib1rbf6lp58v2jqpy1ipkr45rf55gpaxf93cj"; + sha256 = "1zb1y70ff8yy7rdl4gh2jx1gpja5hrbsh8gfi9fsxkz2rv1234r0"; }; nativeBuildInputs = [ cmake pkgconfig pandoc docutils makeWrapper ]; diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix index c078fb18c4e..1635dc064be 100644 --- a/pkgs/os-specific/linux/reptyr/default.nix +++ b/pkgs/os-specific/linux/reptyr/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, python2 }: +{ stdenv, lib, fetchFromGitHub, fetchpatch, python2 }: stdenv.mkDerivation rec { version = "0.7.0"; @@ -11,6 +11,14 @@ stdenv.mkDerivation rec { sha256 = "1hnijfz1ab34j2h2cxc3f43rmbclyihgn9x9wxa7jqqgb2xm71hj"; }; + patches = [ + # Fix tests hanging + (fetchpatch { + url = "https://github.com/nelhage/reptyr/commit/bca3070ac0f3888b5d37ee162505be81b3b496ff.patch"; + sha256 = "0w6rpv9k4a80q0ijzdq5hlpr37ncr284piqjv5agy8diniwlilab"; + }) + ]; + makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ]; checkInputs = [ (python2.withPackages (p: [ p.pexpect ])) ]; diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index f524bee3521..68364580346 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchFromGitHub, kernel, bc }: +{ stdenv, fetchFromGitHub, kernel, bc, nukeReferences }: stdenv.mkDerivation rec { name = "rtl8812au-${kernel.version}-${version}"; - version = "5.2.20.2_28373.20180619"; + version = "5.2.20.2_28373.20190903"; src = fetchFromGitHub { owner = "zebulon2"; repo = "rtl8812au-driver-5.2.20"; - rev = "ac063a4b1a87855e10f6cd1f358aaccbeee9b9c1"; - sha256 = "1cmsv22q4k6p2wzm73k60kxbjhcgx4hqr0x3djvqrlv4rzz75l92"; + rev = "30d47a0a3f43ccb19e8fd59fe93d74a955147bf2"; + sha256 = "1fy0f8ihxd0i5kr8gmky8v8xl0ns6bhxfdn64c97c5irzdvg37sr"; }; - nativeBuildInputs = [ bc ]; + nativeBuildInputs = [ bc nukeReferences ]; buildInputs = kernel.moduleBuildDependencies; hardeningDisable = [ "pic" "format" ]; @@ -27,6 +27,10 @@ stdenv.mkDerivation rec { mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; + postInstall = '' + nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko + ''; + meta = with stdenv.lib; { description = "Driver for Realtek 802.11ac, rtl8812au, provides the 8812au mod"; homepage = https://github.com/zebulon2/rtl8812au-driver-5.2.20; diff --git a/pkgs/os-specific/linux/rtl8821au/default.nix b/pkgs/os-specific/linux/rtl8821au/default.nix index ca63c5c6a8d..1829bd6763f 100644 --- a/pkgs/os-specific/linux/rtl8821au/default.nix +++ b/pkgs/os-specific/linux/rtl8821au/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, kernel, bc }: +{ stdenv, fetchFromGitHub, kernel, bc, nukeReferences }: stdenv.mkDerivation rec { name = "rtl8821au-${kernel.version}-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1kmdxgbh0s0v9809kdsi39p0jbm5cf10ivy40h8qj9hn70g1gw8q"; }; - nativeBuildInputs = [ bc ]; + nativeBuildInputs = [ bc nukeReferences ]; buildInputs = kernel.moduleBuildDependencies; hardeningDisable = [ "pic" "format" ]; @@ -30,6 +30,10 @@ stdenv.mkDerivation rec { mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; + postInstall = '' + nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko + ''; + meta = with stdenv.lib; { description = "rtl8821AU, rtl8812AU and rtl8811AU chipset driver with firmware"; homepage = https://github.com/zebulon2/rtl8812au; diff --git a/pkgs/os-specific/linux/rtlwifi_new/default.nix b/pkgs/os-specific/linux/rtlwifi_new/default.nix index 447f9127d60..94ba31d59e1 100644 --- a/pkgs/os-specific/linux/rtlwifi_new/default.nix +++ b/pkgs/os-specific/linux/rtlwifi_new/default.nix @@ -6,13 +6,13 @@ let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wi in stdenv.mkDerivation rec { pname = "rtlwifi_new"; - version = "2018-02-17"; + version = "2019-08-21"; src = fetchFromGitHub { owner = "lwfinger"; repo = "rtlwifi_new"; - rev = "0588ac0cc5f530e7764705416370b70d3c2afedc"; - sha256 = "1vs8rfw19lcs04bapa97zlnl5x0kf02sdw5ik0hdm27wgk0z969m"; + rev = "a108e3de87c2ed30b71c3c4595b79ab7a2f9e348"; + sha256 = "15kjs9i9vvmn1cdzccd5cljf3m45r4ssm65klkj2fdkf3kljj38k"; }; hardeningDisable = [ "pic" "format" ]; diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix index bd6b84ea73c..200e66cb4d8 100644 --- a/pkgs/os-specific/linux/s6-linux-utils/default.nix +++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix @@ -4,8 +4,8 @@ with skawarePackages; buildPackage { pname = "s6-linux-utils"; - version = "2.5.0.1"; - sha256 = "0bpcaah3rbz4i013bkarr7wxmfvisjyxg0z78xg5zfbgajpgjxx1"; + version = "2.5.1.1"; + sha256 = "00nw2phd9prgv29hzqzwjnh4y0ivkzhx3srn6n1rlyr4ydhikxi5"; description = "A set of minimalistic Linux-specific system utilities"; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix index 1e82c492159..138b54b0224 100644 --- a/pkgs/os-specific/linux/setools/default.nix +++ b/pkgs/os-specific/linux/setools/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, bison, flex, python3 , swig +{ stdenv, fetchFromGitHub, python3 , libsepol, libselinux, checkpolicy , withGraphics ? false }: @@ -8,16 +8,16 @@ with python3.pkgs; buildPythonApplication rec { pname = "setools"; - version = "4.2.0"; + version = "4.2.2"; src = fetchFromGitHub { owner = "SELinuxProject"; repo = pname; rev = version; - sha256 = "1bjwcvr6rjx79cdcvaxn68bdrnl4f2a8gnnqsngdxhkhwpddksjy"; + sha256 = "18kklv26dwm2fdjjzfflvxsq83b2svnwf4g18xq7wsfsri121a90"; }; - nativeBuildInputs = [ bison flex swig ]; + nativeBuildInputs = [ cython ]; buildInputs = [ libsepol ]; propagatedBuildInputs = [ enum34 libselinux networkx ] ++ optionals withGraphics [ pyqt5 ]; diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index b4c5c0bac84..c2547ce262a 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2 -, docbook_xml_dtd_45, docbook_xsl, gnome-doc-utils, flex, bison +, docbook_xml_dtd_45, docbook_xsl, itstool, flex, bison , pam ? null, glibcCross ? null }: @@ -19,18 +19,18 @@ in stdenv.mkDerivation rec { pname = "shadow"; - version = "4.6"; + version = "4.8"; src = fetchFromGitHub { owner = "shadow-maint"; repo = "shadow"; rev = version; - sha256 = "1llcv77lvpc4h3rgww9ms736kbdisiylcr2z02863f41afxbwl82"; + sha256 = "05a636dqxip09l5jjrrs30lvwq6xkhjrdgjbbj3bg6b6z7hc67qk"; }; buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam; nativeBuildInputs = [autoreconfHook libxslt libxml2 - docbook_xml_dtd_45 docbook_xsl gnome-doc-utils flex bison + docbook_xml_dtd_45 docbook_xsl flex bison itstool ]; patches = @@ -38,13 +38,6 @@ stdenv.mkDerivation rec { # Obtain XML resources from XML catalog (patch adapted from gtk-doc) ./respect-xml-catalog-files-var.patch dots_in_usernames - - # Check for correct DocBook version during configure - # https://github.com/shadow-maint/shadow/pull/162 - (fetchpatch { - url = "https://github.com/shadow-maint/shadow/commit/47797ca6654f79e3de854a6c69db2bdb0516db08.patch"; - sha256 = "1zn8f6fd26gj5sh60099xqc7mjwgbbkkic5xfigvxa4b90vm8fd7"; - }) ]; # The nix daemon often forbids even creating set[ug]id files. diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 399244e47ee..0d85e6e3a57 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -5,13 +5,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "sysdig"; - version = "0.26.4"; + version = "0.26.5"; src = fetchFromGitHub { owner = "draios"; repo = "sysdig"; rev = version; - sha256 = "1v2j1ns17wyj7xl91p6wy1iwfx2fnn8af9nm939skc6229m87zzn"; + sha256 = "145mwg6izrpi4r1qrygi4yb7qd68g4k64i3qmamk0671wxhjqi3c"; }; nativeBuildInputs = [ cmake perl ]; @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DUSE_BUNDLED_DEPS=OFF" "-DSYSDIG_VERSION=${version}" + "-DCREATE_TEST_TARGETS=OFF" ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF"; # needed since luajit-2.1.0-beta3 diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix index e2adcd2cc2a..ba6aff4e8bc 100644 --- a/pkgs/os-specific/linux/sysstat/default.nix +++ b/pkgs/os-specific/linux/sysstat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext, bzip2 }: stdenv.mkDerivation rec { - name = "sysstat-12.1.5"; + name = "sysstat-12.1.7"; src = fetchurl { - url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz"; - sha256 = "1i92jmrqcpzgy98r1f4fd0x7y2wvwc05ywsh19w3s2gmndmr75m4"; + url = "http://pagesperso-orange.fr/sebastien.godard/${name}.tar.xz"; + sha256 = "1i0qy44krl1gj82izgmqa0zdw82f2gmqzlslvdg5v270vl7i24g7"; }; buildInputs = [ gettext ]; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 90b33e183ce..3cc976a909d 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,9 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap, kmod -, xz, pam, acl, libuuid, m4, utillinux, libffi +{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, intltool, gperf, libcap +, curl, kmod, gnupg, gnutar, xz, pam, acl, libuuid, m4, utillinux, libffi , glib, kbd, libxslt, coreutils, libgcrypt, libgpgerror, libidn2, libapparmor , audit, lz4, bzip2, libmicrohttpd, pcre2 , linuxHeaders ? stdenv.cc.libc.linuxHeaders -, iptables, gnu-efi +, iptables, gnu-efi, bashInteractive , gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 , ninja, meson, python3Packages, glibcLocales , patchelf @@ -15,11 +15,22 @@ , withKexectools ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) kexectools.meta.platforms, kexectools }: -let - pythonLxmlEnv = buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]); - +let gnupg-minimal = gnupg.override { + enableMinimal = true; + guiSupport = false; + pcsclite = null; + sqlite = null; + pinentry = null; + adns = null; + gnutls = null; + libusb = null; + openldap = null; + readline = null; + zlib = null; + bzip2 = null; +}; in stdenv.mkDerivation { - version = "243"; + version = "243.3"; pname = "systemd"; # When updating, use https://github.com/systemd/systemd-stable tree, not the development one! @@ -27,8 +38,8 @@ in stdenv.mkDerivation { src = fetchFromGitHub { owner = "NixOS"; repo = "systemd"; - rev = "7019836a26ebdc1ba20c03d06dbb3a613833bd0f"; - sha256 = "0ywaq5jfy177k4q5hwr43v66sz62l1bqhgyxs2vk9m1d5kvrjwk6"; + rev = "491a247eff9b7ce1e5877f5f3431517c95f3222f"; + sha256 = "1xqiahapg480m165glrwqbfmc1fxw5sacdlm933cwyi1q8x4537g"; }; outputs = [ "out" "lib" "man" "dev" ]; @@ -44,7 +55,7 @@ in stdenv.mkDerivation { (buildPackages.python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ])) ]; buildInputs = - [ linuxHeaders libcap kmod xz pam acl + [ linuxHeaders libcap curl.dev kmod xz pam acl /* cryptsetup */ libuuid glib libgcrypt libgpgerror libidn2 libmicrohttpd pcre2 ] ++ stdenv.lib.optional withKexectools kexectools ++ @@ -56,7 +67,7 @@ in stdenv.mkDerivation { #dontAddPrefix = true; mesonFlags = [ - "-Ddbuspolicydir=${placeholder "out"}/etc/dbus-1/system.d" + "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d" "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services" "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services" "-Dpamconfdir=${placeholder "out"}/etc/pam.d" @@ -67,8 +78,10 @@ in stdenv.mkDerivation { "-Dloadkeys-path=${kbd}/bin/loadkeys" "-Dsetfont-path=${kbd}/bin/setfont" "-Dtty-gid=3" # tty in NixOS has gid 3 + "-Ddebug-shell=${bashInteractive}/bin/bash" # while we do not run tests we should also not build them. Removes about 600 targets "-Dtests=false" + "-Dimportd=true" "-Dlz4=true" "-Dhostnamed=true" "-Dnetworkd=true" @@ -79,15 +92,25 @@ in stdenv.mkDerivation { "-Dlocaled=true" "-Dresolve=true" "-Dsplit-usr=false" - "-Dlibcurl=false" + "-Dlibcurl=true" "-Dlibidn=false" "-Dlibidn2=true" "-Dquotacheck=false" "-Dldconfig=false" "-Dsmack=true" "-Db_pie=true" - "-Dsystem-uid-max=499" #TODO: debug why awking around in /etc/login.defs doesn't work - "-Dsystem-gid-max=499" + /* + As of now, systemd doesn't allow runtime configuration of these values. So + the settings in /etc/login.defs have no effect on it. Many people think this + should be supported however, see + - https://github.com/systemd/systemd/issues/3855 + - https://github.com/systemd/systemd/issues/4850 + - https://github.com/systemd/systemd/issues/9769 + - https://github.com/systemd/systemd/issues/9843 + - https://github.com/systemd/systemd/issues/10184 + */ + "-Dsystem-uid-max=999" + "-Dsystem-gid-max=999" # "-Dtime-epoch=1" (if !stdenv.hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true") @@ -117,7 +140,7 @@ in stdenv.mkDerivation { export LC_ALL="en_US.UTF-8"; # FIXME: patch this in systemd properly (and send upstream). # already fixed in f00929ad622c978f8ad83590a15a765b4beecac9: (u)mount - for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/shutdown/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do + for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/shutdown/shutdown.c src/nspawn/nspawn.c src/shared/generator.c units/systemd-logind.service.in units/systemd-nspawn@.service.in; do test -e $i substituteInPlace $i \ --replace /usr/bin/getent ${getent}/bin/getent \ @@ -127,6 +150,7 @@ in stdenv.mkDerivation { --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ --replace /sbin/sulogin ${lib.getBin utillinux}/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 done @@ -135,6 +159,14 @@ in stdenv.mkDerivation { patchShebangs $dir done + # absolute paths to gpg & tar + substituteInPlace src/import/pull-common.c \ + --replace '"gpg"' '"${gnupg-minimal}/bin/gpg"' + for file in src/import/{{export,import,pull}-tar,import-common}.c; do + substituteInPlace $file \ + --replace '"tar"' '"${gnutar}/bin/tar"' + done + substituteInPlace src/journal/catalog.c \ --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ ''; @@ -223,7 +255,7 @@ in stdenv.mkDerivation { # in a backwards-incompatible way. If the interface version of two # systemd builds is the same, then we can switch between them at # runtime; otherwise we can't and we need to reboot. - passthru.interfaceVersion = 3; + passthru.interfaceVersion = 2; meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/systemd; @@ -231,6 +263,6 @@ in stdenv.mkDerivation { license = licenses.lgpl21Plus; platforms = platforms.linux; priority = 10; - maintainers = with maintainers; [ eelco andir ]; + maintainers = with maintainers; [ eelco andir mic92 ]; }; } diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix index a29c6152aaa..e3a8baa7da3 100644 --- a/pkgs/os-specific/linux/sysvinit/default.nix +++ b/pkgs/os-specific/linux/sysvinit/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, withoutInitTools ? false }: -let version = "2.95"; in +let version = "2.96"; in stdenv.mkDerivation { name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version; src = fetchurl { url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.xz"; - sha256 = "1j46dydib9yd2a46w43is9b61lplwrsry46fw7cbmfrn7ywrq0n9"; + sha256 = "11xmcamvjmrw874zp0vc37hrqc4hz02i0iy8n4xa4dd25avjcbia"; }; prePatch = '' diff --git a/pkgs/os-specific/linux/targetcli/default.nix b/pkgs/os-specific/linux/targetcli/default.nix index b8990484cb9..aa670aba727 100644 --- a/pkgs/os-specific/linux/targetcli/default.nix +++ b/pkgs/os-specific/linux/targetcli/default.nix @@ -2,17 +2,22 @@ python.pkgs.buildPythonApplication rec { pname = "targetcli"; - version = "2.1.fb49"; + version = "2.1.51"; src = fetchFromGitHub { owner = "open-iscsi"; repo = "${pname}-fb"; rev = "v${version}"; - sha256 = "093dmwc5g6yz4cdgpbfszmc97i7nd286w4x447dvg22hvwvjwqhh"; + sha256 = "07i9kyr525hlk32amzgycirwgwykdbjy5fmw6ji0nnhvk2jh4arn"; }; propagatedBuildInputs = with python.pkgs; [ configshell rtslib ]; + postInstall = '' + install -D targetcli.8 -t $out/share/man/man8/ + install -D targetclid.8 -t $out/share/man/man8/ + ''; + meta = with stdenv.lib; { description = "A command shell for managing the Linux LIO kernel target"; homepage = https://github.com/open-iscsi/targetcli-fb; diff --git a/pkgs/os-specific/linux/tomb/default.nix b/pkgs/os-specific/linux/tomb/default.nix index 9fde8406024..4a47ed8868d 100644 --- a/pkgs/os-specific/linux/tomb/default.nix +++ b/pkgs/os-specific/linux/tomb/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "tomb"; - version = "2.6"; + version = "2.7"; src = fetchFromGitHub { owner = "dyne"; repo = "Tomb"; rev = "v${version}"; - sha256 = "0pr0lw1byxwkgv857zfmd8yqa03a7mckhzklrf9rkv1l6nisz0z0"; + sha256 = "1vzkpzci6cp1r1q2n34pcgcns78i726k8d89dd6pibyj0vfnkl57"; }; buildInputs = [ sudo zsh pinentry ]; diff --git a/pkgs/os-specific/linux/trace-cmd/default.nix b/pkgs/os-specific/linux/trace-cmd/default.nix index 567dcd1068c..47adcf938c5 100644 --- a/pkgs/os-specific/linux/trace-cmd/default.nix +++ b/pkgs/os-specific/linux/trace-cmd/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, asciidoc, docbook_xsl, libxslt }: stdenv.mkDerivation { pname = "trace-cmd"; - version = "2.8.3"; + version = "2.9-dev"; src = fetchgit (import ./src.nix); @@ -17,19 +17,15 @@ stdenv.mkDerivation { buildPhase = "make trace-cmd libs doc"; - installTargets = [ "install_cmd" "install_libs" "install_man" ]; + installTargets = [ "install_cmd" "install_libs" "install_doc" ]; installFlags = [ "bindir=${placeholder "out"}/bin" "man_dir=${placeholder "man"}/share/man" "libdir=${placeholder "lib"}/lib" - "includedir=${placeholder "dev"}/include/trace-cmd" + "includedir=${placeholder "dev"}/include" "BASH_COMPLETE_DIR=${placeholder "out"}/etc/bash_completion.d" ]; - postInstall = '' - mv $dev/include/trace-cmd/traceevent $dev/include/traceevent - ''; - meta = with stdenv.lib; { description = "User-space tools for the Linux kernel ftrace subsystem"; homepage = http://kernelshark.org/; diff --git a/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch b/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch index 0d6f5c5d8bf..db194e16fdb 100644 --- a/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch +++ b/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch @@ -1,52 +1,35 @@ -diff --git a/Documentation/Makefile b/Documentation/Makefile -index 21e42fd..826361d 100644 ---- a/Documentation/Makefile -+++ b/Documentation/Makefile -@@ -108,7 +108,11 @@ $(IMGS_INSTALL): %.png.install : %.png force - - GUI_INSTALL = $(HTML_INSTALL) $(IMGS_INSTALL) - --install: $(MAN1_INSTALL) $(MAN5_INSTALL) $(GUI_INSTALL) -+install_man: $(MAN1_INSTALL) $(MAN5_INSTALL) -+ -+install_gui: $(GUI_INSTALL) -+ -+install: install_man install_gui - - clean: - (cd $(obj); \ diff --git a/Makefile b/Makefile -index 2bcc383..107ead0 100644 +index bbdf15e..deb8ef7 100644 --- a/Makefile +++ b/Makefile -@@ -289,7 +289,7 @@ libtraceevent.a: $(LIBTRACEEVENT_STATIC) +@@ -288,7 +288,7 @@ libtraceevent.a: $(LIBTRACEEVENT_STATIC) libtracecmd.a: $(LIBTRACECMD_STATIC) libtracecmd.so: $(LIBTRACECMD_SHARED) -libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED) +libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED) $(LIBTRACECMD_STATIC) $(LIBTRACEEVENT_STATIC) - plugins: force $(obj)/plugins/trace_plugin_dir $(obj)/plugins/trace_python_dir - $(Q)$(MAKE) -C $(src)/plugins -@@ -345,6 +345,8 @@ install_gui: install_cmd gui + plugins: force $(obj)/lib/traceevent/plugins/traceevent_plugin_dir $(obj)/lib/traceevent/plugins/trace_python_dir + $(Q)$(MAKE) -C $(src)/lib/traceevent/plugins +@@ -344,6 +344,8 @@ install_gui: install_cmd gui install_libs: libs - $(Q)$(call do_install,$(LIBTRACECMD_SHARED),$(libdir_SQ)) - $(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ)) -+ $(Q)$(call do_install,$(LIBTRACECMD_STATIC),$(libdir_SQ)) -+ $(Q)$(call do_install,$(LIBTRACEEVENT_STATIC),$(libdir_SQ)) + $(Q)$(call do_install,$(LIBTRACECMD_SHARED),$(libdir_SQ)/trace-cmd) + $(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ)/traceevent) ++ $(Q)$(call do_install,$(LIBTRACECMD_STATIC),$(libdir_SQ)/trace-cmd) ++ $(Q)$(call do_install,$(LIBTRACEEVENT_STATIC),$(libdir_SQ)/traceevent) $(Q)$(call do_install,$(src)/include/traceevent/event-parse.h,$(includedir_SQ)/traceevent) $(Q)$(call do_install,$(src)/include/traceevent/trace-seq.h,$(includedir_SQ)/traceevent) - $(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ)) -@@ -356,6 +358,12 @@ doc: - doc_clean: - $(MAKE) -C $(src)/Documentation clean + $(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ)/trace-cmd) +diff --git a/kernel-shark/src/CMakeLists.txt b/kernel-shark/src/CMakeLists.txt +index e20a030..7fce165 100644 +--- a/kernel-shark/src/CMakeLists.txt ++++ b/kernel-shark/src/CMakeLists.txt +@@ -93,7 +93,7 @@ if (Qt5Widgets_FOUND AND Qt5Network_FOUND) + DESTINATION ${_INSTALL_PREFIX}/share/icons/${KS_APP_NAME}) -+install_man: -+ $(MAKE) -C $(src)/Documentation install_man -+ -+install_gui_docs: -+ $(MAKE) -C $(src)/Documentation install_gui -+ - install_doc: - $(MAKE) -C $(src)/Documentation install + install(FILES "${KS_DIR}/org.freedesktop.kshark-record.policy" +- DESTINATION /usr/share/polkit-1/actions/) ++ DESTINATION ${_INSTALL_PREFIX}/share/polkit-1/actions/) + install(PROGRAMS "${KS_DIR}/bin/kshark-su-record" + DESTINATION ${_INSTALL_PREFIX}/bin/) diff --git a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix index b73de3193d2..5e355ac7c9a 100644 --- a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix +++ b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix @@ -1,7 +1,7 @@ -{ stdenv, mkDerivation, fetchgit, qtbase, cmake, json_c, mesa_glu, freeglut, trace-cmd, pkg-config }: +{ stdenv, mkDerivation, fetchgit, qtbase, cmake, asciidoc, docbook_xsl, json_c, mesa_glu, freeglut, trace-cmd, pkg-config }: mkDerivation { pname = "kernelshark"; - version = "0.9.8"; + version = "1.1.0"; src = fetchgit (import ./src.nix); @@ -11,27 +11,28 @@ mkDerivation { preConfigure = "pushd kernel-shark"; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ pkg-config cmake asciidoc ]; - buildInputs = [ qtbase json_c mesa_glu freeglut pkg-config ]; + buildInputs = [ qtbase json_c mesa_glu freeglut ]; cmakeFlags = [ "-D_INSTALL_PREFIX=${placeholder "out"}" "-DTRACECMD_BIN_DIR=${trace-cmd}/bin" "-DTRACECMD_INCLUDE_DIR=${trace-cmd.dev}/include" - "-DTRACECMD_LIBRARY=${trace-cmd.lib}/lib/libtracecmd.a" - "-DTRACEEVENT_LIBRARY=${trace-cmd.lib}/lib/libtraceevent.a" + "-DTRACECMD_LIBRARY=${trace-cmd.lib}/lib/trace-cmd/libtracecmd.a" + "-DTRACEEVENT_LIBRARY=${trace-cmd.lib}/lib/traceevent/libtraceevent.a" ]; preInstall = '' popd - make install_gui_docs prefix=$doc + make install_doc_gui prefix=$doc \ + FIND_MANPAGE_DOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl-nons/manpages/docbook.xsl pushd kernel-shark/build ''; meta = with stdenv.lib; { description = "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem"; - homepage = http://kernelshark.org/; + homepage = https://kernelshark.org/; license = licenses.gpl2; platforms = platforms.linux; maintainers = with maintainers; [ basvandijk ]; diff --git a/pkgs/os-specific/linux/trace-cmd/src.nix b/pkgs/os-specific/linux/trace-cmd/src.nix index 836e71b1851..47c1b82fdd4 100644 --- a/pkgs/os-specific/linux/trace-cmd/src.nix +++ b/pkgs/os-specific/linux/trace-cmd/src.nix @@ -1,5 +1,5 @@ { url = "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/"; - rev = "138c70106835ee0f05879e7f2f46bca8dae7ca99"; # branch: trace-cmd-stable-v2.8 - sha256 = "1grpip7lywf98nsm7ql1d6bgc0ky0672savr8jz3a8hf9ny265nx"; + rev = "ab370b78b9278fe16657742d46cb95c0a65b47d5"; # branch: kernelshark-v1.1 + sha256 = "0qngwc4qgadrkwlwpz73f12prdkx94kl0bg7g9hib95ipvsdmk1c"; } diff --git a/pkgs/os-specific/linux/trezor-udev-rules/default.nix b/pkgs/os-specific/linux/trezor-udev-rules/default.nix new file mode 100644 index 00000000000..c2be8137376 --- /dev/null +++ b/pkgs/os-specific/linux/trezor-udev-rules/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "trezor-udev-rules"; + version = "unstable-2019-07-17"; + + udevRules = fetchurl { + # let's pin the latest commit in the repo which touched the udev rules file + url = "https://raw.githubusercontent.com/trezor/trezor-firmware/68a3094b0a8e36b588b1bcb58c34a2c9eafc0dca/common/udev/51-trezor.rules"; + sha256 = "0vlxif89nsqpbnbz1vwfgpl1zayzmq87gw1snskn0qns6x2rpczk"; + }; + + dontUnpack = true; + + installPhase = '' + cp ${udevRules} 51-trezor.rules + mkdir -p $out/lib/udev/rules.d + # we use trezord group, not plugdev + # we don't need the udev-acl tag + substituteInPlace 51-trezor.rules \ + --replace 'GROUP="plugdev"' 'GROUP="trezord"' \ + --replace ', TAG+="udev-acl"' "" + cp 51-trezor.rules $out/lib/udev/rules.d/51-trezor.rules + ''; + + meta = with stdenv.lib; { + description = "Udev rules for Trezor"; + license = licenses.gpl3; + maintainers = with maintainers; [ prusnak ]; + platforms = platforms.linux; + homepage = "https://github.com/trezor/trezor-firmware/tree/master/common/udev"; + }; +} diff --git a/pkgs/os-specific/linux/turbostat/default.nix b/pkgs/os-specific/linux/turbostat/default.nix new file mode 100644 index 00000000000..10074f490b8 --- /dev/null +++ b/pkgs/os-specific/linux/turbostat/default.nix @@ -0,0 +1,20 @@ +{ stdenv, kernel }: + +stdenv.mkDerivation { + pname = "turbostat"; + inherit (kernel) src version; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + postPatch = '' + cd tools/power/x86/turbostat + ''; + + meta = with stdenv.lib; { + description = "Report processor frequency and idle statistics"; + homepage = https://www.kernel.org/; + license = licenses.gpl2; + platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific + }; +} + diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index c07e063caa7..5f401411074 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -48,7 +48,7 @@ let UCLIBC_HAS_FPU n ''; - version = "1.0.31"; + version = "1.0.32"; in stdenv.mkDerivation { @@ -58,7 +58,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://downloads.uclibc-ng.org/releases/${version}/uClibc-ng-${version}.tar.bz2"; # from "${url}.sha256"; - sha256 = "0ba9yh7ir1jamrgc9x9v7zw0sw144f78q4vidiz6ynpr4dwbd5qm"; + sha256 = "0cp4xf3k0ib76xaz6n6i7yybw7s92s607ak8svq1kakwk0d1jjbv"; }; # 'ftw' needed to build acl, a coreutils dependency @@ -109,6 +109,6 @@ stdenv.mkDerivation { description = "A small implementation of the C library"; maintainers = with maintainers; [ rasendubi ]; license = licenses.lgpl2; - platforms = platforms.linux; + platforms = intersectLists platforms.linux platforms.x86; # fails to build on ARM }; } diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index e99e9e37d82..1d967b38eb9 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "01wx2x8xyal595dhdih7rva2bz7gqzgwdp56gi0ikjdzayx17wcf"; }; - outputs = [ "out" "man" "dev" "devdoc" ]; + outputs = [ "out" "man" "dev" ] ++ stdenv.lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc"; patches = [ (substituteAll { @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { preConfigure = "NOCONFIGURE=1 ./autogen.sh"; configureFlags = [ - "--enable-gtk-doc" + (stdenv.lib.enableFeature (stdenv.buildPlatform == stdenv.hostPlatform) "gtk-doc") "--localstatedir=/var" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-udevdir=$(out)/lib/udev" diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix index d787acae61b..ab7f65925ee 100644 --- a/pkgs/os-specific/linux/upower/default.nix +++ b/pkgs/os-specific/linux/upower/default.nix @@ -52,12 +52,14 @@ stdenv.mkDerivation { "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "--with-systemdutildir=${placeholder "out"}/lib/systemd" "--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d" + "--sysconfdir=/etc" ]; doCheck = false; # fails with "env: './linux/integration-test': No such file or directory" installFlags = [ "historydir=$(TMPDIR)/foo" + "sysconfdir=${placeholder "out"}/etc" ]; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix index a9983561345..3b4c1c4b665 100644 --- a/pkgs/os-specific/linux/usbguard/default.nix +++ b/pkgs/os-specific/linux/usbguard/default.nix @@ -12,14 +12,14 @@ with stdenv.lib; assert libgcrypt != null -> libsodium == null; stdenv.mkDerivation rec { - version = "0.7.5"; + version = "0.7.6"; pname = "usbguard"; repo = "https://github.com/USBGuard/usbguard"; src = fetchurl { url = "${repo}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz"; - sha256 = "0jj56sls13ryfgz6vajq8p4dm3grgb6rf2cmga6sckmzd4chk65b"; + sha256 = "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index b79a2cd342a..c66b4cbab83 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,18 +1,12 @@ { lib, stdenv, fetchurl, pkgconfig, zlib, shadow , ncurses ? null, perl ? null, pam, systemd ? null, minimal ? false }: -let - version = lib.concatStringsSep "." ([ majorVersion ] - ++ lib.optional (patchVersion != "") patchVersion); - majorVersion = "2.33"; - patchVersion = "2"; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "util-linux"; - inherit version; + version = "2.33.2"; src = fetchurl { - url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${pname}-${version}.tar.xz"; + url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3"; }; diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index a688f60492a..73db222d390 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -19,14 +19,14 @@ in stdenv.mkDerivation rec { sha256 = "1ng0x3wj3a1ckfd00yxa4za43xms92gdp7rdag060b7p39z7m4gf"; }; - outputs = [ "out" "dev" ]; + outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ]; - configureFlags = - if withUtils then [ - "--with-udevdir=${placeholder "out"}/lib/udev" - ] else [ - "--disable-v4l-utils" - ]; + configureFlags = (if withUtils then [ + "--with-localedir=${placeholder "lib"}/share/locale" + "--with-udevdir=${placeholder "out"}/lib/udev" + ] else [ + "--disable-v4l-utils" + ]); postFixup = '' # Create symlink for V4l1 compatibility @@ -39,10 +39,8 @@ in stdenv.mkDerivation rec { propagatedBuildInputs = [ libjpeg ]; - NIX_CFLAGS_COMPILE = lib.optional withQt "-std=c++11"; - postPatch = '' - patchShebangs . + patchShebangs utils/cec-ctl/msg2ctl.pl ''; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix index 2e22b99a95f..ab1413efd80 100644 --- a/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "v4l2loopback-${version}-${kernel.version}"; - version = "0.12.0"; + version = "0.12.2"; src = fetchFromGitHub { owner = "umlaeute"; repo = "v4l2loopback"; rev = "v${version}"; - sha256 = "1rf8dvabksxb2sj14j32h7n7pw7byqfnpqs4m4afj3398y9y23c4"; + sha256 = "1bcypfz5nlfmdm2a00yl7rgl0jh0g2nmwndxlsrblqclznhjilg2"; }; hardeningDisable = [ "format" "pic" ]; diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix index c2dca669616..eefa03d91cd 100644 --- a/pkgs/os-specific/linux/wireguard/default.nix +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -1,11 +1,18 @@ -{ stdenv, kernel, wireguard-tools, perl }: +{ stdenv, fetchzip, kernel, perl, wireguard-tools }: # module requires Linux >= 3.10 https://www.wireguard.io/install/#kernel-requirements assert stdenv.lib.versionAtLeast kernel.version "3.10"; +# wireguard upstreamed since 5.6 https://lists.zx2c4.com/pipermail/wireguard/2019-December/004704.html +assert stdenv.lib.versionOlder kernel.version "5.6"; -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "wireguard"; - inherit (wireguard-tools) src version; + version = "0.0.20191226"; + + src = fetchzip { + url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz"; + sha256 = "1q618h385kqnzxa8xswnw9i1yqrlnl3fglkhbzc8w1181qr4fhra"; + }; preConfigure = '' cd src @@ -27,6 +34,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { inherit (wireguard-tools.meta) homepage license maintainers; description = "Kernel module for the WireGuard secure network tunnel"; + downloadPage = "https://git.zx2c4.com/wireguard-linux-compat/refs/"; platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 69525c92ede..dc5b4289a45 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -13,6 +13,14 @@ stdenv.mkDerivation rec { sha256 = "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw"; }; + patches = [ + (fetchurl { + name = "CVE-2019-16275.patch"; + url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch"; + sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz"; + }) + ]; + # TODO: Patch epoll so that the dbus actually responds # TODO: Figure out how to get privsep working, currently getting SIGBUS extraConfig = '' @@ -85,17 +93,19 @@ stdenv.mkDerivation rec { mkdir -p $out/share/man/man5 $out/share/man/man8 cp -v "doc/docbook/"*.5 $out/share/man/man5/ cp -v "doc/docbook/"*.8 $out/share/man/man8/ - mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system + + mkdir -p $out/share/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system cp -v "dbus/"*service $out/share/dbus-1/system-services sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"* - cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d + cp -v dbus/dbus-wpa_supplicant.conf $out/share/dbus-1/system.d cp -v "systemd/"*.service $out/etc/systemd/system + rm $out/share/man/man8/wpa_priv.8 install -Dm444 wpa_supplicant.conf $out/share/doc/wpa_supplicant/wpa_supplicant.conf.example ''; meta = with stdenv.lib; { - homepage = http://hostap.epitest.fi/wpa_supplicant/; + homepage = https://hostap.epitest.fi/wpa_supplicant/; description = "A tool for connecting to WPA and WPA2-protected wireless networks"; license = licenses.bsd3; maintainers = with maintainers; [ marcweber ]; diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix index 7c6f595bfaf..d02901e0cc1 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -25,7 +25,7 @@ mkDerivation { meta = with stdenv.lib; { description = "Qt-based GUI for wpa_supplicant"; - homepage = http://hostap.epitest.fi/wpa_supplicant/; + homepage = https://hostap.epitest.fi/wpa_supplicant/; license = licenses.bsd3; platforms = platforms.linux; }; diff --git a/pkgs/os-specific/linux/xf86-input-cmt/default.nix b/pkgs/os-specific/linux/xf86-input-cmt/default.nix index 2422b70b068..9f9b278d6f7 100644 --- a/pkgs/os-specific/linux/xf86-input-cmt/default.nix +++ b/pkgs/os-specific/linux/xf86-input-cmt/default.nix @@ -2,7 +2,7 @@ utilmacros, libgestures, libevdevc }: stdenv.mkDerivation rec { - name = "xf86-input-cmt-${version}"; + pname = "xf86-input-cmt"; version = "2.0.2"; src = fetchFromGitHub { owner = "hugegreenbug"; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { description = "Chromebook touchpad driver."; license = licenses.bsd3; platforms = platforms.linux; - homepage = "www.github.com/hugegreenbug/xf86-input-cmt"; + homepage = "https://www.github.com/hugegreenbug/xf86-input-cmt"; maintainers = with maintainers; [ kcalvinalvin ]; }; } diff --git a/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch b/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch deleted file mode 100644 index ff2c6e2e150..00000000000 --- a/pkgs/os-specific/linux/zfs/build-fixes-unstable.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b323e7a7ebb2327943851fa3fd139399eb24d3dd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> -Date: Mon, 13 Aug 2018 22:58:21 +0200 -Subject: [PATCH] build fixes needed for nixos - ---- - module/Makefile.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/module/Makefile.in b/module/Makefile.in -index 935bd2663..afb08df81 100644 ---- a/module/Makefile.in -+++ b/module/Makefile.in -@@ -44,15 +44,15 @@ clean: - modules_install: - @# Install the kernel modules - $(MAKE) -C @LINUX_OBJ@ M=`pwd` $@ \ -- INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \ -+ INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \ - INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \ - KERNELRELEASE=@LINUX_VERSION@ - @# Remove extraneous build products when packaging -- kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \ -- if [ -n "$(DESTDIR)" ]; then \ -+ kmoddir=@prefix@$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \ -+ if [ -n "@prefix@" ]; then \ - find $$kmoddir -name 'modules.*' | xargs $(RM); \ - fi -- sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \ -+ sysmap=@prefix@$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \ - if [ -f $$sysmap ]; then \ - depmod -ae -F $$sysmap @LINUX_VERSION@; \ - fi --- -2.19.2 - diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 1b9b5a3ba51..ae72aad6c07 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -7,6 +7,7 @@ , libtirpc , nfs-utils , gawk, gnugrep, gnused, systemd +, smartmontools, sysstat, sudo # Kernel dependencies , kernel ? null @@ -19,7 +20,7 @@ let common = { version , sha256 - , extraPatches + , extraPatches ? [] , rev ? "zfs-${version}" , isUnstable ? false , incompatibleKernelVersion ? null }: @@ -103,6 +104,7 @@ let installFlags = [ "sysconfdir=\${out}/etc" "DEFAULT_INITCONF_DIR=\${out}/default" + "INSTALL_MOD_PATH=\${out}" ]; postInstall = optionalString buildKernel '' @@ -130,6 +132,13 @@ let (cd $out/share/bash-completion/completions; ln -s zfs zpool) ''; + postFixup = '' + path="PATH=${makeBinPath [ coreutils gawk gnused gnugrep utillinux smartmontools sysstat sudo ]}" + for i in $out/libexec/zfs/zpool.d/*; do + sed -i "2i$path" $i + done + ''; + outputs = [ "out" ] ++ optionals buildUser [ "lib" "dev" ]; meta = { @@ -139,7 +148,7 @@ let Copy-On-Write filesystem with data integrity detection and repair, snapshotting, cloning, block devices, deduplication, and more. ''; - homepage = http://zfsonlinux.org/; + homepage = https://zfsonlinux.org/; license = licenses.cddl; platforms = platforms.linux; maintainers = with maintainers; [ jcumming wizeman fpletz globin ]; @@ -154,13 +163,9 @@ in { # incompatibleKernelVersion = "4.20"; # this package should point to the latest release. - version = "0.8.1"; + version = "0.8.2"; - sha256 = "0wlbziijx08a9bmbyq4gfz4by9l5jrx44g18i99qnfm78k2q8a84"; - - extraPatches = [ - ./build-fixes-unstable.patch - ]; + sha256 = "0miax0h2wg4b2kn8n93804faajy2n1sh25knyy2hg3k77nlr4pni"; }; zfsUnstable = common { @@ -168,13 +173,9 @@ in { # incompatibleKernelVersion = "4.19"; # this package should point to a version / git revision compatible with the latest kernel release - version = "0.8.1"; + version = "0.8.2"; - sha256 = "0wlbziijx08a9bmbyq4gfz4by9l5jrx44g18i99qnfm78k2q8a84"; + sha256 = "0miax0h2wg4b2kn8n93804faajy2n1sh25knyy2hg3k77nlr4pni"; isUnstable = true; - - extraPatches = [ - ./build-fixes-unstable.patch - ]; }; } diff --git a/pkgs/os-specific/windows/wxMSW-2.8/default.nix b/pkgs/os-specific/windows/wxMSW-2.8/default.nix index 65690af9869..2764c4232c1 100644 --- a/pkgs/os-specific/windows/wxMSW-2.8/default.nix +++ b/pkgs/os-specific/windows/wxMSW-2.8/default.nix @@ -31,5 +31,7 @@ stdenv.mkDerivation { meta = { platforms = stdenv.lib.platforms.windows; + + broken = true; }; } |