diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 99b64520ffa..c16ca81e262 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7241,6 +7241,12 @@ githubId = 918448; name = "Anthony Lodi"; }; + loicreynier = { + email = "loic@loireynier.fr"; + github = "loicreynier"; + githubId = 88983487; + name = "Loïc Reynier"; + }; lopsided98 = { email = "benwolsieffer@gmail.com"; github = "lopsided98"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 396de8cd77c..a23b2489abe 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -306,6 +306,12 @@ with many features. + + + pacemaker + cluster resource manager + +
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 2f730de737c..390ec7b2add 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -87,6 +87,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [blocky](https://0xerr0r.github.io/blocky/), fast and lightweight DNS proxy as ad-blocker for local network with many features. +- [pacemaker](https://clusterlabs.org/pacemaker/) cluster resource manager + ## Backward Incompatibilities {#sec-release-22.05-incompatibilities} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 13703968167..68f9c6c1227 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -302,6 +302,7 @@ ./services/backup/znapzend.nix ./services/blockchain/ethereum/geth.nix ./services/backup/zrepl.nix + ./services/cluster/corosync/default.nix ./services/cluster/hadoop/default.nix ./services/cluster/k3s/default.nix ./services/cluster/kubernetes/addons/dns.nix @@ -314,6 +315,7 @@ ./services/cluster/kubernetes/pki.nix ./services/cluster/kubernetes/proxy.nix ./services/cluster/kubernetes/scheduler.nix + ./services/cluster/pacemaker/default.nix ./services/cluster/spark/default.nix ./services/computing/boinc/client.nix ./services/computing/foldingathome/client.nix diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index d552c751afd..a448727be77 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -40,13 +40,15 @@ in KDEDIRS = [ "" ]; QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" ]; QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ]; - GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ]; + GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ]; XDG_CONFIG_DIRS = [ "/etc/xdg" ]; XDG_DATA_DIRS = [ "/share" ]; MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ]; LIBEXEC_PATH = [ "/lib/libexec" ]; }; + environment.pathsToLink = [ "/lib/gtk-2.0" "/lib/gtk-3.0" "/lib/gtk-4.0" ]; + environment.extraInit = '' unset ASPELL_CONF diff --git a/nixos/modules/services/cluster/corosync/default.nix b/nixos/modules/services/cluster/corosync/default.nix new file mode 100644 index 00000000000..b4144917fee --- /dev/null +++ b/nixos/modules/services/cluster/corosync/default.nix @@ -0,0 +1,112 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.corosync; +in +{ + # interface + options.services.corosync = { + enable = mkEnableOption "corosync"; + + package = mkOption { + type = types.package; + default = pkgs.corosync; + defaultText = literalExpression "pkgs.corosync"; + description = "Package that should be used for corosync."; + }; + + clusterName = mkOption { + type = types.str; + default = "nixcluster"; + description = "Name of the corosync cluster."; + }; + + extraOptions = mkOption { + type = with types; listOf str; + default = []; + description = "Additional options with which to start corosync."; + }; + + nodelist = mkOption { + description = "Corosync nodelist: all cluster members."; + default = []; + type = with types; listOf (submodule { + options = { + nodeid = mkOption { + type = int; + description = "Node ID number"; + }; + name = mkOption { + type = str; + description = "Node name"; + }; + ring_addrs = mkOption { + type = listOf str; + description = "List of addresses, one for each ring."; + }; + }; + }); + }; + }; + + # implementation + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + environment.etc."corosync/corosync.conf".text = '' + totem { + version: 2 + secauth: on + cluster_name: ${cfg.clusterName} + transport: knet + } + + nodelist { + ${concatMapStrings ({ nodeid, name, ring_addrs }: '' + node { + nodeid: ${toString nodeid} + name: ${name} + ${concatStrings (imap0 (i: addr: '' + ring${toString i}_addr: ${addr} + '') ring_addrs)} + } + '') cfg.nodelist} + } + + quorum { + # only corosync_votequorum is supported + provider: corosync_votequorum + wait_for_all: 0 + ${optionalString (builtins.length cfg.nodelist < 3) '' + two_node: 1 + ''} + } + + logging { + to_syslog: yes + } + ''; + + environment.etc."corosync/uidgid.d/root".text = '' + # allow pacemaker connection by root + uidgid { + uid: 0 + gid: 0 + } + ''; + + systemd.packages = [ cfg.package ]; + systemd.services.corosync = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + StateDirectory = "corosync"; + StateDirectoryMode = "0700"; + }; + }; + + environment.etc."sysconfig/corosync".text = lib.optionalString (cfg.extraOptions != []) '' + COROSYNC_OPTIONS="${lib.escapeShellArgs cfg.extraOptions}" + ''; + }; +} diff --git a/nixos/modules/services/cluster/pacemaker/default.nix b/nixos/modules/services/cluster/pacemaker/default.nix new file mode 100644 index 00000000000..7eeadffcc58 --- /dev/null +++ b/nixos/modules/services/cluster/pacemaker/default.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.pacemaker; +in +{ + # interface + options.services.pacemaker = { + enable = mkEnableOption "pacemaker"; + + package = mkOption { + type = types.package; + default = pkgs.pacemaker; + defaultText = literalExpression "pkgs.pacemaker"; + description = "Package that should be used for pacemaker."; + }; + }; + + # implementation + config = mkIf cfg.enable { + assertions = [ { + assertion = config.services.corosync.enable; + message = '' + Enabling services.pacemaker requires a services.corosync configuration. + ''; + } ]; + + environment.systemPackages = [ cfg.package ]; + + # required by pacemaker + users.users.hacluster = { + isSystemUser = true; + group = "pacemaker"; + home = "/var/lib/pacemaker"; + }; + users.groups.pacemaker = {}; + + systemd.tmpfiles.rules = [ + "d /var/log/pacemaker 0700 hacluster pacemaker -" + ]; + + systemd.packages = [ cfg.package ]; + systemd.services.pacemaker = { + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + StateDirectory = "pacemaker"; + StateDirectoryMode = "0700"; + }; + }; + }; +} diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index 3bf70c4aa4f..ddd216ca7fd 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1008,7 +1008,11 @@ in #InaccessiblePaths = [ "-+${runDir}/root" ]; UMask = "0066"; BindPaths = [ stateDir ]; - BindReadOnlyPaths = [ storeDir "/etc" ]; + BindReadOnlyPaths = [ storeDir "/etc" ] ++ + optionals config.services.resolved.enable [ + "/run/systemd/resolve/stub-resolv.conf" + "/run/systemd/resolve/resolv.conf" + ]; AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE"; # ProtectClock= adds DeviceAllow=char-rtc r diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 001518d02cb..eee99fb5e97 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -384,6 +384,7 @@ in os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; osrm-backend = handleTest ./osrm-backend.nix {}; overlayfs = handleTest ./overlayfs.nix {}; + pacemaker = handleTest ./pacemaker.nix {}; packagekit = handleTest ./packagekit.nix {}; pam-file-contents = handleTest ./pam/pam-file-contents.nix {}; pam-oath-login = handleTest ./pam/pam-oath-login.nix {}; @@ -433,6 +434,7 @@ in prometheus = handleTest ./prometheus.nix {}; prometheus-exporters = handleTest ./prometheus-exporters.nix {}; prosody = handleTest ./xmpp/prosody.nix {}; + prosody-mysql = handleTest ./xmpp/prosody-mysql.nix {}; proxy = handleTest ./proxy.nix {}; prowlarr = handleTest ./prowlarr.nix {}; pt2-clone = handleTest ./pt2-clone.nix {}; diff --git a/nixos/tests/pacemaker.nix b/nixos/tests/pacemaker.nix new file mode 100644 index 00000000000..68455761495 --- /dev/null +++ b/nixos/tests/pacemaker.nix @@ -0,0 +1,110 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: rec { + name = "pacemaker"; + meta = with pkgs.lib.maintainers; { + maintainers = [ astro ]; + }; + + nodes = + let + node = i: { + networking.interfaces.eth1.ipv4.addresses = [ { + address = "192.168.0.${toString i}"; + prefixLength = 24; + } ]; + + services.corosync = { + enable = true; + clusterName = "zentralwerk-network"; + nodelist = lib.imap (i: name: { + nodeid = i; + inherit name; + ring_addrs = [ + (builtins.head nodes.${name}.networking.interfaces.eth1.ipv4.addresses).address + ]; + }) (builtins.attrNames nodes); + }; + environment.etc."corosync/authkey" = { + source = builtins.toFile "authkey" + # minimum length: 128 bytes + "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest"; + mode = "0400"; + }; + + services.pacemaker.enable = true; + + # used for pacemaker resource + systemd.services.ha-cat = { + description = "Highly available netcat"; + serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l discard"; + }; + }; + in { + node1 = node 1; + node2 = node 2; + node3 = node 3; + }; + + # sets up pacemaker with resources configuration, then crashes a + # node and waits for service restart on another node + testScript = + let + resources = builtins.toFile "cib-resources.xml" '' + + + + + + + + + + ''; + in '' + import re + import time + + start_all() + + ${lib.concatMapStrings (node: '' + ${node}.wait_until_succeeds("corosync-quorumtool") + ${node}.wait_for_unit("pacemaker.service") + '') (builtins.attrNames nodes)} + + # No STONITH device + node1.succeed("crm_attribute -t crm_config -n stonith-enabled -v false") + # Configure the cat resource + node1.succeed("cibadmin --replace --scope resources --xml-file ${resources}") + + # wait until the service is started + while True: + output = node1.succeed("crm_resource -r cat --locate") + match = re.search("is running on: (.+)", output) + if match: + for machine in machines: + if machine.name == match.group(1): + current_node = machine + break + time.sleep(1) + + current_node.log("Service running here!") + current_node.crash() + + # pick another node that's still up + for machine in machines: + if machine.booted: + check_node = machine + # find where the service has been started next + while True: + output = check_node.succeed("crm_resource -r cat --locate") + match = re.search("is running on: (.+)", output) + # output will remain the old current_node until the crash is detected by pacemaker + if match and match.group(1) != current_node.name: + for machine in machines: + if machine.name == match.group(1): + next_node = machine + break + time.sleep(1) + + next_node.log("Service migrated here!") + ''; +}) diff --git a/nixos/tests/xmpp/prosody-mysql.nix b/nixos/tests/xmpp/prosody-mysql.nix new file mode 100644 index 00000000000..40f3e308a04 --- /dev/null +++ b/nixos/tests/xmpp/prosody-mysql.nix @@ -0,0 +1,124 @@ +let + cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=uploads.example.com/CN=conference.example.com' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; + createUsers = pkgs: pkgs.writeScriptBin "create-prosody-users" '' + #!${pkgs.bash}/bin/bash + set -e + + # Creates and set password for the 2 xmpp test users. + # + # Doing that in a bash script instead of doing that in the test + # script allow us to easily provision the users when running that + # test interactively. + + prosodyctl register cthon98 example.com nothunter2 + prosodyctl register azurediamond example.com hunter2 + ''; + delUsers = pkgs: pkgs.writeScriptBin "delete-prosody-users" '' + #!${pkgs.bash}/bin/bash + set -e + + # Deletes the test users. + # + # Doing that in a bash script instead of doing that in the test + # script allow us to easily provision the users when running that + # test interactively. + + prosodyctl deluser cthon98@example.com + prosodyctl deluser azurediamond@example.com + ''; +in import ../make-test-python.nix { + name = "prosody-mysql"; + nodes = { + client = { nodes, pkgs, config, ... }: { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + console.keyMap = "fr-bepo"; + networking.extraHosts = '' + ${nodes.server.config.networking.primaryIPAddress} example.com + ${nodes.server.config.networking.primaryIPAddress} conference.example.com + ${nodes.server.config.networking.primaryIPAddress} uploads.example.com + ''; + environment.systemPackages = [ + (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) + ]; + }; + server = { config, pkgs, ... }: { + nixpkgs.overlays = [ + (self: super: { + prosody = super.prosody.override { + withExtraLuaPackages = p: [ p.luadbi-mysql ]; + }; + }) + ]; + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; + console.keyMap = "fr-bepo"; + networking.extraHosts = '' + ${config.networking.primaryIPAddress} example.com + ${config.networking.primaryIPAddress} conference.example.com + ${config.networking.primaryIPAddress} uploads.example.com + ''; + networking.firewall.enable = false; + environment.systemPackages = [ + (createUsers pkgs) + (delUsers pkgs) + ]; + services.prosody = { + enable = true; + ssl.cert = "${cert pkgs}/cert.pem"; + ssl.key = "${cert pkgs}/key.pem"; + virtualHosts.example = { + domain = "example.com"; + enabled = true; + ssl.cert = "${cert pkgs}/cert.pem"; + ssl.key = "${cert pkgs}/key.pem"; + }; + muc = [ + { + domain = "conference.example.com"; + } + ]; + uploadHttp = { + domain = "uploads.example.com"; + }; + extraConfig = '' + storage = "sql" + sql = { + driver = "MySQL"; + database = "prosody"; + host = "mysql"; + port = 3306; + username = "prosody"; + password = "password123"; + }; + ''; + }; + }; + mysql = { config, pkgs, ... }: { + networking.firewall.enable = false; + services.mysql = { + enable = true; + initialScript = pkgs.writeText "mysql_init.sql" '' + CREATE DATABASE prosody; + CREATE USER 'prosody'@'server' IDENTIFIED BY 'password123'; + GRANT ALL PRIVILEGES ON prosody.* TO 'prosody'@'server'; + FLUSH PRIVILEGES; + ''; + package = pkgs.mariadb; + }; + }; + }; + + testScript = { nodes, ... }: '' + # Check with mysql storage + mysql.wait_for_unit("mysql.service") + server.wait_for_unit("prosody.service") + server.succeed('prosodyctl status | grep "Prosody is running"') + + server.succeed("create-prosody-users") + client.succeed("send-message") + server.succeed("delete-prosody-users") + ''; +} diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix index c343b580879..14eab56fb82 100644 --- a/nixos/tests/xmpp/prosody.nix +++ b/nixos/tests/xmpp/prosody.nix @@ -81,6 +81,7 @@ in import ../make-test-python.nix { }; testScript = { nodes, ... }: '' + # Check with sqlite storage server.wait_for_unit("prosody.service") server.succeed('prosodyctl status | grep "Prosody is running"') diff --git a/pkgs/applications/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix index 56e107300b5..be3e7f555f8 100644 --- a/pkgs/applications/emulators/dolphin-emu/master.nix +++ b/pkgs/applications/emulators/dolphin-emu/master.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "dolphin-emu"; - version = "5.0-15993"; + version = "5.0-16101"; src = fetchFromGitHub { owner = "dolphin-emu"; repo = "dolphin"; - rev = "5e595616379a694789fe749e40a27ef069f0090e"; - sha256 = "1kid8qjn8r7dxh2yc1y6yal6qkfxij0ymi3zryxsnym3rjh1jds9"; + rev = "8ecfa537a242de74d2e372e30d9d79b14584b2fb"; + sha256 = "3jLGVzTDzEtHWvIb9DFTbJiA9dE9Pm14vYER998Zln0="; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index 69ee0444c3d..bd7d42777f5 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -50,11 +50,11 @@ let in stdenv.mkDerivation rec { pname = "opera"; - version = "84.0.4316.21"; + version = "84.0.4316.31"; src = fetchurl { url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb"; - sha256 = "sha256-CEKUd2QlZQJbpBO1t4oKmyd+uhPiCOY+eXtSrZf75e4="; + sha256 = "sha256-ypSnarhtJNQn3yOtydjmf6WmHAYbOfMg3xatCxTfIMY="; }; unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc ."; diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix index 07817e3ab0a..503952fa59a 100644 --- a/pkgs/applications/networking/cluster/argo/default.nix +++ b/pkgs/applications/networking/cluster/argo/default.nix @@ -19,16 +19,16 @@ let in buildGoModule rec { pname = "argo"; - version = "3.2.9"; + version = "3.3.0"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo"; rev = "v${version}"; - sha256 = "sha256-lZ6FjWXhVc51BlioDSryeYe5aZeUhMMEde+kk2SwV20="; + sha256 = "sha256-BDHbbb3WqQvRJB1A4NInfvujjB3r/AMmVvos8i/CnyU="; }; - vendorSha256 = "sha256-hxSr0sNlz93JxOxnE2SnR6/OgCGK8DrJZxqQtSxfbj8="; + vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0="; doCheck = false; diff --git a/pkgs/applications/networking/cluster/tfswitch/default.nix b/pkgs/applications/networking/cluster/tfswitch/default.nix index f8473481cc0..3e872c27142 100644 --- a/pkgs/applications/networking/cluster/tfswitch/default.nix +++ b/pkgs/applications/networking/cluster/tfswitch/default.nix @@ -1,16 +1,16 @@ { buildGoModule, lib, fetchFromGitHub }: buildGoModule rec { pname = "tfswitch"; - version = "0.13.1201"; + version = "0.13.1218"; src = fetchFromGitHub { owner = "warrensbox"; repo = "terraform-switcher"; rev = version; - sha256 = "sha256-gJa8oVdgerDi0GdTSNus5rHLsFuzg8ZqVeKTMuPXu0o="; + sha256 = "sha256-RJdbNXO+6TqFLapWiZ1UeXGS5522ykQvhhNDEHPr8xE="; }; - vendorSha256 = "sha256-z3UDrwlMHFFH56U3oylSWE3wqWOCA4RI2smafHHwYkQ="; + vendorSha256 = "sha256-Xqgki072Iy+snRriPVJ9oaDNJ/LiKL+AuU+eVw0zlDU="; # Disable tests since it requires network access and relies on the # presence of release.hashicorp.com diff --git a/pkgs/applications/networking/cluster/tgswitch/default.nix b/pkgs/applications/networking/cluster/tgswitch/default.nix index 560e593ba19..5f669a6b9d8 100644 --- a/pkgs/applications/networking/cluster/tgswitch/default.nix +++ b/pkgs/applications/networking/cluster/tgswitch/default.nix @@ -1,13 +1,13 @@ { buildGoPackage, lib, fetchFromGitHub }: buildGoPackage rec { pname = "tgswitch"; - version = "0.5.382"; + version = "0.5.389"; src = fetchFromGitHub { owner = "warrensbox"; repo = "tgswitch"; rev = version; - sha256 = "sha256-DbPf1o1XlXLpuYSrNMRwHRqi/urQhSfzPW5BPIvZC/Y="; + sha256 = "sha256-6hErfI7LEJFgOoJR8IF9jTSBwqbQYeGiwdeJShqxVQ0="; }; goPackagePath = "github.com/warrensbox/tgswitch"; diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix index f8dcbc0183a..0b8650f3f7d 100644 --- a/pkgs/applications/networking/cluster/werf/default.nix +++ b/pkgs/applications/networking/cluster/werf/default.nix @@ -11,15 +11,15 @@ buildGoModule rec { pname = "werf"; - version = "1.2.73"; + version = "1.2.74"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; rev = "v${version}"; - sha256 = "sha256-E16p40Pmr9o2946XlO3TUE/xUueG0NBWux23MgAVLlI="; + sha256 = "sha256-Mfgvl6ljmYn9Vu/tWS0JAuH1pzQZ4zoD5+5ejUJF/Lg="; }; - vendorSha256 = "sha256-NHeUj1JWRqElY2BpQ+7ANqwlOYQ5H2R00LGqktcsoF4="; + vendorSha256 = "sha256-MsIbuwsb0sKEh3Z7ArtG/8SWFPaXLu+TGNruhsHhtb4="; proxyVendor = true; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix index 764ba6a0d79..ebed984c4d5 100644 --- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix +++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "alfaview"; - version = "8.37.0"; + version = "8.40.0"; src = fetchurl { url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb"; - sha256 = "sha256-hU4tqDu95ej8ChiWJq3ZPhEwxBcmTQkA/n///pPVa5U="; + sha256 = "sha256-meiIDIG7OXxF2aclHA/8FN8aSz5KWJliDbm2p/flD4k="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix index 4766b796a35..a1b897dce22 100644 --- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix +++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "signalbackup-tools"; - version = "20220303"; + version = "20220314"; src = fetchFromGitHub { owner = "bepaald"; repo = pname; rev = version; - sha256 = "sha256-3fT9cHosg/A/JowIARQ46OxmsQWFOBb7tIiRWVNfUo4="; + sha256 = "sha256-E3gH4Ym2tmH9qmbfKWybgO6qUW2rpJQyhBh6LPpfFHE="; }; # Remove when Apple SDK is >= 10.13 diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index 265e72c3867..c23e416d2c6 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -70,7 +70,7 @@ let in env.mkDerivation rec { pname = "telegram-desktop"; - version = "3.5.2"; + version = "3.6.0"; # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py # Telegram-Desktop with submodules @@ -79,7 +79,7 @@ env.mkDerivation rec { repo = "tdesktop"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "05324xvb00yz2jfigyy7izk8wnq8phm3sidw62kf7xqyh63qnrzh"; + sha256 = "0zcjm08nfdlxrsv0fi6dqg3lk52bcvsxnsf6jm5fv6gf5v9ia3hq"; }; postPatch = '' diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix index a3c61a6f337..200e0e887e3 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation { pname = "tg_owt"; - version = "unstable-2022-02-09"; + version = "unstable-2022-02-25"; src = fetchFromGitHub { owner = "desktop-app"; repo = "tg_owt"; - rev = "4cba1acdd718b700bb33945c0258283689d4eac7"; - sha256 = "0j201x9k38mvcyhf1wlyghyvdpv1l75xwgj9rl2l7r55afrpw4ca"; + rev = "a264028ec71d9096e0aa629113c49c25db89d260"; + sha256 = "10p3x8z3ps8s1ivi9y8px2gsg4pvsvz6g9wbgh5w8hilikxqq7r5"; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index 29d80c25ef5..9721c6b9ba4 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -15,13 +15,13 @@ with lib; stdenv.mkDerivation rec { pname = "remmina"; - version = "1.4.24"; + version = "1.4.25"; src = fetchFromGitLab { owner = "Remmina"; repo = "Remmina"; rev = "v${version}"; - sha256 = "sha256-rcxgr3HVOWA3mTfX8tka9bPGDRDtKhBRsfQ3hv9XHf0="; + sha256 = "sha256-1val/KCClEtw1prVWuXJe8DmmQ7e7oqwAfAnT9G9iHI="; }; nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ]; diff --git a/pkgs/applications/science/astronomy/phd2/default.nix b/pkgs/applications/science/astronomy/phd2/default.nix index 543e6820a76..52049302a27 100644 --- a/pkgs/applications/science/astronomy/phd2/default.nix +++ b/pkgs/applications/science/astronomy/phd2/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "phd2"; - version = "2.6.10"; + version = "2.6.11"; src = fetchFromGitHub { owner = "OpenPHDGuiding"; repo = "phd2"; rev = "v${version}"; - sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU="; + sha256 = "sha256-iautgHOVzdLWYGOVu3wHBDt30uCbaP58mDz/l7buB1k="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/astronomy/siril/default.nix b/pkgs/applications/science/astronomy/siril/default.nix index b50cb4b71d0..4a51e88dc3b 100644 --- a/pkgs/applications/science/astronomy/siril/default.nix +++ b/pkgs/applications/science/astronomy/siril/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "siril"; - version = "0.99.10.1"; + version = "1.0.0"; src = fetchFromGitLab { owner = "free-astro"; repo = pname; rev = version; - sha256 = "sha256-gqV+pJNaU+GnYiUo/imofgNdeM+AtDg/pSH7aoqhkYA="; + sha256 = "sha256-yqWFEa1fnSwl0ecN9hMI13QCfj0f69CFqTJlEAhTpJI="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/logic/nuXmv/default.nix b/pkgs/applications/science/logic/nuXmv/default.nix new file mode 100644 index 00000000000..021c612d106 --- /dev/null +++ b/pkgs/applications/science/logic/nuXmv/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "nuXmv"; + version = "2.0.0"; + + src = fetchurl { + url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-linux64.tar.gz"; + sha256 = "0nndrw994clf8lnlcfzdf1mf00vif3fvd4xsiwcjpbyk12091zqr"; + }; + + installPhase= '' + runHook preInstall + install -Dm755 -t $out/bin ./bin/nuXmv + runHook postInstall + ''; + + meta = with lib; { + description = "Symbolic model checker for analysis of finite and infinite state systems"; + homepage = "https://nuxmv.fbk.eu/pmwiki.php"; + license = licenses.unfree; + maintainers = with maintainers; [ siraben ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix index 0f9bc33a907..3530b2d1d2f 100644 --- a/pkgs/applications/terminal-emulators/xterm/default.nix +++ b/pkgs/applications/terminal-emulators/xterm/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "371"; + version = "372"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - sha256 = "MviIJ3sZ4o68CjESv/AAYHwHvtBnnKoL7rs2+crUhPU="; + sha256 = "xtCBJ8skCcOgS8rlWbcCUZbtdwu3vyZjCry0XZX2CrE="; }; strictDeps = true; diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix index 5d96929282f..36b813f547e 100644 --- a/pkgs/applications/version-management/git-and-tools/gh/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "gh"; - version = "2.5.2"; + version = "2.6.0"; src = fetchFromGitHub { owner = "cli"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-60XEc0V8stbl+JozTqu8yO37K1NXX/X2xFkcO9p/QNY="; + sha256 = "sha256-NvVm/deO4LSIl5TSziqsrGt9atCXjt4UZ/VJfmX3i4c="; }; - vendorSha256 = "sha256-aMD4a+jwCINcHV/z5UyTF+o3BzN9wviz+kLwDys9/BI="; + vendorSha256 = "sha256-pBjg6WyD61+Bl3ttcpl/b9XoWBCi7cDvE8NPaZGu7Aw="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/video/f1viewer/default.nix b/pkgs/applications/video/f1viewer/default.nix index 33e1863428e..7c091b425af 100644 --- a/pkgs/applications/video/f1viewer/default.nix +++ b/pkgs/applications/video/f1viewer/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "f1viewer"; - version = "2.5.0"; + version = "2.6.0"; src = fetchFromGitHub { owner = "SoMuchForSubtlety"; repo = pname; rev = "v${version}"; - sha256 = "sha256-cTXueIOD+OXx4WikhdNv3v/F2/f5aDicyPP7FgTU6AM="; + sha256 = "sha256-MY8xqpAzK1c4XL7w/LR83DyHFCI5X7wldosDDo7pXNI="; }; - vendorSha256 = "sha256-47uLx4t0N1T3zqZ9o/su/onJEUdGXpq+iVSUaRnwW3I="; + vendorSha256 = "sha256-8c1+t6Lo11Q2kEDy9IWLw9bsZYtJFksE7Om3ysx7fc4="; meta = with lib; { description = diff --git a/pkgs/applications/video/mpv/scripts/vr-reversal.nix b/pkgs/applications/video/mpv/scripts/vr-reversal.nix new file mode 100644 index 00000000000..4c4aacef31d --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/vr-reversal.nix @@ -0,0 +1,35 @@ +{ lib, stdenvNoCC, fetchFromGitHub, ffmpeg }: + +stdenvNoCC.mkDerivation rec { + pname = "vr-reversal"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "dfaker"; + repo = pname; + rev = "v${version}"; + sha256 = "1wn2ngcvn7wcsl3kmj782x5q9130qw951lj6ilrkafp6q6zscpqr"; + }; + + dontBuild = true; + + # reset_rot is only available in ffmpeg 5.0, see 5bcc61ce87922ecccaaa0bd303a7e195929859a8 + postPatch = lib.optionalString (lib.versionOlder ffmpeg.version "5.0") '' + substituteInPlace 360plugin.lua --replace ":reset_rot=1:" ":" + ''; + + installPhase = '' + mkdir -p $out/share/mpv/scripts + cp -r 360plugin.lua $out/share/mpv/scripts/ + ''; + + passthru.scriptName = "360plugin.lua"; + + meta = with lib; { + description = "Script for mpv to play VR video with optional saving of head tracking data."; + homepage = "https://github.com/dfaker/VR-reversal"; + license = licenses.unlicense; + platforms = platforms.all; + maintainers = with maintainers; [ schnusch ]; + }; +} diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index 7feea9b4a34..68e902253ed 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "lima"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "lima-vm"; repo = pname; rev = "v${version}"; - sha256 = "sha256-jbWz4HVYR3OEze2fFgG6Tg4p50IL0NStmaa8+GUPkNw="; + sha256 = "sha256-Y15oYAdq+bsG2qD/ZTqXHgkelAdQF4SnOE79gDhlNGE="; }; - vendorSha256 = "sha256-RX8HfeDVvLUX4Ez2ma04gTl+8+lM7WGNSpmFNnf+5Xs="; + vendorSha256 = "sha256-66CcLWG45vZwM2LVc1xsjJYyxefGEBW4fY3wo1ESQUM="; nativeBuildInputs = [ makeWrapper installShellFiles ]; diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index cdcfcca15ea..89da6b6b11e 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -15,16 +15,16 @@ rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.21.6"; + version = "0.21.7"; src = fetchFromGitHub { owner = "greshake"; repo = pname; rev = "v${version}"; - sha256 = "sha256-2PBGw5LHIOOPXBZ+12wL2ZGH+gfbkXNIItpE6SLT8so="; + sha256 = "sha256-2fh1/7/or++AzvkJfwXD07UiyX8U8CIEe+qXc5S82mM="; }; - cargoSha256 = "sha256-wtxfdQw5zKCxYu7N2BpcLVTlitQmwY7s8oO4dpK8MjE="; + cargoSha256 = "sha256-ERBxY0PBQOvAVeWCRcB7rApTLjtHxa0KMV4qGlU/j/Q="; nativeBuildInputs = [ pkg-config makeWrapper ]; diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix index 740baa8cff5..6e25b2d6ecc 100644 --- a/pkgs/build-support/fetchpatch/default.nix +++ b/pkgs/build-support/fetchpatch/default.nix @@ -54,9 +54,9 @@ fetchurl ({ "$tmpfile" > "$out" if [ ! -s "$out" ]; then - echo "error: Filtered patch '$out$' is empty (while the original patch file was not)!" 1>&2 + echo "error: Filtered patch '$out' is empty (while the original patch file was not)!" 1>&2 echo "Check your includes and excludes." 1>&2 - echo "Normalizd patch file was:" 1>&2 + echo "Normalized patch file was:" 1>&2 cat "$tmpfile" 1>&2 exit 1 fi diff --git a/pkgs/development/compilers/4th/001-install-manual-fixup.diff b/pkgs/development/compilers/4th/001-install-manual-fixup.diff new file mode 100644 index 00000000000..6002e7a0d99 --- /dev/null +++ b/pkgs/development/compilers/4th/001-install-manual-fixup.diff @@ -0,0 +1,12 @@ +diff -Naur 4th-3.64.0-old/sources/Makefile 4th-3.64.0-new/sources/Makefile +--- 4th-3.64.0-old/sources/Makefile 2022-03-15 12:37:45.925122854 -0300 ++++ 4th-3.64.0-new/sources/Makefile 2022-03-15 12:38:50.987870211 -0300 +@@ -125,7 +125,7 @@ + + install: mostlyinstall + install -Dm644 ../documentation/4th.1 $(MANDIR)/man1/4th.1 +- install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th/ ++ install -Dm644 ../documentation/4tHmanual.pdf $(DOCDIR)/4th/ + + uninstall: + -rm -f $(LIBRARIES)/lib4th.{a,so*} diff --git a/pkgs/development/compilers/4th/default.nix b/pkgs/development/compilers/4th/default.nix index a8923879c06..d76a5cc733c 100644 --- a/pkgs/development/compilers/4th/default.nix +++ b/pkgs/development/compilers/4th/default.nix @@ -2,13 +2,18 @@ stdenv.mkDerivation rec { pname = "4th"; - version = "3.62.5"; + version = "3.64.0"; src = fetchurl { url = "https://sourceforge.net/projects/forth-4th/files/${pname}-${version}/${pname}-${version}-unix.tar.gz"; - sha256 = "sha256-+CL33Yz7CxdEpi1lPG7+kzV4rheJ7GCgiFCaOLyktPw="; + hash = "sha256-wJBekjFsFRIkhY/P/yHBQ8he+k+fGyrePGTP2Yjgpqg="; }; + patches = [ + # Fix install manual; report this patch to upstream + ./001-install-manual-fixup.diff + ]; + dontConfigure = true; makeFlags = [ @@ -31,9 +36,11 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "A portable Forth compiler"; homepage = "https://thebeez.home.xs4all.nl/4tH/index.html"; - license = licenses.lgpl3; - platforms = platforms.all; + description = "A portable Forth compiler"; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; }; } +# TODO: set Makefile according to platform diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix index f408d7b3312..46832e1cc2d 100644 --- a/pkgs/development/compilers/cudatoolkit/common.nix +++ b/pkgs/development/compilers/cudatoolkit/common.nix @@ -61,8 +61,6 @@ stdenv.mkDerivation rec { gtk2 glib fontconfig freetype unixODBC alsa-lib ]; - rpath = "${lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64"; - unpackPhase = '' sh $src --keep --noexec @@ -119,6 +117,12 @@ stdenv.mkDerivation rec { fi done mv pkg/builds/cuda_nvcc/nvvm $out/nvvm + + mv pkg/builds/cuda_sanitizer_api $out/cuda_sanitizer_api + ln -s $out/cuda_sanitizer_api/compute-sanitizer/compute-sanitizer $out/bin/compute-sanitizer + + mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64 + mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64 ''} rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why? @@ -184,22 +188,35 @@ stdenv.mkDerivation rec { done ''; - preFixup = '' - while IFS= read -r -d ''$'\0' i; do - if ! isELF "$i"; then continue; fi - echo "patching $i..." - if [[ ! $i =~ \.so ]]; then - patchelf \ - --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i - fi - if [[ $i =~ libcudart ]]; then - patchelf --remove-rpath $i - else - rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64 - patchelf --set-rpath "$rpath2" --force-rpath $i - fi - done < <(find $out $lib $doc -type f -print0) - ''; + preFixup = + let rpath = lib.concatStringsSep ":" [ + (lib.makeLibraryPath (runtimeDependencies ++ [ "$lib" "$out" "$out/nvvm" ])) + "${stdenv.cc.cc.lib}/lib64" + "$out/jre/lib/amd64/jli" + "$out/lib64" + "$out/nvvm/lib64" + ]; + in + '' + while IFS= read -r -d $'\0' i; do + if ! isELF "$i"; then continue; fi + echo "patching $i..." + if [[ ! $i =~ \.so ]]; then + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $i + fi + if [[ $i =~ libcudart ]]; then + patchelf --remove-rpath $i + else + patchelf --set-rpath "${rpath}" --force-rpath $i + fi + done < <(find $out $lib $doc -type f -print0) + '' + lib.optionalString (lib.versionAtLeast version "11") '' + for file in $out/target-linux-x64/*.so; do + echo "patching $file..." + patchelf --set-rpath "${rpath}:\$ORIGIN" $file + done + ''; # Set RPATH so that libcuda and other libraries in # /run/opengl-driver(-32)/lib can be found. See the explanation in @@ -208,6 +225,10 @@ stdenv.mkDerivation rec { # --force-rpath prevents changing RPATH (set above) to RUNPATH. postFixup = '' addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so + '' + lib.optionalString (lib.versionAtLeast version "11") '' + addOpenGLRunpath $out/cuda_sanitizer_api/compute-sanitizer/* + addOpenGLRunpath $out/cuda_sanitizer_api/compute-sanitizer/x86/* + addOpenGLRunpath $out/target-linux-x64/* ''; # cuda-gdb doesn't run correctly when not using sandboxing, so diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix index 17c31051999..23e9f70d4da 100644 --- a/pkgs/development/compilers/go/1.18.nix +++ b/pkgs/development/compilers/go/1.18.nix @@ -54,11 +54,11 @@ in stdenv.mkDerivation rec { pname = "go"; - version = "1.18rc1"; + version = "1.18"; src = fetchurl { url = "https://go.dev/dl/go${version}.src.tar.gz"; - sha256 = "sha256-XOx6ZlMAj6hfiCGzNmXeN74om3oC8X829wWojEOYC7g="; + sha256 = "sha256-OPQj20zINIg/K1I0QoL6ejn7uTZQ3GKhH98L5kCb2tY="; }; # perl is used for testing go vet diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix index 52397f78b8a..ee057f26c42 100644 --- a/pkgs/development/compilers/qbe/default.nix +++ b/pkgs/development/compilers/qbe/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { pname = "qbe"; - version = "unstable-2021-12-05"; + version = "unstable-2022-03-11"; src = fetchgit { url = "git://c9x.me/qbe.git"; - rev = "367c8215d99054892740ad74c690b106c45ebf60"; - sha256 = "sha256-xhTEiFR1RXMHtxmXlRof3O8monXEjstyWP3GClZmMuU="; + rev = "c7842d84da65bcaf2d3c82aa69fb3ec930c7369f"; + sha256 = "sha256-fbxeoMJcVltrIGRLdJtxWykGIop8DVzpfrBatXniDPk="; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix index f2ecf94053b..e5a3b79ba77 100644 --- a/pkgs/development/libraries/libgbinder/default.nix +++ b/pkgs/development/libraries/libgbinder/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libgbinder"; - version = "1.1.16"; + version = "1.1.19"; src = fetchFromGitHub { owner = "mer-hybris"; repo = pname; rev = version; - sha256 = "sha256-g+3yRRiTv2l7ZpJc5a6tOPsErKjdALomAWmYHErdfIQ="; + sha256 = "sha256-HTmNoTGyFtOXRy7Y/ZnEgTa2GW6/+TeZxZo7c7ksNtc="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix index a214d28347d..933b972a4e7 100644 --- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix +++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix @@ -3,13 +3,13 @@ mkDerivation rec { pname = "stellarsolver"; - version = "1.9"; + version = "2.0"; src = fetchFromGitHub { owner = "rlancaste"; repo = pname; rev = version; - sha256 = "sha256-PiRXNiemJ+UjVhmd2KPcTKJoDW9K9QBf62nkP1LlOfw="; + sha256 = "sha256-pqTSsey1CgOHiEm/C+7sTl9uGe3RVpL7Rdm04KgY+Z8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/python-modules/apycula/default.nix b/pkgs/development/python-modules/apycula/default.nix index d8a369d6da0..e84e3eb301b 100644 --- a/pkgs/development/python-modules/apycula/default.nix +++ b/pkgs/development/python-modules/apycula/default.nix @@ -12,17 +12,20 @@ buildPythonPackage rec { pname = "apycula"; - version = "0.2a2"; + version = "0.2"; + format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit version; pname = "Apycula"; - hash = "sha256-pcVoYGBhp9jyuWBJ/Rpi8cjwDgPjhJ1PrPblj5DQTpk="; + hash = "sha256-xvr/NDAjCjhpImzNlCOcI4x5dIAefJ1TnUgoBhgdhPA="; }; - nativeBuildInputs = [ setuptools-scm ]; + nativeBuildInputs = [ + setuptools-scm + ]; propagatedBuildInputs = [ numpy @@ -35,7 +38,9 @@ buildPythonPackage rec { # tests require a physical FPGA doCheck = false; - pythonImportsCheck = [ "apycula" ]; + pythonImportsCheck = [ + "apycula" + ]; meta = with lib; { description = "Open Source tools for Gowin FPGAs"; diff --git a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix index e3c3e05ac18..f7c79521b63 100644 --- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix +++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "google-cloud-secret-manager"; - version = "2.9.1"; + version = "2.9.2"; src = fetchPypi { inherit pname version; - sha256 = "sha256-apn1ex/2VX18GHgN5+JYurzTKMqzPTNqTNOAI+DEBLw="; + sha256 = "sha256-W93SDJR8bUPQX9KzoZ6YvV9kU+Twd9huH09Smap481g="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix index f77c718ed8b..bce21410209 100644 --- a/pkgs/development/python-modules/google-cloud-storage/default.nix +++ b/pkgs/development/python-modules/google-cloud-storage/default.nix @@ -13,11 +13,11 @@ buildPythonPackage rec { pname = "google-cloud-storage"; - version = "2.1.0"; + version = "2.2.0"; src = fetchPypi { inherit pname version; - sha256 = "0a5e7ab1a38d2c24be8e566e50b8b0daa8af8fd49d4ab312b1fda5c147429893"; + sha256 = "sha256-01mWgBE11R20m7j3p+Kc7cwlqotDXu0MTA7y+e5W0dk="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix index c000bb050d8..fbea0935ff3 100644 --- a/pkgs/development/python-modules/jupyterlab/default.nix +++ b/pkgs/development/python-modules/jupyterlab/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "jupyterlab"; - version = "3.3.1"; + version = "3.3.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-zkgnmTeccKqH5jtZ4sU3l3nOGGWLkkYM0gu0QVSGWXM="; + sha256 = "sha256-PHFr9VkssoxcVcYVxuW9PvxxiY9pV9E3GbVkeLu7WHo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix new file mode 100644 index 00000000000..ce489127946 --- /dev/null +++ b/pkgs/development/python-modules/pyinfra/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, gevent +, click +, colorama +, configparser +, distro +, jinja2 +, paramiko +, python-dateutil +, pywinrm +, setuptools +, six +}: + +buildPythonPackage rec { + pname = "pyinfra"; + version = "1.7"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-r+7ka3WKE6uHP//p1N71hgTGit7Eo3x9INpbKPYbFMI="; + }; + + propagatedBuildInputs = [ + click + colorama + configparser + distro + gevent + jinja2 + paramiko + python-dateutil + pywinrm + setuptools + six + ]; + + doCheck = false; + + pythonImportsCheck = [ + "pyinfra" + ]; + + meta = with lib; { + description = "Python-based infrastructure automation"; + longDescription = '' + pyinfra automates/provisions/manages/deploys infrastructure. It can be used for + ad-hoc command execution, service deployment, configuration management and more. + ''; + homepage = "https://github.com/Fizzadar/pyinfra"; + maintainers = with maintainers; [ totoroot ]; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index 55bf72aec76..417cd8e056c 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -30,14 +30,14 @@ buildPythonPackage rec { pname = "thinc"; - version = "8.0.13"; + version = "8.0.14"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-R2YqOuM9RFp3tup7dyREgFx7uomR8SLjUNr3Le3IFxo="; + sha256 = "sha256-3MC8ao6BTiDyaCXj/X+DNCTpMYcTWVJFSl0X+sCc5J0="; }; postPatch = '' diff --git a/pkgs/development/tools/database/litestream/default.nix b/pkgs/development/tools/database/litestream/default.nix index 6a7e53e6cf2..00e541efc0d 100644 --- a/pkgs/development/tools/database/litestream/default.nix +++ b/pkgs/development/tools/database/litestream/default.nix @@ -4,13 +4,13 @@ }: buildGoModule rec { pname = "litestream"; - version = "0.3.7"; + version = "0.3.8"; src = fetchFromGitHub { owner = "benbjohnson"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IEdTLf+fEp19FhwL3IaGT9HGKQoa6HwFox2gf0lvFu4="; + sha256 = "sha256-0Yyx8kbpu3T868hI9tJkBIjplAoQDA4XzhraHhOp61Q="; }; ldflags = [ @@ -19,7 +19,7 @@ buildGoModule rec { "-X main.Version=${version}" ]; - vendorSha256 = "sha256-ScG8cukUuChOvN9r0HvVJsYnu1X9DSO7aD32iu55jIM="; + vendorSha256 = "sha256-zCz9dki87dpZCo+/KuFzwtv/0TlBcvQDTxTuLN2FiHY="; meta = with lib; { description = "Streaming replication for SQLite"; diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix index f7335a8ef8d..3d136a62f52 100644 --- a/pkgs/development/tools/esbuild/default.nix +++ b/pkgs/development/tools/esbuild/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "esbuild"; - version = "0.14.25"; + version = "0.14.27"; src = fetchFromGitHub { owner = "evanw"; repo = "esbuild"; rev = "v${version}"; - sha256 = "sha256-95xVQU1AWIDvMlWJpB54RxGoOtZtaUlyfmfdcKERe6Y="; + sha256 = "sha256-h5PodIFzqD0hJb89eGxMJN6uvrF2exOHJYk+Wmwvso8="; }; vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs="; diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix index 04024dc3acf..4b5e6d8bb38 100644 --- a/pkgs/development/tools/kustomize/kustomize-sops.nix +++ b/pkgs/development/tools/kustomize/kustomize-sops.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kustomize-sops"; - version = "3.0.1"; + version = "3.0.2"; src = fetchFromGitHub { owner = "viaduct-ai"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ZCEgv+2WC1XLDFdRtigkiWu81zLMHvmB8vvIBWN2UYY="; + sha256 = "sha256-6mLfMbYbdsjWHpfUHP3Q5nsqdMXo/82+A9PV8xWZBM0="; }; - vendorSha256 = "sha256-LFa0s2FBkw97P0CV+9JBmUAjaKVO+RzCX+iWGPUD9iA="; + vendorSha256 = "sha256-aRS+MwME72qIMyhnnIRqmrx5hcQ1V0pLIBJqSoR+Fkk="; installPhase = '' mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/ diff --git a/pkgs/development/tools/shellharden/default.nix b/pkgs/development/tools/shellharden/default.nix index d444a3685c5..ee56e58f6ca 100644 --- a/pkgs/development/tools/shellharden/default.nix +++ b/pkgs/development/tools/shellharden/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "shellharden"; - version = "4.1.3"; + version = "4.2.0"; src = fetchFromGitHub { owner = "anordal"; repo = pname; rev = "v${version}"; - sha256 = "04pgmkaqjb1lmlwjjipcrqh9qcyjjkr39vi3h5fl9sr71c8g7dnd"; + sha256 = "081b51h88hhyzn9vb9pcszz1wfdj73xwsyfn2ygz708kabzqpvdl"; }; - cargoSha256 = "0bjqgw49msl288yfa7bl31bfa9kdy4zh1q3j0lyw4vvkv2r14pf5"; + cargoSha256 = "1gwlmds417szwvywvm19wv60a83inp52sf46sd05x5vahb8gv8hg"; postPatch = "patchShebangs moduletests/run"; diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix index d87ecddbf89..ebb07ec2b49 100644 --- a/pkgs/development/tools/symfony-cli/default.nix +++ b/pkgs/development/tools/symfony-cli/default.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "symfony-cli"; - version = "5.4.1"; + version = "5.4.2"; vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8="; src = fetchFromGitHub { owner = "symfony-cli"; repo = "symfony-cli"; rev = "v${version}"; - sha256 = "sha256-92Pth+IrILWkcP4mm3IcSN4+zs7TNg4CPGT2liop7/I="; + sha256 = "sha256-Ci523YoocpCexbXMg3PjQ/x8z/STWt+nro64l+ckKzM="; }; # Tests requires network access diff --git a/pkgs/development/tools/tokio-console/default.nix b/pkgs/development/tools/tokio-console/default.nix index f04de27f1c2..6ff132e8146 100644 --- a/pkgs/development/tools/tokio-console/default.nix +++ b/pkgs/development/tools/tokio-console/default.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "tokio-console"; - version = "0.1.0"; + version = "0.1.3"; src = fetchFromGitHub { owner = "tokio-rs"; repo = "console"; rev = "tokio-console-v${version}"; - sha256 = "sha256-1wxRTdDmgTlGJ3W1txDA/3Rnccs3KBw55vprrGaVnkg="; + sha256 = "sha256-v9BxfBLRJug/1AgvDV7P5AOXwZfCu1mNgJjhbipoZNg="; }; - cargoSha256 = "sha256-RScu5V55OowwWHi3MLjW8DPlTMA/IEBYFt4VUDUHPKo="; + cargoSha256 = "sha256-584EC9x7tJE3pHqgQVh6LWKuCgLXuBBEnaPvo1A8RIs="; nativeBuildInputs = [ protobuf ]; diff --git a/pkgs/development/tools/vendir/default.nix b/pkgs/development/tools/vendir/default.nix index e80bb0f14cd..d6ff0825737 100644 --- a/pkgs/development/tools/vendir/default.nix +++ b/pkgs/development/tools/vendir/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "vendir"; - version = "0.24.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "vmware-tanzu"; repo = "carvel-vendir"; rev = "v${version}"; - sha256 = "sha256-3l0ezObZK/QEmpBlqSm3R3e4pFM7KUnsxDrzvEYExnk="; + sha256 = "sha256-a/fftMJuN6YnjPP0Gk6bMckoCouwgtxhf23OuyLR5Tk="; }; vendorSha256 = null; diff --git a/pkgs/misc/logging/pacemaker/default.nix b/pkgs/misc/logging/pacemaker/default.nix new file mode 100644 index 00000000000..07194380d4a --- /dev/null +++ b/pkgs/misc/logging/pacemaker/default.nix @@ -0,0 +1,102 @@ +{ lib +, stdenv +, autoconf +, automake +, bash +, bzip2 +, corosync +, dbus +, fetchFromGitHub +, glib +, gnutls +, libqb +, libtool +, libuuid +, libxml2 +, libxslt +, pam +, pkg-config +, python3 +, nixosTests + +# Pacemaker is compiled twice, once with forOCF = true to extract its +# OCF definitions for use in the ocf-resource-agents derivation, then +# again with forOCF = false, where the ocf-resource-agents is provided +# as the OCF_ROOT. +, forOCF ? false +, ocf-resource-agents +} : + +stdenv.mkDerivation rec { + pname = "pacemaker"; + version = "2.1.2"; + + src = fetchFromGitHub { + owner = "ClusterLabs"; + repo = pname; + rev = "Pacemaker-${version}"; + sha256 = "1w7vq3lmgcz38pfww9vccm142vjsjqz3qc9nnk09ynkx4agqhxdg"; + }; + + nativeBuildInputs = [ + autoconf + automake + libtool + pkg-config + ]; + + buildInputs = [ + bash + bzip2 + corosync + dbus.dev + glib + gnutls + libqb + libuuid + libxml2.dev + libxslt.dev + pam + python3 + ]; + + preConfigure = '' + ./autogen.sh --prefix="$out" + ''; + configureFlags = [ + "--exec-prefix=${placeholder "out"}" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-initdir=/etc/systemd/system" + "--with-systemdsystemunitdir=/etc/systemd/system" + "--with-corosync" + # allows Type=notify in the systemd service + "--enable-systemd" + ] ++ lib.optional (!forOCF) "--with-ocfdir=${ocf-resource-agents}/usr/lib/ocf"; + + installFlags = [ "DESTDIR=${placeholder "out"}" ]; + + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + "-Wno-error=strict-prototypes" + ]; + + enableParallelBuilding = true; + + postInstall = '' + # pacemaker's install linking requires a weirdly nested hierarchy + mv $out$out/* $out + rm -r $out/nix + ''; + + passthru.tests = { + inherit (nixosTests) pacemaker; + }; + + meta = with lib; { + homepage = "https://clusterlabs.org/pacemaker/"; + description = "Pacemaker is an open source, high availability resource manager suitable for both small and large clusters."; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ ryantm astro ]; + }; +} diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix index 8d6b5eba5bf..ac739d6a0db 100644 --- a/pkgs/misc/screensavers/xlockmore/default.nix +++ b/pkgs/misc/screensavers/xlockmore/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "xlockmore"; - version = "5.68"; + version = "5.69"; src = fetchurl { url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz"; - sha256 = "sha256-MHMf3LID8W61wcQ8BdQuRSrQ60VVyXxVVmpuyxh3zW4="; + sha256 = "sha256-6pJlTAASJoSHZaJRpzvLxHPM7xe3IcwY1TYfWdvW07k="; curlOpts = "--user-agent 'Mozilla/5.0'"; }; diff --git a/pkgs/os-specific/linux/ocf-resource-agents/default.nix b/pkgs/os-specific/linux/ocf-resource-agents/default.nix index 9c9557c7be8..8d7f2b52714 100644 --- a/pkgs/os-specific/linux/ocf-resource-agents/default.nix +++ b/pkgs/os-specific/linux/ocf-resource-agents/default.nix @@ -1,3 +1,5 @@ +# This combines together OCF definitions from other derivations. +# https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc { stdenv , lib , runCommand @@ -8,12 +10,16 @@ , python3 , glib , drbd +, pacemaker }: let drbdForOCF = drbd.override { forOCF = true; }; + pacemakerForOCF = pacemaker.override { + forOCF = true; + }; resource-agentsForOCF = stdenv.mkDerivation rec { pname = "resource-agents"; @@ -53,4 +59,5 @@ runCommand "ocf-resource-agents" {} '' mkdir -p $out/usr/lib/ocf ${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $out/usr/lib/ocf ${lndir}/bin/lndir -silent "${drbdForOCF}/usr/lib/ocf/" $out/usr/lib/ocf + ${lndir}/bin/lndir -silent "${pacemakerForOCF}/usr/lib/ocf/" $out/usr/lib/ocf '' diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix index df73fb9f48e..4df8a547dff 100644 --- a/pkgs/servers/corosync/default.nix +++ b/pkgs/servers/corosync/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, makeWrapper, pkg-config, kronosnet, nss, nspr, libqb -, dbus, rdma-core, libstatgrab, net-snmp +, systemd, dbus, rdma-core, libstatgrab, net-snmp , enableDbus ? false , enableInfiniBandRdma ? false , enableMonitoring ? false @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper pkg-config ]; buildInputs = [ - kronosnet nss nspr libqb + kronosnet nss nspr libqb systemd.dev ] ++ optional enableDbus dbus ++ optional enableInfiniBandRdma rdma-core ++ optional enableMonitoring libstatgrab @@ -32,6 +32,8 @@ stdenv.mkDerivation rec { "--with-logdir=/var/log/corosync" "--enable-watchdog" "--enable-qdevices" + # allows Type=notify in the systemd service + "--enable-systemd" ] ++ optional enableDbus "--enable-dbus" ++ optional enableInfiniBandRdma "--enable-rdma" ++ optional enableMonitoring "--enable-monitoring" @@ -63,6 +65,10 @@ stdenv.mkDerivation rec { --prefix PATH ":" "$out/sbin:${libqb}/sbin" ''; + passthru.tests = { + inherit (nixosTests) pacemaker; + }; + meta = { homepage = "http://corosync.org/"; description = "A Group Communication System with features for implementing high availability within applications"; diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix index 2dc2d76c891..764c61356f3 100644 --- a/pkgs/servers/sabnzbd/default.nix +++ b/pkgs/servers/sabnzbd/default.nix @@ -24,14 +24,14 @@ let ]); path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ]; in stdenv.mkDerivation rec { - version = "3.5.1"; + version = "3.5.2"; pname = "sabnzbd"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-/HakjY0/oGq3lt0kM5p9n3sZ4g/UDtUNyXNpl9zTFl8="; + sha256 = "sha256-dGmZxnrxuUj6HwFI5QkSy9FnGYQpsNPFbUKXoJWpDfM="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix index 5d0ed06b5ae..1556250447a 100644 --- a/pkgs/servers/xmpp/prosody/default.nix +++ b/pkgs/servers/xmpp/prosody/default.nix @@ -11,7 +11,6 @@ with lib; - let luaEnv = lua.withPackages(p: with p; [ luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3 @@ -22,7 +21,7 @@ let ); in stdenv.mkDerivation rec { - version = "0.11.12"; # also update communityModules + version = "0.11.13"; # also update communityModules pname = "prosody"; # The following community modules are necessary for the nixos module # prosody module to comply with XEP-0423 and provide a working @@ -36,7 +35,7 @@ stdenv.mkDerivation rec { ]; src = fetchurl { url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz"; - sha256 = "03an206bl3h2lqcgv1wfvc2bqjq6m9vjb2idw0vyvczm43c55kan"; + sha256 = "sha256-OcYbNGoJtRJbYEy5aeFCBsu8uGyBFW/8a6LWJSfPBDI="; }; # A note to all those merging automated updates: Please also update this @@ -44,8 +43,8 @@ stdenv.mkDerivation rec { # version. communityModules = fetchhg { url = "https://hg.prosody.im/prosody-modules"; - rev = "bd0a1f917d98"; - sha256 = "0figx0b0y5zfk5anf16h20y4crjmpb6bkg30vl7p0m594qnyqjcx"; + rev = "54fa2116bbf3"; + sha256 = "sha256-OKZ7tD75q8/GMXruUQ+r9l0BxzdbPHNf41fZ3fHVQVw="; }; nativeBuildInputs = [ makeWrapper ]; @@ -54,7 +53,6 @@ stdenv.mkDerivation rec { ] ++ withExtraLibs; - configureFlags = [ "--ostype=linux" "--with-lua-include=${luaEnv}/include" @@ -89,9 +87,7 @@ stdenv.mkDerivation rec { passthru = { communityModules = withCommunityModules; - tests = { - main = nixosTests.prosody; - }; + tests = { inherit (nixosTests) prosody prosody-mysql; }; }; meta = { diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix index 08ee5d664fa..c3f5d3516cb 100644 --- a/pkgs/shells/hilbish/default.nix +++ b/pkgs/shells/hilbish/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "hilbish"; - version = "1.0.2"; + version = "1.0.4"; src = fetchFromGitHub { owner = "Rosettea"; repo = "Hilbish"; rev = "v${version}"; - sha256 = "sha256-BsN2v6OEWOtk8ENKr5G+lSmNIUA89VfpO+QQoBizx9g="; + sha256 = "sha256-JVAyE6iSfRres2YalQF3CWK5Jtn5HoW6p6RHVbwzoVQ="; fetchSubmodules = true; }; diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix index 529871683f6..6cb52ccd135 100644 --- a/pkgs/tools/admin/exoscale-cli/default.nix +++ b/pkgs/tools/admin/exoscale-cli/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "exoscale-cli"; - version = "1.51.1"; + version = "1.51.2"; src = fetchFromGitHub { owner = "exoscale"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-NU4xJTW0KCi8PZAY4cRJijGHCZEn5Z41xNF7+iH01oo="; + sha256 = "sha256-Nx9lASZOEetkADVEs2JxPRi9SCrb4SLnEpLpzcpp/Is="; }; goPackagePath = "github.com/exoscale/cli"; diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix index d4d5ee7348b..43d9a628787 100644 --- a/pkgs/tools/admin/syft/default.nix +++ b/pkgs/tools/admin/syft/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "syft"; - version = "0.41.1"; + version = "0.41.4"; src = fetchFromGitHub { owner = "anchore"; repo = pname; rev = "v${version}"; - sha256 = "sha256-6ltEC9LCuE4Rj4TlBwsDI45L92XMuCbEuMDkOk8OkZo="; + sha256 = "sha256-QRT5wvud9VMtXQ8QPC7joIMq7kYYlfVUSgzqMFW5LIE="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -22,7 +22,7 @@ buildGoModule rec { find "$out" -name .git -print0 | xargs -0 rm -rf ''; }; - vendorSha256 = "sha256-13PcAQlHPaQ1n7OiRSEW5H3rDXgUAmKAQGqQM31iyR8="; + vendorSha256 = "sha256-9/Mtjqny68HN4FItT2+yoknzdHBAS1aQL0VkTdm6624="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix index 50b9dba51d3..0f4dde0a416 100644 --- a/pkgs/tools/inputmethods/ibus/default.nix +++ b/pkgs/tools/inputmethods/ibus/default.nix @@ -1,6 +1,7 @@ { lib, stdenv , substituteAll , fetchurl +, fetchpatch , fetchFromGitHub , autoreconfHook , gettext @@ -9,12 +10,14 @@ , vala , wrapGAppsHook , dbus +, systemd , dconf ? null , glib , gdk-pixbuf , gobject-introspection , gtk2 , gtk3 +, gtk4 , gtk-doc , runCommand , isocodes @@ -60,16 +63,22 @@ in stdenv.mkDerivation rec { pname = "ibus"; - version = "1.5.24"; + version = "1.5.26"; src = fetchFromGitHub { owner = "ibus"; repo = "ibus"; rev = version; - sha256 = "sha256-1qx06MlEUjSS067FdQG1Bdi4ZAh3hPcNjUX5PIiC3Sk="; + sha256 = "7Vuj4Gyd+dLUoCkR4SPkfGPwVQPRo2pHk0pRAsmtjxc="; }; patches = [ + # Fixes systemd unit installation path https://github.com/ibus/ibus/pull/2388 + (fetchpatch { + url = "https://github.com/ibus/ibus/commit/33b4b3932bfea476a841f8df99e20049b83f4b0e.patch"; + sha256 = "kh8SBR+cqsov/B0A2YXLJVq1F171qoSRUKbBPHjPRHI="; + }) + (substituteAll { src = ./fix-paths.patch; pythonInterpreter = python3Runtime.interpreter; @@ -94,6 +103,7 @@ stdenv.mkDerivation rec { (enableFeature enablePython2Library "python-library") (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway (enableFeature enableUI "ui") + "--enable-gtk4" "--enable-install-tests" "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji" "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations" @@ -123,12 +133,14 @@ stdenv.mkDerivation rec { buildInputs = [ dbus + systemd dconf gdk-pixbuf gobject-introspection python3.pkgs.pygobject3 # for pygobject overrides gtk2 gtk3 + gtk4 isocodes json-glib libnotify diff --git a/pkgs/tools/inputmethods/ibus/fix-paths.patch b/pkgs/tools/inputmethods/ibus/fix-paths.patch index 60269c6c241..340ec22130f 100644 --- a/pkgs/tools/inputmethods/ibus/fix-paths.patch +++ b/pkgs/tools/inputmethods/ibus/fix-paths.patch @@ -1,6 +1,8 @@ +diff --git a/configure.ac b/configure.ac +index a3cdb2da..cade9466 100644 --- a/configure.ac +++ b/configure.ac -@@ -429,11 +429,11 @@ +@@ -469,11 +469,11 @@ PKG_CHECK_EXISTS([pygobject-3.0 >= $PYGOBJECT_REQUIRED], if test "x$enable_pygobject" = "xyes"; then PKG_CHECK_MODULES(PYTHON, [pygobject-3.0 >= $PYGOBJECT_REQUIRED]) @@ -14,7 +16,7 @@ AC_SUBST(py2overridesdir) fi fi -@@ -462,7 +462,7 @@ +@@ -502,7 +502,7 @@ if test x"$enable_python_library" = x"yes"; then PYTHON2_VERSION=`$PYTHON2 -c "import sys; sys.stdout.write(sys.version[[:3]])"` PYTHON2_LIBDIR="$PYTHON2_PREFIX/lib/python$PYTHON2_VERSION" python2dir="$PYTHON2_LIBDIR/site-packages" @@ -23,9 +25,11 @@ AC_SUBST(pkgpython2dir) else enable_python_library="no (disabled, use --enable-python-library to enable)" +diff --git a/data/dconf/Makefile.am b/data/dconf/Makefile.am +index 5360f033..6d5e726f 100644 --- a/data/dconf/Makefile.am +++ b/data/dconf/Makefile.am -@@ -50,7 +50,7 @@ +@@ -50,7 +50,7 @@ man_5dir = $(mandir)/man5 install-data-hook: if test -z "$(DESTDIR)"; then \ @@ -34,12 +38,14 @@ fi EXTRA_DIST = \ +diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in +index 474ce8a8..ee30808e 100644 --- a/setup/ibus-setup.in +++ b/setup/ibus-setup.in -@@ -27,5 +27,5 @@ +@@ -27,5 +27,5 @@ export IBUS_PREFIX=@prefix@ export IBUS_DATAROOTDIR=@datarootdir@ export IBUS_LOCALEDIR=@localedir@ export IBUS_LIBEXECDIR=${libexecdir} --exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@ -+exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@ +-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py "$@" ++exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py "$@" diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix index ec3f480ebf1..492e8a83a2f 100644 --- a/pkgs/tools/misc/goreleaser/default.nix +++ b/pkgs/tools/misc/goreleaser/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "goreleaser"; - version = "1.6.1"; + version = "1.6.3"; src = fetchFromGitHub { owner = "goreleaser"; repo = pname; rev = "v${version}"; - sha256 = "sha256-MnsIm8E6CR5tEB6Oq35fJKQiPJfqP86/hp0t6lqJ0JE="; + sha256 = "sha256-ZNE+DfQdIlxA6sXMI8DAIQ3x+kcgXoGApUuoPncRfpc="; }; vendorSha256 = "sha256-Kwa2hzsuw3BNLubcqd7Vmpg49P78Yjt3LboLotoGWYM="; diff --git a/pkgs/tools/misc/license-generator/default.nix b/pkgs/tools/misc/license-generator/default.nix new file mode 100644 index 00000000000..b880c66f971 --- /dev/null +++ b/pkgs/tools/misc/license-generator/default.nix @@ -0,0 +1,20 @@ +{ lib, fetchCrate, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "license-generator"; + version = "0.8.1"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-ZVhsbaJJ9WBcQPx2yikIAQJeBXwC6ZAJkfCRmokNV3I="; + }; + + cargoSha256 = "sha256-Yh9q/aYHXUF2eIFpJ7ccgeyIO5mQMgRDCNr+ZyS166Y="; + + meta = with lib; { + description = "Command-line tool for generating license files"; + homepage = "https://github.com/azu/license-generator"; + license = licenses.mit; + maintainers = with maintainers; [ loicreynier ]; + }; +} diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix index 554822ba8de..cfdb2b79c6d 100644 --- a/pkgs/tools/misc/steampipe/default.nix +++ b/pkgs/tools/misc/steampipe/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "steampipe"; - version = "0.12.2"; + version = "0.13.0"; src = fetchFromGitHub { owner = "turbot"; repo = "steampipe"; rev = "v${version}"; - sha256 = "sha256-xLw3y9DYkei0MoErsMpSDhEK73lK9b13st+DqHvvhys="; + sha256 = "sha256-+QtZmrPE3R98UVSwrC8xoehNKwd0Exg+AZ2BJxBIrfY="; }; - vendorSha256 = "sha256-hqjjwYBVnuw7Bt2901tPIkfvYLy955IdeMbeSWTjtL0="; + vendorSha256 = "sha256-rRp8pR2cpW88o0KPwuvgSkE263S5oGK/4df4CQSOlRo="; proxyVendor = true; # tests are failing for no obvious reasons diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 4673ab41654..6b15488f5c6 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -70,13 +70,13 @@ buildPythonPackage rec { homepage = "https://ytdl-org.github.io/youtube-dl/"; description = "Command-line tool to download videos from YouTube.com and other sites"; longDescription = '' - youtube-dl is a small, Python-based command-line program - to download videos from YouTube.com and a few more sites. - youtube-dl is released to the public domain, which means - you can modify it, redistribute it or use it however you like. + youtube-dl is a small, Python-based command-line program to download + videos from YouTube.com and a few more sites. youtube-dl is released to + the public domain, which means you can modify it, redistribute it or use + it however you like. ''; license = licenses.publicDomain; + maintainers = with maintainers; [ bluescreen303 fpletz ma27 ]; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ bluescreen303 AndersonTorres fpletz ma27 ]; }; } diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index cdb33ab1f1a..6726e5b751a 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -27,6 +27,5 @@ stdenv.mkDerivation rec { license = licenses.bsd3; maintainers = with maintainers; [ globin ]; platforms = platforms.unix; - badPlatforms = platforms.darwin; }; } diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix index 35541fa36ac..05a9e45c956 100644 --- a/pkgs/tools/package-management/disnix/disnixos/default.nix +++ b/pkgs/tools/package-management/disnix/disnixos/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "disnixos"; - version = "0.9.2"; + version = "0.9.3"; src = fetchurl { url = "https://github.com/svanderburg/disnixos/releases/download/${pname}-${version}/${pname}-${version}.tar.gz"; - sha256 = "0zcghb9nm911bfwpzcgj4ga2cndxbzp5pmrxff711qydrwgy7sg7"; + sha256 = "0nm7g184xh6xzjz4a40a7kgfnpmq043x6v0cynpffa6wd9jv89s9"; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix index 678f0a9be8b..f07aade89ca 100644 --- a/pkgs/tools/package-management/disnix/dysnomia/default.nix +++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, netcat # Optional packages -, systemd ? null, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null +, systemd ? null, ejabberd ? null, mariadb ? null, postgresql ? null, subversion ? null , mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null , nginx ? null, s6-rc ? null, xinetd ? null @@ -26,7 +26,7 @@ , getopt }: -assert enableMySQLDatabase -> mysql != null; +assert enableMySQLDatabase -> mariadb != null; assert enablePostgreSQLDatabase -> postgresql != null; assert enableSubversionRepository -> subversion != null; assert enableEjabberdDump -> ejabberd != null; @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { buildInputs = [ getopt netcat ] ++ lib.optional stdenv.isLinux systemd ++ lib.optional enableEjabberdDump ejabberd - ++ lib.optional enableMySQLDatabase mysql.out + ++ lib.optional enableMySQLDatabase mariadb.out ++ lib.optional enablePostgreSQLDatabase postgresql ++ lib.optional enableSubversionRepository subversion ++ lib.optionals enableMongoDatabase [ mongodb mongodb-tools ] diff --git a/pkgs/tools/security/amber/default.nix b/pkgs/tools/security/amber/default.nix index 5fb88ca9921..c2196cea686 100644 --- a/pkgs/tools/security/amber/default.nix +++ b/pkgs/tools/security/amber/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { # Renaming it to amber-secret because another package named amber exists pname = "amber-secret"; - version = "0.1.2"; + version = "0.1.3"; src = fetchFromGitHub { owner = "fpco"; repo = "amber"; rev = "v${version}"; - sha256 = "sha256-+vipQl/HWoYnOPkQLjeIedpnnqPVYaUWhks9eCgMOxQ="; + sha256 = "sha256-kPDNTwsfI+8nOgsLv2aONrLGSRZhw5YzNntJ2tbE0oI="; }; - cargoSha256 = "sha256-xWEQvCyd8auE0q9rBt9iDgU8Dscf4pq/gsAINH2eQY4="; + cargoSha256 = "sha256-fTdTgbeOQXEpLHq9tHiPLkttvaxS/WJ86h3jRdrfbJM="; buildInputs = lib.optionals stdenv.isDarwin [ Security ]; diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix index d93f0135c20..2042ec30fff 100644 --- a/pkgs/tools/security/libtpms/default.nix +++ b/pkgs/tools/security/libtpms/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "libtpms"; - version = "0.9.2"; + version = "0.9.3"; src = fetchFromGitHub { owner = "stefanberger"; repo = "libtpms"; rev = "v${version}"; - sha256 = "sha256-sfAmyx9MgzCVA1Da7hl6/sKxhS9ptaNLeSB8wmJIKDs="; + sha256 = "sha256-ih154MtLWBUdo7+ugu6tg5O/XSjlgFC00wgWC71VeaE="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix index 729a0900f85..14c95bd2f3b 100644 --- a/pkgs/tools/text/difftastic/default.nix +++ b/pkgs/tools/text/difftastic/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "difftastic"; - version = "0.19.0"; + version = "0.22.0"; src = fetchFromGitHub { owner = "wilfred"; repo = pname; rev = version; - sha256 = "sha256-pZyQnPIdyS8XkzP9KwGKRjF21YWGgCVNeQSie9g5NcE="; + sha256 = "sha256-VV4nCR+BGly+EdCkyI4KeS0Zmn6NkfRsMs//0Sj3E20="; }; - cargoSha256 = "sha256-VXbCrhoGF6bCzQ02Y1LQkbEVrmIfDIKFWF9vx43tt94="; + cargoSha256 = "sha256-MyCi5PuUs9MJArDFaBgjjBInYJAS/SAPe1iNTs9feLY="; meta = with lib; { description = "A syntax-aware diff"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 66e925793c3..68f51ad97c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1089,6 +1089,8 @@ with pkgs; ksnip = libsForQt5.callPackage ../tools/misc/ksnip { }; + license-generator = callPackage ../tools/misc/license-generator { }; + linux-router = callPackage ../tools/networking/linux-router { }; linux-router-without-wifi = linux-router.override { useWifiDependencies = false; }; @@ -9194,6 +9196,8 @@ with pkgs; pydf = callPackage ../applications/misc/pydf { }; + pyinfra = with python3Packages; toPythonApplication pyinfra; + pympress = callPackage ../applications/office/pympress { }; pyspread = libsForQt5.callPackage ../applications/office/pyspread { }; @@ -19564,6 +19568,8 @@ with pkgs; osinfo-db = callPackage ../data/misc/osinfo-db { }; osinfo-db-tools = callPackage ../tools/misc/osinfo-db-tools { }; + pacemaker = callPackage ../misc/logging/pacemaker { }; + p11-kit = callPackage ../development/libraries/p11-kit { }; paperkey = callPackage ../tools/security/paperkey { }; @@ -27698,6 +27704,7 @@ with pkgs; simple-mpv-webui = callPackage ../applications/video/mpv/scripts/simple-mpv-webui.nix {}; sponsorblock = callPackage ../applications/video/mpv/scripts/sponsorblock.nix {}; thumbnail = callPackage ../applications/video/mpv/scripts/thumbnail.nix { }; + vr-reversal = callPackage ../applications/video/mpv/scripts/vr-reversal.nix {}; youtube-quality = callPackage ../applications/video/mpv/scripts/youtube-quality.nix { }; cutter = callPackage ../applications/video/mpv/scripts/cutter.nix { }; }; @@ -32620,6 +32627,8 @@ with pkgs; monosat = callPackage ../applications/science/logic/monosat {}; + nuXmv = callPackage ../applications/science/logic/nuXmv {}; + opensmt = callPackage ../applications/science/logic/opensmt { }; ott = callPackage ../applications/science/logic/ott { }; @@ -33729,7 +33738,9 @@ with pkgs; disnixos = callPackage ../tools/package-management/disnix/disnixos { }; - DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { }; + DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { + jdk = jdk8; + }; i3a = callPackage ../misc/i3a { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5cac8853167..663d39b1c4d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8279,6 +8279,8 @@ in { pyeverlights = callPackage ../development/python-modules/pyeverlights { }; + pyinfra = callPackage ../development/python-modules/pyinfra { }; + pytibber = callPackage ../development/python-modules/pytibber { }; pytile = callPackage ../development/python-modules/pytile { };