diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e2bf9f5f49e..9b311f81be4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -118,6 +118,12 @@ githubId = 2258953; name = "Aaron Schif"; }; + aaschmid = { + email = "service@aaschmid.de"; + github = "aaschmid"; + githubId = 567653; + name = "Andreas Schmid"; + }; abaldeau = { email = "andreas@baldeau.net"; github = "baldo"; @@ -1707,6 +1713,12 @@ githubId = 3086255; name = "Barry Moore II"; }; + chivay = { + email = "hubert.jasudowicz@gmail.com"; + github = "chivay"; + githubId = 14790226; + name = "Hubert Jasudowicz"; + }; chkno = { email = "chuck@intelligence.org"; github = "chkno"; @@ -3699,6 +3711,12 @@ githubId = 201997; name = "Eric Seidel"; }; + gspia = { + email = "iahogsp@gmail.com"; + github = "gspia"; + githubId = 3320792; + name = "gspia"; + }; guibert = { email = "david.guibert@gmail.com"; github = "dguibert"; @@ -7523,6 +7541,12 @@ githubId = 3438604; name = "Petter Storvik"; }; + p-h = { + email = "p@hurlimann.org"; + github = "p-h"; + githubId = 645664; + name = "Philippe Hürlimann"; + }; philandstuff = { email = "philip.g.potter@gmail.com"; github = "philandstuff"; @@ -10554,6 +10578,12 @@ githubId = 13378502; name = "Wulfsta"; }; + wunderbrick = { + name = "Andrew Phipps"; + email = "lambdafuzz@tutanota.com"; + github = "wunderbrick"; + githubId = 52174714; + }; wyvie = { email = "elijahrum@gmail.com"; github = "wyvie"; @@ -10638,6 +10668,12 @@ githubId = 11824817; name = "Marti Serra"; }; + xworld21 = { + email = "1962985+xworld21@users.noreply.github.com"; + github = "xworld21"; + githubId = 1962985; + name = "Vincenzo Mantova"; + }; xwvvvvwx = { email = "davidterry@posteo.de"; github = "xwvvvvwx"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b0359eb43af..22f1fde43ea 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -288,6 +288,7 @@ ./services/continuous-integration/hail.nix ./services/continuous-integration/hercules-ci-agent/default.nix ./services/continuous-integration/hydra/default.nix + ./services/continuous-integration/github-runner.nix ./services/continuous-integration/gitlab-runner.nix ./services/continuous-integration/gocd-agent/default.nix ./services/continuous-integration/gocd-server/default.nix diff --git a/nixos/modules/services/continuous-integration/github-runner.nix b/nixos/modules/services/continuous-integration/github-runner.nix new file mode 100644 index 00000000000..9627b723f8f --- /dev/null +++ b/nixos/modules/services/continuous-integration/github-runner.nix @@ -0,0 +1,299 @@ +{ config, pkgs, lib, ... }: +with lib; +let + cfg = config.services.github-runner; + svcName = "github-runner"; + systemdDir = "${svcName}/${cfg.name}"; + # %t: Runtime directory root (usually /run); see systemd.unit(5) + runtimeDir = "%t/${systemdDir}"; + # %S: State directory root (usually /var/lib); see systemd.unit(5) + stateDir = "%S/${systemdDir}"; + # %L: Log directory root (usually /var/log); see systemd.unit(5) + logsDir = "%L/${systemdDir}"; +in +{ + options.services.github-runner = { + enable = mkOption { + default = false; + example = true; + description = '' + Whether to enable GitHub Actions runner. + + Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here: + About self-hosted runners. + ''; + type = lib.types.bool; + }; + + url = mkOption { + type = types.str; + description = '' + Repository to add the runner to. + + Changing this option triggers a new runner registration. + ''; + example = "https://github.com/nixos/nixpkgs"; + }; + + tokenFile = mkOption { + type = types.path; + description = '' + The full path to a file which contains the runner registration token. + The file should contain exactly one line with the token without any newline. + The token can be used to re-register a runner of the same name but is time-limited. + + Changing this option or the file's content triggers a new runner registration. + ''; + example = "/run/secrets/github-runner/nixos.token"; + }; + + name = mkOption { + # Same pattern as for `networking.hostName` + type = types.strMatching "^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$"; + description = '' + Name of the runner to configure. Defaults to the hostname. + + Changing this option triggers a new runner registration. + ''; + example = "nixos"; + default = config.networking.hostName; + }; + + runnerGroup = mkOption { + type = types.nullOr types.str; + description = '' + Name of the runner group to add this runner to (defaults to the default runner group). + + Changing this option triggers a new runner registration. + ''; + default = null; + }; + + extraLabels = mkOption { + type = types.listOf types.str; + description = '' + Extra labels in addition to the default (["self-hosted", "Linux", "X64"]). + + Changing this option triggers a new runner registration. + ''; + example = literalExample ''[ "nixos" ]''; + default = [ ]; + }; + + replace = mkOption { + type = types.bool; + description = '' + Replace any existing runner with the same name. + + Without this flag, registering a new runner with the same name fails. + ''; + default = false; + }; + + extraPackages = mkOption { + type = types.listOf types.package; + description = '' + Extra packages to add to PATH of the service to make them available to workflows. + ''; + default = [ ]; + }; + }; + + config = mkIf cfg.enable { + warnings = optionals (isStorePath cfg.tokenFile) [ + '' + `services.github-runner.tokenFile` points to the Nix store and, therefore, is world-readable. + Consider using a path outside of the Nix store to keep the token private. + '' + ]; + + systemd.services.${svcName} = { + description = "GitHub Actions runner"; + + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network.target" "network-online.target" ]; + + environment = { + HOME = runtimeDir; + RUNNER_ROOT = runtimeDir; + }; + + path = (with pkgs; [ + bash + coreutils + git + gnutar + gzip + ]) ++ [ + config.nix.package + ] ++ cfg.extraPackages; + + serviceConfig = rec { + ExecStart = "${pkgs.github-runner}/bin/runsvc.sh"; + + # Does the following, sequentially: + # - Copy the current and the previous `tokenFile` to the $RUNTIME_DIRECTORY + # and make it accessible to the service user to allow for a content + # comparison. + # - If the module configuration or the token has changed, clear the state directory. + # - Configure the runner. + # - Copy the configured `tokenFile` to the $STATE_DIRECTORY and make it + # inaccessible to the service user. + # - Set up the directory structure by creating the necessary symlinks. + ExecStartPre = + let + # Wrapper script which expects the full path of the state, runtime and logs + # directory as arguments. Overrides the respective systemd variables to provide + # unambiguous directory names. This becomes relevant, for example, if the + # caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory= + # to contain more than one directory. This causes systemd to set the respective + # environment variables with the path of all of the given directories, separated + # by a colon. + writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" '' + set -euo pipefail + + STATE_DIRECTORY="$1" + RUNTIME_DIRECTORY="$2" + LOGS_DIRECTORY="$3" + + ${lines} + ''; + currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json"; + runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" ] cfg; + newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig); + currentConfigTokenFilename = ".current-token"; + newConfigTokenFilename = ".new-token"; + runnerCredFiles = [ + ".credentials" + ".credentials_rsaparams" + ".runner" + ]; + ownConfigTokens = writeScript "own-config-tokens" '' + # Copy current and new token file to runtime dir and make it accessible to the service user + cp ${escapeShellArg cfg.tokenFile} "$RUNTIME_DIRECTORY/${newConfigTokenFilename}" + chmod 600 "$RUNTIME_DIRECTORY/${newConfigTokenFilename}" + chown "$USER" "$RUNTIME_DIRECTORY/${newConfigTokenFilename}" + + if [[ -e "$STATE_DIRECTORY/${currentConfigTokenFilename}" ]]; then + cp "$STATE_DIRECTORY/${currentConfigTokenFilename}" "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}" + chmod 600 "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}" + chown "$USER" "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}" + fi + ''; + disownConfigTokens = writeScript "disown-config-tokens" '' + # Make the token inaccessible to the runner service user + chmod 600 "$STATE_DIRECTORY/${currentConfigTokenFilename}" + chown root:root "$STATE_DIRECTORY/${currentConfigTokenFilename}" + ''; + unconfigureRunner = writeScript "unconfigure" '' + differs= + # Set `differs = 1` if current and new runner config differ or if `currentConfigPath` does not exist + ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 || differs=1 + # Also trigger a registration if the token content changed + ${pkgs.diffutils}/bin/diff -q \ + "$RUNTIME_DIRECTORY"/{${currentConfigTokenFilename},${newConfigTokenFilename}} \ + >/dev/null 2>&1 || differs=1 + + if [[ -n "$differs" ]]; then + echo "Config has changed, removing old runner state." + echo "The old runner will still appear in the GitHub Actions UI." \ + "You have to remove it manually." + find "$STATE_DIRECTORY/" -mindepth 1 -delete + fi + ''; + configureRunner = writeScript "configure" '' + empty=$(ls -A "$STATE_DIRECTORY") + if [[ -z "$empty" ]]; then + echo "Configuring GitHub Actions Runner" + token=$(< "$RUNTIME_DIRECTORY"/${newConfigTokenFilename}) + RUNNER_ROOT="$STATE_DIRECTORY" ${pkgs.github-runner}/bin/config.sh \ + --unattended \ + --work "$RUNTIME_DIRECTORY" \ + --url ${escapeShellArg cfg.url} \ + --token "$token" \ + --labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)} \ + --name ${escapeShellArg cfg.name} \ + ${optionalString cfg.replace "--replace"} \ + ${optionalString (cfg.runnerGroup != null) "--runnergroup ${escapeShellArg cfg.runnerGroup}"} + + # Move the automatically created _diag dir to the logs dir + mkdir -p "$STATE_DIRECTORY/_diag" + cp -r "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/" + rm -rf "$STATE_DIRECTORY/_diag/" + + # Cleanup token from config + rm -f "$RUNTIME_DIRECTORY"/${currentConfigTokenFilename} + mv "$RUNTIME_DIRECTORY"/${newConfigTokenFilename} "$STATE_DIRECTORY/${currentConfigTokenFilename}" + + # Symlink to new config + ln -s '${newConfigPath}' "${currentConfigPath}" + fi + ''; + setupRuntimeDir = writeScript "setup-runtime-dirs" '' + # Link _diag dir + ln -s "$LOGS_DIRECTORY" "$RUNTIME_DIRECTORY/_diag" + + # Link the runner credentials to the runtime dir + ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$RUNTIME_DIRECTORY/" + ''; + in + map (x: "${x} ${escapeShellArgs [ stateDir runtimeDir logsDir ]}") [ + "+${ownConfigTokens}" # runs as root + unconfigureRunner + configureRunner + "+${disownConfigTokens}" # runs as root + setupRuntimeDir + ]; + + # Contains _diag + LogsDirectory = [ systemdDir ]; + # Default RUNNER_ROOT which contains ephemeral Runner data + RuntimeDirectory = [ systemdDir ]; + # Home of persistent runner data, e.g., credentials + StateDirectory = [ systemdDir ]; + StateDirectoryMode = "0700"; + WorkingDirectory = runtimeDir; + + # By default, use a dynamically allocated user + DynamicUser = true; + + KillMode = "process"; + KillSignal = "SIGTERM"; + + # Hardening (may overlap with DynamicUser=) + # The following options are only for optimizing: + # systemd-analyze security github-runner + AmbientCapabilities = ""; + CapabilityBoundingSet = ""; + # ProtectClock= adds DeviceAllow=char-rtc r + DeviceAllow = ""; + LockPersonality = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + UMask = "0066"; + + # Needs network access + PrivateNetwork = false; + # Cannot be true due to Node + MemoryDenyWriteExecute = false; + }; + }; + }; +} diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 900185fbbdf..ee8cdf2d285 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -163,7 +163,7 @@ in ''; example = literalExample '' { - "DATABASE nextcloud" = "ALL PRIVILEGES"; + "DATABASE \"nextcloud\"" = "ALL PRIVILEGES"; "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; } ''; diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index 117e6366225..3ddc7aad81e 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -88,6 +88,13 @@ in example = "/run/redis/redis.sock"; }; + unixSocketPerm = mkOption { + type = types.int; + default = 750; + description = "Change permissions for the socket"; + example = 700; + }; + logLevel = mkOption { type = types.str; default = "notice"; # debug, verbose, notice, warning @@ -204,7 +211,6 @@ in ''; example = literalExample '' { - unixsocketperm = "700"; loadmodule = [ "/path/to/my_module.so" "/path/to/other_module.so" ]; } ''; @@ -256,7 +262,7 @@ in slowlog-max-len = cfg.slowLogMaxLen; } (mkIf (cfg.bind != null) { bind = cfg.bind; }) - (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; }) + (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; unixsocketperm = "${toString cfg.unixSocketPerm}"; }) (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; }) (mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; }) (mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; }) @@ -277,11 +283,18 @@ in serviceConfig = { ExecStart = "${cfg.package}/bin/redis-server /run/redis/redis.conf"; - RuntimeDirectory = "redis"; - StateDirectory = "redis"; Type = "notify"; + # User and group User = "redis"; Group = "redis"; + # Runtime directory and mode + RuntimeDirectory = "redis"; + RuntimeDirectoryMode = "0750"; + # State directory and mode + StateDirectory = "redis"; + StateDirectoryMode = "0700"; + # Access write directories + UMask = "0077"; }; }; }; diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 63c0961b756..8e5bed5fcb8 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -11,6 +11,7 @@ let haveAliases = cfg.postmasterAlias != "" || cfg.rootAlias != "" || cfg.extraAliases != ""; + haveCanonical = cfg.canonical != ""; haveTransport = cfg.transport != ""; haveVirtual = cfg.virtual != ""; haveLocalRecipients = cfg.localRecipients != null; @@ -244,6 +245,7 @@ let ; aliasesFile = pkgs.writeText "postfix-aliases" aliases; + canonicalFile = pkgs.writeText "postfix-canonical" cfg.canonical; virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual; localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients); checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides; @@ -529,6 +531,15 @@ in "; }; + canonical = mkOption { + type = types.lines; + default = ""; + description = '' + Entries for the canonical + 5 table. + ''; + }; + virtual = mkOption { type = types.lines; default = ""; @@ -941,6 +952,9 @@ in (mkIf haveAliases { services.postfix.aliasFiles.aliases = aliasesFile; }) + (mkIf haveCanonical { + services.postfix.mapFiles.canonical = canonicalFile; + }) (mkIf haveTransport { services.postfix.mapFiles.transport = transportFile; }) diff --git a/nixos/modules/services/misc/jellyfin.nix b/nixos/modules/services/misc/jellyfin.nix index 6a47dc3628f..64b774a220b 100644 --- a/nixos/modules/services/misc/jellyfin.nix +++ b/nixos/modules/services/misc/jellyfin.nix @@ -29,6 +29,16 @@ in default = "jellyfin"; description = "Group under which jellyfin runs."; }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open the default ports in the firewall for the media server. The + HTTP/HTTPS ports can be changed in the Web UI, so this option should + only be used if they are unchanged. + ''; + }; }; }; @@ -104,6 +114,12 @@ in jellyfin = {}; }; + networking.firewall = mkIf cfg.openFirewall { + # from https://jellyfin.org/docs/general/networking/index.html + allowedTCPPorts = [ 8096 8920 ]; + allowedUDPPorts = [ 1900 7359 ]; + }; + }; meta.maintainers = with lib.maintainers; [ minijackson ]; diff --git a/nixos/modules/services/networking/spacecookie.nix b/nixos/modules/services/networking/spacecookie.nix index c4d06df6ad4..e0bef9e9628 100644 --- a/nixos/modules/services/networking/spacecookie.nix +++ b/nixos/modules/services/networking/spacecookie.nix @@ -4,10 +4,22 @@ with lib; let cfg = config.services.spacecookie; - configFile = pkgs.writeText "spacecookie.json" (lib.generators.toJSON {} { - inherit (cfg) hostname port root; - }); + + spacecookieConfig = { + listen = { + inherit (cfg) port; + }; + } // cfg.settings; + + format = pkgs.formats.json {}; + + configFile = format.generate "spacecookie.json" spacecookieConfig; + in { + imports = [ + (mkRenamedOptionModule [ "services" "spacecookie" "root" ] [ "services" "spacecookie" "settings" "root" ]) + (mkRenamedOptionModule [ "services" "spacecookie" "hostname" ] [ "services" "spacecookie" "settings" "hostname" ]) + ]; options = { @@ -15,32 +27,149 @@ in { enable = mkEnableOption "spacecookie"; - hostname = mkOption { - type = types.str; - default = "localhost"; - description = "The hostname the service is reachable via. Clients will use this hostname for further requests after loading the initial gopher menu."; + package = mkOption { + type = types.package; + default = pkgs.spacecookie; + defaultText = literalExample "pkgs.spacecookie"; + example = literalExample "pkgs.haskellPackages.spacecookie"; + description = '' + The spacecookie derivation to use. This can be used to + override the used package or to use another version. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Whether to open the necessary port in the firewall for spacecookie. + ''; }; port = mkOption { type = types.port; default = 70; - description = "Port the gopher service should be exposed on."; + description = '' + Port the gopher service should be exposed on. + ''; }; - root = mkOption { - type = types.path; - default = "/srv/gopher"; - description = "The root directory spacecookie serves via gopher."; + address = mkOption { + type = types.str; + default = "[::]"; + description = '' + Address to listen on. Must be in the + ListenStream= syntax of + systemd.socket(5). + ''; + }; + + settings = mkOption { + type = types.submodule { + freeformType = format.type; + + options.hostname = mkOption { + type = types.str; + default = "localhost"; + description = '' + The hostname the service is reachable via. Clients + will use this hostname for further requests after + loading the initial gopher menu. + ''; + }; + + options.root = mkOption { + type = types.path; + default = "/srv/gopher"; + description = '' + The directory spacecookie should serve via gopher. + Files in there need to be world-readable since + the spacecookie service file sets + DynamicUser=true. + ''; + }; + + options.log = { + enable = mkEnableOption "logging for spacecookie" + // { default = true; example = false; }; + + hide-ips = mkOption { + type = types.bool; + default = true; + description = '' + If enabled, spacecookie will hide personal + information of users like IP addresses from + log output. + ''; + }; + + hide-time = mkOption { + type = types.bool; + # since we are starting with systemd anyways + # we deviate from the default behavior here: + # journald will add timestamps, so no need + # to double up. + default = true; + description = '' + If enabled, spacecookie will not print timestamps + at the beginning of every log line. + ''; + }; + + level = mkOption { + type = types.enum [ + "info" + "warn" + "error" + ]; + default = "info"; + description = '' + Log level for the spacecookie service. + ''; + }; + }; + }; + + description = '' + Settings for spacecookie. The settings set here are + directly translated to the spacecookie JSON config + file. See + spacecookie.json(5) + for explanations of all options. + ''; }; }; }; config = mkIf cfg.enable { + assertions = [ + { + assertion = !(cfg.settings ? user); + message = '' + spacecookie is started as a normal user, so the setuid + feature doesn't work. If you want to run spacecookie as + a specific user, set: + systemd.services.spacecookie.serviceConfig = { + DynamicUser = false; + User = "youruser"; + Group = "yourgroup"; + } + ''; + } + { + assertion = !(cfg.settings ? listen || cfg.settings ? port); + message = '' + The NixOS spacecookie module uses socket activation, + so the listen options have no effect. Use the port + and address options in services.spacecookie instead. + ''; + } + ]; systemd.sockets.spacecookie = { description = "Socket for the Spacecookie Gopher Server"; wantedBy = [ "sockets.target" ]; - listenStreams = [ "[::]:${toString cfg.port}" ]; + listenStreams = [ "${cfg.address}:${toString cfg.port}" ]; socketConfig = { BindIPv6Only = "both"; }; @@ -53,7 +182,7 @@ in { serviceConfig = { Type = "notify"; - ExecStart = "${pkgs.haskellPackages.spacecookie}/bin/spacecookie ${configFile}"; + ExecStart = "${lib.getBin cfg.package}/bin/spacecookie ${configFile}"; FileDescriptorStoreMax = 1; DynamicUser = true; @@ -79,5 +208,9 @@ in { RestrictAddressFamilies = "AF_UNIX AF_INET6"; }; }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.port ]; + }; }; } diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix index ca171561435..79a7847414a 100644 --- a/nixos/tests/redis.nix +++ b/nixos/tests/redis.nix @@ -17,7 +17,7 @@ in services.redis.unixSocket = redisSocket; # Allow access to the unix socket for the "redis" group. - services.redis.settings.unixsocketperm = "770"; + services.redis.unixSocketPerm = 770; users.users."member" = { createHome = false; diff --git a/nixos/tests/spacecookie.nix b/nixos/tests/spacecookie.nix index 5b5022a7427..a640657d8a6 100644 --- a/nixos/tests/spacecookie.nix +++ b/nixos/tests/spacecookie.nix @@ -1,47 +1,52 @@ let - gopherRoot = "/tmp/gopher"; - gopherHost = "gopherd"; - fileContent = "Hello Gopher!"; - fileName = "file.txt"; + gopherRoot = "/tmp/gopher"; + gopherHost = "gopherd"; + gopherClient = "client"; + fileContent = "Hello Gopher!\n"; + fileName = "file.txt"; in import ./make-test-python.nix ({...}: { name = "spacecookie"; nodes = { ${gopherHost} = { - networking.firewall.allowedTCPPorts = [ 70 ]; systemd.services.spacecookie = { preStart = '' mkdir -p ${gopherRoot}/directory - echo "${fileContent}" > ${gopherRoot}/${fileName} + printf "%s" "${fileContent}" > ${gopherRoot}/${fileName} ''; }; services.spacecookie = { enable = true; - root = gopherRoot; - hostname = gopherHost; + openFirewall = true; + settings = { + root = gopherRoot; + hostname = gopherHost; + }; }; }; - client = {}; + ${gopherClient} = {}; }; testScript = '' start_all() - ${gopherHost}.wait_for_open_port(70) - ${gopherHost}.wait_for_unit("spacecookie.service") - client.wait_for_unit("network.target") - fileResponse = client.succeed("curl -f -s gopher://${gopherHost}//${fileName}") + # with daemon type notify, the unit being started + # should also mean the port is open + ${gopherHost}.wait_for_unit("spacecookie.service") + ${gopherClient}.wait_for_unit("network.target") + + fileResponse = ${gopherClient}.succeed("curl -f -s gopher://${gopherHost}/0/${fileName}") # the file response should return our created file exactly - if not (fileResponse == "${fileContent}\n"): + if not (fileResponse == "${builtins.replaceStrings [ "\n" ] [ "\\n" ] fileContent}"): raise Exception("Unexpected file response") # sanity check on the directory listing: we serve a directory and a file # via gopher, so the directory listing should have exactly two entries, # one with gopher file type 0 (file) and one with file type 1 (directory). - dirResponse = client.succeed("curl -f -s gopher://${gopherHost}") + dirResponse = ${gopherClient}.succeed("curl -f -s gopher://${gopherHost}") dirEntries = [l[0] for l in dirResponse.split("\n") if len(l) > 0] dirEntries.sort() diff --git a/pkgs/applications/audio/bschaffl/default.nix b/pkgs/applications/audio/bschaffl/default.nix index 76d2e78a266..ed988cbcb67 100644 --- a/pkgs/applications/audio/bschaffl/default.nix +++ b/pkgs/applications/audio/bschaffl/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "bschaffl"; - version = "1.4.4"; + version = "1.4.6"; src = fetchFromGitHub { owner = "sjaehn"; repo = pname; rev = version; - sha256 = "sha256-tu5JL0vcqRsZYmoaYGYm/aj95i7wLtnKYGbEPD7AsoM="; + sha256 = "sha256-tD4LsIXb2II+TNEfzXBviMR2fq/FtCSsaL2YGun1vu0="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix index a217e470954..dbe6bdeee42 100644 --- a/pkgs/applications/audio/distrho/default.nix +++ b/pkgs/applications/audio/distrho/default.nix @@ -1,12 +1,21 @@ -{ lib, stdenv +{ stdenv , alsaLib +, curl , fetchFromGitHub +, fftwFloat , freetype +, glib +, lib , libGL , libX11 , libXcursor , libXext +, libXinerama +, libXrandr , libXrender +, libgcc +, libglvnd +, libsecret , meson , ninja , pkg-config @@ -14,25 +23,33 @@ stdenv.mkDerivation rec { pname = "distrho-ports"; - version = "2020-07-14"; + version = "2021-03-15"; src = fetchFromGitHub { owner = "DISTRHO"; repo = "DISTRHO-Ports"; rev = version; - sha256 = "03ji41i6dpknws1vjwfxnl8c8bgisv2ng8xa4vqy2473k7wgdw4v"; + sha256 = "00fgqwayd20akww3n2imyqscmyrjyc9jj0ar13k9dhpaxqk2jxbf"; }; nativeBuildInputs = [ pkg-config meson ninja ]; buildInputs = [ alsaLib + curl + fftwFloat freetype + glib libGL libX11 libXcursor libXext + libXinerama + libXrandr libXrender + libgcc + libglvnd + libsecret ]; meta = with lib; { @@ -61,6 +78,7 @@ stdenv.mkDerivation rec { pitchedDelay refine stereosourceseparation + swankyamp tal-dub-3 tal-filter tal-filter-2 @@ -71,9 +89,10 @@ stdenv.mkDerivation rec { tal-vocoder-2 temper vex + vitalium wolpertinger ''; - license = with licenses; [ gpl2 gpl3 gpl2Plus lgpl3 mit ]; + license = with licenses; [ gpl2Only gpl3Only gpl2Plus lgpl2Plus lgpl3Only mit ]; maintainers = [ maintainers.goibhniu ]; platforms = [ "x86_64-linux" ]; }; diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix index 61d1647087e..164f266462a 100644 --- a/pkgs/applications/audio/snd/default.nix +++ b/pkgs/applications/audio/snd/default.nix @@ -1,30 +1,30 @@ { lib, stdenv, fetchurl, pkg-config -, gtk2, alsaLib -, fftw, gsl +, alsaLib, fftw, gsl, motif, xorg }: stdenv.mkDerivation rec { - name = "snd-20.3"; + pname = "snd"; + version = "21.1"; src = fetchurl { - url = "mirror://sourceforge/snd/${name}.tar.gz"; - sha256 = "016slh34gb6qqb38m8k9yg48rbhc5p12084szcwvanhh5v7fc7mk"; + url = "mirror://sourceforge/snd/snd-${version}.tar.gz"; + sha256 = "1jxvpgx1vqa6bwdzlzyzrjn2swjf9nfhzi9r1r96ivi0870vvjk3"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - gtk2 alsaLib - fftw gsl - ]; + buildInputs = [ alsaLib fftw gsl motif ] + ++ (with xorg; [ libXext libXft libXpm libXt ]); - meta = { + configureFlags = [ "--with-motif" ]; + + enableParallelBuilding = true; + + meta = with lib; { description = "Sound editor"; - homepage = "http://ccrma.stanford.edu/software/snd"; - platforms = lib.platforms.linux; - license = lib.licenses.free; - maintainers = with lib.maintainers; [ ]; + homepage = "https://ccrma.stanford.edu/software/snd/"; + platforms = platforms.unix; + license = licenses.free; + maintainers = with maintainers; [ ]; }; - - } diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix index 0f99f28b42f..73e067b5b55 100644 --- a/pkgs/applications/blockchains/go-ethereum.nix +++ b/pkgs/applications/blockchains/go-ethereum.nix @@ -8,17 +8,17 @@ let in buildGoModule rec { pname = "go-ethereum"; - version = "1.10.1"; + version = "1.10.2"; src = fetchFromGitHub { owner = "ethereum"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4lHT0P8Euau0AJNtg1YstJJRQ58WTUlIH+HCKEjCq/s="; + sha256 = "sha256-PJaJ9fCva9UUBcQrnVa2c7dk4koi6AyX6bj3JStUMwM="; }; runVend = true; - vendorSha256 = "sha256-DgyOvplk1JWn6D/z4zbXHLNLuAVQ5beEHi0NuSv236A="; + vendorSha256 = "sha256-qLpwrV9NkmUO0yoK2/gwb5oe/lky/w/P0QVoFSTNuMU="; doCheck = false; diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix index 4436264ba26..abe7ab56431 100644 --- a/pkgs/applications/blockchains/polkadot/default.nix +++ b/pkgs/applications/blockchains/polkadot/default.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage rec { pname = "polkadot"; - version = "0.8.29"; + version = "0.8.30"; src = fetchFromGitHub { owner = "paritytech"; repo = "polkadot"; rev = "v${version}"; - sha256 = "sha256-O5GIbX7qp+Te5QQuqytC9rsQJ5FuXtUl5h2DZXsfMPk="; + sha256 = "sha256-9GCk1gqlQJhuoiKRi7J1qcJlZjlq2ObGicp5tGGDhrY="; }; - cargoSha256 = "sha256-4VmRIrd79odnYrHuBLdFwere+7bvtUI3daVs3ZUKsdY="; + cargoSha256 = "sha256-pWqbcargCEkisdGnj08VQdRqjocR7zZhWukhYjfZDqI="; nativeBuildInputs = [ clang ]; diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix index efb3adaaa28..cdf32744148 100644 --- a/pkgs/applications/editors/cudatext/default.nix +++ b/pkgs/applications/editors/cudatext/default.nix @@ -38,13 +38,13 @@ let in stdenv.mkDerivation rec { pname = "cudatext"; - version = "1.129.3"; + version = "1.131.0"; src = fetchFromGitHub { owner = "Alexey-T"; repo = "CudaText"; rev = version; - sha256 = "1sg9wg6w3w0phrnnzpj7h2g22y0x7a3dl57djzydayxmg8fnn2ys"; + sha256 = "1zq17yi5zn4hdgrrn3c3cdk6s38fv36r66dl0dqz2z8jjd6vy4p3"; }; postPatch = '' @@ -106,8 +106,8 @@ stdenv.mkDerivation rec { Config system in JSON files. Multi-carets and multi-selections. Search and replace with RegEx. Extendable by Python plugins and themes. ''; - homepage = "http://www.uvviewsoft.com/cudatext/"; - changelog = "http://uvviewsoft.com/cudatext/history.txt"; + homepage = "https://cudatext.github.io/"; + changelog = "https://cudatext.github.io/history.txt"; license = licenses.mpl20; maintainers = with maintainers; [ sikmir ]; platforms = platforms.linux; diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json index a0044aaf833..05490b9d6fc 100644 --- a/pkgs/applications/editors/cudatext/deps.json +++ b/pkgs/applications/editors/cudatext/deps.json @@ -11,18 +11,18 @@ }, "ATFlatControls": { "owner": "Alexey-T", - "rev": "2021.03.05", - "sha256": "1p2pzha5dd4p23j2bv6jxphj596dlb5v8ixjzg4x2zglz2hir6yz" + "rev": "2021.04.01", + "sha256": "12sncivsv6pvwflzzy12rpn1fjiq64n2n3bcj7630xxlrbygkhxb" }, "ATSynEdit": { "owner": "Alexey-T", - "rev": "2021.03.16", - "sha256": "1sq9j2zaif019gl6nf391lyp8k9s38f5s6ci7k3z5v90hkz1dcql" + "rev": "2021.04.09", + "sha256": "1ldr2z88zywn0ccgs17vfhq55ibihjcmfjjxcqsjifrbm0y6wipp" }, "ATSynEdit_Cmp": { "owner": "Alexey-T", - "rev": "2021.03.08", - "sha256": "0xvnvx4qzp6nxi912i4zlnal91k6vbcsyfbz05ib73sz68xqd5qv" + "rev": "2021.04.01", + "sha256": "1g6zp9d7vwjisad3y1mfnk1jcbjqxp3yimm0sh1655al6qwn886m" }, "EControl": { "owner": "Alexey-T", @@ -31,8 +31,8 @@ }, "ATSynEdit_Ex": { "owner": "Alexey-T", - "rev": "2021.03.16", - "sha256": "1a4mxcwjm9naxh4piqm5y93w2xd5rgl0vcn108wy1pkr221agg2q" + "rev": "2021.04.01", + "sha256": "1hq9hbv81mcymjcms97wcwcfqfpxis6h6v5m0syyih4r53khv0az" }, "Python-for-Lazarus": { "owner": "Alexey-T", diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index d4a7d292322..8cf7966703f 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -16,13 +16,13 @@ in stdenv.mkDerivation rec { pname = "imagemagick"; - version = "7.0.11-5"; + version = "7.0.11-6"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick"; rev = version; - sha256 = "sha256-HJUC8lUHORZMHvSv1/EYM+JOsd89quFaU1Fz08AckG8="; + sha256 = "sha256-QClOS58l17KHeQXya+IKNx6nIkd6jCKp8uupRH7Fwnk="; }; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix index 99e8478224f..c7484f4cbfe 100644 --- a/pkgs/applications/graphics/fig2dev/default.nix +++ b/pkgs/applications/graphics/fig2dev/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "fig2dev"; - version = "3.2.8"; + version = "3.2.8a"; src = fetchurl { url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz"; - sha256 = "0zg29yqknfafyzmmln4k7kydfb2dapk3r8ffvlqhj3cm8fp5h4lk"; + sha256 = "1bm75lf9j54qpbjx8hzp6ixaayp1x9w4v3yxl6vxyw8g5m4sqdk3"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix index 96df57d7198..19d3c63ab3e 100644 --- a/pkgs/applications/graphics/pdfcpu/default.nix +++ b/pkgs/applications/graphics/pdfcpu/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "pdfcpu"; - version = "0.3.9"; + version = "0.3.11"; src = fetchFromGitHub { owner = "pdfcpu"; repo = pname; rev = "v${version}"; - sha256 = "sha256-btkGn/67KVFB272j7u5MKZCeby2fyRthLLeXj8VgX7s="; + sha256 = "sha256-kLRxZW89Bm2N/KxFYetIq+auPBW/vFoUnB8uaEcM8Yo="; }; - vendorSha256 = "sha256-/SsDDFveovJfuEdnOkxHAWccS8PJW5k9IHSxSJAgHMQ="; + vendorSha256 = "sha256-p/2Bu5h2P3ebgvSC12jdR2Zpd27xCFwtB/KZV0AULAM="; # No tests doCheck = false; diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix index 8773db5bead..3330e3eaefd 100644 --- a/pkgs/applications/graphics/xfig/default.nix +++ b/pkgs/applications/graphics/xfig/default.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { pname = "xfig"; - version = "3.2.8"; + version = "3.2.8a"; src = fetchurl { url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz"; - sha256 = "1czamqp0xn0j6qjnasa3fjnrzi072v6qknylr6jrs4gwsfw4ybyw"; + sha256 = "0y45i1gqg3r0aq55jk047l1hnv90kqis6ld9lppx6c5jhpmc0hxs"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 451cc9a33f3..95a0e41d2ae 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -35,7 +35,8 @@ stdenv.mkDerivation rec { patches = lib.optional stdenv.isDarwin ./darwin.patch; - nativeBuildInputs = [ cmake makeWrapper ] ++ optional cudaSupport addOpenGLRunpath; + nativeBuildInputs = [ cmake makeWrapper python3Packages.wrapPython ] + ++ optionals cudaSupport [ addOpenGLRunpath ]; buildInputs = [ boost ffmpeg gettext glew ilmbase freetype libjpeg libpng libsamplerate libsndfile libtiff @@ -63,6 +64,7 @@ stdenv.mkDerivation rec { ++ optional cudaSupport cudatoolkit ++ optional colladaSupport opencollada ++ optional spaceNavSupport libspnav; + pythonPath = with python3Packages; [ numpy requests ]; postPatch = '' # allow usage of dynamically linked embree @@ -109,6 +111,7 @@ stdenv.mkDerivation rec { "-DWITH_PYTHON_INSTALL_NUMPY=OFF" "-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}" "-DPYTHON_NUMPY_INCLUDE_DIRS=${python3Packages.numpy}/${python.sitePackages}/numpy/core/include" + "-DWITH_PYTHON_INSTALL_REQUESTS=OFF" "-DWITH_OPENVDB=ON" "-DWITH_TBB=ON" "-DWITH_IMAGE_OPENJPEG=ON" @@ -137,10 +140,11 @@ stdenv.mkDerivation rec { blenderExecutable = placeholder "out" + (if stdenv.isDarwin then "/Blender.app/Contents/MacOS/Blender" else "/bin/blender"); - # --python-expr is used to workaround https://developer.blender.org/T74304 postInstall = '' + buildPythonPath "$pythonPath" wrapProgram $blenderExecutable \ - --prefix PYTHONPATH : ${python3Packages.numpy}/${python.sitePackages} \ + --prefix PATH : $program_PATH \ + --prefix PYTHONPATH : "$program_PYTHONPATH" \ --add-flags '--python-use-system-env' ''; diff --git a/pkgs/applications/misc/foxitreader/default.nix b/pkgs/applications/misc/foxitreader/default.nix new file mode 100644 index 00000000000..e69361dbd93 --- /dev/null +++ b/pkgs/applications/misc/foxitreader/default.nix @@ -0,0 +1,79 @@ +{ mkDerivation, lib, fetchzip, libarchive, autoPatchelfHook, libsecret, libGL, zlib, openssl, qtbase, qtwebkit, qtxmlpatterns }: + +mkDerivation rec { + pname = "foxitreader"; + version = "2.4.4.0911"; + + src = fetchzip { + url = "https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/${lib.versions.major version}.x/${lib.versions.majorMinor version}/en_us/FoxitReader.enu.setup.${version}.x64.run.tar.gz"; + sha256 = "0ff4xs9ipc7sswq0czfhpsd7qw7niw0zsf9wgsqhbbgzcpbdhcb7"; + stripRoot = false; + }; + + buildInputs = [ libGL libsecret openssl qtbase qtwebkit qtxmlpatterns zlib ]; + + nativeBuildInputs = [ autoPatchelfHook libarchive ]; + + buildPhase = '' + runHook preBuild + + input_file=$src/*.run + mkdir -p extracted + # Look for all 7z files and extract them + grep --only-matching --byte-offset --binary \ + --text -P '7z\xBC\xAF\x27\x1C\x00\x03' $input_file | cut -d: -f1 | + while read position; do + tail -c +$(($position + 1)) $input_file > file.7z + bsdtar xf file.7z -C extracted + done + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + cd extracted + + cp -r \ + CollectStrategy.txt \ + cpdf_settings \ + fxplugins \ + lang \ + resource \ + run \ + stamps \ + welcome \ + Wrappers \ + $out/lib/ + + patchelf $out/lib/fxplugins/librms.so \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + # FIXME: Doing this with one invocation is broken right now + patchelf $out/lib/fxplugins/librmscrypto.so \ + --replace-needed libssl.so.10 libssl.so + patchelf $out/lib/fxplugins/librmscrypto.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + install -D -m 755 FoxitReader -t $out/bin + + # Install icon and desktop files + install -D -m 644 images/FoxitReader.png -t $out/share/pixmaps/ + install -D -m 644 FoxitReader.desktop -t $out/share/applications/ + echo Exec=FoxitReader %F >> $out/share/applications/FoxitReader.desktop + + runHook postInstall + ''; + + qtWrapperArgs = [ "--set appname FoxitReader" "--set selfpath $out/lib" ]; + + meta = with lib; { + description = "A viewer for PDF documents"; + homepage = "https://www.foxitsoftware.com/"; + license = licenses.unfree; + maintainers = with maintainers; [ p-h rhoriguchi ]; + }; +} diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix index 9ae6fda9fce..78cf6a07e8c 100644 --- a/pkgs/applications/misc/megasync/default.nix +++ b/pkgs/applications/misc/megasync/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , autoconf , automake , c-ares @@ -24,21 +25,29 @@ , unzip , wget }: - mkDerivation rec { pname = "megasync"; - version = "4.3.5.0"; + version = "4.4.0.0"; src = fetchFromGitHub { owner = "meganz"; repo = "MEGAsync"; rev = "v${version}_Linux"; - sha256 = "0rr1jjy0n5bj1lh6xi3nbbcikvq69j3r9qnajp4mhywr5izpccvs"; + sha256 = "1xggca7283943070mmpsfhh7c9avy809h0kgmf7497f4ca5zkg2y"; fetchSubmodules = true; }; - nativeBuildInputs = - [ autoconf automake doxygen lsb-release pkg-config qttools swig unzip ]; + nativeBuildInputs = [ + autoconf + automake + doxygen + libtool + lsb-release + pkg-config + qttools + swig + unzip + ]; buildInputs = [ c-ares cryptopp @@ -47,7 +56,6 @@ mkDerivation rec { libmediainfo libraw libsodium - libtool libuv libzen qtbase @@ -65,7 +73,7 @@ mkDerivation rec { ]; postPatch = '' - for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do + for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do substituteInPlace "$file" --replace "/bin/bash" "${stdenv.shell}" done ''; diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix index f35a3f1b71e..d7906c7dcbd 100644 --- a/pkgs/applications/misc/obsidian/default.nix +++ b/pkgs/applications/misc/obsidian/default.nix @@ -30,12 +30,12 @@ let in stdenv.mkDerivation rec { pname = "obsidian"; - version = "0.11.9"; + version = "0.11.13"; src = fetchurl { url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz"; - sha256 = "XymM3qma8H2dm2tq8Zg+oKxOzb48azqlqn701pN5gdI="; + sha256 = "0QL1rP37pmdIdGM9eHa7PfW1GVrvn2fX4bQPqQ8FOpI="; }; nativeBuildInputs = [ makeWrapper graphicsmagick ]; diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index d780f9e35d5..7563fa0ca3d 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -19,13 +19,13 @@ buildPythonApplication rec { pname = "udiskie"; - version = "2.3.2"; + version = "2.3.3"; src = fetchFromGitHub { owner = "coldfix"; repo = "udiskie"; rev = "v${version}"; - hash = "sha256-eucAFMzLf2RfMfVgFTfPAgVNpDADddvTUZQO/XbBhGo="; + hash = "sha256-OeNAcL7jd8GiPVUGxWwX4N/G/jzxfyifaoSD/hXXwyM="; }; nativeBuildInputs = [ @@ -58,8 +58,8 @@ buildPythonApplication rec { ''; checkInputs = [ - nose keyutils + nose ]; checkPhase = '' diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index 1fecadc2ec0..f37666b0033 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -89,6 +89,6 @@ mkChromiumDerivation (base: rec { then ["aarch64-linux" "x86_64-linux"] else []; timeout = 172800; # 48 hours (increased from the Hydra default of 10h) - broken = elem channel [ "beta" "dev" ]; + broken = elem channel [ "dev" ]; }; }) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 8d0a59f2919..07634c337af 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -156,7 +156,12 @@ let # To fix the build of chromiumBeta and chromiumDev: "b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9" # add dependency on opus in webcodecs "1r4wmwaxz5xbffmj5wspv2xj8s32j9p6jnwimjmalqg3al2ba64x" - ); + ) ++ optional (versionRange "89" "90.0.4422.0") (fetchpatch { + url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/61b0ab526d2aa3c62fa20bb756461ca9a482f6c6/trunk/chromium-fix-libva-redef.patch"; + sha256 = "1qj4sn1ngz0p1l1w3346kanr1sqlr3xdzk1f1i86lqa45mhv77ny"; + }) ++ optional (chromiumVersionAtLeast "90") + ./fix-missing-atspi2-dependency.patch + ; postPatch = '' # remove unused third-party diff --git a/pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch b/pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch new file mode 100644 index 00000000000..9417b30159d --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch @@ -0,0 +1,26 @@ +From 6c5b9197076f6f384112e6566039116c56600909 Mon Sep 17 00:00:00 2001 +From: Michael Weiss +Date: Sat, 10 Apr 2021 13:53:50 +0200 +Subject: [PATCH] Fix a missing atspi2 dependency + +See https://bugs.chromium.org/p/chromium/issues/detail?id=1197837 for +more details. +--- + content/public/browser/BUILD.gn | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn +index 7e7c436d90c7..20ef832f1d8c 100644 +--- a/content/public/browser/BUILD.gn ++++ b/content/public/browser/BUILD.gn +@@ -535,6 +535,7 @@ source_set("browser_sources") { + + if (use_atk) { + sources += [ "ax_inspect_factory_auralinux.cc" ] ++ configs += [ "//build/config/linux/atspi2" ] + } + + if (is_linux || is_chromeos) { +-- +2.20.1 + diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 26fb49ef2a3..390b26a1b9e 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -115,8 +115,7 @@ let }; } ) {} extensions; - } // - { + } // lib.optionalAttrs usesNixExtensions { Extensions = { Install = lib.foldr (e: ret: ret ++ [ "${e.outPath}/${e.extid}.xpi" ] diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix index 30e154e5222..abb0bd15515 100644 --- a/pkgs/applications/networking/browsers/lagrange/default.nix +++ b/pkgs/applications/networking/browsers/lagrange/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "lagrange"; - version = "1.3.0"; + version = "1.3.2"; src = fetchFromGitHub { owner = "skyjake"; repo = "lagrange"; rev = "v${version}"; - sha256 = "sha256-85KshJEL7ri10mSm/KgcT03WLEwRMMTGczb6mGx66Jw="; + sha256 = "sha256-90MN7JH84h10dSXt5Kwc2V3FKVutQ7AmNcR4TK2bpBY="; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix index 6e5d05ff0d7..3b9d7784b7e 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 = "2.12.10"; + version = "3.0.0"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo"; rev = "v${version}"; - sha256 = "sha256-A4s6D3/1FsqrJ+Jaql4IuyD9ySChL3SXqVvl8wUDRDE="; + sha256 = "sha256-TbNqwTVND09WzUH8ZH7YFRwcHV8eX1G0FXtZJi67Sk4="; }; - vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE="; + vendorSha256 = "sha256-YjVAoMyGKMHLGEPeOOkCKCzeWFiUsXfJIKcw5GYoljg="; doCheck = false; diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix index 0e97b541a5d..6f97be468f5 100644 --- a/pkgs/applications/networking/cluster/octant/default.nix +++ b/pkgs/applications/networking/cluster/octant/default.nix @@ -1,27 +1,27 @@ { lib, stdenv, fetchzip }: -let - inherit (stdenv.hostPlatform) system; - suffix = { - x86_64-linux = "Linux-64bit"; - aarch64-linux = "Linux-arm64"; - x86_64-darwin = "macOS-64bit"; - }."${system}" or (throw "Unsupported system: ${system}"); - baseurl = "https://github.com/vmware-tanzu/octant/releases/download"; - fetchsrc = version: sha256: fetchzip { - url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz"; - sha256 = sha256."${system}"; - }; -in stdenv.mkDerivation rec { pname = "octant"; - version = "0.18.0"; + version = "0.19.0"; - src = fetchsrc version { - x86_64-linux = "sha256-D/pHOXR7XQoJCGqUep1lBAY4239HH35m+evFd21pcK0="; - aarch64-linux = "sha256-aL1axz3ebqrKQ3xK2UgDMQ+o6ZKgIvwy6Phici7WT2c="; - x86_64-darwin = "sha256-MFxOAAEnLur0LJJNU0SSlO+bH4f18zOfZNA49fKEQEw="; - }; + src = + let + inherit (stdenv.hostPlatform) system; + suffix = { + x86_64-linux = "Linux-64bit"; + aarch64-linux = "Linux-arm64"; + x86_64-darwin = "macOS-64bit"; + }.${system} or (throw "Unsupported system: ${system}"); + fetchsrc = version: sha256: fetchzip { + url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/octant_${version}_${suffix}.tar.gz"; + sha256 = sha256.${system}; + }; + in + fetchsrc version { + x86_64-linux = "sha256-TKvUBof4TLcHr9hg6AOLjVd1NcAX9HHVuuABdFKRNQA="; + aarch64-linux = "sha256-BJb7h6kJZ3QhdlEqNHkiFp91uYLXzYHvKftxEAhjY38="; + x86_64-darwin = "sha256-Ig98IqLmlN9D4iXrP9SXYwTrQOvbtQ/tQW+uEmntm+I="; + }; dontConfigure = true; dontBuild = true; @@ -48,12 +48,14 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://octant.dev/"; changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md"; - description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters."; + description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters"; longDescription = '' - Octant is a tool for developers to understand how applications run on a Kubernetes cluster. - It aims to be part of the developer's toolkit for gaining insight and approaching complexity found in Kubernetes. - Octant offers a combination of introspective tooling, cluster navigation, and object management along with a - plugin system to further extend its capabilities. + Octant is a tool for developers to understand how applications run on a + Kubernetes cluster. + It aims to be part of the developer's toolkit for gaining insight and + approaching complexity found in Kubernetes. Octant offers a combination of + introspective tooling, cluster navigation, and object management along + with a plugin system to further extend its capabilities. ''; license = licenses.asl20; maintainers = with maintainers; [ jk ]; diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix new file mode 100644 index 00000000000..5917d9ce033 --- /dev/null +++ b/pkgs/applications/networking/cluster/octant/desktop.nix @@ -0,0 +1,78 @@ +{ lib, stdenv, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3, undmg }: + +let + pname = "octant-desktop"; + version = "0.19.0"; + name = "${pname}-${version}"; + + inherit (stdenv.hostPlatform) system; + + suffix = { + x86_64-linux = "AppImage"; + x86_64-darwin = "dmg"; + }.${system} or (throw "Unsupported system: ${system}"); + + src = fetchurl { + url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}"; + sha256 = { + x86_64-linux = "sha256-1XFb0zuyOy8XEUd9hoexItjq4assuWlWIzqw7pZxHx0="; + x86_64-darwin = "sha256-e3v5BFX7wnx4sAQrOq+dBIDVPJYzQZKKvKjSX+dis2U="; + }.${system}; + }; + + linux = appimageTools.wrapType2 { + inherit name src passthru meta; + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + multiPkgs = null; # no 32bit needed + extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; + extraInstallCommands = + let appimageContents = appimageTools.extractType2 { inherit name src; }; in + '' + mv $out/bin/{${name},${pname}} + install -Dm444 ${appimageContents}/octant.desktop -t $out/share/applications + substituteInPlace $out/share/applications/octant.desktop \ + --replace 'Exec=AppRun --no-sandbox' 'Exec=${pname}' + install -m 444 -D ${appimageContents}/octant.png \ + $out/share/icons/hicolor/512x512/apps/octant.png + ''; + }; + + darwin = stdenv.mkDerivation { + inherit name src passthru meta; + + nativeBuildInputs = [ undmg ]; + sourceRoot = "Octant.app"; + installPhase = '' + mkdir -p $out/Applications/Octant.app + cp -R . $out/Applications/Octant.app + ''; + }; + + passthru = { updateScript = ./update-desktop.sh; }; + + meta = with lib; { + homepage = "https://octant.dev/"; + changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md"; + description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters"; + longDescription = '' + Octant is a tool for developers to understand how applications run on a + Kubernetes cluster. + It aims to be part of the developer's toolkit for gaining insight and + approaching complexity found in Kubernetes. Octant offers a combination of + introspective tooling, cluster navigation, and object management along + with a plugin system to further extend its capabilities. + ''; + license = licenses.asl20; + maintainers = with maintainers; [ jk ]; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + }; + +in +if stdenv.isDarwin +then darwin +else linux diff --git a/pkgs/applications/networking/cluster/octant/update-desktop.sh b/pkgs/applications/networking/cluster/octant/update-desktop.sh new file mode 100755 index 00000000000..4450834b4b7 --- /dev/null +++ b/pkgs/applications/networking/cluster/octant/update-desktop.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnused gawk nix-prefetch + +set -euo pipefail + +ROOT="$(dirname "$(readlink -f "$0")")" +NIX_DRV="$ROOT/desktop.nix" +if [ ! -f "$NIX_DRV" ]; then + echo "ERROR: cannot find desktop.nix in $ROOT" + exit 1 +fi + +fetch_arch() { + VER="$1"; SUFFIX="$2" + URL="https://github.com/vmware-tanzu/octant/releases/download/v${VER}/Octant-${VER}.${SUFFIX}" + nix-prefetch "{ stdenv, fetchurl }: +stdenv.mkDerivation rec { + pname = \"octant-desktop\"; version = \"${VER}\"; + src = fetchurl { url = \"$URL\"; }; +} +" +} + +replace_sha() { + sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV" +} + +OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//') + +OCTANT_DESKTOP_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "AppImage") +OCTANT_DESKTOP_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "dmg") + +sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV" + +replace_sha "x86_64-linux" "$OCTANT_DESKTOP_LINUX_X64_SHA256" +replace_sha "x86_64-darwin" "$OCTANT_DESKTOP_DARWIN_X64_SHA256" diff --git a/pkgs/applications/networking/cluster/octant/update.sh b/pkgs/applications/networking/cluster/octant/update.sh index 4ffe4aefb30..6c34fc4b37a 100755 --- a/pkgs/applications/networking/cluster/octant/update.sh +++ b/pkgs/applications/networking/cluster/octant/update.sh @@ -28,11 +28,11 @@ replace_sha() { OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//') OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit") -OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64") -OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit") +OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64") +OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit") sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV" replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256" -replace_sha "x86_64-darwin" "$OCTANT_LINUX_AARCH64_SHA256" -replace_sha "aarch64-linux" "$OCTANT_DARWIN_X64_SHA256" +replace_sha "aarch64-linux" "$OCTANT_LINUX_AARCH64_SHA256" +replace_sha "x86_64-darwin" "$OCTANT_DARWIN_X64_SHA256" diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix index 1438d61f999..7e13408d04d 100644 --- a/pkgs/applications/networking/feedreaders/rssguard/default.nix +++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rssguard"; - version = "3.9.0"; + version = "3.9.1"; src = fetchFromGitHub { owner = "martinrotter"; repo = pname; rev = version; - sha256 = "sha256-pprWJIYAFYSTPhWVCW4dz3GWeAS53Vo8UXiyQ56Mwjo="; + sha256 = "sha256-zSnSCbBNySc5GQSm0O8NztCKNqdNs6bGNWL/RkmGsUw="; }; buildInputs = [ qtwebengine qttools ]; diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index 7c9714b3555..7a4fc703dd7 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,19 +1,12 @@ -{ lib, stdenv, fetchurl, fetchpatch, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }: +{ lib, stdenv, fetchurl, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }: stdenv.mkDerivation rec { pname = "irssi"; - version = "1.2.2"; + version = "1.2.3"; src = fetchurl { url = "https://github.com/irssi/irssi/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "0g2nxazn4lszmd6mf1s36x5ablk4999g1qx7byrnvgnjsihjh62k"; - }; - - # Fix irssi on GLib >2.62 input being stuck after entering a NUL byte - # See https://github.com/irssi/irssi/issues/1180 - remove after next update. - patches = fetchpatch { - url = "https://github.com/irssi/irssi/releases/download/1.2.2/glib-2-63.patch"; - sha256 = "1ad1p7395n8dfmv97wrf751wwzgncqfh9fp27kq5kfdvh661da1i"; + sha256 = "09cwz5ff1i5lp35qhhmw6kbw5dwcn9pl16gpzkc92xg5sx3bgjr9"; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix index 96c66f054e2..3451cbb129f 100644 --- a/pkgs/applications/networking/remote/aws-workspaces/default.nix +++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix @@ -5,15 +5,15 @@ stdenv.mkDerivation rec { pname = "aws-workspaces"; - version = "3.1.3.925"; + version = "3.1.5.1105"; src = fetchurl { # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages urls = [ "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb" - "https://web.archive.org/web/20210307233836/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb" + "https://web.archive.org/web/20210411145948/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb" ]; - sha256 = "5b57edb4f6f8c950164fd8104bf62df4c452ab5b16cb65d48db3636959a0f0ad"; + sha256 = "08c8912502d27e61cc2399bf99947e26c1daa1f317d5aa8cc7348d7bf8734e1b"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/syncthing/add-stcli-target.patch b/pkgs/applications/networking/syncthing/add-stcli-target.patch deleted file mode 100644 index 07b5e334b2c..00000000000 --- a/pkgs/applications/networking/syncthing/add-stcli-target.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/build.go b/build.go -index c8a5c1cf..d75a8491 100644 ---- a/build.go -+++ b/build.go -@@ -202,6 +202,12 @@ var targets = map[string]target{ - {src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644}, - }, - }, -+ "stcli": { -+ name: "stcli", -+ description: "Syncthing CLI", -+ buildPkgs: []string{"github.com/syncthing/syncthing/cmd/stcli"}, -+ binaryName: "stcli", -+ }, - } - - // These are repos we need to clone to run "go generate" diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 6d4b3fe34c4..2fa4f0b93c8 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -3,23 +3,20 @@ let common = { stname, target, postInstall ? "" }: buildGoModule rec { - version = "1.14.0"; - name = "${stname}-${version}"; + pname = stname; + version = "1.15.1"; src = fetchFromGitHub { owner = "syncthing"; repo = "syncthing"; rev = "v${version}"; - sha256 = "1nkjbikin341v74fcwdaa2v5f3zhd8xr6pjhpka1fdw6vvnn4lnd"; + sha256 = "sha256-d7b1hqW0ZWg74DyW1ZYMT7sIR7H89Ph38XE2Mhh7ySg="; }; - vendorSha256 = "1kr6yyigi7bbi4xwpk009q801wvmf3aaw4m40ki0s6gjn0wjl4j3"; + vendorSha256 = "sha256-00DdGJNCZ94Wj6yvVXJYNJZEiGxYbqTkX6wwon0O1tc="; doCheck = false; - patches = [ - ./add-stcli-target.patch - ]; BUILD_USER="nix"; BUILD_HOST="nix"; @@ -83,12 +80,6 @@ in { ''; }; - syncthing-cli = common { - stname = "syncthing-cli"; - - target = "stcli"; - }; - syncthing-discovery = common { stname = "syncthing-discovery"; target = "stdiscosrv"; diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix index 4f32486ffe1..cdef23cff4c 100644 --- a/pkgs/applications/office/fava/default.nix +++ b/pkgs/applications/office/fava/default.nix @@ -13,17 +13,17 @@ python3.pkgs.buildPythonApplication rec { propagatedBuildInputs = with python3.pkgs; [ Babel - cheroot - flaskbabel - flask - jinja2 beancount + cheroot click + flask + flaskbabel + jaraco_functools + jinja2 markdown2 ply simplejson werkzeug - jaraco_functools ]; checkInputs = with python3.pkgs; [ @@ -39,10 +39,11 @@ python3.pkgs.buildPythonApplication rec { "test_cli" ]; - meta = { - homepage = "https://beancount.github.io/fava"; + meta = with lib; { description = "Web interface for beancount"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ matthiasbeyer ]; + homepage = "https://beancount.github.io/fava"; + changelog = "https://beancount.github.io/fava/changelog.html"; + license = licenses.mit; + maintainers = with maintainers; [ bhipple ]; }; } diff --git a/pkgs/applications/office/foliate/default.nix b/pkgs/applications/office/foliate/default.nix new file mode 100644 index 00000000000..8226e8e38cc --- /dev/null +++ b/pkgs/applications/office/foliate/default.nix @@ -0,0 +1,45 @@ +{ stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3 +, webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils +, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "foliate"; + version = "2.6.3"; + + src = fetchFromGitHub { + owner = "johnfactotum"; + repo = pname; + rev = version; + sha256 = "0ribqaxl8g1i83fxbn288afwbzzls48ni57xqi07d19p9ka892mr"; + }; + + nativeBuildInputs = [ meson ninja python3 wrapGAppsHook ]; + + postPatch = '' + patchShebangs build-aux/meson/postinstall.py + ''; + + postFixup = '' + echo "fixing wrapper" + sed -i "1 a imports.package._findEffectiveEntryPointName = () => 'com.github.johnfactotum.Foliate';" $out/bin/.com.github.johnfactotum.Foliate-wrapped + ln -s $out/bin/com.github.johnfactotum.Foliate $out/bin/foliate + ''; + + buildInputs = [ + gettext + glib + gjs + gtk3 + webkitgtk + desktop-file-utils + gobject-introspection + gsettings-desktop-schemas + ]; + + meta = with lib; { + description = "A simple and modern GTK eBook reader"; + homepage = "https://johnfactotum.github.io/foliate/"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ onny ]; + }; +} diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix index 4c892b2605b..3b7052dff7f 100644 --- a/pkgs/applications/office/gtg/default.nix +++ b/pkgs/applications/office/gtg/default.nix @@ -16,13 +16,13 @@ python3Packages.buildPythonApplication rec { pname = "gtg"; - version = "unstable-2020-10-22"; + version = "0.5"; src = fetchFromGitHub { owner = "getting-things-gnome"; repo = "gtg"; - rev = "144814c16723fa9d00e17e047df5d79ab443fc5f"; - sha256 = "1lpanfbj8y8b6cqp92lgbvfs8irrc5bsdffzcjcycazv19qm7z2n"; + rev = "v${version}"; + sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403"; }; @@ -56,6 +56,10 @@ python3Packages.buildPythonApplication rec { xvfb_run ]; + preBuild = '' + export HOME="$TMP" + ''; + format = "other"; strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943) diff --git a/pkgs/applications/office/kitsas/default.nix b/pkgs/applications/office/kitsas/default.nix new file mode 100644 index 00000000000..0adfa748c01 --- /dev/null +++ b/pkgs/applications/office/kitsas/default.nix @@ -0,0 +1,51 @@ +{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, qtcreator, poppler, libzip, pkg-config }: + +mkDerivation rec { + pname = "kitsas"; + version = "2.3"; + + src = fetchFromGitHub { + owner = "artoh"; + repo = "kitupiikki"; + rev = "v${version}"; + sha256 = "1qac6cxkb45rs5pschsf2rvpa789g27shmrwpshwahqzhw42xvgl"; + }; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ qmake qtsvg poppler libzip ]; + + # We use a separate build-dir as otherwise ld seems to get confused between + # directory and executable name on buildPhase. + preConfigure = '' + mkdir build-linux + cd build-linux + ''; + + qmakeFlags = [ + "../kitsas/kitsas.pro" + "-spec" + "linux-g++" + "CONFIG+=release" + ]; + + preFixup = '' + make clean + rm Makefile + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/applications + cp kitsas $out/bin + cp $src/kitsas.png $out/share/applications + cp $src/kitsas.desktop $out/share/applications + ''; + + meta = with lib; { + homepage = "https://github.com/artoh/kitupiikki"; + description = "An accounting tool suitable for Finnish associations and small business"; + maintainers = with maintainers; [ gspia ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix index e397743b22d..451e4b92185 100644 --- a/pkgs/applications/office/qownnotes/default.nix +++ b/pkgs/applications/office/qownnotes/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "qownnotes"; - version = "21.3.2"; + version = "21.4.0"; src = fetchurl { url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; # Can grab official version like so: - # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-21.3.2.tar.xz.sha256 - sha256 = "a8e8ab2ca1ef6684407adeb8fc63abcafff407a367471e053c583a1c4215e5ee"; + # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-21.4.0.tar.xz.sha256 + sha256 = "bda454031a79a768b472677036ada7501ea430482277f1694757066922428eec"; }; nativeBuildInputs = [ qmake qttools ]; diff --git a/pkgs/applications/office/watson/default.nix b/pkgs/applications/office/watson/default.nix index 18c1b9469e7..c305c771417 100644 --- a/pkgs/applications/office/watson/default.nix +++ b/pkgs/applications/office/watson/default.nix @@ -4,26 +4,22 @@ with pythonPackages; buildPythonApplication rec { pname = "watson"; - version = "1.10.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "TailorDev"; repo = "Watson"; rev = version; - sha256 = "1s0k86ldqky6avwjaxkw1y02wyf59qwqldcahy3lhjn1b5dgsb3s"; + sha256 = "1yxqjirv7cpg4hqj4l3a53p3p3kl82bcx6drgvl9v849vcc3l7s0"; }; - checkPhase = '' - pytest -vs tests - ''; - postInstall = '' installShellCompletion --bash --name watson watson.completion installShellCompletion --zsh --name _watson watson.zsh-completion ''; - checkInputs = [ py pytest pytest-datafiles pytest-mock pytestrunner ]; - propagatedBuildInputs = [ arrow click click-didyoumean requests ]; + checkInputs = [ pytestCheckHook pytest-mock mock pytest-datafiles ]; + propagatedBuildInputs = [ arrow_1 click click-didyoumean requests ]; nativeBuildInputs = [ installShellFiles ]; meta = with lib; { diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix index 4f0d1eae487..31ae8678719 100644 --- a/pkgs/applications/science/misc/rink/default.nix +++ b/pkgs/applications/science/misc/rink/default.nix @@ -1,17 +1,17 @@ { lib, fetchFromGitHub, rustPlatform, openssl, pkg-config, ncurses }: rustPlatform.buildRustPackage rec { - version = "0.5.1"; + version = "0.6.0"; pname = "rink"; src = fetchFromGitHub { owner = "tiffany352"; repo = "rink-rs"; rev = "v${version}"; - sha256 = "1s67drjzd4cf93hpm7b2facfd6y1x0s60aq6pygj7i02bm0cb9l9"; + sha256 = "sha256-3uhKevuUVh7AObn2GDW2T+5wttX20SbVP+sFaFj3Jmk="; }; - cargoSha256 = "1wd70y13lly7nccaqlv7w8znxfal0fzyf9d67y5c3aikj7hkzfin"; + cargoSha256 = "sha256-luJzIGdcitH+PNgr86AYX6wKEkQlsRhwwylo+hzeovE="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ncurses ]; @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Unit-aware calculator"; homepage = "https://rinkcalc.app"; - license = with licenses; [ mpl20 gpl3 ]; + license = with licenses; [ mpl20 gpl3Plus ]; maintainers = with maintainers; [ sb0 Br1ght0ne ]; }; } diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix index d0bbca15ea1..042bdc2a19d 100644 --- a/pkgs/applications/version-management/git-review/default.nix +++ b/pkgs/applications/version-management/git-review/default.nix @@ -2,7 +2,7 @@ buildPythonApplication rec { pname = "git-review"; - version = "1.28.0"; + version = "2.0.0"; # Manually set version because prb wants to get it from the git # upstream repository (and we are installing from tarball instead) @@ -10,7 +10,7 @@ buildPythonApplication rec { src = fetchurl { url = "https://opendev.org/opendev/${pname}/archive/${version}.tar.gz"; - sha256 = "1y1jzb0hlprynwwr4q5y4x06641qrhj0k69mclabnmhfam9g8ygm"; + sha256 = "0dkyd5g2xmvsa114is3cd9qmki3hi6c06wjnra0f4xq3aqm0ajnj"; }; propagatedBuildInputs = [ pbr requests setuptools ]; diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/applications/video/kooha/default.nix new file mode 100644 index 00000000000..0a3de27f53e --- /dev/null +++ b/pkgs/applications/video/kooha/default.nix @@ -0,0 +1,58 @@ +{ lib, fetchFromGitHub, appstream-glib, desktop-file-utils, glib +, gobject-introspection, gst_all_1, gtk3, libhandy, librsvg, meson, ninja +, pkg-config, python3, wrapGAppsHook }: + +python3.pkgs.buildPythonApplication rec { + pname = "kooha"; + version = "1.1.1"; + format = "other"; + + src = fetchFromGitHub { + owner = "SeaDve"; + repo = "Kooha"; + rev = "v${version}"; + sha256 = "05515xccs6y3wy28a6lkyn2jgi0fli53548l8qs73li8mdbxzd4c"; + }; + + buildInputs = [ + glib + gobject-introspection + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gtk3 + libhandy + librsvg + ]; + + nativeBuildInputs = [ + appstream-glib + desktop-file-utils + meson + ninja + python3 + pkg-config + wrapGAppsHook + ]; + + propagatedBuildInputs = [ python3.pkgs.pygobject3 ]; + + strictDeps = false; + + buildPhase = '' + export GST_PLUGIN_SYSTEM_PATH_1_0="$out/lib/gstreamer-1.0/:$GST_PLUGIN_SYSTEM_PATH_1_0" + ''; + + # Fixes https://github.com/NixOS/nixpkgs/issues/31168 + postPatch = '' + chmod +x build-aux/meson/postinstall.py + patchShebangs build-aux/meson/postinstall.py + ''; + + meta = with lib; { + description = "Simple screen recorder"; + homepage = "https://github.com/SeaDve/Kooha"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ austinbutler ]; + }; +} diff --git a/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix new file mode 100644 index 00000000000..f716d93a360 --- /dev/null +++ b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchFromGitHub, obs-studio, cmake, qtbase }: + +stdenv.mkDerivation rec { + pname = "obs-multi-rtmp"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "sorayuki"; + repo = "obs-multi-rtmp"; + rev = version; + sha256 = "sha256-SMcVL54HwFIc7/wejEol2XiZhlZCMVCwHHtIKJ/CoYY="; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ obs-studio qtbase ]; + + cmakeFlags = [ + "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs" + ]; + + dontWrapQtApps = true; + + # obs-studio expects the shared object to be located in bin/32bit or bin/64bit + # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48 + postInstall = let + pluginPath = { + i686-linux = "bin/32bit"; + x86_64-linux = "bin/64bit"; + }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}"); + in '' + mkdir -p $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath} + ln -s $out/lib/obs-plugins/obs-multi-rtmp.so $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath} + ''; + + meta = with lib; { + homepage = "https://github.com/sorayuki/obs-multi-rtmp/"; + changelog = "https://github.com/sorayuki/obs-multi-rtmp/releases/tag/${version}"; + description = "Multi-site simultaneous broadcast plugin for OBS Studio"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ jk ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 31689022b32..60915d6645a 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -299,10 +299,11 @@ stdenv.mkDerivation { # vs libstdc++, etc.) since Darwin isn't `useLLVM` on all counts. (See # https://clang.llvm.org/docs/Toolchain.html for all the axes one might # break `useLLVM` into.) - + optionalString (isClang && gccForLibs != null + + optionalString (isClang && targetPlatform.isLinux && !(stdenv.targetPlatform.useAndroidPrebuilt or false) - && !(stdenv.targetPlatform.useLLVM or false)) '' + && !(stdenv.targetPlatform.useLLVM or false) + && gccForLibs != null) '' echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags '' diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix index 08d0f51094d..eaad095d64b 100644 --- a/pkgs/data/themes/matcha/default.nix +++ b/pkgs/data/themes/matcha/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "matcha-gtk-theme"; - version = "2021-04-05"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "0bm7hr4lqqz3z2miif38628r4qcy7i5hdk6sm0ngjacm43cl0qvg"; + sha256 = "1989v2924g1pwycp44zlgryr73p82n9hmf71d0acs455jajf0pvv"; }; buildInputs = [ gdk-pixbuf librsvg ]; diff --git a/pkgs/desktops/gnome-3/extensions/unite/default.nix b/pkgs/desktops/gnome-3/extensions/unite/default.nix index e2f7f547579..715e2a70cc7 100644 --- a/pkgs/desktops/gnome-3/extensions/unite/default.nix +++ b/pkgs/desktops/gnome-3/extensions/unite/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, gnome3, fetchFromGitHub, xprop, glib }: stdenv.mkDerivation rec { pname = "gnome-shell-extension-unite"; - version = "48"; + version = "49"; src = fetchFromGitHub { owner = "hardpixel"; repo = "unite-shell"; rev = "v${version}"; - sha256 = "1rc9h7zrg9pvyl619ychcp0w7wmnf4ndaq2knv490kzhy0idj18j"; + sha256 = "12kjljw253hshaz6x886kg3mc93lb4pxwd05qihww6m5k4lqjcy5"; }; uuid = "unite@hardpixel.eu"; diff --git a/pkgs/development/chez-modules/chez-matchable/default.nix b/pkgs/development/chez-modules/chez-matchable/default.nix index d66f6133fb7..738d4b06aee 100644 --- a/pkgs/development/chez-modules/chez-matchable/default.nix +++ b/pkgs/development/chez-modules/chez-matchable/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { doCheck = false; meta = with lib; { - description = "This is a Library for ChezScheme providing the protable hygenic pattern matcher by Alex Shinn"; + description = "This is a Library for ChezScheme providing the portable hygenic pattern matcher by Alex Shinn"; homepage = "https://github.com/fedeinthemix/chez-matchable/"; maintainers = [ maintainers.jitwit ]; license = licenses.publicDomain; diff --git a/pkgs/development/compilers/ciao/default.nix b/pkgs/development/compilers/ciao/default.nix index de8e73374c5..4d26678605e 100644 --- a/pkgs/development/compilers/ciao/default.nix +++ b/pkgs/development/compilers/ciao/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "ciao"; - version = "1.19.0"; + version = "1.20.0"; src = fetchFromGitHub { owner = "ciao-lang"; repo = "ciao"; rev = "v${version}"; - sha256 = "03qzcb4ivgkiwdpw7a94dn74xqyxjwz5ilrr53rcblsh5ng299jp"; + sha256 = "sha256-Xp0ZQRi7mOO2WN/2hO6zgobDG3S0BEV+SgsaduBZ30U="; }; configurePhase = '' diff --git a/pkgs/development/compilers/juniper/default.nix b/pkgs/development/compilers/juniper/default.nix new file mode 100644 index 00000000000..3db60dc17bc --- /dev/null +++ b/pkgs/development/compilers/juniper/default.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchzip, makeWrapper, mono }: + +stdenv.mkDerivation rec { + pname = "juniper"; + version = "2.3.0"; + + src = fetchzip { + url = "http://www.juniper-lang.org/installers/Juniper-${version}.zip"; + sha256 = "10am6fribyl7742yk6ag0da4rld924jphxja30gynzqysly8j0vg"; + stripRoot = false; + }; + + doCheck = true; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = [ mono ]; + + installPhase = '' + runHook preInstall + rm juniper # original script with regular Linux assumptions + mkdir -p $out/bin + cp -r ./* $out + makeWrapper ${mono}/bin/mono $out/bin/juniper \ + --add-flags "$out/Juniper.exe \$@" + runHook postInstall + ''; + + meta = with lib; { + description = "Functional reactive programming language for programming Arduino"; + longDescription = '' + Juniper targets Arduino and supports many features typical of functional programming languages, including algebraic data types, tuples, records, + pattern matching, immutable data structures, parametric polymorphic functions, and anonymous functions (lambdas). + Some imperative programming concepts are also present in Juniper, such as for, while and do while loops, the ability to mark variables as mutable, and mutable references. + ''; + homepage = "https://www.juniper-lang.org/"; + license = licenses.mit; + maintainers = with maintainers; [ wunderbrick ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix index 39fb5d7eb21..988a27a5878 100644 --- a/pkgs/development/libraries/aws-c-common/default.nix +++ b/pkgs/development/libraries/aws-c-common/default.nix @@ -1,24 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +}: stdenv.mkDerivation rec { pname = "aws-c-common"; - version = "0.5.2"; + version = "0.5.4"; src = fetchFromGitHub { owner = "awslabs"; repo = pname; rev = "v${version}"; - sha256 = "0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg"; + sha256 = "sha256-NH66WAOqAaMm/IIu8L5R7CUFhX56yTLH7mPY1Q4jDC4="; }; - patches = [ - # Remove once https://github.com/awslabs/aws-c-common/pull/764 is merged - (fetchpatch { - url = "https://github.com/awslabs/aws-c-common/commit/4f85fb3e398d4e4d320d3559235267b26cbc9531.patch"; - sha256 = "1jg3mz507w4kwgmg57kvz419gvw47pd9rkjr6jhsmvardmyyskap"; - }) - ]; - nativeBuildInputs = [ cmake ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix index d232e4e2208..1d666d4d984 100644 --- a/pkgs/development/libraries/cpp-utilities/default.nix +++ b/pkgs/development/libraries/cpp-utilities/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "cpp-utilities"; - version = "5.10.1"; + version = "5.10.2"; src = fetchFromGitHub { owner = "Martchus"; repo = pname; rev = "v${version}"; - sha256 = "sha256-8upRrk2x2gaS+JwCmZblrRSRxy0uNfFLTW7ua2ix2wI="; + sha256 = "sha256-hPcmO2nzXCuhU2GjE0B1Bz9OkJ4mY2txFr+cWGaw1bo="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index fa4421b9413..fac8a40bb24 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "jasper"; - version = "2.0.26"; + version = "2.0.28"; src = fetchFromGitHub { owner = "jasper-software"; repo = pname; rev = "version-${version}"; - hash = "sha256-zmoC8nIsQm2u2cSzu2prdyofo3JFNzJ1bjbIZ3YaAn4="; + hash = "sha256-f3UG5w8GbwZcsFBaQN6v8kdEkKIGgizcAgaVZtKwS78="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix index e55cda51748..45b79571b43 100644 --- a/pkgs/development/libraries/libqalculate/default.nix +++ b/pkgs/development/libraries/libqalculate/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "libqalculate"; - version = "3.17.0"; + version = "3.18.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "libqalculate"; rev = "v${version}"; - sha256 = "sha256-VlKJrGZOMmnWFmdwV3SchBfyRsHM78eNV+uWONLZbJI="; + sha256 = "sha256-cQNcKa/mEdeH1MaLhj203MOphfYDTQ5pn/GzUmSZGcE="; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix index 7d9aa52e596..6607a4d00fb 100644 --- a/pkgs/development/libraries/librealsense/default.nix +++ b/pkgs/development/libraries/librealsense/default.nix @@ -7,7 +7,7 @@ assert enablePython -> pythonPackages != null; stdenv.mkDerivation rec { pname = "librealsense"; - version = "2.42.0"; + version = "2.43.0"; outputs = [ "out" "dev" ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { owner = "IntelRealSense"; repo = pname; rev = "v${version}"; - sha256 = "sha256-8r8j0g7EaSUWujX+BNdkIJhzaLITMLsozjhOtQBriTA="; + sha256 = "sha256-N7EvpcJjtK3INHK7PgoiEVIMq9zGcHKMeI+/dwZ3bNs="; }; buildInputs = [ diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix index 9211d9d233f..a0248e774b7 100644 --- a/pkgs/development/libraries/librsync/default.nix +++ b/pkgs/development/libraries/librsync/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "librsync"; - version = "2.3.1"; + version = "2.3.2"; src = fetchFromGitHub { owner = "librsync"; repo = "librsync"; rev = "v${version}"; - sha256 = "131cd4asmpm4nskidzgiy8xibbnpibvvbq857a0pcky77min5g4z"; + sha256 = "sha256-GNwOIZ2UjvsYIthotiPDBrabYzCGFG/YVEbwVa9Nwi4="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/medfile/default.nix b/pkgs/development/libraries/medfile/default.nix index a89cb43d261..c8ff0c05ade 100644 --- a/pkgs/development/libraries/medfile/default.nix +++ b/pkgs/development/libraries/medfile/default.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation rec { sha256 = "1khzclkrd1yn9mz3g14ndgpsbj8j50v8dsjarcj6kkn9zgbbazc4"; }; + patches = [ + ./hdf5-1.12.patch + ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ hdf5 ]; diff --git a/pkgs/development/libraries/medfile/hdf5-1.12.patch b/pkgs/development/libraries/medfile/hdf5-1.12.patch new file mode 100644 index 00000000000..ab73e00487c --- /dev/null +++ b/pkgs/development/libraries/medfile/hdf5-1.12.patch @@ -0,0 +1,86 @@ +--- a/config/cmake_files/medMacros.cmake ++++ b/config/cmake_files/medMacros.cmake +@@ -447,7 +447,7 @@ MACRO(MED_FIND_HDF5) + ## + ## Requires 1.10.x version + ## +- IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1) ++ IF (HDF5_VERSION VERSION_LESS 1.10.2) + MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.") + ENDIF() + ## +--- a/src/ci/MEDfileCompatibility.c ++++ b/src/ci/MEDfileCompatibility.c +@@ -71,7 +71,7 @@ MEDfileCompatibility(const char* const filename, + _hversionMMR=10000*_hmajeur+100*_hmineur+_hrelease; + /* ISCRUTE(_hversionMMR); */ + /* ISCRUTE(HDF_VERSION_NUM_REF); */ +- if ( (_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF) ) *hdfok = MED_TRUE; ++ if ( ((_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF)) || _hversionMMR > HDF_VERSION_NUM_REF ) *hdfok = MED_TRUE; + + /* TODO : Vérifier si la version mineure HDF du fichier est supérieure + à la version mineure de la bibliothèque HDF utilisée : +@@ -113,7 +113,7 @@ MEDfileCompatibility(const char* const filename, + #if MED_NUM_MAJEUR != 4 + #error "Don't forget to update the test version here when you change the major version of the library !" + #endif +-#if H5_VERS_MINOR > 10 ++#if H5_VERS_MINOR > 12 + #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !" + #error "Cf. _MEDfileCreate ..." + #endif +--- a/src/hdfi/_MEDfileCreate.c ++++ b/src/hdfi/_MEDfileCreate.c +@@ -159,7 +159,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access + * En HDF5-1.10.0p1 cela n'a aucun effet ! + * Un test autoconf permet de fixer un intervalle de version HDF à MED. + */ +-#if H5_VERS_MINOR > 10 ++#if H5_VERS_MINOR > 12 + #error "Don't forget to change the compatibility version of the library !" + #endif + +--- a/src/hdfi/_MEDfileOpen.c ++++ b/src/hdfi/_MEDfileOpen.c +@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod + + • The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order). + */ +-#if H5_VERS_MINOR > 10 ++#if H5_VERS_MINOR > 12 + #error "Don't forget to change the compatibility version of the library !" + #endif + /* L'avantage de bloquer le modèle interne HDF5 +--- a/src/hdfi/_MEDmemFileOpen.c ++++ b/src/hdfi/_MEDmemFileOpen.c +@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile + goto ERROR; + } + +-#if H5_VERS_MINOR > 10 ++#if H5_VERS_MINOR > 12 + #error "Don't forget to change the compatibility version of the library !" + #endif + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) { +--- a/src/hdfi/_MEDparFileCreate.c ++++ b/src/hdfi/_MEDparFileCreate.c +@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc + * En HDF5-1.10.0p1 cela n'a aucun effet ! + * Un test autoconf permet de fixer un intervalle de version HDF à MED. + */ +-#if H5_VERS_MINOR > 10 ++#if H5_VERS_MINOR > 12 + #error "Don't forget to change the compatibility version of the library !" + #endif + +--- a/src/hdfi/_MEDparFileOpen.c ++++ b/src/hdfi/_MEDparFileOpen.c +@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access + MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG); + goto ERROR; + } +-#if H5_VERS_MINOR > 10 ++#if H5_VERS_MINOR > 12 + #error "Don't forget to change the compatibility version of the library !" + #endif + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) { diff --git a/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch b/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch deleted file mode 100644 index d91e43ba2d3..00000000000 --- a/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/demos/programs/workspace/xrmLib.c -+++ b/demos/programs/workspace/xrmLib.c -@@ -30,7 +30,14 @@ static char rcsid[] = "$XConsortium: xrmLib.c /main/6 1995/07/14 10:01:41 drk $" - #endif - - #include --#include -+#if defined(__cplusplus) || defined(__STDC__) || defined(__EXTENSIONS__) -+# include -+# if defined(HAVE_MALLOC_H) -+# include -+# elif defined(HAVE_SYS_MALLOC_H) -+# include -+# endif -+#endif - #include - #include "wsm.h" - #include "wsmDebug.h" - diff --git a/pkgs/development/libraries/motif/default.nix b/pkgs/development/libraries/motif/default.nix index 0499aaec532..f99bd8f2630 100644 --- a/pkgs/development/libraries/motif/default.nix +++ b/pkgs/development/libraries/motif/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, libtool +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libtool , xlibsWrapper, xbitmaps, libXrender, libXmu, libXt , expat, libjpeg, libpng, libiconv , flex @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "motif"; - version = "2.3.6"; + version = "2.3.8"; src = fetchurl { url = "mirror://sourceforge/motif/${pname}-${version}.tar.gz"; - sha256 = "1ksqbp0bzdw6wcrx8s4hj4ivvxmw54hz85l2xfigb87cxmmhx0gs"; + sha256 = "1rxwkrhmj8sfg7dwmkhq885valwqbh26d79033q7vb7fcqv756w5"; }; buildInputs = [ @@ -26,26 +26,27 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libXp libXau ]; - hardeningDisable = [ "format" ]; - - makeFlags = [ "CFLAGS=-fno-strict-aliasing" ]; - - prePatch = '' - rm lib/Xm/Xm.h - '' + lib.optionalString (!demoSupport) '' + prePatch = lib.optionalString (!demoSupport) '' sed '/^SUBDIRS =,^$/s/\//' -i Makefile.{am,in} ''; - patches = [ ./Remove-unsupported-weak-refs-on-darwin.patch - ./Use-correct-header-for-malloc.patch - ./Add-X.Org-to-bindings-file.patch - ]; + patches = [ + ./Remove-unsupported-weak-refs-on-darwin.patch + ./Add-X.Org-to-bindings-file.patch + (fetchpatch rec { + name = "fix-format-security.patch"; + url = "https://raw.githubusercontent.com/void-linux/void-packages/b9a1110dabb01c052dadc1abae1413bd4afe3652/srcpkgs/motif/patches/02-${name}"; + sha256 = "13vzpf8yxvhf4gl7q0yzlr6ak1yzx382fsqsrv5lc8jbbg4nwrrq"; + }) + ]; + + enableParallelBuilding = true; meta = with lib; { homepage = "https://motif.ics.com"; description = "Unix standard widget-toolkit and window-manager"; - platforms = with platforms; linux ++ darwin; - license = with licenses; [ lgpl21 ]; - maintainers = with maintainers; [ ]; + platforms = platforms.unix; + license = with licenses; [ lgpl21Plus ]; + maintainers = with maintainers; [ qyliss ]; }; } diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix index 93da285e824..cce17acbf0a 100644 --- a/pkgs/development/libraries/oneDNN/default.nix +++ b/pkgs/development/libraries/oneDNN/default.nix @@ -5,13 +5,13 @@ # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn stdenv.mkDerivation rec { pname = "oneDNN"; - version = "2.1.3"; + version = "2.2.1"; src = fetchFromGitHub { owner = "oneapi-src"; repo = "oneDNN"; rev = "v${version}"; - sha256 = "sha256-xByu0HWeyDg5WV/zVO4HO/uwZ2RPrud0FlZHPfFom1E="; + sha256 = "sha256-orsllgBt2EHuZOy9vkgDK3XT6BfbtyIPvO4REB9tAgs="; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix index 1bec3300f80..48fc95e788a 100644 --- a/pkgs/development/libraries/physics/pythia/default.nix +++ b/pkgs/development/libraries/physics/pythia/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "pythia"; - version = "8.303"; + version = "8.304"; src = fetchurl { url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia${builtins.replaceStrings ["."] [""] version}.tgz"; - sha256 = "0gli6zf8931i7kyminppisc9d0q69xxnalvhld5fgnkh4q82nz6d"; + sha256 = "18frx7xyvxnz57fxjncjyjzsk169h0jz6hxzjfpmwm3dzcc712fk"; }; buildInputs = [ boost fastjet hepmc zlib rsync lhapdf ]; diff --git a/pkgs/development/libraries/physics/rivet/darwin.patch b/pkgs/development/libraries/physics/rivet/darwin.patch deleted file mode 100644 index 2d397f1da6c..00000000000 --- a/pkgs/development/libraries/physics/rivet/darwin.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/include/Rivet/Tools/osdir.hh b/include/Rivet/Tools/osdir.hh -index 05f06ca..59af7de 100644 ---- a/include/Rivet/Tools/osdir.hh -+++ b/include/Rivet/Tools/osdir.hh -@@ -21,7 +21,7 @@ - - /// @cond OSDIR - --#if defined(unix) || defined(__unix) || defined(__unix__) -+#if defined(unix) || defined(__unix) || defined(__unix__) || defined(__APPLE__) - #define OSLINK_OSDIR_POSIX - #elif defined(_WIN32) - #define OSLINK_OSDIR_WINDOWS -@@ -32,18 +32,7 @@ - #include - - #if defined(OSLINK_OSDIR_NOTSUPPORTED) -- --namespace oslink --{ -- class directory -- { -- public: -- directory(const std::string&) { } -- operator void*() const { return (void*)0; } -- std::string next() { return ""; } -- }; --} -- -+#error Platform misdetected or oslink is not implemented - #elif defined(OSLINK_OSDIR_POSIX) - - #include diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix index 44065904d99..9d312498704 100644 --- a/pkgs/development/libraries/physics/rivet/default.nix +++ b/pkgs/development/libraries/physics/rivet/default.nix @@ -1,50 +1,14 @@ -{ lib, stdenv, fetchurl, fetchpatch, fastjet, fastjet-contrib, ghostscript, hepmc, imagemagick, less, python3, rsync, texlive, yoda, which, makeWrapper }: +{ lib, stdenv, fetchurl, fastjet, fastjet-contrib, ghostscript, hepmc, imagemagick, less, python3, rsync, texlive, yoda, which, makeWrapper }: stdenv.mkDerivation rec { pname = "rivet"; - version = "3.1.3"; + version = "3.1.4"; src = fetchurl { url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2"; - sha256 = "08g0f84l7r6vm4n7gn36qi3bzacscpv061m9xar2572vf10wxpak"; + sha256 = "sha256-N+3ICilozhAxWJ5DumtJKHfKeQG+o4+Lt1NqXIz4EA0="; }; - patches = [ - ./darwin.patch # configure relies on impure sw_vers to -Dunix - - # fix compilation errors (fails depending on number of cores filesystem ordering?) - # https://gitlab.com/hepcedar/rivet/-/merge_requests/220 - (fetchpatch { - url = "https://gitlab.com/hepcedar/rivet/commit/3203bf12a4bef81f880789eb9cde7ff489ae5115.diff"; - sha256 = "0zn5yxlv6dk4vcqgz0syzb9mp4qc9smpmgshcqimcvii7qcp20mc"; - }) - # https://gitlab.com/hepcedar/rivet/-/merge_requests/223 - (fetchpatch { - url = "https://gitlab.com/hepcedar/rivet/commit/476f267c46b126fa163a92aa6cbcb7806c4624c3.diff"; - sha256 = "0dhkraddzp06v5z0d2wf0c8vsd50hl5pqsjgsrb8x14d0vwi8rnc"; - }) - - # fix for new python and fix transparency gs 9.52 - # gs 9.52 opacity fix - (fetchpatch { - url = "https://gitlab.com/hepcedar/rivet/commit/25c4bee19882fc56407b0a438f86e1a11753d5e6.diff"; - sha256 = "18p2wk54r0qfq6l27z6805zq1z5jhk5sbxbjixgibzq8prj1a78v"; - }) - - # make-plots: fix wrong logic in Plot.set_xmax() - (fetchpatch { - url = "https://gitlab.com/hepcedar/rivet/commit/d371c6c10cf67a41c0e4e27c16ff5723d6276ad2.diff"; - sha256 = "0w622rd5darj7qafbbc84blznvy5rnhsdyr2n1i1fkz19mrf5h2p"; - }) - - # fix https://gitlab.com/hepcedar/rivet/-/issues/200 - (fetchpatch { - url = "https://gitlab.com/hepcedar/rivet/commit/442dbd17dcb3bd6e30b26e54c50f6a8237f966f9.diff"; - includes = [ "bin/make-pgfplots" "bin/make-plots" "bin/make-plots-fast" ]; - sha256 = "0c3rysgcib49km1zdpgsdai3xi4s6ijqgxp4whn04mrh3qf4bmr3"; - }) - ]; - latex = texlive.combine { inherit (texlive) scheme-basic collection-pstricks diff --git a/pkgs/development/ocaml-modules/janestreet/0.12.nix b/pkgs/development/ocaml-modules/janestreet/0.12.nix index 295960764dc..10d8886d994 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.12.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.12.nix @@ -1,13 +1,10 @@ -{ janePackage -, ctypes -, num -, octavius -, ppxlib -, re +{ self , openssl }: -rec { +with self; + +{ ocaml-compiler-libs = janePackage { pname = "ocaml-compiler-libs"; diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix index 738828e8308..eb429b2bb6d 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.14.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix @@ -1,30 +1,11 @@ -{ janePackage -, alcotest -, angstrom -, angstrom-async -, base64 -, cryptokit -, ctypes -, dune-configurator -, faraday -, inotify -, js_of_ocaml -, js_of_ocaml-ppx -, lambdasoup -, magic-mime -, num -, octavius -, ppxlib -, re -, tyxml -, uri-sexp -, zarith +{ self , openssl -, ounit , zstd }: -rec { +with self; + +{ accessor = janePackage { pname = "accessor"; diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix index a4c026ffb8b..679ef4a58e4 100644 --- a/pkgs/development/ocaml-modules/janestreet/default.nix +++ b/pkgs/development/ocaml-modules/janestreet/default.nix @@ -1,10 +1,10 @@ -{ janePackage, ocamlbuild, angstrom, cryptokit, ctypes, - magic-mime, ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, - num, openssl -, ppxlib +{ self +, openssl }: -rec { +with self; + +{ ocaml-compiler-libs = janePackage { pname = "ocaml-compiler-libs"; diff --git a/pkgs/development/ocaml-modules/janestreet/old.nix b/pkgs/development/ocaml-modules/janestreet/old.nix index 447a9cdf71f..8b4a6ed5296 100644 --- a/pkgs/development/ocaml-modules/janestreet/old.nix +++ b/pkgs/development/ocaml-modules/janestreet/old.nix @@ -1,8 +1,32 @@ -{ stdenv, lib, janePackage, ocaml, ocamlbuild, cryptokit, ctypes, magic-mime, - ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith, num, - openssl }: +{ self +, super +, lib +, stdenv +, openssl +}: -rec { +let + inherit (super) + janePackage + ocaml + ocamlbuild + cryptokit + ctypes + magic-mime + ocaml-migrate-parsetree + octavius + ounit + ppx_deriving + re + zarith + num + ; + +in + +with self; + +{ # Jane Street packages, up to ppx_core diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix index f2bbfdcec18..04361de7222 100644 --- a/pkgs/development/ocaml-modules/printbox/default.nix +++ b/pkgs/development/ocaml-modules/printbox/default.nix @@ -1,21 +1,24 @@ -{ lib, fetchFromGitHub, buildDunePackage, uucp, uutf }: +{ lib, fetchFromGitHub, buildDunePackage, ocaml, uucp, uutf, mdx }: buildDunePackage rec { pname = "printbox"; - version = "0.4"; + version = "0.5"; - minimumOCamlVersion = "4.05"; + useDune2 = true; + + minimumOCamlVersion = "4.03"; src = fetchFromGitHub { owner = "c-cube"; repo = pname; rev = version; - sha256 = "0bq2v37v144i00h1zwyqhkfycxailr245n97yff0f7qnidxprix0"; + sha256 = "099yxpp7d9bms6dwzp9im7dv1qb801hg5rx6awpx3rpfl4cvqfn2"; }; - checkInputs = lib.optionals doCheck [ uucp uutf ]; + checkInputs = [ uucp uutf mdx.bin ]; - doCheck = true; + # mdx is not available for OCaml < 4.07 + doCheck = lib.versionAtLeast ocaml.version "4.07"; meta = { homepage = "https://github.com/c-cube/printbox/"; diff --git a/pkgs/development/python-modules/aioemonitor/default.nix b/pkgs/development/python-modules/aioemonitor/default.nix new file mode 100644 index 00000000000..e78cb83b3f4 --- /dev/null +++ b/pkgs/development/python-modules/aioemonitor/default.nix @@ -0,0 +1,49 @@ +{ lib +, aiohttp +, aioresponses +, buildPythonPackage +, fetchFromGitHub +, pytest-asyncio +, pytest-raises +, pytestCheckHook +, pythonOlder +, xmltodict +}: + +buildPythonPackage rec { + pname = "aioemonitor"; + version = "1.0.5"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = "v${version}"; + sha256 = "0h8zqqy8v8r1fl9bp3m8icr2sy44p0mbfl1hbb0zni17r9r50dhn"; + }; + + propagatedBuildInputs = [ + aiohttp + xmltodict + ]; + + checkInputs = [ + aioresponses + pytest-asyncio + pytest-raises + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace setup.py --replace '"pytest-runner>=5.2",' "" + ''; + + pythonImportsCheck = [ "aioemonitor" ]; + + meta = with lib; { + description = "Python client for SiteSage Emonitor"; + homepage = "https://github.com/bdraco/aioemonitor"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aiohttp-wsgi/default.nix b/pkgs/development/python-modules/aiohttp-wsgi/default.nix new file mode 100644 index 00000000000..25264a66527 --- /dev/null +++ b/pkgs/development/python-modules/aiohttp-wsgi/default.nix @@ -0,0 +1,37 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aiohttp-wsgi"; + version = "0.8.2"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "etianen"; + repo = pname; + rev = version; + sha256 = "0wirn3xqxxgkpy5spicd7p1bkdnsrch61x2kcpdwpixmx961pq7x"; + }; + + propagatedBuildInputs = [ + aiohttp + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "aiohttp_wsgi" ]; + + meta = with lib; { + description = "WSGI adapter for aiohttp"; + homepage = "https://github.com/etianen/aiohttp-wsgi"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aiolip/default.nix b/pkgs/development/python-modules/aiolip/default.nix new file mode 100644 index 00000000000..1db1ae1cf03 --- /dev/null +++ b/pkgs/development/python-modules/aiolip/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aiolip"; + version = "1.1.4"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = version; + sha256 = "1f8mlvbnfcn3sigsmjdpdpgxmnbvcjhfr7lzch61i8sy25dgakji"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace setup.py --replace "'pytest-runner'," "" + ''; + + pythonImportsCheck = [ "aiolip" ]; + + meta = with lib; { + description = "Python module for the Lutron Integration Protocol"; + homepage = "https://github.com/bdraco/aiolip"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aiosyncthing/default.nix b/pkgs/development/python-modules/aiosyncthing/default.nix new file mode 100644 index 00000000000..553876a48cf --- /dev/null +++ b/pkgs/development/python-modules/aiosyncthing/default.nix @@ -0,0 +1,45 @@ +{ lib +, aiohttp +, aioresponses +, buildPythonPackage +, fetchFromGitHub +, expects +, pytest-asyncio +, pytest-mock +, pytestCheckHook +, yarl +}: + +buildPythonPackage rec { + pname = "aiosyncthing"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "zhulik"; + repo = pname; + rev = "v${version}"; + sha256 = "0704qbg3jy80vaw3bcvhy988s1qs3fahpfwkja71fy70bh0vc860"; + }; + + propagatedBuildInputs = [ + aiohttp + yarl + ]; + + checkInputs = [ + aioresponses + expects + pytestCheckHook + pytest-asyncio + pytest-mock + ]; + + pythonImportsCheck = [ "aiosyncthing" ]; + + meta = with lib; { + description = "Python client for the Syncthing REST API"; + homepage = "https://github.com/zhulik/aiosyncthing"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/arrow/1.nix b/pkgs/development/python-modules/arrow/1.nix new file mode 100644 index 00000000000..f9b830762b3 --- /dev/null +++ b/pkgs/development/python-modules/arrow/1.nix @@ -0,0 +1,41 @@ +{ lib, buildPythonPackage, fetchPypi, pythonOlder +, simplejson, typing-extensions, python-dateutil, pytz, pytest-mock, sphinx +, dateparser, pytestcov, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "arrow"; + version = "1.0.3"; + + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "0793badh4hgbk2c5g70hmbl7n3d4g5d87bcflld0w9rjwy59r71r"; + }; + + propagatedBuildInputs = [ python-dateutil ] + ++ lib.optionals (!pythonOlder "3.8") [ typing-extensions ]; + + checkInputs = [ + dateparser + pytestCheckHook + pytestcov + pytest-mock + pytz + simplejson + sphinx + ]; + + # ParserError: Could not parse timezone expression "America/Nuuk" + disabledTests = [ + "test_parse_tz_name_zzz" + ]; + + meta = with lib; { + description = "Python library for date manipulation"; + homepage = "https://github.com/crsmithdev/arrow"; + license = licenses.asl20; + maintainers = with maintainers; [ thoughtpolice oxzi ]; + }; +} diff --git a/pkgs/development/python-modules/datadog/default.nix b/pkgs/development/python-modules/datadog/default.nix index 4a1bddfe369..498a813569e 100644 --- a/pkgs/development/python-modules/datadog/default.nix +++ b/pkgs/development/python-modules/datadog/default.nix @@ -17,11 +17,11 @@ buildPythonPackage rec { pname = "datadog"; - version = "0.39.0"; + version = "0.40.0"; src = fetchPypi { inherit pname version; - sha256 = "b0ef69a27aad0e4412c1ac3e6894fa1b5741db735515c34dfe1606d8cf30e4e5"; + sha256 = "4bbd66a02bbcf9cd03ba05194d605a64c9efb7aed90d5e69c6ec42655c3c01a4"; }; postPatch = '' diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix index 8fba64d0a8f..90e34288154 100644 --- a/pkgs/development/python-modules/devolo-home-control-api/default.nix +++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "devolo-home-control-api"; - version = "0.17.1"; + version = "0.17.3"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "2Fake"; repo = "devolo_home_control_api"; rev = "v${version}"; - sha256 = "sha256-5PaIZPwikDmT4kmh0Qfg65gBAUYralmO6a22GtzoB7A="; + sha256 = "1h7admqb1l28sxwhhkkhw0sfzgpn8zpczvmi3h28f68csflkv379"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/discordpy/default.nix b/pkgs/development/python-modules/discordpy/default.nix index 94181def867..d4f742d97f5 100644 --- a/pkgs/development/python-modules/discordpy/default.nix +++ b/pkgs/development/python-modules/discordpy/default.nix @@ -1,35 +1,40 @@ { lib -, fetchFromGitHub -, buildPythonPackage -, pythonOlder -, withVoice ? true, libopus , aiohttp +, buildPythonPackage +, fetchFromGitHub +, libopus +, pynacl +, pythonOlder , websockets +, withVoice ? true }: buildPythonPackage rec { pname = "discord.py"; - version = "1.7.0"; - disabled = pythonOlder "3.5.3"; + version = "1.7.1"; + disabled = pythonOlder "3.8"; - # only distributes wheels on pypi now src = fetchFromGitHub { owner = "Rapptz"; repo = pname; rev = "v${version}"; - sha256 = "1i5k2qb894rjksn21pk9shash1y7v4138rkk8mqr1a1yvgnr5ibg"; + sha256 = "sha256-dpASIqe6rJEyiWJyPbQhq9M54lX1ilfp4UuGnbJcFLo="; }; - propagatedBuildInputs = [ aiohttp websockets ]; + propagatedBuildInputs = [ + aiohttp + websockets + ] ++ lib.optionalString withVoice [ + libopus + pynacl + ]; + patchPhase = '' - substituteInPlace "requirements.txt" \ - --replace "websockets>=6.0,!=7.0,!=8.0,!=8.0.1,<9.0" "websockets" - '' + lib.optionalString withVoice '' substituteInPlace "discord/opus.py" \ --replace "ctypes.util.find_library('opus')" "'${libopus}/lib/libopus.so.0'" ''; - # only have integration tests with discord + # Only have integration tests with discord doCheck = false; pythonImportsCheck = [ @@ -44,7 +49,7 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "A python wrapper for the Discord API"; + description = "Python wrapper for the Discord API"; homepage = "https://discordpy.rtfd.org/"; maintainers = [ maintainers.ivar ]; license = licenses.mit; diff --git a/pkgs/development/python-modules/expects/default.nix b/pkgs/development/python-modules/expects/default.nix new file mode 100644 index 00000000000..093bdc27bf8 --- /dev/null +++ b/pkgs/development/python-modules/expects/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "expects"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "jaimegildesagredo"; + repo = pname; + rev = "v${version}"; + sha256 = "0mk1mhh8n9ly820krkhazn1w96f10vmgh21y2wr44sn8vwr4ngyy"; + }; + + # mamba is used as test runner. Not available and should not be used as + # it's just another unmaintained test runner. + doCheck = false; + pythonImportsCheck = [ "expects" ]; + + meta = with lib; { + description = "Expressive and extensible TDD/BDD assertion library for Python"; + homepage = "https://expects.readthedocs.io/"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix index 0397a2d7629..a9f0d30ef44 100644 --- a/pkgs/development/python-modules/hass-nabucasa/default.nix +++ b/pkgs/development/python-modules/hass-nabucasa/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "hass-nabucasa"; - version = "0.42.0"; + version = "0.43.0"; src = fetchFromGitHub { owner = "nabucasa"; repo = pname; rev = version; - sha256 = "sha256-vDgjuNgwNp9cDgiCNxhACOcuaxcrR+0DW/U5OaSW0n4="; + sha256 = "sha256-mfVSiquZrCtAza4q9Ocle22e4ZMoTgxguevuOlZEUm8="; }; postPatch = '' diff --git a/pkgs/development/python-modules/homematicip/default.nix b/pkgs/development/python-modules/homematicip/default.nix new file mode 100644 index 00000000000..b2d6da18fe7 --- /dev/null +++ b/pkgs/development/python-modules/homematicip/default.nix @@ -0,0 +1,77 @@ +{ lib +, aenum +, aiohttp +, aiohttp-wsgi +, async-timeout +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, pytest-aiohttp +, pytest-asyncio +, requests +, websocket_client +, websockets +}: + +buildPythonPackage rec { + pname = "homematicip"; + version = "1.0.0"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "coreGreenberet"; + repo = "homematicip-rest-api"; + rev = version; + sha256 = "0bgvrjcf10kiqqkbl56sxx3jydd722b08q2j9c8sxpk0qdrmrinv"; + }; + + propagatedBuildInputs = [ + aenum + aiohttp + async-timeout + requests + websocket_client + websockets + ]; + + checkInputs = [ + aiohttp-wsgi + pytest-aiohttp + pytest-asyncio + pytestCheckHook + ]; + + disabledTests = [ + # Assert issues with datetime + "test_contact_interface_device" + "test_dimmer" + "test_heating_failure_alert_group" + "test_heating" + "test_humidity_warning_rule_group" + "test_meta_group" + "test_pluggable_switch_measuring" + "test_rotary_handle_sensor" + "test_security_group" + "test_shutter_device" + "test_smoke_detector" + "test_switching_group" + "test_temperature_humidity_sensor_outdoor" + "test_wall_mounted_thermostat_pro" + "test_weather_sensor" + # Random failures + "test_home_getSecurityJournal" + "test_home_unknown_types" + # Requires network access + "test_websocket" + ]; + + pythonImportsCheck = [ "homematicip" ]; + + meta = with lib; { + description = "Python module for the homematicIP REST API"; + homepage = "https://github.com/coreGreenberet/homematicip-rest-api"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/ifcopenshell/default.nix b/pkgs/development/python-modules/ifcopenshell/default.nix index 75d1c4d7740..2eedaaece69 100644 --- a/pkgs/development/python-modules/ifcopenshell/default.nix +++ b/pkgs/development/python-modules/ifcopenshell/default.nix @@ -1,11 +1,10 @@ { lib, stdenv , buildPythonPackage , fetchFromGitHub -, substituteAll , python , gcc10 , cmake -, boost172 +, boost17x , icu , swig , pcre @@ -16,29 +15,21 @@ buildPythonPackage rec { pname = "ifcopenshell"; - version = "0.6.0b0"; + version = "210410"; format = "other"; src = fetchFromGitHub { owner = "IfcOpenShell"; repo = "IfcOpenShell"; - rev = "v${version}"; + rev = "blenderbim-${version}"; fetchSubmodules = true; - sha256 = "1ad1s9az41z2f46rbi1jnr46mgc0q4h5kz1jm9xdlwifqv9y04g1"; + sha256 = "1g52asxrqcfj01iqvf03k3bb6rg3v04hh1wc3nmn329a2lwjbxpw"; }; - patches = [ - (substituteAll { - name = "site-packages.patch"; - src = ./site-packages.patch; - site_packages = "lib/${python.libPrefix}/site-packages"; - }) - ]; - nativeBuildInputs = [ gcc10 cmake ]; buildInputs = [ - boost172 + boost17x icu pcre libxml2 @@ -48,7 +39,9 @@ buildPythonPackage rec { cd cmake ''; + PYTHONUSERBASE="."; cmakeFlags = [ + "-DUSERSPACE_PYTHON_PREFIX=ON" "-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade" "-DOCC_LIBRARY_DIR=${opencascade-occt}/lib" "-DOPENCOLLADA_INCLUDE_DIR=${opencollada}/include/opencollada" diff --git a/pkgs/development/python-modules/ifcopenshell/site-packages.patch b/pkgs/development/python-modules/ifcopenshell/site-packages.patch deleted file mode 100644 index e61fe2056f7..00000000000 --- a/pkgs/development/python-modules/ifcopenshell/site-packages.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/src/ifcwrap/CMakeLists.txt -+++ b/src/ifcwrap/CMakeLists.txt -@@ -68,26 +68,17 @@ endif() - # directory in which the wrapper can be installed. - FIND_PACKAGE(PythonInterp) - IF(PYTHONINTERP_FOUND AND NOT "${PYTHON_EXECUTABLE}" STREQUAL "") -- EXECUTE_PROCESS( -- COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib(1))" -- OUTPUT_VARIABLE python_package_dir -- ) -- -- IF("${python_package_dir}" STREQUAL "") -- MESSAGE(WARNING "Unable to locate Python site-package directory, unable to install the Python wrapper") -- ELSE() - FILE(GLOB_RECURSE sourcefiles "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/*.py") - FOREACH(file ${sourcefiles}) - FILE(RELATIVE_PATH relative "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/" "${file}") - GET_FILENAME_COMPONENT(dir "${relative}" DIRECTORY) - INSTALL(FILES "${file}" -- DESTINATION "${python_package_dir}/ifcopenshell/${dir}") -+ DESTINATION "@site_packages@/ifcopenshell/${dir}") - ENDFOREACH() - INSTALL(FILES "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py" -- DESTINATION "${python_package_dir}/ifcopenshell") -+ DESTINATION "@site_packages@/ifcopenshell") - INSTALL(TARGETS _ifcopenshell_wrapper -- DESTINATION "${python_package_dir}/ifcopenshell") -- ENDIF() -+ DESTINATION "@site_packages@/ifcopenshell") - ELSE() - MESSAGE(WARNING "No Python interpreter found, unable to install the Python wrapper") - ENDIF() diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix index 00f0d748bbb..9a53e852f1a 100644 --- a/pkgs/development/python-modules/jsonrpc-async/default.nix +++ b/pkgs/development/python-modules/jsonrpc-async/default.nix @@ -1,20 +1,37 @@ -{ lib, buildPythonPackage, fetchPypi -, aiohttp, jsonrpc-base }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, aiohttp +, jsonrpc-base +, pytest-aiohttp +, pytestCheckHook +}: buildPythonPackage rec { pname = "jsonrpc-async"; - version = "1.1.1"; + version = "2.0.0"; - src = fetchPypi { - inherit pname version; - sha256 = "383f331e28cd8f6e3fa86f3e7052efa541b7ae8bf328a4e692aa045cfc0ecf25"; + src = fetchFromGitHub { + owner = "emlove"; + repo = pname; + rev = version; + sha256 = "1ff3523rwgira5llmf5iriwqag7b6ln9vmj0s70yyc6k98yg06rp"; }; propagatedBuildInputs = [ aiohttp jsonrpc-base ]; + checkInputs = [ + pytest-aiohttp + pytestCheckHook + ]; + + pytestFlagsArray = [ + "tests.py" + ]; + meta = with lib; { description = "A JSON-RPC client library for asyncio"; - homepage = "https://github.com/armills/jsonrpc-async"; + homepage = "https://github.com/emlove/jsonrpc-async"; license = licenses.bsd3; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix index db47a2240fb..008b181b9ef 100644 --- a/pkgs/development/python-modules/jsonrpc-base/default.nix +++ b/pkgs/development/python-modules/jsonrpc-base/default.nix @@ -1,19 +1,31 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: buildPythonPackage rec { pname = "jsonrpc-base"; - version = "1.1.0"; + version = "2.0.0"; - src = fetchPypi { - inherit pname version; - sha256 = "7f374c57bfa1cb16d1f340d270bc0d9f1f5608fb1ac6c9ea15768c0e6ece48b7"; + src = fetchFromGitHub { + owner = "emlove"; + repo = pname; + rev = version; + sha256 = "0xxhn0vb7mr8k1w9xbqhhyx9qkgkc318qkyflgfbvjc926n50680"; }; - propagatedBuildInputs = [ ]; + checkInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + "tests.py" + ]; meta = with lib; { description = "A JSON-RPC client library base interface"; - homepage = "https://github.com/armills/jsonrpc-base"; + homepage = "https://github.com/emlove/jsonrpc-base"; license = licenses.bsd3; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix index bf8960ad27d..faecca760d3 100644 --- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix +++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix @@ -1,28 +1,36 @@ -{ lib, buildPythonPackage, fetchPypi -, aiohttp, jsonrpc-base, pep8 -, pytestCheckHook +{ lib +, buildPythonPackage +, fetchPypi +, aiohttp +, jsonrpc-base , pytest-asyncio +, pytestCheckHook }: buildPythonPackage rec { pname = "jsonrpc-websocket"; - version = "1.2.1"; + version = "3.0.0"; src = fetchPypi { inherit pname version; - sha256 = "c343d057b572791ed3107b771c17358bc710772a9a6156047a3cfafb409ed895"; + sha256 = "0fmw8xjzlhi7r84swn4w3njy389qqll5ad5ljdq5n2wpg424k98h"; }; - nativeBuildInputs = [ pep8 ]; + propagatedBuildInputs = [ + aiohttp + jsonrpc-base + ]; - propagatedBuildInputs = [ aiohttp jsonrpc-base ]; + checkInputs = [ + pytestCheckHook + pytest-asyncio + ]; - checkInputs = [ pytestCheckHook pytest-asyncio ]; pytestFlagsArray = [ "tests.py" ]; meta = with lib; { description = "A JSON-RPC websocket client library for asyncio"; - homepage = "https://github.com/armills/jsonrpc-websocket"; + homepage = "https://github.com/emlove/jsonrpc-websocket"; license = licenses.bsd3; maintainers = with maintainers; [ peterhoeg ]; }; diff --git a/pkgs/development/python-modules/karton-classifier/default.nix b/pkgs/development/python-modules/karton-classifier/default.nix new file mode 100644 index 00000000000..a623486f03c --- /dev/null +++ b/pkgs/development/python-modules/karton-classifier/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, chardet +, fetchFromGitHub +, karton-core +, python +, python_magic +}: + +buildPythonPackage rec { + pname = "karton-classifier"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = pname; + rev = "v${version}"; + sha256 = "05pxv0smrzgmljykc6yx0rx8b85ck7fa09xjkjw0dd7lb6bb19a6"; + }; + + propagatedBuildInputs = [ + chardet + karton-core + python_magic + ]; + + postPatch = '' + substituteInPlace requirements.txt \ + --replace "chardet==3.0.4" "chardet" \ + --replace "karton-core==4.0.4" "karton-core" \ + --replace "python-magic==0.4.18" "python-magic" + ''; + + checkPhase = '' + runHook preCheck + ${python.interpreter} -m unittest discover + runHook postCheck + ''; + + pythonImportsCheck = [ "karton.classifier" ]; + + meta = with lib; { + description = "File type classifier for the Karton framework"; + homepage = "https://github.com/CERT-Polska/karton-classifier"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix new file mode 100644 index 00000000000..b05c6bd343f --- /dev/null +++ b/pkgs/development/python-modules/karton-core/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, minio +, python +, redis +}: + +buildPythonPackage rec { + pname = "karton-core"; + version = "4.2.0"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = "karton"; + rev = "v${version}"; + sha256 = "08j1bm9g58576sswcrpfczaki24nlqqaypp7qv1rxxwsyp5pq6h6"; + }; + + propagatedBuildInputs = [ minio redis ]; + + checkPhase = '' + runHook preCheck + ${python.interpreter} -m unittest discover + runHook postCheck + ''; + + meta = with lib; { + description = "Distributed malware processing framework"; + homepage = "https://karton-core.readthedocs.io/"; + maintainers = with maintainers; [ chivay ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/manhole/default.nix b/pkgs/development/python-modules/manhole/default.nix index b9d57a7c089..2019d7e3180 100644 --- a/pkgs/development/python-modules/manhole/default.nix +++ b/pkgs/development/python-modules/manhole/default.nix @@ -8,11 +8,11 @@ buildPythonPackage rec { pname = "manhole"; - version = "1.6.0"; + version = "1.7.0"; src = fetchPypi { inherit pname version; - sha256 = "d4ab98198481ed54a5b95c0439f41131f56d7d3755eedaedce5a45ca7ff4aa42"; + sha256 = "224985bf1dd032f2dc0ca4107f727835b6f50e1df6d78781d6c9f4cae8b585e2"; }; # test_help expects architecture-dependent Linux signal numbers. diff --git a/pkgs/development/python-modules/nad-receiver/default.nix b/pkgs/development/python-modules/nad-receiver/default.nix new file mode 100644 index 00000000000..ee7ac9648e1 --- /dev/null +++ b/pkgs/development/python-modules/nad-receiver/default.nix @@ -0,0 +1,35 @@ +{ lib +, pyserial +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "nad-receiver"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "joopert"; + repo = "nad_receiver"; + rev = version; + sha256 = "1mylrrvxczhplscayf4hvj56vaqkh7mv32fn9pcvla83y39kg8rw"; + }; + + propagatedBuildInputs = [ + pyserial + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "nad_receiver" ]; + + meta = with lib; { + description = "Python interface for NAD receivers"; + homepage = "https://github.com/joopert/nad_receiver"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/nexia/default.nix b/pkgs/development/python-modules/nexia/default.nix new file mode 100644 index 00000000000..dbd1c798a3f --- /dev/null +++ b/pkgs/development/python-modules/nexia/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, requests +, requests-mock +}: + +buildPythonPackage rec { + pname = "nexia"; + version = "0.9.6"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = version; + sha256 = "1k8h1p2zqm8gghff03jh8q3zik7jw2l686cyyg36r3qrgz6zi19q"; + }; + + propagatedBuildInputs = [ + requests + ]; + + checkInputs = [ + requests-mock + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace setup.py --replace '"pytest-runner",' "" + ''; + + pythonImportsCheck = [ "nexia" ]; + + meta = with lib; { + description = "Python module for Nexia thermostats"; + homepage = "https://github.com/bdraco/nexia"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/omnilogic/default.nix b/pkgs/development/python-modules/omnilogic/default.nix new file mode 100644 index 00000000000..6e12e573706 --- /dev/null +++ b/pkgs/development/python-modules/omnilogic/default.nix @@ -0,0 +1,39 @@ +{ lib +, aiohttp +, xmltodict +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "omnilogic"; + version = "0.4.3"; + + src = fetchFromGitHub { + owner = "djtimca"; + repo = "omnilogic-api"; + rev = "v${version}"; + sha256 = "19pmbykq0mckk23aj33xbhg3gjx557xy9a481mp6pkmihf2lsc8z"; + }; + + propagatedBuildInputs = [ + aiohttp + xmltodict + ]; + + postPatch = '' + # Is not used but still present in setup.py + substituteInPlace setup.py --replace "'config'," "" + ''; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "omnilogic" ]; + + meta = with lib; { + description = "Python interface for the Hayward Omnilogic pool control system"; + homepage = "https://github.com/djtimca/omnilogic-api"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix index 1519187d174..95e45020d46 100644 --- a/pkgs/development/python-modules/poetry/default.nix +++ b/pkgs/development/python-modules/poetry/default.nix @@ -24,7 +24,7 @@ buildPythonPackage rec { pname = "poetry"; - version = "1.1.4"; + version = "1.1.5"; format = "pyproject"; disabled = isPy27; @@ -32,7 +32,7 @@ buildPythonPackage rec { owner = "python-poetry"; repo = pname; rev = version; - sha256 = "0lx3qpz5dad0is7ki5a4vxphvc8cm8fnv4bmrx226a6nvvaj6ahs"; + sha256 = "0bv6irpscpak6pldkzrx4j12dqnpfz5h8fy5lliglizv0avh60hf"; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyclimacell/default.nix b/pkgs/development/python-modules/pyclimacell/default.nix new file mode 100644 index 00000000000..c9eb0f0353f --- /dev/null +++ b/pkgs/development/python-modules/pyclimacell/default.nix @@ -0,0 +1,39 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, pytz +}: + +buildPythonPackage rec { + pname = "pyclimacell"; + version = "0.18.0"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "raman325"; + repo = pname; + rev = "v${version}"; + sha256 = "0pxlh3lwd1az6v7vbaz9kv6ngqxf34iddp7vr0d0p8apbvinwrha"; + }; + + propagatedBuildInputs = [ + aiohttp + pytz + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "pyclimacell" ]; + + meta = with lib; { + description = "Python client for ClimaCell API"; + homepage = "https://github.com/raman325/pyclimacell"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pycognito/default.nix b/pkgs/development/python-modules/pycognito/default.nix index 511df9f07f5..797da43352d 100644 --- a/pkgs/development/python-modules/pycognito/default.nix +++ b/pkgs/development/python-modules/pycognito/default.nix @@ -1,7 +1,6 @@ { lib , boto3 , buildPythonPackage -, cryptography , envs , fetchFromGitHub , isPy27 @@ -13,20 +12,16 @@ buildPythonPackage rec { pname = "pycognito"; - version = "0.1.5"; + version = "2021.03.1"; + disabled = isPy27; src = fetchFromGitHub { owner = "pvizeli"; repo = pname; rev = version; - sha256 = "sha256-RJeHPCTuaLN+zB0N0FGt4qrTI6++1ks5iBn64Cx0Psc="; + sha256 = "sha256-V3R6i1/FZrjcfRqJhczjURr/+x++iCvZ3aCK9wdEL1A="; }; - postPatch = '' - substituteInPlace setup.py \ - --replace 'python-jose[cryptography]' 'python-jose' - ''; - propagatedBuildInputs = [ boto3 envs @@ -34,20 +29,24 @@ buildPythonPackage rec { requests ]; - disabled = isPy27; - checkInputs = [ mock pytestCheckHook ]; + postPatch = '' + substituteInPlace setup.py \ + --replace 'python-jose[cryptography]' 'python-jose' + ''; + pytestFlagsArray = [ "tests.py" ]; + pythonImportsCheck = [ "pycognito" ]; meta = with lib; { description = "Python class to integrate Boto3's Cognito client so it is easy to login users. With SRP support"; - homepage = "https://GitHub.com/pvizeli/pycognito"; + homepage = "https://github.com/pvizeli/pycognito"; license = licenses.asl20; - maintainers = [ maintainers.mic92 ]; + maintainers = with maintainers; [ mic92 ]; }; } diff --git a/pkgs/development/python-modules/pydanfossair/default.nix b/pkgs/development/python-modules/pydanfossair/default.nix new file mode 100644 index 00000000000..d492923f07a --- /dev/null +++ b/pkgs/development/python-modules/pydanfossair/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "pydanfossair"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "JonasPed"; + repo = "pydanfoss-air"; + rev = "v${version}"; + sha256 = "0950skga7x930whdn9f765x7fi8g6rr3zh99zpzaj8avjdwf096b"; + }; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "pydanfossair" ]; + + meta = with lib; { + description = "Python interface for Danfoss Air HRV systems"; + homepage = "https://github.com/JonasPed/pydanfoss-air"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyeconet/default.nix b/pkgs/development/python-modules/pyeconet/default.nix new file mode 100644 index 00000000000..2a5bbd9470f --- /dev/null +++ b/pkgs/development/python-modules/pyeconet/default.nix @@ -0,0 +1,32 @@ +{ lib +, paho-mqtt +, buildPythonPackage +, fetchPypi +, aiohttp +}: + +buildPythonPackage rec { + pname = "pyeconet"; + version = "0.1.13"; + + src = fetchPypi { + inherit pname version; + sha256 = "0pxwsmxzbmrab6p6qr867pc43ky2yjv2snra534wrdrknpj40h4s"; + }; + + propagatedBuildInputs = [ + paho-mqtt + aiohttp + ]; + + # Tests require credentials + doCheck = false; + pythonImportsCheck = [ "pyeconet" ]; + + meta = with lib; { + description = "Python interface to the EcoNet API"; + homepage = "https://github.com/w1ll1am23/pyeconet"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyemby/default.nix b/pkgs/development/python-modules/pyemby/default.nix new file mode 100644 index 00000000000..81c015df35c --- /dev/null +++ b/pkgs/development/python-modules/pyemby/default.nix @@ -0,0 +1,35 @@ +{ lib +, aiohttp +, async-timeout +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "pyemby"; + version = "1.7"; + + src = fetchFromGitHub { + owner = "mezz64"; + repo = pname; + rev = version; + sha256 = "04fvpv3fz4q160s4ikldwxflxl1zbxgfgy9qs6grgpnd23p0ylk8"; + }; + + propagatedBuildInputs = [ + aiohttp + async-timeout + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ "pyemby" ]; + + meta = with lib; { + description = "Python library to interface with the Emby API"; + homepage = "https://github.com/mezz64/pyemby"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyenvisalink/default.nix b/pkgs/development/python-modules/pyenvisalink/default.nix new file mode 100644 index 00000000000..54a552f88fe --- /dev/null +++ b/pkgs/development/python-modules/pyenvisalink/default.nix @@ -0,0 +1,36 @@ +{ lib +, async-timeout +, buildPythonPackage +, colorlog +, fetchPypi +, pyserial +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pyenvisalink"; + version = "4.1"; + disabled = pythonOlder "3.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "1h30gmmynihmjkd107skk2gpi210b6gfdahwqmydyj5isxrvzmq2"; + }; + + propagatedBuildInputs = [ + async-timeout + colorlog + pyserial + ]; + + # Tests require an Envisalink device + doCheck = false; + pythonImportsCheck = [ "pyenvisalink" ]; + + meta = with lib; { + description = "Python interface for Envisalink 2DS/3 Alarm API"; + homepage = "https://github.com/Cinntax/pyenvisalink"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix new file mode 100644 index 00000000000..14f2e55a1f4 --- /dev/null +++ b/pkgs/development/python-modules/pyezviz/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pandas +, pythonOlder +, requests +}: + +buildPythonPackage rec { + pname = "pyezviz"; + version = "0.1.8.7"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "baqs"; + repo = "pyEzviz"; + rev = version; + sha256 = "0k7wl9wf5i0yfdds6f9ma78ckz1p4h72z5s3qg0axzra62fvl9xg"; + }; + + propagatedBuildInputs = [ + pandas + requests + ]; + + # Project has no tests. test_cam_rtsp.py is more a sample for using the module + doCheck = false; + pythonImportsCheck = [ "pyezviz" ]; + + meta = with lib; { + description = "Python interface for for Ezviz cameras"; + homepage = "https://github.com/baqs/pyEzviz/"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyintesishome/default.nix b/pkgs/development/python-modules/pyintesishome/default.nix new file mode 100644 index 00000000000..87ed0234729 --- /dev/null +++ b/pkgs/development/python-modules/pyintesishome/default.nix @@ -0,0 +1,32 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "pyintesishome"; + version = "1.7.7"; + + src = fetchFromGitHub { + owner = "jnimmo"; + repo = "pyIntesisHome"; + rev = version; + sha256 = "1wjh6bib6bg9rf4q9z6dlrf3gncj859hz4i20a9w06jci7b2yaaz"; + }; + + propagatedBuildInputs = [ + aiohttp + ]; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "pyintesishome" ]; + + meta = with lib; { + description = "Python interface for IntesisHome devices"; + homepage = "https://github.com/jnimmo/pyIntesisHome"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pykodi/default.nix b/pkgs/development/python-modules/pykodi/default.nix index 24450270a83..a0ca9a4c573 100644 --- a/pkgs/development/python-modules/pykodi/default.nix +++ b/pkgs/development/python-modules/pykodi/default.nix @@ -1,15 +1,28 @@ -{ lib, buildPythonPackage, fetchPypi, aiohttp, jsonrpc-async, jsonrpc-websocket }: +{ lib +, buildPythonPackage +, fetchPypi +, aiohttp +, jsonrpc-async +, jsonrpc-websocket +}: buildPythonPackage rec { pname = "pykodi"; - version = "0.2.3"; + version = "0.2.5"; src = fetchPypi { inherit pname version; - sha256 = "099xyn5aql5mdim6kh4hwx0fg1a3bx73qdvwr48nz23cljmmk1m8"; + sha256 = "1al2q4jiqxjnz0j2xvs2hqzrz6fm3hmda5zjnkp8gdvgchd1cmn7"; }; - propagatedBuildInputs = [ aiohttp jsonrpc-async jsonrpc-websocket ]; + propagatedBuildInputs = [ + aiohttp + jsonrpc-async + jsonrpc-websocket + ]; + + # has no tests + doCheck = false; pythonImportsCheck = [ "pykodi" ]; diff --git a/pkgs/development/python-modules/pykwalify/default.nix b/pkgs/development/python-modules/pykwalify/default.nix index d2b31ebbf4c..b65c0fd4670 100644 --- a/pkgs/development/python-modules/pykwalify/default.nix +++ b/pkgs/development/python-modules/pykwalify/default.nix @@ -1,32 +1,40 @@ -{ lib, buildPythonPackage, fetchPypi -, dateutil, docopt, pyyaml -, pytest, testfixtures +{ lib +, buildPythonPackage +, dateutil +, docopt +, fetchPypi +, pytestCheckHook +, pyyaml +, ruamel-yaml +, testfixtures }: buildPythonPackage rec { - version = "1.7.0"; + version = "1.8.0"; pname = "pykwalify"; src = fetchPypi { inherit pname version; - sha256 = "1cnfzkg1b01f825ikpw2fhjclf9c8akxjfrbd1vc22x1lg2kk2vy"; + sha256 = "sha256-eWsq0+1MuZuIMItTP7L1WcMPpu+0+p/aETR/SD0kWIQ="; }; propagatedBuildInputs = [ dateutil docopt pyyaml + ruamel-yaml ]; checkInputs = [ - pytest + pytestCheckHook testfixtures ]; - checkPhase = '' - pytest \ - -k 'not test_multi_file_support' - ''; + disabledTests = [ + "test_multi_file_support" + ]; + + pythonImportsCheck = [ "pykwalify" ]; meta = with lib; { homepage = "https://github.com/Grokzen/pykwalify"; diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix new file mode 100644 index 00000000000..aa2182c176d --- /dev/null +++ b/pkgs/development/python-modules/pylutron-caseta/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, cryptography +, fetchFromGitHub +, pytest-asyncio +, pytest-sugar +, pytest-timeout +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pylutron-caseta"; + version = "0.9.0"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "gurumitts"; + repo = pname; + rev = "v${version}"; + sha256 = "07mz4hn0455qmfqs4xcqlhbf3qvrnmifd0vzpcqlqaqcn009iahq"; + }; + + propagatedBuildInputs = [ + cryptography + ]; + + checkInputs = [ + pytest-asyncio + pytest-sugar + pytest-timeout + pytestCheckHook + ]; + + pythonImportsCheck = [ "pylutron_caseta" ]; + + meta = with lib; { + description = "Python module o control Lutron Caseta devices"; + homepage = "https://github.com/gurumitts/pylutron-caseta"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix index 53bb06b13dd..84e7b686980 100644 --- a/pkgs/development/python-modules/pynvim/default.nix +++ b/pkgs/development/python-modules/pynvim/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "pynvim"; - version = "0.4.2"; + version = "0.4.3"; src = fetchPypi { inherit pname version; - sha256 = "6bc6204d465de5888a0c5e3e783fe01988b032e22ae87875912280bef0e40f8f"; + sha256 = "sha256-OnlTeL3l6AkvvrOhqZvpxhPSaFVC8dsOXG/UZ+7Vbf8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pyruckus/default.nix b/pkgs/development/python-modules/pyruckus/default.nix new file mode 100644 index 00000000000..5129631426b --- /dev/null +++ b/pkgs/development/python-modules/pyruckus/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pexpect +, python-slugify +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pyruckus"; + version = "0.14"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "gabe565"; + repo = pname; + rev = version; + sha256 = "069asvx7g2gywpmid0cbf84mlzhgha4yqd47y09syz09zgv34a36"; + }; + + propagatedBuildInputs = [ + pexpect + python-slugify + ]; + + # Tests requires network features + doCheck = false; + pythonImportsCheck = [ "pyruckus" ]; + + meta = with lib; { + description = "Python client for Ruckus Unleashed"; + homepage = "https://github.com/gabe565/pyruckus"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix new file mode 100644 index 00000000000..d0c54c1acfb --- /dev/null +++ b/pkgs/development/python-modules/pytest-subprocess/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pytest +, pytestCheckHook +, docutils +, pygments +}: + +buildPythonPackage rec { + pname = "pytest-subprocess"; + version = "1.0.1"; + + disabled = pythonOlder "3.4"; + + src = fetchFromGitHub { + owner = "aklajnert"; + repo = "pytest-subprocess"; + rev = version; + sha256 = "16ghwyv1vy45dd9cysjvcvvpm45958x071id2qrvgaziy2j6yx3j"; + }; + + buildInputs = [ + pytest + ]; + + checkInputs = [ + pytestCheckHook + docutils + pygments + ]; + + disabledTests = [ + "test_multiple_wait" # https://github.com/aklajnert/pytest-subprocess/issues/36 + ]; + + meta = with lib; { + description = "A plugin to fake subprocess for pytest"; + homepage = "https://github.com/aklajnert/pytest-subprocess"; + changelog = "https://github.com/aklajnert/pytest-subprocess/blob/${version}/HISTORY.rst"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/python-smarttub/default.nix b/pkgs/development/python-modules/python-smarttub/default.nix index 372c12c3599..ec47b88daa9 100644 --- a/pkgs/development/python-modules/python-smarttub/default.nix +++ b/pkgs/development/python-modules/python-smarttub/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "python-smarttub"; - version = "0.0.21"; + version = "0.0.23"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "mdz"; repo = pname; rev = "v${version}"; - sha256 = "sha256-7phx6CI6sqUCZIUxL6ea25UWAcI3NAz66hIleUfN4bk="; + sha256 = "0maqbmk50xjhv9f0zm62ayzyf99kic3c0g5714cqkw3pfp8k75cx"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/python-telegram-bot/default.nix b/pkgs/development/python-modules/python-telegram-bot/default.nix index 27276e0619c..b5155fd4bb6 100644 --- a/pkgs/development/python-modules/python-telegram-bot/default.nix +++ b/pkgs/development/python-modules/python-telegram-bot/default.nix @@ -1,28 +1,33 @@ { lib -, fetchPypi +, APScheduler , buildPythonPackage , certifi , decorator +, fetchPypi , future -, urllib3 -, tornado -, pytest -, APScheduler , isPy3k +, tornado +, urllib3 }: buildPythonPackage rec { pname = "python-telegram-bot"; - version = "13.3"; + version = "13.4.1"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - hash = "sha256-dw1sGfdeUw3n9qh4TsBpRdqEvNI0SnKTK4wqBaeM1CE="; + sha256 = "141w3701jjl460702xddqvi3hswp24jnkl6cakvz2aqrmcyxq7sc"; }; - checkInputs = [ pytest ]; - propagatedBuildInputs = [ certifi future urllib3 tornado decorator APScheduler ]; + propagatedBuildInputs = [ + APScheduler + certifi + decorator + future + tornado + urllib3 + ]; # --with-upstream-urllib3 is not working properly postPatch = '' @@ -31,6 +36,7 @@ buildPythonPackage rec { substituteInPlace requirements.txt \ --replace 'APScheduler==3.6.3' 'APScheduler' ''; + setupPyGlobalFlags = "--with-upstream-urllib3"; # tests not included with release @@ -38,7 +44,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "telegram" ]; meta = with lib; { - description = "This library provides a pure Python interface for the Telegram Bot API."; + description = "Python library to interface with the Telegram Bot API"; homepage = "https://python-telegram-bot.org"; license = licenses.lgpl3Only; maintainers = with maintainers; [ veprbl pingiun ]; diff --git a/pkgs/development/python-modules/pythonegardia/default.nix b/pkgs/development/python-modules/pythonegardia/default.nix new file mode 100644 index 00000000000..4c2394421fb --- /dev/null +++ b/pkgs/development/python-modules/pythonegardia/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchPypi +, requests +}: + +buildPythonPackage rec { + pname = "pythonegardia"; + version = "1.0.40"; + + src = fetchPypi { + inherit pname version; + sha256 = "1rv6m5zaflf3nanpl1xmfmfcpg8kzcnmniq1hhgrybsspkc7mvry"; + }; + + propagatedBuildInputs = [ + requests + ]; + + # Project has no tests, only two test file for manual interaction + doCheck = false; + pythonImportsCheck = [ "pythonegardia" ]; + + meta = with lib; { + description = "Python interface with Egardia/Woonveilig alarms"; + homepage = "https://github.com/jeroenterheerdt/python-egardia"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index 145c9a24075..1436153e1db 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -38,6 +38,7 @@ assert !(MPISupport && cudaSupport) || mpi.cudatoolkit == cudatoolkit; assert !cudaSupport || magma.cudatoolkit == cudatoolkit; let + setBool = v: if v then "1" else "0"; cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; # nccl is here purely for semantic grouping it could be moved to nativeBuildInputs @@ -160,16 +161,17 @@ in buildPythonPackage rec { # Use pytorch's custom configurations dontUseCmakeConfigure = true; - BUILD_NAMEDTENSOR = true; - BUILD_DOCS = buildDocs; + BUILD_NAMEDTENSOR = setBool true; + BUILD_DOCS = setBool buildDocs; - USE_MKL = blas.implementation == "mkl"; + # We only do an imports check, so do not build tests either. + BUILD_TEST = setBool false; # Unlike MKL, oneDNN (née MKLDNN) is FOSS, so we enable support for # it by default. PyTorch currently uses its own vendored version # of oneDNN through Intel iDeep. - USE_MKLDNN = mklDnnSupport; - USE_MKLDNN_CBLAS = mklDnnSupport; + USE_MKLDNN = setBool mklDnnSupport; + USE_MKLDNN_CBLAS = setBool mklDnnSupport; preBuild = '' export MAX_JOBS=$NIX_BUILD_CORES @@ -198,7 +200,7 @@ in buildPythonPackage rec { PYTORCH_BUILD_VERSION = version; PYTORCH_BUILD_NUMBER = 0; - USE_SYSTEM_NCCL=useSystemNccl; # don't build pytorch's third_party NCCL + USE_SYSTEM_NCCL=setBool useSystemNccl; # don't build pytorch's third_party NCCL # Suppress a weird warning in mkl-dnn, part of ideep in pytorch # (upstream seems to have fixed this in the wrong place?) diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix index 2d88460b497..ba41712c236 100644 --- a/pkgs/development/python-modules/pywizlight/default.nix +++ b/pkgs/development/python-modules/pywizlight/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "pywizlight"; - version = "0.4.5"; + version = "0.4.6"; src = fetchFromGitHub { owner = "sbidy"; repo = pname; rev = "v${version}"; - sha256 = "sha256-E2rpkdj93LymlkST8HgZ+8VcJFOWwz8787NPfTCSXFY="; + sha256 = "sha256-BCHLd1SbdHWrl7dcLD69t2K5Sa1WtGpMxTmMyDWl9u4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/sleepyq/default.nix b/pkgs/development/python-modules/sleepyq/default.nix new file mode 100644 index 00000000000..0a335de3177 --- /dev/null +++ b/pkgs/development/python-modules/sleepyq/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchPypi +, inflection +, requests +}: + +buildPythonPackage rec { + pname = "sleepyq"; + version = "0.8.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1bhzrxpzglfw4qbqfzyxr7dmmavzq4pq0h90jh0aa8vdw7iy7g7v"; + }; + + propagatedBuildInputs = [ + inflection + requests + ]; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "sleepyq" ]; + + meta = with lib; { + description = "Python module for SleepIQ API"; + homepage = "https://github.com/technicalpickles/sleepyq"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix index 901987fbff6..10eada9f095 100644 --- a/pkgs/development/python-modules/snitun/default.nix +++ b/pkgs/development/python-modules/snitun/default.nix @@ -22,6 +22,8 @@ buildPythonPackage rec { # port binding conflicts "test_snitun_single_runner_timeout" "test_snitun_single_runner_throttling" + # ConnectionResetError: [Errno 54] Connection reset by peer + "test_peer_listener_timeout" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix b/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix new file mode 100644 index 00000000000..0f0b6c545cf --- /dev/null +++ b/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi, sphinx, sphinxcontrib-tikz }: + +buildPythonPackage rec { + pname = "sphinxcontrib-bayesnet"; + version = "0.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0x1kisvj7221cxfzmwplx3xlwbavl636fpncnjh7gghp1af71clw"; + }; + + propagatedBuildInputs = [ sphinx sphinxcontrib-tikz ]; + + # No tests + doCheck = false; + pythonImportsCheck = [ "sphinxcontrib.bayesnet" ]; + + meta = with lib; { + homepage = "https://github.com/jluttine/sphinx-bayesnet"; + description = "Bayesian networks and factor graphs in Sphinx using TikZ syntax"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/development/python-modules/splinter/default.nix b/pkgs/development/python-modules/splinter/default.nix index fde5733a864..1ae05cab973 100644 --- a/pkgs/development/python-modules/splinter/default.nix +++ b/pkgs/development/python-modules/splinter/default.nix @@ -1,30 +1,50 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , selenium +, six , flask -, coverage +, pytestCheckHook }: buildPythonPackage rec { pname = "splinter"; version = "0.14.0"; - src = fetchPypi { - inherit pname version; - sha256 = "459e39e7a9f7572db6f1cdb5fdc5ccfc6404f021dccb969ee6287be2386a40db"; + src = fetchFromGitHub { + owner = "cobrateam"; + repo = "splinter"; + rev = version; + sha256 = "0480bqprv8581cvnc80ls91rz9780wvdnfw99zsw44hvy2yg15a6"; }; - propagatedBuildInputs = [ selenium ]; + propagatedBuildInputs = [ + selenium + six + ]; - checkInputs = [ flask coverage ]; + checkInputs = [ + flask + pytestCheckHook + ]; - # No tests included - doCheck = false; + disabledTestPaths = [ + "samples" + "tests/test_djangoclient.py" + "tests/test_flaskclient.py" + "tests/test_webdriver.py" + "tests/test_webdriver_chrome.py" + "tests/test_webdriver_firefox.py" + "tests/test_webdriver_remote.py" + "tests/test_zopetestbrowser.py" + ]; - meta = { + pythonImportsCheck = [ "splinter" ]; + + meta = with lib; { description = "Browser abstraction for web acceptance testing"; homepage = "https://github.com/cobrateam/splinter"; - license = lib.licenses.bsd3; + license = licenses.bsd3; + maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix index 19dcc708651..c5bd0ad1114 100644 --- a/pkgs/development/python-modules/transformers/default.nix +++ b/pkgs/development/python-modules/transformers/default.nix @@ -8,6 +8,7 @@ , regex , requests , numpy +, packaging , protobuf , sacremoses , tokenizers @@ -25,6 +26,8 @@ buildPythonPackage rec { hash = "sha256-kl1Z2FBo+yqVXUqLaUtet6IycmdcAtfydNTI4MNNrkc="; }; + nativeBuildInputs = [ packaging ]; + propagatedBuildInputs = [ cookiecutter filelock diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 56f3ba29ddf..a010c43e21e 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -12,19 +12,28 @@ buildPythonPackage rec { pname = "twilio"; - version = "6.51.1"; + version = "6.56.0"; + - # tests not included in PyPi, so fetch from github instead src = fetchFromGitHub { owner = "twilio"; repo = "twilio-python"; rev = version; - sha256 = "sha256-OHtmUFm/9GkpIzz0DdSdlHyBFRIgu8GxQ4S4VMJik9o="; + sha256 = "sha256-vVJuuPxVyOqnplPYrjCjIm5IyIFZvsCMoDLrrHpHK+4="; }; - buildInputs = [ nose mock ]; + propagatedBuildInputs = [ + pyjwt + pysocks + pytz + requests + six + ]; - propagatedBuildInputs = [ pyjwt pysocks pytz six requests ]; + checkInputs = [ + mock + nose + ]; pythonImportsCheck = [ "twilio" ]; diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix index 36689eb13a1..9499254ae4c 100644 --- a/pkgs/development/python-modules/wakeonlan/default.nix +++ b/pkgs/development/python-modules/wakeonlan/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchFromGitHub -, fetchpatch , poetry-core , pytestCheckHook , pythonOlder @@ -9,7 +8,7 @@ buildPythonPackage rec { pname = "wakeonlan"; - version = "2.0.0"; + version = "2.0.1"; disabled = pythonOlder "3.6"; format = "pyproject"; @@ -17,7 +16,7 @@ buildPythonPackage rec { owner = "remcohaszing"; repo = "pywakeonlan"; rev = version; - sha256 = "0p9jyiv0adcymbnmbay72g9phlbhsr4kmrwxscbdjq81gcmxsi0y"; + sha256 = "sha256-WgoL8ntfEaHcvVbJjdewe0wE31Lq7WBj8Bppeq1uJx8="; }; nativeBuildInputs = [ @@ -28,15 +27,6 @@ buildPythonPackage rec { pytestCheckHook ]; - patches = [ - # Switch to poetry-core, https://github.com/remcohaszing/pywakeonlan/pull/19 - (fetchpatch { - name = "switch-to-poetry-core.patch"; - url = "https://github.com/remcohaszing/pywakeonlan/commit/6aa5050ed94ef718dfcd0b946546b6a738f47ee3.patch"; - sha256 = "1xzj2464ziwm7bp05bzbjwjp9whmgp1py3isr41d92qvnil86vm6"; - }) - ]; - pytestFlagsArray = [ "test_wakeonlan.py" ]; pythonImportsCheck = [ "wakeonlan" ]; diff --git a/pkgs/development/python-modules/west/default.nix b/pkgs/development/python-modules/west/default.nix index 8958f37b0f8..6b937509314 100644 --- a/pkgs/development/python-modules/west/default.nix +++ b/pkgs/development/python-modules/west/default.nix @@ -3,14 +3,14 @@ }: buildPythonPackage rec { - version = "0.8.0"; + version = "0.10.1"; pname = "west"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "672053c3392248846694e5619a7fe6ab4c40f010a8f5be6350821b39f6132a26"; + sha256 = "sha256-gwbrxnQ0j0FV2Cv+hQEoK0HthstEw/xjaozPjgV7GEc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index 34a4c90d190..d9c42910e64 100644 --- a/pkgs/development/python-modules/zha-quirks/default.nix +++ b/pkgs/development/python-modules/zha-quirks/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "zha-quirks"; - version = "0.0.55"; + version = "0.0.56"; src = fetchFromGitHub { owner = "zigpy"; repo = "zha-device-handlers"; rev = version; - sha256 = "sha256-mc7mOaxn2FCvwYv9yE0mIOSQ1F+xJJ+1LynOdEV07I8="; + sha256 = "1jss5pnxdjlp0kplqxgr09vv1zq9n7l9w08hsywy2vglqmd67a66"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix index 912328ead26..c058a3fec23 100644 --- a/pkgs/development/tools/air/default.nix +++ b/pkgs/development/tools/air/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "air"; - version = "1.15.1"; + version = "1.25"; src = fetchFromGitHub { owner = "cosmtrek"; repo = "air"; rev = "v${version}"; - sha256 = "0d34k8hyag84j24bhax4gvg8mkzqyhdqd16rfirpfjiqvqh0vdkz"; + sha256 = "sha256-on9Rb+QGFWx7/k9xD+tcaPu6YNaBBkFBHHMSWJbZpWM="; }; - vendorSha256 = "0k28rxnd0vyb6ljbi83bm1gl7j4r660a3ckjxnzc2qzwvfj69g53"; + vendorSha256 = "sha256-B7AgUFjiW3P1dU88u3kswbCQJ7Qq7rgPlX+b+3Pq1L4="; subPackages = [ "." ]; diff --git a/pkgs/development/tools/analysis/rizin/cutter.nix b/pkgs/development/tools/analysis/rizin/cutter.nix index 55795b9830c..a4c2d0d45c1 100644 --- a/pkgs/development/tools/analysis/rizin/cutter.nix +++ b/pkgs/development/tools/analysis/rizin/cutter.nix @@ -11,13 +11,13 @@ mkDerivation rec { pname = "cutter"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "rizinorg"; repo = "cutter"; rev = "v${version}"; - sha256 = "sha256-uIN/NR+swu9Ie0wP2aBhw5WBvTe9NDmzSs+lQMCeavc="; + sha256 = "sha256-IQCJOUgefSdMSa27E6I/CL35Kx5pHq/u+5Q0FHUAR1E="; fetchSubmodules = true; }; diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix index fdc8da7b5f8..20184ac53a1 100644 --- a/pkgs/development/tools/analysis/rizin/default.nix +++ b/pkgs/development/tools/analysis/rizin/default.nix @@ -18,29 +18,42 @@ , ninja , capstone , tree-sitter +, python3 }: stdenv.mkDerivation rec { pname = "rizin"; - version = "0.1.2"; + version = "0.2.0"; src = fetchurl { - url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-${version}.tar.xz"; - sha256 = "sha256-npUp8wJiKAaQKSigXtndhJLTJ4+pyFqa0FwDLBqR/sE="; + url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz"; + sha256 = "sha256-CGHeo247syha+rVtiAQz0XkEYK9p4DHTnLK2FhBOvE8="; }; mesonFlags = [ - "-Duse_sys_capstone=true" - "-Duse_sys_magic=true" - "-Duse_sys_libzip=true" - "-Duse_sys_zlib=true" - "-Duse_sys_xxhash=true" - "-Duse_sys_lz4=true" - "-Duse_sys_openssl=true" - "-Duse_sys_tree_sitter=true" + "-Duse_sys_capstone=enabled" + "-Duse_sys_magic=enabled" + "-Duse_sys_libzip=enabled" + "-Duse_sys_zlib=enabled" + "-Duse_sys_xxhash=enabled" + "-Duse_sys_lz4=enabled" + "-Duse_sys_openssl=enabled" + "-Duse_sys_tree_sitter=enabled" ]; - nativeBuildInputs = [ pkg-config meson ninja cmake ]; + nativeBuildInputs = [ pkg-config meson ninja cmake (python3.withPackages (ps: [ ps.setuptools ])) ]; + + # meson's find_library seems to not use our compiler wrapper if static paraemter + # is either true/false... We work around by also providing LIBRARY_PATH + preConfigure = '' + LIBRARY_PATH="" + for b in ${toString (map lib.getLib buildInputs)}; do + if [[ -d "$b/lib" ]]; then + LIBRARY_PATH="$b/lib''${LIBRARY_PATH:+:}$LIBRARY_PATH" + fi + done + export LIBRARY_PATH + ''; buildInputs = [ file diff --git a/pkgs/development/tools/async-profiler/default.nix b/pkgs/development/tools/async-profiler/default.nix index 3d887d6c893..d271528de7e 100644 --- a/pkgs/development/tools/async-profiler/default.nix +++ b/pkgs/development/tools/async-profiler/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "async-profiler"; - version = "1.8.4"; + version = "1.8.5"; src = fetchFromGitHub { owner = "jvm-profiling-tools"; repo = "async-profiler"; rev = "v${version}"; - sha256 = "sha256-R/TFElytq3mBG+jKjb7XlFUqpXBpSZGfbscUdg2vevE="; + sha256 = "sha256-vSBueRNraMgLcaprPsBUriX3WZ7N0UrllnSVLL2F738="; }; buildInputs = [ jdk8 ]; diff --git a/pkgs/development/tools/bazel-kazel/default.nix b/pkgs/development/tools/bazel-kazel/default.nix index 39379924178..abb32b3ba51 100644 --- a/pkgs/development/tools/bazel-kazel/default.nix +++ b/pkgs/development/tools/bazel-kazel/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "bazel-kazel"; - version = "0.2.1"; + version = "0.2.2"; src = fetchFromGitHub { owner = "kubernetes"; repo = "repo-infra"; rev = "v${version}"; - sha256 = "sha256-g7jfuWe4UeAbNf+kOa0Y9BamUnGEbOGxZ+KdQWdWl48="; + sha256 = "sha256-EfK8uJQvZkB5V/SGOLRznAFGsgVGwFv6MWkLPWePYvM="; }; vendorSha256 = "sha256-1+7Mx1Zh1WolqTpWNe560PRzRYaWVUVLvNvUOysaW5I="; diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix index 441254ce263..e181917c417 100644 --- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix +++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix @@ -1,19 +1,23 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { +buildGoModule rec { pname = "bazel-buildtools"; - version = "3.5.0"; - - goPackagePath = "github.com/bazelbuild/buildtools"; + version = "4.0.1"; src = fetchFromGitHub { owner = "bazelbuild"; repo = "buildtools"; rev = version; - sha256 = "179k0kwh7i2azkhk8dw7ac50a05q7n3i29pqaf69yw7jrpbf8k85"; + sha256 = "0q7b9zh38vblqs5lwhjk28km89p706aky4wv6bwz2vg9gl6bfclq"; }; - goDeps = ./deps.nix; + vendorSha256 = "1w6i1lb72mfdyb901gpl9yc6ql73j5kik6li0j5jv5ab2m3j9qvf"; + + preBuild = '' + rm -r warn/docs + ''; + + doCheck = false; excludedPackages = [ "generatetables" ]; diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix b/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix deleted file mode 100644 index a64f96d2c07..00000000000 --- a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - goPackagePath = "github.com/golang/protobuf"; - fetch = { - type = "git"; - url = "https://github.com/golang/protobuf"; - rev = "84668698ea25b64748563aa20726db66a6b8d299"; - sha256 = "1gkd1942vk9n8kfzdwy1iil6wgvlwjq7a3y5jc49ck4lz9rhmgkq"; - }; - } - { - goPackagePath = "go.starlark.net"; - fetch = { - type = "git"; - url = "https://github.com/google/starlark-go"; - rev = "6677ee5c7211380ec7e6a1b50dc45287e40ca9e1"; - sha256 = "1dl8q1lwvmm38w2lzfwray2djdcq40z89yy6vzy387w0xrax0jj0"; - }; - } -] diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix index 0be4faf0ed8..9085be14284 100644 --- a/pkgs/development/tools/cloud-nuke/default.nix +++ b/pkgs/development/tools/cloud-nuke/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "cloud-nuke"; - version = "0.1.27"; + version = "0.1.28"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = pname; rev = "v${version}"; - sha256 = "1708g8msv5cw0b4gljyjqns328wbci3p3avwysms4aknm4vky0g0"; + sha256 = "sha256-UssjIix2sFLqau5PMFNDP9XPCSNUdRO6aBixIQNtSy8="; }; - vendorSha256 = "0m7k6k790i06i8a5r8y7787mmikfibbvl7s8xqxygq1f5cpdspd6"; + vendorSha256 = "sha256-pl3dLisu4Oc77kgfuteKbsZaDzrHo1wUigZEkM4081Q="; buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ]; diff --git a/pkgs/development/tools/clpm/default.nix b/pkgs/development/tools/clpm/default.nix index 0dfa99367ac..ae2e1011ae2 100644 --- a/pkgs/development/tools/clpm/default.nix +++ b/pkgs/development/tools/clpm/default.nix @@ -2,7 +2,7 @@ , stdenv , fetchgit , wrapLisp -, sbcl +, sbcl_2_0_9 , openssl }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - (wrapLisp sbcl) + (wrapLisp sbcl_2_0_9) openssl ]; diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix new file mode 100644 index 00000000000..e453a78dec4 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -0,0 +1,265 @@ +{ autoPatchelfHook +, coreutils +, curl +, dotnetCorePackages +, dotnetPackages +, fetchFromGitHub +, fetchurl +, git +, glibc +, icu +, libkrb5 +, lib +, linkFarm +, lttng-ust +, makeWrapper +, nodejs-12_x +, openssl +, stdenv +, zlib +}: +let + pname = "github-actions-runner"; + version = "2.277.1"; + + deps = (import ./deps.nix { inherit fetchurl; }); + nugetPackages = map + (x: { + name = "${x.name}.nupkg"; + path = "${x}"; + }) + deps; + nugetSource = linkFarm "${pname}-${version}-packages" nugetPackages; + + dotnetSdk = dotnetCorePackages.sdk_3_1; + runtimeId = "linux-x64"; + + disabledTest = [ + # Self-updating is patched out, hence this test will fail + "FullyQualifiedName!=GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage" + ] ++ map + # Online tests + (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}") + [ + "DownloadActionFromGraph" + "DownloadActionFromGraph_Legacy" + "NotPullOrBuildImagesMultipleTimes" + "NotPullOrBuildImagesMultipleTimes_Legacy" + "RepositoryActionWithActionYamlFile_DockerHubImage" + "RepositoryActionWithActionYamlFile_DockerHubImage_Legacy" + "RepositoryActionWithActionfileAndDockerfile" + "RepositoryActionWithActionfileAndDockerfile_Legacy" + "RepositoryActionWithActionfile_DockerHubImage" + "RepositoryActionWithActionfile_DockerHubImage_Legacy" + "RepositoryActionWithActionfile_Dockerfile" + "RepositoryActionWithActionfile_Dockerfile_Legacy" + "RepositoryActionWithActionfile_DockerfileRelativePath" + "RepositoryActionWithActionfile_DockerfileRelativePath_Legacy" + "RepositoryActionWithActionfile_Node" + "RepositoryActionWithActionfile_Node_Legacy" + "RepositoryActionWithDockerfile" + "RepositoryActionWithDockerfile_Legacy" + "RepositoryActionWithDockerfileInRelativePath" + "RepositoryActionWithDockerfileInRelativePath_Legacy" + "RepositoryActionWithDockerfilePrepareActions_Repository" + "RepositoryActionWithInvalidWrapperActionfile_Node" + "RepositoryActionWithInvalidWrapperActionfile_Node_Legacy" + "RepositoryActionWithWrapperActionfile_PreSteps" + "RepositoryActionWithWrapperActionfile_PreSteps_Legacy" + ] ++ map + (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.DotnetsdkDownloadScriptL0.${x}") + [ + "EnsureDotnetsdkBashDownloadScriptUpToDate" + "EnsureDotnetsdkPowershellDownloadScriptUpToDate" + ]; + testFilterXml = lib.concatStringsSep "&" disabledTest; +in +stdenv.mkDerivation rec { + inherit pname version; + + src = fetchFromGitHub { + owner = "actions"; + repo = "runner"; + rev = "183a3dd9a0d4d51feddc5fe9fa6c3b5f8b08343d"; # v${version} + sha256 = "sha256-fQH4QwdR8E76ckUjMCaKOsDjNoVBIWAw2YcFRrVucX8="; + }; + + nativeBuildInputs = [ + dotnetSdk + dotnetPackages.Nuget + makeWrapper + autoPatchelfHook + ]; + + buildInputs = [ + curl # libcurl.so.4 + libkrb5 # libgssapi_krb5.so.2 + lttng-ust # liblttng-ust.so.0 + stdenv.cc.cc.lib # libstdc++.so.6 + zlib # libz.so.1 + icu + ]; + + patches = [ + # Don't run Git, no restore on build/test + ./patches/dir-proj.patch + # Replace some paths that originally point to Nix's read-only store + ./patches/host-context-dirs.patch + # Use GetDirectory() to obtain "diag" dir + ./patches/use-get-directory-for-diag.patch + # Don't try to install systemd service + ./patches/dont-install-systemd-service.patch + # Don't try to self-update runner (cannot be disabled, see https://github.com/actions/runner/issues/485) + ./patches/ignore-self-update.patch + ]; + + postPatch = '' + # Relax the version requirement + substituteInPlace src/global.json \ + --replace '3.1.302' '${dotnetSdk.version}' + + # Disable specific tests + substituteInPlace src/dir.proj \ + --replace 'dotnet test Test/Test.csproj' \ + "dotnet test Test/Test.csproj --filter '${testFilterXml}'" + + # Fix FHS path + substituteInPlace src/Test/L0/Util/IOUtilL0.cs \ + --replace '/bin/ln' '${coreutils}/bin/ln' + ''; + + configurePhase = '' + runHook preConfigure + + # Set up Nuget dependencies + export HOME=$(mktemp -d) + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_NOLOGO=1 + + # Never use nuget.org + nuget sources Disable -Name "nuget.org" + + # Restore the dependencies + dotnet restore src/ActionsRunner.sln \ + --runtime "${runtimeId}" \ + --source "${nugetSource}" + + runHook postConfigure + ''; + + postConfigure = '' + # `crossgen` dependency is called during build + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \ + $HOME/.nuget/packages/microsoft.netcore.app.runtime.${runtimeId}/*/tools/crossgen + ''; + + buildPhase = '' + runHook preBuild + + dotnet msbuild \ + -t:Build \ + -p:PackageRuntime="${runtimeId}" \ + -p:BUILDCONFIG="Release" \ + -p:RunnerVersion="${version}" \ + -p:GitInfoCommitHash="${src.rev}" \ + src/dir.proj + + runHook postBuild + ''; + + doCheck = true; + + checkInputs = [ git ]; + + checkPhase = '' + runHook preCheck + + mkdir -p _layout/externals + ln -s ${nodejs-12_x} _layout/externals/node12 + + # BUILDCONFIG needs to be "Debug" + dotnet msbuild \ + -t:test \ + -p:PackageRuntime="${runtimeId}" \ + -p:BUILDCONFIG="Debug" \ + -p:RunnerVersion="${version}" \ + -p:GitInfoCommitHash="${src.rev}" \ + src/dir.proj + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + # Copy the built binaries to lib/ instead of bin/ as they + # have to be wrapped in the fixup phase to work + mkdir -p $out/lib + cp -r _layout/bin/. $out/lib/ + + # Delete debugging files + find "$out/lib" -type f -name '*.pdb' -delete + + # Install the helper scripts to bin/ to resemble the upstream package + mkdir -p $out/bin + install -m755 src/Misc/layoutbin/runsvc.sh $out/bin/ + install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/ + install -m755 src/Misc/layoutroot/run.sh $out/lib/ + install -m755 src/Misc/layoutroot/config.sh $out/lib/ + install -m755 src/Misc/layoutroot/env.sh $out/lib/ + + # Rewrite reference in helper scripts from bin/ to lib/ + substituteInPlace $out/lib/run.sh --replace '"$DIR"/bin' "$out/lib" + substituteInPlace $out/lib/config.sh --replace './bin' "$out/lib" + + # Make paths absolute + substituteInPlace $out/bin/runsvc.sh \ + --replace './externals' "$out/externals" \ + --replace './bin' "$out/lib" + + # The upstream package includes Node 12 and expects it at the path + # externals/node12. As opposed to the official releases, we don't + # link the Alpine Node flavor. + mkdir -p $out/externals + ln -s ${nodejs-12_x} $out/externals/node12 + + runHook postInstall + ''; + + # Stripping breaks the binaries + dontStrip = true; + + postFixup = '' + fix_rpath() { + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/lib/$1 + } + + wrap() { + makeWrapper $out/lib/$1 $out/bin/$1 \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (buildInputs ++ [ openssl ])} \ + ''${@:2} + } + + fix_rpath Runner.Listener + fix_rpath Runner.PluginHost + fix_rpath Runner.Worker + + wrap Runner.Listener + wrap Runner.PluginHost + wrap Runner.Worker + wrap run.sh + wrap env.sh + + wrap config.sh --prefix PATH : ${lib.makeBinPath [ glibc.bin ]} + ''; + + meta = with lib; { + description = "Self-hosted runner for GitHub Actions"; + homepage = "https://github.com/actions/runner"; + license = licenses.mit; + maintainers = with maintainers; [ veehaitch ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/pkgs/development/tools/continuous-integration/github-runner/deps.nix new file mode 100644 index 00000000000..a556a83aa49 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/deps.nix @@ -0,0 +1,1217 @@ +{ fetchurl }: +let + fetchNuGet = { name, version, sha256 }: fetchurl { + inherit sha256; + name = "${name}.${version}"; + url = "https://www.nuget.org/api/v2/package/${name}/${version}"; + }; +in +[ + + (fetchNuGet { + name = "Castle.Core"; + version = "4.4.0"; + sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; + }) + + (fetchNuGet { + name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "3.1.8"; + sha256 = "140zr3nwkmf6xc52gq4iz6ycyh95fxy0jpgn637pkd9z423z8135"; + }) + + (fetchNuGet { + name = "Microsoft.AspNet.WebApi.Client"; + version = "5.2.4"; + sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj"; + }) + + (fetchNuGet { + name = "Microsoft.IdentityModel.Logging"; + version = "5.2.1"; + sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g"; + }) + + (fetchNuGet { + name = "Microsoft.IdentityModel.Tokens"; + version = "5.2.1"; + sha256 = "03v6145vr1winq8xxfikydicds4f10qmy1ybyz2gfimnzzx51w00"; + }) + + (fetchNuGet { + name = "Microsoft.NetCore.App.Runtime.linux-x64"; + version = "3.1.8"; + sha256 = "1bv9n9wzsqf9g8h6z10p61xkcx8ad4nnip83qv8yyfvhr4kdmbsa"; + }) + + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "2.0.0"; + sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; + }) + + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + + (fetchNuGet { + name = "Microsoft.NET.Test.Sdk"; + version = "15.0.0"; + sha256 = "1ca9v53dphsgk22spilfwq1hjzp2sgrrj85v7hd7wfc6gjh31mb5"; + }) + + (fetchNuGet { + name = "Microsoft.TestPlatform.ObjectModel"; + version = "15.0.0"; + sha256 = "0xqssz2y8jzqph6kv1fzy00wzjcnc2whhlf8jsszgpn69ld7f1rb"; + }) + + (fetchNuGet { + name = "Microsoft.TestPlatform.TestHost"; + version = "15.0.0"; + sha256 = "1mi59wxwdqyzmkan0v9qrar96f50xs6k38xzv3l6ky859si2qk4b"; + }) + + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; + }) + + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.0.0"; + sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k"; + }) + + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.4.0"; + sha256 = "088j2anh1rnkxdcycw5kgp97ahk7cj741y6kask84880835arsb6"; + }) + + (fetchNuGet { + name = "Minimatch"; + version = "2.0.0"; + sha256 = "1k84q1bz1qq2nh35nip8vmi65wixsh5y7piln5b4n172xzhfqvx0"; + }) + + (fetchNuGet { + name = "Moq"; + version = "4.11.0"; + sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w"; + }) + + (fetchNuGet { + name = "NETStandard.Library"; + version = "1.6.0"; + sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; + }) + + (fetchNuGet { + name = "NETStandard.Library"; + version = "1.6.1"; + sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; + }) + + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "10.0.1"; + sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; + }) + + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "11.0.2"; + sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; + }) + + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "9.0.1"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }) + + (fetchNuGet { + name = "Newtonsoft.Json.Bson"; + version = "1.0.1"; + sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; + }) + + (fetchNuGet { + name = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + + (fetchNuGet { + name = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; + }) + + (fetchNuGet { + name = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + + (fetchNuGet { + name = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + + (fetchNuGet { + name = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + + (fetchNuGet { + name = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + + (fetchNuGet { + name = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + + (fetchNuGet { + name = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; + }) + + (fetchNuGet { + name = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + + (fetchNuGet { + name = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + + (fetchNuGet { + name = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + + (fetchNuGet { + name = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + + (fetchNuGet { + name = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + + (fetchNuGet { + name = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + + (fetchNuGet { + name = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + + (fetchNuGet { + name = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + + (fetchNuGet { + name = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; + }) + + (fetchNuGet { + name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + + (fetchNuGet { + name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + + (fetchNuGet { + name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + + (fetchNuGet { + name = "runtime.native.System"; + version = "4.0.0"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }) + + (fetchNuGet { + name = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + + (fetchNuGet { + name = "runtime.native.System.IO.Compression"; + version = "4.3.0"; + sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; + }) + + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.3.0"; + sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; + }) + + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; + }) + + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + + (fetchNuGet { + name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + + (fetchNuGet { + name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; + version = "4.3.0"; + sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; + }) + + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + + (fetchNuGet { + name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + + (fetchNuGet { + name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + + (fetchNuGet { + name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + + (fetchNuGet { + name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + + (fetchNuGet { + name = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + + (fetchNuGet { + name = "runtime.unix.System.Console"; + version = "4.3.0"; + sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; + }) + + (fetchNuGet { + name = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + + (fetchNuGet { + name = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + + (fetchNuGet { + name = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + + (fetchNuGet { + name = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; + }) + + (fetchNuGet { + name = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + + (fetchNuGet { + name = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + + (fetchNuGet { + name = "Sdk"; + version = "1.0.0"; + sha256 = "0425gviagj8xl8mwl4bwn1v98j7407sdk78xgxk37z62vgcgs73w"; + }) + + (fetchNuGet { + name = "System.AppContext"; + version = "4.3.0"; + sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; + }) + + (fetchNuGet { + name = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + + (fetchNuGet { + name = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + + (fetchNuGet { + name = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.3.0"; + sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; + }) + + (fetchNuGet { + name = "System.Collections.Immutable"; + version = "1.2.0"; + sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m"; + }) + + (fetchNuGet { + name = "System.Collections.NonGeneric"; + version = "4.3.0"; + sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; + }) + + (fetchNuGet { + name = "System.Collections.Specialized"; + version = "4.3.0"; + sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; + }) + + (fetchNuGet { + name = "System.ComponentModel"; + version = "4.3.0"; + sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; + }) + + (fetchNuGet { + name = "System.ComponentModel.EventBasedAsync"; + version = "4.0.11"; + sha256 = "07r5i7xwban347nsfw28hhjwpr78ywksjyhywvhj1yr0s7sr00wh"; + }) + + (fetchNuGet { + name = "System.ComponentModel.Primitives"; + version = "4.3.0"; + sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; + }) + + (fetchNuGet { + name = "System.ComponentModel.TypeConverter"; + version = "4.1.0"; + sha256 = "178cva9p1cs043h5n2fry5xkzr3wc9n0hwbxa8m3ymld9m6wcv0y"; + }) + + (fetchNuGet { + name = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; + }) + + (fetchNuGet { + name = "System.Console"; + version = "4.3.0"; + sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; + }) + + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.3.0"; + sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; + }) + + (fetchNuGet { + name = "System.Diagnostics.Process"; + version = "4.1.0"; + sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s"; + }) + + (fetchNuGet { + name = "System.Diagnostics.TextWriterTraceListener"; + version = "4.0.0"; + sha256 = "1xigiwkwyxak0dhm0p8i2zb7a9syly9cdb5s9zkr9rbad4f2fqhs"; + }) + + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; + }) + + (fetchNuGet { + name = "System.Diagnostics.TraceSource"; + version = "4.0.0"; + sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h"; + }) + + (fetchNuGet { + name = "System.Diagnostics.TraceSource"; + version = "4.3.0"; + sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; + }) + + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + }) + + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.3.0"; + sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; + }) + + (fetchNuGet { + name = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + + (fetchNuGet { + name = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; + }) + + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + + (fetchNuGet { + name = "System.IdentityModel.Tokens.Jwt"; + version = "5.2.1"; + sha256 = "08n1z9ngsi26qlhwpjzxafhwl3p279widfci64l2ahxf1gprfqsx"; + }) + + (fetchNuGet { + name = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + + (fetchNuGet { + name = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + + (fetchNuGet { + name = "System.IO.Compression"; + version = "4.3.0"; + sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; + }) + + (fetchNuGet { + name = "System.IO.Compression.ZipFile"; + version = "4.3.0"; + sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; + }) + + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + + (fetchNuGet { + name = "System.IO.FileSystem.AccessControl"; + version = "4.4.0"; + sha256 = "11sna2bv5ai4sivrs7g2gp7g0yjp02s0kasl01j3fa1cvnwwvgkv"; + }) + + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + + (fetchNuGet { + name = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + + (fetchNuGet { + name = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.3.0"; + sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; + }) + + (fetchNuGet { + name = "System.Net.Http"; + version = "4.3.0"; + sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; + }) + + (fetchNuGet { + name = "System.Net.NameResolution"; + version = "4.3.0"; + sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; + }) + + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; + }) + + (fetchNuGet { + name = "System.Net.Sockets"; + version = "4.3.0"; + sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; + }) + + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.3.0"; + sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; + }) + + (fetchNuGet { + name = "System.Private.DataContractSerialization"; + version = "4.1.1"; + sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r"; + }) + + (fetchNuGet { + name = "System.Private.DataContractSerialization"; + version = "4.3.0"; + sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw"; + }) + + (fetchNuGet { + name = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + + (fetchNuGet { + name = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + + (fetchNuGet { + name = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + + (fetchNuGet { + name = "System.Reflection.Metadata"; + version = "1.3.0"; + sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b"; + }) + + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.4.0"; + sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h"; + }) + + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + + (fetchNuGet { + name = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + + (fetchNuGet { + name = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; + }) + + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; + }) + + (fetchNuGet { + name = "System.Runtime.Loader"; + version = "4.0.0"; + sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0"; + }) + + (fetchNuGet { + name = "System.Runtime.Loader"; + version = "4.3.0"; + sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; + }) + + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.3.0"; + sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; + }) + + (fetchNuGet { + name = "System.Runtime.Serialization.Json"; + version = "4.0.2"; + sha256 = "08ypbzs0sb302ga04ds5b2wxa2gg0q50zpa0nvc87ipjhs0v66dn"; + }) + + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.3.0"; + sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; + }) + + (fetchNuGet { + name = "System.Runtime.Serialization.Xml"; + version = "4.3.0"; + sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni"; + }) + + (fetchNuGet { + name = "System.Security.AccessControl"; + version = "4.4.0"; + sha256 = "0ixqw47krkazsw0ycm22ivkv7dpg6cjz8z8g0ii44bsx4l8gcx17"; + }) + + (fetchNuGet { + name = "System.Security.Claims"; + version = "4.3.0"; + sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.3.0"; + sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.3.0"; + sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.4.0"; + sha256 = "1grg9id80m358crr5y4q4rhhbrm122yw8jrlcl1ybi7nkmmck40n"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.3.0"; + sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.3.0"; + sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Pkcs"; + version = "4.4.0"; + sha256 = "1bn7d2czpc994qzdph4drv7p1cv4x55j2dhbmr113p0gs4hx33zh"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.3.0"; + sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.ProtectedData"; + version = "4.4.0"; + sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; + }) + + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.3.0"; + sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; + }) + + (fetchNuGet { + name = "System.Security.Principal"; + version = "4.3.0"; + sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; + }) + + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.3.0"; + sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; + }) + + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.4.0"; + sha256 = "11rr16fp68apc0arsymgj18w8ajs9a4366wgx9iqwny4glrl20wp"; + }) + + (fetchNuGet { + name = "System.ServiceProcess.ServiceController"; + version = "4.4.0"; + sha256 = "0hyijvysbcjh20mbbgajg9wh04nkjd6y5lqxgm0a6m28zjcjshl6"; + }) + + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + + (fetchNuGet { + name = "System.Text.Encoding.CodePages"; + version = "4.4.0"; + sha256 = "07bzjnflxjk9vgpljfybrpqmvsr9qr2f20nq5wf11imwa5pbhgfc"; + }) + + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.3.0"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }) + + (fetchNuGet { + name = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + + (fetchNuGet { + name = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + + (fetchNuGet { + name = "System.Threading.Channels"; + version = "4.5.0"; + sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz"; + }) + + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }) + + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.5.1"; + sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw"; + }) + + (fetchNuGet { + name = "System.Threading.Thread"; + version = "4.0.0"; + sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; + }) + + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.0.10"; + sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx"; + }) + + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.3.0"; + sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; + }) + + (fetchNuGet { + name = "System.Threading.Timer"; + version = "4.3.0"; + sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; + }) + + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.3.0"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }) + + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.3.0"; + sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; + }) + + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.0.1"; + sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1"; + }) + + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.3.0"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }) + + (fetchNuGet { + name = "System.Xml.XmlSerializer"; + version = "4.3.0"; + sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; + }) + + (fetchNuGet { + name = "System.Xml.XPath"; + version = "4.0.1"; + sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m"; + }) + + (fetchNuGet { + name = "System.Xml.XPath.XmlDocument"; + version = "4.0.1"; + sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc"; + }) + + (fetchNuGet { + name = "xunit"; + version = "2.4.1"; + sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; + }) + + (fetchNuGet { + name = "xunit.abstractions"; + version = "2.0.3"; + sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; + }) + + (fetchNuGet { + name = "xunit.analyzers"; + version = "0.10.0"; + sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; + }) + + (fetchNuGet { + name = "xunit.assert"; + version = "2.4.1"; + sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; + }) + + (fetchNuGet { + name = "xunit.core"; + version = "2.4.1"; + sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; + }) + + (fetchNuGet { + name = "xunit.extensibility.core"; + version = "2.4.1"; + sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; + }) + + (fetchNuGet { + name = "xunit.extensibility.execution"; + version = "2.4.1"; + sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; + }) + + (fetchNuGet { + name = "xunit.runner.visualstudio"; + version = "2.4.1"; + sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn"; + }) + + (fetchNuGet { + name = "YamlDotNet.Signed"; + version = "5.3.0"; + sha256 = "1gnp5aa2zzg7v61bbn2ra1npy0p07szp5w8vqk44fdj3fcvrdxib"; + }) + +] diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch new file mode 100644 index 00000000000..9a75b12544a --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch @@ -0,0 +1,53 @@ +From 4267ee7fa5169b4fd5ce732118769e559806a390 Mon Sep 17 00:00:00 2001 +From: Vincent Haupert +Date: Sat, 13 Mar 2021 21:52:03 +0100 +Subject: [PATCH] Patch dir.proj + +Don't execute Git for GitInfoCommitHash property +Don't restore for build target +Don't restore for test target +--- + src/dir.proj | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/src/dir.proj b/src/dir.proj +index 1c91e0c..8b27d3f 100644 +--- a/src/dir.proj ++++ b/src/dir.proj +@@ -2,9 +2,6 @@ + + +- +- +- + + + +@@ -39,14 +36,13 @@ + + + +- + + + + + +- +- ++ ++ + + + +@@ -84,4 +80,4 @@ + + + +- +\ No newline at end of file ++ +-- +2.30.1 + diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch new file mode 100644 index 00000000000..6279a4ecb4b --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch @@ -0,0 +1,15 @@ +diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs +index 8d08b06..bdfa3a2 100644 +--- a/src/Runner.Listener/Configuration/ConfigurationManager.cs ++++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs +@@ -320,10 +320,6 @@ namespace GitHub.Runner.Listener.Configuration + serviceControlManager.ConfigureService(runnerSettings, command); + } + +-#elif OS_LINUX || OS_OSX +- // generate service config script for OSX and Linux, GenerateScripts() will no-opt on windows. +- var serviceControlManager = HostContext.GetService(); +- serviceControlManager.GenerateScripts(runnerSettings); + #endif + } + diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch new file mode 100644 index 00000000000..662ad9676da --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch @@ -0,0 +1,20 @@ +diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs +index d4ea48c..2ec8455 100644 +--- a/src/Runner.Common/HostContext.cs ++++ b/src/Runner.Common/HostContext.cs +@@ -220,12 +220,13 @@ namespace GitHub.Runner.Common + + case WellKnownDirectory.Externals: + path = Path.Combine( +- GetDirectory(WellKnownDirectory.Root), ++ new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName, + Constants.Path.ExternalsDirectory); + break; + + case WellKnownDirectory.Root: +- path = new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName; ++ path = Environment.GetEnvironmentVariable("RUNNER_ROOT") ++ ?? new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName; + break; + + case WellKnownDirectory.Temp: diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch new file mode 100644 index 00000000000..b505bbc7503 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch @@ -0,0 +1,24 @@ +diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs +index 68b0b4e..5da21fe 100644 +--- a/src/Runner.Listener/Runner.cs ++++ b/src/Runner.Listener/Runner.cs +@@ -391,18 +391,7 @@ namespace GitHub.Runner.Listener + HostContext.WritePerfCounter($"MessageReceived_{message.MessageType}"); + if (string.Equals(message.MessageType, AgentRefreshMessage.MessageType, StringComparison.OrdinalIgnoreCase)) + { +- if (autoUpdateInProgress == false) +- { +- autoUpdateInProgress = true; +- var runnerUpdateMessage = JsonUtility.FromString(message.Body); +- var selfUpdater = HostContext.GetService(); +- selfUpdateTask = selfUpdater.SelfUpdate(runnerUpdateMessage, jobDispatcher, !runOnce && HostContext.StartupType != StartupType.Service, HostContext.RunnerShutdownToken); +- Trace.Info("Refresh message received, kick-off selfupdate background process."); +- } +- else +- { +- Trace.Info("Refresh message received, skip autoupdate since a previous autoupdate is already running."); +- } ++ Trace.Info("Ignoring received refresh message (would trigger self-update)."); + } + else if (string.Equals(message.MessageType, JobRequestMessageTypes.PipelineAgentJobRequest, StringComparison.OrdinalIgnoreCase)) + { diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch new file mode 100644 index 00000000000..ff91bcff158 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch @@ -0,0 +1,25 @@ +diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs +index d4ea48c..15c1800 100644 +--- a/src/Runner.Common/HostContext.cs ++++ b/src/Runner.Common/HostContext.cs +@@ -109,7 +109,7 @@ namespace GitHub.Runner.Common + } + + // this should give us _diag folder under runner root directory +- string diagLogDirectory = Path.Combine(new DirectoryInfo(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)).Parent.FullName, Constants.Path.DiagDirectory); ++ string diagLogDirectory = GetDirectory(WellKnownDirectory.Diag); + _traceManager = new TraceManager(new HostTraceListener(diagLogDirectory, hostType, logPageSize, logRetentionDays), this.SecretMasker); + } + else +@@ -272,7 +272,10 @@ namespace GitHub.Runner.Common + throw new NotSupportedException($"Unexpected well known directory: '{directory}'"); + } + +- _trace.Info($"Well known directory '{directory}': '{path}'"); ++ if (_trace != null) ++ { ++ _trace.Info($"Well known directory '{directory}': '{path}'"); ++ } + return path; + } + diff --git a/pkgs/development/tools/database/dbmate/default.nix b/pkgs/development/tools/database/dbmate/default.nix index 6634c2b6384..0e4609a1fa2 100644 --- a/pkgs/development/tools/database/dbmate/default.nix +++ b/pkgs/development/tools/database/dbmate/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "dbmate"; - version = "1.11.0"; + version = "1.12.0"; src = fetchFromGitHub { owner = "amacneil"; repo = "dbmate"; rev = "v${version}"; - sha256 = "1q1hyrd1zlynyb0720fd1lwg22l3bwjbcak2aplh259p698gwyf5"; + sha256 = "sha256-Kk8CtGw1lGNky2CUjaedh0IcDooaxWkeEnaYl/5jSTc="; }; - vendorSha256 = "197zpjvvv9xpfbw443kbxvhjmjqmx1h2bj1xl2vwgf0w64mkk84z"; + vendorSha256 = "sha256-Qe3fwyEf/NiGmUSha/zZHRBR1okw2vE97u7tybqiWNI="; doCheck = false; diff --git a/pkgs/development/tools/github-commenter/default.nix b/pkgs/development/tools/github-commenter/default.nix index 05784c47eff..b1c247c70f9 100644 --- a/pkgs/development/tools/github-commenter/default.nix +++ b/pkgs/development/tools/github-commenter/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "github-commenter"; - version = "0.8.0"; + version = "0.9.0"; src = fetchFromGitHub { owner = "cloudposse"; repo = pname; rev = version; - sha256 = "HgiCgyig+49g275G6zZ0kGTxt1TSfFK8kt+SOf4ei74="; + sha256 = "sha256-IBo4FAoYX1FmrmQ9mlyyu1TGLY7dlH7pWalBoRb2puE="; }; - vendorSha256 = "Gw+cR5sA5MGuclcvur8olmRtK04LDP5vKJ5k7yZO3B0="; + vendorSha256 = "sha256-H1SnNG+/ALYs7h/oT8zWBhAXOuCFY0Sto2ATBBZg2ek="; meta = with lib; { description = "Command line utility for creating GitHub comments on Commits, Pull Request Reviews or Issues"; diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix index 3d892378133..9a0fa54fb2d 100644 --- a/pkgs/development/tools/go-toml/default.nix +++ b/pkgs/development/tools/go-toml/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "go-toml"; - version = "1.8.1"; + version = "1.9.0"; src = fetchFromGitHub { owner = "pelletier"; repo = pname; rev = "v${version}"; - sha256 = "1pi1r9ds0vxjza4qrbk52y98wxrzh1ghwzc9c2v1w6i02pdwdcz9"; + sha256 = "sha256-m8VgjfNDxSX6fRG2/gEJlVc9hCnua+o79ttrd8P20kU="; }; goPackagePath = "github.com/pelletier/go-toml"; diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix index de3672df3d9..dfef3906602 100644 --- a/pkgs/development/tools/jbang/default.nix +++ b/pkgs/development/tools/jbang/default.nix @@ -1,12 +1,12 @@ { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }: stdenv.mkDerivation rec { - version = "0.69.2"; + version = "0.70.0"; pname = "jbang"; src = fetchzip { url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar"; - sha256 = "sha256-MsVmsZOupkJWGyoTxxQavcO78X4MMuIqJXaPSbd/Tgg="; + sha256 = "sha256-Fy7TvWJVRJI5fhfZzMuW+KBLaVLWKjk/I3Kx60Wazyo="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix index 1d8e4115309..cd0fb4a3330 100644 --- a/pkgs/development/tools/lazygit/default.nix +++ b/pkgs/development/tools/lazygit/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "lazygit"; - version = "0.26.1"; + version = "0.27.3"; src = fetchFromGitHub { owner = "jesseduffield"; repo = pname; rev = "v${version}"; - sha256 = "sha256-naTO5cckUfs32z7bm5jGGEuo8db11fnTnQdUDKK2W/I="; + sha256 = "sha256-giHAeD7hhda9YV+NQuZ6w0eow79egGhUCIX0dPvhrWk="; }; vendorSha256 = null; diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix index 100190b0894..78c99d94c8d 100644 --- a/pkgs/development/tools/metals/default.nix +++ b/pkgs/development/tools/metals/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "metals"; - version = "0.10.0"; + version = "0.10.1"; deps = stdenv.mkDerivation { name = "${pname}-deps-${version}"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { ''; outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1v9br6nad6yhq9y1z4b9z6xdsjrgqh7wlxww7vp7ws28cg85mqyg"; + outputHash = "0z4ddnwx510hnx6w72fxmksmnwxg8p2nqxg7i7xix24gykgmgj5a"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix index 0cf98d651c5..4128118decf 100644 --- a/pkgs/development/tools/misc/ccache/default.nix +++ b/pkgs/development/tools/misc/ccache/default.nix @@ -13,19 +13,29 @@ let ccache = stdenv.mkDerivation rec { pname = "ccache"; - version = "4.2"; + version = "4.2.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "1lr9804xyzbs72f9jbbzy1fjqxwrwpb4rp431wqialvms4251d8f"; + hash = "sha256-AmgJpW7AGCSggbHp1fLO5yhXS9LIm7O77nQdDERJYAA="; }; - patches = lib.optional stdenv.isDarwin (substituteAll { - src = ./force-objdump-on-darwin.patch; - objdump = "${binutils.bintools}/bin/objdump"; - }); + patches = [ + # test/run use compgen to get environment variable names, but + # compgen isn't available in non-interactive bash. + ./env-instead-of-compgen.patch + + # When building for Darwin, test/run uses dwarfdump, whereas on + # Linux it uses objdump. We don't have dwarfdump packaged for + # Darwin, so this patch updates the test to also use objdump on + # Darwin. + (substituteAll { + src = ./force-objdump-on-darwin.patch; + objdump = "${binutils.bintools}/bin/objdump"; + }) + ]; nativeBuildInputs = [ asciidoc cmake perl ]; @@ -38,7 +48,7 @@ let ccache = stdenv.mkDerivation rec { checkPhase = '' export HOME=$(mktemp -d) ctest --output-on-failure ${lib.optionalString stdenv.isDarwin '' - -E '^(test.nocpp2|test.modules)$' + -E '^(test.nocpp2|test.basedir|test.multi_arch)$' ''} ''; diff --git a/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch b/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch new file mode 100644 index 00000000000..313de0fa58c --- /dev/null +++ b/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch @@ -0,0 +1,18 @@ +diff --git a/test/run b/test/run +index cbdd98f0..bc930200 100755 +--- a/test/run ++++ b/test/run +@@ -346,11 +346,11 @@ expect_perm() { + } + + reset_environment() { +- while IFS= read -r name; do ++ while IFS='=' read -r name value; do + if [[ $name =~ ^CCACHE_[A-Z0-9_]*$ ]]; then + unset $name + fi +- done < <(compgen -e) ++ done < <(env) + + unset GCC_COLORS + unset TERM diff --git a/pkgs/development/tools/misc/openfpgaloader/default.nix b/pkgs/development/tools/misc/openfpgaloader/default.nix index 9537e11e112..1e3b3469dca 100644 --- a/pkgs/development/tools/misc/openfpgaloader/default.nix +++ b/pkgs/development/tools/misc/openfpgaloader/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "openfpgaloader"; - version = "0.2.5"; + version = "0.2.6"; src = fetchFromGitHub { owner = "trabucayre"; repo = "openFPGALoader"; rev = "v${version}"; - sha256 = "sha256-Qbw+vmpxiZXTGM0JwpS5mGzcsSJNegsvmncm+cOVrVE="; + sha256 = "sha256-OWRMWNOPm6flgeTKYWYE+LcG3HW6i8s2NQ1dr/oeOEw="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/tools/misc/usbsdmux/default.nix b/pkgs/development/tools/misc/usbsdmux/default.nix index 59b5dc98239..ed7a6d8a220 100644 --- a/pkgs/development/tools/misc/usbsdmux/default.nix +++ b/pkgs/development/tools/misc/usbsdmux/default.nix @@ -2,13 +2,16 @@ python3Packages.buildPythonApplication rec { pname = "usbsdmux"; - version = "0.1.8"; + version = "0.2.0"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "0m3d0rs9s5v5hnsjkfybmd8v54gn7rc1dbg5vc48rryhc969pr9f"; + sha256 = "sha256-ydDUSqBTY62iOtWdgrFh2qrO9LMi+OCYIw5reh6uoIA="; }; + # usbsdmux is not meant to be used as an importable module and has no tests + doCheck = false; + meta = with lib; { description = "Control software for the LXA USB-SD-Mux"; homepage = "https://github.com/linux-automation/usbsdmux"; diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix index 675f66dcf47..2d52cda7cbd 100644 --- a/pkgs/development/tools/ocaml/ocp-indent/default.nix +++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix @@ -4,6 +4,8 @@ buildDunePackage rec { version = "1.8.2"; pname = "ocp-indent"; + useDune2 = true; + src = fetchzip { url = "https://github.com/OCamlPro/ocp-indent/archive/${version}.tar.gz"; sha256 = "1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3"; diff --git a/pkgs/development/tools/protoc-gen-twirp/default.nix b/pkgs/development/tools/protoc-gen-twirp/default.nix index ae92a105503..6ca016f8e6b 100644 --- a/pkgs/development/tools/protoc-gen-twirp/default.nix +++ b/pkgs/development/tools/protoc-gen-twirp/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "protoc-gen-twirp"; - version = "7.1.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "twitchtv"; repo = "twirp"; rev = "v${version}"; - sha256 = "sha256-GN7akAp0zzS8wVhgXlT1ceFUFKH4Sz74XQ8ofIE8T/k="; + sha256 = "sha256-W7t36F1St0YLPowHaZSboVNnvX7E2Lg5tPWeyeUSabA="; }; goPackagePath = "github.com/twitchtv/twirp"; @@ -18,6 +18,8 @@ buildGoPackage rec { "protoc-gen-twirp_python" ]; + doCheck = true; + meta = with lib; { description = "A simple RPC framework with protobuf service definitions"; homepage = "https://github.com/twitchtv/twirp"; diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix index 73e3cfd3c4c..955df96b228 100644 --- a/pkgs/development/tools/rust/cargo-deny/default.nix +++ b/pkgs/development/tools/rust/cargo-deny/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-deny"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "EmbarkStudios"; repo = pname; rev = version; - sha256 = "sha256-ZjXAZN93ij42WVYSOgvKAzFZ/cZ2RTFKT2sr44j7TVc="; + sha256 = "sha256-v7Gdemn0IeO6lOg/kT6VKuL5ZSOqA9A721Wv5QStO2Q="; }; - cargoSha256 = "sha256-eQv9pFegHTjjjFURiD/yN/srtONAwAH3vwfrSY/LM/Q="; + cargoSha256 = "sha256-SF7LfxmUMX7f+9BmYTzdjTFplXj5j0e181yRVTIEGH4="; doCheck = false; diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix index d8b31810c54..cb10b8196aa 100644 --- a/pkgs/development/tools/rust/rust-analyzer/default.nix +++ b/pkgs/development/tools/rust/rust-analyzer/default.nix @@ -1,16 +1,58 @@ -{ pkgs, callPackage, CoreServices }: +{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake +, libiconv +, useMimalloc ? false +, doCheck ? true +}: -{ - rust-analyzer-unwrapped = callPackage ./generic.nix rec { - rev = "2021-03-22"; - version = "unstable-${rev}"; - sha256 = "sha256-Q8yr5x4+R9UCk5kw/nJgBtGVBeZTDwyuwpyNJUKSPzA="; - cargoSha256 = "sha256-cJ5KPNrX1H4IfHENDGyU2rgxl5TTqvoeXk7558oqwuA="; +let + rev = "2021-04-05"; +in - inherit CoreServices; +rustPlatform.buildRustPackage { + pname = "rust-analyzer-unwrapped"; + version = "unstable-${rev}"; + cargoSha256 = "sha256-kDwdKa08E0h24lOOa7ALeNqHlMjMry/ru1qwCIyKmuE="; + + src = fetchFromGitHub { + owner = "rust-analyzer"; + repo = "rust-analyzer"; + inherit rev; + sha256 = "sha256-ZDxy87F3uz8bTF1/2LIy5r4Nv/M3xe97F7mwJNEFcUs="; }; - rust-analyzer = callPackage ./wrapper.nix {} { - unwrapped = pkgs.rust-analyzer-unwrapped; + buildAndTestSubdir = "crates/rust-analyzer"; + + cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc"; + + nativeBuildInputs = lib.optional useMimalloc cmake; + + buildInputs = lib.optionals stdenv.isDarwin [ + CoreServices + libiconv + ]; + + RUST_ANALYZER_REV = rev; + + inherit doCheck; + preCheck = lib.optionalString doCheck '' + export RUST_SRC_PATH=${rustPlatform.rustLibSrc} + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + versionOutput="$($out/bin/rust-analyzer --version)" + echo "'rust-analyzer --version' returns: $versionOutput" + [[ "$versionOutput" == "rust-analyzer ${rev}" ]] + runHook postInstallCheck + ''; + + passthru.updateScript = ./update.sh; + + meta = with lib; { + description = "An experimental modular compiler frontend for the Rust language"; + homepage = "https://github.com/rust-analyzer/rust-analyzer"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ oxalica ]; }; } diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix deleted file mode 100644 index ddb834af6c3..00000000000 --- a/pkgs/development/tools/rust/rust-analyzer/generic.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake -, libiconv -, useMimalloc ? false -, doCheck ? true - -# Version specific args -, rev, version, sha256, cargoSha256 -}: - -rustPlatform.buildRustPackage { - pname = "rust-analyzer-unwrapped"; - inherit version cargoSha256; - - src = fetchFromGitHub { - owner = "rust-analyzer"; - repo = "rust-analyzer"; - inherit rev sha256; - }; - - buildAndTestSubdir = "crates/rust-analyzer"; - - cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc"; - - nativeBuildInputs = lib.optional useMimalloc cmake; - - buildInputs = lib.optionals stdenv.isDarwin [ - CoreServices - libiconv - ]; - - RUST_ANALYZER_REV = rev; - - inherit doCheck; - preCheck = lib.optionalString doCheck '' - export RUST_SRC_PATH=${rustPlatform.rustLibSrc} - ''; - - doInstallCheck = true; - installCheckPhase = '' - runHook preInstallCheck - versionOutput="$($out/bin/rust-analyzer --version)" - echo "'rust-analyzer --version' returns: $versionOutput" - [[ "$versionOutput" == "rust-analyzer ${rev}" ]] - runHook postInstallCheck - ''; - - passthru.updateScript = ./update.sh; - - patches = [ ./rust_1_49.patch ]; - - meta = with lib; { - description = "An experimental modular compiler frontend for the Rust language"; - homepage = "https://github.com/rust-analyzer/rust-analyzer"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ oxalica ]; - }; -} diff --git a/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch b/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch deleted file mode 100644 index fcde6d6337e..00000000000 --- a/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs b/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs -index 4e75a7b14..91f51a1a7 100644 ---- a/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs -+++ b/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs -@@ -93,7 +93,7 @@ fn validate_method_call_expr( - let krate = module.krate(); - - let iter_trait = FamousDefs(sema, Some(krate)).core_iter_Iterator()?; -- it_type.impls_trait(sema.db, iter_trait, &[]).then(|| (expr, receiver)) -+ if it_type.impls_trait(sema.db, iter_trait, &[]) { Some((expr, receiver)) } else { None } - } - - #[cfg(test)] diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh index 1bd46862692..185ce70534c 100755 --- a/pkgs/development/tools/rust/rust-analyzer/update.sh +++ b/pkgs/development/tools/rust/rust-analyzer/update.sh @@ -25,7 +25,7 @@ echo "$old_rev -> $rev" sha256=$(nix-prefetch -f "$nixpkgs" rust-analyzer-unwrapped.src --rev "$rev") # Clear cargoSha256 to avoid inconsistency. sed -e "s#rev = \".*\"#rev = \"$rev\"#" \ - -e "s#sha256 = \".*\"#sha256 = \"$sha256\"#" \ + -e "/fetchFromGitHub/,/}/ s#sha256 = \".*\"#sha256 = \"$sha256\"#" \ -e "s#cargoSha256 = \".*\"#cargoSha256 = \"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"#" \ --in-place ./default.nix node_src="$(nix-build "$nixpkgs" -A rust-analyzer.src --no-out-link)/editors/code" diff --git a/pkgs/development/tools/rust/rust-analyzer/wrapper.nix b/pkgs/development/tools/rust/rust-analyzer/wrapper.nix index bed20628182..6fa5207de6e 100644 --- a/pkgs/development/tools/rust/rust-analyzer/wrapper.nix +++ b/pkgs/development/tools/rust/rust-analyzer/wrapper.nix @@ -1,17 +1,15 @@ -{ lib, rustPlatform, runCommandNoCC, makeWrapper }: - -lib.makeOverridable ({ - unwrapped, - pname ? "rust-analyzer", - version ? unwrapped.version, +{ lib, rustPlatform, runCommand, makeWrapper, rust-analyzer-unwrapped +, pname ? "rust-analyzer" +, version ? rust-analyzer-unwrapped.version # Use name from `RUST_SRC_PATH` - rustSrc ? rustPlatform.rustLibSrc, -}: runCommandNoCC "${pname}-${version}" { +, rustSrc ? rustPlatform.rustLibSrc +}: +runCommand "${pname}-${version}" { inherit pname version; - inherit (unwrapped) src meta; + inherit (rust-analyzer-unwrapped) src meta; nativeBuildInputs = [ makeWrapper ]; } '' mkdir -p $out/bin - makeWrapper ${unwrapped}/bin/rust-analyzer $out/bin/rust-analyzer \ + makeWrapper ${rust-analyzer-unwrapped}/bin/rust-analyzer $out/bin/rust-analyzer \ --set-default RUST_SRC_PATH "${rustSrc}" -'') +'' diff --git a/pkgs/development/tools/tf2pulumi/default.nix b/pkgs/development/tools/tf2pulumi/default.nix new file mode 100644 index 00000000000..9dc40913771 --- /dev/null +++ b/pkgs/development/tools/tf2pulumi/default.nix @@ -0,0 +1,28 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "tf2pulumi"; + version = "0.10.0"; + + src = fetchFromGitHub { + owner = "pulumi"; + repo = "tf2pulumi"; + rev = "v${version}"; + sha256 = "199c4hd236mfz9c44rpzpbr3w3fjj8pbw656jd9k3v2igzw942c7"; + }; + + vendorSha256 = "1cwyag67q0361szfjv1cyi51cg1bbmkpy34y33hn53aa55pkm1fw"; + + buildFlagsArray = '' + -ldflags=-s -w -X=github.com/pulumi/tf2pulumi/version.Version=${src.rev} + ''; + + subPackages = [ "." ]; + + meta = with lib; { + description = "Convert Terraform projects to Pulumi TypeScript programs"; + homepage = "https://www.pulumi.com/tf2pulumi/"; + license = licenses.asl20; + maintainers = with maintainers; [ mausch ]; + }; +} diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix index f5677b142e2..54e1646fcae 100644 --- a/pkgs/games/anki/bin.nix +++ b/pkgs/games/anki/bin.nix @@ -3,14 +3,14 @@ let pname = "anki-bin"; # Update hashes for both Linux and Darwin! - version = "2.1.40"; + version = "2.1.43"; unpacked = stdenv.mkDerivation { inherit pname version; src = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2"; - sha256 = "0zcvjm0dv3mjln2npv415yfaa1fykif738qkis52x3pq1by2aiam"; + sha256 = "0kadv3fxi76h7xxmb4lckkgcwiv0b7cn630l62dxa2abxibans29"; }; installPhase = '' @@ -49,7 +49,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // { src = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg"; - sha256 = "14f0sp9h963qix4wa0kg7z8a2nhch9aybv736rm55aqk6mady6vi"; + sha256 = "0vvgiybq1ygq7cly1r4ircgzg2cpprindr7nnlbnrmandjy2kw49"; }; nativeBuildInputs = [ undmg ]; diff --git a/pkgs/games/cdogs-sdl/default.nix b/pkgs/games/cdogs-sdl/default.nix new file mode 100644 index 00000000000..1c35e1e86e7 --- /dev/null +++ b/pkgs/games/cdogs-sdl/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, SDL2 +, SDL2_image +, SDL2_mixer +, cmake +, gtk3-x11 +, python3 +, protobuf +}: + +stdenv.mkDerivation rec { + pname = "cdogs"; + version = "0.11.0"; + + src = fetchFromGitHub { + repo = "cdogs-sdl"; + owner = "cxong"; + rev = version; + sha256 = "sha256-zWwlcEM2KsYiB48cmRTjou0C86SqeoOLrbacCR0SfIA="; + }; + + postPatch = '' + patchShebangs src/proto/nanopb/generator/* + ''; + + cmakeFlags = [ "-DCDOGS_DATA_DIR=${placeholder "out"}/" ]; + + nativeBuildInputs = [ + pkg-config + cmake + (python3.withPackages (pp: with pp; [ pp.protobuf setuptools ])) + ]; + + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + gtk3-x11 + protobuf + ]; + + meta = with lib; { + homepage = "https://cxong.github.io/cdogs-sdl"; + description = "Open source classic overhead run-and-gun game"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ nixinator ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 87e8084399c..a39b9cab359 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchzip, cmake, SDL2, libpng, zlib, xz, freetype, fontconfig, libxdg_basedir +{ lib, stdenv, fetchurl, fetchzip, cmake, SDL2, libpng, zlib, xz, freetype, fontconfig , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true , withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps , writeScriptBin, makeWrapper, runtimeShell @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ SDL2 libpng xz zlib freetype fontconfig libxdg_basedir ] + buildInputs = [ SDL2 libpng xz zlib freetype fontconfig ] ++ lib.optionals withFluidSynth [ fluidsynth soundfont-fluid ]; prefixKey = "--prefix-dir="; diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix index 26eef250c51..2d90dafb28d 100644 --- a/pkgs/games/osu-lazer/default.nix +++ b/pkgs/games/osu-lazer/default.nix @@ -16,13 +16,13 @@ let in stdenv.mkDerivation rec { pname = "osu-lazer"; - version = "2021.323.0"; + version = "2021.331.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - sha256 = "zoJGCsnjvXzPxGy85YsP+WbaN7p8EwcTqiCEX/czMR8="; + sha256 = "dCKBxVDBBhJ7LEawmMOU7PKh0yxmDgVw6PL2F0qA5RU="; }; patches = [ ./bypass-tamper-detection.patch ]; diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix index 79ddcca6557..a956f9efb2e 100644 --- a/pkgs/games/osu-lazer/deps.nix +++ b/pkgs/games/osu-lazer/deps.nix @@ -6,8 +6,8 @@ }) (fetchNuGet { name = "DiffPlex"; - version = "1.6.3"; - sha256 = "0yi72afddddz0s8phx855rnjrga7n51bcma10dc91l0ffcwf5xwz"; + version = "1.7.0"; + sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00"; }) (fetchNuGet { name = "DiscordRichPresence"; @@ -301,79 +301,59 @@ }) (fetchNuGet { name = "Microsoft.AspNetCore.Connections.Abstractions"; - version = "5.0.2"; - sha256 = "0qy4wamhcpxi9aqwq9kivhsj4rvhbch2wfwv11610psygb5457vk"; - }) - (fetchNuGet { - name = "Microsoft.AspNetCore.Connections.Abstractions"; - version = "5.0.3"; - sha256 = "1p4vzsx4q1lx93m2v1iy2z1i2dg2q5s2f6gznw5afbn5rqqqbsff"; + version = "5.0.4"; + sha256 = "002a3cvarwvvyic65khwavjxqsqjlnbgqc11sdyj3li15fxflk5g"; }) (fetchNuGet { name = "Microsoft.AspNetCore.Http.Connections.Client"; - version = "5.0.2"; - sha256 = "0295a87ilrdg43sil5wli74x7jy4apibqdk1fxam8kzj99whl5sk"; + version = "5.0.4"; + sha256 = "1s19hx083c0r98wi6a8gqb3j3xjlrp9rkmvbpdxikzw8z4bnrjpn"; }) (fetchNuGet { name = "Microsoft.AspNetCore.Http.Connections.Common"; - version = "5.0.2"; - sha256 = "094zjf6h5dh87kznmmz7w4s1y37rw52vaz2h4jk4i4ik7hpijd0w"; + version = "5.0.4"; + sha256 = "132ahfq7m369iss4ka402fj24rjdnhia41b94l3l135zplzlsl5n"; }) (fetchNuGet { name = "Microsoft.AspNetCore.Http.Features"; - version = "5.0.2"; - sha256 = "1rprpj1aw9z501rpb9415maqcqnk6pirbdl8yv5n9wpqgcnjizk8"; - }) - (fetchNuGet { - name = "Microsoft.AspNetCore.Http.Features"; - version = "5.0.3"; - sha256 = "0c6c5wpwkprf7a7mp1h10bvi2gg94lkpr3lznzpry3zjb5g7mk84"; + version = "5.0.4"; + sha256 = "064n12ydyngh5q3y597x5cmciib74mpnhkvxicqp0kmgqsixkc7b"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Client"; - version = "5.0.2"; - sha256 = "18pdw4h1j93wzcvlj87jy7n5sxkwlj69nnb7a2qxkc40jvm18ran"; + version = "5.0.4"; + sha256 = "0rpafasicnqng7ylx29hyslwp6g2j1l92szs0n9j98siscap17qg"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Client.Core"; - version = "5.0.2"; - sha256 = "1rg3cpqr3yx5hn233c6cmmiry5v49fglfii7ryi1cf6rwqpdqn5l"; + version = "5.0.4"; + sha256 = "1fwy2akhgphx72hc3rlax08aiaabvm9fi6jfj2r1dyzb2plcgig3"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Common"; - version = "5.0.2"; - sha256 = "1sbwp00hq0ng891wdj6yhah8hr9hw34zvqr1xzs86g3gpmssgcj5"; - }) - (fetchNuGet { - name = "Microsoft.AspNetCore.SignalR.Common"; - version = "5.0.3"; - sha256 = "1g19vkc3g76r2fpjy7c1fkbvbihk9pfmx4wfsgpjflvydmvhqf9m"; + version = "5.0.4"; + sha256 = "1dy00sf695sz842rlvgbyj2krgiqprx8qcdci8lz388rwp17drk2"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.Json"; - version = "5.0.2"; - sha256 = "0p9kv2iayhz8y68r30mhzssv0m087v243ai7aax7jd44rqiv1w5i"; + version = "5.0.4"; + sha256 = "0xp6ihjq835iqiiaxjl501pfplkqhd40kqxkazfj1icryls8hzhq"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; - version = "5.0.3"; - sha256 = "0wf53knadwxyww85wc6m82paj0wdgsq4kbg7a3v95r6vbh4pav45"; + version = "5.0.4"; + sha256 = "1bvy4pvp3kxl75mbgy7saapjcnczylrqhf8ry0s66r12f7bzjki8"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; - version = "5.0.2"; - sha256 = "01wi2q5sjazvax8d4gbcggsr7n801m4cx6jcqljv0r4cmz4y478a"; + version = "5.0.4"; + sha256 = "1gbkgc3cqv7q10k9hrjfj1ixpwx7b4n0x2f7sn9snsh977w7209j"; }) (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; version = "1.0.0"; sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh"; }) - (fetchNuGet { - name = "Microsoft.Bcl.AsyncInterfaces"; - version = "1.1.1"; - sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; - }) (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; @@ -401,18 +381,18 @@ }) (fetchNuGet { name = "Microsoft.CodeAnalysis.Common"; - version = "3.8.0"; - sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; + version = "3.9.0"; + sha256 = "1x6l6kn8iv5gk1545nxs2gwzkb8gj4sb9kryai132l7yg9afjqik"; }) (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp"; - version = "3.8.0"; - sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; + version = "3.9.0"; + sha256 = "0crb9x5rhija8y7b0iya9axcvinz2hv3bgf80bvz7kv6zpbpszkz"; }) (fetchNuGet { name = "Microsoft.CodeAnalysis.CSharp.Workspaces"; - version = "3.8.0"; - sha256 = "1jfbqfngwwjx3x1cyqaamf26s7j6wag86ig1n7bh99ny85gd78wb"; + version = "3.9.0"; + sha256 = "0cvg6lby34cnjg5a84dx7vnkvjkbvm5vd2p61in9frd6vk0pjwpz"; }) (fetchNuGet { name = "Microsoft.CodeAnalysis.NetAnalyzers"; @@ -421,13 +401,13 @@ }) (fetchNuGet { name = "Microsoft.CodeAnalysis.Workspaces.Common"; - version = "3.8.0"; - sha256 = "0qbirv7wxllzw5120pfa42wailfgzvl10373yhacankmfmbz2gnw"; + version = "3.9.0"; + sha256 = "1ibr9k1qf93i7sjml0xhp03is7qqgfj91za9dp4i1w00fjnvyf37"; }) (fetchNuGet { name = "Microsoft.CodeAnalysis.Workspaces.MSBuild"; - version = "3.8.0"; - sha256 = "1ag78ls51s88znv4v004sbklrx3qnbphpdngjq196188a3vljww7"; + version = "3.9.0"; + sha256 = "1p8rgd9b9p49dkar97mjcmahkzvrdghw7m5a6csldx62nlknsc9m"; }) (fetchNuGet { name = "Microsoft.CSharp"; @@ -451,8 +431,8 @@ }) (fetchNuGet { name = "Microsoft.Diagnostics.Runtime"; - version = "2.0.161401"; - sha256 = "02qcm8nv1ch07g8b0i60ynrjn33b8y5ivyk4rxal3vd9zfi6pvwi"; + version = "2.0.217201"; + sha256 = "1r519zbbq13f76kc657wml735h9lcijkyxw6r96akn7cv9vgiwl6"; }) (fetchNuGet { name = "Microsoft.DotNet.PlatformAbstractions"; @@ -571,8 +551,8 @@ }) (fetchNuGet { name = "Microsoft.Extensions.ObjectPool"; - version = "5.0.3"; - sha256 = "1slfc4ncl83dl2g1xm95qb04bkyir26zhvz26lkph1jff0ycx2wb"; + version = "5.0.4"; + sha256 = "07kyqbm7f7k4bv3fa54b826b87z00385pqgjzd4s8l26j6p39rrm"; }) (fetchNuGet { name = "Microsoft.Extensions.Options"; @@ -671,8 +651,8 @@ }) (fetchNuGet { name = "Newtonsoft.Json"; - version = "12.0.3"; - sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x"; + version = "13.0.1"; + sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; }) (fetchNuGet { name = "Newtonsoft.Json"; @@ -681,48 +661,48 @@ }) (fetchNuGet { name = "NuGet.Common"; - version = "5.8.0"; - sha256 = "17l1gqxfcpazadg6wqgwkzg37x8c97sgmk9nr4f9yn3d50zj9hlm"; + version = "5.9.0"; + sha256 = "1j0kk8rgssw920r7h8zfqwzsgvh3y5lalz19d5r07l9r9ngcj5w9"; }) (fetchNuGet { name = "NuGet.Configuration"; - version = "5.8.0"; - sha256 = "02cxqaaxmspv6x0xjwkqr1s0b858cw5gn6lgqa8zhsknnhs6rl41"; + version = "5.9.0"; + sha256 = "16wqjflqvhgq5nqa7ips63hv6wd39171q337gk5wkr9ffpwarrx9"; }) (fetchNuGet { name = "NuGet.DependencyResolver.Core"; - version = "5.8.0"; - sha256 = "0w0hr10gzf0hvh400ybd6h606zal0mi0i1lq5q3yj7kdhy93wb6j"; + version = "5.9.0"; + sha256 = "1f1rcvl86qvix3hibm7xm5wzvwah5pc4ik9mnrgavnwixwkix9nz"; }) (fetchNuGet { name = "NuGet.Frameworks"; - version = "5.8.0"; - sha256 = "16awpn2p8sbzvqpri2hjbjzpnl3ad2klr8d82yd0hrd6s2yyii9j"; + version = "5.9.0"; + sha256 = "099kb0mvglhfv5b0r1ddnkl6mm8l2x5kpmm1kqs5qkchk0a1y0ci"; }) (fetchNuGet { name = "NuGet.LibraryModel"; - version = "5.8.0"; - sha256 = "1fwh6iam6cp9pgz4gqlwj287vfrz8nabmzfmgkbnylrxki0pnwi0"; + version = "5.9.0"; + sha256 = "1m6ym5dld0drpk7lm0i0ss30292rpk80b701n1nakqykfnkfhhfy"; }) (fetchNuGet { name = "NuGet.Packaging"; - version = "5.8.0"; - sha256 = "05ba9aj6hyb5x28c7sn24b7fkzn7g1869x4b2xpbq8r37mfswfw9"; + version = "5.9.0"; + sha256 = "0m0sn823v0lb4h2maxcndvj2k1a0iwwl1yndbhna2ir2lq2fi4px"; }) (fetchNuGet { name = "NuGet.ProjectModel"; - version = "5.8.0"; - sha256 = "1b2brybxg997095b9w2jbgnhadppdrxlkqmwx84dy6snq2blcwhc"; + version = "5.9.0"; + sha256 = "06qdfhxz5bsq2wx7i9dkc2rsr4bkk02mpyq27v6zrz36vyrckwx3"; }) (fetchNuGet { name = "NuGet.Protocol"; - version = "5.8.0"; - sha256 = "151x6b085vsznfsi7ak97086hlc0g3d3mv9xdla974z1qyh6q5a9"; + version = "5.9.0"; + sha256 = "1nvfg1xxpjqbpdmw1xa6m7sbdp19ld442vqh3x4967z6c92wvc4n"; }) (fetchNuGet { name = "NuGet.Versioning"; - version = "5.8.0"; - sha256 = "16awcl6czs6nyhfaf0ixi25flka1y653q4bjmm4rnz3ssi832mi5"; + version = "5.9.0"; + sha256 = "1rby89nx39l533vhk0ikf16dd1d6kjjn4ld8b0y88g2mlnrdgz4m"; }) (fetchNuGet { name = "NUnit"; @@ -731,18 +711,18 @@ }) (fetchNuGet { name = "OpenTabletDriver"; - version = "0.5.2.1"; - sha256 = "0czbgxjkc5ryrnn9hl68wp464p4xp0883517iq87d1f7qb32gppl"; + version = "0.5.2.3"; + sha256 = "1qz5vmdwmfw8glkm6r7n06srcvrz5c3cwld1wv6xw4sagvwf0b6g"; }) (fetchNuGet { name = "OpenTabletDriver.Plugin"; - version = "0.5.2.1"; - sha256 = "199yasnq5dsb5c37vl8vry8lf536gpgclsk402sxdw9lz11xmmqd"; + version = "0.5.2.3"; + sha256 = "0i03n5aydn0rv1v2y9c1cm9a2ss9y7p7l92k1x2yb6mwbx6vkpda"; }) (fetchNuGet { name = "ppy.osu.Framework"; - version = "2021.323.0"; - sha256 = "1gxgvg8r7xsr94wy7rld5c1yd8ssv4iqsp2zdyp5r0qd5l1g09gc"; + version = "2021.330.0"; + sha256 = "01v319nd9szq5z5qq6pa348y1mv93pnhw0vrgbrjwvcs797h7mjl"; }) (fetchNuGet { name = "ppy.osu.Framework.NativeLibs"; @@ -761,8 +741,8 @@ }) (fetchNuGet { name = "ppy.SDL2-CS"; - version = "1.0.53"; - sha256 = "0x52pq6xdg4qcgi8cnqlijifqjpszbi8z4nkmsym0xgd9m5bmd7k"; + version = "1.0.82"; + sha256 = "0hdfih1hjpqxgblwc947inyfhskkj85f061cagf8gdl69xsp2l1b"; }) (fetchNuGet { name = "ppy.squirrel.windows"; @@ -876,8 +856,8 @@ }) (fetchNuGet { name = "Sentry"; - version = "3.0.7"; - sha256 = "1wlfia0ihyx2jd07faz4jqbldxq9bx4hv787xkfk1469h7f2vvwk"; + version = "3.2.0"; + sha256 = "1hhgc4sqd7nampqydpdwfrc04hhqlkbv4p4w8cq6dswp5rf5k89b"; }) (fetchNuGet { name = "SharpCompress"; @@ -1109,6 +1089,11 @@ version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) + (fetchNuGet { + name = "System.Formats.Asn1"; + version = "5.0.0"; + sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; + }) (fetchNuGet { name = "System.Globalization"; version = "4.0.11"; @@ -1199,6 +1184,11 @@ version = "5.0.0"; sha256 = "08l85pi8jy65las973szqdnir2awxp0r16h21c0bgrz19gxhs11n"; }) + (fetchNuGet { + name = "System.IO.Pipelines"; + version = "5.0.0"; + sha256 = "1kdvbzr98sdddm18r3gbsbcxpv58gm1yy3iig8zg9dvp7mli7453"; + }) (fetchNuGet { name = "System.IO.Pipelines"; version = "5.0.1"; @@ -1511,8 +1501,8 @@ }) (fetchNuGet { name = "System.Security.Cryptography.Cng"; - version = "5.0.0-preview.3.20214.6"; - sha256 = "050xx94ki5zmclplfns1v463wlf97ha2knwnxp08vqkgy0bdg1mv"; + version = "5.0.0"; + sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; }) (fetchNuGet { name = "System.Security.Cryptography.Csp"; @@ -1546,8 +1536,8 @@ }) (fetchNuGet { name = "System.Security.Cryptography.Pkcs"; - version = "5.0.0-preview.3.20214.6"; - sha256 = "1q38rzpzhzpc8l75m06g6swq23qbl22ijzd9k76jfq08px3wq09k"; + version = "5.0.0"; + sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; }) (fetchNuGet { name = "System.Security.Cryptography.Primitives"; diff --git a/pkgs/games/r2mod_cli/default.nix b/pkgs/games/r2mod_cli/default.nix index f45dd394862..6a7d12eadb1 100644 --- a/pkgs/games/r2mod_cli/default.nix +++ b/pkgs/games/r2mod_cli/default.nix @@ -1,4 +1,5 @@ { fetchFromGitHub +, bashInteractive , jq , makeWrapper , p7zip @@ -7,15 +8,17 @@ stdenv.mkDerivation rec { pname = "r2mod_cli"; - version = "1.0.6"; + version = "1.0.7"; src = fetchFromGitHub { owner = "Foldex"; repo = "r2mod_cli"; rev = "v${version}"; - sha256 = "0as3nl9qiyf9daf2n78lyish319qclf2gbhr20mdd5wnqmxpk276"; + sha256 = "13n2y9gsgb8hnr64y083x9c90j3b4awcmdn81mqmwcydpby3q848"; }; + buildInputs = [ bashInteractive ]; + nativeBuildInputs = [ makeWrapper ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/misc/deepspeech/default.nix b/pkgs/misc/deepspeech/default.nix new file mode 100644 index 00000000000..eddeea6eb54 --- /dev/null +++ b/pkgs/misc/deepspeech/default.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, fetchurl, autoPatchelfHook }: + +stdenv.mkDerivation rec { + pname = "deepspeech"; + version = "0.9.3"; + + src = fetchurl { + url = "https://github.com/mozilla/DeepSpeech/releases/download/v${version}/native_client.amd64.cpu.linux.tar.xz"; + sha256 = "1qy2gspprcxi76jk06ljp028xl0wkk1m3mqaxyf5qbhhfbvvpfap"; + }; + setSourceRoot = "sourceRoot=`pwd`"; + + nativeBuildInputs = [ + autoPatchelfHook + ]; + + buildInputs = [ + stdenv.cc.cc.lib + ]; + + installPhase = '' + install -D deepspeech $out/bin/deepspeech + install -D deepspeech.h $out/include/deepspeech.h + install -D libdeepspeech.so $out/lib/libdeepspeech.so + ''; + + meta = with lib; { + homepage = https://github.com/mozilla/DeepSpeech; + description = "Open source embedded (offline, on-device) speech-to-text engine, which can run in real time on broad range of devices"; + license = licenses.mpl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ rvolosatovs ]; + }; +} diff --git a/pkgs/misc/emulators/yapesdl/default.nix b/pkgs/misc/emulators/yapesdl/default.nix new file mode 100644 index 00000000000..307068cde04 --- /dev/null +++ b/pkgs/misc/emulators/yapesdl/default.nix @@ -0,0 +1,41 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, SDL2 +}: + +stdenv.mkDerivation rec { + pname = "yapesdl"; + version = "0.70.2"; + + src = fetchFromGitHub { + owner = "calmopyrin"; + repo = pname; + rev = "v${version}"; + hash = "sha256-51P6wNaSfVA3twu+yRUKXguEmVBvuuEnHxH1Zl1vsCc="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + SDL2 + ]; + + installPhase = '' + runHook preInstall + install --directory $out/bin $out/share/doc/$pname + install yapesdl $out/bin/ + install README.SDL $out/share/doc/$pname/ + runHook postInstall + ''; + + meta = with lib; { + homepage = "http://yape.plus4.net/"; + description = "Multiplatform Commodore 64 and 264 family emulator"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 20b72a0c7ff..55794fbaf54 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -65,12 +65,12 @@ let ale = buildVimPluginFrom2Nix { pname = "ale"; - version = "2021-04-07"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "dense-analysis"; repo = "ale"; - rev = "f0887d3e6178482255f11aa378124aef3699245f"; - sha256 = "0kyfvpwfy4x7mnyb0v8cnjb9byjdj48czd3mzkd1yfpdmz4wgxsg"; + rev = "686c8c5e0acbf3cbf50f1b11eafadd759b017f4a"; + sha256 = "1bwv9yzvlj7ab0ybjrdjhhhqwmg1hjld9m2kb1hq8mgvdc9rsa4c"; }; meta.homepage = "https://github.com/dense-analysis/ale/"; }; @@ -101,12 +101,12 @@ let ansible-vim = buildVimPluginFrom2Nix { pname = "ansible-vim"; - version = "2021-02-20"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "pearofducks"; repo = "ansible-vim"; - rev = "de933417e5d37b10d1834095fcd0a1c8c360d34a"; - sha256 = "1fwjpkzkpwy808949iqbsgi6kxyglfyzr1d5hc1911vbayn8wyjy"; + rev = "bc9c3bf48961f5babb24243bd407c715ce551210"; + sha256 = "1pvjjxw3nz3s11f83rbmdhad5rvks0q2am09sfxns0x4rwiwcyrk"; }; meta.homepage = "https://github.com/pearofducks/ansible-vim/"; }; @@ -209,12 +209,12 @@ let auto-session = buildVimPluginFrom2Nix { pname = "auto-session"; - version = "2021-04-07"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "rmagatti"; repo = "auto-session"; - rev = "f6cfd92e96e9efb7e3e5249a4e45054fb7dc629b"; - sha256 = "04771631jgm4f76vpmp5mwwf0nidvbw345ajk3nl5xd8lsq9zp3w"; + rev = "49e2a0ef443eb0578c2b884a7b85f9f4e4c08fde"; + sha256 = "1xsb3346qgggpzfln3z1skk4d4hvss3qfck0h5ylpbcbh3f8dxyb"; }; meta.homepage = "https://github.com/rmagatti/auto-session/"; }; @@ -389,12 +389,12 @@ let chadtree = buildVimPluginFrom2Nix { pname = "chadtree"; - version = "2021-04-08"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "chadtree"; - rev = "012e3f21bf60858308db77f68ef3ee83a333587c"; - sha256 = "1q6f0z0mnwg43ri4dzpdzx8n88hr1j32hp3x06zsmfq47rlf4iij"; + rev = "ce6ff8e0f321b1fb3bfd4befaeeb9c97521eba9b"; + sha256 = "0bl914jyw84ya9hay50jk7zdqiw7raxnr2zq8iz6kz8s1zh8r928"; }; meta.homepage = "https://github.com/ms-jpq/chadtree/"; }; @@ -894,12 +894,12 @@ let defx-nvim = buildVimPluginFrom2Nix { pname = "defx-nvim"; - version = "2021-04-08"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "Shougo"; repo = "defx.nvim"; - rev = "981804894051a6006b9337978a4f939a46b0c254"; - sha256 = "05a9cv86qazfgpm4nhw6x9pvpj646i7n9jsbk6qn9jmrq7rm0whp"; + rev = "94a655cd9993b152feb6de4d6168d234d4b3f14b"; + sha256 = "0kram585pmj88gvfs71k50lgawg87qbiisw0plzp41hjrgs0ymkz"; }; meta.homepage = "https://github.com/Shougo/defx.nvim/"; }; @@ -1268,12 +1268,12 @@ let echodoc-vim = buildVimPluginFrom2Nix { pname = "echodoc-vim"; - version = "2021-02-23"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "Shougo"; repo = "echodoc.vim"; - rev = "af235aaaa74f41cd83181a16b9f17c16e56afc47"; - sha256 = "1jzn7w6rv2bl1m4aqm716flg28jdjsgkikfjjjiz4if5vjsfj0lw"; + rev = "da1704818a342c4ad17abdc6886836ae61aa6b2a"; + sha256 = "0k1gzajn335518vz1ga957i91pfb04bmhhmzc96l617qdkp3ij30"; }; meta.homepage = "https://github.com/Shougo/echodoc.vim/"; }; @@ -1547,12 +1547,12 @@ let galaxyline-nvim = buildVimPluginFrom2Nix { pname = "galaxyline-nvim"; - version = "2021-04-05"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "glepnir"; repo = "galaxyline.nvim"; - rev = "505bd8a2912f75b3c9cc439db3bd31ae514230cd"; - sha256 = "0w2prdcp48z15r9j9z20y6kgasnzjhfk0d3pig560ifk0x33n4ba"; + rev = "cbf64bd4869c810b92f6450ed8763456c489be87"; + sha256 = "0c7xgracnl92psc5b7m90ys9v5p20hipli8q797r495r59wnza20"; }; meta.homepage = "https://github.com/glepnir/galaxyline.nvim/"; }; @@ -1607,12 +1607,12 @@ let git-blame-nvim = buildVimPluginFrom2Nix { pname = "git-blame-nvim"; - version = "2021-03-18"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "f-person"; repo = "git-blame.nvim"; - rev = "c6515f6de67f50448a0f865b39c3c459b40856f5"; - sha256 = "1cm6x58qm5jzgncrpwixcvs7cfdv02gf13zz1v4gxicxlllrh70f"; + rev = "bcfb85765903865fbe0a47682ed66dfc51bbcf28"; + sha256 = "1zc6bsli8bpks3c23vpia38nr02mncmnldwvhip1hghphnf3crwr"; }; meta.homepage = "https://github.com/f-person/git-blame.nvim/"; }; @@ -1643,12 +1643,12 @@ let gitsigns-nvim = buildVimPluginFrom2Nix { pname = "gitsigns-nvim"; - version = "2021-04-06"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "lewis6991"; repo = "gitsigns.nvim"; - rev = "5be4faafe18dc808878e127d69b9cd1883b03bee"; - sha256 = "0k0z9bgrcidk8m1lckh3kkz0i6w6whrlc22v4vf8yfkqa8g7vai1"; + rev = "bfd9dcd323e7ec35f34407fc3cfd5700400c88af"; + sha256 = "0w05afpbys8mkqzl13ygzh9c3rcml9q746v3snl2vamm3fjyhmzn"; }; meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/"; }; @@ -2076,24 +2076,24 @@ let julia-vim = buildVimPluginFrom2Nix { pname = "julia-vim"; - version = "2021-04-08"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "JuliaEditorSupport"; repo = "julia-vim"; - rev = "d589986c9dbb95ef08a1f5a01197fd43687e7031"; - sha256 = "04hrc9wgdk0rjzx23dhnvjyybkpa7m8lf4p7cqmg5sdhlahqicjr"; + rev = "b04bdfee67a62e225fb36aa49a4806bb8c74b5aa"; + sha256 = "0cq58f634qp67xbfd4hwbg8wm2pq2wk05cp2dn6ja2k5vnqymn99"; }; meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/"; }; kotlin-vim = buildVimPluginFrom2Nix { pname = "kotlin-vim"; - version = "2021-03-11"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "udalov"; repo = "kotlin-vim"; - rev = "4e94ec5d3c821daaeac40c4d243cb55d07924fd2"; - sha256 = "1vj3pcxn1byggbfqv2k5m09cwpbsphivdbzpw8qs111hda0cv61s"; + rev = "ea258abc437d3615236d72c8b354de39b409a249"; + sha256 = "1r6wc5nnx6lxc7cyxp5dwzwxgmdrqzxl63m0807sl69rgl2444rq"; }; meta.homepage = "https://github.com/udalov/kotlin-vim/"; }; @@ -2304,12 +2304,12 @@ let lsp-status-nvim = buildVimPluginFrom2Nix { pname = "lsp-status-nvim"; - version = "2021-04-03"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "nvim-lua"; repo = "lsp-status.nvim"; - rev = "60a3ad9dc2f43e0e512c242411541846a86eb7de"; - sha256 = "08x8k06i6gl802fsp4sgvdcml35n4hnljwwxsgfyzwlcwx9llxlw"; + rev = "7c376c3924d4f807d6ce49450fdeaa18720349c9"; + sha256 = "0lf71qxg9hs3r4nwsla085fk5jkqzppj2r57w9imz4wqzb201bd7"; }; meta.homepage = "https://github.com/nvim-lua/lsp-status.nvim/"; }; @@ -2340,24 +2340,24 @@ let lspsaga-nvim = buildVimPluginFrom2Nix { pname = "lspsaga-nvim"; - version = "2021-03-28"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "glepnir"; repo = "lspsaga.nvim"; - rev = "27c7a4796869e155ecec48eb3f8e66694c1708e2"; - sha256 = "1kdj6b7ph4111spwr55d6a0jjyrr18fbxyl3yi2nb5h75vm2hisj"; + rev = "b77a08be564ccba4bd8c68cca89aa87e5520b3c3"; + sha256 = "0hwngd27cdfbcw8l8x4ri93749v5r6z3q9s5h6av27zdb4gbvddd"; }; meta.homepage = "https://github.com/glepnir/lspsaga.nvim/"; }; lualine-nvim = buildVimPluginFrom2Nix { pname = "lualine-nvim"; - version = "2021-04-08"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "hoob3rt"; repo = "lualine.nvim"; - rev = "2b32fb090fa09d68e8e5a222646979fa1d54f899"; - sha256 = "0vkskwgi8vw06j9nv97ndwli3xrvgd4sl046yk3xf3x3ph890wpj"; + rev = "1b81b0021fa133ef6536faacb1789f170b9b4721"; + sha256 = "055hw2z4h24gy74x2svkd0kgcyzdkscbpvcz867ar9f9r9cdf7ah"; }; meta.homepage = "https://github.com/hoob3rt/lualine.nvim/"; }; @@ -2436,12 +2436,12 @@ let mkdx = buildVimPluginFrom2Nix { pname = "mkdx"; - version = "2021-04-08"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "SidOfc"; repo = "mkdx"; - rev = "186cf8cf96777ebdc4976c2de08e7b62a248d2da"; - sha256 = "01clzfnk86acpm24kfz3xwsy4xcqbx8ar4n0i1i6vvn8hq602mbv"; + rev = "7fc33a899acfbc172d8e12059c1ca18696346a89"; + sha256 = "05fhqvr9pinw6zfbjcdbm31c27wd94z7nyzp9f4vi8m1yhp4h6mk"; }; meta.homepage = "https://github.com/SidOfc/mkdx/"; }; @@ -2988,12 +2988,12 @@ let nvcode-color-schemes-vim = buildVimPluginFrom2Nix { pname = "nvcode-color-schemes-vim"; - version = "2021-04-07"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "ChristianChiarulli"; repo = "nvcode-color-schemes.vim"; - rev = "383aed3efefb81168a607012006fb4bdcf918956"; - sha256 = "1mbzcb9iqjia6mwfkznm8bh3c5mvsfnz2ysrvhhr3143nh71m2np"; + rev = "90ee71d66da58d57f0cb4a59103874bb519c79d4"; + sha256 = "0sabb0iyrmfwfld57d1mf44k69bf8pk0c1ilfi3vz2hz04imxgab"; }; meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/"; }; @@ -3072,12 +3072,12 @@ let nvim-compe = buildVimPluginFrom2Nix { pname = "nvim-compe"; - version = "2021-04-08"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "hrsh7th"; repo = "nvim-compe"; - rev = "e2f1caba42f5b1af07ef9d729ae75d74855ac5d4"; - sha256 = "0xk8hm3m8aywky7p2jm36a9sf495pa52lixmp14c7qj2s0wrki1c"; + rev = "f167a1384c47d7eb632eb27e90cdf7dfdb7169ff"; + sha256 = "1ggwfl8w85di63skxpm75gm3arbhlph9bv6iyiws9c0x79zf5c8j"; }; meta.homepage = "https://github.com/hrsh7th/nvim-compe/"; }; @@ -3096,12 +3096,12 @@ let nvim-dap = buildVimPluginFrom2Nix { pname = "nvim-dap"; - version = "2021-04-07"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-dap"; - rev = "06e201849605dabf5dd28f972d2b7c507a8aff1f"; - sha256 = "19mk9r2h491gqf0q9jv3yrlznfxwfz2q4h7jqq6yai740nx5yhzj"; + rev = "855b507a3c3608b181c761fd10beb1a4a073e0fb"; + sha256 = "15qnhf1hs8xb97xi21z1g222v77gfbvrcha588rb692qvwxsrwfr"; }; meta.homepage = "https://github.com/mfussenegger/nvim-dap/"; }; @@ -3192,12 +3192,12 @@ let nvim-lspconfig = buildVimPluginFrom2Nix { pname = "nvim-lspconfig"; - version = "2021-04-06"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "225859876bb8f9df7417f008ca790e0b2753eeab"; - sha256 = "0ca67kb4706adihsyk6gdx0rf8wslw1ph82dprszpqla2gf1gqjn"; + rev = "8924812e0d114b67dca376533bef2ac5bb054f8b"; + sha256 = "1dlx2bhvsdm9s5ivpkw5ikhkw6b99zng4p9qdh8ki49f644w5jsr"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -3276,36 +3276,36 @@ let nvim-tree-lua = buildVimPluginFrom2Nix { pname = "nvim-tree-lua"; - version = "2021-04-06"; + version = "2021-04-08"; src = fetchFromGitHub { owner = "kyazdani42"; repo = "nvim-tree.lua"; - rev = "bbb8d6070f2a35ae85d1790fa3f8fff56c06d4ec"; - sha256 = "0xsvbpq8sygl6d8nkw4vaj20bdnrx1x97sjr8y4p76kmqqrch09s"; + rev = "82b20f5b5ed741d2e6360990ee11a50f0cd253a4"; + sha256 = "0il4z9ch5jmrwp5c51lxgrj8w3d5av3z5pkwjclh8gwpvm7siwvr"; }; meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/"; }; nvim-treesitter = buildVimPluginFrom2Nix { pname = "nvim-treesitter"; - version = "2021-04-08"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "1f00ecdfa36ef5e43a4feaf189e8c2c003118c00"; - sha256 = "1fidjwl7w1msg38b470cahjblcy7lgg885wbmswl380kf9c8118l"; + rev = "615afe3541eec0b338b4ff5b6738f69c7f6f8860"; + sha256 = "14n9q9fnfys8vj7m4fbngybcz9f2vzr8f67r5m7nd3lljn2389dg"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; nvim-treesitter-context = buildVimPluginFrom2Nix { pname = "nvim-treesitter-context"; - version = "2021-04-03"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "romgrk"; repo = "nvim-treesitter-context"; - rev = "5bc62fd2b09f4ddaf8d300c63d79140789797020"; - sha256 = "1p97llbki41mwicsmqdly6lns7vfn9pgd961jpc980pj0df792gq"; + rev = "6855cc725ee7d98dff00886d22d687ef7ba82c4f"; + sha256 = "1y2vpgmc2c2fpdxfpxlmz69f36wnp9q0yff6cidal61xaj28w71w"; }; meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/"; }; @@ -3336,12 +3336,12 @@ let nvim-ts-rainbow = buildVimPluginFrom2Nix { pname = "nvim-ts-rainbow"; - version = "2021-04-08"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "p00f"; repo = "nvim-ts-rainbow"; - rev = "97798465743459cb5f7d82e54c693bebc84e73f8"; - sha256 = "0wibgcrpxb5hqbjig1sgisnxik0f8wv7ap4l2xv5mhwm8yz6x4gn"; + rev = "445c02bb35e350df733af3ec70a0a7dea5dbcf43"; + sha256 = "0sh23vfk30492agc0a8jlcsksgw2ny0s3ngmxxy60xs8j4dpfhjs"; }; meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/"; }; @@ -3552,36 +3552,36 @@ let plantuml-syntax = buildVimPluginFrom2Nix { pname = "plantuml-syntax"; - version = "2020-07-03"; + version = "2021-04-08"; src = fetchFromGitHub { owner = "aklt"; repo = "plantuml-syntax"; - rev = "eb3df3092a767c844db3f3ff355da840abd0aa97"; - sha256 = "02psvyxli5gs2cx2sha33mk98ivllb8zr1jwgv4hgi5bh6qd7wg3"; + rev = "a26961c0b729c6ec4d40a08d30e1c4256964744b"; + sha256 = "1llrk17iihb80lnag136sy5vayqp2zd4imh3hp7msbns8dvp3hfy"; }; meta.homepage = "https://github.com/aklt/plantuml-syntax/"; }; playground = buildVimPluginFrom2Nix { pname = "playground"; - version = "2021-03-22"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "playground"; - rev = "d96cef521d22afd1a409449a890f20f50b436ee1"; - sha256 = "1j1iqzi9q8fnl02hvazl8szg84iz8dqy0n52ngh1lvl78s9qa393"; + rev = "1bf0f79cb461b11196cc9f419763be3373db2848"; + sha256 = "15b1lszshsf9jz2lb3q2045pjpjig3a6nkz9zvvjh7gwh6xywlv4"; }; meta.homepage = "https://github.com/nvim-treesitter/playground/"; }; plenary-nvim = buildVimPluginFrom2Nix { pname = "plenary-nvim"; - version = "2021-04-08"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "nvim-lua"; repo = "plenary.nvim"; - rev = "d0d291f87bed757f6be05c8bf753cb0e9602a478"; - sha256 = "0xjz85yzcvxd0dynygxdb1b9jkzmy1m52s4rc5w67jidqc7hs8ii"; + rev = "a3276a4752e66a2264988a171d06433b104c9351"; + sha256 = "005xf3g9b38x6b29q9csbr2yyxvpw6f3nr6npygr65a2z4f1cjak"; }; meta.homepage = "https://github.com/nvim-lua/plenary.nvim/"; }; @@ -3793,12 +3793,12 @@ let registers-nvim = buildVimPluginFrom2Nix { pname = "registers-nvim"; - version = "2021-04-07"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "tversteeg"; repo = "registers.nvim"; - rev = "105200aea2edd8c7ba995a76789a03e7dab83a85"; - sha256 = "0vvr1mdrnybgrbvs7r5yrzwab35viz488gyibzdjl3b5wisxqwxh"; + rev = "0a437a3831b4fdaf370c664f54653dcc5aea71fc"; + sha256 = "00q49377fwgy7f6fqqarqwq5m2aqx1clrq63zla72ghai66kmfhc"; }; meta.homepage = "https://github.com/tversteeg/registers.nvim/"; }; @@ -3877,12 +3877,12 @@ let rust-tools-nvim = buildVimPluginFrom2Nix { pname = "rust-tools-nvim"; - version = "2021-04-08"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "simrat39"; repo = "rust-tools.nvim"; - rev = "ea210456f8eac176822c8777619d2f05797dc708"; - sha256 = "14ygid112wwpgf429j1i65k72a1bn3pd6b7c1vpvyvvzdyfwnhiw"; + rev = "7f5295d3ec13d4d2769092a9e3dc849d56e6a7e7"; + sha256 = "0xzi6p895l7hmqpp0lqnn6a85fb5795i582fiahbvn4nkpsksk0s"; }; meta.homepage = "https://github.com/simrat39/rust-tools.nvim/"; }; @@ -3985,12 +3985,12 @@ let sideways-vim = buildVimPluginFrom2Nix { pname = "sideways-vim"; - version = "2021-03-21"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "AndrewRadev"; repo = "sideways.vim"; - rev = "171d6a39eb46973b229aaf1d88691e40d45f64ad"; - sha256 = "097f0il1dcn2kshsngvklgwlhac86cjwxxagqvcz3yiaa1qpzhlp"; + rev = "a36b8f129e99becc5e00ee3267695f62c3937a2f"; + sha256 = "0sk8xkqi3bciqwdd71z51mrx4dhy2i5nrf0b1c1xbzxbg3vkbvc3"; }; meta.homepage = "https://github.com/AndrewRadev/sideways.vim/"; }; @@ -4057,12 +4057,12 @@ let sonokai = buildVimPluginFrom2Nix { pname = "sonokai"; - version = "2021-03-22"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "sainnhe"; repo = "sonokai"; - rev = "78f1b14ad18b043eb888a173f4c431dbf79462d8"; - sha256 = "0spnpzr874ad9jpawcgydfm242wq55ychcky14f1qa09svsrdiv0"; + rev = "7a89d2d7ab1d8a92d137cdb358e7c5d661e7ceb3"; + sha256 = "0yk79151fwbjdf2sy5ri2gg58g052y31dml9ilbwdq7f4jncgljk"; }; meta.homepage = "https://github.com/sainnhe/sonokai/"; }; @@ -4407,12 +4407,12 @@ let telescope-nvim = buildVimPluginFrom2Nix { pname = "telescope-nvim"; - version = "2021-04-08"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; - rev = "64e59060b1750d0c86761693b6847c3db07afcd2"; - sha256 = "0racv0zqklfn3dh7jvkw8hx9rh85mkrljixjh528h12qfv53arw7"; + rev = "5bd6f5ca9828ea02f2c54d616ad65c72a5cdd7fb"; + sha256 = "0h47x7nqhr3wvxspymvgbyngqickvbxg13l1j525f3y68j4b2arg"; }; meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; }; @@ -4588,12 +4588,12 @@ let ultisnips = buildVimPluginFrom2Nix { pname = "ultisnips"; - version = "2021-04-03"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "SirVer"; repo = "ultisnips"; - rev = "b974a13328071de45a85c62ab65c8bfed0142728"; - sha256 = "1p93dmmprn415y8z44fl697wvh446w7dpskniissxwq4hfyqqgxh"; + rev = "3ccb1a7e75b31add82730f3b95c2be5c130b7ce4"; + sha256 = "0rhkpzz0ss8sb6jf3ygvavygmqiy8a418685izanvyplwhqi5zy4"; }; meta.homepage = "https://github.com/SirVer/ultisnips/"; }; @@ -5656,12 +5656,12 @@ let vim-elixir = buildVimPluginFrom2Nix { pname = "vim-elixir"; - version = "2021-03-01"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "elixir-editors"; repo = "vim-elixir"; - rev = "527e6fd8798638a79621e0b5c788b67b2b4b4dbc"; - sha256 = "02ncqbxlncm9gz7dvxv6lv9zsnfhqmqq05m95lh95l3lm0gs44ph"; + rev = "5a1811c3c70adeee42d9dc5faae1cba1d57461f9"; + sha256 = "03cqsv2y1zns2sj6i9afxb4yjnzd42nmwijdlbwbqnnjp03xq1ns"; }; meta.homepage = "https://github.com/elixir-editors/vim-elixir/"; }; @@ -5920,12 +5920,12 @@ let vim-fugitive = buildVimPluginFrom2Nix { pname = "vim-fugitive"; - version = "2021-04-07"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-fugitive"; - rev = "8ede0aaf57e1dbb5416ddbe30d0bfdde762e90bf"; - sha256 = "1aa7cqkp2pkpn175y67gfjbd0p3jxca42n7iysykzi9hcgkshqm2"; + rev = "94bc89da0fe7083cfda9c1585f3fafb106692769"; + sha256 = "17gy7yiipr5ql888z4zg1la93c8jjgyw7sc7kshvric5906bsxl3"; }; meta.homepage = "https://github.com/tpope/vim-fugitive/"; }; @@ -6317,12 +6317,12 @@ let vim-illuminate = buildVimPluginFrom2Nix { pname = "vim-illuminate"; - version = "2021-03-31"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "RRethy"; repo = "vim-illuminate"; - rev = "43bccb5ceb400fd0cb8c2903f9d174d1bc8b64d4"; - sha256 = "07cg09vzqpyg3ql8vl3gvr1sy0bzw55xwbhhipbpz2127a92pk00"; + rev = "fe491924a7cf08bd839236a74f0c39bf0abf0fd2"; + sha256 = "0c6vqfwrbw0z036y41kf03syixnp58g1pwghm1d7frz2adn6mlvb"; }; meta.homepage = "https://github.com/RRethy/vim-illuminate/"; }; @@ -6785,6 +6785,18 @@ let meta.homepage = "https://github.com/euclio/vim-markdown-composer/"; }; + vim-markdown-toc = buildVimPluginFrom2Nix { + pname = "vim-markdown-toc"; + version = "2021-03-02"; + src = fetchFromGitHub { + owner = "mzlogin"; + repo = "vim-markdown-toc"; + rev = "b7bb6c37033d3a6c93906af48dc0e689bd948638"; + sha256 = "026xf2gid4qivwawh7if3nfk7zja9di0flhdzdx82lvil9x48lyz"; + }; + meta.homepage = "https://github.com/mzlogin/vim-markdown-toc/"; + }; + vim-matchup = buildVimPluginFrom2Nix { pname = "vim-matchup"; version = "2021-04-03"; @@ -7495,12 +7507,12 @@ let vim-racket = buildVimPluginFrom2Nix { pname = "vim-racket"; - version = "2020-07-24"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "wlangstroth"; repo = "vim-racket"; - rev = "bca2643c3d8bd0fcd46ab73bee69023a5da1964b"; - sha256 = "059a79d66yxhhwq127sjl84ky1153im7mm5ixjcsgg9glgvd39jy"; + rev = "32ad23165c96d05da7f3b9931d2889b7e39dcb86"; + sha256 = "1yyqx471p11vj6gya4yzkiy07vfwzpx10bf6s7dh2h7zp2nz10br"; }; meta.homepage = "https://github.com/wlangstroth/vim-racket/"; }; @@ -8228,12 +8240,12 @@ let vim-tpipeline = buildVimPluginFrom2Nix { pname = "vim-tpipeline"; - version = "2021-03-24"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "vimpostor"; repo = "vim-tpipeline"; - rev = "b36abe2613191912e12b9562b209f157a8b927de"; - sha256 = "1ly3iy1c05ry7yfsph0rribiagcyw07daj2dbfj0la3pbfmvip24"; + rev = "be39204b64ac6d285d735166b94a28c218f1e4bc"; + sha256 = "0ghw3vzk6rjw5sfahrhfiisvm38zvn67ddvqg7l1h3hq411i0f2g"; }; meta.homepage = "https://github.com/vimpostor/vim-tpipeline/"; }; @@ -8636,12 +8648,12 @@ let vimspector = buildVimPluginFrom2Nix { pname = "vimspector"; - version = "2021-04-07"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "puremourning"; repo = "vimspector"; - rev = "7d83419a4f813aee826eee994b8e419b6ff102b0"; - sha256 = "05xlpf3rm54kb6vxkm4gngbxabd58736najdawjxf8y7b6ajv39z"; + rev = "6709b45c770dca735265ef8d5e30f9f4e602cfd0"; + sha256 = "0ddgyhlrvij630fyx8hx63xk8qqmskgbx1iwjhazhifrflm9gcw7"; fetchSubmodules = true; }; meta.homepage = "https://github.com/puremourning/vimspector/"; @@ -8649,24 +8661,24 @@ let vimtex = buildVimPluginFrom2Nix { pname = "vimtex"; - version = "2021-04-07"; + version = "2021-04-11"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "83b8e2998c6f0554b7eb4a04cfe783b8eab86c88"; - sha256 = "08k9in6xg0vbihwgcyy2c3gfsc91iz3lw2r3awg0zwgd41699qby"; + rev = "e6c03a17611a71ab1fc12ed0e9b4c32bf9ca826b"; + sha256 = "1g4vl0lxq7rvl064pf11n4r69z78c5k77qd987mm4hajbvmkbjqi"; }; meta.homepage = "https://github.com/lervag/vimtex/"; }; vimux = buildVimPluginFrom2Nix { pname = "vimux"; - version = "2021-03-18"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "preservim"; repo = "vimux"; - rev = "708ce200d56d6fc326a8c1acd7f0f4f7c6a9e552"; - sha256 = "0wkxq1a3phmxskmqcn3067s56k6n9v8k9qqy0mwhxhp2d53asxpf"; + rev = "ee3075ad30560ffba20c695124c60faef97ec4a4"; + sha256 = "19plkjvifvbfnq56vcmzl0q3hxmcbd7q5f5cxk42jp038cry26ay"; }; meta.homepage = "https://github.com/preservim/vimux/"; }; @@ -8830,12 +8842,12 @@ let YouCompleteMe = buildVimPluginFrom2Nix { pname = "YouCompleteMe"; - version = "2021-03-22"; + version = "2021-04-09"; src = fetchFromGitHub { owner = "ycm-core"; repo = "YouCompleteMe"; - rev = "ed423e8a1d2a5842a126d33b824ad3b65f85f3ba"; - sha256 = "19c238sdc6i3ky374v52g13csnbmdcm9d97iji6fmklmzsyrq4cr"; + rev = "a3d02238ca5c19a64ff3336087fe016a4137fde9"; + sha256 = "05sfyqynqliyz2w2ams2a5rqi8v0i65iz5jfk2vsy9qcn94i2sr6"; fetchSubmodules = true; }; meta.homepage = "https://github.com/ycm-core/YouCompleteMe/"; @@ -8879,12 +8891,12 @@ let zephyr-nvim = buildVimPluginFrom2Nix { pname = "zephyr-nvim"; - version = "2021-04-03"; + version = "2021-04-10"; src = fetchFromGitHub { owner = "glepnir"; repo = "zephyr-nvim"; - rev = "782b1986adafe4b17ea8a0f9aca375f37029bd2b"; - sha256 = "0chrbn917yzvc5rcz6ajzp36598c8lwc1wpdp3qwl34k2vp4r1ia"; + rev = "057ee834776939bf76c4ae6c71e94e911014a172"; + sha256 = "0x1da7ihyrcrr3msy1jds566506k0jbsap5fk1w823cm8m0mwqn9"; }; meta.homepage = "https://github.com/glepnir/zephyr-nvim/"; }; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 82b6543b418..6258e4334b0 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -380,6 +380,7 @@ motus/pig.vim mpickering/hlint-refactor-vim ms-jpq/chadtree@chad mtikekar/vim-bsv +mzlogin/vim-markdown-toc nanotech/jellybeans.vim natebosch/vim-lsc nathanaelkane/vim-indent-guides diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix index efb87df6c97..0aad78531ba 100644 --- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix +++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix @@ -1,7 +1,7 @@ { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args: let - version = "5.11.12"; + version = "5.11.13"; suffix = "xanmod1-cacule"; in buildLinux (args // rec { @@ -12,7 +12,7 @@ in owner = "xanmod"; repo = "linux"; rev = modDirVersion; - sha256 = "sha256-omRZ9oAmW3mauUolPf/lgMFMwUCYU4YaZ+OS75Ag+lM="; + sha256 = "sha256-LUbkccAfDS0/FnNhHn64bkC8qwBD0NKcdZRzNoSw4uA="; extraPostFetch = '' rm $out/.config ''; diff --git a/pkgs/os-specific/linux/mdevd/default.nix b/pkgs/os-specific/linux/mdevd/default.nix new file mode 100644 index 00000000000..b88e3ad1e6f --- /dev/null +++ b/pkgs/os-specific/linux/mdevd/default.nix @@ -0,0 +1,28 @@ +{ lib, skawarePackages }: + +with skawarePackages; + +buildPackage { + pname = "mdevd"; + version = "0.1.3.0"; + sha256 = "0spvw27xxd0m6j8bl8xysmgsx18fl769smr6dsh25s2d5h3sp2dy"; + + description = "mdev-compatible Linux hotplug manager daemon"; + platforms = lib.platforms.linux; + + outputs = [ "bin" "out" "dev" "doc" ]; + + configureFlags = [ + "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps" + "--with-include=${skalibs.dev}/include" + "--with-lib=${skalibs.lib}/lib" + ]; + + postInstall = '' + # remove all mdevd executables from build directory + rm $(find -type f -mindepth 1 -maxdepth 1 -executable) + + mv doc $doc/share/doc/mdevd/html + mv examples $doc/share/doc/mdevd/examples + ''; +} diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix index 25410553486..5faccc14ce7 100644 --- a/pkgs/os-specific/linux/openvswitch/default.nix +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -8,12 +8,12 @@ let _kernel = kernel; pythonEnv = python3.withPackages (ps: with ps; [ six ]); in stdenv.mkDerivation rec { - version = "2.14.1"; + version = "2.14.2"; pname = "openvswitch"; src = fetchurl { url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz"; - sha256 = "sha256-GAttQsCrSybyH1i4vzszdiA9dHWqeo7xUTZVFMNQiP4="; + sha256 = "sha256-ZfQg+VTiUNiV+y2yKhMuHLVgvF4rkFHoNFETSBCOWXo="; }; kernel = optional (_kernel != null) _kernel.dev; diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix index 4a6cf887c3b..15c6c05b061 100644 --- a/pkgs/os-specific/linux/openvswitch/lts.nix +++ b/pkgs/os-specific/linux/openvswitch/lts.nix @@ -7,12 +7,12 @@ with lib; let _kernel = kernel; in stdenv.mkDerivation rec { - version = "2.5.9"; + version = "2.5.12"; pname = "openvswitch"; src = fetchurl { url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz"; - sha256 = "0iv0ncwl6s4qyyb655yj5xvqrjr1zbymmab96q259wa09xnyw7b7"; + sha256 = "0a8wa1lj5p28x3vq0yaxjhqmppp4hvds6hhm0j3czpp8mc09fsfq"; }; patches = [ ./patches/lts-ssl.patch ]; diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix index fb94b14d9ea..cc37ef13d50 100644 --- a/pkgs/os-specific/linux/rtl88x2bu/default.nix +++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix @@ -1,24 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, kernel, bc }: +{ lib, stdenv, fetchFromGitHub, kernel, bc }: stdenv.mkDerivation rec { name = "rtl88x2bu-${kernel.version}-${version}"; - version = "unstable-2020-08-20"; + version = "unstable-2021-01-21"; src = fetchFromGitHub { owner = "cilynx"; repo = "rtl88x2BU"; - rev = "a1c53f43fb9995fbe3ad26567079d6384626d350"; - sha256 = "1cby66jg511zxs1i535mflafhryla9764mnrzacxppimxpancv3s"; + rev = "48e7c19c92a77554403e1347447f8e2cfd780228"; + sha256 = "0nw2kgblpq6qlr43gbfxqvq0c83664f4czfwzsyfjr47rj00iyq7"; }; - patches = [ - # https://github.com/cilynx/rtl88x2bu/pull/58 - (fetchpatch { - url = "https://github.com/cilynx/rtl88x2bu/pull/58.patch"; - sha256 = "0md9cv61nx85pk3v60y9wviyb9fgj54q9m26wiv3dc7smr70h8l6"; - }) - ]; - hardeningDisable = [ "pic" ]; nativeBuildInputs = [ bc ]; @@ -39,7 +31,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Realtek rtl88x2bu driver"; homepage = "https://github.com/cilynx/rtl88x2bu"; - license = licenses.gpl2; + license = licenses.gpl2Only; platforms = platforms.linux; maintainers = [ maintainers.ralith ]; }; diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix index f2729907955..a52e759bb35 100644 --- a/pkgs/servers/gemini/agate/default.nix +++ b/pkgs/servers/gemini/agate/default.nix @@ -2,19 +2,26 @@ rustPlatform.buildRustPackage rec { pname = "agate"; - version = "3.0.1"; + version = "3.0.2"; src = fetchFromGitHub { owner = "mbrubeck"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ODD5XwLYVUJOHQCETVUqMUojL4Y8eWJ/xhmfzV9Cp3k="; + sha256 = "sha256-+X1ibnYAUB34u8+oNBSkjLtsArxlrg0Nq5zJrXi7Rfk="; }; - cargoSha256 = "sha256-PJOlXFx+MYfq7daaOEZ5wPuWD7gAr8gc/5AJG2SYTq4="; + cargoSha256 = "sha256-ZVu7wQFe+FHWX2wevVYct1dQSE9rFET8bkmv85wNV8A="; buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + checkFlags = [ + # Username and Password use the same ports and causes collision + # https://github.com/mbrubeck/agate/issues/50 + "--skip username" + "--skip password" + ]; + doInstallCheck = true; installCheckPhase = '' runHook preInstallCheck diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 409869d5b96..66b38c5ffe3 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2021.4.1"; + version = "2021.4.3"; components = { "abode" = ps: with ps; [ abodepy ]; "accuweather" = ps: with ps; [ accuweather ]; @@ -122,7 +122,7 @@ "clickatell" = ps: with ps; [ ]; "clicksend" = ps: with ps; [ ]; "clicksend_tts" = ps: with ps; [ ]; - "climacell" = ps: with ps; [ ]; # missing inputs: pyclimacell + "climacell" = ps: with ps; [ pyclimacell ]; "climate" = ps: with ps; [ ]; "cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa ]; "cloudflare" = ps: with ps; [ pycfdns ]; @@ -147,7 +147,7 @@ "cups" = ps: with ps; [ pycups ]; "currencylayer" = ps: with ps; [ ]; "daikin" = ps: with ps; [ pydaikin ]; - "danfoss_air" = ps: with ps; [ ]; # missing inputs: pydanfossair + "danfoss_air" = ps: with ps; [ pydanfossair ]; "darksky" = ps: with ps; [ python-forecastio ]; "datadog" = ps: with ps; [ datadog ]; "ddwrt" = ps: with ps; [ ]; @@ -202,20 +202,20 @@ "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy "ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface "ecobee" = ps: with ps; [ ]; # missing inputs: python-ecobee-api - "econet" = ps: with ps; [ ]; # missing inputs: pyeconet + "econet" = ps: with ps; [ pyeconet ]; "ecovacs" = ps: with ps; [ ]; # missing inputs: sucks "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan] "edimax" = ps: with ps; [ pyedimax ]; "edl21" = ps: with ps; [ ]; # missing inputs: pysml "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox "efergy" = ps: with ps; [ ]; - "egardia" = ps: with ps; [ ]; # missing inputs: pythonegardia + "egardia" = ps: with ps; [ pythonegardia ]; "eight_sleep" = ps: with ps; [ pyeight ]; "elgato" = ps: with ps; [ ]; # missing inputs: elgato "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib "elv" = ps: with ps; [ ]; # missing inputs: pypca - "emby" = ps: with ps; [ ]; # missing inputs: pyemby + "emby" = ps: with ps; [ pyemby ]; "emoncms" = ps: with ps; [ ]; "emoncms_history" = ps: with ps; [ ]; "emulated_hue" = ps: with ps; [ aiohttp-cors ]; @@ -227,7 +227,7 @@ "entur_public_transport" = ps: with ps; [ ]; # missing inputs: enturclient "environment_canada" = ps: with ps; [ ]; # missing inputs: env_canada "envirophat" = ps: with ps; [ smbus-cffi ]; # missing inputs: envirophat - "envisalink" = ps: with ps; [ ]; # missing inputs: pyenvisalink + "envisalink" = ps: with ps; [ pyenvisalink ]; "ephember" = ps: with ps; [ ]; # missing inputs: pyephember "epson" = ps: with ps; [ ]; # missing inputs: epson-projector "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter @@ -238,7 +238,7 @@ "eufy" = ps: with ps; [ ]; # missing inputs: lakeside "everlights" = ps: with ps; [ pyeverlights ]; "evohome" = ps: with ps; [ evohome-async ]; - "ezviz" = ps: with ps; [ ]; # missing inputs: pyezviz + "ezviz" = ps: with ps; [ pyezviz ]; "faa_delays" = ps: with ps; [ faadelays ]; "facebook" = ps: with ps; [ ]; "facebox" = ps: with ps; [ ]; @@ -357,7 +357,7 @@ "homekit" = ps: with ps; [ HAP-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg zeroconf ]; "homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors zeroconf ]; "homematic" = ps: with ps; [ pyhomematic ]; - "homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip + "homematicip_cloud" = ps: with ps; [ homematicip ]; "homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks "honeywell" = ps: with ps; [ ]; # missing inputs: somecomfort "horizon" = ps: with ps; [ ]; # missing inputs: horimote @@ -397,7 +397,7 @@ "integration" = ps: with ps; [ ]; "intent" = ps: with ps; [ aiohttp-cors ]; "intent_script" = ps: with ps; [ ]; - "intesishome" = ps: with ps; [ ]; # missing inputs: pyintesishome + "intesishome" = ps: with ps; [ pyintesishome ]; "ios" = ps: with ps; [ aiohttp-cors zeroconf ]; "iota" = ps: with ps; [ ]; # missing inputs: pyota "iperf3" = ps: with ps; [ ]; # missing inputs: iperf3 @@ -467,7 +467,7 @@ "luftdaten" = ps: with ps; [ luftdaten ]; "lupusec" = ps: with ps; [ ]; # missing inputs: lupupy "lutron" = ps: with ps; [ pylutron ]; - "lutron_caseta" = ps: with ps; [ ]; # missing inputs: aiolip pylutron-caseta + "lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ]; "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12 "lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides "lyric" = ps: with ps; [ aiohttp-cors aiolyric ]; @@ -535,7 +535,7 @@ "mystrom" = ps: with ps; [ aiohttp-cors python-mystrom ]; "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns "n26" = ps: with ps; [ ]; # missing inputs: n26 - "nad" = ps: with ps; [ ]; # missing inputs: nad_receiver + "nad" = ps: with ps; [ nad-receiver ]; "namecheapdns" = ps: with ps; [ defusedxml ]; "nanoleaf" = ps: with ps; [ pynanoleaf ]; "neato" = ps: with ps; [ aiohttp-cors pybotvac ]; @@ -581,7 +581,7 @@ "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat "ohmconnect" = ps: with ps; [ defusedxml ]; "ombi" = ps: with ps; [ ]; # missing inputs: pyombi - "omnilogic" = ps: with ps; [ ]; # missing inputs: omnilogic + "omnilogic" = ps: with ps; [ omnilogic ]; "onboarding" = ps: with ps; [ aiohttp-cors pillow ]; "ondilo_ico" = ps: with ps; [ aiohttp-cors ]; # missing inputs: ondilo "onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet @@ -705,7 +705,7 @@ "rpi_rf" = ps: with ps; [ ]; # missing inputs: rpi-rf "rss_feed_template" = ps: with ps; [ aiohttp-cors ]; "rtorrent" = ps: with ps; [ ]; - "ruckus_unleashed" = ps: with ps; [ ]; # missing inputs: pyruckus + "ruckus_unleashed" = ps: with ps; [ pyruckus ]; "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound "sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: pysabnzbd @@ -751,7 +751,7 @@ "skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL] "skybell" = ps: with ps; [ skybellpy ]; "slack" = ps: with ps; [ ]; # missing inputs: slackclient - "sleepiq" = ps: with ps; [ ]; # missing inputs: sleepyq + "sleepiq" = ps: with ps; [ sleepyq ]; "slide" = ps: with ps; [ ]; # missing inputs: goslide-api "sma" = ps: with ps; [ pysma ]; "smappee" = ps: with ps; [ aiohttp-cors pysmappee ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index c2987c19e6f..535e1c6ce83 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -62,6 +62,19 @@ let (mkOverride "ring-doorbell" "0.6.2" "fbd537722a27b3b854c26506d894b7399bb8dc57ff36083285971227a2d46560") + # Pinned due to API changes in pyruckus>0.12 + (self: super: { + pyruckus = super.pyruckus.overridePythonAttrs (oldAttrs: rec { + version = "0.12"; + src = fetchFromGitHub { + owner = "gabe565"; + repo = "pyruckus"; + rev = version; + sha256 = "0ykv6r6blbj3fg9fplk9i7xclkv5d93rwvx0fm5s8ms9f2s9ih8z"; + }; + }); + }) + # hass-frontend does not exist in python3.pkgs (self: super: { hass-frontend = self.callPackage ./frontend.nix { }; @@ -95,7 +108,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2021.4.1"; + hassVersion = "2021.4.3"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -114,7 +127,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = version; - sha256 = "154bmbxhyfv1sxa6fk5vimqjmvci710bm5pj590blyzbr4nyci77"; + sha256 = "00jgnk8vssvk7mdnlijwddwaj56hs1hcyw83r1jqhn5nk5qj3b7q"; }; # leave this in, so users don't have to constantly update their downstream patch handling @@ -213,6 +226,7 @@ in with py.pkgs; buildPythonApplication rec { "devolo_home_control" "dhcp" "discovery" + "econet" "emulated_hue" "esphome" "fan" @@ -241,6 +255,7 @@ in with py.pkgs; buildPythonApplication rec { "homekit_controller" "homeassistant" "homematic" + "homematicip_cloud" "html5" "http" "hue" @@ -258,6 +273,7 @@ in with py.pkgs; buildPythonApplication rec { "intent_script" "ipp" "kmtronic" + "kodi" "light" "litterrobot" "local_file" @@ -267,6 +283,7 @@ in with py.pkgs; buildPythonApplication rec { "logentries" "logger" "lovelace" + "lutron_caseta" "manual" "manual_mqtt" "mazda" @@ -286,6 +303,7 @@ in with py.pkgs; buildPythonApplication rec { "notify" "notion" "number" + "omnilogic" "ozw" "panel_custom" "panel_iframe" @@ -303,6 +321,7 @@ in with py.pkgs; buildPythonApplication rec { "rituals_perfume_genie" "rmvtransport" "rss_feed_template" + "ruckus_unleashed" "safe_mode" "scene" "screenlogic" @@ -312,6 +331,7 @@ in with py.pkgs; buildPythonApplication rec { "shopping_list" "simplisafe" "simulated" + "sleepiq" "sma" "sensor" "smarttub" diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 54a01c87ce9..83af5b85c87 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20210407.2"; + version = "20210407.3"; src = fetchPypi { inherit pname version; - sha256 = "sha256-MxXeept0qwDIs9tFZCd1JfDY1Csl8gLWOhzW/Ihlbzw="; + sha256 = "sha256-ucewS193kbvlk4Q+5IEYT6sfJ/H006uy0iIi8UHOzPo="; }; # there is nothing to strip in this package diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix index 49259f49f2e..780b3c5eb20 100644 --- a/pkgs/servers/imgproxy/default.nix +++ b/pkgs/servers/imgproxy/default.nix @@ -1,13 +1,14 @@ -{ lib, buildGoModule, fetchFromGitHub, pkg-config, vips, gobject-introspection }: +{ lib, buildGoModule, fetchFromGitHub, pkg-config, vips, gobject-introspection +, stdenv, libunwind }: buildGoModule rec { pname = "imgproxy"; - version = "2.16.2"; + version = "2.16.3"; src = fetchFromGitHub { owner = pname; repo = pname; - sha256 = "sha256-wr4yOrzZT/4WtRze9Yp+M18jusxdddoDd4xs5P7d5oQ="; + sha256 = "sha256-WK5TAI+dYmBLNp1A0p9DbWF7ZEw3dqr+Cuwy7LzrdBM="; rev = "v${version}"; }; @@ -17,7 +18,8 @@ buildGoModule rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gobject-introspection vips ]; + buildInputs = [ gobject-introspection vips ] + ++ lib.optionals stdenv.isDarwin [ libunwind ]; preBuild = '' export CGO_LDFLAGS_ALLOW='-(s|w)' diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix index dcf7f7bf9f6..3fed8691ec5 100644 --- a/pkgs/servers/minio/default.nix +++ b/pkgs/servers/minio/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "minio"; - version = "2021-03-26T00-00-41Z"; + version = "2021-04-06T23-11-00Z"; src = fetchFromGitHub { owner = "minio"; repo = "minio"; rev = "RELEASE.${version}"; - sha256 = "sha256-WH7gAO8ghwMhLU/ioHrZUgIk1h6yeUzM+xg1GnkFDHM="; + sha256 = "sha256-gwf6qA63EFxGQxk8DiAiqLpIYVhVQDQYPffLNP5JfVw="; }; vendorSha256 = "sha256-VeYc+UtocpeNSV+0MocZj/83X/SMMv5PX2cPIPBV/sk="; diff --git a/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix b/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix new file mode 100644 index 00000000000..07e58e471d8 --- /dev/null +++ b/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix @@ -0,0 +1,29 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "alertmanager-irc-relay"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "google"; + repo = "alertmanager-irc-relay"; + rev = "v${version}"; + sha256 = "sha256-SmyKk0vSXfHzRxOdbULD2Emju/VjDcXZZ7cgVbZxGIA="; + }; + + vendorSha256 = "sha256-aJVA9MJ9DK/dCo7aSB9OLfgKGN5L6Sw2k2aOR4J2LE4="; + + buildFlagsArray = [ "-ldflags=-s -w" ]; + + meta = with lib; { + description = "Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC"; + longDescription = '' + Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC. + Alerts are received from Prometheus using Webhooks and are relayed to an + IRC channel + ''; + homepage = "https://github.com/google/alertmanager-irc-relay"; + license = licenses.asl20; + maintainers = with maintainers; [ ymatsiuk ]; + }; +} diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix index 98ad9cd6226..81240072d42 100644 --- a/pkgs/servers/monitoring/prometheus/promscale.nix +++ b/pkgs/servers/monitoring/prometheus/promscale.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "promscale"; - version = "0.2.1"; + version = "0.3.0"; src = fetchFromGitHub { owner = "timescale"; repo = pname; rev = version; - sha256 = "sha256-f/fpCyAw9BQ6ccEZm/xsTCjINjFtX3Q6SmPuJNVSJVI="; + sha256 = "sha256-kZYFOuY6FFM35mP+o/YU5SM5H9ziOq9BQ8T1RX7rhGE="; }; - vendorSha256 = "sha256-/woSbtrOI3BVBhh+A2kO1CB1BLzBciwOqvSbGkFeMEU="; + vendorSha256 = "sha256-1VOhDOfFE4BpDR4XfhLoXJFuTDkG1nx88tVvTF3ZVxU="; buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ]; diff --git a/pkgs/servers/rtsp-simple-server/default.nix b/pkgs/servers/rtsp-simple-server/default.nix index 76ddcf3346e..baf364cfece 100644 --- a/pkgs/servers/rtsp-simple-server/default.nix +++ b/pkgs/servers/rtsp-simple-server/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "rtsp-simple-server"; - version = "0.15.3"; + version = "0.15.4"; src = fetchFromGitHub { owner = "aler9"; repo = pname; rev = "v${version}"; - sha256 = "sha256-eY3XtGmHp7TM+lXC9tdd51x7sLuuZfBDJxTZ79Ye0Qs="; + sha256 = "sha256-6XdX4HEjDRt9WtqyHIv/NLt7IytNDeJLgCeTHTGybRI="; }; - vendorSha256 = "sha256-SiWcOI1XxrwwTAzp8HC5zOO5e2oSWBMFRYsW2RwPA5I="; + vendorSha256 = "sha256-T5LWbxYsKnG5eaYLR/rms6+2DXv2lV9o39BvF7HapZY="; # Tests need docker doCheck = false; diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix index d4f9beecfb7..040ae21c223 100644 --- a/pkgs/servers/trezord/default.nix +++ b/pkgs/servers/trezord/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "trezord-go"; - version = "2.0.30"; + version = "2.0.31"; src = fetchFromGitHub { owner = "trezor"; repo = "trezord-go"; rev = "v${version}"; - sha256 = "1hzvk0wfgg7b4wpqjk3738yqxlv3pj5i7zxwm0jady2h97hmrqrr"; + sha256 = "130nhk1pnr3xx9qkcij81mm3jxrl5zvvdqhvrgvrikqg3zlb6v5b"; }; vendorSha256 = "0wb959xzyvr5zzjvkfqc422frmf97q5nr460f02wwx0pj6ch0y61"; @@ -25,7 +25,7 @@ buildGoModule rec { meta = with lib; { description = "Trezor Communication Daemon aka Trezor Bridge"; homepage = "https://trezor.io"; - license = licenses.lgpl3; + license = licenses.lgpl3Only; maintainers = with maintainers; [ canndrew jb55 prusnak mmahut _1000101 ]; platforms = platforms.unix; }; diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix index e05fc6d6249..50ad9f1e257 100644 --- a/pkgs/servers/web-apps/mediawiki/default.nix +++ b/pkgs/servers/web-apps/mediawiki/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mediawiki"; - version = "1.35.1"; + version = "1.35.2"; src = with lib; fetchurl { url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz"; - sha256 = "05g3mgyi789drhzk3wclkyw4f06mz21q90m2c0z6zshn98fscrcf"; + sha256 = "07cch4j2lcncfjv71351c1fxh200p83g2ijb3c9x8rv6nzcmiymz"; }; prePatch = '' diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix index 707aff2011b..5a1dcfe16ec 100644 --- a/pkgs/tools/admin/pulumi/data.nix +++ b/pkgs/tools/admin/pulumi/data.nix @@ -1,20 +1,20 @@ # DO NOT EDIT! This file is generated automatically by update.sh { }: { - version = "2.23.2"; + version = "2.24.1"; pulumiPkgs = { x86_64-linux = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v2.23.2-linux-x64.tar.gz"; - sha256 = "0bg90kj8lb1bw3vx0672rbzmc5wylx90cad3h93qlwxsfvijmk7x"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v2.24.1-linux-x64.tar.gz"; + sha256 = "1c3a0ibwchl0lmcb8hr4j0x9b7hfsd0pfg6ay808zg1v8ddrj3xm"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.9.1-linux-amd64.tar.gz"; - sha256 = "084l6si66sxy55i4y14rn287v69vli17n283s718v00zrmgdah35"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.10.0-linux-amd64.tar.gz"; + sha256 = "1gqbs33mqqssymn48glm9h5qfkc1097ygk0mdanfigyhwv6rdmnc"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.34.2-linux-amd64.tar.gz"; - sha256 = "1xpil1a7gwcmjb3my9s37gf45i17l5mnxh0bkfbfwiw5znv7cjqa"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.36.0-linux-amd64.tar.gz"; + sha256 = "0dg5szlslp863slv6lfd8g98946ljvxhvq64b3j4zk6rsn0badvh"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.14.2-linux-amd64.tar.gz"; @@ -29,20 +29,20 @@ sha256 = "0b3bz952wz7fsbk51j0mlfsyyg9ymc9wnq8kgm7dvs1p5zgzv4ni"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.6.1-linux-amd64.tar.gz"; - sha256 = "114r26ncf3rlw6h0wsmyxhpcxb5hy20fk8kav858hvqacby5w6sq"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.7.0-linux-amd64.tar.gz"; + sha256 = "0l1y8fckx7k3lasb6rzy3v58cl1x3qzbb999wi14z16z2a63zwsw"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.9.1-linux-amd64.tar.gz"; sha256 = "178l4h7wj9pn1283zajaqm7fwcfwzpzq7swrgr8q880qsa611gjs"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.17.0-linux-amd64.tar.gz"; - sha256 = "0xzix9mn3n3n4y7l6xl0bn2xq338436ykb34j2fi20wxg5wb99lf"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.19.0-linux-amd64.tar.gz"; + sha256 = "0iliagpyvzn63pwcdq74w8ag9vc7asqpq658b19zly4jd6z3cwkd"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.3.1-linux-amd64.tar.gz"; - sha256 = "1pg1q70gkp300swl5hnjdx7s9yjg0d88r280ylga73syncms4s3w"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.4.0-linux-amd64.tar.gz"; + sha256 = "0zp3rwhngj009a9s6w2vyvgyhj7nd03mwm44x62ikhnz6f414kr9"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.8.1-linux-amd64.tar.gz"; @@ -73,8 +73,8 @@ sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.8.1-linux-amd64.tar.gz"; - sha256 = "05rcvp2gkx14gy46a0vx9ch3xysnn0wlgsn80rfav35v932x9f3g"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.9.0-linux-amd64.tar.gz"; + sha256 = "0n486h5f683yq6z53s9l9x5air1vk4nz1skiirsprz7a12cy2xkn"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.1.1-linux-amd64.tar.gz"; @@ -91,16 +91,16 @@ ]; x86_64-darwin = [ { - url = "https://get.pulumi.com/releases/sdk/pulumi-v2.23.2-darwin-x64.tar.gz"; - sha256 = "19g3bsmrjwfbnmw20zh0cqnhz83jl4ikfwg4rhdxsvazdmbym905"; + url = "https://get.pulumi.com/releases/sdk/pulumi-v2.24.1-darwin-x64.tar.gz"; + sha256 = "1x6z0drvaxrps47nisvw513vgskaf86mz8fzlhqfkddp2k5la5j1"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.9.1-darwin-amd64.tar.gz"; - sha256 = "1jkw0pvwz25dvxva7dipdxf4lppgr2m8ynbjl32fijzqs61y690m"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.10.0-darwin-amd64.tar.gz"; + sha256 = "05cz7b738bcai4aiya4rkjhmkh9pg6za4xp2snb9nx0jkw2vw2ms"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.34.2-darwin-amd64.tar.gz"; - sha256 = "0chjps0m203xb1ybky77lg1miv7d4cp1z8xxqhymrylfqaz4xj8q"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.36.0-darwin-amd64.tar.gz"; + sha256 = "0k74x9a6b9xngrp1cgdal86h23m95r5sa3q036ms4py0phq47r2w"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.14.2-darwin-amd64.tar.gz"; @@ -115,20 +115,20 @@ sha256 = "09nd5nfvjqgpbjs82bm5ym5wdg37mg863wvdp8s3fd8id4gdqb24"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.6.1-darwin-amd64.tar.gz"; - sha256 = "1f3mfgh24h2hwmshs4qpplgrxplxl7iab29xp4c7p1g573na3b7a"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.7.0-darwin-amd64.tar.gz"; + sha256 = "0iflll8lkk3s3dx3xl0iqmxac9nlspjnv8gmjfqwpryzk8h1fmzy"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.9.1-darwin-amd64.tar.gz"; sha256 = "10vp75fc41yk9lg5x7wyhs4mn2f4krfnw4jn5xys7dd475blm6rh"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.17.0-darwin-amd64.tar.gz"; - sha256 = "0cl7im10is9wvw3ygis9xy3f77npijsf1dsb49ww057kqhgv1v3i"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.19.0-darwin-amd64.tar.gz"; + sha256 = "061s8snsgz044ilh2s48810bmayypdyq9aqkhgal6v3l86jl8m95"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.3.1-darwin-amd64.tar.gz"; - sha256 = "1b7azajh9kzq8akyf5pf16hh3had8iwph6cw06b7mv1wqyd01k6z"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.4.0-darwin-amd64.tar.gz"; + sha256 = "1p6xxhy30qzprxk3kwiwimw5m0c73fk7c9j4vrzj2z4kpgj8qx7w"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.8.1-darwin-amd64.tar.gz"; @@ -159,8 +159,8 @@ sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5"; } { - url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.8.1-darwin-amd64.tar.gz"; - sha256 = "1r5rhn1yjjr0rw7qm2n8dqyqk1r1hkgvdmdq2x9smnvd2mwwjfah"; + url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.9.0-darwin-amd64.tar.gz"; + sha256 = "08af55rrzpm42vx7w1i1cmfk48czjfwln737prp5mwcvddmg5s1g"; } { url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.1.1-darwin-amd64.tar.gz"; diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh index af65df8daeb..31ac38ab275 100755 --- a/pkgs/tools/admin/pulumi/update.sh +++ b/pkgs/tools/admin/pulumi/update.sh @@ -3,20 +3,20 @@ # Version of Pulumi from # https://www.pulumi.com/docs/get-started/install/versions/ -VERSION="2.23.2" +VERSION="2.24.1" # Grab latest release ${VERSION} from # https://github.com/pulumi/pulumi-${NAME}/releases plugins=( - "auth0=1.9.1" - "aws=3.34.2" + "auth0=1.10.0" + "aws=3.36.0" "cloudflare=2.14.2" "consul=2.9.1" "datadog=2.17.1" - "digitalocean=3.6.1" + "digitalocean=3.7.0" "docker=2.9.1" - "gcp=4.17.0" - "github=3.3.1" + "gcp=4.19.0" + "github=3.4.0" "gitlab=3.8.1" "hcloud=0.7.1" "kubernetes=2.8.3" @@ -24,7 +24,7 @@ plugins=( "mysql=2.5.1" "openstack=2.17.1" "packet=3.2.2" - "postgresql=2.8.1" + "postgresql=2.9.0" "random=3.1.1" "vault=3.5.1" "vsphere=2.13.1" diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix index 520af8404ae..5dc6e39f8d2 100644 --- a/pkgs/tools/audio/spotdl/default.nix +++ b/pkgs/tools/audio/spotdl/default.nix @@ -1,20 +1,30 @@ { lib , python3 , fetchFromGitHub +, fetchpatch , ffmpeg }: python3.pkgs.buildPythonApplication rec { pname = "spotdl"; - version = "3.5.0"; + version = "3.5.1"; src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; rev = "v${version}"; - sha256 = "1nxf911hi578jw24hlcvyy33z1pkvr41pfrywbs3157rj1fj2vfi"; + sha256 = "sha256-Mc0aODyt0rwmBhkvY/gH1ODz4k8LOxyU5xXglSb6sPs="; }; + patches = [ + # https://github.com/spotDL/spotify-downloader/pull/1254 + (fetchpatch { + name = "subprocess-dont-use-shell.patch"; + url = "https://github.com/spotDL/spotify-downloader/commit/fe9848518900577776b463ef0798796201e226ac.patch"; + sha256 = "1kqq3y31dcx1zglywr564hkd2px3qx6sk3rkg7yz8n5hnfjhp6fn"; + }) + ]; + propagatedBuildInputs = with python3.pkgs; [ spotipy pytube @@ -32,6 +42,7 @@ python3.pkgs.buildPythonApplication rec { pytest-mock pytest-vcr pyfakefs + pytest-subprocess ]; makeWrapperArgs = [ diff --git a/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch b/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch deleted file mode 100644 index f78c7af9e35..00000000000 --- a/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch +++ /dev/null @@ -1,63 +0,0 @@ -From b9b6faf66ae67648626470cb4fc3f0850ac4d842 Mon Sep 17 00:00:00 2001 -From: David Disseldorp -Date: Tue, 1 Sep 2020 13:49:21 +0200 -Subject: [PATCH] cmake: detect and use sigdescr_np() if available - -sys_siglist is deprecated with glibc 2.32. A new thread-safe and -async-signal safe sigdescr_np() function is provided, so use it if -available. - -Fixes: https://tracker.ceph.com/issues/47187 -Signed-off-by: David Disseldorp ---- - cmake/modules/CephChecks.cmake | 1 + - src/global/signal_handler.h | 8 +++++--- - src/include/config-h.in.cmake | 3 +++ - 3 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/cmake/modules/CephChecks.cmake b/cmake/modules/CephChecks.cmake -index 23687283a7c6..ca86dcbc73de 100644 ---- a/cmake/modules/CephChecks.cmake -+++ b/cmake/modules/CephChecks.cmake -@@ -24,6 +24,7 @@ check_function_exists(strerror_r HAVE_Strerror_R) - check_function_exists(name_to_handle_at HAVE_NAME_TO_HANDLE_AT) - check_function_exists(pipe2 HAVE_PIPE2) - check_function_exists(accept4 HAVE_ACCEPT4) -+check_function_exists(sigdescr_np HAVE_SIGDESCR_NP) - - include(CMakePushCheckState) - cmake_push_check_state(RESET) -diff --git a/src/global/signal_handler.h b/src/global/signal_handler.h -index 476724201aa9..c101b2e28733 100644 ---- a/src/global/signal_handler.h -+++ b/src/global/signal_handler.h -@@ -20,10 +20,12 @@ - - typedef void (*signal_handler_t)(int); - --#ifndef HAVE_REENTRANT_STRSIGNAL --# define sig_str(signum) sys_siglist[signum] --#else -+#ifdef HAVE_SIGDESCR_NP -+# define sig_str(signum) sigdescr_np(signum) -+#elif HAVE_REENTRANT_STRSIGNAL - # define sig_str(signum) strsignal(signum) -+#else -+# define sig_str(signum) sys_siglist[signum] - #endif - - void install_sighandler(int signum, signal_handler_t handler, int flags); -diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake -index 1ea3703f620c..59bd4273511a 100644 ---- a/src/include/config-h.in.cmake -+++ b/src/include/config-h.in.cmake -@@ -220,6 +220,9 @@ - /* Define to 1 if you have sched.h. */ - #cmakedefine HAVE_SCHED 1 - -+/* Define to 1 if you have sigdescr_np. */ -+#cmakedefine HAVE_SIGDESCR_NP 1 -+ - /* Support SSE (Streaming SIMD Extensions) instructions */ - #cmakedefine HAVE_SSE - diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index aaa5806d402..e923bb6132e 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -110,6 +110,7 @@ let ps.jsonpatch ps.pecan ps.prettytable + ps.pyopenssl ps.pyjwt ps.webob ps.bcrypt @@ -122,10 +123,10 @@ let ]); sitePackages = ceph-python-env.python.sitePackages; - version = "15.2.8"; + version = "15.2.10"; src = fetchurl { url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz"; - sha256 = "1nmrras3g2zapcd06qr5m7y4zkymnr0r53jkpicjw2g4q7wfmib4"; + sha256 = "1xfijynfb56gydpwh6h4q781xymwxih6nx26idnkcjqih48nsn01"; }; in rec { ceph = stdenv.mkDerivation { @@ -134,7 +135,6 @@ in rec { patches = [ ./0000-fix-SPDK-build-env.patch - ./ceph-glibc-2-32-sigdescr_np.patch ]; nativeBuildInputs = [ diff --git a/pkgs/tools/graphics/wdisplays/default.nix b/pkgs/tools/graphics/wdisplays/default.nix index 2640769d186..073a3b1b6d4 100644 --- a/pkgs/tools/graphics/wdisplays/default.nix +++ b/pkgs/tools/graphics/wdisplays/default.nix @@ -1,36 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, epoxy, wayland, wrapGAppsHook -, fetchpatch -}: +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, epoxy, wayland, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "wdisplays"; - version = "1.0"; + version = "unstable-2021-04-03"; nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ]; buildInputs = [ gtk3 epoxy wayland ]; src = fetchFromGitHub { - owner = "cyclopsian"; + owner = "luispabon"; repo = "wdisplays"; - rev = version; - sha256 = "1xhgrcihja2i7yg54ghbwr1v6kf8jnsfcp364yb97vkxskc4y21y"; + rev = "7f2eac0d2aa81b5f495da7950fd5a94683f7868e"; + sha256 = "sha256-cOF3+T34zPro58maWUouGG+vlLm2C5NfcH7PZhSvApE="; }; - patches = [ - # Fixes `Gdk-Message: 10:26:38.752: Error reading events from display: Success` - # https://github.com/cyclopsian/wdisplays/pull/20 - (fetchpatch { - url = "https://github.com/cyclopsian/wdisplays/commit/5198a9c94b40ff157c284df413be5402f1b75118.patch"; - sha256 = "1xwphyn0ksf8isy9dz3mfdhmsz4jv02870qz5615zs7aqqfcwn85"; - }) - ]; - meta = with lib; { description = "A graphical application for configuring displays in Wayland compositors"; - homepage = "https://github.com/cyclopsian/wdisplays"; - maintainers = with lib.maintainers; [ lheckemann ma27 ]; - license = lib.licenses.mit; - platforms = lib.platforms.linux; + homepage = "https://github.com/luispabon/wdisplays"; + maintainers = with maintainers; [ lheckemann ma27 ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix index 560393b3193..f4df324fa05 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "fcitx5-lua"; - version = "5.0.3"; + version = "5.0.4"; src = fetchFromGitHub { owner = "fcitx"; repo = "fcitx5-lua"; rev = version; - sha256 = "sha256-46s3F3NHGuef0wPhYiPocms0jv5Vo+cVRd5FzlfjMZY="; + sha256 = "sha256-1gKfFq+x/tCOYqESO49Qddp5z6zXO7ULjTJgDEl8BqI="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix index bfb06a98e8f..b24dac6886d 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix @@ -12,13 +12,13 @@ mkDerivation rec { pname = "fcitx5-qt"; - version = "5.0.2"; + version = "5.0.4"; src = fetchFromGitHub { owner = "fcitx"; repo = "fcitx5-qt"; rev = version; - sha256 = "sha256-QylvjhjiIujYGKFtL4bKVXpobkN5t6Q2MGf16dsL24A="; + sha256 = "sha256-PZbnxt30Tv7i+Q6G9UpGgWDs65rn0MZVe1ybhz4vN9I="; }; preConfigure = '' diff --git a/pkgs/tools/misc/disfetch/default.nix b/pkgs/tools/misc/disfetch/default.nix index 58f7da84fc0..865769dc56c 100644 --- a/pkgs/tools/misc/disfetch/default.nix +++ b/pkgs/tools/misc/disfetch/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "disfetch"; - version = "1.21"; + version = "1.22"; src = fetchFromGitHub { owner = "llathasa-veleth"; repo = "disfetch"; rev = version; - sha256 = "sha256-AAfpv1paEnHu1S2B8yC0hyYOj5deKTkCyLGvp6Roz64="; + sha256 = "sha256-fNmoaEwRrm6EFe+BwOTwAs1THMYhcal1eshXf+1mVQg="; }; dontBuild = true; diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix index 9635b6b4238..c544bbd03a1 100644 --- a/pkgs/tools/misc/lorri/default.nix +++ b/pkgs/tools/misc/lorri/default.nix @@ -12,10 +12,10 @@ let # Run `eval $(nix-build -A lorri.updater)` after updating the revision! - version = "1.3.1"; - gitRev = "df83b9b175fecc8ec8b02096c5cfe2db3d00b92e"; - sha256 = "1df6p0b482vhymw3z7gimc441jr7aix9lhdbcm5wjvw9f276016f"; - cargoSha256 = "1f9b2h3zakw7qmlnc4rqhxnw80sl5h4mj8cghr82iacxwqz499ql"; + version = "1.4.0"; + gitRev = "fee4ffac9ee16fc921d413789cc059b043f2db3d"; + sha256 = "sha256:0ix0k85ywlvkxsampajkq521d290gb0n60qwhnk6j0sc55yn558h"; + cargoSha256 = "sha256:1ngn4wnyh6cjnyg7mb48zvng0zn5fcn8s75y88nh91xq9x1bi2d9"; in (rustPlatform.buildRustPackage rec { pname = "lorri"; diff --git a/pkgs/tools/misc/osm2pgsql/default.nix b/pkgs/tools/misc/osm2pgsql/default.nix index a6b8d01dd46..4d959c6480a 100644 --- a/pkgs/tools/misc/osm2pgsql/default.nix +++ b/pkgs/tools/misc/osm2pgsql/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "osm2pgsql"; - version = "1.4.1"; + version = "1.4.2"; src = fetchFromGitHub { owner = "openstreetmap"; repo = pname; rev = version; - sha256 = "0ld43k7xx395hd6kcn8wyacvb1cfjy670lh9w6yhfi78nxqj9mmy"; + sha256 = "141blh6lwbgn8hh45xaa0yiwygdc444h9zahx5xrzx5pck9zb5ps"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix index 09ebbe33a34..8211c5aebc7 100644 --- a/pkgs/tools/misc/rmlint/default.nix +++ b/pkgs/tools/misc/rmlint/default.nix @@ -18,6 +18,8 @@ , wrapGAppsHook , withGui ? false }: +assert withGui -> !stdenv.isDarwin; + with lib; stdenv.mkDerivation rec { pname = "rmlint"; @@ -30,12 +32,9 @@ stdenv.mkDerivation rec { sha256 = "15xfkcw1bkfyf3z8kl23k3rlv702m0h7ghqxvhniynvlwbgh6j2x"; }; - CFLAGS="-I${lib.getDev util-linux}/include"; - nativeBuildInputs = [ pkg-config sphinx - gettext scons ] ++ lib.optionals withGui [ makeWrapper @@ -57,9 +56,21 @@ stdenv.mkDerivation rec { python3.pkgs.pygobject3 ]; - # this doesn't seem to support configureFlags, and appends $out afterwards, - # so add the --without-gui in front of it - prefixKey = lib.optionalString (!withGui) " --without-gui " + "--prefix="; + prePatch = '' + export CFLAGS="$NIX_CFLAGS_COMPILE" + export LDFLAGS="''${NIX_LDFLAGS//-rpath /-Wl,-rpath=}" + + # remove sources of nondeterminism + substituteInPlace lib/cmdline.c \ + --replace "__DATE__" "\"Jan 1 1970\"" \ + --replace "__TIME__" "\"00:00:00\"" + substituteInPlace docs/SConscript \ + --replace "gzip -c " "gzip -cn " + ''; + + prefixKey = "--prefix="; + + sconsFlags = lib.optionals (!withGui) [ "--without-gui" ]; # in GUI mode, this shells out to itself, and tries to import python modules postInstall = lib.optionalString withGui '' @@ -70,8 +81,8 @@ stdenv.mkDerivation rec { meta = { description = "Extremely fast tool to remove duplicates and other lint from your filesystem"; homepage = "https://rmlint.readthedocs.org"; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.gpl3; - maintainers = [ maintainers.koral ]; + maintainers = with maintainers; [ aaschmid koral ]; }; } diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix index 5f80dad854e..5a264db2d4d 100644 --- a/pkgs/tools/misc/watchexec/default.nix +++ b/pkgs/tools/misc/watchexec/default.nix @@ -1,21 +1,21 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles }: +{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles, libiconv }: rustPlatform.buildRustPackage rec { pname = "watchexec"; - version = "1.14.1"; + version = "1.15.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "0m4hipjgg64572lzqy9hz4iq9c4awc93c9rmnpap5iyi855x7idj"; + sha256 = "1b0ds04q4g8xcgwkziwb5hsi7v73w9y0prvhxz880zzh930652n2"; }; - cargoSha256 = "0035pqr61mdx699hd4f8hnxknvsdg67l6ys7gxym3fzd9dcmqqff"; + cargoSha256 = "0jpfgyz5l4fdb5cnqmadzjzrvc6dwgray4b0mx80pghpjw8a8qfb"; nativeBuildInputs = [ installShellFiles ]; - buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; + buildInputs = lib.optionals stdenv.isDarwin [ CoreServices libiconv ]; postInstall = '' installManPage doc/watchexec.1 @@ -27,6 +27,5 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/watchexec/watchexec"; license = with licenses; [ asl20 ]; maintainers = [ maintainers.michalrus ]; - platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix index ede7dce2724..9cad36c68a6 100644 --- a/pkgs/tools/networking/clash/default.nix +++ b/pkgs/tools/networking/clash/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "clash"; - version = "1.4.2"; + version = "1.5.0"; src = fetchFromGitHub { owner = "Dreamacro"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ObnlcKTuO/yFNMXLwGvRTLnz18bNquq6dye2qpL7+VM="; + sha256 = "sha256-I4qpcHsN8WGt7YLNXO08BJypilhMSVmZjqECDjlEqXU="; }; - vendorSha256 = "sha256-6ZQMDXc2NFs6l/DWPPCFJ+c40764hXzFTdi1Pxk1fnU="; + vendorSha256 = "sha256-Nfzk7p52msGxTPDbs4g9KuRPFxp4Npt0QXkdVOZvipc="; doCheck = false; diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix index 0b36c76ca62..20256aa006b 100644 --- a/pkgs/tools/networking/dnsproxy/default.nix +++ b/pkgs/tools/networking/dnsproxy/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "dnsproxy"; - version = "0.36.0"; + version = "0.37.0"; src = fetchFromGitHub { owner = "AdguardTeam"; repo = pname; rev = "v${version}"; - sha256 = "sha256-VTmQ37kUWlc18p8Qdm2ZFID+t6OIp7y2qU12rXqE6Xo="; + sha256 = "sha256-3zsEEq6pVo5yHY4v5TXhZo4jo6htjCYypzxMMv8zQGE="; }; vendorSha256 = null; diff --git a/pkgs/tools/networking/oapi-codegen/default.nix b/pkgs/tools/networking/oapi-codegen/default.nix index 583189f57db..ce490cafef6 100644 --- a/pkgs/tools/networking/oapi-codegen/default.nix +++ b/pkgs/tools/networking/oapi-codegen/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "oapi-codegen"; - version = "1.5.6"; + version = "1.6.0"; src = fetchFromGitHub { owner = "deepmap"; repo = pname; rev = "v${version}"; - sha256 = "sha256-edIm1O+LQdmKhH8/5WuSsxVtOcf3VlkObGjIY+30mms="; + sha256 = "sha256-doJ1ceuJ/gL9vlGgV/hKIJeAErAseH0dtHKJX2z7pV0="; }; - vendorSha256 = "sha256-lhWnPZavtBEa4A76rvr0xw3L5W6HYK1Uw+PW8z8gWuU="; + vendorSha256 = "sha256-Y4WM+o+5jiwj8/99UyNHLpBNbtJkKteIGW2P1Jd9L6M="; # Tests use network doCheck = false; diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix index 286b3207347..5b5d8ee1545 100644 --- a/pkgs/tools/networking/shadowsocks-rust/default.nix +++ b/pkgs/tools/networking/shadowsocks-rust/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "shadowsocks-rust"; - version = "1.10.3"; + version = "1.10.5"; src = fetchFromGitHub { rev = "v${version}"; owner = "shadowsocks"; repo = pname; - sha256 = "1ds2270pw187hbg01lcqxw0631m0ypvbza47z5ndgn6dxprga9wk"; + sha256 = "0nagn7792qniczzv0912h89bn8rm8hyikdiw7cqwknx0hw8dwz1z"; }; - cargoSha256 = "0aarhv78ab3z893cgiixxjpxl6xcwi96saavnzw4zd68988lb24r"; + cargoSha256 = "0arqc0wnvfkmk8xzsdc6fvd1adazrw950ld8xyh7r588pyphjmhn"; RUSTC_BOOTSTRAP = 1; diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index 71c435df0c5..f1fe0527639 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -1,22 +1,14 @@ -{ lib, stdenv, fetchurl, libpcap, perl, fetchpatch }: +{ lib, stdenv, fetchurl, libpcap, perl }: stdenv.mkDerivation rec { pname = "tcpdump"; - version = "4.9.3"; + version = "4.99.0"; src = fetchurl { url = "http://www.tcpdump.org/release/${pname}-${version}.tar.gz"; - sha256 = "0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c"; + sha256 = "0hmqh2fx8rgs9v1mk3vpywj61xvkifz260q685xllxr8jmxg3wlc"; }; - patches = [ - # Patch for CVE-2020-8037 - (fetchpatch { - url = "https://github.com/the-tcpdump-group/tcpdump/commit/32027e199368dad9508965aae8cd8de5b6ab5231.patch"; - sha256 = "sha256-bO3aV032ru9+M/9isBRjmH8jTZLKj9Zf9ha2rmOaZwc="; - }) - ]; - postPatch = '' patchShebangs tests ''; @@ -29,11 +21,11 @@ stdenv.mkDerivation rec { (stdenv.hostPlatform != stdenv.buildPlatform) "ac_cv_linux_vers=2"; - meta = { + meta = with lib; { description = "Network sniffer"; - homepage = "http://www.tcpdump.org/"; - license = "BSD-style"; - maintainers = with lib.maintainers; [ globin ]; - platforms = lib.platforms.unix; + homepage = "https://www.tcpdump.org/"; + license = licenses.bsd3; + maintainers = with maintainers; [ globin ]; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/security/chipsec/compile-ko.diff b/pkgs/tools/security/chipsec/compile-ko.diff new file mode 100644 index 00000000000..0ab2c80a625 --- /dev/null +++ b/pkgs/tools/security/chipsec/compile-ko.diff @@ -0,0 +1,13 @@ +diff --git i/setup.py w/setup.py +index cfe2665..5795874 100755 +--- i/setup.py ++++ w/setup.py +@@ -179,7 +179,7 @@ class build_ext(_build_ext): + driver_build_function = self._build_win_driver + self._build_win_compression() + +- if not self.skip_driver: ++ if True: + driver_build_function() + + def get_source_files(self): diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix index 7e00c0b07cf..fbb9c421e35 100644 --- a/pkgs/tools/security/chipsec/default.nix +++ b/pkgs/tools/security/chipsec/default.nix @@ -1,29 +1,54 @@ -{ stdenv, lib, fetchFromGitHub, python2Packages, nasm, libelf -, kernel ? null, withDriver ? false }: -python2Packages.buildPythonApplication rec { +{ lib +, stdenv +, fetchFromGitHub +, kernel ? null +, libelf +, nasm +, python3 +, withDriver ? false +}: + +python3.pkgs.buildPythonApplication rec { pname = "chipsec"; - version = "1.5.1"; + version = "1.6.1"; + disabled = !stdenv.isLinux; src = fetchFromGitHub { owner = "chipsec"; repo = "chipsec"; rev = version; - sha256 = "1rxr9i08a22m15slvlkrhnki30jixi2ds096kmmc2nqzfr9yibmb"; + sha256 = "01sp24z63r3nqxx57zc4873b8i5dqipy7yrxzrwjns531vznhiy2"; }; - disabled = !stdenv.isLinux; + patches = lib.optionals withDriver [ ./ko-path.diff ./compile-ko.diff ]; + + KSRC = lib.optionalString withDriver "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; nativeBuildInputs = [ - nasm libelf + libelf + nasm ]; - setupPyBuildFlags = lib.optional (!withDriver) "--skip-driver"; + checkInputs = [ + python3.pkgs.distro + python3.pkgs.pytestCheckHook + ]; - checkPhase = "python setup.py build " - + lib.optionalString (!withDriver) "--skip-driver " - + "test"; + preBuild = lib.optionalString withDriver '' + export CHIPSEC_BUILD_LIB=$(mktemp -d) + mkdir -p $CHIPSEC_BUILD_LIB/chipsec/helper/linux + ''; - KERNEL_SRC_DIR = lib.optionalString withDriver "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + preInstall = lib.optionalString withDriver '' + mkdir -p $out/${python3.pkgs.python.sitePackages}/drivers/linux + mv $CHIPSEC_BUILD_LIB/chipsec/helper/linux/chipsec.ko \ + $out/${python3.pkgs.python.sitePackages}/drivers/linux/chipsec.ko + ''; + + setupPyBuildFlags = [ "--build-lib=$CHIPSEC_BUILD_LIB" ] + ++ lib.optional (!withDriver) "--skip-driver"; + + pythonImportsCheck = [ "chipsec" ]; meta = with lib; { description = "Platform Security Assessment Framework"; @@ -34,7 +59,7 @@ python2Packages.buildPythonApplication rec { interfaces, and forensic capabilities. It can be run on Windows, Linux, Mac OS X and UEFI shell. ''; - license = licenses.gpl2; + license = licenses.gpl2Only; homepage = "https://github.com/chipsec/chipsec"; maintainers = with maintainers; [ johnazoidberg ]; platforms = if withDriver then [ "x86_64-linux" ] else platforms.all; diff --git a/pkgs/tools/security/chipsec/ko-path.diff b/pkgs/tools/security/chipsec/ko-path.diff new file mode 100644 index 00000000000..ad26d232d96 --- /dev/null +++ b/pkgs/tools/security/chipsec/ko-path.diff @@ -0,0 +1,13 @@ +diff --git c/chipsec/helper/linux/linuxhelper.py i/chipsec/helper/linux/linuxhelper.py +index c51b5e6..4be05ea 100644 +--- c/chipsec/helper/linux/linuxhelper.py ++++ i/chipsec/helper/linux/linuxhelper.py +@@ -152,7 +152,7 @@ class LinuxHelper(Helper): + else: + a2 = "a2=0x{}".format(phys_mem_access_prot) + +- driver_path = os.path.join(chipsec.file.get_main_dir(), "chipsec", "helper", "linux", "chipsec.ko" ) ++ driver_path = os.path.join(chipsec.file.get_main_dir(), "drivers", "linux", "chipsec.ko" ) + if not os.path.exists(driver_path): + driver_path += ".xz" + if not os.path.exists(driver_path): diff --git a/pkgs/tools/security/clevis/default.nix b/pkgs/tools/security/clevis/default.nix index 36b5ab47304..7f26dcabb7d 100644 --- a/pkgs/tools/security/clevis/default.nix +++ b/pkgs/tools/security/clevis/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "clevis"; - version = "15"; + version = "16"; src = fetchFromGitHub { owner = "latchset"; repo = pname; rev = "v${version}"; - sha256 = "0wfgd2v1r47ckh5qp60b903191fx0fa27zyadxlsb8riqszhmwvz"; + sha256 = "sha256-DWrxk+Nb2ptF5nCaXYvRY8hAFa/n+6OGdKWO+Sq61yk="; }; nativeBuildInputs = [ meson ninja pkg-config asciidoc ]; diff --git a/pkgs/tools/security/dnsx/default.nix b/pkgs/tools/security/dnsx/default.nix index 35f033cb983..9b1457554fc 100644 --- a/pkgs/tools/security/dnsx/default.nix +++ b/pkgs/tools/security/dnsx/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "dnsx"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "dnsx"; rev = "v${version}"; - sha256 = "1pgq21pbnz2dm272zrhd455njj5vg4kywpd230acj675nlgir6y1"; + sha256 = "sha256-CjWFXYU34PE4I9xihQbPxVcxLyiMCYueuaB/LaXhHQg="; }; - vendorSha256 = "0j2cqvskzxbyfrvsv4gm4qwfjm0digizcg157z5iignnknddajax"; + vendorSha256 = "sha256-vTXvlpXpFf78Cwxq/y6ysSeXM3g71kHBn9zd6c4mxlk="; meta = with lib; { description = "Fast and multi-purpose DNS toolkit"; diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix index 9e34b07121f..685280ab4ad 100644 --- a/pkgs/tools/security/gitleaks/default.nix +++ b/pkgs/tools/security/gitleaks/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "gitleaks"; - version = "7.3.0"; + version = "7.4.0"; src = fetchFromGitHub { owner = "zricethezav"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IJaumIFuIhrvXZ45uz8RUxAuprnWdv2lNzxNUascvVc="; + sha256 = "sha256-AY9pOARFAqIOimhcwEyau2MwJCFsWu8I36P7Z0xyJH0="; }; vendorSha256 = "sha256-Cc4DJPpOMHxDcH22S7znYo7QHNRXv8jOJhznu09kaE4="; diff --git a/pkgs/tools/security/hfinger/default.nix b/pkgs/tools/security/hfinger/default.nix new file mode 100644 index 00000000000..9e053276ecf --- /dev/null +++ b/pkgs/tools/security/hfinger/default.nix @@ -0,0 +1,36 @@ +{ lib +, fetchFromGitHub +, python3 +, wireshark-cli +}: + +python3.pkgs.buildPythonApplication rec { + pname = "hfinger"; + version = "0.2.0"; + disabled = python3.pythonOlder "3.3"; + + src = fetchFromGitHub { + owner = "CERT-Polska"; + repo = pname; + rev = "v${version}"; + sha256 = "1vz8mf572qyng684fvb9gdwaaiybk7mjmikbymvjvy24d10raak1"; + }; + + propagatedBuildInputs = with python3.pkgs; [ + fnvhash + python_magic + ] ++ [ + wireshark-cli + ]; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "hfinger" ]; + + meta = with lib; { + description = "Fingerprinting tool for HTTP requests"; + homepage = "https://github.com/CERT-Polska/hfinger"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/tools/security/httpx/default.nix b/pkgs/tools/security/httpx/default.nix index bff9e03bc6f..129395912f9 100644 --- a/pkgs/tools/security/httpx/default.nix +++ b/pkgs/tools/security/httpx/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "httpx"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "httpx"; rev = "v${version}"; - sha256 = "15ihc5926kbai16i59c7bmvgd162qq9dpd52g4vrp7dq4jrz155m"; + sha256 = "sha256-w5CNvtlhvm1SyAKaoA7Fw8ZSY9Z78MentrSNS4mpr1Q="; }; - vendorSha256 = "0fg93vhwpx113fpw8qg4ram4bdh6a8x3a36pr1c962s4vhrabwy2"; + vendorSha256 = "sha256-VBxGapvC2QE/0slsAiCBzmwOSMeGepZU0pYVDepSrwg="; meta = with lib; { description = "Fast and multi-purpose HTTP toolkit"; diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix index 839c48c320a..c9479dca906 100644 --- a/pkgs/tools/system/gdu/default.nix +++ b/pkgs/tools/system/gdu/default.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "gdu"; - version = "4.9.1"; + version = "4.10.0"; src = fetchFromGitHub { owner = "dundee"; repo = pname; rev = "v${version}"; - sha256 = "sha256-blvnwsmcHf0yH2C/NUCsVQECIH4SI0BTNiMzCuNd0H0="; + sha256 = "sha256-qYxWjvXGaygoe88muQmQWlDJfM04wqxHy8+l7KO688U="; }; vendorSha256 = "sha256-QiO5p0x8kmIN6f0uYS0IR2MlWtRYTHeZpW6Nmupjias="; diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix index e9ceaffa734..632a318e862 100644 --- a/pkgs/tools/text/amber/default.nix +++ b/pkgs/tools/text/amber/default.nix @@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec { pname = "amber"; - version = "0.5.8"; + version = "0.5.9"; src = fetchFromGitHub { owner = "dalance"; repo = pname; rev = "v${version}"; - sha256 = "0j9h9zzg6n4mhq2bqj71k5db595ilbgd9dn6ygmzsm74619q4454"; + sha256 = "sha256-mmgJCD7kJjvpxyagsoe5CSzqIEZcIiYMAMP3axRphv4="; }; - cargoSha256 = "0h47xqqq8f8m28rl1s6r305cf3dvk94aa86j6m0rk535i2jqfvhp"; + cargoSha256 = "sha256-opRinhTmhZxpAwHNiVOLXL8boQf09Y1NXrWQ6HWQYQ0="; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/pkgs/tools/text/frangipanni/default.nix b/pkgs/tools/text/frangipanni/default.nix index 1f0dcfa9417..def134af505 100644 --- a/pkgs/tools/text/frangipanni/default.nix +++ b/pkgs/tools/text/frangipanni/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "frangipanni"; - version = "0.4.0"; + version = "0.4.2"; src = fetchFromGitHub { owner = "birchb1024"; repo = "frangipanni"; rev = "v${version}"; - sha256 = "sha256-NgRDXrAsfnj1cqO+2AN8nSuxS9KGNIl+pJkCADmDOqY="; + sha256 = "sha256-RzXfsaT/CUyWCpB5JGgl511gxgvzerqgwjpORgzyPCQ="; }; vendorSha256 = "sha256-TSN5M/UCTtfoTf1hDCfrJMCFdSwL/NVXssgt4aefom8="; diff --git a/pkgs/tools/typesetting/tex/mftrace/default.nix b/pkgs/tools/typesetting/tex/mftrace/default.nix new file mode 100644 index 00000000000..627b0843658 --- /dev/null +++ b/pkgs/tools/typesetting/tex/mftrace/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, fetchFromGitHub +, lib +, makeWrapper +, autoreconfHook +, buildEnv +, python3 +, fontforge +, potrace +, texlive +}: + +/* + To use with a texlive distribution, ensure that the desired fonts and + the packages kpathsea, t1utils, metafont are available at runtime. + + Possible overrides: + - potrace = autotrace + - fontforge = ghostscript (limited functionality) + - fontforge = null (limited functionality) +*/ + +let self = stdenv.mkDerivation rec { + pname = "mftrace"; + version = "1.2.20"; + + # https://lilypond.org/download/sources/mftrace/mftrace-1.2.20.tar.gz + # is incomplete, fetch repo and use autoconf instead + # see https://github.com/hanwen/mftrace/issues/13 + src = fetchFromGitHub { + owner = "hanwen"; + repo = "mftrace"; + rev = "release/${version}"; + sha256 = "02ik25aczkbi10jrjlnxby3fmixxrwm2k5r4fkfif3bjfym7nqbc"; + }; + + nativeBuildInputs = [ makeWrapper autoreconfHook python3 potrace ]; + + buildInputs = [ fontforge potrace ]; + + postInstall = '' + wrapProgram $out/bin/mftrace --prefix PATH : ${lib.makeBinPath buildInputs} + ''; + + # experimental texlive.combine support + # (note that only the bin/ folder will be combined into texlive) + passthru.tlType = "bin"; + passthru.pkgs = [ self ] ++ + (with texlive; kpathsea.pkgs ++ t1utils.pkgs ++ metafont.pkgs); + + meta = with lib; { + description = "Scalable PostScript Fonts for MetaFont"; + longDescription = '' + mftrace is a small Python program that lets you trace a TeX bitmap + font into a PFA or PFB font (A PostScript Type1 Scalable Font) or + TTF (TrueType) font. + ''; + homepage = "https://lilypond.org/mftrace/"; + license = with licenses; [ gpl2Only mit ]; + maintainers = with maintainers; [ xworld21 ]; + platforms = platforms.all; + }; +}; in self diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix index 47953d21dfe..ba343fe657b 100644 --- a/pkgs/tools/virtualization/linode-cli/default.nix +++ b/pkgs/tools/virtualization/linode-cli/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonApplication , fetchFromGitHub -, fetchpatch , fetchurl , terminaltables , colorclass @@ -13,31 +12,23 @@ let spec = fetchurl { - url = "https://raw.githubusercontent.com/linode/linode-api-docs/v4.67.0/openapi.yaml"; - sha256 = "0vsblprkqlr9508x5rkm0wj6lc3w72xiwiqxia9asgr5k45hhfnr"; + url = "https://raw.githubusercontent.com/linode/linode-api-docs/v4.89.0/openapi.yaml"; + sha256 = "sha256-R7Dmq8ifGEjh47ftuoGrbymYBsPCj/ULz0j1OqJDcwY="; }; in buildPythonApplication rec { pname = "linode-cli"; - version = "2.15.0"; + version = "5.0.1"; src = fetchFromGitHub { owner = "linode"; repo = pname; rev = version; - sha256 = "06iz9xjj6h1ry176558488fl9j18a5vf724zh4cxlcksdy72dnna"; + sha256 = "sha256-zelopRaHaDCnbYA/y7dNMBh70g0+wuc6t9LH/VLaUIk="; }; - patches = [ - # make enum34 depend on python version - ( fetchpatch { - url = "https://github.com/linode/linode-cli/pull/184/commits/4cf55759c5da33fbc49b9ba664698875d67d4f76.patch"; - sha256 = "04n9a6yh0abyyymvfzajhav6qxwvzjl2vs8jnqp3yqrma7kl0slj"; - }) - ]; - # remove need for git history prePatch = '' substituteInPlace setup.py \ diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 720d2dcdd9e..c1ec9f9d114 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -729,6 +729,7 @@ mapAliases ({ sup = throw "sup was deprecated on 2019-09-10: abandoned by upstream"; swfdec = throw "swfdec has been removed as broken and unmaintained."; # added 2020-08-23 swtpm-tpm2 = swtpm; # added 2021-02-26 + syncthing-cli = syncthing; # added 2021-04-06 system_config_printer = system-config-printer; # added 2016-01-03 systemd-cryptsetup-generator = throw "systemd-cryptsetup-generator is now included in the systemd package"; # added 2020-07-12 systemd_with_lvm2 = throw "systemd_with_lvm2 is obsolete, enabled by default via the lvm module"; # added 2020-07-12 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 91e3e9c70a3..6bca83b0bbc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -562,6 +562,7 @@ in ociTools = callPackage ../build-support/oci-tools { }; octant = callPackage ../applications/networking/cluster/octant { }; + octant-desktop = callPackage ../applications/networking/cluster/octant/desktop.nix { }; starboard-octant-plugin = callPackage ../applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix { }; pathsFromGraph = ../build-support/kernel/paths-from-graph.pl; @@ -4888,6 +4889,8 @@ in github-backup = callPackage ../tools/misc/github-backup { }; + github-runner = callPackage ../development/tools/continuous-integration/github-runner { }; + gitin = callPackage ../applications/version-management/git-and-tools/gitin { }; gitinspector = callPackage ../applications/version-management/gitinspector { }; @@ -5488,6 +5491,8 @@ in idle3tools = callPackage ../tools/system/idle3tools { }; + ifcopenshell = with python3Packages; toPythonApplication ifcopenshell; + iftop = callPackage ../tools/networking/iftop { }; ifuse = callPackage ../tools/filesystems/ifuse { }; @@ -6026,7 +6031,9 @@ in inherit (python3Packages) ansi2html; }; - medfile = callPackage ../development/libraries/medfile { }; + medfile = callPackage ../development/libraries/medfile { + hdf5 = hdf5.override { usev110Api = true; }; + }; meilisearch = callPackage ../servers/search/meilisearch { inherit (darwin.apple_sdk.frameworks) IOKit Security; @@ -6036,6 +6043,8 @@ in mesa-demos = callPackage ../tools/graphics/mesa-demos { }; + mftrace = callPackage ../tools/typesetting/tex/mftrace { }; + mhonarc = perlPackages.MHonArc; minergate = callPackage ../applications/misc/minergate { }; @@ -8660,6 +8669,8 @@ in tex-match = callPackage ../tools/typesetting/tex/tex-match { }; + tf2pulumi = callPackage ../development/tools/tf2pulumi { }; + thc-hydra = callPackage ../tools/security/thc-hydra { }; thc-ipv6 = callPackage ../tools/security/thc-ipv6 { }; @@ -10815,6 +10826,8 @@ in javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { }; + juniper = callPackage ../development/compilers/juniper/default.nix { }; + julia_10 = callPackage ../development/compilers/julia/1.0.nix { gmp = gmp6; inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; @@ -11316,10 +11329,10 @@ in rustracerd = callPackage ../development/tools/rust/racerd { inherit (darwin.apple_sdk.frameworks) Security; }; - inherit (callPackage ../development/tools/rust/rust-analyzer { + rust-analyzer-unwrapped = callPackage ../development/tools/rust/rust-analyzer { inherit (darwin.apple_sdk.frameworks) CoreServices; - }) - rust-analyzer-unwrapped rust-analyzer; + }; + rust-analyzer = callPackage ../development/tools/rust/rust-analyzer/wrapper.nix { }; rust-bindgen = callPackage ../development/tools/rust/bindgen { }; rust-cbindgen = callPackage ../development/tools/rust/cbindgen { inherit (darwin.apple_sdk.frameworks) Security; @@ -14755,6 +14768,8 @@ in hdt = callPackage ../misc/hdt {}; + hfinger = callPackage ../tools/security/hfinger { }; + herqq = libsForQt5.callPackage ../development/libraries/herqq { }; hidapi = callPackage ../development/libraries/hidapi { @@ -17267,6 +17282,7 @@ in s6-portable-utils = callPackage ../tools/misc/s6-portable-utils { }; s6-rc = callPackage ../tools/system/s6-rc { }; + mdevd = callPackage ../os-specific/linux/mdevd { }; nsss = callPackage ../development/libraries/nsss { }; utmps = callPackage ../development/libraries/utmps { }; sdnotify-wrapper = callPackage ../os-specific/linux/sdnotify-wrapper { }; @@ -19106,6 +19122,9 @@ in sogo = callPackage ../servers/web-apps/sogo { }; + spacecookie = + haskell.lib.justStaticExecutables haskellPackages.spacecookie; + spawn_fcgi = callPackage ../servers/http/spawn-fcgi { }; spring-boot-cli = callPackage ../development/tools/spring-boot-cli { }; @@ -19280,6 +19299,8 @@ in alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { }; + alertmanager-irc-relay = callPackage ../servers/monitoring/alertmanager-irc-relay { }; + alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { }; alsaLib = callPackage ../os-specific/linux/alsa-lib { }; @@ -20257,6 +20278,8 @@ in mdadm = mdadm4; mdadm4 = callPackage ../os-specific/linux/mdadm { }; + inherit (skawarePackages) mdevd; + metastore = callPackage ../os-specific/linux/metastore { }; mingetty = callPackage ../os-specific/linux/mingetty { }; @@ -21738,6 +21761,8 @@ in masterpdfeditor4 = libsForQt5.callPackage ../applications/misc/masterpdfeditor4 { }; + foxitreader = libsForQt512.callPackage ../applications/misc/foxitreader { }; + aeolus = callPackage ../applications/audio/aeolus { }; aewan = callPackage ../applications/editors/aewan { }; @@ -22672,6 +22697,8 @@ in focuswriter = libsForQt5.callPackage ../applications/editors/focuswriter { }; + foliate = callPackage ../applications/office/foliate { }; + fondo = callPackage ../applications/graphics/fondo { }; font-manager = callPackage ../applications/misc/font-manager { }; @@ -23885,6 +23912,8 @@ in ffmpeg = ffmpeg_2; }; + kitsas = libsForQt5.callPackage ../applications/office/kitsas { }; + kiwix = libsForQt5.callPackage ../applications/misc/kiwix { }; klayout = libsForQt5.callPackage ../applications/misc/klayout { }; @@ -23901,6 +23930,8 @@ in konversation = libsForQt5.callPackage ../applications/networking/irc/konversation { }; + kooha = callPackage ../applications/video/kooha { }; + kotatogram-desktop = libsForQt514.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { }; kpt = callPackage ../applications/networking/cluster/kpt { }; @@ -24862,6 +24893,8 @@ in obs-move-transition = callPackage ../applications/video/obs-studio/obs-move-transition.nix { }; + obs-multi-rtmp = libsForQt5.callPackage ../applications/video/obs-studio/obs-multi-rtmp.nix { }; + obs-v4l2sink = libsForQt5.callPackage ../applications/video/obs-studio/v4l2sink.nix { }; obs-ndi = libsForQt5.callPackage ../applications/video/obs-studio/obs-ndi.nix { }; @@ -25871,7 +25904,6 @@ in inherit (callPackages ../applications/networking/syncthing { }) syncthing - syncthing-cli syncthing-discovery syncthing-relay; @@ -27307,6 +27339,8 @@ in cbonsai = callPackage ../games/cbonsai { }; + cdogs-sdl = callPackage ../games/cdogs-sdl { }; + chessdb = callPackage ../games/chessdb { }; chessx = libsForQt5.callPackage ../games/chessx { }; @@ -29456,6 +29490,8 @@ in dbus-map = callPackage ../tools/misc/dbus-map { }; + deepspeech = callPackage ../misc/deepspeech { }; + dell-530cdn = callPackage ../misc/drivers/dell-530cdn {}; demjson = with python3Packages; toPythonApplication demjson; @@ -30564,6 +30600,8 @@ in inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL OpenAL; }; + yapesdl = callPackage ../misc/emulators/yapesdl { }; + x16-emulator = callPackage ../misc/emulators/commander-x16/emulator.nix { }; x16-rom = callPackage ../misc/emulators/commander-x16/rom.nix { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 87d4d52d388..790f9c465f9 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1255,32 +1255,31 @@ let janeStreet = if lib.versionOlder "4.08" ocaml.version then import ../development/ocaml-modules/janestreet/0.14.nix { - inherit alcotest angstrom angstrom-async base64 cryptokit ctypes - dune-configurator faraday inotify janePackage js_of_ocaml - js_of_ocaml-ppx lambdasoup magic-mime num octavius ounit - ppxlib re tyxml uri-sexp zarith; + inherit self; inherit (pkgs) openssl zstd; } else if lib.versionOlder "4.07" ocaml.version then import ../development/ocaml-modules/janestreet/0.12.nix { - inherit ctypes janePackage num octavius re; + self = self // { + ppxlib = ppxlib.override { version = "0.8.1"; }; + }; inherit (pkgs) openssl; - ppxlib = ppxlib.override { version = "0.8.1"; }; } else import ../development/ocaml-modules/janestreet { - inherit janePackage ocamlbuild angstrom ctypes cryptokit; - inherit magic-mime num ocaml-migrate-parsetree octavius ounit; - inherit ppx_deriving re; + self = self // { + ppxlib = ppxlib.override { version = "0.8.1"; }; + }; inherit (pkgs) openssl; - ppxlib = ppxlib.override { version = "0.8.1"; }; }; janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix { - janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix { defaultVersion = "0.9.0"; }; - inherit lib ocaml ocamlbuild ctypes cryptokit; - inherit magic-mime num ocaml-migrate-parsetree octavius ounit; - inherit ppx_deriving re zarith; - inherit (pkgs) stdenv openssl; + self = self.janeStreet_0_9_0; + super = self // { + janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix { + defaultVersion = "0.9.0"; + }; + }; + inherit (pkgs) stdenv lib openssl; }; js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dc77324c0b9..bf5777629be 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -245,6 +245,8 @@ in { aioeafm = callPackage ../development/python-modules/aioeafm { }; + aioemonitor = callPackage ../development/python-modules/aioemonitor { }; + aioesphomeapi = callPackage ../development/python-modules/aioesphomeapi { }; aioeventlet = callPackage ../development/python-modules/aioeventlet { }; @@ -279,6 +281,8 @@ in { aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { }; + aiohttp-wsgi = callPackage ../development/python-modules/aiohttp-wsgi { }; + aioitertools = callPackage ../development/python-modules/aioitertools { }; aiobotocore = callPackage ../development/python-modules/aiobotocore { }; @@ -299,6 +303,8 @@ in { aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { }; + aiolip = callPackage ../development/python-modules/aiolip { }; + aiolyric = callPackage ../development/python-modules/aiolyric { }; aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { }; @@ -337,6 +343,8 @@ in { aioswitcher = callPackage ../development/python-modules/aioswitcher { }; + aiosyncthing = callPackage ../development/python-modules/aiosyncthing { }; + aiounifi = callPackage ../development/python-modules/aiounifi { }; aiounittest = callPackage ../development/python-modules/aiounittest { }; @@ -487,6 +495,8 @@ in { arrow = callPackage ../development/python-modules/arrow { }; + arrow_1 = callPackage ../development/python-modules/arrow/1.nix { }; + arviz = callPackage ../development/python-modules/arviz { }; arxiv2bib = callPackage ../development/python-modules/arxiv2bib { }; @@ -2257,6 +2267,8 @@ in { exifread = callPackage ../development/python-modules/exifread { }; + expects = callPackage ../development/python-modules/expects { }; + expiringdict = callPackage ../development/python-modules/expiringdict { }; exrex = callPackage ../development/python-modules/exrex { }; @@ -3127,6 +3139,8 @@ in { homeassistant-pyozw = callPackage ../development/python-modules/homeassistant-pyozw { }; + homematicip = callPackage ../development/python-modules/homematicip { }; + homepluscontrol = callPackage ../development/python-modules/homepluscontrol { }; hoomd-blue = toPythonModule (callPackage ../development/python-modules/hoomd-blue { @@ -3661,6 +3675,10 @@ in { kaptan = callPackage ../development/python-modules/kaptan { }; + karton-classifier = callPackage ../development/python-modules/karton-classifier { }; + + karton-core = callPackage ../development/python-modules/karton-core { }; + kazoo = callPackage ../development/python-modules/kazoo { }; kconfiglib = callPackage ../development/python-modules/kconfiglib { }; @@ -4516,6 +4534,8 @@ in { mysql-connector = callPackage ../development/python-modules/mysql-connector { }; + nad-receiver = callPackage ../development/python-modules/nad-receiver { }; + nagiosplugin = callPackage ../development/python-modules/nagiosplugin { }; namebench = callPackage ../development/python-modules/namebench { }; @@ -4604,6 +4624,8 @@ in { nevow = callPackage ../development/python-modules/nevow { }; + nexia = callPackage ../development/python-modules/nexia { }; + nghttp2 = (toPythonModule (pkgs.nghttp2.override { inherit (self) python cython setuptools; inherit (pkgs) ncurses; @@ -4801,6 +4823,8 @@ in { omegaconf = callPackage ../development/python-modules/omegaconf { }; + omnilogic = callPackage ../development/python-modules/omnilogic { }; + onkyo-eiscp = callPackage ../development/python-modules/onkyo-eiscp { }; onnx = callPackage ../development/python-modules/onnx { }; @@ -5204,6 +5228,8 @@ in { pyshark = callPackage ../development/python-modules/pyshark { }; + pytest-subprocess = callPackage ../development/python-modules/pytest-subprocess { }; + python-codon-tables = callPackage ../development/python-modules/python-codon-tables { }; python-csxcad = callPackage ../development/python-modules/python-csxcad { }; @@ -5601,6 +5627,8 @@ in { PyChromecast = callPackage ../development/python-modules/pychromecast { }; + pyclimacell = callPackage ../development/python-modules/pyclimacell { }; + pyclipper = callPackage ../development/python-modules/pyclipper { }; pycm = callPackage ../development/python-modules/pycm { }; @@ -5654,6 +5682,8 @@ in { pydaikin = callPackage ../development/python-modules/pydaikin { }; + pydanfossair = callPackage ../development/python-modules/pydanfossair { }; + pydantic = callPackage ../development/python-modules/pydantic { }; pydash = callPackage ../development/python-modules/pydash { }; @@ -5696,6 +5726,8 @@ in { pyechonest = callPackage ../development/python-modules/pyechonest { }; + pyeconet = callPackage ../development/python-modules/pyeconet { }; + pyedimax = callPackage ../development/python-modules/pyedimax { }; pyee = callPackage ../development/python-modules/pyee { }; @@ -5704,12 +5736,16 @@ in { pyelftools = callPackage ../development/python-modules/pyelftools { }; + pyemby = callPackage ../development/python-modules/pyemby { }; + pyemd = callPackage ../development/python-modules/pyemd { }; pyenchant = callPackage ../development/python-modules/pyenchant { inherit (pkgs) enchant2; }; + pyenvisalink = callPackage ../development/python-modules/pyenvisalink { }; + pyepsg = callPackage ../development/python-modules/pyepsg { }; pyerfa = callPackage ../development/python-modules/pyerfa { }; @@ -5730,6 +5766,8 @@ in { pyext = callPackage ../development/python-modules/pyext { }; + pyezviz = callPackage ../development/python-modules/pyezviz { }; + pyface = callPackage ../development/python-modules/pyface { }; pyfaidx = callPackage ../development/python-modules/pyfaidx { }; @@ -5869,6 +5907,8 @@ in { pyinsteon = callPackage ../development/python-modules/pyinsteon { }; + pyintesishome = callPackage ../development/python-modules/pyintesishome { }; + pyipp = callPackage ../development/python-modules/pyipp { }; pyiqvia = callPackage ../development/python-modules/pyiqvia { }; @@ -5967,6 +6007,8 @@ in { pylutron = callPackage ../development/python-modules/pylutron { }; + pylutron-caseta = callPackage ../development/python-modules/pylutron-caseta { }; + pylxd = callPackage ../development/python-modules/pylxd { }; pymacaroons = callPackage ../development/python-modules/pymacaroons { }; @@ -6279,6 +6321,8 @@ in { pyrtlsdr = callPackage ../development/python-modules/pyrtlsdr { }; + pyruckus = callPackage ../development/python-modules/pyruckus { }; + pysam = callPackage ../development/python-modules/pysam { }; pysaml2 = callPackage ../development/python-modules/pysaml2 { @@ -6724,6 +6768,8 @@ in { pythonefl = callPackage ../development/python-modules/python-efl { }; + pythonegardia = callPackage ../development/python-modules/pythonegardia { }; + python-engineio = callPackage ../development/python-modules/python-engineio { }; python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { }; @@ -7778,6 +7824,8 @@ in { sleekxmpp = callPackage ../development/python-modules/sleekxmpp { }; + sleepyq = callPackage ../development/python-modules/sleepyq { }; + slicedimage = callPackage ../development/python-modules/slicedimage { }; slicer = callPackage ../development/python-modules/slicer { }; @@ -7917,6 +7965,8 @@ in { sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { }; + sphinxcontrib-bayesnet = callPackage ../development/python-modules/sphinxcontrib-bayesnet { }; + sphinxcontrib-bibtex = callPackage ../development/python-modules/sphinxcontrib-bibtex { }; sphinxcontrib-blockdiag = callPackage ../development/python-modules/sphinxcontrib-blockdiag { };