diff options
28 files changed, 268 insertions, 166 deletions
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml index 59bf0fe806ec..9e8a1bd97db9 100644 --- a/.github/workflows/editorconfig.yml +++ b/.github/workflows/editorconfig.yml @@ -17,6 +17,6 @@ jobs: OS: "linux" ARCH: "amd64" run: | - curl -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz && \ + curl -sSf -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz && \ tar xzf ec-$OS-$ARCH.tar.gz && \ ./bin/ec-$OS-$ARCH -disable-indentation ${{ env.GIT_DIFF }} diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix index ecd1406b4832..0fe9a200a1b6 100644 --- a/nixos/modules/services/networking/yggdrasil.nix +++ b/nixos/modules/services/networking/yggdrasil.nix @@ -1,55 +1,17 @@ { config, lib, pkgs, ... }: with lib; let + keysPath = "/var/lib/yggdrasil/keys.json"; + cfg = config.services.yggdrasil; - configProvided = (cfg.config != {}); - configAsFile = (if configProvided then - toString (pkgs.writeTextFile { - name = "yggdrasil-conf"; - text = builtins.toJSON cfg.config; - }) - else null); - configFileProvided = (cfg.configFile != null); - generateConfig = ( - if configProvided && configFileProvided then - "${pkgs.jq}/bin/jq -s add ${configAsFile} ${cfg.configFile}" - else if configProvided then - "cat ${configAsFile}" - else if configFileProvided then - "cat ${cfg.configFile}" - else - "${cfg.package}/bin/yggdrasil -genconf" - ); + configProvided = cfg.config != { }; + configFileProvided = cfg.configFile != null; in { options = with types; { services.yggdrasil = { enable = mkEnableOption "the yggdrasil system service"; - configFile = mkOption { - type = nullOr str; - default = null; - example = "/run/keys/yggdrasil.conf"; - description = '' - A file which contains JSON configuration for yggdrasil. - - You do not have to supply a complete configuration, as - yggdrasil will use default values for anything which is - omitted. If the encryption and signing keys are omitted, - yggdrasil will generate new ones each time the service is - started, resulting in a random IPv6 address on the yggdrasil - network each time. - - If both this option and <option>config</option> are - supplied, they will be combined, with values from - <option>config</option> taking precedence. - - You can use the command <code>nix-shell -p yggdrasil --run - "yggdrasil -genconf -json"</code> to generate a default - JSON configuration. - ''; - }; - config = mkOption { type = attrs; default = {}; @@ -66,16 +28,21 @@ in { Configuration for yggdrasil, as a Nix attribute set. Warning: this is stored in the WORLD-READABLE Nix store! - Therefore, it is not appropriate for private keys. If you - do not specify the keys, yggdrasil will generate a new set - each time the service is started, creating a random IPv6 - address on the yggdrasil network each time. + Therefore, it is not appropriate for private keys. If you + wish to specify the keys, use <option>configFile</option>. + + If the <option>persistentKeys</option> is enabled then the + keys that are generated during activation will override + those in <option>config</option> or + <option>configFile</option>. + + If no keys are specified then ephemeral keys are generated + and the Yggdrasil interface will have a random IPv6 address + each time the service is started, this is the default. - If you wish to specify the keys, use - <option>configFile</option>. If both - <option>configFile</option> and <option>config</option> are - supplied, they will be combined, with values from - <option>config</option> taking precedence. + If both <option>configFile</option> and <option>config</option> + are supplied, they will be combined, with values from + <option>configFile</option> taking precedence. You can use the command <code>nix-shell -p yggdrasil --run "yggdrasil -genconf"</code> to generate default @@ -83,12 +50,21 @@ in { ''; }; + configFile = mkOption { + type = nullOr path; + default = null; + example = "/run/keys/yggdrasil.conf"; + description = '' + A file which contains JSON configuration for yggdrasil. + See the <option>config</option> option for more information. + ''; + }; + group = mkOption { type = types.str; default = "root"; example = "wheel"; - description = - "Group to grant acces to the Yggdrasil control socket."; + description = "Group to grant acces to the Yggdrasil control socket."; }; openMulticastPort = mkOption { @@ -126,37 +102,64 @@ in { defaultText = "pkgs.yggdrasil"; description = "Yggdrasil package to use."; }; + + persistentKeys = mkEnableOption '' + If enabled then keys will be generated once and Yggdrasil + will retain the same IPv6 address when the service is + restarted. Keys are stored at ${keysPath}. + ''; + }; }; - config = mkIf cfg.enable { - assertions = [ - { assertion = config.networking.enableIPv6; - message = "networking.enableIPv6 must be true for yggdrasil to work"; - } - ]; + config = mkIf cfg.enable (let binYggdrasil = cfg.package + "/bin/yggdrasil"; + in { + assertions = [{ + assertion = config.networking.enableIPv6; + message = "networking.enableIPv6 must be true for yggdrasil to work"; + }]; + + system.activationScripts.yggdrasil = mkIf cfg.persistentKeys '' + if [ ! -e ${keysPath} ] + then + mkdir -p ${builtins.dirOf keysPath} + ${binYggdrasil} -genconf -json \ + | ${pkgs.jq}/bin/jq \ + 'to_entries|map(select(.key|endswith("Key")))|from_entries' \ + > ${keysPath} + chmod 600 ${keysPath} + fi + ''; systemd.services.yggdrasil = { description = "Yggdrasil Network Service"; - path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq; bindsTo = [ "network-online.target" ]; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; - preStart = '' - ${generateConfig} | yggdrasil -normaliseconf -useconf > /run/yggdrasil/yggdrasil.conf - ''; + preStart = + (if configProvided || configFileProvided || cfg.persistentKeys then + "echo " + + + (lib.optionalString configProvided + "'${builtins.toJSON cfg.config}'") + + (lib.optionalString configFileProvided "$(cat ${cfg.configFile})") + + (lib.optionalString cfg.persistentKeys "$(cat ${keysPath})") + + " | ${pkgs.jq}/bin/jq -s add | ${binYggdrasil} -normaliseconf -useconf" + else + "${binYggdrasil} -genconf") + " > /run/yggdrasil/yggdrasil.conf"; serviceConfig = { - ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /run/yggdrasil/yggdrasil.conf"; + ExecStart = + "${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "always"; Group = cfg.group; RuntimeDirectory = "yggdrasil"; RuntimeDirectoryMode = "0750"; - BindReadOnlyPaths = mkIf configFileProvided - [ "${cfg.configFile}" ]; + BindReadOnlyPaths = lib.optional configFileProvided cfg.configFile + ++ lib.optional cfg.persistentKeys keysPath; # TODO: as of yggdrasil 0.3.8 and systemd 243, yggdrasil fails # to set up the network adapter when DynamicUser is set. See @@ -191,6 +194,6 @@ in { # Make yggdrasilctl available on the command line. environment.systemPackages = [ cfg.package ]; - }; - meta.maintainers = with lib.maintainers; [ gazally ]; + }); + meta.maintainers = with lib.maintainers; [ gazally ehmry ]; } diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index c7e8620729ab..a69e47431738 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -40,6 +40,7 @@ let ${optionalString cfg.startDbusSession '' if test -z "$DBUS_SESSION_BUS_ADDRESS"; then ${config.systemd.package}/bin/systemctl --user start dbus.socket + export `${config.systemd.package}/bin/systemctl --user show-environment | grep '^DBUS_SESSION_BUS_ADDRESS'` fi ''} diff --git a/nixos/modules/virtualisation/hyperv-image.nix b/nixos/modules/virtualisation/hyperv-image.nix index be2f12b7d014..fabc9113dfc4 100644 --- a/nixos/modules/virtualisation/hyperv-image.nix +++ b/nixos/modules/virtualisation/hyperv-image.nix @@ -37,6 +37,7 @@ in { name = cfg.vmDerivationName; postVM = '' ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -o subformat=dynamic -O vhdx $diskImage $out/${cfg.vmFileName} + rm $diskImage ''; format = "raw"; diskSize = cfg.baseImageSize; diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix index 468fcf671274..9ceb79747339 100644 --- a/nixos/tests/yggdrasil.nix +++ b/nixos/tests/yggdrasil.nix @@ -85,6 +85,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : { MulticastInterfaces = [ "eth1" ]; LinkLocalTCPPort = 43210; }; + persistentKeys = true; }; }; }; diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix index 8aaa7faa54d8..75edce66b94f 100644 --- a/pkgs/applications/misc/dbeaver/default.nix +++ b/pkgs/applications/misc/dbeaver/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "dbeaver-ce"; - version = "7.0.4"; + version = "7.0.5"; desktopItem = makeDesktopItem { name = "dbeaver"; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; - sha256 = "1d36d2rzsr8c048w0jyacvmgh46jamr9nzs22rmpm7xbzlnvdg4k"; + sha256 = "082a0dszdlynpf7lrkwijwcs2x8xmbzrjr8rrwmrmkznhzj50gqf"; }; installPhase = '' diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index 151ce5edc355..b3261431ccd3 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -18,6 +18,7 @@ , gtk3 , libpulseaudio , libuuid +, libdrm , libX11 , libXcomposite , libXcursor @@ -29,6 +30,7 @@ , libXrender , libXScrnSaver , libXtst +, mesa , nspr , nss , pango @@ -56,6 +58,7 @@ rpath = lib.makeLibraryPath [ glib gnome2.GConf gtk3 + libdrm libpulseaudio libX11 libXScrnSaver @@ -69,6 +72,7 @@ rpath = lib.makeLibraryPath [ libXrender libXtst libuuid + mesa nspr nss pango @@ -82,11 +86,11 @@ in stdenv.mkDerivation rec { pname = "brave"; - version = "1.7.92"; + version = "1.8.95"; src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "1f262xh88c83m6ixqxc69z8kvkl3qbjc6jnv2g8n0flw8s70hs7z"; + sha256 = "1mlffg2v31b42gj354w5yv0yzlqc2f4f3cmdnddzkplw10jgw6f1"; }; dontConfigure = true; diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 029ec23856ab..92307547531d 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -15,11 +15,11 @@ assert pulseaudioSupport -> libpulseaudio != null; let inherit (stdenv.lib) concatStringsSep makeBinPath optional; - version = "5.0.403652.0509"; + version = "5.0.408598.0517"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; - sha256 = "00bprrfc7mmf3yg6jddqm2qr73m2zycr8hy19dxqpzld9gbvyzik"; + sha256 = "1irpnrxl91pc9naz0d9m252scnbfdbdi7yh19hd3arvk3fppjk7w"; }; }; diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix new file mode 100644 index 000000000000..a890aefe8cd6 --- /dev/null +++ b/pkgs/applications/networking/termius/default.nix @@ -0,0 +1,68 @@ +{ atomEnv +, autoPatchelfHook +, dpkg +, fetchurl +, makeDesktopItem +, makeWrapper +, stdenv +, udev +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "termius"; + version = "5.10.1"; + + src = fetchurl { + url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb"; + sha256 = "04zh0zzyp906lf6mz3xzxybn2a55rv3vvrj0m12gnrb8kjb3pk5s"; + }; + + desktopItem = makeDesktopItem { + categories = "Network;"; + comment = "The SSH client that works on Desktop and Mobile"; + desktopName = "Termius"; + exec = "termius-app"; + genericName = "Cross-platform SSH client"; + icon = "termius-app"; + name = "termius-app"; + }; + + dontBuild = true; + dontConfigure = true; + dontPatchELF = true; + dontWrapGApps = true; + + nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapGAppsHook ]; + + buildInputs = atomEnv.packages; + + unpackPhase = "dpkg-deb -x $src ."; + + installPhase = '' + mkdir -p "$out/bin" + cp -R "opt" "$out" + cp -R "usr/share" "$out/share" + chmod -R g-w "$out" + + # Desktop file + mkdir -p "$out/share/applications" + cp "${desktopItem}/share/applications/"* "$out/share/applications" + ''; + + runtimeDependencies = [ udev.lib ]; + + postFixup = '' + makeWrapper $out/opt/Termius/termius-app $out/bin/termius-app \ + "''${gappsWrapperArgs[@]}" + ''; + + meta = with stdenv.lib; { + description = "A cross-platform SSH client with cloud data sync and more"; + homepage = "https://termius.com/"; + downloadPage = "https://termius.com/linux/"; + license = licenses.unfree; + maintainers = with maintainers; [ filalex77 ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix index 2b7c91751e54..4a9ed0cb86dc 100644 --- a/pkgs/applications/science/electronics/kicad/versions.nix +++ b/pkgs/applications/science/electronics/kicad/versions.nix @@ -3,49 +3,49 @@ { "kicad" = { kicadVersion = { - version = "5.1.5"; + version = "5.1.6"; src = { - rev = "52549c5d09cbfb0e807fcbcb07819bc9f7861544"; - sha256 = "15h3rwisjss3fdc9bam9n2wq94slhacc3fbg14bnzf4n5agsnv5b"; + rev = "c6e7f7de7df655fd59b57823499efc443009de6b"; + sha256 = "1pa3z0h0679jmgxlzc833h6q85b5paxdp69kf2h93vkaryj58622"; }; }; libVersion = { - version = "5.1.5"; + version = "5.1.6"; libSources = { - i18n.rev = "5122cbec6563fb7c8d6f960a639ac470353af91b"; - i18n.sha256 = "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3"; - symbols.rev = "dd122ec170b49e032179511c9d263126f52f4020"; - symbols.sha256 = "048b07ffsaav1ssrchw2p870lvb4rsyb5vnniy670k7q9p16qq6h"; - templates.rev = "94761f10d06582b33cd55ea2149d72f269f65580"; - templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; - footprints.rev = "e076f8f271f8db96d5fec45616b7554caebb7ef7"; - footprints.sha256 = "1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j"; - packages3d.rev = "8d233cdcb109aa1c3b8ba4c934ee31f6a3b6e1f4"; - packages3d.sha256 = "0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz"; + i18n.rev = "5ad171ce5c8d90f4740517c2adecb310d8be51bd"; + i18n.sha256 = "0qryi8xjm23ka363zfl7bbga0v5c31fr3d4nyxp3m168vkv9zhha"; + symbols.rev = "5150eaa2a7d15cfc6bb1459c527c4ebaa66d7708"; + symbols.sha256 = "12w3rdy085drlikkpb27n9ni7cyg9l0pqy7hnr86cxjcw3l5wcx6"; + templates.rev = "9213d439f757e6049b7e54f3ea08272a0d0f44a9"; + templates.sha256 = "1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg"; + footprints.rev = "a61b4e49762fb355f654e65a1c7db1aaf7bb2332"; + footprints.sha256 = "1kmf91a5mmvj9izrv40mkaw1w36yjgn8daczd9rq2wlmd0rdp1zx"; + packages3d.rev = "150ff1caf0b01dc04c84f4f966f4f88fedfa8f8c"; + packages3d.sha256 = "0b9jglf77fy0n0r8xs4yqkv6zvipyfvp0z5dnqlzp32csy5aqpi1"; }; }; }; "kicad-unstable" = { kicadVersion = { - version = "2020-05-06"; + version = "2020-05-14"; src = { - rev = "c92181621e2e51dc8aae1bd9f4483bb3301ffaa5"; - sha256 = "0s50xn5gbjy7yxnp9yiynxvxi2mkcrp6yghgdzclpm40rnfyi0v5"; + rev = "3b8465359135e9f6dea4b0a5fcb62377753fe890"; + sha256 = "18xsg2s0pxx176rnblygq1f8xpmryw59lcjzm897gifz0sj0nhvx"; }; }; libVersion = { - version = "2020-05-06"; + version = "2020-05-14"; libSources = { - i18n.rev = "f29cab831eb823165fa2c5efab5d9c9b443e62e2"; - i18n.sha256 = "0cc0zvpml75yxphay3281f762ls08fzvv538cd5hmkr8xqlj3vbi"; - symbols.rev = "d4245ae8cf633095a0994ab01492bd56cd124112"; - symbols.sha256 = "11pynjgji3skw42q5mryz98f8z418k43jy6s2k90w6jv638z3cb0"; + i18n.rev = "c4460d0d8e1075691d43dc928ffc332fa1282592"; + i18n.sha256 = "1gkrbfyfzsr5q7sahhlyhgfpfwm6b83lzf0q1v854gwxdfabvi0y"; + symbols.rev = "614b5f6256fbae82c2bba399086506bbe435bd94"; + symbols.sha256 = "10ix3wdcl832r4ha5q8phpx8j97gzngb41nczdli1qkhjmiw9y8r"; templates.rev = "7db8d4d0ea0711f1961d117853547fb3edbc3857"; templates.sha256 = "1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg"; - footprints.rev = "3bff23ee339bc48490bb39deba5d8b2f1f42733e"; - footprints.sha256 = "0430r8k49ib6w1sjr8fx42szbz960yhlzg4w80jl5bwasq67nqwd"; - packages3d.rev = "889a3dd550233ec51baed4a04a01d4cc64a8d747"; - packages3d.sha256 = "152zv4j51v8skqlvrabblpcqpbn5yf3grisjj8vnwf7kdd41chb2"; + footprints.rev = "240804c6c89b66af808379e1fc94ea6011433cbe"; + footprints.sha256 = "1jh71004lrn7bl384zfmbqqdbs28gjb6diwn6hyb587jpivdnl3g"; + packages3d.rev = "9b560cf94a35b692ca516d37bdaf392ce10e549d"; + packages3d.sha256 = "0b9jglf77fy0n0r8xs4yqkv6zvipyfvp0z5dnqlzp32csy5aqpi1"; }; }; }; diff --git a/pkgs/applications/science/misc/foldingathome/control.nix b/pkgs/applications/science/misc/foldingathome/control.nix index 72217689ff18..91c3b8c779cd 100644 --- a/pkgs/applications/science/misc/foldingathome/control.nix +++ b/pkgs/applications/science/misc/foldingathome/control.nix @@ -8,7 +8,7 @@ }: let majMin = stdenv.lib.versions.majorMinor version; - version = "7.6.9"; + version = "7.6.13"; python = python2.withPackages ( @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v${majMin}/fahcontrol_${version}-1_all.deb"; - sha256 = "1fh7ybbp3qlqzh18c4gva3aaymv7d31mqchrv235a1axldha1s9s"; + sha256 = "0qfvhwc29cgqkwf2bkhq4gr2d1c4jgccfs58916ss03n4rwz9gng"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/misc/foldingathome/viewer.nix b/pkgs/applications/science/misc/foldingathome/viewer.nix index a35df650300b..cdeed6536efa 100644 --- a/pkgs/applications/science/misc/foldingathome/viewer.nix +++ b/pkgs/applications/science/misc/foldingathome/viewer.nix @@ -11,7 +11,7 @@ }: let majMin = stdenv.lib.versions.majorMinor version; - version = "7.6.9"; + version = "7.6.13"; in stdenv.mkDerivation rec { inherit version; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://download.foldingathome.org/releases/public/release/fahviewer/debian-stable-64bit/v${majMin}/fahviewer_${version}_amd64.deb"; - sha256 = "04wr86g11wpmsczzwzak4gvalcihb47rn3zp6qriawhxyac9nf93"; + sha256 = "09yfvk16j1iwx8h1xg678ks3bc8760gfdn7n32j8r893kd32cwyk"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 50b67f455581..8bb5d5aca1f4 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -184,6 +184,8 @@ in stdenv.mkDerivation rec { # Ensure youtube-dl is available in $PATH for mpv wrapperFlags = + ''--prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \'' + + ''--prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \'' + ''--prefix PATH : "${luaEnv}/bin" \'' + optionalString youtubeSupport '' --prefix PATH : "${youtube-dl}/bin" \ diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index f7c49526fb1f..69378da2b839 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -197,9 +197,9 @@ rec { }; docker_19_03 = makeOverridable dockerGen { - version = "19.03.8"; - rev = "afacb8b7f0d8d4f9d2a8e8736e9c993e672b41f3"; - sha256 = "15iq16rlnkw78lvapcfpbnsnxhdjbvfvgzg3xzxhpdg1dmq40b6j"; + version = "19.03.9"; + rev = "9d988398e765e4b97f27f93c4d04b272ac64c9c7"; + sha256 = "0g2jpmqryfpvhdkapl8syi4hccx6czpihp1p1gsp1mfwz9aycsqv"; runcRev = "dc9208a3303feef5b3839f4323d9beb36df0a9dd"; # v1.0.0-rc10 runcSha256 = "0pi3rvj585997m4z9ljkxz2z9yxf9p2jr0pmqbqrc7bc95f5hagk"; containerdRev = "7ad184331fa3e55e52b890ea95e65ba581ae3429"; # v1.2.13 diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix index 50de0c88a5be..b559ef96f439 100644 --- a/pkgs/development/libraries/arrow-cpp/default.nix +++ b/pkgs/development/libraries/arrow-cpp/default.nix @@ -1,24 +1,24 @@ { stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames, autoconf, boost , brotli, cmake, flatbuffers, gflags, glog, gtest, lz4, perl -, python, rapidjson, snappy, thrift, which, zlib, zstd +, python3, rapidjson, snappy, thrift, which, zlib, zstd , enableShared ? true }: let parquet-testing = fetchFromGitHub { owner = "apache"; repo = "parquet-testing"; - rev = "46c9e977f58f6c5ef1b81f782f3746b3656e5a8c"; - sha256 = "1z2s6zh58nf484s0yraw7b1aqgx66dn2wzp1bzv9ndq03msklwly"; + rev = "bcd9ebcf9204a346df47204fe21b85c8d0498816"; + sha256 = "0m16pqzbvxiaradq088q5ai6fwnz9srbap996397znwppvva479b"; }; in stdenv.mkDerivation rec { pname = "arrow-cpp"; - version = "0.16.0"; + version = "0.17.1"; src = fetchurl { url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz"; - sha256 = "1xdp1yni9i1cpml326s78qql1g832m800h7zjlqmk89983g94696"; + sha256 = "18lyvbibfdw3w77cy5whbq7c6mshn5fg2bhvgw7v226a7cs1rifb"; }; sourceRoot = "apache-arrow-${version}/cpp"; @@ -28,19 +28,18 @@ in stdenv.mkDerivation rec { # ./cpp/cmake_modules/ThirdpartyToolchain.cmake # ./cpp/thirdparty/versions.txt url = - "https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2"; - sha256 = "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl"; + "https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2"; + sha256 = "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl"; }; patches = [ # patch to fix python-test ./darwin.patch - # Adjust CMake target names to make -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON work. - # Remove this when updating to the next version. + + # fix musl build (fetchpatch { - name = "arrow-use-upstream-cmake-target-names.patch"; - url = "https://github.com/apache/arrow/commit/396861b38d2f4e805db7c2ecd2c96fff0ca2678b.patch"; - sha256 = "0ki7nx858374anvwyi4szz5hgnnzv4fghdd05c38bzry9rfljgb1"; + url = "https://github.com/apache/arrow/commit/de4168786dfd8ab932f48801e0a7a6b8a370c19d.diff"; + sha256 = "1nl4y1rwdl0gn67v7l05ibc4lwkn6x7fhwbmslmm08cqmwfjsx3y"; stripLen = 1; }) ] ++ lib.optionals (!enableShared) [ @@ -66,8 +65,9 @@ in stdenv.mkDerivation rec { thrift zlib zstd - python.pkgs.python - python.pkgs.numpy + ] ++ lib.optionals enableShared [ + python3.pkgs.python + python3.pkgs.numpy ]; preConfigure = '' @@ -92,8 +92,6 @@ in stdenv.mkDerivation rec { # Parquet options: "-DARROW_PARQUET=ON" "-DPARQUET_BUILD_EXECUTABLES=ON" - "-DTHRIFT_COMPILER=${thrift}/bin/thrift" - "-DTHRIFT_VERSION=${thrift.version}" ] ++ lib.optionals (!enableShared) [ "-DARROW_BUILD_SHARED=OFF" "-DARROW_BOOST_USE_SHARED=OFF" diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix index bd933205f6a9..79406eaa0d5e 100644 --- a/pkgs/development/python-modules/awkward/default.nix +++ b/pkgs/development/python-modules/awkward/default.nix @@ -3,7 +3,6 @@ , fetchPypi , numpy , pandas -, pyarrow , pytestrunner , pytest , h5py @@ -19,7 +18,7 @@ buildPythonPackage rec { }; nativeBuildInputs = [ pytestrunner ]; - checkInputs = [ pandas pyarrow pytest h5py ]; + checkInputs = [ pandas pytest h5py ]; propagatedBuildInputs = [ numpy ]; checkPhase = '' diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix index e24ca0fa78e6..82f8f5da3d9c 100644 --- a/pkgs/development/python-modules/pyarrow/default.nix +++ b/pkgs/development/python-modules/pyarrow/default.nix @@ -1,28 +1,19 @@ -{ lib, fetchpatch, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, futures, hypothesis, numpy, pandas, pytestCheckHook, pytest-lazy-fixture, pkgconfig, setuptools_scm, six }: +{ lib, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, futures, hypothesis, numpy, pandas, pytestCheckHook, pytest-lazy-fixture, pkgconfig, setuptools_scm, six }: let - _arrow-cpp = arrow-cpp.override { inherit python; }; + _arrow-cpp = arrow-cpp.override { python3 = python; }; in buildPythonPackage rec { pname = "pyarrow"; + disabled = !isPy3k; inherit (_arrow-cpp) version src; - patches = [ - # Remove when updating pkgs.arrow-cpp to 0.17 - (fetchpatch { - name = "ARROW-8106-fix-conversion-test"; - url = "https://github.com/apache/arrow/commit/af20bbff30adc560d7e57dd921345d00cc8b870c.patch"; - sha256 = "0ihpw589vh35va31ajzy5zpx3bqd9gdn3342rghi03r245kch9zd"; - stripLen = 1; - }) - ]; - sourceRoot = "apache-arrow-${version}/python"; nativeBuildInputs = [ cmake cython pkgconfig setuptools_scm ]; - propagatedBuildInputs = [ numpy six ] ++ lib.optionals (!isPy3k) [ futures ]; + propagatedBuildInputs = [ numpy six ]; checkInputs = [ hypothesis pandas pytestCheckHook pytest-lazy-fixture ]; PYARROW_BUILD_TYPE = "release"; diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix index ca625a28c94b..ca07a1d72676 100644 --- a/pkgs/development/tools/misc/tokei/default.nix +++ b/pkgs/development/tools/misc/tokei/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "tokei"; - version = "11.1.1"; + version = "11.2.0"; src = fetchFromGitHub { owner = "XAMPPRocky"; repo = pname; rev = "v${version}"; - sha256 = "1sribqcyalgl66im92pmla0hnp07zvg3pbxxakm7jk5l6p13wiw3"; + sha256 = "1nyv73bawmshzzp8hkbcac5bgq0yf8f51ps5hycdw0c5qhrsjwns"; }; - cargoSha256 = "0jcy3p896ykc6s3m21pnh4jv4lhpvhzlrrl1y67ink2lqkamdhvv"; + cargoSha256 = "18a0rg3hgisjd6zh4dk6rflaipmrxxszpigqg8fa816rg0f4bdc7"; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 563735deeeb4..581316dc74db 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -42,12 +42,7 @@ let inherit rev sha256; }; - patches = [ (fetchpatch { - # https://github.com/openzfs/zfs/pull/9961#issuecomment-585827288 - # will be included in zfs 0.5.4 as well - url = "https://gist.githubusercontent.com/satmandu/67cbae9c4d461be0e64428a1707aef1c/raw/ba0fb65f17ccce5b710e4ce86a095de577f7dfe1/k5.6.3.patch"; - sha256 = "0zay7cz078v7wcnk7xl96blp7j6y64q1migb91c7h66zkpikqvgb"; - }) ] ++ extraPatches; + patches = [ ] ++ extraPatches; postPatch = optionalString buildKernel '' patchShebangs scripts @@ -192,9 +187,9 @@ in { # incompatibleKernelVersion = "4.20"; # this package should point to the latest release. - version = "0.8.3"; + version = "0.8.4"; - sha256 = "0viql8rnqr32diapkpdsrwm6xj8vw5vi4dk2x2m7s7g0q2zdkahw"; + sha256 = "1hl4n900d24gl4vd65qdzq4m62b7bpvckldazcbd1xqcn8xhi6wp"; }; zfsUnstable = common { @@ -202,9 +197,9 @@ in { # incompatibleKernelVersion = "4.19"; # this package should point to a version / git revision compatible with the latest kernel release - version = "0.8.3"; + version = "0.8.4"; - sha256 = "0viql8rnqr32diapkpdsrwm6xj8vw5vi4dk2x2m7s7g0q2zdkahw"; + sha256 = "1hl4n900d24gl4vd65qdzq4m62b7bpvckldazcbd1xqcn8xhi6wp"; isUnstable = true; }; } diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index b641699c733f..a7581ccbb119 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -10,11 +10,11 @@ assert enablePython -> python3 != null; stdenv.mkDerivation rec { pname = "bind"; - version = "9.14.11"; + version = "9.14.12"; src = fetchurl { url = "https://ftp.isc.org/isc/bind9/${version}/${pname}-${version}.tar.gz"; - sha256 = "1v4y9308w0gd98gjzni4cgxmh8g1s37lbnnkyhsn70xs3xki5b4c"; + sha256 = "1j7ldvdschmvzxrbajjhmdsl2iqxc1lm64vk0a5sdykxpy9y8kcw"; }; outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ]; diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix index 4964755332df..f596934a4298 100644 --- a/pkgs/servers/dns/knot-resolver/default.nix +++ b/pkgs/servers/dns/knot-resolver/default.nix @@ -16,11 +16,11 @@ lua = luajitPackages; unwrapped = stdenv.mkDerivation rec { pname = "knot-resolver"; - version = "5.1.0"; + version = "5.1.1"; src = fetchurl { url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz"; - sha256 = "9ab179d1dccc6ba59aacac81a4cd10a039615c7a846d9f77f26b851da25d1a86"; + sha256 = "f72214046df8aae2b1a5c6d1ad0bc8b166aa060df5b008f6e88b4f6ba79cbf4e"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix index 7d6fa7d9c91b..10a18ab1d458 100644 --- a/pkgs/servers/dns/pdns-recursor/default.nix +++ b/pkgs/servers/dns/pdns-recursor/default.nix @@ -8,11 +8,11 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "pdns-recursor"; - version = "4.3.0"; + version = "4.3.1"; src = fetchurl { url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2"; - sha256 = "13v2iah7z10wc43v9agcjrzi3wds4jna8f0b7ph35nyzhzr31h9b"; + sha256 = "1n9gymis0h1grgg63ig3kk9cb27ayy1w6s8hcn8n4g5dzi90h8sl"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix index de67de4fa798..264afc68b67f 100644 --- a/pkgs/tools/misc/ffsend/default.nix +++ b/pkgs/tools/misc/ffsend/default.nix @@ -28,9 +28,9 @@ buildRustPackage rec { cargoSha256 = "0svmbay9waaq9fpc8lg1nys6l35xsjvkri5v1frlgxida5dzghpq"; nativeBuildInputs = [ cmake pkgconfig installShellFiles ]; - buildInputs = [ openssl ] - ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security AppKit ]) - ; + buildInputs = + if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security AppKit ]) + else [ openssl ]; preBuild = stdenv.lib.optionalString (x11Support && usesX11) ( if preferXsel && xsel != null then '' diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix new file mode 100644 index 000000000000..bd4ff86c9949 --- /dev/null +++ b/pkgs/tools/package-management/nix-update/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonApplication +, fetchFromGitHub +, nix +, nix-prefetch +}: + +buildPythonApplication rec { + pname = "nix-update"; + version = "0.1"; + + src = fetchFromGitHub { + owner = "Mic92"; + repo = pname; + rev = version; + sha256 = "0mw31n7kqfr7fskkxp58b0wprxj1pj6n1zs6ymvvl548gs5rgn2s"; + }; + + makeWrapperArgs = [ + "--prefix" "PATH" ":" (lib.makeBinPath [ nix nix-prefetch ]) + ]; + + checkPhase = '' + $out/bin/nix-update --help + ''; + + meta = with lib; { + description = "Swiss-knife for updating nix packages"; + inherit (src.meta) homepage; + license = licenses.mit; + maintainers = with maintainers; [ mic92 zowoq ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index afd1a2990ff4..f6612caa3ad4 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -2,19 +2,19 @@ rustPlatform.buildRustPackage rec { pname = "mdcat"; - version = "0.16.0"; + version = "0.17.0"; src = fetchFromGitHub { owner = "lunaryorn"; repo = pname; rev = "mdcat-${version}"; - sha256 = "10svzq7656lynfcgnbyaibfvv48i4289ymxfc0bn0212biyrl1zb"; + sha256 = "04kmlsg13mqlcpi5as760ycrqmznaaj7840hzxkri29mj05mgzq0"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security; - cargoSha256 = "05nh3dfr7mdw21sdavyyjhr8sa4jcfqzwizbgg92ib7r834ir3m0"; + cargoSha256 = "1lpivksjiyyg5ap97ccpq30q4n09sf259ds0hj49wihjrgd0h0c7"; checkInputs = [ ansi2html ]; checkPhase = '' @@ -22,6 +22,8 @@ rustPlatform.buildRustPackage rec { cargo test -- --skip terminal::iterm2 \ --skip magic::tests::detect_mimetype_of_svg_image \ --skip magic::tests::detect_mimetype_of_png_image \ + --skip magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length \ + --skip magic::tests::detect_mimetype_of_magic_param_bytes_max_length \ --skip resources::tests::read_url_with_http_url_fails_when_status_404 \ --skip resources::tests::read_url_with_http_url_returns_content_when_status_200 ''; diff --git a/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix b/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix index 2c2444de4e52..7da4a10c56ec 100644 --- a/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix +++ b/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix @@ -46,6 +46,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/GoogleCloudPlatform/compute-image-packages"; description = "OS Login Guest Environment for Google Compute Engine"; license = licenses.asl20; - maintainers = with maintainers; [ adisbladis flokli ]; + maintainers = with maintainers; [ flokli ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c60a8d72dd72..50e3812a4aa3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6953,6 +6953,8 @@ in pythonPackages = python3Packages; }; + termius = callPackage ../applications/networking/termius { }; + termplay = callPackage ../tools/misc/termplay { }; tewisay = callPackage ../tools/misc/tewisay { }; @@ -25754,6 +25756,8 @@ in nix-query-tree-viewer = callPackage ../tools/nix/nix-query-tree-viewer { }; + nix-update = python3Packages.callPackage ../tools/package-management/nix-update { }; + nix-update-source = callPackage ../tools/package-management/nix-update-source {}; nix-script = callPackage ../tools/nix/nix-script {}; diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index c7db64b99f6f..6f331b20d3fc 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -166,7 +166,6 @@ in { }); arrow-cpp = super.arrow-cpp.override { enableShared = false; - python = { pkgs = { python = null; numpy = null; }; }; }; boost = super.boost.override { enableStatic = true; |