From 5d52eb8014ca02ce5d91b71bdc1c97b68b68c656 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 29 May 2021 04:55:52 +0000 Subject: [PATCH 01/19] go-mockery: 2.7.5 -> 2.8.0 --- pkgs/development/tools/go-mockery/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/go-mockery/default.nix b/pkgs/development/tools/go-mockery/default.nix index 6f86900edf52..347bfeb116a4 100644 --- a/pkgs/development/tools/go-mockery/default.nix +++ b/pkgs/development/tools/go-mockery/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "go-mockery"; - version = "2.7.5"; + version = "2.8.0"; src = fetchFromGitHub { owner = "vektra"; repo = "mockery"; rev = "v${version}"; - sha256 = "sha256-RdXViEEJR8yud2coSmAUfIe1mTCHiZHALrcGRslNfEg="; + sha256 = "sha256-sOZig47KKKGJmV9QNCa+TwYCxemeVl6xssfExSaaFjY="; }; vendorSha256 = "sha256-//V3ia3YP1hPgC1ipScURZ5uXU4A2keoG6dGuwaPBcA="; From 7a4e53ed2c67ea1d379b5b9326581d86b6e0e9c5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 29 May 2021 11:34:39 +0000 Subject: [PATCH 02/19] eksctl: 0.51.0 -> 0.52.0 --- pkgs/tools/admin/eksctl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix index 8c068d072e22..d3ebba0ab432 100644 --- a/pkgs/tools/admin/eksctl/default.nix +++ b/pkgs/tools/admin/eksctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "eksctl"; - version = "0.51.0"; + version = "0.52.0"; src = fetchFromGitHub { owner = "weaveworks"; repo = pname; rev = version; - sha256 = "sha256-OTgcQLYtUAf7EeaEafzfPG02SGjVvSAVvVGI4A/S0Zs="; + sha256 = "sha256-P8v8XliY8XbfdiqSUTUhI4HYBKzAk/LHVSF0OLS8Vag="; }; - vendorSha256 = "sha256-RkUr4ytoFa6/luaxDLj0FiF3cs9fJav0JHcZCN46Mqs="; + vendorSha256 = "sha256-4aZVQjcrZ6NKXr0ZFMWEcf6jMtp6TlRlinZ6ZZvLDyE="; doCheck = false; From a57fcabd330f5ad90246f6560a61e574aa14fc13 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 31 May 2021 01:49:11 +0000 Subject: [PATCH 03/19] ckan: 1.30.2 -> 1.30.4 --- pkgs/games/ckan/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/ckan/default.nix b/pkgs/games/ckan/default.nix index 050a11a5ce1e..3649369aeaad 100644 --- a/pkgs/games/ckan/default.nix +++ b/pkgs/games/ckan/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ckan"; - version = "1.30.2"; + version = "1.30.4"; src = fetchurl { url = "https://github.com/KSP-CKAN/CKAN/releases/download/v${version}/ckan.exe"; - sha256 = "sha256-ggmUsJb3xKpI3ygTmzR5f3na/oU4OEa3r3edjlN5R+Q="; + sha256 = "sha256-IgPqUEDpaIuGoaGoH2GCEzh3KxF3pkJC3VjTYXwSiQE="; }; dontUnpack = true; From 651777934941480a36f7df9c434e6044957d045d Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 31 May 2021 08:32:21 +0200 Subject: [PATCH 04/19] dnsname-cni: Use wrapper instead of patch for dnsmasq The patch proved to be an incomplete solution while developing nixosTests.podman-dnsname --- .../cluster/dnsname-cni/default.nix | 16 +++++++++++----- .../dnsname-cni/hardcode-dnsmasq-path.patch | 19 ------------------- 2 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 pkgs/applications/networking/cluster/dnsname-cni/hardcode-dnsmasq-path.patch diff --git a/pkgs/applications/networking/cluster/dnsname-cni/default.nix b/pkgs/applications/networking/cluster/dnsname-cni/default.nix index 91ef8b68fb63..2770617db7e5 100644 --- a/pkgs/applications/networking/cluster/dnsname-cni/default.nix +++ b/pkgs/applications/networking/cluster/dnsname-cni/default.nix @@ -1,4 +1,11 @@ -{ buildGoModule, fetchFromGitHub, lib, dnsmasq }: +{ + buildGoModule, + dnsmasq, + fetchFromGitHub, + lib, + nixosTests, + makeWrapper, +}: buildGoModule rec { pname = "cni-plugin-dnsname"; @@ -11,10 +18,9 @@ buildGoModule rec { sha256 = "090kpq2ppan9ayajdk5vwbvww30nphylgajn2p3441d4jg2nvsm3"; }; - patches = [ ./hardcode-dnsmasq-path.patch ]; - - postPatch = '' - substituteInPlace plugins/meta/dnsname/service.go --replace '@DNSMASQ@' '${dnsmasq}/bin/dnsmasq' + nativeBuildInputs = [ makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/dnsname --prefix PATH : ${lib.makeBinPath [ dnsmasq ]} ''; vendorSha256 = null; diff --git a/pkgs/applications/networking/cluster/dnsname-cni/hardcode-dnsmasq-path.patch b/pkgs/applications/networking/cluster/dnsname-cni/hardcode-dnsmasq-path.patch deleted file mode 100644 index 24ef5eb85d13..000000000000 --- a/pkgs/applications/networking/cluster/dnsname-cni/hardcode-dnsmasq-path.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/plugins/meta/dnsname/service.go b/plugins/meta/dnsname/service.go -index fc05f75..f6b4caf 100644 ---- a/plugins/meta/dnsname/service.go -+++ b/plugins/meta/dnsname/service.go -@@ -16,10 +16,14 @@ import ( - - // newDNSMasqFile creates a new instance of a dnsNameFile - func newDNSMasqFile(domainName, networkInterface, networkName string) (dnsNameFile, error) { -+ /* - dnsMasqBinary, err := exec.LookPath("dnsmasq") - if err != nil { - return dnsNameFile{}, errors.Errorf("the dnsmasq cni plugin requires the dnsmasq binary be in PATH") - } -+ */ -+ _ = errors.Errorf // XXX(mikroskeem): reduce diff -+ dnsMasqBinary := "@DNSMASQ@" - masqConf := dnsNameFile{ - ConfigFile: makePath(networkName, confFileName), - Domain: domainName, From efba949352271ec77d9d5e7d54f2d16b9c53ee4f Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 27 May 2021 13:00:09 +0200 Subject: [PATCH 05/19] nixos/containers: Add virtualisation.containers.containersConf.cniPlugins --- nixos/modules/virtualisation/containers.nix | 22 ++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 3974caf2233b..45d4f877ae5b 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -48,6 +48,23 @@ in description = "containers.conf configuration"; }; + containersConf.cniPlugins = mkOption { + type = types.listOf types.package; + defaultText = '' + [ + pkgs.cni-plugins + ] + ''; + example = lib.literalExample '' + [ + pkgs.cniPlugins.dnsname + ] + ''; + description = '' + CNI plugins to install on the system. + ''; + }; + registries = { search = mkOption { type = types.listOf types.str; @@ -97,8 +114,11 @@ in }; config = lib.mkIf cfg.enable { + + virtualisation.containers.containersConf.cniPlugins = [ pkgs.cni-plugins ]; + virtualisation.containers.containersConf.settings = { - network.cni_plugin_dirs = [ "${pkgs.cni-plugins}/bin/" ]; + network.cni_plugin_dirs = map (p: "${lib.getBin p}/bin") cfg.containersConf.cniPlugins; engine = { init_path = "${pkgs.catatonit}/bin/catatonit"; } // lib.optionalAttrs cfg.ociSeccompBpfHook.enable { From d81631fb98ea35b107d86f5de287cf727d0dfc18 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 27 May 2021 16:19:01 +0200 Subject: [PATCH 06/19] nixos/podman: Add defaultNetwork.extraPlugins --- nixos/modules/virtualisation/podman.nix | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/podman.nix b/nixos/modules/virtualisation/podman.nix index b16afb668949..ee9565abc24b 100644 --- a/nixos/modules/virtualisation/podman.nix +++ b/nixos/modules/virtualisation/podman.nix @@ -2,6 +2,7 @@ let cfg = config.virtualisation.podman; toml = pkgs.formats.toml { }; + json = pkgs.formats.json { }; inherit (lib) mkOption types; @@ -22,6 +23,19 @@ let done ''; + net-conflist = pkgs.runCommand "87-podman-bridge.conflist" { + nativeBuildInputs = [ pkgs.jq ]; + extraPlugins = builtins.toJSON cfg.defaultNetwork.extraPlugins; + jqScript = '' + . + { "plugins": (.plugins + $extraPlugins) } + ''; + } '' + jq <${cfg.package}/etc/cni/net.d/87-podman-bridge.conflist \ + --argjson extraPlugins "$extraPlugins" \ + "$jqScript" \ + >$out + ''; + in { imports = [ @@ -99,6 +113,13 @@ in ''; }; + defaultNetwork.extraPlugins = lib.mkOption { + type = types.listOf json.type; + default = []; + description = '' + Extra CNI plugin configurations to add to podman's default network. + ''; + }; }; @@ -107,7 +128,7 @@ in environment.systemPackages = [ cfg.package ] ++ lib.optional cfg.dockerCompat dockerCompat; - environment.etc."cni/net.d/87-podman-bridge.conflist".source = "${cfg.package}/etc/cni/net.d/87-podman-bridge.conflist"; + environment.etc."cni/net.d/87-podman-bridge.conflist".source = net-conflist; virtualisation.containers = { enable = true; # Enable common /etc/containers configuration From 54f2f1e5f1c7fd34e564a84443e8490477e26eb7 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 27 May 2021 16:22:28 +0200 Subject: [PATCH 07/19] nixos/podman-dnsname: init --- .../modules/virtualisation/podman-dnsname.nix | 36 ++++++++++++++++ nixos/modules/virtualisation/podman.nix | 1 + nixos/tests/all-tests.nix | 1 + nixos/tests/podman-dnsname.nix | 42 +++++++++++++++++++ .../cluster/dnsname-cni/default.nix | 4 ++ 5 files changed, 84 insertions(+) create mode 100644 nixos/modules/virtualisation/podman-dnsname.nix create mode 100644 nixos/tests/podman-dnsname.nix diff --git a/nixos/modules/virtualisation/podman-dnsname.nix b/nixos/modules/virtualisation/podman-dnsname.nix new file mode 100644 index 000000000000..beef19755079 --- /dev/null +++ b/nixos/modules/virtualisation/podman-dnsname.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: +let + inherit (lib) + mkOption + mkIf + types + ; + + cfg = config.virtualisation.podman; + +in +{ + options = { + virtualisation.podman = { + + defaultNetwork.dnsname.enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable DNS resolution in the default podman network. + ''; + }; + + }; + }; + + config = { + virtualisation.containers.containersConf.cniPlugins = mkIf cfg.defaultNetwork.dnsname.enable [ pkgs.dnsname-cni ]; + virtualisation.podman.defaultNetwork.extraPlugins = + lib.optional cfg.defaultNetwork.dnsname.enable { + type = "dnsname"; + domainName = "dns.podman"; + capabilities.aliases = true; + }; + }; +} diff --git a/nixos/modules/virtualisation/podman.nix b/nixos/modules/virtualisation/podman.nix index ee9565abc24b..e245004e04a6 100644 --- a/nixos/modules/virtualisation/podman.nix +++ b/nixos/modules/virtualisation/podman.nix @@ -39,6 +39,7 @@ let in { imports = [ + ./podman-dnsname.nix ./podman-network-socket.nix (lib.mkRenamedOptionModule [ "virtualisation" "podman" "libpod" ] [ "virtualisation" "containers" "containersConf" ]) ]; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f6417170a6fc..413db7063b82 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -335,6 +335,7 @@ in plotinus = handleTest ./plotinus.nix {}; podgrab = handleTest ./podgrab.nix {}; podman = handleTestOn ["x86_64-linux"] ./podman.nix {}; + podman-dnsname = handleTestOn ["x86_64-linux"] ./podman-dnsname.nix {}; podman-tls-ghostunnel = handleTestOn ["x86_64-linux"] ./podman-tls-ghostunnel.nix {}; pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {}; postfix = handleTest ./postfix.nix {}; diff --git a/nixos/tests/podman-dnsname.nix b/nixos/tests/podman-dnsname.nix new file mode 100644 index 000000000000..dd352f754dcf --- /dev/null +++ b/nixos/tests/podman-dnsname.nix @@ -0,0 +1,42 @@ +import ./make-test-python.nix ( + { pkgs, lib, ... }: + let + inherit (pkgs) writeTextDir python3 curl; + webroot = writeTextDir "index.html" "

Hi

"; + in + { + name = "podman-dnsname"; + meta = { + maintainers = with lib.maintainers; [ roberth ] ++ lib.teams.podman.members; + }; + + nodes = { + podman = { pkgs, ... }: { + virtualisation.podman.enable = true; + virtualisation.podman.defaultNetwork.dnsname.enable = true; + }; + }; + + testScript = '' + podman.wait_for_unit("sockets.target") + + with subtest("DNS works"): # also tests inter-container tcp routing + podman.succeed("tar cv --files-from /dev/null | podman import - scratchimg") + podman.succeed( + "podman run -d --name=webserver -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin -w ${webroot} scratchimg ${python3}/bin/python -m http.server 8000" + ) + podman.succeed("podman ps | grep webserver") + podman.succeed(""" + for i in `seq 0 120`; do + podman run --rm --name=client -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg ${curl}/bin/curl http://webserver:8000 >/dev/console \ + && exit 0 + sleep 0.5 + done + exit 1 + """) + podman.succeed("podman stop webserver") + podman.succeed("podman rm webserver") + + ''; + } +) diff --git a/pkgs/applications/networking/cluster/dnsname-cni/default.nix b/pkgs/applications/networking/cluster/dnsname-cni/default.nix index 2770617db7e5..27b37fdee0c4 100644 --- a/pkgs/applications/networking/cluster/dnsname-cni/default.nix +++ b/pkgs/applications/networking/cluster/dnsname-cni/default.nix @@ -28,6 +28,10 @@ buildGoModule rec { doCheck = false; # NOTE: requires root privileges + passthru.tests = { + inherit (nixosTests) podman-dnsname; + }; + meta = with lib; { description = "DNS name resolution for containers"; homepage = "https://github.com/containers/dnsname"; From 1d781e5c80d3c392933479a114e9e3857a1d9529 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 31 May 2021 09:40:04 +0200 Subject: [PATCH 08/19] podman: Add nixosTests.podman-dnsname to tests --- pkgs/applications/virtualization/podman/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index 6c518ab8934a..10a6d726aef8 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -84,7 +84,10 @@ buildGoModule rec { passthru.tests = { inherit (nixosTests) podman; # related modules - inherit (nixosTests) podman-tls-ghostunnel; + inherit (nixosTests) + podman-tls-ghostunnel + podman-dnsname + ; }; meta = with lib; { From 373eaadd9973a1cb1d67a1cbf08247a5c336ac01 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 1 Jun 2021 02:10:32 +0000 Subject: [PATCH 09/19] mackerel-agent: 0.71.1 -> 0.71.2 --- pkgs/servers/monitoring/mackerel-agent/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/mackerel-agent/default.nix b/pkgs/servers/monitoring/mackerel-agent/default.nix index 38c93248b5b6..988d502e1432 100644 --- a/pkgs/servers/monitoring/mackerel-agent/default.nix +++ b/pkgs/servers/monitoring/mackerel-agent/default.nix @@ -2,20 +2,20 @@ buildGoModule rec { pname = "mackerel-agent"; - version = "0.71.1"; + version = "0.71.2"; src = fetchFromGitHub { owner = "mackerelio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-xEUIfmQX7I+I2wi53vc1JZYDweY9OAAUd2TZJ125+iw="; + sha256 = "sha256-O67xzL4avCOh2x6qJCScOWR2TS1hfP5S6jHHELNbZWQ="; }; nativeBuildInputs = [ makeWrapper ]; checkInputs = lib.optionals (!stdenv.isDarwin) [ nettools ]; buildInputs = lib.optionals (!stdenv.isDarwin) [ iproute2 ]; - vendorSha256 = "sha256-yomxALecP+PycelOmwrteK/LoW7wsst7os+jcbF46Bs="; + vendorSha256 = "sha256-iFWQoAnB0R6XwjdPvOWJdNTmEZ961zE51vDrmZ7r4Jk="; subPackages = [ "." ]; From d386ff76a6f1b9d674282cc1a8bc47f3706f27f8 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 1 Jun 2021 06:25:52 +0000 Subject: [PATCH 10/19] bupstash: 0.9.0 -> 0.9.1 --- pkgs/tools/backup/bupstash/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/backup/bupstash/default.nix b/pkgs/tools/backup/bupstash/default.nix index 4a8de070ced2..44d16549cdda 100644 --- a/pkgs/tools/backup/bupstash/default.nix +++ b/pkgs/tools/backup/bupstash/default.nix @@ -1,16 +1,16 @@ { lib, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }: rustPlatform.buildRustPackage rec { pname = "bupstash"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "andrewchambers"; repo = pname; rev = "v${version}"; - sha256 = "sha256-uA5XEG9nvqsXg34bqw8k4Rjk5F9bPFSk1HQ4Bv6Ar+I="; + sha256 = "sha256-DzRGhdUxfBW6iazpCHlQ9J8IL10FVxhac8kx6yBSGNk="; }; - cargoSha256 = "sha256-4r+Ioh6Waoy/7LVF3CPz18c2bCRYym5T4za1GSKw7WQ="; + cargoSha256 = "sha256-IKk4VsO/oH4nC6F1W+JA3Agl7oXXNJ7zpP2PYpPLREU="; nativeBuildInputs = [ ronn pkg-config installShellFiles ]; buildInputs = [ libsodium ]; From e7c043efba1101a99adac1a087e9ef84ad5e1d81 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 1 Jun 2021 10:43:20 +0000 Subject: [PATCH 11/19] go-task: 3.4.2 -> 3.4.3 --- pkgs/development/tools/go-task/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix index e97819c4343f..58a986e813e1 100644 --- a/pkgs/development/tools/go-task/default.nix +++ b/pkgs/development/tools/go-task/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "go-task"; - version = "3.4.2"; + version = "3.4.3"; src = fetchFromGitHub { owner = pname; repo = "task"; rev = "v${version}"; - sha256 = "sha256-632ISkBIZJBJpybuiuRHOV3CAJg1rSe3hK+W7hmW2cM="; + sha256 = "sha256-hI6x3DOB7pP+umnEFqL0sIx+6qN74sooLdkR2pC74D8="; }; - vendorSha256 = "sha256-qKjCGZnCts4GfBafSRXR7xTvfJdqK8zjpu01eiyITkU="; + vendorSha256 = "sha256-bsVzV2M31BA7X6aq8na7v56uGYgne4OwR5kz/utmQHI="; doCheck = false; From 19b20ae7b2ebbe4dcf76df122d0d2ed4aa0fc458 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 1 Jun 2021 12:37:00 +0000 Subject: [PATCH 12/19] krapslog: 0.1.3 -> 0.2.0 --- pkgs/tools/misc/krapslog/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/krapslog/default.nix b/pkgs/tools/misc/krapslog/default.nix index a5cbbc87770c..c6f1cf8f8169 100644 --- a/pkgs/tools/misc/krapslog/default.nix +++ b/pkgs/tools/misc/krapslog/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "krapslog"; - version = "0.1.3"; + version = "0.2.0"; src = fetchFromGitHub { owner = "acj"; repo = "krapslog-rs"; rev = version; - sha256 = "sha256-BaR72djkvaMmdBqbykezLkY81Y7iajhNPcFGYq/qv7Y="; + sha256 = "sha256-Ab5bY5r0tYx3JxYRRq7i9O7WFvdi6cRMSuru/pK50y8="; }; - cargoSha256 = "sha256-rcLsqMegCos+v0OkdRvH9xoopE7R/njEUVteMY/6mj8="; + cargoSha256 = "sha256-k7jsWMFU/8XogREic4GB+qYocFtiTvSzvBAcORUFe0o="; buildInputs = lib.optional stdenv.isDarwin libiconv; From bfb256b591b90af3aaf1295f69091e1b41dc6586 Mon Sep 17 00:00:00 2001 From: andreoss Date: Mon, 31 May 2021 23:23:54 -0400 Subject: [PATCH 13/19] bibletime: 2.11.2 -> 3.0 --- pkgs/applications/misc/bibletime/default.nix | 35 +++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/misc/bibletime/default.nix b/pkgs/applications/misc/bibletime/default.nix index eb909155e4e1..aae4a960a371 100644 --- a/pkgs/applications/misc/bibletime/default.nix +++ b/pkgs/applications/misc/bibletime/default.nix @@ -1,36 +1,47 @@ { lib, mkDerivation, fetchurl, cmake, pkg-config, sword, boost, clucene_core -, qtbase, qttools, qtsvg, qtwebkit -}: +, qtbase, qttools, qtsvg, perlPackages, docbook_xml_dtd_45 +, docbook_xsl_ns }: mkDerivation rec { - version = "2.11.2"; + version = "3.0"; pname = "bibletime"; src = fetchurl { - url = "mirror://sourceforge/bibletime/${pname}-${version}.tar.xz"; - sha256 = "1s5bvmwbz1gyp3ml8sghpc00h8nhdvx2iyq96iri30kwx1y1jy6i"; + url = + "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz"; + sha256 = "08i6nb9a7z0jpsq76q0kr62hw6ph9chqjpjcvkimbcj4mmifzgnn"; }; - nativeBuildInputs = [ cmake pkg-config ]; + nativeBuildInputs = [ cmake pkg-config docbook_xml_dtd_45 ]; buildInputs = [ - sword boost clucene_core - qtbase qttools qtsvg qtwebkit - ]; + sword + boost + clucene_core + qtbase + qttools + qtsvg + perlPackages.Po4a + ]; - preConfigure = '' + preConfigure = '' export CLUCENE_HOME=${clucene_core}; export SWORD_HOME=${sword}; ''; - cmakeFlags = [ "-DUSE_QT_WEBKIT=ON" "-DCMAKE_BUILD_TYPE=Debug" ]; + cmakeFlags = [ + "-DBUILD_HOWTO_PDF=OFF" + "-DBUILD_HANDBOOK_PDF=OFF" + "-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl" + "-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl" + ]; meta = { description = "A Qt4 Bible study tool"; homepage = "http://www.bibletime.info/"; platforms = lib.platforms.linux; - license = lib.licenses.gpl2; + license = lib.licenses.gpl2Plus; maintainers = [ lib.maintainers.piotr ]; }; } From 0dcb2da70547d85175df951d3d443e8640a1c244 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Tue, 1 Jun 2021 01:55:15 -0300 Subject: [PATCH 14/19] wio: unstable-2020-11-02 -> 0.0.0+unstable=2021-06-01 wio was forked to a brand new repository. --- .../window-managers/wio/default.nix | 31 ++- .../window-managers/wio/wlroots-0.13.patch | 254 ------------------ 2 files changed, 17 insertions(+), 268 deletions(-) delete mode 100644 pkgs/applications/window-managers/wio/wlroots-0.13.patch diff --git a/pkgs/applications/window-managers/wio/default.nix b/pkgs/applications/window-managers/wio/default.nix index 72fa23de9dd4..485fd0b8a623 100644 --- a/pkgs/applications/window-managers/wio/default.nix +++ b/pkgs/applications/window-managers/wio/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, fetchgit +{ lib +, stdenv +, fetchFromBitbucket , meson , ninja , pkg-config @@ -17,28 +19,29 @@ stdenv.mkDerivation rec { pname = "wio"; - version = "unstable-2020-11-02"; + version = "0.0.0+unstable=2021-06-01"; - src = fetchgit { - url = "https://git.sr.ht/~sircmpwn/wio"; - rev = "31b742e473b15a2087be740d1de28bc2afd47a4d"; - sha256 = "1vpvlahv6dmr7vfb11p5cc5ds2y2vfvcb877nkqx18yin6pg357l"; + src = fetchFromBitbucket { + owner = "anderson_torres"; + repo = pname; + rev = "ad57eb45ba0459cd0b16ba486cb6e01626079c29"; + sha256 = "sha256-mCggAscQ+Ej3SNwhA6QxecV1nH6Rw8RDf8yAsbadqjE="; }; - patches = [ - # To fix the build with wlroots 0.13: - ./wlroots-0.13.patch + nativeBuildInputs = [ + meson + ninja + pkg-config + makeWrapper ]; - - nativeBuildInputs = [ meson ninja pkg-config makeWrapper ]; buildInputs = [ cairo libxkbcommon + mesa # for libEGL udev wayland wayland-protocols wlroots - mesa # for libEGL xwayland ]; @@ -48,15 +51,15 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "https://wio-project.org/"; description = "That Plan 9 feel, for Wayland"; longDescription = '' Wio is a Wayland compositor for Linux and FreeBSD which has a similar look and feel to plan9's rio. ''; - homepage = "https://wio-project.org/"; license = licenses.mit; - platforms = with platforms; linux; maintainers = with maintainers; [ AndersonTorres ]; + platforms = with platforms; linux; }; passthru.providedSessions = [ "wio" ]; diff --git a/pkgs/applications/window-managers/wio/wlroots-0.13.patch b/pkgs/applications/window-managers/wio/wlroots-0.13.patch deleted file mode 100644 index 989e812bb535..000000000000 --- a/pkgs/applications/window-managers/wio/wlroots-0.13.patch +++ /dev/null @@ -1,254 +0,0 @@ -commit 8a3f903b20d646ebb2472c4f094ca1bf225a96c7 -Author: Michael Weiss -Date: Fri May 14 19:19:05 2021 +0200 - - Fix the build with wlroots 0.13 - -diff --git a/main.c b/main.c -index 5d7dcda..870fdb0 100644 ---- a/main.c -+++ b/main.c -@@ -1,6 +1,7 @@ - #define _POSIX_C_SOURCE 200809L - #include - #include -+#include - #include - #include - #include -@@ -49,7 +50,7 @@ static void gen_menu_textures(struct wio_server *server) { - cairo_surface_flush(surf); - unsigned char *data = cairo_image_surface_get_data(surf); - server->menu.inactive_textures[i] = wlr_texture_from_pixels(renderer, -- WL_SHM_FORMAT_ARGB8888, -+ DRM_FORMAT_ARGB8888, - cairo_image_surface_get_stride(surf), - extents.width + 2, extents.height + 2, data); - } -@@ -66,7 +67,7 @@ static void gen_menu_textures(struct wio_server *server) { - cairo_surface_flush(surf); - unsigned char *data = cairo_image_surface_get_data(surf); - server->menu.active_textures[i] = wlr_texture_from_pixels(renderer, -- WL_SHM_FORMAT_ARGB8888, -+ DRM_FORMAT_ARGB8888, - cairo_image_surface_get_stride(surf), - extents.width + 2, extents.height + 2, data); - } -@@ -152,7 +153,7 @@ int main(int argc, char **argv) { - } - - server.wl_display = wl_display_create(); -- server.backend = wlr_backend_autocreate(server.wl_display, NULL); -+ server.backend = wlr_backend_autocreate(server.wl_display); - server.renderer = wlr_backend_get_renderer(server.backend); - wlr_renderer_init_wl_display(server.renderer, server.wl_display); - -diff --git a/protocols/wlr-layer-shell-unstable-v1.xml b/protocols/wlr-layer-shell-unstable-v1.xml -index 90b8bc8..d62fd51 100644 ---- a/protocols/wlr-layer-shell-unstable-v1.xml -+++ b/protocols/wlr-layer-shell-unstable-v1.xml -@@ -25,7 +25,7 @@ - THIS SOFTWARE. - - -- -+ - - Clients can use this interface to assign the surface_layer role to - wl_surfaces. Such surfaces are assigned to a "layer" of the output and -@@ -47,6 +47,12 @@ - or manipulate a buffer prior to the first layer_surface.configure call - must also be treated as errors. - -+ After creating a layer_surface object and setting it up, the client -+ must perform an initial commit without any buffer attached. -+ The compositor will reply with a layer_surface.configure event. -+ The client must acknowledge it and is then allowed to attach a buffer -+ to map the surface. -+ - You may pass NULL for output to allow the compositor to decide which - output to use. Generally this will be the one that the user most - recently interacted with. -@@ -82,17 +88,35 @@ - - - -+ -+ -+ -+ -+ -+ This request indicates that the client will not use the layer_shell -+ object any more. Objects that have been created through this instance -+ are not affected. -+ -+ - - -- -+ - - An interface that may be implemented by a wl_surface, for surfaces that - are designed to be rendered as a layer of a stacked desktop-like - environment. - -- Layer surface state (size, anchor, exclusive zone, margin, interactivity) -- is double-buffered, and will be applied at the time wl_surface.commit of -- the corresponding wl_surface is called. -+ Layer surface state (layer, size, anchor, exclusive zone, -+ margin, interactivity) is double-buffered, and will be applied at the -+ time wl_surface.commit of the corresponding wl_surface is called. -+ -+ Attaching a null buffer to a layer surface unmaps it. -+ -+ Unmapping a layer_surface means that the surface cannot be shown by the -+ compositor until it is explicitly mapped again. The layer_surface -+ returns to the state it had right after layer_shell.get_layer_surface. -+ The client can re-map the surface by performing a commit without any -+ buffer attached, waiting for a configure event and handling it as usual. - - - -@@ -127,14 +151,19 @@ - - - -- Requests that the compositor avoids occluding an area of the surface -- with other surfaces. The compositor's use of this information is -+ Requests that the compositor avoids occluding an area with other -+ surfaces. The compositor's use of this information is - implementation-dependent - do not assume that this region will not - actually be occluded. - -- A positive value is only meaningful if the surface is anchored to an -- edge, rather than a corner. The zone is the number of surface-local -- coordinates from the edge that is considered exclusive. -+ A positive value is only meaningful if the surface is anchored to one -+ edge or an edge and both perpendicular edges. If the surface is not -+ anchored, anchored to only two perpendicular edges (a corner), anchored -+ to only two parallel edges or anchored to all edges, a positive value -+ will be treated the same as zero. -+ -+ A positive zone is the distance from the edge in surface-local -+ coordinates to consider exclusive. - - Surfaces that do not wish to have an exclusive zone may instead specify - how they should interact with surfaces that do. If set to zero, the -@@ -174,21 +203,85 @@ - - - -+ -+ -+ Types of keyboard interaction possible for layer shell surfaces. The -+ rationale for this is twofold: (1) some applications are not interested -+ in keyboard events and not allowing them to be focused can improve the -+ desktop experience; (2) some applications will want to take exclusive -+ keyboard focus. -+ -+ -+ -+ -+ This value indicates that this surface is not interested in keyboard -+ events and the compositor should never assign it the keyboard focus. -+ -+ This is the default value, set for newly created layer shell surfaces. -+ -+ This is useful for e.g. desktop widgets that display information or -+ only have interaction with non-keyboard input devices. -+ -+ -+ -+ -+ Request exclusive keyboard focus if this surface is above the shell surface layer. -+ -+ For the top and overlay layers, the seat will always give -+ exclusive keyboard focus to the top-most layer which has keyboard -+ interactivity set to exclusive. If this layer contains multiple -+ surfaces with keyboard interactivity set to exclusive, the compositor -+ determines the one receiving keyboard events in an implementation- -+ defined manner. In this case, no guarantee is made when this surface -+ will receive keyboard focus (if ever). -+ -+ For the bottom and background layers, the compositor is allowed to use -+ normal focus semantics. -+ -+ This setting is mainly intended for applications that need to ensure -+ they receive all keyboard events, such as a lock screen or a password -+ prompt. -+ -+ -+ -+ -+ This requests the compositor to allow this surface to be focused and -+ unfocused by the user in an implementation-defined manner. The user -+ should be able to unfocus this surface even regardless of the layer -+ it is on. -+ -+ Typically, the compositor will want to use its normal mechanism to -+ manage keyboard focus between layer shell surfaces with this setting -+ and regular toplevels on the desktop layer (e.g. click to focus). -+ Nevertheless, it is possible for a compositor to require a special -+ interaction to focus or unfocus layer shell surfaces (e.g. requiring -+ a click even if focus follows the mouse normally, or providing a -+ keybinding to switch focus between layers). -+ -+ This setting is mainly intended for desktop shell components (e.g. -+ panels) that allow keyboard interaction. Using this option can allow -+ implementing a desktop shell that can be fully usable without the -+ mouse. -+ -+ -+ -+ - - -- Set to 1 to request that the seat send keyboard events to this layer -- surface. For layers below the shell surface layer, the seat will use -- normal focus semantics. For layers above the shell surface layers, the -- seat will always give exclusive keyboard focus to the top-most layer -- which has keyboard interactivity set to true. -+ Set how keyboard events are delivered to this surface. By default, -+ layer shell surfaces do not receive keyboard events; this request can -+ be used to change this. -+ -+ This setting is inherited by child surfaces set by the get_popup -+ request. - - Layer surfaces receive pointer, touch, and tablet events normally. If - you do not want to receive them, set the input region on your surface - to an empty region. - -- Events is double-buffered, see wl_surface.commit. -+ Keyboard interactivity is double-buffered, see wl_surface.commit. - -- -+ - - - -@@ -273,6 +366,7 @@ - - - -+ - - - -@@ -281,5 +375,16 @@ - - - -+ -+ -+ -+ -+ -+ Change the layer that the surface is rendered on. -+ -+ Layer is double-buffered, see wl_surface.commit. -+ -+ -+ - - From 0b2d60dbf2f2950cc60a5aa8e133915f26dc7d1b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 1 Jun 2021 18:21:24 +0000 Subject: [PATCH 15/19] libsForQt5.drumstick: 2.2.0 -> 2.2.1 --- pkgs/development/libraries/drumstick/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/drumstick/default.nix b/pkgs/development/libraries/drumstick/default.nix index d835606b7c86..3f3350073be3 100644 --- a/pkgs/development/libraries/drumstick/default.nix +++ b/pkgs/development/libraries/drumstick/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "drumstick"; - version = "2.2.0"; + version = "2.2.1"; src = fetchurl { url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-Ytus/kgL2Bs0vRQGROoJO9eO6lajOSaQLVjwsF4YypY="; + sha256 = "sha256-UxXUEkO5qXPIjw99BdkAspikR9Nlu32clf28cTyf+W4="; }; patches = [ From f42ea75dec8fff9becbdf2094044485ec103dcd1 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 2 Jun 2021 02:07:11 +0200 Subject: [PATCH 16/19] firefox-esr: 78.10.1esr -> 78.11.0esr https://www.mozilla.org/en-US/firefox/78.11.0/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2021-24/ --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index b4d87b859ae6..1362844c37b5 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -32,10 +32,10 @@ rec { firefox-esr-78 = common rec { pname = "firefox-esr"; - ffversion = "78.10.1esr"; + ffversion = "78.11.0esr"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; - sha512 = "a22773d9b3f0dca253805257f358a906769d23f15115e3a8851024f701e27dee45f056f7d34ebf1fcde0a3f91ec299639c2a12556e938a232cdea9e59835fde1"; + sha512 = "d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4"; }; meta = { From 805e9ce9ea37953e319251fb2f814d9ee8f250b3 Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Mon, 31 May 2021 23:01:49 -0700 Subject: [PATCH 17/19] platforms: Build flat kernel image for RISC-V Newer bootloaders for RISC-V (i.e., OpenSBI + U-Boot) support flat and compressed kernel images but not vmlinux. Therefore, let's build "Image" like what we do with aarch64. Also copy DTBs while we are at it. --- lib/systems/platforms.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 445144439caf..73a61d6d9845 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -481,9 +481,10 @@ rec { riscv-multiplatform = { linux-kernel = { name = "riscv-multiplatform"; - target = "vmlinux"; + target = "Image"; autoModules = true; baseConfig = "defconfig"; + DTB = true; extraConfig = '' FTRACE n SERIAL_OF_PLATFORM y From e2aee93caf067159c18634466c46913b28ec6394 Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Mon, 31 May 2021 23:24:02 -0700 Subject: [PATCH 18/19] platforms: Enable ftrace support for RISC-V Support has landed in mainline for a while. --- lib/systems/platforms.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 73a61d6d9845..92285346f754 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -486,7 +486,6 @@ rec { baseConfig = "defconfig"; DTB = true; extraConfig = '' - FTRACE n SERIAL_OF_PLATFORM y ''; }; From fa44962db910f362c0df0da5b8103d87e2d8ce92 Mon Sep 17 00:00:00 2001 From: Farid Zakaria Date: Tue, 1 Jun 2021 20:14:20 -0700 Subject: [PATCH 19/19] jdk8: fix sprintf patch This fixes a recent commit via #123708 The patch itself had an additional '%s' in the sprintf which is unsafe depending on the surrounding memory. --- pkgs/development/compilers/openjdk/fix-library-path-jdk8.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/openjdk/fix-library-path-jdk8.patch b/pkgs/development/compilers/openjdk/fix-library-path-jdk8.patch index 0664e745f57f..3780e95ea5b6 100644 --- a/pkgs/development/compilers/openjdk/fix-library-path-jdk8.patch +++ b/pkgs/development/compilers/openjdk/fix-library-path-jdk8.patch @@ -24,7 +24,7 @@ index c477851c1b..ff5e28d95b 100644 sizeof(SYS_EXT_DIR) + sizeof("/lib/") + strlen(cpu_arch) + sizeof(DEFAULT_LIBPATH) + 1, mtInternal); - sprintf(ld_library_path, "%s%s" SYS_EXT_DIR "/lib/%s:" DEFAULT_LIBPATH, v, v_colon, cpu_arch); -+ sprintf(ld_library_path, "%s%s", v); ++ sprintf(ld_library_path, "%s", v); Arguments::set_library_path(ld_library_path); FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal); }