diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 48f847b3d197..483a49172222 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2833,6 +2833,12 @@ fingerprint = "50B7 11F4 3DFD 2018 DCE6 E8D0 8A52 A140 BEBF 7D2C"; }]; }; + fabianhjr = { + email = "fabianhjr@protonmail.com"; + github = "fabianhjr"; + githubId = 303897; + name = "Fabián Heredia Montiel"; + }; fadenb = { email = "tristan.helmich+nixos@gmail.com"; github = "fadenb"; diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index 6eb8f50bacac..44ff1f1b571a 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -18,6 +18,7 @@ + diff --git a/nixos/doc/manual/configuration/wayland.xml b/nixos/doc/manual/configuration/wayland.xml new file mode 100644 index 000000000000..231c219cf081 --- /dev/null +++ b/nixos/doc/manual/configuration/wayland.xml @@ -0,0 +1,23 @@ + + Wayland + + + While X11 (see ) is still the primary display + technology on NixOS, Wayland support is steadily improving. + Where X11 separates the X Server and the window manager, on Wayland those + are combined: a Wayland Compositor is like an X11 window manager, but also + embeds the Wayland 'Server' functionality. This means it is sufficient to + install a Wayland Compositor such as sway without + separately enabling a Wayland server: + + = true; + + This installs the sway compositor along with some + essential utilities. Now you can start sway from the TTY + console. + + diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 408d0a9c33f2..044fa48853db 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -36,6 +36,8 @@ let ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"} ${addModuleIf cfg.tcp.enable (concatStringsSep " " ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))} + ${addModuleIf config.services.jack.jackd.enable "module-jack-sink"} + ${addModuleIf config.services.jack.jackd.enable "module-jack-source"} ${cfg.extraConfig} ''; }; @@ -144,7 +146,9 @@ in { package = mkOption { type = types.package; - default = pkgs.pulseaudio; + default = if config.services.jack.jackd.enable + then pkgs.pulseaudioFull + else pkgs.pulseaudio; defaultText = "pkgs.pulseaudio"; example = literalExample "pkgs.pulseaudioFull"; description = '' @@ -284,6 +288,8 @@ in { RestartSec = "500ms"; PassEnvironment = "DISPLAY"; }; + } // optionalAttrs config.services.jack.jackd.enable { + environment.JACK_PROMISCUOUS_SERVER = "jackaudio"; }; sockets.pulseaudio = { wantedBy = [ "sockets.target" ]; diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix index ceff366d0bbb..bee97dbfc6b3 100644 --- a/nixos/modules/services/audio/jack.nix +++ b/nixos/modules/services/audio/jack.nix @@ -246,6 +246,9 @@ in { description = "JACK Audio Connection Kit"; serviceConfig = { User = "jackaudio"; + SupplementaryGroups = lib.optional + (config.hardware.pulseaudio.enable + && !config.hardware.pulseaudio.systemWide) "users"; ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}"; LimitRTPRIO = 99; LimitMEMLOCK = "infinity"; diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix index 222ac8e487eb..51eca19dca32 100644 --- a/nixos/modules/services/hardware/fwupd.nix +++ b/nixos/modules/services/hardware/fwupd.nix @@ -11,8 +11,8 @@ let "fwupd/daemon.conf" = { source = pkgs.writeText "daemon.conf" '' [fwupd] - BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices} - BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins} + DisabledDevices=${lib.concatStringsSep ";" cfg.disabledDevices} + DisabledPlugins=${lib.concatStringsSep ";" cfg.disabledPlugins} ''; }; "fwupd/uefi.conf" = { @@ -59,21 +59,21 @@ in { ''; }; - blacklistDevices = mkOption { + disabledDevices = mkOption { type = types.listOf types.str; default = []; example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ]; description = '' - Allow blacklisting specific devices by their GUID + Allow disabling specific devices by their GUID ''; }; - blacklistPlugins = mkOption { + disabledPlugins = mkOption { type = types.listOf types.str; default = []; example = [ "udev" ]; description = '' - Allow blacklisting specific plugins + Allow disabling specific plugins ''; }; @@ -105,11 +105,15 @@ in { }; }; + imports = [ + (mkRenamedOptionModule [ "services" "fwupd" "blacklistDevices"] [ "services" "fwupd" "disabledDevices" ]) + (mkRenamedOptionModule [ "services" "fwupd" "blacklistPlugins"] [ "services" "fwupd" "disabledPlugins" ]) + ]; ###### implementation config = mkIf cfg.enable { # Disable test related plug-ins implicitly so that users do not have to care about them. - services.fwupd.blacklistPlugins = cfg.package.defaultBlacklistedPlugins; + services.fwupd.disabledPlugins = cfg.package.defaultDisabledPlugins; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index ddfd1af4a319..18c77948cb90 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -28,6 +28,20 @@ let utillinux # needed for mount and mountpoint ]; + scriptType = with types; + let scriptOptions = + { deps = mkOption + { type = types.listOf types.str; + default = [ ]; + description = "List of dependencies. The script will run after these."; + }; + text = mkOption + { type = types.lines; + description = "The content of the script."; + }; + }; + in either str (submodule { options = scriptOptions; }); + in { @@ -40,16 +54,14 @@ in default = {}; example = literalExample '' - { stdio = { - text = ''' - # Needed by some programs. - ln -sfn /proc/self/fd /dev/fd - ln -sfn /proc/self/fd/0 /dev/stdin - ln -sfn /proc/self/fd/1 /dev/stdout - ln -sfn /proc/self/fd/2 /dev/stderr - '''; - deps = []; - }; + { stdio.text = + ''' + # Needed by some programs. + ln -sfn /proc/self/fd /dev/fd + ln -sfn /proc/self/fd/0 /dev/stdin + ln -sfn /proc/self/fd/1 /dev/stdout + ln -sfn /proc/self/fd/2 /dev/stderr + '''; } ''; @@ -62,7 +74,7 @@ in idempotent and fast. ''; - type = types.attrsOf types.unspecified; # FIXME + type = types.attrsOf scriptType; apply = set: { script = @@ -125,7 +137,7 @@ in idempotent and fast. ''; - type = types.attrsOf types.unspecified; + type = with types; attrsOf scriptType; apply = set: { script = '' diff --git a/nixos/tests/installed-tests/fwupd.nix b/nixos/tests/installed-tests/fwupd.nix index 6a0ceb57dda4..a8a683a1af7b 100644 --- a/nixos/tests/installed-tests/fwupd.nix +++ b/nixos/tests/installed-tests/fwupd.nix @@ -5,7 +5,7 @@ makeInstalledTest { testConfig = { services.fwupd.enable = true; - services.fwupd.blacklistPlugins = lib.mkForce []; # don't blacklist test plugin + services.fwupd.disabledPlugins = lib.mkForce []; # don't disable test plugin services.fwupd.enableTestRemote = true; virtualisation.memorySize = 768; }; diff --git a/pkgs/applications/blockchains/freicoin.nix b/pkgs/applications/blockchains/freicoin.nix deleted file mode 100644 index cc28fff96c47..000000000000 --- a/pkgs/applications/blockchains/freicoin.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }: - -stdenv.mkDerivation rec { - version = "0.8.6-2"; - pname = "freicoin"; - - src = fetchFromGitHub { - owner = "freicoin"; - repo = "freicoin"; - rev = "v${version}"; - sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h"; - }; - - enableParallelBuilding = false; - - qmakeFlags = ["USE_UPNP=-"]; - - # I think that openssl and zlib are required, but come through other - # packages - - preBuild = "unset AR"; - - installPhase = '' - mkdir -p $out/bin - cp freicoin-qt $out/bin - ''; - - nativeBuildInputs = [ qmake4Hook ]; - buildInputs = [ db boost gmp mpfr qt4 ]; - - meta = with stdenv.lib; { - description = "Peer-to-peer currency with demurrage fee"; - homepage = "http://freicoi.in/"; - license = licenses.mit; - maintainers = [ maintainers.viric ]; - platforms = platforms.linux; - - # upstream doesn't support newer openssl versions, use 1.0.1 for testing - broken = true; - }; -} diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 3a5bc63e1c38..cca7b0b2f41f 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -19,9 +19,9 @@ let sha256Hash = "sha256-qbxmR9g8DSKzcP09bJuc+am79BSXWG39UQxFEb1bZ88="; }; latestVersion = { # canary & dev - version = "4.2.0.15"; # "Android Studio 4.2 Canary 15" - build = "202.6922807"; - sha256Hash = "sha256-PXFNnPSJbdp9NtkMDR3Vq+vpWqd85Io2FmXPhRLRk/8="; + version = "4.2.0.16"; # "Android Studio 4.2 Canary 16" + build = "202.6939830"; + sha256Hash = "sha256-2Xh0GR4BHZI6ofdyMI2icrztI2BmiHWT+1bEZIZ58IE="; }; in { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix index b6f25795665a..001616ab41dd 100644 --- a/pkgs/applications/graphics/qview/default.nix +++ b/pkgs/applications/graphics/qview/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "qview"; - version = "3.0"; + version = "4.0"; src = fetchFromGitHub { owner = "jurplel"; repo = "qView"; rev = version; - sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7"; + sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr"; }; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix index 75e467d4cdf8..be61a76190a2 100644 --- a/pkgs/applications/misc/k2pdfopt/default.nix +++ b/pkgs/applications/misc/k2pdfopt/default.nix @@ -2,7 +2,7 @@ , cmake, pkgconfig, zlib, libpng, makeWrapper , enableGSL ? true, gsl , enableGhostScript ? true, ghostscript -, enableMuPDF ? true, mupdf +, enableMuPDF ? true, mupdf_1_17 , enableDJVU ? true, djvulibre , enableGOCR ? false, gocr # Disabled by default due to crashes , enableTesseract ? true, leptonica, tesseract4 @@ -89,7 +89,7 @@ in stdenv.mkDerivation rec { cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/ ''; }; - mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: { + mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: { patches = patches ++ [ mupdf_patch ]; # This function is missing in font.c, see font-win32.c postPatch = '' diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index d7752258df98..c16322ad84fa 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,16 +1,16 @@ -{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, -libGLU, libGL, freetype, xclip, inotify-tools, procps }: +{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz, +libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }: assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; stdenv.mkDerivation rec { pname = "llpp"; - version = "32"; + version = "33"; src = fetchgit { url = "git://repo.or.cz/llpp.git"; rev = "v${version}"; - sha256 = "1h1zysm5cz8laq8li49djl6929cnrjlflag9hw0c1dcr4zaxk32y"; + sha256 = "0shqzhaflm2yhkx6c0csq9lxp1s1r7lh5kgpx9q5k06xya2a7yvs"; fetchSubmodules = false; }; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }); nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ]; + buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ]; dontStrip = true; diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch index fbc341c8af78..c12828f2d94d 100644 --- a/pkgs/applications/misc/llpp/fix-build-bash.patch +++ b/pkgs/applications/misc/llpp/fix-build-bash.patch @@ -1,8 +1,9 @@ diff --git a/build.bash b/build.bash index 7c278b6..41494c5 100755 +with manual adjustments --- a/build.bash +++ b/build.bash -@@ -29,7 +29,6 @@ srcd="$(dirname $0)" +@@ -30,7 +30,6 @@ srcd="$(dirname $0)" mudir=$outd/mupdf muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include" @@ -10,25 +11,25 @@ index 7c278b6..41494c5 100755 mkdir -p $outd/{$wsid,lablGL} :>$outd/ordered -@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } - mbt=${mbt:-native} - mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a +@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } + mulibst="$mudir/build/$mbt/libs" + mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a" -keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs" --isfresh "$mulibs" "$(eval $keycmd)" || ( +-isfresh "$mulibst" "$(eval $keycmd)" || ( - make -C "$mudir" build=$mbt -j $mjobs libs -- eval $keycmd >$mudir/build/$mbt/libmupdf.a.past +- eval $keycmd >${mulibst}.past -) && vecho "fresh mupdf" - oincs() { local i= local incs1= -@@ -89,34 +82,6 @@ mflags() { +@@ -100,35 +93,6 @@ mflags() { } overs="$(ocamlc -vnum 2>/dev/null)" || overs="" --test "$overs" = "4.10.0" || { -- url=https://caml.inria.fr/pub/distrib/ocaml-4.10/ocaml-4.10.0.tar.xz +-test "$overs" = "4.11.1" || { +- url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz - txz=$outd/$(basename $url) - keycmd="printf $url; digest $txz;" - isfresh $txz "$(eval $keycmd)" || { @@ -48,7 +49,8 @@ index 7c278b6..41494c5 100755 - tar xf $txz -C $outd - bn=$(basename $url) - cd $outd/${bn%.tar.xz} -- ./configure --disable-ocamldoc --enable-debugger=no --prefix=$absprefix +- ./configure --disable-ocamldoc --disable-ocamltest \ +- --enable-debugger=no --prefix=$absprefix - make -j $mjobs world - make install - eval $keycmd >$absprefix/bin/ocamlc.past @@ -58,7 +60,7 @@ index 7c278b6..41494c5 100755 ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \ { read _ c; echo $c; })} -@@ -230,7 +195,7 @@ bobjc() { +@@ -243,7 +208,7 @@ bobjc() { } && vecho "fresh $o" } @@ -67,12 +69,12 @@ index 7c278b6..41494c5 100755 cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml" -@@ -284,7 +249,7 @@ for m in ml_gl ml_glarray ml_raw; do +@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do done libs="str.cma unix.cma" -clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread" -+clibs="-lmupdf -lfreetype -lpthread" ++clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz" if $darwin; then mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; }) clibs="$clibs -framework Cocoa -framework OpenGL" diff --git a/pkgs/applications/misc/mupdf/1.17.nix b/pkgs/applications/misc/mupdf/1.17.nix new file mode 100644 index 000000000000..c6243e5f1d6b --- /dev/null +++ b/pkgs/applications/misc/mupdf/1.17.nix @@ -0,0 +1,95 @@ +{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg +, jbig2dec, libjpeg , darwin +, enableX11 ? true, libX11, libXext, libXi, libXrandr +, enableCurl ? true, curl, openssl +, enableGL ? true, freeglut, libGLU +}: + +let + + # OpenJPEG version is hardcoded in package source + openJpegVersion = with stdenv; + lib.versions.majorMinor (lib.getVersion openjpeg); + + +in stdenv.mkDerivation rec { + version = "1.17.0"; + pname = "mupdf"; + + src = fetchurl { + url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz"; + sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0"; + }; + + patches = + # Use shared libraries to decrease size + stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch + ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch + ; + + postPatch = '' + sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c + ''; + + makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ] + ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ] + ++ lib.optionals enableCurl [ curl openssl ] + ++ lib.optionals enableGL ( + if stdenv.isDarwin then + with darwin.apple_sdk.frameworks; [ GLUT OpenGL ] + else + [ freeglut libGLU ]) + ; + outputs = [ "bin" "dev" "out" "man" "doc" ]; + + preConfigure = '' + # Don't remove mujs because upstream version is incompatible + rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib} + ''; + + postInstall = '' + mkdir -p "$out/lib/pkgconfig" + cat >"$out/lib/pkgconfig/mupdf.pc" < $bin/share/applications/mupdf.desktop < wayland != null && wayland-protocols != null && waylandpp ! let kodiReleaseDate = "20200728"; - kodiVersion = "18.8"; + kodiVersion = "18.9"; rel = "Leia"; kodi_src = fetchFromGitHub { owner = "xbmc"; repo = "xbmc"; rev = "${kodiVersion}-${rel}"; - sha256 = "0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva"; + sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20"; }; cmakeProto = fetchurl { diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix index a0ec55dd895b..74370aafa40e 100644 --- a/pkgs/applications/virtualization/looking-glass-client/default.nix +++ b/pkgs/applications/virtualization/looking-glass-client/default.nix @@ -1,36 +1,30 @@ -{ stdenv, fetchFromGitHub, fetchpatch -, cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig -, libX11, freefont_ttf, nettle, libconfig, wayland, libpthreadstubs, libXdmcp -, libXfixes, libbfd +{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_ttf, spice-protocol +, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp +, libXi, libXext, wayland, libffi, libGLU, expat, libbfd }: stdenv.mkDerivation rec { pname = "looking-glass-client"; - version = "B1"; + version = "B2"; src = fetchFromGitHub { owner = "gnif"; repo = "LookingGlass"; rev = version; - sha256 = "0vykv7yjz4fima9d82m83acd8ab72nq4wyzyfs1c499i27wz91ia"; + sha256 = "100b5kzh8gr81kzw5fdqz2jsms25hv3815d31vy3qd6lrlm5gs3d"; + fetchSubmodules = true; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ - SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig - libX11 freefont_ttf nettle libconfig wayland libpthreadstubs - libXdmcp libXfixes libbfd cmake + SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle + libpthreadstubs libXau libXdmcp libXi libXext wayland libffi libGLU expat + libbfd ]; - enableParallelBuilding = true; - sourceRoot = "source/client"; - - installPhase = '' - mkdir -p $out/bin - mv looking-glass-client $out/bin - ''; + NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem. meta = with stdenv.lib; { description = "A KVM Frame Relay (KVMFR) implementation"; @@ -41,9 +35,9 @@ stdenv.mkDerivation rec { step required to move away from dual booting with other operating systems for legacy programs that require high performance graphics. ''; - homepage = "https://looking-glass.hostfission.com/"; + homepage = "https://looking-glass.io/"; license = licenses.gpl2Plus; - maintainers = [ maintainers.alexbakker ]; + maintainers = with maintainers; [ alexbakker ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch new file mode 100644 index 000000000000..fa708b298365 --- /dev/null +++ b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch @@ -0,0 +1,43 @@ +From 6d19c0cc6c5a9bba308fc29d7c0edc2dc372c41b Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Wed, 21 Oct 2020 11:35:50 +0530 +Subject: [PATCH] net: remove an assert call in eth_get_gso_type + +eth_get_gso_type() routine returns segmentation offload type based on +L3 protocol type. It calls g_assert_not_reached if L3 protocol is +unknown, making the following return statement unreachable. Remove the +g_assert call, it maybe triggered by a guest user. + +Reported-by: Gaoning Pan +Signed-off-by: Prasad J Pandit +--- + net/eth.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/net/eth.c b/net/eth.c +index 0c1d413ee2..eee77071f9 100644 +--- a/net/eth.c ++++ b/net/eth.c +@@ -16,6 +16,7 @@ + */ + + #include "qemu/osdep.h" ++#include "qemu/log.h" + #include "net/eth.h" + #include "net/checksum.h" + #include "net/tap.h" +@@ -71,9 +72,8 @@ eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4proto) + return VIRTIO_NET_HDR_GSO_TCPV6 | ecn_state; + } + } +- +- /* Unsupported offload */ +- g_assert_not_reached(); ++ qemu_log_mask(LOG_GUEST_ERROR, "%s: probably not GSO frame, " ++ "unknown L3 protocol: 0x%04"PRIx16"\n", __func__, l3_proto); + + return VIRTIO_NET_HDR_GSO_NONE | ecn_state; + } +-- +2.28.0 + diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 3c8672057996..2bace4f258d7 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -82,6 +82,7 @@ stdenv.mkDerivation rec { ./no-etc-install.patch ./fix-qemu-ga.patch ./9p-ignore-noatime.patch + ./CVE-2020-27617.patch ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch ++ optionals stdenv.hostPlatform.isMusl [ (fetchpatch { diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix index 7ad60405f1b8..692b5f01b5c6 100644 --- a/pkgs/applications/virtualization/virt-top/default.nix +++ b/pkgs/applications/virtualization/virt-top/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, ocamlPackages, autoreconfHook }: +{ stdenv, fetchgit, fetchpatch, ocamlPackages, autoreconfHook }: stdenv.mkDerivation rec { pname = "virt-top"; @@ -10,6 +10,14 @@ stdenv.mkDerivation rec { sha256 = "0m7pm8lzlpngsj0vjv0hg8l9ck3gvwpva7r472f8f03xpjffwiga"; }; + patches = [ + (fetchpatch { + name = "ocaml-libvirt-0.6.1.5-fix.patch"; + url = "http://git.annexia.org/?p=virt-top.git;a=patch;h=24a461715d5bce47f63cb0097606fc336230589f"; + sha256 = "15w7w9iggvlw8m9w8g4h08251wzb3m3zkb58glr7ifsgi3flbn61"; + }) + ]; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt gettext-stub curses csv xml-light ]; diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix new file mode 100644 index 000000000000..4ec021644011 --- /dev/null +++ b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix @@ -0,0 +1,38 @@ +{ stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsaLib }: + +stdenv.mkDerivation rec { + pname = "AlsaMixer.app"; + version = "0.2.1"; + + src = dockapps-sources; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libX11 libXpm libXext alsaLib ]; + + setSourceRoot = '' + export sourceRoot=$(echo */${pname}) + ''; + + dontConfigure = true; + + preInstall = '' + install -d ${placeholder "out"}/bin + ''; + + installPhase = '' + runHook preInstall + install -t ${placeholder "out"}/bin AlsaMixer.app + runHook postInstall + ''; + + postInstall = '' + ln -s ${placeholder "out"}/bin/AlsaMixer.app ${placeholder "out"}/bin/AlsaMixer + ''; + + meta = with stdenv.lib; { + description = "Alsa mixer application for Windowmaker"; + homepage = "https://www.dockapps.net/alsamixerapp"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.bstrik ]; + }; +} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix deleted file mode 100644 index 4e1256399e76..000000000000 --- a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }: - -stdenv.mkDerivation { - name = "alsamixer.app-0.2.1"; - src = fetchgit { - url = "git://repo.or.cz/dockapps.git"; - rev = "38c74350b02f35824554ce0c4f0f251d71762040"; - sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libX11 libXpm libXext alsaLib ]; - - postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app"; - - installPhase = '' - mkdir -pv $out/bin; - cp AlsaMixer.app $out/bin/AlsaMixer; - ''; - - meta = { - description = "Alsa mixer application for Windowmaker"; - homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app"; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.bstrik ]; - }; -} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix new file mode 100644 index 000000000000..8a66fdbd67f2 --- /dev/null +++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs }: + +lib.makeScope pkgs.newScope (self: with self; { + + dockapps-sources = pkgs.fetchgit { + url = "https://repo.or.cz/dockapps.git"; + rev = "b2b9d872ee61c9b329e4597c301e4417cbd9c3ea"; + sha256 = "sha256-BuSnwPIj3gUWMjj++SK+117xm/77u4gXLQzRFttei0w="; + }; + + libdockapp = callPackage ./libdockapp.nix { }; + + AlsaMixer-app = callPackage ./AlsaMixer-app.nix { }; + + wmCalClock = callPackage ./wmCalClock.nix { }; + + wmsm-app = callPackage ./wmsm-app.nix { }; + + wmsystemtray = callPackage ./wmsystemtray.nix { }; +}) diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix new file mode 100644 index 000000000000..bcdef42a78a0 --- /dev/null +++ b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix @@ -0,0 +1,30 @@ +{ stdenv, dockapps-sources, autoreconfHook, pkg-config +, libX11, libXext, libXpm, mkfontdir, fontutil }: + +stdenv.mkDerivation rec { + pname = "libdockapp"; + version = "0.7.3"; + + src = dockapps-sources; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ]; + + setSourceRoot = '' + export sourceRoot=$(echo */${pname}) + ''; + + # There is a bug on --with-font + configureFlags = [ + "--with-examples=no" + "--with-font=no" + ]; + + meta = with stdenv.lib; { + description = "A library providing a framework for dockapps"; + homepage = "https://www.dockapps.net/libdockapp"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.bstrik ]; + }; +} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix new file mode 100644 index 000000000000..f8ea781858a4 --- /dev/null +++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix @@ -0,0 +1,38 @@ +{ stdenv, dockapps-sources +, libX11, libXpm, libXext }: + +stdenv.mkDerivation rec { + pname = "wmCalClock"; + version = "1.25"; + + src = dockapps-sources; + + buildInputs = [ libX11 libXpm libXext ]; + + setSourceRoot = '' + export sourceRoot=$(echo */${pname}/Src) + ''; + + preBuild = '' + makeFlagsArray+=( + CC="cc" + INCDIR="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXpm.dev}/include" + LIBDIR="-I${libX11}/lib -I${libXext}/lib -I${libXpm}/lib" + ) + ''; + + preInstall = '' + install -d ${placeholder "out"}/bin + install -d ${placeholder "out"}/man/man1 + ''; + + installFlags = [ "DESTDIR=${placeholder "out"}" ]; + + meta = with stdenv.lib; { + description = "A Calendar clock with antialiased text"; + homepage = "https://www.dockapps.net/wmcalclock"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.bstrik ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix deleted file mode 100644 index 48f4753d674b..000000000000 --- a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }: - -stdenv.mkDerivation { - name = "wmCalClock-1.25"; - src = fetchurl { - url = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmCalClock-1.25.tar.gz"; - sha256 = "4b42b55bb7c1d7c58b5ee1f0058c683d3e4f3e3380d3a69c54a50b983c7c1b3f"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libX11 libXpm libXext ]; - - postUnpack = "sourceRoot=\${sourceRoot}/Src"; - - buildPhase='' - make prefix=$out - ''; - - installPhase = '' - mkdir -pv $out/bin - mkdir -pv $out/man/man1 - make DESTDIR=$out install - ''; - - meta = { - description = "Clock for Windowmaker"; - homepage = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/time.html#wmcalclock"; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.bstrik ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix new file mode 100644 index 000000000000..dd25ee2b2fce --- /dev/null +++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix @@ -0,0 +1,43 @@ +{ stdenv, dockapps-sources +, libX11 +, libXpm +, libXext +, libdockapp }: + +stdenv.mkDerivation rec { + pname = "wmsm.app"; + version = "0.2.1"; + + src = dockapps-sources; + + buildInputs = [ libX11 libXpm libXext libdockapp ]; + + setSourceRoot = '' + export sourceRoot=$(echo */${pname}/wmsm) + ''; + + NIX_CFLAGS_COMPILE = "-std=gnu89"; + + postPatch = '' + substituteInPlace Makefile \ + --replace "PREFIX = /usr/X11R6/bin" "" \ + --replace "/usr/bin/install" "install" + ''; + + makeFlags = [ "CC=cc" ]; + + preInstall = '' + runHook preInstall + install -d ${placeholder "out"}/bin + runHook postInstall + ''; + + installFlags = [ "PREFIX=${placeholder "out"}/bin" ]; + + meta = with stdenv.lib; { + description = "System monitor for Windowmaker"; + homepage = "https://www.dockapps.net/wmsmapp"; + license = licenses.gpl2; + maintainers = [ maintainers.bstrik ]; + }; +} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix deleted file mode 100644 index ad255414a692..000000000000 --- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }: - -stdenv.mkDerivation { - name = "wmsm.app-0.2.1"; - src = fetchurl { - url = "http://linux-bsd-unix.strefa.pl/wmsm.app-0.2.1.tar.bz2"; - sha256 = "369a8f2e5673c6b7ab0cf85166f38fbf553dd966c3c1cfeec0e32837defd32c7"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libX11 libXpm libXext ]; - - postUnpack = "sourceRoot=\${sourceRoot}/wmsm"; - - NIX_CFLAGS_COMPILE = "-std=gnu89"; - - installPhase = '' - substituteInPlace Makefile --replace "PREFIX = /usr/X11R6/bin" "" --replace "/usr/bin/install" "install" - mkdir -pv $out/bin; - make PREFIX=$out/bin install; - ''; - - meta = { - description = "System monitor for Windowmaker"; - homepage = "http://linux-bsd-unix.strefa.pl"; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.bstrik ]; - }; -} diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix index 3e073cd8e91b..6ec62af5d36e 100644 --- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix +++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix @@ -1,20 +1,22 @@ { stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext, libXfixes, libXmu }: -stdenv.mkDerivation { - name = "wmsystemtray-1.4"; +stdenv.mkDerivation rec { + pname = "wmsystemtray"; + version = "1.4"; + src = fetchurl { - url = "mirror://sourceforge/project/wmsystemtray/wmsystemtray/wmsystemtray-1.4.tar.gz"; - sha256 = "8edef43691e9fff071000e29166c7c1ad420c0956e9068151061e881c8ac97e9"; + url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}.tar.gz"; + sha256 = "sha256-jt70NpHp//BxAA4pFmx8GtQgwJVukGgVEGHogcisl+k="; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libX11 libXpm libXext libXfixes libXmu ]; - meta = { - description = "Systemtray for Windowmaker"; + meta = with stdenv.lib; { + description = "A system tray for Windowmaker"; homepage = "http://wmsystemtray.sourceforge.net"; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.bstrik ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2Only; + maintainers = [ maintainers.bstrik ]; + platforms = platforms.linux; }; } diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 265c22b55655..39299d8c83c0 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -129,6 +129,7 @@ let plasma-integration = callPackage ./plasma-integration {}; plasma-nm = callPackage ./plasma-nm {}; plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; }; + plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { }; plasma-vault = callPackage ./plasma-vault {}; plasma-workspace = callPackage ./plasma-workspace {}; plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {}; diff --git a/pkgs/desktops/plasma-5/plasma-thunderbolt.nix b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix new file mode 100644 index 000000000000..1bb79c327ebf --- /dev/null +++ b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix @@ -0,0 +1,16 @@ +{ mkDerivation +, extra-cmake-modules +, kcmutils +, kcoreaddons +, bolt +}: + +mkDerivation { + name = "plasma-thunderbolt"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + kcmutils + kcoreaddons + bolt + ]; +} diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index a74b1eb05cd5..7c233ade7427 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -95,7 +95,15 @@ self: super: builtins.intersectAttrs super { sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL"; # profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8 - cachix = disableLibraryProfiling super.cachix; + cachix = overrideSrc (disableLibraryProfiling super.cachix) { + src = (pkgs.fetchFromGitHub { + owner = "cachix"; + repo = "cachix"; + rev = "1471050f5906ecb7cd0d72115503d07d2e3beb17"; + sha256 = "1lkrmhv5x9dpy53w33kxnhv4x4qm711ha8hsgccrjmxaqcsdm59g"; + }) + "/cachix"; + version = "0.5.1"; + }; hercules-ci-agent = disableLibraryProfiling super.hercules-ci-agent; # avoid compiling twice by providing executable as a separate output (with small closure size) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 5a498991c670..de874a798b2b 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -45,11 +45,11 @@ in stdenv.mkDerivation rec { pname = "glib"; - version = "2.66.1"; + version = "2.66.2"; src = fetchurl { url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0q7g70j6vjvcw4xf6bbfkm4j6mradcabdcdcy4gs5hxwkzkgysd2"; + sha256 = "1i0pd8y6xz64qlzfj73wxyqp0x7x9j6mwf4gj6ggil4d9vnhnfgc"; }; patches = optionals stdenv.isDarwin [ diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix index 7eb69d075cab..b2d8856bfea1 100644 --- a/pkgs/development/libraries/google-cloud-cpp/default.nix +++ b/pkgs/development/libraries/google-cloud-cpp/default.nix @@ -58,5 +58,6 @@ in stdenv.mkDerivation rec { homepage = "https://github.com/googleapis/google-cloud-cpp"; description = "C++ Idiomatic Clients for Google Cloud Platform services"; maintainers = with maintainers; [ andir flokli ]; + broken = true; # Broken on Hydra since 2020-05-19 }; } diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix index 026aeb220e56..dc6cef0bbba1 100644 --- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix @@ -1,28 +1,24 @@ -{ stdenv, fetchgit, libvirt, autoconf, ocaml, findlib }: +{ stdenv, fetchFromGitLab, libvirt, autoreconfHook, pkg-config, ocaml, findlib, perl }: stdenv.mkDerivation rec { pname = "ocaml-libvirt"; - rev = "bab7f84ade84ceaddb08b6948792d49b3d04b897"; - version = "0.6.1.4.2017-11-08-unstable"; # libguestfs-1.34+ needs ocaml-libvirt newer than the latest release 0.6.1.4 + version = "0.6.1.5"; - src = fetchgit { - url = "git://git.annexia.org/git/ocaml-libvirt.git"; - rev = rev; - sha256 = "0vxgx1n58fp4qmly6i5zxiacr7303127d6j78a295xin1p3a8xcw"; + src = fetchFromGitLab { + owner = "libvirt"; + repo = "libvirt-ocaml"; + rev = "v${version}"; + sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k"; }; propagatedBuildInputs = [ libvirt ]; - nativeBuildInputs = [ autoconf findlib ]; + nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ]; buildInputs = [ ocaml ]; createFindlibDestdir = true; - preConfigure = '' - autoconf - ''; - buildPhase = "make all opt CPPFLAGS=-Wno-error"; installPhase = "make install-opt"; diff --git a/pkgs/development/python-modules/ansible-lint/default.nix b/pkgs/development/python-modules/ansible-lint/default.nix index 2c324bc42710..2718ba7670b5 100644 --- a/pkgs/development/python-modules/ansible-lint/default.nix +++ b/pkgs/development/python-modules/ansible-lint/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "ansible-lint"; - version = "4.3.6"; + version = "4.3.7"; # pip is not able to import version info on raumel.yaml disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "1fn7mdykm4id78k4faibi92q9yxbjbyxb90ww0by03c31m8z5348"; + sha256 = "0kwwv9dv9rgsqvp15r2vma7hii9lkkqn0n2irvp5h32cbhzzq4hh"; }; format = "pyproject"; diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix new file mode 100644 index 000000000000..b75a82b6c2b2 --- /dev/null +++ b/pkgs/development/python-modules/coconut/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonApplication, + fetchFromGitHub, + fetchpatch, + + cpyparsing, + ipykernel, + mypy, + pygments, + pytest, + prompt_toolkit, + tkinter, + watchdog +}: + +buildPythonApplication rec { + pname = "coconut"; + version = "1.4.3"; + + src = fetchFromGitHub { + owner = "evhub"; + repo = "coconut"; + rev = "v${version}"; + sha256 = "1pz13vza3yy95dbylnq89fzc3mwgcqr7ds096wy25k6vxd9dp9c3"; + }; + + propagatedBuildInputs = [ cpyparsing pygments prompt_toolkit ipykernel mypy watchdog ]; + + patches = [ + (fetchpatch { + name = "fix-setuptools-version-check.patch"; + url = "https://github.com/LibreCybernetics/coconut/commit/2916a087da1e063cc4438b68d4077347fd1ea4a2.patch"; + sha256 = "136jbd2rvnifw30y73vv667002nf7sbkm5qyihshj4db7ngysr6q"; + }) + ]; + + checkInputs = [ pytest tkinter ]; + # Currently most tests do not work on Hydra due to external fetches. + checkPhase = '' + pytest tests/constants_test.py + pytest tests/main_test.py::TestShell::test_compile_to_file + pytest tests/main_test.py::TestShell::test_convenience + ''; + + meta = with lib; { + homepage = "http://coconut-lang.org/"; + description = "Simple, elegant, Pythonic functional programming"; + license = licenses.asl20; + maintainers = with maintainers; [ fabianhjr ]; + }; +} diff --git a/pkgs/development/python-modules/cpyparsing/default.nix b/pkgs/development/python-modules/cpyparsing/default.nix new file mode 100644 index 000000000000..66f173106e49 --- /dev/null +++ b/pkgs/development/python-modules/cpyparsing/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchFromGitHub, cython, python }: + +buildPythonPackage rec { + pname = "cpyparsing"; + version = "2.4.5.0.1.1"; + + src = fetchFromGitHub { + owner = "evhub"; + repo = pname; + rev = "aa8ee45daec5c55328446bad7202ab8f799ab0ce"; # No tags on repo + sha256 = "1mxa5q41cb0k4lkibs0d4lzh1w6kmhhdrsm0w0r1m3s80m05ffmw"; + }; + + nativeBuildInputs = [ cython ]; + + checkPhase = "${python.interpreter} tests/cPyparsing_test.py"; + + meta = with lib; { + homepage = "https://github.com/evhub/cpyparsing"; + description = "Cython PyParsing implementation"; + license = licenses.asl20; + maintainers = with maintainers; [ fabianhjr ]; + }; +} diff --git a/pkgs/development/python-modules/googlemaps/default.nix b/pkgs/development/python-modules/googlemaps/default.nix new file mode 100644 index 000000000000..7e13aedec475 --- /dev/null +++ b/pkgs/development/python-modules/googlemaps/default.nix @@ -0,0 +1,34 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub +, requests +, responses, pytestCheckHook, pytest, pytestcov, isPy27 +}: + +buildPythonPackage rec { + pname = "googlemaps"; + version = "4.4.2"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "googlemaps"; + repo = "google-maps-services-python"; + rev = "v${version}"; + sha256 = "DYhW1OGce/0gY7Jmwq6iM45PxLyXIYo4Cfg2u6Xuyg4="; + }; + + propagatedBuildInputs = [ requests ]; + + checkInputs = [ pytestCheckHook responses pytestcov ]; + + disabledTests = [ + # touches network + "test_elevation_along_path_single" + "test_transit_without_time" + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/googlemaps/google-maps-services-python"; + description = "Python client library for Google Maps API Web Services"; + license = licenses.asl20; + maintainers = with maintainers; [ Scriptkiddi ]; + }; +} diff --git a/pkgs/development/python-modules/openrouteservice/default.nix b/pkgs/development/python-modules/openrouteservice/default.nix new file mode 100644 index 000000000000..c35405f417b2 --- /dev/null +++ b/pkgs/development/python-modules/openrouteservice/default.nix @@ -0,0 +1,29 @@ +{ lib, buildPythonPackage, fetchFromGitHub, requests, responses, pytestCheckHook }: + +buildPythonPackage rec { + pname = "openrouteservice"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "GIScience"; + repo = "${pname}-py"; + rev = "v${version}"; + sha256 = "ySXzOQI9NcF1W/otbL7i3AY628/74ZkJjDMQ9ywVEPc="; + }; + + checkInputs = [ pytestCheckHook responses ]; + + disabledTests = [ + # touches network + "test_optimized_waypoints" + "test_invalid_api_key" + "test_raise_timeout_retriable_requests" + ]; + + meta = with lib; { + homepage = "https://github.com/GIScience/openrouteservice-py"; + description = "The Python API to consume openrouteservice(s) painlessly"; + license = licenses.asl20; + maintainers = with maintainers; [ Scriptkiddi ]; + }; +} diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index d0bf1492672a..30df7589c9ee 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -1,11 +1,12 @@ { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }: buildPythonPackage rec { - pname = "PyMuPDF"; - version = "1.17.7"; + pname = "pymupdf"; + version = "1.18.0"; src = fetchPypi { - inherit pname version; - sha256 = "33e8ed71b9ece929c52a19f5e5a6d414ded0a6275772b36f2e768ce3c0c86347"; + pname = "PyMuPDF"; + inherit version; + sha256 = "64ce58f92d9edd2631e447175fa13b4024ac3b6dce6e718e0b003c41de6f7952"; }; patchPhase = '' diff --git a/pkgs/development/python-modules/pytest-pylint/default.nix b/pkgs/development/python-modules/pytest-pylint/default.nix index f7a9a3143065..e35d2ebc73e9 100644 --- a/pkgs/development/python-modules/pytest-pylint/default.nix +++ b/pkgs/development/python-modules/pytest-pylint/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "pytest-pylint"; - version = "0.17.0"; + version = "0.18.0"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "b0c177d63f6e3f5b82fa2720a6570dd2ecff1616c26ed6d02d0cbf75fd98ddf9"; + sha256 = "790c7a8019fab08e59bd3812db1657a01995a975af8b1c6ce95b9aa39d61da27"; }; nativeBuildInputs = [ pytestrunner ]; diff --git a/pkgs/development/python-modules/pyvmomi/default.nix b/pkgs/development/python-modules/pyvmomi/default.nix index 25845c9847a3..8f8ca6f1d7ac 100644 --- a/pkgs/development/python-modules/pyvmomi/default.nix +++ b/pkgs/development/python-modules/pyvmomi/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "pyvmomi"; - version = "7.0"; + version = "7.0.1"; src = fetchFromGitHub { owner = "vmware"; repo = pname; rev = "v${version}"; - sha256 = "1qqljrlc9h7kddx3xxc6479gk75fvaxspfikzjn6zj5mznsvfwj5"; + sha256 = "1i7zni4ygdikc22wfrbnzwqh6qy402s3di6sdlfcvky2y7fzx52x"; }; # requires old version of vcrpy diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix index 28b66ec5a521..aaf879d2a3f4 100644 --- a/pkgs/development/python-modules/rtslib/default.nix +++ b/pkgs/development/python-modules/rtslib/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "rtslib"; - version = "2.1.72"; + version = "2.1.74"; src = fetchFromGitHub { owner = "open-iscsi"; repo = "${pname}-fb"; rev = "v${version}"; - sha256 = "13kycf9xkyxm1ik8yh3qpd96vird8y65daigyiyb4jvx0lmrd0kv"; + sha256 = "1in10z6ckmkfhykar435k1fmswbfajysv4g9nsav893ij8g694fy"; }; propagatedBuildInputs = [ six pyudev pygobject3 ]; diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix index c8cad2282f22..d17aed6ae43a 100644 --- a/pkgs/development/python-modules/streamz/default.nix +++ b/pkgs/development/python-modules/streamz/default.nix @@ -15,11 +15,11 @@ buildPythonPackage rec { pname = "streamz"; - version = "0.5.6"; + version = "0.6.1"; src = fetchPypi { inherit pname version; - sha256 = "d2ca46c9f77ec444310c6ee45b66e8d59bb3a04607a0386297c10668ba7fca3a"; + sha256 = "215703456479d24f524cdcd0365006250d4502d242f57e2f5db18e8638bc8694"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix index d4f94c1aed97..359c942d189a 100644 --- a/pkgs/development/tools/build-managers/qbs/default.nix +++ b/pkgs/development/tools/build-managers/qbs/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "qbs"; - version = "1.16.0"; + version = "1.17.0"; src = fetchFromGitHub { owner = "qbs"; repo = "qbs"; rev = "v${version}"; - sha256 = "1kg11s3figpkvgd85p0zk416s57gnvlzrz1isbc2lv13adidf041"; + sha256 = "0sd4qwl1wh8b1hck846plrgddkrdwdfqwk2dgh5hdsrlrvx5xjrr"; }; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix index fcddf1d0cacc..14ef09ee7ed0 100644 --- a/pkgs/development/tools/misc/arcanist/default.nix +++ b/pkgs/development/tools/misc/arcanist/default.nix @@ -1,20 +1,24 @@ -{ stdenv, fetchFromGitHub, php, flex }: +{ bison +, fetchFromGitHub +, flex +, php +, stdenv +}: # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being # invoked and complains about it being an unknown toolset. We could use `makeWrapper`, but # then we’d need to still craft a script that does the `php libexec/arcanist/bin/...` dance # anyway... So just do everything at once. let makeArcWrapper = toolset: '' - cat << WRAPPER > $out/bin/${toolset} - #!$shell -e - export PATH='${php}/bin/'\''${PATH:+':'}\$PATH - exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@" - WRAPPER - chmod +x $out/bin/${toolset} + cat << WRAPPER > $out/bin/${toolset} + #!$shell -e + export PATH='${php}/bin/'\''${PATH:+':'}\$PATH + exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@" + WRAPPER + chmod +x $out/bin/${toolset} ''; in - stdenv.mkDerivation { pname = "arcanist"; version = "20200711"; @@ -25,7 +29,7 @@ stdenv.mkDerivation { rev = "2565cc7b4d1dbce6bc7a5b3c4e72ae94be4712fe"; sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw"; }; - buildInputs = [ php flex ]; + buildInputs = [ bison flex php ]; postPatch = stdenv.lib.optionalString stdenv.isAarch64 '' substituteInPlace support/xhpast/Makefile \ @@ -33,13 +37,15 @@ stdenv.mkDerivation { ''; buildPhase = '' + make cleanall -C support/xhpast make xhpast -C support/xhpast ''; installPhase = '' mkdir -p $out/bin $out/libexec make install -C support/xhpast - cp -R $src $out/libexec/arcanist + make cleanall -C support/xhpast + cp -R . $out/libexec/arcanist ${makeArcWrapper "arc"} ${makeArcWrapper "phage"} @@ -53,9 +59,9 @@ stdenv.mkDerivation { meta = { description = "Command line interface to Phabricator"; - homepage = "http://phabricator.org"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.unix; + homepage = "http://phabricator.org"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index 0c60821102dd..5fe6eb0575d9 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -18,16 +18,16 @@ let in rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.5.1"; + version = "1.5.2"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "19ki9qyg9q26jq4jkcf8b6xhy4g4cn30zqccgl3324mnijhl33jk"; + sha256 = "0dpx74zp85a3qcabfmwnsh1kl0c74ygafybqzmyvwjmax0hdgkq6"; fetchSubmodules = true; }; - cargoSha256 = "1q3gmilphkbh54y7m711ccr1gr5slk2nn91qq61rmmphyylwkgv2"; + cargoSha256 = "0358vbpda9x0ib0vla4crn052lk299x2hg14g8lzymg33277lk3p"; # Install completions post-install nativeBuildInputs = [ installShellFiles ]; @@ -52,15 +52,14 @@ rustPlatform.buildRustPackage rec { # Skipping until resolved doCheck = false; - # TODO: Move to enhanced installShellCompletion when merged: PR #83630 postInstall = '' # remove test plugin and test server rm -rf $out/lib $out/bin/test_server - $out/bin/deno completions bash > deno.bash - $out/bin/deno completions fish > deno.fish - $out/bin/deno completions zsh > _deno - installShellCompletion deno.{bash,fish} --zsh _deno + installShellCompletion --cmd deno \ + --bash <($out/bin/deno completions bash) \ + --fish <($out/bin/deno completions fish) \ + --zsh <($out/bin/deno completions zsh) ''; passthru.updateScript = ./update/update.ts; diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix index 49f9e6832354..73639fd7553c 100644 --- a/pkgs/games/quakespasm/vulkan.nix +++ b/pkgs/games/quakespasm/vulkan.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "vkquake"; - version = "1.05.0"; + version = "1.05.1"; src = fetchFromGitHub { owner = "Novum"; repo = "vkQuake"; rev = version; - sha256 = "16ryjfkmnhlxv7b6yvyk3247q7ih4g90a7c4z501xiyp7h0wlsw8"; + sha256 = "03b2vxpakp6zizb0m65q9lq800z67b052k01q251b3f04kr1waih"; }; sourceRoot = "source/Quake"; diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix index e617881a570c..d93f8a6c46ed 100644 --- a/pkgs/os-specific/linux/batman-adv/version.nix +++ b/pkgs/os-specific/linux/batman-adv/version.nix @@ -1,9 +1,9 @@ { - version = "2020.3"; + version = "2020.4"; sha256 = { - batman-adv = "0wrzh0k44zzjx2s5zj65hjkh4jm9y38qpis1s5cbx9cyj756slb5"; - alfred = "13bvccz90pkjl09jyw68gj23pbrw9b05w1vhds9sjggwf3jkj5w2"; - batctl = "0r2w2v4sy6wgr7mp9lc7yj9k4ldsbsm3425rjil7p0b17zmzf4rm"; + batman-adv = "1cxr0zmn9nzisawkrfk0gzd9fx0pg6261c889kz47hwp4f545v6d"; + alfred = "1ay69nifzghpbvy11fdca5cllkn852h6rg045lci4vzgqf7b2bd2"; + batctl = "05rrpfbpdhxn5zgdps849qls2ifis6a94cjryb60d4y1nc2n0d7w"; }; } diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix index 114a90129ac2..8bd442843b19 100644 --- a/pkgs/os-specific/linux/bolt/default.nix +++ b/pkgs/os-specific/linux/bolt/default.nix @@ -1,28 +1,49 @@ -{ stdenv, meson, ninja, pkgconfig, fetchFromGitLab, - python3, umockdev, gobject-introspection, dbus, - asciidoc, libxml2, libxslt, docbook_xml_dtd_45, docbook_xsl, - glib, systemd, polkit +{ stdenv +, meson +, ninja +, pkgconfig +, fetchFromGitLab +, python3 +, umockdev +, gobject-introspection +, dbus +, asciidoc +, libxml2 +, libxslt +, docbook_xml_dtd_45 +, docbook_xsl +, glib +, systemd +, polkit }: stdenv.mkDerivation rec { pname = "bolt"; - version = "0.8"; + version = "0.9"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "bolt"; repo = "bolt"; rev = version; - sha256 = "1qamls0fll0qc27lqavf56hv1yj6v6n4ry90g7bcnwpvccmd82yd"; + sha256 = "sha256-lcJE+bMK2S2GObHMy/Fu12WGb3T1HrWjsNyZPz4/f4E="; }; nativeBuildInputs = [ - meson ninja pkgconfig - asciidoc libxml2 libxslt docbook_xml_dtd_45 docbook_xsl + asciidoc + docbook_xml_dtd_45 + docbook_xsl + libxml2 + libxslt + meson + ninja + pkgconfig ] ++ stdenv.lib.optional (!doCheck) python3; buildInputs = [ - glib systemd polkit + glib + polkit + systemd ]; doCheck = true; @@ -32,7 +53,9 @@ stdenv.mkDerivation rec { ''; checkInputs = [ - dbus umockdev gobject-introspection + dbus + gobject-introspection + umockdev (python3.withPackages (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ])) ]; @@ -55,7 +78,7 @@ stdenv.mkDerivation rec { description = "Thunderbolt 3 device management daemon"; homepage = "https://gitlab.freedesktop.org/bolt/bolt"; license = licenses.lgpl21Plus; - maintainers = [ maintainers.callahad ]; + maintainers = with maintainers; [ callahad ]; platforms = platforms.linux; }; } diff --git a/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 a727e5f4a85b..349fcbb23f3d 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 @@ -93,14 +93,11 @@ diff --git a/meson_options.txt b/meson_options.txt index 3da9b6c4..6c80275b 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -24,6 +24,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable - option('systemd', type : 'boolean', value : true, description : 'enable systemd support') - option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units') - option('elogind', type : 'boolean', value : false, description : 'enable elogind support') +@@ -1,3 +1,4 @@ +option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation') - option('tests', type : 'boolean', value : true, description : 'enable tests') - option('udevdir', type: 'string', value: '', description: 'Directory for udev rules') - option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules') + option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type') + option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent') + option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support') diff --git a/plugins/ata/meson.build b/plugins/ata/meson.build index 8444bb8a..fa4a8ad1 100644 --- a/plugins/ata/meson.build diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index d502d049ace4..85f5bbbf5b18 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -3,6 +3,7 @@ { stdenv , fetchurl , fetchpatch +, fetchFromGitHub , substituteAll , gtk-doc , pkg-config @@ -88,7 +89,7 @@ let self = stdenv.mkDerivation rec { pname = "fwupd"; - version = "1.4.6"; + version = "1.5.1"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -97,7 +98,7 @@ let src = fetchurl { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; - sha256 = "AKG5stioIveQc7ooYb/2UoOaBzbPUFzYk8tZK0rzvK0="; + sha256 = "0fpxcl6bighiipyl4qspjhi0lwisrgq8jdahm68mk34rmrx50sgf"; }; patches = [ @@ -118,6 +119,12 @@ let # Needs a different set of modules than po/make-images. inherit installedTestsPython; }) + + # Skip tests requiring network. + (fetchpatch { + url = "https://github.com/fwupd/fwupd/commit/db15442c7c217610954786bd40779c14ed0e034b.patch"; + sha256 = "/jzpGMJcqLisjecKpSUfA8ZCU53n7BOPR6tMgEX/qL8="; + }) ]; nativeBuildInputs = [ @@ -229,6 +236,19 @@ let addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share" ''; + postInstall = + let + testFw = fetchFromGitHub { + owner = "fwupd"; + repo = "fwupd-test-firmware"; + rev = "42b62c62dc85ecfb8e38099fe5de0625af87a722"; + sha256 = "XUpxE003DZSeLJMtyV5UN5CNHH89/nEVKpCbMStm91Q="; + }; + in '' + # These files have weird licenses so they are shipped separately. + cp --recursive --dereference "${testFw}/installed-tests/tests" "$installedTests/libexec/installed-tests/fwupd" + ''; + preFixup = let binPath = [ efibootmgr @@ -254,6 +274,8 @@ let done ''; + separateDebugInfo = true; + passthru = { filesInstalledToEtc = [ "fwupd/ata.conf" @@ -277,8 +299,8 @@ let "fwupd/remotes.d/dell-esrt.conf" ]; - # BlacklistPlugins key in fwupd/daemon.conf - defaultBlacklistedPlugins = [ + # DisabledPlugins key in fwupd/daemon.conf + defaultDisabledPlugins = [ "test" "invalid" ]; @@ -302,9 +324,9 @@ let config = configparser.RawConfigParser() config.read('${self}/etc/fwupd/daemon.conf') - package_blacklisted_plugins = config.get('fwupd', 'BlacklistPlugins').rstrip(';').split(';') - passthru_blacklisted_plugins = ${listToPy passthru.defaultBlacklistedPlugins} - assert package_blacklisted_plugins == passthru_blacklisted_plugins, f'Default blacklisted plug-ins in the package {package_blacklisted_plugins} do not match those listed in passthru.defaultBlacklistedPlugins {passthru_blacklisted_plugins}' + package_disabled_plugins = config.get('fwupd', 'DisabledPlugins').rstrip(';').split(';') + passthru_disabled_plugins = ${listToPy passthru.defaultDisabledPlugins} + assert package_disabled_plugins == passthru_disabled_plugins, f'Default disabled plug-ins in the package {package_disabled_plugins} do not match those listed in passthru.defaultDisabledPlugins {passthru_disabled_plugins}' pathlib.Path(os.getenv('out')).touch() ''; diff --git a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch index 432056cbe7fe..d8f1a533b824 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch @@ -1,3 +1,5 @@ +diff --git a/data/device-tests/hardware.py b/data/device-tests/hardware.py +index 7f1e1907..10fee1b8 100755 --- a/data/device-tests/hardware.py +++ b/data/device-tests/hardware.py @@ -1,4 +1,4 @@ @@ -6,25 +8,41 @@ # pylint: disable=wrong-import-position,too-many-locals,unused-argument,wrong-import-order # # Copyright (C) 2017 Richard Hughes +diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build +index adadbcdd..1b51bb9c 100644 --- a/data/installed-tests/meson.build +++ b/data/installed-tests/meson.build -@@ -1,4 +1,4 @@ --installed_test_datadir = join_paths(datadir, 'installed-tests', 'fwupd') -+installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'fwupd') - - con2 = configuration_data() - con2.set('installedtestsdir', installed_test_datadir) -@@ -52,5 +52,5 @@ configure_file( +@@ -65,5 +65,5 @@ configure_file( output : 'fwupd-tests.conf', configuration : con2, install: true, - install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'), + install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'), ) +diff --git a/meson.build b/meson.build +index 772b7bbe..f59302cd 100644 +--- a/meson.build ++++ b/meson.build +@@ -177,8 +177,8 @@ else + datadir = join_paths(prefix, get_option('datadir')) + sysconfdir = join_paths(prefix, get_option('sysconfdir')) + localstatedir = join_paths(prefix, get_option('localstatedir')) +- installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name()) +- installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name()) ++ installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name()) ++ installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name()) + endif + mandir = join_paths(prefix, get_option('mandir')) + localedir = join_paths(prefix, get_option('localedir')) +diff --git a/meson_options.txt b/meson_options.txt +index 0a0e2853..5f68d78b 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -1,3 +1,4 @@ -+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests') - option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type') - option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent') - option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support') +@@ -25,6 +26,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable + option('systemd', type : 'boolean', value : true, description : 'enable systemd support') + option('systemd_root_prefix', type: 'string', value: '', description: 'Directory to base systemd’s installation directories on') + option('elogind', type : 'boolean', value : false, description : 'enable elogind support') ++option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests') + option('tests', type : 'boolean', value : true, description : 'enable tests') + option('tpm', type : 'boolean', value : true, description : 'enable TPM support') + option('udevdir', type: 'string', value: '', description: 'Directory for udev rules') diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix index f8e211fb289f..7984e2678070 100644 --- a/pkgs/os-specific/linux/jfbview/default.nix +++ b/pkgs/os-specific/linux/jfbview/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub -, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf, ncurses, openjpeg +, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf_1_17, ncurses, openjpeg , openssl , imageSupport ? true, imlib2 ? null }: @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; buildInputs = [ - freetype harfbuzz jbig2dec libjpeg libX11 mupdf ncurses openjpeg + freetype harfbuzz jbig2dec libjpeg libX11 mupdf_1_17 ncurses openjpeg openssl ] ++ stdenv.lib.optionals imageSupport [ imlib2 diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix index c5c2f6d513d0..aa4b2a64150e 100644 --- a/pkgs/servers/asterisk/default.nix +++ b/pkgs/servers/asterisk/default.nix @@ -105,8 +105,8 @@ in rec { asterisk = asterisk_18; asterisk_13 = common { - version = "13.37.0"; - sha256 = "09wc6cqh4f15wm62drzdppwvh7nwgnbwapvz1kgb0qdgixsshn3v"; + version = "13.37.1"; + sha256 = "1zc3104zw4y7i8bhhgrgy3snq0zr1904p64ykfc3ldh4xyfy3ld6"; externals = { "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "addons/mp3" = mp3-202; @@ -114,8 +114,8 @@ in rec { }; asterisk_16 = common { - version = "16.14.0"; - sha256 = "1y120p4jlhg4iwihdxlk64y3y3n8w7y785lwqxsyqg6zviz0ghx6"; + version = "16.14.1"; + sha256 = "1lhh3npyy8hvy29jwjgapnxfjv1ahp2qdi4iq1d6a61ffhd20vfs"; externals = { "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "addons/mp3" = mp3-202; @@ -123,8 +123,8 @@ in rec { }; asterisk_17 = common { - version = "17.8.0"; - sha256 = "0xhwh8s8n8xg43gcdkqjj484assva7lm5ah1b306a5nf6j8p9bjy"; + version = "17.8.1"; + sha256 = "0m7gw01kpvsc0f9lb1hiq5b4g1fdh4gdfyxlqxp6m37vgxh2a48p"; externals = { "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "addons/mp3" = mp3-202; @@ -132,8 +132,8 @@ in rec { }; asterisk_18 = common { - version = "18.0.0"; - sha256 = "174zasx8d7ragy2fz4vwc4pbra9wl471mnisz1z0a3b2qsbh4y4v"; + version = "18.0.1"; + sha256 = "1kyly10pk7bpfqg3mjbvb8p795fnj9lvd29yp2xsxwgsqi1dn9p8"; externals = { "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10; "addons/mp3" = mp3-202; diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix index 25ad49e7c8a8..f8827b1f1fed 100644 --- a/pkgs/servers/monitoring/prometheus/promscale.nix +++ b/pkgs/servers/monitoring/prometheus/promscale.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "promscale"; - version = "0.1.1"; + version = "0.1.2"; src = fetchFromGitHub { owner = "timescale"; repo = pname; rev = version; - sha256 = "sha256:00mhkp3nf6h2zsvmmwyza1lahvmm05isfi7rqkx24c0dmkmif3x9"; + sha256 = "sha256-Yl61hX4YBddw0euTwheMIOy08jgS47rAU0cKyXiz9s4="; }; vendorSha256 = "sha256:1ilciwf08678sciwwrjalwvcs5bp7x254nxc3nhdf88cf0bp2nxi"; diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix index a59f74873dc5..a6841f7fabed 100644 --- a/pkgs/servers/trezord/default.nix +++ b/pkgs/servers/trezord/default.nix @@ -1,18 +1,22 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, trezor-udev-rules }: +{ stdenv +, buildGoModule +, fetchFromGitHub +, trezor-udev-rules +}: -buildGoPackage rec { +buildGoModule rec { pname = "trezord-go"; - version = "2.0.29"; - - goPackagePath = "github.com/trezor/trezord-go"; + version = "2.0.30"; src = fetchFromGitHub { owner = "trezor"; repo = "trezord-go"; rev = "v${version}"; - sha256 = "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp"; + sha256 = "1hzvk0wfgg7b4wpqjk3738yqxlv3pj5i7zxwm0jady2h97hmrqrr"; }; + vendorSha256 = "0wb959xzyvr5zzjvkfqc422frmf97q5nr460f02wwx0pj6ch0y61"; + propagatedBuildInputs = [ trezor-udev-rules ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix index 018dfe7858e3..3922851af331 100644 --- a/pkgs/tools/filesystems/sshfs-fuse/default.nix +++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchFromGitHub -, meson, pkgconfig, ninja, docutils, makeWrapper +, meson, pkg-config, ninja, docutils, makeWrapper , fuse3, glib , which, python3Packages , openssh }: stdenv.mkDerivation rec { - version = "3.7.0"; + version = "3.7.1"; pname = "sshfs-fuse"; src = fetchFromGitHub { owner = "libfuse"; repo = "sshfs"; rev = "sshfs-${version}"; - sha256 = "119qvjaai3nqs2psqk2kv4gxjchrnrcfnmlwk7yxnj3v59pgyxhv"; + sha256 = "088mgcsqv9f2vly4xn6lvvkmqkgr9jjmjs9qp8938hl7j6rrgd17"; }; - nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ]; + nativeBuildInputs = [ meson pkg-config ninja docutils makeWrapper ]; buildInputs = [ fuse3 glib ]; checkInputs = [ which python3Packages.pytest ]; diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix index 8cd926c5c272..024454a3472d 100644 --- a/pkgs/tools/misc/bandwidth/default.nix +++ b/pkgs/tools/misc/bandwidth/default.nix @@ -1,13 +1,8 @@ { stdenv, fetchurl, nasm }: let - arch = - if stdenv.hostPlatform.system == "x86_64-linux" then "bandwidth64" - else if stdenv.hostPlatform.system == "i686-linux" then "bandwidth32" - else if stdenv.hostPlatform.system == "x86_64-darwin" then "bandwidth-mac64" - else if stdenv.hostPlatform.system == "i686-darwin" then "bandwidth-mac32" - else if stdenv.hostPlatform.system == "i686-cygwin" then "bandwidth-win32" - else throw "Unknown architecture"; + inherit (stdenv.hostPlatform.parsed.cpu) bits; + arch = "bandwidth${toString bits}"; in stdenv.mkDerivation rec { pname = "bandwidth"; @@ -18,21 +13,25 @@ stdenv.mkDerivation rec { sha256 = "0x798xj3vhiwq2hal0vmf92sq4h7yalp3i6ylqwhnnpv99m2zws4"; }; - buildInputs = [ nasm ]; + postPatch = '' + sed -i 's,^CC=gcc .*,,' OOC/Makefile Makefile* + sed -i 's,ar ,$(AR) ,g' OOC/Makefile + ''; - buildFlags = [ arch ] - ++ stdenv.lib.optionals stdenv.cc.isClang [ "CC=clang" "LD=clang" ]; + nativeBuildInputs = [ nasm ]; + + buildFlags = [ arch ]; installPhase = '' mkdir -p $out/bin - cp ${arch} $out/bin - ln -s ${arch} $out/bin/bandwidth + cp ${arch} $out/bin/bandwidth ''; meta = with stdenv.lib; { homepage = "https://zsmith.co/bandwidth.html"; description = "Artificial benchmark for identifying weaknesses in the memory subsystem"; - license = licenses.mit; - platforms = platforms.unix; + license = licenses.gpl2Plus; + platforms = platforms.x86; + maintainers = with maintainers; [ r-burns ]; }; } diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix new file mode 100644 index 000000000000..ee91c66cc82a --- /dev/null +++ b/pkgs/tools/misc/fend/default.nix @@ -0,0 +1,22 @@ +{ lib, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "fend"; + version = "0.1.9"; + + src = fetchFromGitHub { + owner = "printfn"; + repo = pname; + rev = "v${version}"; + sha256 = "11cvpg7j2rvqri16cr3gb6dpm7dzgs3vywhdc91aa531f87qj16c"; + }; + + cargoSha256 = "0q9gkvbay6rnb0nd14z71h3506yzn9610zc6g8wbpgmw6cpwvbg9"; + + meta = with lib; { + description = "Arbitrary-precision unit-aware calculator"; + homepage = "https://github.com/printfn/fend"; + license = licenses.mit; + maintainers = with maintainers; [ djanatyn ]; + }; +} diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index 37595702b686..701e86dbf901 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -4,9 +4,11 @@ , tzdata , features ? - (if stdenv.isAarch64 + ((if stdenv.isAarch64 then [ "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ] else [ "leveldb" "leveldb/leveldb-sys-2" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]) + ++ + [ "sinks" "sources" "transforms" ]) , coreutils , CoreServices }: @@ -38,9 +40,20 @@ rustPlatform.buildRustPackage rec { # vector.dev during the checkPhase, which obviously isn't going to work. # these tests in the DNS module are trivial though, so stubbing them out is # fine IMO. + # + # the geoip transform yields maxmindb.so which contains references to rustc. + # neither figured out why the shared object is included in the output + # (it doesn't seem to be a runtime dependencies of the geoip transform), + # nor do I know why it depends on rustc. + # However, in order for the closure size to stay at a reasonable level, + # transforms-geoip is patched out of Cargo.toml for now - unless explicitly asked for. patchPhase = '' substituteInPlace ./src/dns.rs \ --replace "#[test]" "" + + ${lib.optionalString (!builtins.elem "transforms-geoip" features) '' + substituteInPlace ./Cargo.toml --replace '"transforms-geoip",' "" + ''} ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/dogdns/default.nix b/pkgs/tools/networking/dogdns/default.nix index 2875f2025151..71e065e5d14c 100644 --- a/pkgs/tools/networking/dogdns/default.nix +++ b/pkgs/tools/networking/dogdns/default.nix @@ -3,6 +3,8 @@ , rustPlatform , pkg-config , openssl +, Security +, installShellFiles }: rustPlatform.buildRustPackage rec { @@ -16,11 +18,17 @@ rustPlatform.buildRustPackage rec { sha256 = "088ib0sncv0vrvnqfvxf5zc79v7pnxd2cmgp4378r6pmgax9z9zy"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ openssl ]; + nativeBuildInputs = [ installShellFiles ] + ++ stdenv.lib.optionals stdenv.isLinux [ pkg-config ]; + buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ] + ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; cargoSha256 = "08scc6vh703245rg3xkffhalrk5pisd0wg54fd49d7gdbyjivgi6"; + postInstall = '' + installShellCompletion completions/dog.{bash,fish,zsh} + ''; + meta = with stdenv.lib; { description = "Command-line DNS client"; homepage = "https://dns.lookup.dog"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8eae90ddc4c7..f7a035589206 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1064,6 +1064,8 @@ in cloud-custodian = python3Packages.callPackage ../tools/networking/cloud-custodian { }; + coconut = with python3Packages; toPythonApplication coconut; + cod = callPackage ../tools/misc/cod { }; codespell = with python3Packages; toPythonApplication codespell; @@ -2145,6 +2147,8 @@ in gdrive = callPackage ../applications/networking/gdrive { }; + go-chromecast = callPackage ../applications/video/go-chromecast { }; + go-rice = callPackage ../tools/misc/go.rice {}; go-2fa = callPackage ../tools/security/2fa {}; @@ -3357,7 +3361,9 @@ in dog = callPackage ../tools/system/dog { }; - dogdns = callPackage ../tools/networking/dogdns { }; + dogdns = callPackage ../tools/networking/dogdns { + inherit (darwin.apple_sdk.frameworks) Security; + }; dosfstools = callPackage ../tools/filesystems/dosfstools { }; @@ -3794,6 +3800,8 @@ in feedreader = callPackage ../applications/networking/feedreaders/feedreader {}; + fend = callPackage ../tools/misc/fend { }; + ferm = callPackage ../tools/networking/ferm { }; ffsend = callPackage ../tools/misc/ffsend { }; @@ -9627,7 +9635,7 @@ in stdenv = gcc7Stdenv; }); - llvmPackages_latest = llvmPackages_10; + llvmPackages_latest = llvmPackages_11; llvmPackages_rocm = callPackage ../development/compilers/llvm/rocm { }; @@ -15280,7 +15288,7 @@ in kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5 kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-browser-integration plasma-desktop - plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace + plasma-integration plasma-nm plasma-pa plasma-thunderbolt plasma-vault plasma-workspace plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm systemsettings user-manager xdg-desktop-portal-kde ; @@ -18366,7 +18374,7 @@ in # Hardened Linux hardenedLinuxPackagesFor = kernel': overrides: let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates: - linux_latest_for_hardened = pkgs.linux_5_8; + linux_latest_for_hardened = pkgs.linux_5_9; kernel = (if kernel' == pkgs.linux_latest then linux_latest_for_hardened else kernel').override overrides; in linuxPackagesFor (kernel.override { structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix { @@ -22691,6 +22699,7 @@ in pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { }; mupdf = callPackage ../applications/misc/mupdf { }; + mupdf_1_17 = callPackage ../applications/misc/mupdf/1.17.nix { }; mystem = callPackage ../applications/misc/mystem { }; @@ -24345,6 +24354,7 @@ in windowlab = callPackage ../applications/window-managers/windowlab { }; windowmaker = callPackage ../applications/window-managers/windowmaker { }; + dockapps = callPackage ../applications/window-managers/windowmaker/dockapps { }; wily = callPackage ../applications/editors/wily { }; @@ -24354,16 +24364,8 @@ in write_stylus = libsForQt5.callPackage ../applications/graphics/write_stylus { }; - alsamixer.app = callPackage ../applications/window-managers/windowmaker/dockapps/alsamixer.app.nix { }; - wllvm = callPackage ../development/tools/wllvm { }; - wmcalclock = callPackage ../applications/window-managers/windowmaker/dockapps/wmcalclock.nix { }; - - wmsm.app = callPackage ../applications/window-managers/windowmaker/dockapps/wmsm.app.nix { }; - - wmsystemtray = callPackage ../applications/window-managers/windowmaker/dockapps/wmsystemtray.nix { }; - wmname = callPackage ../applications/misc/wmname { }; wmctrl = callPackage ../tools/X11/wmctrl { }; @@ -24914,7 +24916,6 @@ in exodus = callPackage ../applications/blockchains/exodus { }; - freicoin = callPackage ../applications/blockchains/freicoin.nix { boost = boost155; }; go-ethereum = callPackage ../applications/blockchains/go-ethereum.nix { inherit (darwin) libobjc; inherit (darwin.apple_sdk.frameworks) IOKit; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 95d887d3bc69..06bd9f226e7e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1250,6 +1250,8 @@ in { cnvkit = callPackage ../development/python-modules/cnvkit { }; + coconut = callPackage ../development/python-modules/coconut { }; + cocotb = callPackage ../development/python-modules/cocotb { }; codecov = callPackage ../development/python-modules/codecov { }; @@ -1351,6 +1353,8 @@ in { cppy = callPackage ../development/python-modules/cppy { }; + cpyparsing = callPackage ../development/python-modules/cpyparsing { }; + cram = callPackage ../development/python-modules/cram { }; crashtest = callPackage ../development/python-modules/crashtest { }; @@ -2530,6 +2534,8 @@ in { google-i18n-address = callPackage ../development/python-modules/google-i18n-address { }; + googlemaps = callPackage ../development/python-modules/googlemaps { }; + google-music = callPackage ../development/python-modules/google-music { }; google-music-proto = callPackage ../development/python-modules/google-music-proto { }; @@ -4245,6 +4251,8 @@ in { openrazer-daemon = callPackage ../development/python-modules/openrazer/daemon.nix { }; + openrouteservice = callPackage ../development/python-modules/openrouteservice/default.nix { }; + opentimestamps = callPackage ../development/python-modules/opentimestamps { }; opentracing = callPackage ../development/python-modules/opentracing { };