diff --git a/.github/workflows/direct-push.yml b/.github/workflows/direct-push.yml
new file mode 100644
index 000000000000..6177004295ff
--- /dev/null
+++ b/.github/workflows/direct-push.yml
@@ -0,0 +1,29 @@
+name: "Direct Push Warning"
+on:
+ push:
+ branches:
+ - master
+ - release-**
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ if: github.repository_owner == 'NixOS'
+ env:
+ GITHUB_SHA: ${{ github.sha }}
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ steps:
+ - name: Check if commit is a merge commit
+ id: ismerge
+ run: |
+ ISMERGE=$(curl -H 'Accept: application/vnd.github.groot-preview+json' -H "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/repos/${{ env.GITHUB_REPOSITORY }}/commits/${{ env.GITHUB_SHA }}/pulls | jq -r '.[] | select(.merge_commit_sha == "${{ env.GITHUB_SHA }}") | any')
+ echo "::set-output name=ismerge::$ISMERGE"
+ - name: Warn if the commit was a direct push
+ if: steps.ismerge.outputs.ismerge != 'true'
+ uses: peter-evans/commit-comment@v1
+ with:
+ body: |
+ @${{ github.actor }}, you pushed a commit directly to master/release branch
+ instead of going through a Pull Request.
+
+ That's highly discouraged beyond the few exceptions listed
+ on https://github.com/NixOS/nixpkgs/issues/118661
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 66ba4f5edef7..474987bbf722 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -374,6 +374,12 @@
githubId = 786394;
name = "Alexander Krupenkin ";
};
+ akshgpt7 = {
+ email = "akshgpt7@gmail.com";
+ github = "akshgpt7";
+ githubId = 20405311;
+ name = "Aksh Gupta";
+ };
albakham = {
email = "dev@geber.ga";
github = "albakham";
@@ -4413,6 +4419,12 @@
githubId = 2588851;
name = "Jan Solanti";
};
+ jappie = {
+ email = "jappieklooster@hotmail.com";
+ github = "jappeace";
+ githubId = 3874017;
+ name = "Jappie Klooster";
+ };
javaguirre = {
email = "contacto@javaguirre.net";
github = "javaguirre";
@@ -11292,6 +11304,16 @@
github = "pulsation";
githubId = 1838397;
};
+ zane = {
+ name = "Zane van Iperen";
+ email = "zane@zanevaniperen.com";
+ github = "vs49688";
+ githubId = 4423262;
+ keys = [{
+ longkeyid = "rsa4096/0x68616B2D8AC4DCC5";
+ fingerprint = "61AE D40F 368B 6F26 9DAE 3892 6861 6B2D 8AC4 DCC5";
+ }];
+ };
zseri = {
name = "zseri";
email = "zseri.devel@ytrizja.de";
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 011236cd1d66..ecd3a3c1a166 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -734,6 +734,7 @@
./services/networking/nar-serve.nix
./services/networking/nat.nix
./services/networking/ndppd.nix
+ ./services/networking/nebula.nix
./services/networking/networkmanager.nix
./services/networking/nextdns.nix
./services/networking/nftables.nix
diff --git a/nixos/modules/services/networking/nebula.nix b/nixos/modules/services/networking/nebula.nix
new file mode 100644
index 000000000000..e7ebfe1b4db7
--- /dev/null
+++ b/nixos/modules/services/networking/nebula.nix
@@ -0,0 +1,219 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.nebula;
+ enabledNetworks = filterAttrs (n: v: v.enable) cfg.networks;
+
+ format = pkgs.formats.yaml {};
+
+ nameToId = netName: "nebula-${netName}";
+in
+{
+ # Interface
+
+ options = {
+ services.nebula = {
+ networks = mkOption {
+ description = "Nebula network definitions.";
+ default = {};
+ type = types.attrsOf (types.submodule {
+ options = {
+ enable = mkOption {
+ type = types.bool;
+ default = true;
+ description = "Enable or disable this network.";
+ };
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.nebula;
+ defaultText = "pkgs.nebula";
+ description = "Nebula derivation to use.";
+ };
+
+ ca = mkOption {
+ type = types.path;
+ description = "Path to the certificate authority certificate.";
+ example = "/etc/nebula/ca.crt";
+ };
+
+ cert = mkOption {
+ type = types.path;
+ description = "Path to the host certificate.";
+ example = "/etc/nebula/host.crt";
+ };
+
+ key = mkOption {
+ type = types.path;
+ description = "Path to the host key.";
+ example = "/etc/nebula/host.key";
+ };
+
+ staticHostMap = mkOption {
+ type = types.attrsOf (types.listOf (types.str));
+ default = {};
+ description = ''
+ The static host map defines a set of hosts with fixed IP addresses on the internet (or any network).
+ A host can have multiple fixed IP addresses defined here, and nebula will try each when establishing a tunnel.
+ '';
+ example = literalExample ''
+ { "192.168.100.1" = [ "100.64.22.11:4242" ]; }
+ '';
+ };
+
+ isLighthouse = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether this node is a lighthouse.";
+ };
+
+ lighthouses = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ description = ''
+ List of IPs of lighthouse hosts this node should report to and query from. This should be empty on lighthouse
+ nodes. The IPs should be the lighthouse's Nebula IPs, not their external IPs.
+ '';
+ example = ''[ "192.168.100.1" ]'';
+ };
+
+ listen.host = mkOption {
+ type = types.str;
+ default = "0.0.0.0";
+ description = "IP address to listen on.";
+ };
+
+ listen.port = mkOption {
+ type = types.port;
+ default = 4242;
+ description = "Port number to listen on.";
+ };
+
+ tun.disable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ When tun is disabled, a lighthouse can be started without a local tun interface (and therefore without root).
+ '';
+ };
+
+ tun.device = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = "Name of the tun device. Defaults to nebula.\${networkName}.";
+ };
+
+ firewall.outbound = mkOption {
+ type = types.listOf types.attrs;
+ default = [];
+ description = "Firewall rules for outbound traffic.";
+ example = ''[ { port = "any"; proto = "any"; host = "any"; } ]'';
+ };
+
+ firewall.inbound = mkOption {
+ type = types.listOf types.attrs;
+ default = [];
+ description = "Firewall rules for inbound traffic.";
+ example = ''[ { port = "any"; proto = "any"; host = "any"; } ]'';
+ };
+
+ settings = mkOption {
+ type = format.type;
+ default = {};
+ description = ''
+ Nebula configuration. Refer to
+
+ for details on supported values.
+ '';
+ example = literalExample ''
+ {
+ lighthouse.dns = {
+ host = "0.0.0.0";
+ port = 53;
+ };
+ }
+ '';
+ };
+ };
+ });
+ };
+ };
+ };
+
+ # Implementation
+ config = mkIf (enabledNetworks != {}) {
+ systemd.services = mkMerge (mapAttrsToList (netName: netCfg:
+ let
+ networkId = nameToId netName;
+ settings = recursiveUpdate {
+ pki = {
+ ca = netCfg.ca;
+ cert = netCfg.cert;
+ key = netCfg.key;
+ };
+ static_host_map = netCfg.staticHostMap;
+ lighthouse = {
+ am_lighthouse = netCfg.isLighthouse;
+ hosts = netCfg.lighthouses;
+ };
+ listen = {
+ host = netCfg.listen.host;
+ port = netCfg.listen.port;
+ };
+ tun = {
+ disabled = netCfg.tun.disable;
+ dev = if (netCfg.tun.device != null) then netCfg.tun.device else "nebula.${netName}";
+ };
+ firewall = {
+ inbound = netCfg.firewall.inbound;
+ outbound = netCfg.firewall.outbound;
+ };
+ } netCfg.settings;
+ configFile = format.generate "nebula-config-${netName}.yml" settings;
+ in
+ {
+ # Create systemd service for Nebula.
+ "nebula@${netName}" = {
+ description = "Nebula VPN service for ${netName}";
+ wants = [ "basic.target" ];
+ after = [ "basic.target" "network.target" ];
+ before = [ "sshd.service" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = mkMerge [
+ {
+ Type = "simple";
+ Restart = "always";
+ ExecStart = "${netCfg.package}/bin/nebula -config ${configFile}";
+ }
+ # The service needs to launch as root to access the tun device, if it's enabled.
+ (mkIf netCfg.tun.disable {
+ User = networkId;
+ Group = networkId;
+ })
+ ];
+ };
+ }) enabledNetworks);
+
+ # Open the chosen ports for UDP.
+ networking.firewall.allowedUDPPorts =
+ unique (mapAttrsToList (netName: netCfg: netCfg.listen.port) enabledNetworks);
+
+ # Create the service users and groups.
+ users.users = mkMerge (mapAttrsToList (netName: netCfg:
+ mkIf netCfg.tun.disable {
+ ${nameToId netName} = {
+ group = nameToId netName;
+ description = "Nebula service user for network ${netName}";
+ isSystemUser = true;
+ };
+ }) enabledNetworks);
+
+ users.groups = mkMerge (mapAttrsToList (netName: netCfg:
+ mkIf netCfg.tun.disable {
+ ${nameToId netName} = {};
+ }) enabledNetworks);
+ };
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 3328d169e08d..6656d287a426 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -263,6 +263,7 @@ in
nat.standalone = handleTest ./nat.nix { withFirewall = false; };
ncdns = handleTest ./ncdns.nix {};
ndppd = handleTest ./ndppd.nix {};
+ nebula = handleTest ./nebula.nix {};
neo4j = handleTest ./neo4j.nix {};
netdata = handleTest ./netdata.nix {};
networking.networkd = handleTest ./networking.nix { networkd = true; };
diff --git a/nixos/tests/nebula.nix b/nixos/tests/nebula.nix
new file mode 100644
index 000000000000..372cfebdf801
--- /dev/null
+++ b/nixos/tests/nebula.nix
@@ -0,0 +1,223 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: let
+
+ # We'll need to be able to trade cert files between nodes via scp.
+ inherit (import ./ssh-keys.nix pkgs)
+ snakeOilPrivateKey snakeOilPublicKey;
+
+ makeNebulaNode = { config, ... }: name: extraConfig: lib.mkMerge [
+ {
+ # Expose nebula for doing cert signing.
+ environment.systemPackages = [ pkgs.nebula ];
+ users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ];
+ services.openssh.enable = true;
+
+ services.nebula.networks.smoke = {
+ # Note that these paths won't exist when the machine is first booted.
+ ca = "/etc/nebula/ca.crt";
+ cert = "/etc/nebula/${name}.crt";
+ key = "/etc/nebula/${name}.key";
+ listen = { host = "0.0.0.0"; port = 4242; };
+ };
+ }
+ extraConfig
+ ];
+
+in
+{
+ name = "nebula";
+
+ nodes = {
+
+ lighthouse = { ... } @ args:
+ makeNebulaNode args "lighthouse" {
+ networking.interfaces.eth1.ipv4.addresses = [{
+ address = "192.168.1.1";
+ prefixLength = 24;
+ }];
+
+ services.nebula.networks.smoke = {
+ isLighthouse = true;
+ firewall = {
+ outbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ inbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ };
+ };
+ };
+
+ node2 = { ... } @ args:
+ makeNebulaNode args "node2" {
+ networking.interfaces.eth1.ipv4.addresses = [{
+ address = "192.168.1.2";
+ prefixLength = 24;
+ }];
+
+ services.nebula.networks.smoke = {
+ staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; };
+ isLighthouse = false;
+ lighthouses = [ "10.0.100.1" ];
+ firewall = {
+ outbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ inbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ };
+ };
+ };
+
+ node3 = { ... } @ args:
+ makeNebulaNode args "node3" {
+ networking.interfaces.eth1.ipv4.addresses = [{
+ address = "192.168.1.3";
+ prefixLength = 24;
+ }];
+
+ services.nebula.networks.smoke = {
+ staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; };
+ isLighthouse = false;
+ lighthouses = [ "10.0.100.1" ];
+ firewall = {
+ outbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ inbound = [ { port = "any"; proto = "any"; host = "lighthouse"; } ];
+ };
+ };
+ };
+
+ node4 = { ... } @ args:
+ makeNebulaNode args "node4" {
+ networking.interfaces.eth1.ipv4.addresses = [{
+ address = "192.168.1.4";
+ prefixLength = 24;
+ }];
+
+ services.nebula.networks.smoke = {
+ enable = true;
+ staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; };
+ isLighthouse = false;
+ lighthouses = [ "10.0.100.1" ];
+ firewall = {
+ outbound = [ { port = "any"; proto = "any"; host = "lighthouse"; } ];
+ inbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ };
+ };
+ };
+
+ node5 = { ... } @ args:
+ makeNebulaNode args "node5" {
+ networking.interfaces.eth1.ipv4.addresses = [{
+ address = "192.168.1.5";
+ prefixLength = 24;
+ }];
+
+ services.nebula.networks.smoke = {
+ enable = false;
+ staticHostMap = { "10.0.100.1" = [ "192.168.1.1:4242" ]; };
+ isLighthouse = false;
+ lighthouses = [ "10.0.100.1" ];
+ firewall = {
+ outbound = [ { port = "any"; proto = "any"; host = "lighthouse"; } ];
+ inbound = [ { port = "any"; proto = "any"; host = "any"; } ];
+ };
+ };
+ };
+
+ };
+
+ testScript = let
+
+ setUpPrivateKey = name: ''
+ ${name}.succeed(
+ "mkdir -p /root/.ssh",
+ "chown 700 /root/.ssh",
+ "cat '${snakeOilPrivateKey}' > /root/.ssh/id_snakeoil",
+ "chown 600 /root/.ssh/id_snakeoil",
+ )
+ '';
+
+ # From what I can tell, StrictHostKeyChecking=no is necessary for ssh to work between machines.
+ sshOpts = "-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oIdentityFile=/root/.ssh/id_snakeoil";
+
+ restartAndCheckNebula = name: ip: ''
+ ${name}.systemctl("restart nebula@smoke.service")
+ ${name}.succeed("ping -c5 ${ip}")
+ '';
+
+ # Create a keypair on the client node, then use the public key to sign a cert on the lighthouse.
+ signKeysFor = name: ip: ''
+ lighthouse.wait_for_unit("sshd.service")
+ ${name}.wait_for_unit("sshd.service")
+ ${name}.succeed(
+ "mkdir -p /etc/nebula",
+ "nebula-cert keygen -out-key /etc/nebula/${name}.key -out-pub /etc/nebula/${name}.pub",
+ "scp ${sshOpts} /etc/nebula/${name}.pub 192.168.1.1:/tmp/${name}.pub",
+ )
+ lighthouse.succeed(
+ 'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "${name}" -groups "${name}" -ip "${ip}" -in-pub /tmp/${name}.pub -out-crt /tmp/${name}.crt',
+ )
+ ${name}.succeed(
+ "scp ${sshOpts} 192.168.1.1:/tmp/${name}.crt /etc/nebula/${name}.crt",
+ "scp ${sshOpts} 192.168.1.1:/etc/nebula/ca.crt /etc/nebula/ca.crt",
+ )
+ '';
+
+ in ''
+ start_all()
+
+ # Create the certificate and sign the lighthouse's keys.
+ ${setUpPrivateKey "lighthouse"}
+ lighthouse.succeed(
+ "mkdir -p /etc/nebula",
+ 'nebula-cert ca -name "Smoke Test" -out-crt /etc/nebula/ca.crt -out-key /etc/nebula/ca.key',
+ 'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "lighthouse" -groups "lighthouse" -ip "10.0.100.1/24" -out-crt /etc/nebula/lighthouse.crt -out-key /etc/nebula/lighthouse.key',
+ )
+
+ # Reboot the lighthouse and verify that the nebula service comes up on boot.
+ # Since rebooting takes a while, we'll just restart the service on the other nodes.
+ lighthouse.shutdown()
+ lighthouse.start()
+ lighthouse.wait_for_unit("nebula@smoke.service")
+ lighthouse.succeed("ping -c5 10.0.100.1")
+
+ # Create keys for node2's nebula service and test that it comes up.
+ ${setUpPrivateKey "node2"}
+ ${signKeysFor "node2" "10.0.100.2/24"}
+ ${restartAndCheckNebula "node2" "10.0.100.2"}
+
+ # Create keys for node3's nebula service and test that it comes up.
+ ${setUpPrivateKey "node3"}
+ ${signKeysFor "node3" "10.0.100.3/24"}
+ ${restartAndCheckNebula "node3" "10.0.100.3"}
+
+ # Create keys for node4's nebula service and test that it comes up.
+ ${setUpPrivateKey "node4"}
+ ${signKeysFor "node4" "10.0.100.4/24"}
+ ${restartAndCheckNebula "node4" "10.0.100.4"}
+
+ # Create keys for node4's nebula service and test that it does not come up.
+ ${setUpPrivateKey "node5"}
+ ${signKeysFor "node5" "10.0.100.5/24"}
+ node5.fail("systemctl status nebula@smoke.service")
+ node5.fail("ping -c5 10.0.100.5")
+
+ # The lighthouse can ping node2 and node3 but not node5
+ lighthouse.succeed("ping -c3 10.0.100.2")
+ lighthouse.succeed("ping -c3 10.0.100.3")
+ lighthouse.fail("ping -c3 10.0.100.5")
+
+ # node2 can ping the lighthouse, but not node3 because of its inbound firewall
+ node2.succeed("ping -c3 10.0.100.1")
+ node2.fail("ping -c3 10.0.100.3")
+
+ # node3 can ping the lighthouse and node2
+ node3.succeed("ping -c3 10.0.100.1")
+ node3.succeed("ping -c3 10.0.100.2")
+
+ # node4 can ping the lighthouse but not node2 or node3
+ node4.succeed("ping -c3 10.0.100.1")
+ node4.fail("ping -c3 10.0.100.2")
+ node4.fail("ping -c3 10.0.100.3")
+
+ # node2 can ping node3 now that node3 pinged it first
+ node2.succeed("ping -c3 10.0.100.3")
+ # node4 can ping node2 if node2 pings it first
+ node2.succeed("ping -c3 10.0.100.4")
+ node4.succeed("ping -c3 10.0.100.2")
+ '';
+})
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index 41ff62a619fb..8b42191bde69 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -1,5 +1,4 @@
{ stdenv, symlinkJoin, lib, makeWrapper
-, vimUtils
, writeText
, bundlerEnv, ruby
, nodejs
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index fd5b2fff8b9c..4053a042bfac 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -44,7 +44,7 @@ with lib;
# Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired.
let
- k3sVersion = "1.20.5+k3s1"; # k3s git tag
+ k3sVersion = "1.20.6+k3s1"; # k3s git tag
traefikChartVersion = "1.81.0"; # taken from ./scripts/download at the above k3s tag
k3sRootVersion = "0.8.1"; # taken from ./scripts/download at the above k3s tag
k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at the above k3s tag
@@ -96,7 +96,7 @@ let
url = "https://github.com/k3s-io/k3s";
rev = "v${k3sVersion}";
leaveDotGit = true; # ./scripts/version.sh depends on git
- sha256 = "sha256-7RAZkSTh15BEZ3p6u2xE9vd5fpy4KBYrl2TjtpIiStM=";
+ sha256 = "sha256-IIZotJKQ/+WNmfcEJU5wFtZBufWjUp4MeVCRk4tSjyQ=";
};
# Stage 1 of the k3s build:
# Let's talk about how k3s is structured.
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index cdac4a2829b6..67127a04978d 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -7,6 +7,7 @@
, atk
, cairo
, dbus
+, dpkg
, libGL
, fontconfig
, freetype
@@ -29,11 +30,11 @@
assert pulseaudioSupport -> libpulseaudio != null;
let
- version = "5.6.13632.0328";
+ version = "5.6.16775.0418";
srcs = {
x86_64-linux = fetchurl {
- url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
- sha256 = "0nskpg3rbv40jcbih95sfdr0kfv5hjv50z9jdz1cddl8v7hbqg71";
+ url = "https://zoom.us/client/${version}/zoom_amd64.deb";
+ sha256 = "1fmzwxq8jv5k1b2kvg1ij9g6cdp1hladd8vm3cxzd8fywdjcndim";
};
};
@@ -70,17 +71,21 @@ in stdenv.mkDerivation rec {
inherit version;
src = srcs.${stdenv.hostPlatform.system};
- dontUnpack = true;
-
nativeBuildInputs = [
+ dpkg
makeWrapper
];
+ unpackCmd = ''
+ mkdir out
+ dpkg -x $curSrc out
+ '';
+
installPhase = ''
runHook preInstall
mkdir $out
- tar -C $out -xf ${src}
- mv $out/usr/* $out/
+ mv usr/* $out/
+ mv opt $out/
runHook postInstall
'';
diff --git a/pkgs/applications/networking/mailreaders/himalaya/default.nix b/pkgs/applications/networking/mailreaders/himalaya/default.nix
new file mode 100644
index 000000000000..76f1e92d5f5b
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/himalaya/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, openssl
+, pkg-config
+, installShellFiles
+, enableCompletions ? stdenv.hostPlatform == stdenv.buildPlatform
+, Security
+, libiconv
+}:
+rustPlatform.buildRustPackage rec {
+ pname = "himalaya";
+ version = "0.2.6";
+
+ src = fetchFromGitHub {
+ owner = "soywod";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1fl3lingb4wdh6bz4calzbibixg44wnnwi1qh0js1ijp8b6ll560";
+ };
+
+ cargoSha256 = "10p8di71w7hn36b1994wgk33fnj641lsp80zmccinlg5fiwyzncx";
+
+ nativeBuildInputs = [ ]
+ ++ lib.optionals (enableCompletions) [ installShellFiles ]
+ ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ];
+
+ buildInputs =
+ if stdenv.hostPlatform.isDarwin then [
+ Security
+ libiconv
+ ] else [
+ openssl
+ ];
+
+ # The completions are correctly installed, and there is issue that himalaya
+ # generate empty completion files without mail configure.
+ # This supposed to be fixed in 0.2.7
+ postInstall = lib.optionalString enableCompletions ''
+ # Install shell function
+ installShellCompletion --cmd himalaya \
+ --bash <($out/bin/himalaya completion bash) \
+ --fish <($out/bin/himalaya completion fish) \
+ --zsh <($out/bin/himalaya completion zsh)
+ '';
+
+ meta = with lib; {
+ description = "CLI email client written in Rust";
+ homepage = "https://github.com/soywod/himalaya";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ yanganto ];
+ };
+}
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index b91b5ad14a9c..76048733a6a3 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -216,6 +216,8 @@ stdenv.mkDerivation rec {
in
(concatStringsSep "\n"
(flatten [
+ "runHook preInstall"
+
(optionalString (withScripting) "buildPythonPath \"${base} $pythonPath\" \n")
# wrap each of the directly usable tools
@@ -227,10 +229,19 @@ stdenv.mkDerivation rec {
# link in the CLI utils
(map (util: "ln -s ${base}/bin/${util} $out/bin/${util}") utils)
+
+ "runHook postInstall"
])
)
;
+ postInstall = ''
+ mkdir -p $out/share
+ ln -s ${base}/share/applications $out/share/applications
+ ln -s ${base}/share/icons $out/share/icons
+ ln -s ${base}/share/mime $out/share/mime
+ '';
+
# can't run this for each pname
# stable and unstable are in the same versions.nix
# and kicad-small reuses stable
@@ -248,7 +259,7 @@ stdenv.mkDerivation rec {
KiCad is an open source software suite for Electronic Design Automation.
The Programs handle Schematic Capture, and PCB Layout with Gerber output.
'';
- license = lib.licenses.agpl3;
+ license = lib.licenses.gpl3Plus;
# berce seems inactive...
maintainers = with lib.maintainers; [ evils kiwi berce ];
# kicad is cross platform
diff --git a/pkgs/applications/science/logic/beluga/default.nix b/pkgs/applications/science/logic/beluga/default.nix
index 44478a032b38..66cfd306128b 100644
--- a/pkgs/applications/science/logic/beluga/default.nix
+++ b/pkgs/applications/science/logic/beluga/default.nix
@@ -1,14 +1,14 @@
{ lib, fetchFromGitHub, ocamlPackages, rsync }:
-ocamlPackages.buildDunePackage {
+ocamlPackages.buildDunePackage rec {
pname = "beluga";
- version = "unstable-2020-03-11";
+ version = "1.0";
src = fetchFromGitHub {
owner = "Beluga-lang";
repo = "Beluga";
- rev = "6133b2f572219333f304bb4f77c177592324c55b";
- sha256 = "0sy6mi50z3mvs5z7dx38piydapk89all81rh038x3559b5fsk68q";
+ rev = "v${version}";
+ sha256 = "1ziqjfv8jwidl8lj2mid2shhgqhv31dfh5wad2zxjpvf6038ahsw";
};
useDune2 = true;
diff --git a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
index f28d49702bce..be6e96fc8ff5 100644
--- a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
@@ -2,21 +2,28 @@
rustPlatform.buildRustPackage rec {
pname = "git-interactive-rebase-tool";
- version = "2.0.0";
+ version = "2.1.0";
src = fetchFromGitHub {
owner = "MitMaro";
repo = pname;
rev = version;
- sha256 = "117zwxyq2vc33nbnfpjbdr5vc2l5ymf6ln1dm5551ha3y3gdq3bf";
+ sha256 = "sha256-DYl/GUbeNtKmXoR3gq8mK8EfsZNVNlrdngAwfzG+epw=";
};
- cargoSha256 = "051llwk9swq03xdqwyj0hlyv2ywq2f1cnks95nygyy393q7v930x";
+ cargoSha256 = "sha256-1joMWPfn0s+pLsO6NHMT6AoXZ33R8MY2AWSrROY2mw8=";
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
- # external_editor::tests::* tests fail
- doCheck = false;
+ checkFlags = [
+ "--skip=external_editor::tests::edit_success"
+ "--skip=external_editor::tests::editor_non_zero_exit"
+ "--skip=external_editor::tests::empty_edit_abort_rebase"
+ "--skip=external_editor::tests::empty_edit_error"
+ "--skip=external_editor::tests::empty_edit_noop"
+ "--skip=external_editor::tests::empty_edit_re_edit_rebase_file"
+ "--skip=external_editor::tests::empty_edit_undo_and_edit"
+ ];
meta = with lib; {
homepage = "https://github.com/MitMaro/git-interactive-rebase-tool";
diff --git a/pkgs/applications/video/jellyfin-media-player/default.nix b/pkgs/applications/video/jellyfin-media-player/default.nix
index 5e7ece885038..10a3a8cc174b 100644
--- a/pkgs/applications/video/jellyfin-media-player/default.nix
+++ b/pkgs/applications/video/jellyfin-media-player/default.nix
@@ -103,7 +103,7 @@ mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/jellyfin/jellyfin-media-player";
description = "Jellyfin Desktop Client based on Plex Media Player";
- license = with licenses; [ gpl2Plus mit ];
+ license = with licenses; [ gpl2Only mit ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ jojosch ];
};
diff --git a/pkgs/applications/video/mpv/scripts/autoload.nix b/pkgs/applications/video/mpv/scripts/autoload.nix
index f64e702f21cf..8f09070c5f4f 100644
--- a/pkgs/applications/video/mpv/scripts/autoload.nix
+++ b/pkgs/applications/video/mpv/scripts/autoload.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, mpv-unwrapped, lib }:
+{ stdenvNoCC, mpv-unwrapped, lib }:
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
pname = "mpv-autoload";
version = mpv-unwrapped.version;
src = "${mpv-unwrapped.src.outPath}/TOOLS/lua/autoload.lua";
diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/applications/video/mpv/scripts/convert.nix
index ce0695203328..2ff335b083a6 100644
--- a/pkgs/applications/video/mpv/scripts/convert.nix
+++ b/pkgs/applications/video/mpv/scripts/convert.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchgit, lib
+{ stdenvNoCC, fetchgit, lib
, yad, mkvtoolnix-cli, libnotify }:
-stdenv.mkDerivation {
+stdenvNoCC.mkDerivation {
pname = "mpv-convert-script";
version = "2016-03-18";
src = fetchgit {
@@ -30,14 +30,17 @@ stdenv.mkDerivation {
'';
passthru.scriptName = "convert_script.lua";
- meta = {
+ meta = with lib; {
description = "Convert parts of a video while you are watching it in mpv";
homepage = "https://gist.github.com/Zehkul/25ea7ae77b30af959be0";
- maintainers = [ lib.maintainers.Profpatsch ];
+ maintainers = [ maintainers.Profpatsch ];
longDescription = ''
When this script is loaded into mpv, you can hit Alt+W to mark the beginning
and Alt+W again to mark the end of the clip. Then a settings window opens.
'';
+ license = licenses.unfree;
+ # script crashes mpv. See https://github.com/NixOS/nixpkgs/issues/113202
+ broken = true;
};
}
diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/applications/video/mpv/scripts/mpvacious.nix
index 0995d976e60c..3225317d78bc 100644
--- a/pkgs/applications/video/mpv/scripts/mpvacious.nix
+++ b/pkgs/applications/video/mpv/scripts/mpvacious.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, curl, xclip }:
+{ lib, stdenvNoCC, fetchFromGitHub, curl, xclip }:
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
pname = "mpvacious";
version = "0.14";
diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
index 0c0597d3afb2..99b731757ff9 100644
--- a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
+++ b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ lib, stdenvNoCC
, fetchFromGitHub }:
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
pname = "simple-mpv-ui";
version = "1.0.0";
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
index 79ede806b0ca..5d33bfd92a48 100644
--- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, python3 }:
+{ lib, stdenvNoCC, fetchFromGitHub, fetchpatch, python3 }:
# Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
-stdenv.mkDerivation {
+stdenvNoCC.mkDerivation {
pname = "mpv_sponsorblock";
version = "unstable-2020-07-05";
diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix
index cda15b2674c0..4bee220f4c98 100644
--- a/pkgs/applications/video/mpv/scripts/thumbnail.nix
+++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix
@@ -1,6 +1,6 @@
-{ fetchFromGitHub, lib, python3, stdenv }:
+{ fetchFromGitHub, lib, python3, stdenvNoCC }:
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
pname = "mpv_thumbnail_script";
version = "unstable-2020-01-16";
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 92bd85b1e8c9..f70a46e2f8ed 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -2,7 +2,7 @@
, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
, openglSupport ? libGLSupported, libGL
, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, alsaLib
-, x11Support ? !stdenv.isCygwin && !stdenv.hostPlatform.isAndroid
+, x11Support ? !stdenv.targetPlatform.isWindows && !stdenv.hostPlatform.isAndroid
, libX11, xorgproto, libICE, libXi, libXScrnSaver, libXcursor
, libXinerama, libXext, libXxf86vm, libXrandr
, waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
@@ -79,6 +79,7 @@ stdenv.mkDerivation rec {
"--disable-oss"
] ++ optional (!x11Support) "--without-x"
++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
+ ++ optional stdenv.targetPlatform.isWindows "--disable-video-opengles"
++ optional stdenv.isDarwin "--disable-sdltest";
# We remove libtool .la files when static libs are requested,
diff --git a/pkgs/development/libraries/cxxopts/default.nix b/pkgs/development/libraries/cxxopts/default.nix
index ddbc845e3b49..1df570d7d290 100644
--- a/pkgs/development/libraries/cxxopts/default.nix
+++ b/pkgs/development/libraries/cxxopts/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "cxxopts";
- version = "2.2.1";
+ version = "unstable-2020-12-14";
src = fetchFromGitHub {
owner = "jarro2783";
repo = name;
- rev = "v${version}";
- sha256 = "0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha";
+ rev = "2d8e17c4f88efce80e274cb03eeb902e055a91d3";
+ sha256 = "0pwrac81zfqjs17g3hx8r3ds2xf04npb6mz111qjy4bx17314ib7";
};
buildInputs = lib.optional enableUnicodeHelp [ icu.dev ];
diff --git a/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch
new file mode 100644
index 000000000000..1868a7419208
--- /dev/null
+++ b/pkgs/development/libraries/iodash/0001-Add-cmake-install-directives.patch
@@ -0,0 +1,44 @@
+From 89c7c160f897f64e17fb74efffccfd1fc16f8b7d Mon Sep 17 00:00:00 2001
+From: Jappie Klooster
+Date: Fri, 2 Apr 2021 14:22:02 -0400
+Subject: [PATCH] Add cmake install directives.
+
+To make nix builds work, it expect a `make install` command to
+be available.
+Adding these directives seems to fix the build.
+
+If it's no trouble to you, please add them.
+
+Maybe don't need endian
+---
+ CMakeLists.txt | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 06e416f..8d6f489 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ set(CMAKE_CXX_STANDARD 17)
+ add_library(IODash INTERFACE)
+ target_include_directories(IODash INTERFACE .)
+
++include(GNUInstallDirs)
++
+ add_executable(IODash_Test test.cpp)
+ target_link_libraries(IODash_Test IODash)
+
+@@ -20,3 +22,11 @@ if (DEFINED BUILD_BENCHMARKS AND (${BUILD_BENCHMARKS}))
+ target_link_libraries(boost_Benchmark_HTTP boost_system pthread)
+ endif()
+
++install(TARGETS IODash
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(FILES IODash.hpp
++ DESTINATION include/)
++
++install(FILES
++ IODash/Buffer.hpp IODash/SocketAddress.hpp IODash/File.hpp IODash/Socket.hpp IODash/EventLoop.hpp IODash/Serial.hpp IODash/Timer.hpp
++ DESTINATION include/IODash)
+--
+2.29.2
+
diff --git a/pkgs/development/libraries/iodash/default.nix b/pkgs/development/libraries/iodash/default.nix
new file mode 100644
index 000000000000..d8982f0f8c04
--- /dev/null
+++ b/pkgs/development/libraries/iodash/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }:
+
+stdenv.mkDerivation rec {
+ pname = "iodash";
+ version = "0.1.7";
+
+ src = fetchFromGitHub {
+ owner = "YukiWorkshop";
+ repo = "IODash";
+ rev = "9dcb26621a9c17dbab704b5bab0c3a5fc72624cb";
+ sha256 = "0db5y2206fwh3h1pzjm9hy3m76inm0xpm1c5gvrladz6hiqfp7bx";
+ fetchSubmodules = true;
+ };
+ # adds missing cmake install directives
+ # https://github.com/YukiWorkshop/IODash/pull/2
+ patches = [ ./0001-Add-cmake-install-directives.patch];
+
+ nativeBuildInputs = [ cmake pkg-config ];
+
+ meta = with lib; {
+ homepage = "https://github.com/YukiWorkshop/IODash";
+ description = "Lightweight C++ I/O library for POSIX operation systems";
+ license = licenses.mit;
+ maintainers = with maintainers; [ jappie ];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/pkgs/development/libraries/libconfig/default.nix b/pkgs/development/libraries/libconfig/default.nix
index ae5f11764633..7387e9edc5b5 100644
--- a/pkgs/development/libraries/libconfig/default.nix
+++ b/pkgs/development/libraries/libconfig/default.nix
@@ -11,11 +11,13 @@ stdenv.mkDerivation rec {
doCheck = true;
+ configureFlags = lib.optional stdenv.targetPlatform.isWindows "--disable-examples";
+
meta = with lib; {
homepage = "http://www.hyperrealm.com/libconfig";
description = "A simple library for processing structured configuration files";
license = licenses.lgpl3;
maintainers = [ maintainers.goibhniu ];
- platforms = platforms.linux ++ platforms.darwin;
+ platforms = with platforms; linux ++ darwin ++ windows;
};
}
diff --git a/pkgs/development/libraries/libevdevplus/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/libevdevplus/0001-Add-cmake-install-directives.patch
new file mode 100644
index 000000000000..2635d6ab829e
--- /dev/null
+++ b/pkgs/development/libraries/libevdevplus/0001-Add-cmake-install-directives.patch
@@ -0,0 +1,41 @@
+From 7f208aaf21aa468013fc41e67c32f6a6c8c08249 Mon Sep 17 00:00:00 2001
+From: Jappie Klooster
+Date: Fri, 2 Apr 2021 16:01:05 -0400
+Subject: [PATCH] Add cmake install directives
+
+To make nix builds work, it expect a make install command to
+be available.
+Adding these directives seems to fix the build.
+
+If it's no trouble to you, please add them.
+---
+ CMakeLists.txt | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f9db618..425d391 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,10 +4,17 @@ project(libevdevPlus)
+ set(SOURCE_FILES
+ evdevPlus.cpp evdevPlus.hpp CommonIncludes.hpp InputEvent.hpp Resource.cpp)
+
++include(GNUInstallDirs)
++
+ add_library(evdevPlus ${SOURCE_FILES})
+ target_include_directories(evdevPlus PUBLIC .)
+
+ add_executable(evdevPlus_test test.cpp)
+ target_link_libraries(evdevPlus_test evdevPlus)
+
+-configure_file(evdevPlus.pc.in evdevPlus.pc @ONLY)
+\ No newline at end of file
++configure_file(evdevPlus.pc.in evdevPlus.pc @ONLY)
++
++install(TARGETS evdevPlus
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(FILES evdevPlus.hpp CommonIncludes.hpp InputEvent.hpp
++ DESTINATION include/)
+--
+2.29.2
+
diff --git a/pkgs/development/libraries/libevdevplus/default.nix b/pkgs/development/libraries/libevdevplus/default.nix
index 66c5f1b06964..11d644cd90df 100644
--- a/pkgs/development/libraries/libevdevplus/default.nix
+++ b/pkgs/development/libraries/libevdevplus/default.nix
@@ -2,13 +2,17 @@
stdenv.mkDerivation rec {
pname = "libevdevplus";
- version = "unstable-2019-10-01";
+ version = "unstable-2021-04-02";
+
+ # adds missing cmake install directives
+ # https://github.com/YukiWorkshop/libevdevPlus/pull/10
+ patches = [ ./0001-Add-cmake-install-directives.patch];
src = fetchFromGitHub {
owner = "YukiWorkshop";
repo = "libevdevPlus";
- rev = "e863df2ade43e2c7d7748cc33ca27fb3eed325ca";
- sha256 = "18z6pn4j7fhmwwh0q22ip5nn7sc1hfgwvkdzqhkja60i8cw2cvvj";
+ rev = "b4d4b3143056424a3da9f0516ca02a47209ef757";
+ sha256 = "09y65s16gch0w7fy1s9yjk9gz3bjzxix36h5wmwww6lkj2i1z3rj";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libuinputplus/0001-Add-cmake-install-directives.patch b/pkgs/development/libraries/libuinputplus/0001-Add-cmake-install-directives.patch
new file mode 100644
index 000000000000..cd6f43d37705
--- /dev/null
+++ b/pkgs/development/libraries/libuinputplus/0001-Add-cmake-install-directives.patch
@@ -0,0 +1,40 @@
+From 265e406e254c8d84016b12b344d8df71d1765dd1 Mon Sep 17 00:00:00 2001
+From: Jappie Klooster
+Date: Fri, 2 Apr 2021 16:33:18 -0400
+Subject: [PATCH] Add cmake install directives
+
+To make nix builds work, it expect a make install command to
+be available.
+Adding these directives seems to fix the build.
+
+If it's no trouble to you, please consider adding them.
+---
+ CMakeLists.txt | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cbfc9c1..948c432 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,6 +7,8 @@ set(SOURCE_FILES
+ uInput.cpp uInputSetup.cpp uInputResource.cpp
+ uInput.hpp CommonIncludes.hpp uInputSetup.hpp)
+
++include(GNUInstallDirs)
++
+ add_library(uInputPlus ${SOURCE_FILES})
+ target_include_directories(uInputPlus PUBLIC .)
+
+@@ -15,3 +17,9 @@ target_link_libraries(uInputPlus_test uInputPlus)
+
+ configure_file(uInputPlus.pc.in uInputPlus.pc @ONLY)
+
++
++install(TARGETS uInputPlus
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(FILES uInput.hpp CommonIncludes.hpp uInputSetup.hpp
++ DESTINATION include/)
++
+--
+2.29.2
+
diff --git a/pkgs/development/libraries/libuinputplus/default.nix b/pkgs/development/libraries/libuinputplus/default.nix
index 9085b8610789..28110b577047 100644
--- a/pkgs/development/libraries/libuinputplus/default.nix
+++ b/pkgs/development/libraries/libuinputplus/default.nix
@@ -1,14 +1,17 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config }:
-
stdenv.mkDerivation rec {
pname = "libuinputplus";
- version = "2019-10-01";
+ version = "2021-04-02";
+
+ # adds missing cmake install directives
+ # https://github.com/YukiWorkshop/libuInputPlus/pull/7
+ patches = [ ./0001-Add-cmake-install-directives.patch];
src = fetchFromGitHub {
owner = "YukiWorkshop";
repo = "libuInputPlus";
- rev = "962f180b4cc670e1f5cc73c2e4d5d196ae52d630";
- sha256 = "0jy5i7bmjad7hw1qcyjl4swqribp2027s9g3609zwj7lj8z5x0bg";
+ rev = "f7f18eb339bba61a43f2cad481a9b1a453a66957";
+ sha256 = "0sind2ghhy4h9kfkr5hsmhcq0di4ifwqyv4gac96rgj5mwvs33lp";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index e67cb1736b75..b5df83a0b90c 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,10 +1,10 @@
{ lib, stdenv, fetchurl, plib, freeglut, xorgproto, libX11, libXext, libXi
, libICE, libSM, libXt, libXmu, libGLU, libGL, boost, zlib, libjpeg, freealut
-, openscenegraph, openal, expat, cmake, apr
+, openscenegraph, openal, expat, cmake, apr, xz
, curl
}:
let
- version = "2020.3.6";
+ version = "2020.3.8";
shortVersion = builtins.substring 0 6 version;
in
stdenv.mkDerivation rec {
@@ -13,13 +13,13 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
- sha256 = "sha256-7D7KRNIffgUr6vwbni1XwW+8GtXwM6vJZ7V6/QLDVmk=";
+ sha256 = "sha256-UXcWV9MPu7c+QlFjrhxtQ6ruAcxuKtewwphu4tt5dWc=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ plib freeglut xorgproto libX11 libXext libXi
libICE libSM libXt libXmu libGLU libGL boost zlib libjpeg freealut
- openscenegraph openal expat apr curl ];
+ openscenegraph openal expat apr curl xz ];
meta = with lib; {
description = "Simulation construction toolkit";
diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix
index 3ee09b2d51c9..5a6daa54de39 100644
--- a/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/pkgs/development/ocaml-modules/labltk/default.nix
@@ -1,46 +1,24 @@
-{ stdenv, lib, fetchurl, fetchzip, ocaml, findlib, tcl, tk }:
+{ stdenv, lib, makeWrapper, fetchzip, ocaml, findlib, tcl, tk }:
-let OCamlVersionAtLeast = lib.versionAtLeast ocaml.version; in
-
-if !OCamlVersionAtLeast "4.04"
-then throw "labltk is not available for OCaml ${ocaml.version}"
-else
-
-let param =
- let mkNewParam = { version, sha256 }: {
+let
+ params =
+ let mkNewParam = { version, sha256, rev ? version }: {
inherit version;
src = fetchzip {
- url = "https://github.com/garrigue/labltk/archive/${version}.tar.gz";
+ url = "https://github.com/garrigue/labltk/archive/${rev}.tar.gz";
inherit sha256;
};
}; in
- let mkOldParam = { version, key, sha256 }: {
- src = fetchurl {
- url = "https://forge.ocamlcore.org/frs/download.php/${key}/labltk-${version}.tar.gz";
- inherit sha256;
- };
- inherit version;
- }; in
rec {
- "4.04" = mkOldParam {
- version = "8.06.2";
- key = "1628";
- sha256 = "1p97j9s33axkb4yyl0byhmhlyczqarb886ajpyggizy2br3a0bmk";
- };
- "4.05" = mkOldParam {
- version = "8.06.3";
- key = "1701";
- sha256 = "1rka9jpg3kxqn7dmgfsa7pmsdwm16x7cn4sh15ijyyrad9phgdxn";
- };
- "4.06" = mkOldParam {
+ "4.06" = mkNewParam {
version = "8.06.4";
- key = "1727";
- sha256 = "0j3rz0zz4r993wa3ssnk5s416b1jhj58l6z2jk8238a86y7xqcii";
+ rev = "labltk-8.06.4";
+ sha256 = "03xwnnnahb2rf4siymzqyqy8zgrx3h26qxjgbp5dh1wdl7n02c7g";
};
- "4.07" = mkOldParam {
+ "4.07" = mkNewParam {
version = "8.06.5";
- key = "1764";
- sha256 = "0wgx65y1wkgf22ihpqmspqfp95fqbj3pldhp1p3b1mi8rmc37zwj";
+ rev = "1b71e2c6f3ae6847d3d5e79bf099deb7330fb419";
+ sha256 = "02vchmrm3izrk7daldd22harhgrjhmbw6i1pqw6hmfmrmrypypg2";
};
_8_06_7 = mkNewParam {
version = "8.06.7";
@@ -60,14 +38,16 @@ let param =
version = "8.06.10";
sha256 = "06cck7wijq4zdshzhxm6jyl8k3j0zglj2axsyfk6q1sq754zyf4a";
};
-}.${builtins.substring 0 4 ocaml.version};
+ };
+ param = params . ${lib.versions.majorMinor ocaml.version}
+ or (throw "labltk is not available for OCaml ${ocaml.version}");
in
stdenv.mkDerivation rec {
inherit (param) version src;
name = "ocaml${ocaml.version}-labltk-${version}";
- buildInputs = [ ocaml findlib tcl tk ];
+ buildInputs = [ ocaml findlib tcl tk makeWrapper ];
configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ];
dontAddPrefix = true;
@@ -79,6 +59,10 @@ stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $OCAMLFIND_DESTDIR/stublibs
mv $OCAMLFIND_DESTDIR/labltk/dlllabltk.so $OCAMLFIND_DESTDIR/stublibs/
+ for p in $out/bin/*
+ do
+ wrapProgram $p --set CAML_LD_LIBRARY_PATH $OCAMLFIND_DESTDIR/stublibs
+ done
'';
meta = {
diff --git a/pkgs/development/python-modules/hachoir/default.nix b/pkgs/development/python-modules/hachoir/default.nix
new file mode 100644
index 000000000000..2c46b14a2744
--- /dev/null
+++ b/pkgs/development/python-modules/hachoir/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, urwid
+}:
+
+buildPythonPackage rec {
+ pname = "hachoir";
+ version = "3.1.2";
+
+ src = fetchFromGitHub {
+ owner = "vstinner";
+ repo = pname;
+ rev = version;
+ sha256 = "06544qmmimvaznwcjs8wwfih1frdd7anwcw5z07cf69l8p146p0y";
+ };
+
+ propagatedBuildInputs = [
+ urwid
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [ "hachoir" ];
+
+ meta = with lib; {
+ description = "Python library to view and edit a binary stream";
+ homepage = "https://hachoir.readthedocs.io/";
+ license = with licenses; [ gpl2Only ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix
index b06db621b730..84ea65a74773 100644
--- a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix
+++ b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
meta = with lib; {
homepage = "https://github.com/jellyfin/jellyfin-apiclient-python";
description = "Python API client for Jellyfin";
- license = licenses.gpl3;
+ license = licenses.gpl3Only;
maintainers = with maintainers; [ jojosch ];
};
}
diff --git a/pkgs/development/python-modules/pystray/default.nix b/pkgs/development/python-modules/pystray/default.nix
index c0ae2be9e7b3..9b778f9e216c 100644
--- a/pkgs/development/python-modules/pystray/default.nix
+++ b/pkgs/development/python-modules/pystray/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
meta = with lib; {
homepage = "https://github.com/moses-palmer/pystray";
description = "This library allows you to create a system tray icon";
- license = with licenses; [ gpl3Only lgpl3Only ];
+ license = with licenses; [ gpl3Plus lgpl3Plus ];
platforms = platforms.linux;
maintainers = with maintainers; [ jojosch ];
};
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index 9f32da55ff1e..8bcfa8b6c7d9 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "pytube";
- version = "10.7.1";
+ version = "10.7.2";
disabled = pythonOlder "3.6";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
owner = "pytube";
repo = "pytube";
rev = "v${version}";
- sha256 = "sha256-a9MYEQFJXfPXYkWiuZkjt/PGs73Dm5614/Xvv6Nn8RA=";
+ sha256 = "sha256-85pHzfQYyqwX8mQ5msIojM/0FSfeaC12KJw4mXmji3g=";
};
checkInputs = [
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 1622c6168606..cdade7c273cc 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,4 +1,5 @@
{ lib
+, fetchpatch
, stdenv
, fetchFromGitHub
, buildPackages
@@ -19,6 +20,7 @@
, python3
, ruby
, lua
+, capstone
, useX11 ? false
, rubyBindings ? false
, pythonBindings ? false
@@ -30,13 +32,11 @@ let
#
# DO NOT EDIT! Automatically generated by ./update.py
- gittap = "5.1.1";
- gittip = "a86f8077fc148abd6443384362a3717cd4310e64";
- rev = "5.1.1";
- version = "5.1.1";
- sha256 = "0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3";
- cs_ver = "4.0.2";
- cs_sha256 = "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w";
+ gittap = "5.2.0";
+ gittip = "cf3db945083fb4dab951874e5ec1283128deab11";
+ rev = "5.2.0";
+ version = "5.2.0";
+ sha256 = "08azxfk6mw2vr0x4zbz0612rk7pj4mfz8shrzc9ima77wb52b8sm";
#
in
stdenv.mkDerivation {
@@ -49,22 +49,13 @@ stdenv.mkDerivation {
inherit rev sha256;
};
- postPatch =
- let
- capstone = fetchFromGitHub {
- owner = "aquynh";
- repo = "capstone";
- # version from $sourceRoot/shlr/Makefile
- rev = cs_ver;
- sha256 = cs_sha256;
- };
- in
- ''
- mkdir -p build/shlr
- cp -r ${capstone} capstone-${cs_ver}
- chmod -R +w capstone-${cs_ver}
- tar -czvf shlr/capstone-${cs_ver}.tar.gz capstone-${cs_ver}
- '';
+ patches = [
+ # fix build against openssl, included in next release
+ (fetchpatch {
+ url = "https://github.com/radareorg/radare2/commit/e5e7469b6450c374e0884d35d44824e1a4eb46b4.patch";
+ sha256 = "sha256-xTmMHvUdW7d2QG7d4hlvMgEcegND7pGU745TWGqzY44=";
+ })
+ ];
postInstall = ''
install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
@@ -80,6 +71,7 @@ stdenv.mkDerivation {
"--with-sysmagic"
"--with-syszip"
"--with-sysxxhash"
+ "--with-syscapstone"
"--with-openssl"
];
@@ -87,8 +79,17 @@ stdenv.mkDerivation {
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ pkg-config ];
- buildInputs = [ file readline libusb-compat-0_1 libewf perl zlib openssl libuv ]
- ++ optional useX11 [ gtkdialog vte gtk2 ]
+ buildInputs = [
+ capstone
+ file
+ readline
+ libusb-compat-0_1
+ libewf
+ perl
+ zlib
+ openssl
+ libuv
+ ] ++ optional useX11 [ gtkdialog vte gtk2 ]
++ optional rubyBindings [ ruby ]
++ optional pythonBindings [ python3 ]
++ optional luaBindings [ lua ];
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
index a860d226df27..e1dfc071cd38 100755
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ b/pkgs/development/tools/analysis/radare2/update.py
@@ -55,24 +55,12 @@ def git(dirname: str, *args: str) -> str:
def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
sha256 = prefetch_github("radare", "radare2", rev)
- cs_ver = None
- with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile:
- for l in makefile:
- match = re.match("CS_VER=(\S+)", l)
- if match:
- cs_ver = match.group(1)
- assert cs_ver is not None
-
- cs_sha256 = prefetch_github("aquynh", "capstone", cs_ver)
-
return dict(
rev=rev,
sha256=sha256,
version_commit=git(dirname, "rev-list", "--all", "--count"),
gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
gittip=git(dirname, "rev-parse", "HEAD"),
- cs_ver=cs_ver,
- cs_sha256=cs_sha256,
)
@@ -107,8 +95,6 @@ def main() -> None:
rev = "{info["rev"]}";
version = "{version}";
sha256 = "{info["sha256"]}";
- cs_ver = "{info["cs_ver"]}";
- cs_sha256 = "{info["cs_sha256"]}";
#"""
)
elif "#" in l:
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index c8ae231dea8d..d52ac500e80b 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "tflint";
- version = "0.26.0";
+ version = "0.27.0";
src = fetchFromGitHub {
owner = "terraform-linters";
repo = pname;
rev = "v${version}";
- sha256 = "054g0lr0r1xzbss4b4j9ixkls9p1llmw61afib1381z4k0lvzgwn";
+ sha256 = "1s49a3yihfkd8ib336a29ch53mpcyxzicglss7bqmqapv6zi37dg";
};
- vendorSha256 = "0j2avkhyq6vz6113lkf004d4hysygc6iw78v70z98s6m15mg9imn";
+ vendorSha256 = "1w72n1sprwylaj96aj03h4qq43525q15iwb6vf23gf6913zhvqy3";
doCheck = false;
diff --git a/pkgs/development/tools/build-managers/remake/default.nix b/pkgs/development/tools/build-managers/remake/default.nix
index f61a7e774583..dc3920d17474 100644
--- a/pkgs/development/tools/build-managers/remake/default.nix
+++ b/pkgs/development/tools/build-managers/remake/default.nix
@@ -1,27 +1,40 @@
-{ lib, stdenv, fetchurl, readline }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, readline
+, guileSupport ? false
+, guile
+}:
stdenv.mkDerivation rec {
pname = "remake";
- remakeVersion = "4.1";
- dbgVersion = "1.1";
+ remakeVersion = "4.3";
+ dbgVersion = "1.5";
version = "${remakeVersion}+dbg-${dbgVersion}";
src = fetchurl {
- url = "mirror://sourceforge/project/bashdb/remake/${version}/remake-${remakeVersion}+dbg${dbgVersion}.tar.bz2";
- sha256 = "1zi16pl7sqn1aa8b7zqm9qnd9vjqyfywqm8s6iap4clf86l7kss2";
+ url = "mirror://sourceforge/project/bashdb/remake/${version}/remake-${remakeVersion}+dbg-${dbgVersion}.tar.gz";
+ sha256 = "0xlx2485y0israv2pfghmv74lxcv9i5y65agy69mif76yc4vfvif";
};
patches = [
./glibc-2.27-glob.patch
];
- buildInputs = [ readline ];
+ nativeBuildInputs = [
+ pkg-config
+ ];
+ buildInputs = [ readline ]
+ ++ lib.optionals guileSupport [ guile ];
+
+ # make check fails, see https://github.com/rocky/remake/issues/117
meta = {
homepage = "http://bashdb.sourceforge.net/remake/";
- license = lib.licenses.gpl3;
+ license = lib.licenses.gpl3Plus;
description = "GNU Make with comprehensible tracing and a debugger";
platforms = with lib.platforms; linux ++ darwin;
- maintainers = with lib.maintainers; [ bjornfor ];
+ maintainers = with lib.maintainers; [ bjornfor shamilton ];
};
}
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index eeffee057d4a..d03d59edb1fc 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
{ lib, buildGoPackage, fetchFromGitLab, fetchurl }:
let
- version = "13.10.0";
+ version = "13.11.0";
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
docker_x86_64 = fetchurl {
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
- sha256 = "0lw087xcbzf4d68mq0h0s31na7lww2d9nv43icw9qx05aknlcddv";
+ sha256 = "1vmj7vxz1a4js9kqz7mm6xgnkmb37c1jbx2lwsq2qkrybkxfcw8k";
};
docker_arm = fetchurl {
url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
- sha256 = "1mf3w85ivc8r2rmb78r4b87rrxmbb1zda9pp8n4nvd0igg23xqk8";
+ sha256 = "1c1pywz7ylaysplvq1m15v7rf1sgdkh9scbqklzcm55fjk128lif";
};
in
buildGoPackage rec {
@@ -30,7 +30,7 @@ buildGoPackage rec {
owner = "gitlab-org";
repo = "gitlab-runner";
rev = "v${version}";
- sha256 = "0xy5mpcpxcmwfdrspd29z8nyn1m9i4ma7d5kbihwa2yxznylydpx";
+ sha256 = "07jqsxac50xwmhlv0nbnn098290nkpsmrxw872yh67n1s9gqfd27";
};
patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/laminar/default.nix b/pkgs/development/tools/continuous-integration/laminar/default.nix
index 5b492ee67b31..8d06ff94a032 100644
--- a/pkgs/development/tools/continuous-integration/laminar/default.nix
+++ b/pkgs/development/tools/continuous-integration/laminar/default.nix
@@ -58,7 +58,7 @@ in stdenv.mkDerivation rec {
meta = with lib; {
description = "Lightweight and modular continuous integration service";
homepage = "https://laminar.ohwg.net";
- license = licenses.gpl3;
+ license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ kaction maralorn ];
};
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
new file mode 100644
index 000000000000..381a53f0f1e5
--- /dev/null
+++ b/pkgs/development/tools/jql/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "jql";
+ version = "2.9.4";
+
+ src = fetchFromGitHub {
+ owner = "yamafaktory";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1rwnmp2rnzwc7anmk7nr8l4ncza8s1f8sn0r2la4ai2sx1iqn06h";
+ };
+
+ cargoSha256 = "1c83mmdxci7l3c6ja5fhk4cak1gcbg0r0nlpbpims5gi16nf99r3";
+
+ meta = with lib; {
+ description = "A JSON Query Language CLI tool built with Rust";
+ homepage = "https://github.com/yamafaktory/jql";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ akshgpt7 ];
+ };
+}
diff --git a/pkgs/development/tools/ocaml/ocamlformat/default.nix b/pkgs/development/tools/ocaml/ocamlformat/default.nix
index c3b4182a0b51..4c8a4b9e9d0c 100644
--- a/pkgs/development/tools/ocaml/ocamlformat/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlformat/default.nix
@@ -52,5 +52,9 @@ rec {
version = "0.17.0";
};
- ocamlformat = ocamlformat_0_17_0;
+ ocamlformat_0_18_0 = mkOCamlformat {
+ version = "0.18.0";
+ };
+
+ ocamlformat = ocamlformat_0_18_0;
}
diff --git a/pkgs/development/tools/ocaml/ocamlformat/generic.nix b/pkgs/development/tools/ocaml/ocamlformat/generic.nix
index 69f26c5b8877..223ac39c6aa2 100644
--- a/pkgs/development/tools/ocaml/ocamlformat/generic.nix
+++ b/pkgs/development/tools/ocaml/ocamlformat/generic.nix
@@ -21,11 +21,10 @@ let src =
"0.15.1" = "1x6fha495sgk4z05g0p0q3zfqm5l6xzmf6vjm9g9g7c820ym2q9a";
"0.16.0" = "1vwjvvwha0ljc014v8jp8snki5zsqxlwd7x0dl0rg2i9kcmwc4mr";
"0.17.0" = "0f1lxp697yq61z8gqxjjaqd2ns8fd1vjfggn55x0gh9dx098p138";
+ "0.18.0" = "0571kzmb1h03qj74090n3mg8wfbh29qqrkdjkai6rnl5chll86lq";
}."${version}";
- }
-; in
-
-let ocamlPackages =
+ };
+ ocamlPackages =
if lib.versionAtLeast version "0.14.3"
then ocaml-ng.ocamlPackages
else ocaml-ng.ocamlPackages_4_07
@@ -33,7 +32,7 @@ let ocamlPackages =
with ocamlPackages;
-buildDunePackage rec {
+buildDunePackage {
pname = "ocamlformat";
inherit src version;
@@ -45,7 +44,24 @@ buildDunePackage rec {
useDune2 = true;
buildInputs =
- if lib.versionAtLeast version "0.17.0"
+ if lib.versionAtLeast version "0.18.0"
+ then [
+ base
+ cmdliner
+ fpath
+ odoc
+ re
+ stdio
+ uuseg
+ uutf
+ fix
+ menhir
+ dune-build-info
+ ocaml-version
+ # Changed since 0.16.0:
+ (ppxlib.override { version = "0.22.0"; })
+ ]
+ else if lib.versionAtLeast version "0.17.0"
then [
base
cmdliner
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 6faba30bf77f..a2e286d8bc56 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -15,15 +15,15 @@
rustPlatform.buildRustPackage rec {
pname = "deno";
- version = "1.9.0";
+ version = "1.9.1";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-LrJGwsP+P8zXYwboF5791YuWGVdhcQJLOoBv+VzrYzs=";
+ sha256 = "sha256-h8dXGSu7DebzwZdc92A2d9xlYy6wD34phBUj5v5KuIc=";
};
- cargoSha256 = "sha256-JDapls3nRNETri6nZPRjZFlAFVN1Owhp965zf0Rn3ug=";
+ cargoSha256 = "sha256-htxpaALOXFQpQ68YE4b0T0jhcCIONgUZwpMPCcSdcgs=";
# Install completions post-install
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix
new file mode 100644
index 000000000000..b114c65cd166
--- /dev/null
+++ b/pkgs/development/web/nodejs/v16.nix
@@ -0,0 +1,13 @@
+{ callPackage, openssl, python3, enableNpm ? true }:
+
+let
+ buildNodejs = callPackage ./nodejs.nix {
+ inherit openssl;
+ python = python3;
+ };
+in
+ buildNodejs {
+ inherit enableNpm;
+ version = "16.0.0";
+ sha256 = "00mada0vvybizygwhzsq6gcz0m2k864lfiiqqlnw8gcc3q8r1js7";
+ }
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 62db756a4839..0996d4bd512b 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -6,15 +6,15 @@
}:
let
- version = "2020.3.4";
+ version = "2020.3.8";
shortVersion = builtins.substring 0 6 version;
data = stdenv.mkDerivation rec {
pname = "flightgear-data";
inherit version;
src = fetchurl {
- url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.tar.bz2";
- sha256 = "1cqikbqvidfaynml9bhqfr9yw5ga35gpqrbz62z94a1skdijkpkg";
+ url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.txz";
+ sha256 = "sha256-/KFumHRkmRvsU/L1i11jG/KbqobnOEP7l4lyPMKHycA=";
};
phases = [ "installPhase" ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
- sha256 = "02d9h10p8hyn0a25csragj6pbwmrir1z8zb92023s9vi21j7bwy8";
+ sha256 = "XXDqhZ9nR+FwQ3LauZe8iGxOjlyDXDrEtj61BQGVDYc=";
};
# Of all the files in the source and data archives, there doesn't seem to be
diff --git a/pkgs/misc/openrussian-cli/default.nix b/pkgs/misc/openrussian-cli/default.nix
new file mode 100644
index 000000000000..ce9a9e49c4ca
--- /dev/null
+++ b/pkgs/misc/openrussian-cli/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, lib, fetchFromGitHub, gnumake, pkg-config, wget, unzip, gawk
+, sqlite, which, luaPackages, installShellFiles, makeWrapper
+}:
+stdenv.mkDerivation rec {
+ pname = "openrussian-cli";
+ version = "1.0.0";
+
+ src = fetchFromGitHub {
+ owner = "rhaberkorn";
+ repo = "openrussian-cli";
+ rev = version;
+ sha256 = "1ria7s7dpqip2wdwn35wmkry84g8ghdqnxc9cbxzzq63vl6pgvcn";
+ };
+
+ nativeBuildInputs = [
+ gnumake pkg-config wget unzip gawk sqlite which installShellFiles makeWrapper
+ ];
+
+ buildInputs = with luaPackages; [ lua luasql-sqlite3 luautf8 ];
+
+ makeFlags = [
+ "LUA=${luaPackages.lua}/bin/lua"
+ "LUAC=${luaPackages.lua}/bin/luac"
+ ];
+
+ dontConfigure = true;
+
+ # Disable check as it's too slow.
+ # doCheck = true;
+
+ #This is needed even though it's the default for some reason.
+ checkTarget = "check";
+
+ # Can't use "make install" here
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin $out/share/openrussian
+ cp openrussian-sqlite3.db $out/share/openrussian
+ cp openrussian $out/bin
+
+ wrapProgram $out/bin/openrussian \
+ --prefix LUA_PATH ';' "$LUA_PATH" \
+ --prefix LUA_CPATH ';' "$LUA_CPATH"
+
+ runHook postInstall
+ '';
+
+ postInstall = ''
+ installShellCompletion --cmd openrussian --bash ./openrussian-completion.bash
+ installManPage ./openrussian.1
+ '';
+
+ meta = with lib; {
+ homepage = "https://github.com/rhaberkorn/openrussian-cli";
+ description = "Offline Console Russian Dictionary (based on openrussian.org)";
+ license = with licenses; [ gpl3Only mit cc-by-sa-40 ];
+ maintainers = with maintainers; [ zane ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index fd66c48ecb2c..c55e8aa0a011 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, vim, vimPlugins, vim_configurable, neovim, buildEnv, writeText, writeScriptBin
+# tests available at pkgs/test/vim
+{ lib, stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin
, nix-prefetch-hg, nix-prefetch-git
, fetchFromGitHub, runtimeShell
}:
@@ -183,13 +184,49 @@ let
rtpPath = "share/vim-plugins";
+ nativeImpl = packages: lib.optionalString (packages != null)
+ (let
+ link = (packageName: dir: pluginPath: "ln -sf ${pluginPath}/share/vim-plugins/* $out/pack/${packageName}/${dir}");
+ packageLinks = (packageName: {start ? [], opt ? []}:
+ let
+ # `nativeImpl` expects packages to be derivations, not strings (as
+ # opposed to older implementations that have to maintain backwards
+ # compatibility). Therefore we don't need to deal with "knownPlugins"
+ # and can simply pass `null`.
+ depsOfOptionalPlugins = lib.subtractLists opt (findDependenciesRecursively opt);
+ startWithDeps = findDependenciesRecursively start;
+ in
+ [ "mkdir -p $out/pack/${packageName}/start" ]
+ # To avoid confusion, even dependencies of optional plugins are added
+ # to `start` (except if they are explicitly listed as optional plugins).
+ ++ (builtins.map (link packageName "start") (lib.unique (startWithDeps ++ depsOfOptionalPlugins)))
+ ++ ["mkdir -p $out/pack/${packageName}/opt"]
+ ++ (builtins.map (link packageName "opt") opt)
+ );
+ packDir = (packages:
+ stdenv.mkDerivation {
+ name = "vim-pack-dir";
+ src = ./.;
+ installPhase = lib.concatStringsSep "\n" (lib.flatten (lib.mapAttrsToList packageLinks packages));
+ preferLocalBuild = true;
+ }
+ );
+ in
+ ''
+ set packpath^=${packDir packages}
+ set runtimepath^=${packDir packages}
+ '');
+
vimrcContent = {
packages ? null,
vam ? null,
pathogen ? null,
plug ? null,
- beforePlugins ? "",
- customRC ? ""
+ beforePlugins ? ''
+ " configuration generated by NIX
+ set nocompatible
+ '',
+ customRC ? null
}:
let
@@ -301,56 +338,16 @@ let
call vam#Scripts(l, {})
'');
- nativeImpl = lib.optionalString (packages != null)
- (let
- link = (packageName: dir: pluginPath: "ln -sf ${pluginPath}/share/vim-plugins/* $out/pack/${packageName}/${dir}");
- packageLinks = (packageName: {start ? [], opt ? []}:
- let
- # `nativeImpl` expects packages to be derivations, not strings (as
- # opposed to older implementations that have to maintain backwards
- # compatibility). Therefore we don't need to deal with "knownPlugins"
- # and can simply pass `null`.
- depsOfOptionalPlugins = lib.subtractLists opt (findDependenciesRecursively opt);
- startWithDeps = findDependenciesRecursively start;
- in
- ["mkdir -p $out/pack/${packageName}/start"]
- # To avoid confusion, even dependencies of optional plugins are added
- # to `start` (except if they are explicitly listed as optional plugins).
- ++ (builtins.map (link packageName "start") (lib.unique (startWithDeps ++ depsOfOptionalPlugins)))
- ++ ["mkdir -p $out/pack/${packageName}/opt"]
- ++ (builtins.map (link packageName "opt") opt)
- );
- packDir = (packages:
- stdenv.mkDerivation {
- name = "vim-pack-dir";
- src = ./.;
- installPhase = lib.concatStringsSep
- "\n"
- (lib.flatten (lib.mapAttrsToList packageLinks packages));
- preferLocalBuild = true;
- }
- );
- in
- ''
- set packpath^=${packDir packages}
- set runtimepath^=${packDir packages}
+ entries = [
+ beforePlugins
+ vamImpl pathogenImpl plugImpl
+ (nativeImpl packages)
+ customRC
+ ];
- filetype indent plugin on | syn on
- '');
+ in
+ lib.concatStringsSep "\n" (lib.filter (x: x != null && x != "") entries);
- in ''
- " configuration generated by NIX
- set nocompatible
-
- ${beforePlugins}
-
- ${vamImpl}
- ${pathogenImpl}
- ${plugImpl}
- ${nativeImpl}
-
- ${customRC}
- '';
vimrcFile = settings: writeText "vimrc" (vimrcContent settings);
in
@@ -448,8 +445,6 @@ rec {
'';
};
- vim_with_vim2nix = vim_configurable.customize { name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; };
-
inherit (import ./build-vim-plugin.nix { inherit lib stdenv rtpPath vim; }) buildVimPlugin buildVimPluginFrom2Nix;
# used to figure out which python dependencies etc. neovim needs
@@ -475,62 +470,4 @@ rec {
nativePlugins = lib.concatMap ({start?[], opt?[], knownPlugins?vimPlugins}: start++opt) nativePluginsConfigs;
in
nativePlugins ++ nonNativePlugins;
-
-
- # test cases:
- test_vim_with_vim_nix_using_vam = vim_configurable.customize {
- name = "vim-with-vim-addon-nix-using-vam";
- vimrcConfig.vam.pluginDictionaries = [{name = "vim-nix"; }];
- };
-
- test_vim_with_vim_nix_using_pathogen = vim_configurable.customize {
- name = "vim-with-vim-addon-nix-using-pathogen";
- vimrcConfig.pathogen.pluginNames = [ "vim-nix" ];
- };
-
- test_vim_with_vim_nix_using_plug = vim_configurable.customize {
- name = "vim-with-vim-addon-nix-using-plug";
- vimrcConfig.plug.plugins = with vimPlugins; [ vim-nix ];
- };
-
- test_vim_with_vim_nix = vim_configurable.customize {
- name = "vim-with-vim-addon-nix";
- vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
- };
-
- # only neovim makes use of `requiredPlugins`, test this here
- test_nvim_with_vim_nix_using_pathogen = neovim.override {
- configure.pathogen.pluginNames = [ "vim-nix" ];
- };
-
- # regression test for https://github.com/NixOS/nixpkgs/issues/53112
- # The user may have specified their own plugins which may not be formatted
- # exactly as the generated ones. In particular, they may not have the `pname`
- # attribute.
- test_vim_with_custom_plugin = vim_configurable.customize {
- name = "vim_with_custom_plugin";
- vimrcConfig.vam.knownPlugins =
- vimPlugins // ({
- vim-trailing-whitespace = buildVimPluginFrom2Nix {
- name = "vim-trailing-whitespace";
- src = fetchFromGitHub {
- owner = "bronson";
- repo = "vim-trailing-whitespace";
- rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
- sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
- };
- # make sure string dependencies are handled
- dependencies = [ "vim-nix" ];
- };
- });
- vimrcConfig.vam.pluginDictionaries = [ { names = [ "vim-trailing-whitespace" ]; } ];
- };
-
- # system remote plugin manifest should be generated, deoplete should be usable
- # without the user having to do `UpdateRemotePlugins`. To test, launch neovim
- # and do `:call deoplete#enable()`. It will print an error if the remote
- # plugin is not registered.
- test_nvim_with_remote_plugin = neovim.override {
- configure.pathogen.pluginNames = with vimPlugins; [ deoplete-nvim ];
- };
}
diff --git a/pkgs/os-specific/linux/dropwatch/default.nix b/pkgs/os-specific/linux/dropwatch/default.nix
index 288dea85cc82..c2701c057193 100644
--- a/pkgs/os-specific/linux/dropwatch/default.nix
+++ b/pkgs/os-specific/linux/dropwatch/default.nix
@@ -1,30 +1,47 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
-, libnl, readline, libbfd, ncurses, zlib }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, libbfd
+, libnl
+, libpcap
+, ncurses
+, readline
+, zlib
+}:
stdenv.mkDerivation rec {
pname = "dropwatch";
- version = "1.5.1";
+ version = "1.5.3";
src = fetchFromGitHub {
owner = "nhorman";
repo = pname;
rev = "v${version}";
- sha256 = "1qmax0l7z1qik42c949fnvjh5r6awk4gpgzdsny8iwnmwzjyp8b8";
+ sha256 = "0axx0zzrs7apqnl0r70jyvmgk7cs5wk185id479mapgngibwkyxy";
};
- nativeBuildInputs = [ autoreconfHook pkg-config ];
- buildInputs = [ libbfd libnl ncurses readline zlib ];
-
- # To avoid running into https://sourceware.org/bugzilla/show_bug.cgi?id=14243 we need to define:
- NIX_CFLAGS_COMPILE = "-DPACKAGE=${pname} -DPACKAGE_VERSION=${version}";
+ nativeBuildInputs = [
+ autoreconfHook
+ pkg-config
+ ];
+ buildInputs = [
+ libbfd
+ libnl
+ libpcap
+ ncurses
+ readline
+ zlib
+ ];
enableParallelBuilding = true;
meta = with lib; {
description = "Linux kernel dropped packet monitor";
homepage = "https://github.com/nhorman/dropwatch";
- license = licenses.gpl2;
+ license = licenses.gpl2Plus;
platforms = platforms.linux;
- maintainers = [ maintainers.c0bw3b ];
+ maintainers = with maintainers; [ c0bw3b ];
};
}
diff --git a/pkgs/os-specific/linux/rtw88/default.nix b/pkgs/os-specific/linux/rtw88/default.nix
index 6b5e3211a9e0..423023512408 100644
--- a/pkgs/os-specific/linux/rtw88/default.nix
+++ b/pkgs/os-specific/linux/rtw88/default.nix
@@ -5,13 +5,13 @@ let
in
stdenv.mkDerivation {
pname = "rtw88";
- version = "unstable-2021-04-01";
+ version = "unstable-2021-04-19";
src = fetchFromGitHub {
owner = "lwfinger";
repo = "rtw88";
- rev = "689ce370b0c2da207bb092065697f6cb455a00dc";
- hash = "sha256-gdfQxpzYJ9bEObc2iEapA0TPMZuXndBvEu6qwKqdhyo=";
+ rev = "0f3cc6a5973bc386d9cb542fc85a6ba027edff5d";
+ hash = "sha256-PRzWXC1lre8gt1GfVdnaG836f5YK57P9a8tG20yef0w=";
};
makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index fa93ceb0721e..b24fc539c93d 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -41,6 +41,8 @@ with pkgs;
rustCustomSysroot = callPackage ./rust-sysroot {};
buildRustCrate = callPackage ../build-support/rust/build-rust-crate/test { };
+ vim = callPackage ./vim {};
+
nixos-functions = callPackage ./nixos-functions {};
patch-shebangs = callPackage ./patch-shebangs {};
diff --git a/pkgs/test/vim/default.nix b/pkgs/test/vim/default.nix
new file mode 100644
index 000000000000..4ca004a60c34
--- /dev/null
+++ b/pkgs/test/vim/default.nix
@@ -0,0 +1,72 @@
+{ vimUtils, vim_configurable, neovim, vimPlugins
+, lib, fetchFromGitHub,
+}:
+let
+ inherit (vimUtils) buildVimPluginFrom2Nix;
+
+ packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
+in
+{
+ vim_empty_config = vimUtils.vimrcFile { beforePlugins = ""; customRC = ""; };
+
+ vim_with_vim2nix = vim_configurable.customize {
+ name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ];
+ };
+
+ # test cases:
+ test_vim_with_vim_nix_using_vam = vim_configurable.customize {
+ name = "vim-with-vim-addon-nix-using-vam";
+ vimrcConfig.vam.pluginDictionaries = [{name = "vim-nix"; }];
+ };
+
+ test_vim_with_vim_nix_using_pathogen = vim_configurable.customize {
+ name = "vim-with-vim-addon-nix-using-pathogen";
+ vimrcConfig.pathogen.pluginNames = [ "vim-nix" ];
+ };
+
+ test_vim_with_vim_nix_using_plug = vim_configurable.customize {
+ name = "vim-with-vim-addon-nix-using-plug";
+ vimrcConfig.plug.plugins = with vimPlugins; [ vim-nix ];
+ };
+
+ test_vim_with_vim_nix = vim_configurable.customize {
+ name = "vim-with-vim-addon-nix";
+ vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
+ };
+
+ # only neovim makes use of `requiredPlugins`, test this here
+ test_nvim_with_vim_nix_using_pathogen = neovim.override {
+ configure.pathogen.pluginNames = [ "vim-nix" ];
+ };
+
+ # regression test for https://github.com/NixOS/nixpkgs/issues/53112
+ # The user may have specified their own plugins which may not be formatted
+ # exactly as the generated ones. In particular, they may not have the `pname`
+ # attribute.
+ test_vim_with_custom_plugin = vim_configurable.customize {
+ name = "vim_with_custom_plugin";
+ vimrcConfig.vam.knownPlugins =
+ vimPlugins // ({
+ vim-trailing-whitespace = buildVimPluginFrom2Nix {
+ name = "vim-trailing-whitespace";
+ src = fetchFromGitHub {
+ owner = "bronson";
+ repo = "vim-trailing-whitespace";
+ rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
+ sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
+ };
+ # make sure string dependencies are handled
+ dependencies = [ "vim-nix" ];
+ };
+ });
+ vimrcConfig.vam.pluginDictionaries = [ { names = [ "vim-trailing-whitespace" ]; } ];
+ };
+
+ # system remote plugin manifest should be generated, deoplete should be usable
+ # without the user having to do `UpdateRemotePlugins`. To test, launch neovim
+ # and do `:call deoplete#enable()`. It will print an error if the remote
+ # plugin is not registered.
+ test_nvim_with_remote_plugin = neovim.override {
+ configure.pathogen.pluginNames = with vimPlugins; [ deoplete-nvim ];
+ };
+}
diff --git a/pkgs/tools/misc/websocat/default.nix b/pkgs/tools/misc/websocat/default.nix
index d5f09d9f9fa6..821c059a45f5 100644
--- a/pkgs/tools/misc/websocat/default.nix
+++ b/pkgs/tools/misc/websocat/default.nix
@@ -2,21 +2,24 @@
rustPlatform.buildRustPackage rec {
pname = "websocat";
- version = "1.6.0";
+ version = "1.8.0";
src = fetchFromGitHub {
owner = "vi";
- repo = "websocat";
+ repo = pname;
rev = "v${version}";
- sha256 = "0iilq96bxcb2fsljvlgy47pg514w0jf72ckz39yy3k0gwc1yfcja";
+ sha256 = "sha256-jwoWxK4phBqhIeo3+oRnpGsfvtn9gTR1ryd4N+0Lmbw=";
};
cargoBuildFlags = [ "--features=ssl" ];
- cargoSha256 = "1hsms8rlnds8npr8m0dm21h04ci5ljda09pqb598v7ny3j2dldiq";
+ cargoSha256 = "sha256-+3SG1maarY4DJ4+QiYGwltGLksOoOhKtcqstRwgzi2k=";
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+ # Needed to get openssl-sys to use pkg-config.
+ OPENSSL_NO_VENDOR=1;
+
# The wrapping is required so that the "sh-c" option of websocat works even
# if sh is not in the PATH (as can happen, for instance, when websocat is
# started as a systemd service).
@@ -26,8 +29,9 @@ rustPlatform.buildRustPackage rec {
'';
meta = with lib; {
- description = "Command-line client for WebSockets (like netcat/socat)";
homepage = "https://github.com/vi/websocat";
+ description = "Command-line client for WebSockets (like netcat/socat)";
+ changelog = "https://github.com/vi/websocat/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ thoughtpolice Br1ght0ne ];
};
diff --git a/pkgs/tools/networking/sish/default.nix b/pkgs/tools/networking/sish/default.nix
new file mode 100644
index 000000000000..181582f5452f
--- /dev/null
+++ b/pkgs/tools/networking/sish/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+ pname = "sish";
+ version = "1.1.5";
+
+ src = fetchFromGitHub {
+ owner = "antoniomika";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "06ckgxhnijs7yrj0hhwh1vk2fvapwn6wb44w3g6qs6n6fmqh92mb";
+ };
+
+ vendorSha256 = "0vfazbaiaqka5nd7imh5ls7k3asf1c17y081nzkban98svg3l3sj";
+
+ meta = with lib; {
+ description = "HTTP(S)/WS(S)/TCP Tunnels to localhost";
+ homepage = "https://github.com/antoniomika/sish";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/tools/nix/manix/default.nix b/pkgs/tools/nix/manix/default.nix
index 6c9f02f0e4fd..768a283ebd26 100644
--- a/pkgs/tools/nix/manix/default.nix
+++ b/pkgs/tools/nix/manix/default.nix
@@ -1,19 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin, Security }:
rustPlatform.buildRustPackage rec {
pname = "manix";
- version = "0.6.2";
+ version = "0.6.3";
src = fetchFromGitHub {
owner = "mlvzk";
repo = pname;
rev = "v${version}";
- sha256 = "0fv3sgzwjsgq2h1177r8r1cl5zrfja4ll801sd0bzj3nzmkyww7p";
+ sha256 = "1b7xi8c2drbwzfz70czddc4j33s7g1alirv12dwl91hbqxifx8qs";
};
- buildInputs = lib.optional stdenv.isDarwin [ darwin.Security ];
+ buildInputs = lib.optionals stdenv.isDarwin [ Security ];
- cargoSha256 = "0f2q3bj1cmpbma0fjhc2lc92j4al78fhrx3yc37kmbgzaza0yan5";
+ cargoSha256 = "1yivx9vzk2fvncvlkwq5v11hb9llr1zlcmy69y12q6xnd9rd8x1b";
meta = with lib; {
description = "A Fast Documentation Searcher for Nix";
diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix
index c0ef3b7400a9..eb33d7dbb5f1 100644
--- a/pkgs/tools/security/cosign/default.nix
+++ b/pkgs/tools/security/cosign/default.nix
@@ -1,25 +1,35 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ stdenv, lib, buildGoModule, fetchFromGitHub, pcsclite, pkg-config, PCSC }:
buildGoModule rec {
pname = "cosign";
- version = "0.2.0";
+ version = "0.3.1";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
- sha256 = "1zwb2q62ngb2zh1hasvq7r7pmrjlpgfhs5raibbhkxbk5kayvmii";
+ sha256 = "1gfzard6bh78xxgjk14c9zmdplppkcjqxhvfazcbv8qppjl2pbbd";
};
- vendorSha256 = "0nwbjaps4z5fhiknbj9pybxb6kgwb1vf2qhy0mzpycprf04q6g0v";
+ buildInputs =
+ lib.optional stdenv.isLinux (lib.getDev pcsclite)
+ ++ lib.optionals stdenv.isDarwin [ PCSC ];
+
+ nativeBuildInputs = [ pkg-config ];
+
+ vendorSha256 = "15163v484rv08rn439y38r9spyqn3lf4q4ly8xr18nnf4bs3h6y2";
subPackages = [ "cmd/cosign" ];
+ preBuild = ''
+ buildFlagsArray+=("-ldflags" "-s -w -X github.com/sigstore/cosign/cmd/cosign/cli.gitVersion=v${version}")
+ '';
+
meta = with lib; {
homepage = "https://github.com/sigstore/cosign";
changelog = "https://github.com/sigstore/cosign/releases/tag/v${version}";
description = "Container Signing CLI with support for ephemeral keys and Sigstore signing";
license = licenses.asl20;
- maintainers = with maintainers; [ lesuisse ];
+ maintainers = with maintainers; [ lesuisse jk ];
};
}
diff --git a/pkgs/tools/security/hfinger/default.nix b/pkgs/tools/security/hfinger/default.nix
index 9e053276ecf7..8116c222d077 100644
--- a/pkgs/tools/security/hfinger/default.nix
+++ b/pkgs/tools/security/hfinger/default.nix
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "hfinger";
- version = "0.2.0";
+ version = "0.2.1";
disabled = python3.pythonOlder "3.3";
src = fetchFromGitHub {
owner = "CERT-Polska";
repo = pname;
rev = "v${version}";
- sha256 = "1vz8mf572qyng684fvb9gdwaaiybk7mjmikbymvjvy24d10raak1";
+ sha256 = "sha256-QKnrprDDBq+D8N1brkqgcfK4E+6ssvgPtRaSxkF0C84=";
};
propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/ldeep/default.nix b/pkgs/tools/security/ldeep/default.nix
index db4d14ba3ed7..82d0456a05b7 100644
--- a/pkgs/tools/security/ldeep/default.nix
+++ b/pkgs/tools/security/ldeep/default.nix
@@ -10,11 +10,11 @@
buildPythonApplication rec {
pname = "ldeep";
- version = "1.0.10";
+ version = "1.0.11";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-/7mcmAj69NmuiK+xlQijAk39sMLDX8kHatmSI6XYbwE=";
+ sha256 = "sha256-MYVC8fxLW85n8uZVMhb2Zml1lQ8vW9gw/eRLcmemQx4=";
};
propagatedBuildInputs = [
diff --git a/pkgs/tools/wayland/ydotool/default.nix b/pkgs/tools/wayland/ydotool/default.nix
index 76ebd2250061..4a75eac8c574 100644
--- a/pkgs/tools/wayland/ydotool/default.nix
+++ b/pkgs/tools/wayland/ydotool/default.nix
@@ -1,26 +1,34 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, boost, libevdevplus, libuinputplus }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, boost, libevdevplus, libuinputplus, iodash, cxxopts}:
stdenv.mkDerivation rec {
pname = "ydotool";
- version = "0.1.8";
+ version = "unstable-2021-01-20";
src = fetchFromGitHub {
owner = "ReimuNotMoe";
repo = "ydotool";
- rev = "v${version}";
- sha256 = "0mx3636p0f8pznmwm4rlbwq7wrmjb2ygkf8b3a6ps96a7j1fw39l";
+ rev = "b1d041f52f7bac364d6539b1251d29c3b77c0f37";
+ sha256 = "1gzdbx6fv0dbcyia3yyzhv93az2gf90aszb9kcj5cnxywfpv9w9g";
};
- # disable static linking
+ # upstream decided to use a cpp package manager called cpm.
+ # we need to disable that because it wants networking, furthermore,
+ # it does some system folder creating which also needs to be disabled.
+ # Both changes are to respect the sandbox.
+ patches = [ ./fixup-cmakelists.patch ];
+
+
+ # cxxopts is a header only library.
+ # See pull request: https://github.com/ReimuNotMoe/ydotool/pull/105
postPatch = ''
substituteInPlace CMakeLists.txt --replace \
- "-static" \
- ""
+ "PUBLIC cxxopts" \
+ "PUBLIC"
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
- boost libevdevplus libuinputplus
+ boost libevdevplus libuinputplus iodash cxxopts
];
meta = with lib; {
diff --git a/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch b/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch
new file mode 100644
index 000000000000..965d5c38d83f
--- /dev/null
+++ b/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch
@@ -0,0 +1,58 @@
+From bb8bc44d22060cd1215712117cf30eae09f4f6ba Mon Sep 17 00:00:00 2001
+From: Jappie Klooster
+Date: Fri, 2 Apr 2021 14:04:14 -0400
+Subject: [PATCH] Fixup cmaklists
+
+We remove cpm, which is a package manager for c++,
+which requires networking, so it's better just deleted.
+
+Furthermore we delete the adddirectory statements.
+These want to modify directories outside of the sandbox.
+---
+ CMakeLists.txt | 26 --------------------------
+ 1 file changed, 26 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b5e8789..b797538 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,30 +13,6 @@ endif()
+
+ include(${CPM_DOWNLOAD_LOCATION})
+
+-CPMAddPackage(
+- NAME IODash
+- GITHUB_REPOSITORY YukiWorkshop/IODash
+- VERSION 0.1.0
+-)
+-
+-CPMAddPackage(
+- NAME libevdevPlus
+- GITHUB_REPOSITORY YukiWorkshop/libevdevPlus
+- VERSION 0.2.1
+-)
+-
+-CPMAddPackage(
+- NAME libuInputPlus
+- GITHUB_REPOSITORY YukiWorkshop/libuInputPlus
+- VERSION 0.2.1
+-)
+-
+-CPMAddPackage(
+- NAME cxxopts
+- GITHUB_REPOSITORY jarro2783/cxxopts
+- VERSION 3.0.0
+- GIT_TAG 2d8e17c4f88efce80e274cb03eeb902e055a91d3
+-)
+
+ set(SOURCE_FILES_LIBRARY
+ CommonIncludes.hpp
+@@ -74,5 +50,3 @@ add_executable(ydotool ${SOURCE_FILES_CLIENT})
+ target_link_libraries(ydotool ydotool_library dl pthread uInputPlus evdevPlus)
+ install(TARGETS ydotool DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+-add_subdirectory(Daemon)
+-add_subdirectory(manpage)
+--
+2.29.2
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b11035670a62..1217441ba969 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1276,7 +1276,9 @@ in
corsmisc = callPackage ../tools/security/corsmisc { };
- cosign = callPackage ../tools/security/cosign { };
+ cosign = callPackage ../tools/security/cosign {
+ inherit (darwin.apple_sdk.frameworks) PCSC;
+ };
cozy = callPackage ../applications/audio/cozy-audiobooks { };
@@ -5756,6 +5758,8 @@ in
jq = callPackage ../development/tools/jq { };
+ jql = callPackage ../development/tools/jql { };
+
jo = callPackage ../development/tools/jo { };
jrnl = python3Packages.callPackage ../applications/misc/jrnl { };
@@ -6185,9 +6189,13 @@ in
nodejs-slim-15_x = callPackage ../development/web/nodejs/v15.nix {
enableNpm = false;
};
+ nodejs-16_x = callPackage ../development/web/nodejs/v16.nix { };
+ nodejs-slim-16_x = callPackage ../development/web/nodejs/v16.nix {
+ enableNpm = false;
+ };
# Update this when adding the newest nodejs major version!
- nodejs_latest = nodejs-15_x;
- nodejs-slim_latest = nodejs-slim-15_x;
+ nodejs_latest = nodejs-16_x;
+ nodejs-slim_latest = nodejs-slim-16_x;
nodePackages_latest = dontRecurseIntoAttrs (callPackage ../development/node-packages/default.nix {
nodejs = pkgs.nodejs_latest;
@@ -6213,6 +6221,7 @@ in
ispell = callPackage ../tools/text/ispell {};
+ iodash = callPackage ../development/libraries/iodash { };
jumanpp = callPackage ../tools/text/jumanpp {};
jump = callPackage ../tools/system/jump {};
@@ -6497,7 +6506,9 @@ in
mandoc = callPackage ../tools/misc/mandoc { };
- manix = callPackage ../tools/nix/manix {};
+ manix = callPackage ../tools/nix/manix {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
marktext = callPackage ../applications/misc/marktext { };
@@ -7160,6 +7171,8 @@ in
openrgb = libsForQt5.callPackage ../applications/misc/openrgb { };
+ openrussian-cli = callPackage ../misc/openrussian-cli { };
+
opensc = callPackage ../tools/security/opensc {
inherit (darwin.apple_sdk.frameworks) Carbon PCSC;
};
@@ -23481,6 +23494,8 @@ in
gxplugins-lv2 = callPackage ../applications/audio/gxplugins-lv2 { };
+ hachoir = with python3Packages; toPythonApplication hachoir;
+
hackrf = callPackage ../applications/radio/hackrf { };
hacksaw = callPackage ../tools/misc/hacksaw {};
@@ -23527,6 +23542,10 @@ in
hexedit = callPackage ../applications/editors/hexedit { };
+ himalaya = callPackage ../applications/networking/mailreaders/himalaya {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
+
hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
hivelytracker = callPackage ../applications/audio/hivelytracker { };
@@ -25739,6 +25758,8 @@ in
siproxd = callPackage ../applications/networking/siproxd { };
+ sish = callPackage ../tools/networking/sish { };
+
skypeforlinux = callPackage ../applications/networking/instant-messengers/skypeforlinux { };
skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d276a3999c1c..75e75eb27ddf 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2921,6 +2921,8 @@ in {
habanero = callPackage ../development/python-modules/habanero { };
+ hachoir = callPackage ../development/python-modules/hachoir { };
+
ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { };
halo = callPackage ../development/python-modules/halo { };
diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix
index 0866fcad4630..1d928ce05a93 100644
--- a/pkgs/top-level/ruby-packages.nix
+++ b/pkgs/top-level/ruby-packages.nix
@@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0clfsmkdqviwrjdc0fjqx3qs7xkq06bdl24f2qdyk4p2f0aszdw9";
+ sha256 = "0dr6w3h7i7xyqd04aw66x2ddm7xinvlw02pkk1sxczi8x21z16hf";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
actionmailbox = {
dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "14qcia1l2yjga3azgc381mk75xrddspkpxxvswrr6rg9453i70wf";
+ sha256 = "0w3cq2m1qbmxp7yv3qs82ffn9y46vq5q04vqwxak6ln0ki0v4hn4";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -27,10 +27,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "17cnw2pi5gbll6wqqmp40wdxbg3v0kz1jmfdbg7kwdk8b4mkfqmw";
+ sha256 = "1wsa6kcgjx5am9hn44q2afg174m2gda4n8bfk5na17nj48s9g1ii";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1mbmizxyl2k6z386zqvvzg3i8b91g7ag4hfjmm7fpbc8p6j4kjmb";
+ sha256 = "0brr9kbmmc4fr2x8a7kj88yv8whfjfvalik3h82ypxlbg5b1c9iz";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
actiontext = {
dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -49,10 +49,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "19dgv0zcq7k0wps7gbaiprrardqm74ija9zjydkv93anqqfw3rwd";
+ sha256 = "04f7x7ycg73zc2v3lhvrnl072f7nl0nhp0sspfa2sqq14v4akmmb";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1d68p974w96b3mg8q45cmwy2629dl615fm9in56fgb0k7vcrpazk";
+ sha256 = "0m009iki20hhwwj713bqdw57hmz650l7drfbajw32xn2qnawf294";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
activejob = {
dependencies = ["activesupport" "globalid"];
@@ -71,10 +71,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0pkiy5jy5xjgh4diw5wyc72w1r9s07p1qp1kpwv50a5q1ca12aw0";
+ sha256 = "0zjwcfr4qyff9ln4hhjb1csbjpvr3z4pdgvg8axvhcs86h4xpy2n";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
activemodel = {
dependencies = ["activesupport"];
@@ -82,10 +82,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "019gwxrbki4fr3n2c6g7qyyjw94z5qxjwalh2n69hh1anpcbrd98";
+ sha256 = "118slj94hif5g1maaijlxsywrq75h7qdz20bq62303pkrzabjaxm";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
activerecord = {
dependencies = ["activemodel" "activesupport"];
@@ -93,21 +93,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1ag8wpfayzbv8n9gf9ca2k8rm9yndsxybvf7jv451j9r822mxzm8";
+ sha256 = "1jva5iqnjmj76mhhxcvx6xzda071cy80bhxn3r79f76pvgwwyymg";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
activestorage = {
- dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mimemagic"];
+ dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0kzslp0990fjyxvlsxb7kdysx28mc3zvay4q3zp2wbfnpl1ik41j";
+ sha256 = "1800ski0619mzyk2p2xcmy4xlym18g3lbqw8wb3ss06jhvn5dl5p";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -115,10 +115,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1pflc2fch1bbgzk1rqgj21l6mgx025l92kd9arxjls98nf5am44v";
+ sha256 = "0l0khgrb7zn611xjnmygv5wdxh7wq645f613wldn5397q5w3l9lc";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
addressable = {
dependencies = ["public_suffix"];
@@ -136,10 +136,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a";
+ sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
type = "gem";
};
- version = "2.4.1";
+ version = "2.4.2";
};
atk = {
dependencies = ["glib2"];
@@ -167,10 +167,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "14arh1ixfsd6j5md0agyzvksm5svfkvchb90fp32nn7y3avcmc2h";
+ sha256 = "0vkq6c8y2jvaw03ynds5vjzl1v9wg608cimkd3bidzxc0jvk56z9";
type = "gem";
};
- version = "1.8.0";
+ version = "1.9.2";
};
bacon = {
groups = ["default"];
@@ -203,15 +203,15 @@
version = "11.1.3";
};
cairo = {
- dependencies = ["native-package-installer" "pkg-config"];
+ dependencies = ["native-package-installer" "pkg-config" "red-colors"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "00hiy6anibkjq9w77hg0lpgnkkbcxrfbz8wxv44jfzqbab8910wb";
+ sha256 = "0vbj9szp2xbnxqan8hppip8vm9fxpcmpx745y5fvg2scdh9f0p7s";
type = "gem";
};
- version = "1.16.6";
+ version = "1.17.5";
};
cairo-gobject = {
dependencies = ["cairo" "glib2"];
@@ -291,10 +291,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1jvpxf32l5y2ayj0jp9mv9n7vn61zingzd0s5f7490n584lwmvmg";
+ sha256 = "1y04ig8p9rparhff5dh3781pwf1xlirgq8p0fzvggjjpx761bvra";
type = "gem";
};
- version = "3.4.1";
+ version = "3.4.2";
};
cocoapods = {
dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored" "escape" "fourflusher" "molinillo" "nap" "xcodeproj"];
@@ -354,10 +354,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1b91sfsriizsr08m1vn9j4sf9sb8vgsyr6xjnw18bpy66bpwsqca";
+ sha256 = "0syya8l1kz36069y7cx4f37aihpmbm4yd5wvifs3j8qzz8bpxpfi";
type = "gem";
};
- version = "0.0.2";
+ version = "0.0.3";
};
cocoapods-core = {
dependencies = ["activesupport" "fuzzy_match" "nap"];
@@ -458,10 +458,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1pwzrwp3sys5ad23lc49r3ja2ijzhzjfrq4bbrpbz1x5z7jsa77v";
+ sha256 = "0vpn0y2r91cv9kr2kh6rwh51ipi90iyjfya8ir9grxh1ngv179ck";
type = "gem";
};
- version = "2.2.0";
+ version = "2.2.2";
};
cocoapods-git_url_rewriter = {
groups = ["default"];
@@ -583,10 +583,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1ln4kywj4bx32qyqvr0byi3g4fk8yj026n00xch782x0147f8lka";
+ sha256 = "1z50v9y66kl0s9s84syd8vai77hhysdaymmgbdmpaq54bra6xk72";
type = "gem";
};
- version = "0.0.11";
+ version = "0.2.0";
};
cocoapods-wholemodule = {
groups = ["default"];
@@ -643,10 +643,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+ sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
type = "gem";
};
- version = "1.1.7";
+ version = "1.1.8";
};
crass = {
groups = ["default"];
@@ -745,10 +745,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0wi81lynfdvbwhrc4ws746g3j8761vian4m9gxamdj9rjwj9jhls";
+ sha256 = "1bpdrsdqwv80qqc3f4xxzpii13lx9mlx3zay4bnmmscrx8c0p63z";
type = "gem";
};
- version = "1.3.4";
+ version = "1.3.5";
};
domain_name = {
dependencies = ["unf"];
@@ -808,10 +808,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9";
+ sha256 = "1cql2cxl9bg8gbmmlzl4kvpq7y0gjldgarsnxq35vpd7ga3h54w2";
type = "gem";
};
- version = "0.12.0";
+ version = "0.13.0";
};
eventmachine = {
groups = ["default"];
@@ -828,41 +828,61 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "16ij8617v3js03yj1zd32mmrf7kpi9l96bid5mpqk30c4mzai55r";
+ sha256 = "0jn8s74nxsh0vmxv2fjrrrc3b2cgp8d267dyn206hbw5ki4pkd85";
type = "gem";
};
- version = "0.78.1";
+ version = "0.80.1";
};
faraday = {
- dependencies = ["faraday-net_http" "multipart-post" "ruby2_keywords"];
+ dependencies = ["faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1hmssd8pj4n7yq4kz834ylkla8ryyvhaap6q9nzymp93m1xq21kz";
+ sha256 = "0q646m07lfahakx5jdq77j004rcgfj6lkg13c0f84993gi78dhvi";
type = "gem";
};
- version = "1.3.0";
+ version = "1.4.1";
+ };
+ faraday-excon = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
+ type = "gem";
+ };
+ version = "1.1.0";
};
faraday-net_http = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1kk5d1c5nxbmwawl5gcznwiscjz24nz3vdhxrlzvj7748c1qqr6d";
+ sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
type = "gem";
};
- version = "1.0.0";
+ version = "1.0.1";
+ };
+ faraday-net_http_persistent = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
+ type = "gem";
+ };
+ version = "1.1.0";
};
ffi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
+ sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432";
type = "gem";
};
- version = "1.14.2";
+ version = "1.15.0";
};
ffi-compiler = {
dependencies = ["ffi" "rake"];
@@ -1143,10 +1163,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1kr0bx9323fv5ys6nlhsy05kmwcbs94h6ac7ka9qqywy0vbdvrrv";
+ sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
type = "gem";
};
- version = "1.8.7";
+ version = "1.8.10";
};
iconv = {
groups = ["default"];
@@ -1174,10 +1194,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "02llgsg30jz9kpxs8jzv6rvzaylw7948xj2grp4vsfg54z20cwbm";
+ sha256 = "1vz0vp5lbp1bz2samyn8nk49vyh6zhvcqz35faq4i3kgsd4xlnhp";
type = "gem";
};
- version = "2.10.1";
+ version = "2.11.2";
};
jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -1247,10 +1267,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n";
+ sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs";
type = "gem";
};
- version = "2.2.2";
+ version = "2.2.3";
};
kramdown = {
dependencies = ["rexml"];
@@ -1280,10 +1300,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1nw1gscax8zsv1m682h9f8vys26385nrwpkbigiifs5bsz6272rk";
+ sha256 = "0h2sc2la6dd808pfnd7vh66fqwc7xg3nd2jqr4pdqymxspk9zcsq";
type = "gem";
};
- version = "1.4.2";
+ version = "1.4.3";
};
libv8 = {
groups = ["default"];
@@ -1321,10 +1341,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "06hkw6mssx39fg3jqyq57czr5acd11nqs5631k0xs50lr2y2pv8p";
+ sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj";
type = "gem";
};
- version = "3.4.0";
+ version = "3.5.1";
};
loofah = {
dependencies = ["crass" "nokogiri"];
@@ -1332,10 +1352,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh";
+ sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
type = "gem";
};
- version = "2.8.0";
+ version = "2.9.1";
};
mab = {
groups = ["default"];
@@ -1370,15 +1390,14 @@
version = "2.7.1";
};
marcel = {
- dependencies = ["mimemagic"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
+ sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3";
type = "gem";
};
- version = "0.3.3";
+ version = "1.0.1";
};
markaby = {
dependencies = ["builder"];
@@ -1427,20 +1446,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag";
+ sha256 = "1phcq7z0zpipwd7y4fbqmlaqghv07fjjgrx99mwq3z3n0yvy7fmi";
type = "gem";
};
- version = "3.2020.1104";
- };
- mimemagic = {
- groups = ["default"];
- platforms = [];
- source = {
- remotes = ["https://rubygems.org"];
- sha256 = "1qfqb9w76kmpb48frbzbyvjc0dfxh5qiw1kxdbv2y2kp6fxpa1kf";
- type = "gem";
- };
- version = "0.3.5";
+ version = "3.2021.0225";
};
mini_magick = {
groups = ["default"];
@@ -1457,10 +1466,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+ sha256 = "1np6srnyagghhh2w4nyv09sz47v0i6ri3q6blicj94vgxqp12c94";
type = "gem";
};
- version = "1.0.2";
+ version = "1.0.3";
};
mini_portile2 = {
groups = ["default"];
@@ -1477,10 +1486,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0ipjhdw8ds6q9h7bs3iw28bjrwkwp215hr4l3xf6215fsl80ky5j";
+ sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
type = "gem";
};
- version = "5.14.3";
+ version = "5.14.4";
};
molinillo = {
groups = ["default"];
@@ -1497,10 +1506,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih";
+ sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
type = "gem";
};
- version = "1.3.3";
+ version = "1.4.2";
};
multi_json = {
groups = ["default"];
@@ -1568,10 +1577,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0piclgf6pw7hr10x57x0hn675djyna4sb3xc97yb9vh66wkx1fl0";
+ sha256 = "1ww1mq41q7rda975byjmq5dk8k13v8dawvm33370pbkrymd8syp8";
type = "gem";
};
- version = "1.0.9";
+ version = "1.1.1";
};
ncursesw = {
groups = ["default"];
@@ -1619,10 +1628,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk";
+ sha256 = "00fwz0qq7agd2xkdz02i8li236qvwhma3p0jdn5bdvc21b7ydzd5";
type = "gem";
};
- version = "2.5.4";
+ version = "2.5.7";
};
nokogiri = {
dependencies = ["mini_portile2" "racc"];
@@ -1630,10 +1639,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
+ sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
type = "gem";
};
- version = "1.11.1";
+ version = "1.11.3";
};
opus-ruby = {
dependencies = ["ffi"];
@@ -1663,10 +1672,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1zlk3bksiwrdvb7j0r5av7w280kigl7947wa7w4kbwqz3snaxl3m";
+ sha256 = "0m2acfd6l6k9xvqxvwivcnwji9974ac7498znydxh69z1x3rr8nm";
type = "gem";
};
- version = "4.4.0";
+ version = "4.4.1";
};
pango = {
dependencies = ["cairo-gobject" "gobject-introspection"];
@@ -1695,10 +1704,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml";
+ sha256 = "04ri489irbbx6sbkclpgri7j7p99v2qib5g2i70xx5fay12ilny8";
type = "gem";
};
- version = "3.0.0.0";
+ version = "3.0.1.0";
};
pathutil = {
dependencies = ["forwardable-extended"];
@@ -1746,10 +1755,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "068sf963n2zk47kqcckj624g5pxmk68mm76h02piphfyh9x4zmi3";
+ sha256 = "1mjjy1grxr64znkffxsvprcckbrrnm40b6gbllnbm7jxslbr3gjl";
type = "gem";
};
- version = "1.4.4";
+ version = "1.4.6";
};
polyglot = {
groups = ["default"];
@@ -1767,10 +1776,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk";
+ sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr";
type = "gem";
};
- version = "0.13.1";
+ version = "0.14.1";
};
pry-byebug = {
dependencies = ["byebug" "pry"];
@@ -1778,10 +1787,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv";
+ sha256 = "07cv2hddswb334777pjgc9avxn0x9qhrdr191g7windvnjk3scvg";
type = "gem";
};
- version = "3.9.0";
+ version = "3.8.0";
};
pry-doc = {
dependencies = ["pry" "yard"];
@@ -1810,10 +1819,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "13640p5fk19705ygp8j6p07lccag3d80bx8bmjgpd5zsxxsdc50b";
+ sha256 = "0wiprd0v4mjqv5p1vqaidr9ci2xm08lcxdz1k50mb1b6nrw6r74k";
type = "gem";
};
- version = "5.1.1";
+ version = "5.2.2";
};
racc = {
groups = ["default"];
@@ -1896,10 +1905,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "179r2qymrh16ih5x563wqv3zpka9fvby5czqf47d24zm7zw1bwla";
+ sha256 = "1m3ckisji9n3li2700jpkyncsrh5b2z20zb0b4jl5x16cwsymr7b";
type = "gem";
};
- version = "6.1.0";
+ version = "6.1.3.1";
};
rainbow = {
groups = ["default"];
@@ -1968,10 +1977,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "16q71cc9wx342c697q18pkz19ym4ncjd97hcw4v6f1mgflkdv400";
+ sha256 = "13za43xb5xfg1xb1vwlvwx14jlmnk7jal5dqw8q9a5g13csx41sw";
type = "gem";
};
- version = "1.2.0";
+ version = "1.4.0";
+ };
+ red-colors = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0ar2k7zvhr1215jx5di29hkg5h1798f1gypmq6v0sy9v35w6ijca";
+ type = "gem";
+ };
+ version = "0.1.1";
};
redcarpet = {
groups = ["default"];
@@ -2020,10 +2039,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0zm86k9q8m5jkcnpb1f93wsvc57saldfj8czxkx1aw031i95inip";
+ sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr";
type = "gem";
};
- version = "2.0.3";
+ version = "2.1.1";
};
rest-client = {
dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
@@ -2041,20 +2060,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+ sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
type = "gem";
};
- version = "3.2.4";
+ version = "3.2.5";
};
rmagick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0ajn6aisf9hh3x5zrs7n02pg5xy3m8x38gh9cn7b3klzgp3djla5";
+ sha256 = "04ahv5gwfwdmwx6b7c0z91rrsfklvnqichgnqk1f9b9n6md3b8yw";
type = "gem";
};
- version = "4.1.2";
+ version = "4.2.2";
};
rouge = {
groups = ["default"];
@@ -2115,20 +2134,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1x4aks5qq489iikb4ir11ppy1dg83l4dw3s34jlwvc90mj2fjrql";
+ sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k";
type = "gem";
};
- version = "3.10.1";
+ version = "3.10.2";
};
rspec-support = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1lw9qdrff4dfdz62ww8cmv33rddmadr92k2lrvc042aajvk6x886";
+ sha256 = "15j52parvb8cgvl6s0pbxi2ywxrv6x0764g222kz5flz0s4mycbl";
type = "gem";
};
- version = "3.10.1";
+ version = "3.10.2";
};
rubocop = {
dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -2136,10 +2155,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "12kkyzyzh30mi9xs52lc1pjki1al4x9acdaikj40wslhpwp1ng1l";
+ sha256 = "0cgrj670wrdw202pddiawcx2jbkcp7ja8zbc646by7nrg9ax492d";
type = "gem";
};
- version = "1.7.0";
+ version = "1.13.0";
};
rubocop-ast = {
dependencies = ["parser"];
@@ -2147,10 +2166,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1qvfp567aprjgcwj757p55ynj0dx2b3c3hd76za9z3c43sphprcj";
+ sha256 = "0gkf1p8yal38nlvdb39qaiy0gr85fxfr09j5dxh8qvrgpncpnk78";
type = "gem";
};
- version = "1.4.0";
+ version = "1.4.1";
};
rubocop-performance = {
dependencies = ["rubocop" "rubocop-ast"];
@@ -2158,10 +2177,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "01aahh54r9mwhdj7v2s6kmkdm1k1n1z27dlknlbgm281ny1aswrk";
+ sha256 = "07c3kymvsid9aajwmmwr3n6apxgyjcbzbl2n6r5lpzkyz28jqn15";
type = "gem";
};
- version = "1.9.2";
+ version = "1.10.2";
};
ruby-graphviz = {
dependencies = ["rexml"];
@@ -2220,20 +2239,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0lk124dixshf8mmrjpsy9avnaygni3cwki25g8nm5py4d2f5fwwa";
+ sha256 = "1wy58f9qijwvkmw1j40ak2v5nsr3wcwsa1nilfw047liwyi06yad";
type = "gem";
};
- version = "2.0.17";
+ version = "2.1.0";
};
ruby2_keywords = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
+ sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
type = "gem";
};
- version = "0.0.2";
+ version = "0.0.4";
};
RubyInline = {
dependencies = ["ZenTest"];
@@ -2303,20 +2322,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1lanqba97ncv88m9r5a3i12n938j5hnpn06q55fxhayfls4fsgdn";
+ sha256 = "13mlccf70slrjpxvpvmnk2cls39nkpgksa7sd90jlnm0s0z7lhdd";
type = "gem";
};
- version = "0.11.1";
+ version = "0.11.4";
};
sequel = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0ym43w8alp65fl8j7792i1l44laq9pm91zj97x0r340xkmaii9hp";
+ sha256 = "0i2zbx3zkrppvf7zmk5hpiji9kj18c0yavcr2c3i0gaqskhzvaj9";
type = "gem";
};
- version = "5.40.0";
+ version = "5.43.0";
};
sequel_pg = {
dependencies = ["pg" "sequel"];
@@ -2335,10 +2354,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0vv68r61crcnyr5i2qi3h220xbwndsfzwcfzzdr6cmhcdczyr9n2";
+ sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr";
type = "gem";
};
- version = "0.21.1";
+ version = "0.21.2";
};
simplecov-html = {
groups = ["default"];
@@ -2377,10 +2396,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0nqyam74izmbczwb406bsmgdzjz5r91d4lywlvdbxx5sl4g4256a";
+ sha256 = "0516kmcypysgf2lw8zm8n9yghv6igqgphhfgmgyzgiin388xw4gj";
type = "gem";
};
- version = "2.6.0";
+ version = "2.7.0";
};
slop = {
groups = ["default"];
@@ -2439,10 +2458,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1g7398sn8syybz3nbf3dqwa8q8v3s3s444i24xl5q9pzx4g4nkf1";
+ sha256 = "1nkwmlx0ja35gs4lkh7hmshlwsqk5wm1wqrc2p45icnjmrh0x5cw";
type = "gem";
};
- version = "1.0.1";
+ version = "1.1.0";
};
terminal-table = {
dependencies = ["unicode-display_width"];
@@ -2460,20 +2479,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm";
+ sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
type = "gem";
};
- version = "1.0.1";
+ version = "1.1.0";
};
thrift = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "08076cmdx0g51yrkd7dlxlr45nflink3jhdiq7006ljc2pc3212q";
+ sha256 = "1sfa4120a7yl3gxjcx990gyawsshfr22gfv5rvgpk72l2p9j2420";
type = "gem";
};
- version = "0.13.0";
+ version = "0.14.1";
};
tilt = {
groups = ["default"];
@@ -2595,10 +2614,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0ch19amq0spj5dc240mv6s8hh245w7nis2h070qr3jm15r4jb21m";
+ sha256 = "092y84kak86ds2as9kwn5a9m2yzqwqcz4wx31jk3kin32c3hwcrn";
type = "gem";
};
- version = "5.0.1";
+ version = "5.0.2";
};
xcodeproj = {
dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];