From 7542395c3e9e1f1fc2c7f3e14671c6a87a0b38cb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jul 2021 10:58:40 +0200 Subject: [PATCH 01/41] unetbootin: 681 -> 702 --- pkgs/tools/cd-dvd/unetbootin/default.nix | 49 ++++++++++++++++-------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix index 71a0a763285a..f80f60608470 100644 --- a/pkgs/tools/cd-dvd/unetbootin/default.nix +++ b/pkgs/tools/cd-dvd/unetbootin/default.nix @@ -1,23 +1,39 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, qt4, util-linux, coreutils, which, qmake4Hook -, p7zip, mtools, syslinux }: +{ lib +, stdenv +, coreutils +, fetchFromGitHub +, libsForQt5 +, mtools +, p7zip +, qt5 +, syslinux +, util-linux +, which +}: stdenv.mkDerivation rec { pname = "unetbootin"; - version = "681"; + version = "702"; src = fetchFromGitHub { - owner = "unetbootin"; - repo = "unetbootin"; - rev = version; - sha256 = "0ppqb7ywh4cpcjr5nw6f65dx4s8kx09gnhihnby3zjhxdf4l99fm"; + owner = pname; + repo = pname; + rev = version; + sha256 = "sha256-psX15XicPXAsd36BhuvK0G3GQS8hV/hazzO0HByCqV4="; }; setSourceRoot = '' sourceRoot=$(echo */src/unetbootin) ''; - buildInputs = [ qt4 ]; - nativeBuildInputs = [ makeWrapper qmake4Hook ]; + buildInputs = [ + qt5.qtbase + qt5.qttools + libsForQt5.qmake + ]; + + nativeBuildInputs = [ qt5.wrapQtAppsHook ]; + enableParallelBuilding = true; # Lots of nice hard-coded paths... @@ -50,18 +66,19 @@ stdenv.mkDerivation rec { install -Dm644 -t $out/share/unetbootin unetbootin_*.qm install -Dm644 -t $out/share/applications unetbootin.desktop - wrapProgram $out/bin/unetbootin \ - --prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]} \ - --set QT_X11_NO_MITSHM 1 - runHook postInstall ''; + qtWrapperArgs = [ + "--prefix PATH : ${lib.makeBinPath [ mtools p7zip which ]}" + "--set QT_X11_NO_MITSHM 1" + ]; + meta = with lib; { - homepage = "http://unetbootin.sourceforge.net/"; description = "A tool to create bootable live USB drives from ISO images"; - license = licenses.gpl2Plus; - platforms = platforms.linux; + homepage = "http://unetbootin.github.io/"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ ebzzry ]; + platforms = platforms.linux; }; } From 67402af78cbfeef915b46ce7e3d17a2de01ee2f3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 20 Jul 2021 22:23:05 +0200 Subject: [PATCH 02/41] python3Packages.bitstring: 3.1.7 -> 3.1.9 --- pkgs/development/python-modules/bitstring/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bitstring/default.nix b/pkgs/development/python-modules/bitstring/default.nix index ed67f2be5c5f..ab94ad344ff9 100644 --- a/pkgs/development/python-modules/bitstring/default.nix +++ b/pkgs/development/python-modules/bitstring/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "bitstring"; - version = "3.1.7"; + version = "3.1.9"; src = fetchPypi { inherit pname version; - sha256 = "0jl6192dwrlm5ybkbh7ywmyaymrc3cmz9y07nm7qdli9n9rfpwzx"; + sha256 = "1rv0x3vicjz7df6jq13aypgfqqjvlz0b92ya9li8a5qicczqm155"; }; meta = with lib; { From ee05c8e8b588b53b1f28378124413387e9f7b65d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 22 Jul 2021 23:24:08 +0200 Subject: [PATCH 03/41] python3Packages.bitstring: enable tests --- .../python-modules/bitstring/default.nix | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/bitstring/default.nix b/pkgs/development/python-modules/bitstring/default.nix index ab94ad344ff9..52bc9bae865b 100644 --- a/pkgs/development/python-modules/bitstring/default.nix +++ b/pkgs/development/python-modules/bitstring/default.nix @@ -1,14 +1,27 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, python +}: buildPythonPackage rec { pname = "bitstring"; version = "3.1.9"; - src = fetchPypi { - inherit pname version; - sha256 = "1rv0x3vicjz7df6jq13aypgfqqjvlz0b92ya9li8a5qicczqm155"; + src = fetchFromGitHub { + owner = "scott-griffiths"; + repo = pname; + rev = "bitstring-${version}"; + sha256 = "0y2kcq58psvl038r6dhahhlhp1wjgr5zsms45wyz1naq6ri8x9qa"; }; + checkPhase = '' + cd test + ${python.interpreter} -m unittest discover + ''; + + pythonImportsCheck = [ "bitstring" ]; + meta = with lib; { description = "Module for binary data manipulation"; homepage = "https://github.com/scott-griffiths/bitstring"; From b014e65dfca2f785d4f5d5b069989658a684513e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 24 Jul 2021 13:35:01 +0000 Subject: [PATCH 04/41] liquibase: 4.4.1 -> 4.4.2 --- pkgs/development/tools/database/liquibase/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix index 2dc5c4e77c85..9b3a92fecc46 100644 --- a/pkgs/development/tools/database/liquibase/default.nix +++ b/pkgs/development/tools/database/liquibase/default.nix @@ -10,11 +10,11 @@ in stdenv.mkDerivation rec { pname = "liquibase"; - version = "4.4.1"; + version = "4.4.2"; src = fetchurl { url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-2Y/eRIkskuk+7GC/br178XzWTnP4iXSFfa5ybLjvqDA="; + sha256 = "sha256-qOKMyqf3KX7pWjslVgcPiGlTiwvMZLvm7DiatmSLd1U="; }; nativeBuildInputs = [ makeWrapper ]; From 508a22f51c406a672d421ea4a5c7dc2e4ad89b23 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 25 Jul 2021 20:58:09 +0200 Subject: [PATCH 05/41] python3Packages.pypck: 0.7.10 -> 0.7.11 --- pkgs/development/python-modules/pypck/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix index b0ea3fdcb24a..797657a28c5c 100644 --- a/pkgs/development/python-modules/pypck/default.nix +++ b/pkgs/development/python-modules/pypck/default.nix @@ -2,7 +2,6 @@ , buildPythonPackage , fetchFromGitHub , pytest-asyncio -, pytest-cov , pytest-timeout , pytestCheckHook , pythonOlder @@ -11,19 +10,18 @@ buildPythonPackage rec { pname = "pypck"; - version = "0.7.10"; + version = "0.7.11"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "alengwenus"; repo = pname; rev = version; - sha256 = "sha256-B2imewEONewj1Y+Q316reIBZB/b9WQAu67x9cLMkRTU="; + sha256 = "1jj0y487qcxrprx4x2rs6r7rqsf5m9khk0xhigbvnbyvh8rsd2jr"; }; checkInputs = [ pytest-asyncio - pytest-cov pytest-timeout pytestCheckHook ]; From 2c8947e6de5a91515d1879727328f07c26003e59 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 25 Jul 2021 21:29:11 +0200 Subject: [PATCH 06/41] python3Packages.aioambient: 1.2.4 -> 1.2.5 --- pkgs/development/python-modules/aioambient/default.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix index 83c74925b8cd..8d75a1b11ee5 100644 --- a/pkgs/development/python-modules/aioambient/default.nix +++ b/pkgs/development/python-modules/aioambient/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "aioambient"; - version = "1.2.4"; + version = "1.2.5"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = version; - sha256 = "sha256-uqvM5F0rpw+xeCXYl4lGMt3r0ugPsUmSvujmTJ9HABk="; + sha256 = "1v8xr69y9cajyrdfz8wdksz1hclh5cvgxppf9lpygwfj4q70wh88"; }; nativeBuildInputs = [ @@ -46,12 +46,6 @@ buildPythonPackage rec { pytestCheckHook ]; - postPatch = '' - # https://github.com/bachya/aioambient/pull/84 - substituteInPlace pyproject.toml \ - --replace 'websockets = "^8.1"' 'websockets = ">=8.1,<10.0"' - ''; - # Ignore the examples directory as the files are prefixed with test_ disabledTestPaths = [ "examples/" ]; From 5a7e27afe1af320b73034aab50fd1564014c6f98 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 26 Jul 2021 04:20:00 +0000 Subject: [PATCH 07/41] opam: 2.0.8 -> 2.1.0 https://github.com/ocaml/opam/releases/tag/2.1.0 --- .../opam-repository/download-tool.patch | 20 +++- pkgs/development/tools/ocaml/opam/default.nix | 103 ++++++++++-------- .../tools/ocaml/opam/opam-shebangs.patch | 5 +- pkgs/development/tools/ocaml/opam/opam.nix.pl | 8 +- 4 files changed, 81 insertions(+), 55 deletions(-) diff --git a/pkgs/development/ocaml-modules/opam-repository/download-tool.patch b/pkgs/development/ocaml-modules/opam-repository/download-tool.patch index 5af720adca91..9cc5f43f34f1 100644 --- a/pkgs/development/ocaml-modules/opam-repository/download-tool.patch +++ b/pkgs/development/ocaml-modules/opam-repository/download-tool.patch @@ -2,16 +2,20 @@ diff --git a/src/repository/opamRepositoryConfig.ml b/src/repository/opamReposit index c2954c1d..528fc621 100644 --- a/src/repository/opamRepositoryConfig.ml +++ b/src/repository/opamRepositoryConfig.ml -@@ -27,23 +27,7 @@ type 'a options_fun = +@@ -27,31 +27,7 @@ type 'a options_fun = 'a let default = { - download_tool = lazy ( +- let os = OpamStd.Sys.os () in - try +- let curl = "curl", `Curl in - let tools = -- if OpamStd.Sys.(os () = Darwin) -- then ["wget", `Default; "curl", `Curl] -- else ["curl", `Curl; "wget", `Default] +- match os with +- | Darwin -> ["wget", `Default; curl] +- | FreeBSD -> ["fetch", `Default ; curl] +- | OpenBSD -> ["ftp", `Default; curl] +- | _ -> [curl; "wget", `Default] - in - let cmd, kind = - List.find (fun (c,_) -> OpamSystem.resolve_command c <> None) tools @@ -20,8 +24,12 @@ index c2954c1d..528fc621 100644 - with Not_found -> - OpamConsole.error_and_exit `Configuration_error - "Could not find a suitable download command. Please make sure you \ -- have either \"curl\" or \"wget\" installed, or specify a custom \ -- command through variable OPAMFETCH." +- have %s installed, or specify a custom command through variable \ +- OPAMFETCH." +- (match os with +- | FreeBSD -> "fetch" +- | OpenBSD -> "ftp" +- | _ -> "either \"curl\" or \"wget\"") - ); + download_tool = lazy ([ CIdent SUBSTITUTE_NIXOS_CURL_PATH, None ], `Curl); validation_hook = None; diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix index bd33d4cc1d34..eb0d284c0821 100644 --- a/pkgs/development/tools/ocaml/opam/default.nix +++ b/pkgs/development/tools/ocaml/opam/default.nix @@ -6,62 +6,74 @@ assert lib.versionAtLeast ocaml.version "4.02.3"; let srcs = { - cmdliner = fetchurl { - url = "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.2.tbz"; - sha256 = "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1"; + "0install-solver" = fetchurl { + url = "https://github.com/0install/0install/releases/download/v2.17/0install-v2.17.tbz"; + sha256 = "08q95mzmf9pyyqs68ff52422f834hi313cxmypwrxmxsabcfa10p"; }; - cppo = fetchurl { - url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz"; - sha256 = "185q0x54id7pfc6rkbjscav8sjkrg78fz65rgfw7b4bqlyb2j9z7"; + "cmdliner" = fetchurl { + url = "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz"; + sha256 = "1h04q0zkasd0mw64ggh4y58lgzkhg6yhzy60lab8k8zq9ba96ajw"; }; - cudf = fetchurl { + "cppo" = fetchurl { + url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.7/cppo-v1.6.7.tbz"; + sha256 = "17ajdzrnmnyfig3s6hinb56mcmhywbssxhsq32dz0v90dhz3wmfv"; + }; + "cudf" = fetchurl { url = "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz"; sha256 = "0771lwljqwwn3cryl0plny5a5dyyrj4z6bw66ha5n8yfbpcy8clr"; }; - dose3 = fetchurl { + "dose3" = fetchurl { url = "https://gforge.inria.fr/frs/download.php/file/36063/dose3-5.0.1.tar.gz"; sha256 = "00yvyfm4j423zqndvgc1ycnmiffaa2l9ab40cyg23pf51qmzk2jm"; }; - dune-local = fetchurl { - url = "https://github.com/ocaml/dune/releases/download/1.6.3/dune-1.6.3.tbz"; - sha256 = "0dmf0wbfmgdy5plz1bjiisc2hjgblvxsnrqjmw2c8y45v1h23mdz"; + "dune-local" = fetchurl { + url = "https://github.com/ocaml/dune/releases/download/2.9.0/dune-2.9.0.tbz"; + sha256 = "07m476kgagpd6kzm3jq30yfxqspr2hychah0xfqs14z82zxpq8dv"; }; - extlib = fetchurl { + "extlib" = fetchurl { url = "https://ygrek.org/p/release/ocaml-extlib/extlib-1.7.7.tar.gz"; sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1"; }; - mccs = fetchurl { - url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+11.tar.gz"; - sha256 = "0mswapf37rav8nvvbjc4c7c7wnl6qwgd3c5v0nfifmr910qygz72"; + "mccs" = fetchurl { + url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+13.tar.gz"; + sha256 = "05nnji9h8mss3hzjr5faid2v3xfr7rcv2ywmpcxxp28y6h2kv9gv"; }; - ocamlgraph = fetchurl { - url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.8.tar.gz"; - sha256 = "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr"; + "ocamlgraph" = fetchurl { + url = "https://github.com/backtracking/ocamlgraph/releases/download/2.0.0/ocamlgraph-2.0.0.tbz"; + sha256 = "029692bvdz3hxpva9a2jg5w5381fkcw55ysdi8424lyyjxvjdzi0"; }; - opam-file-format = fetchurl { - url = "https://github.com/ocaml/opam-file-format/archive/2.0.0.tar.gz"; - sha256 = "0cjw69r7iilidi7b6arr92kjnjspchvwnmwr1b1gyaxqxpr2s98m"; + "opam-0install-cudf" = fetchurl { + url = "https://github.com/ocaml-opam/opam-0install-solver/releases/download/v0.4.2/opam-0install-cudf-v0.4.2.tbz"; + sha256 = "10wma4hh9l8hk49rl8nql6ixsvlz3163gcxspay5fwrpbg51fmxr"; }; - re = fetchurl { + "opam-file-format" = fetchurl { + url = "https://github.com/ocaml/opam-file-format/archive/2.1.3.tar.gz"; + sha256 = "1bqyrlsvmjf4gqzmzbiyja9m1ph30ic9i18x23p5ziymyylw2sfg"; + }; + "re" = fetchurl { url = "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz"; sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj"; }; - result = fetchurl { - url = "https://github.com/janestreet/result/archive/1.4.tar.gz"; - sha256 = "1cjlncnzkwc6zr4v8dgy8nin490blbyxzwwp0qh0cla7s3q2jw0n"; + "result" = fetchurl { + url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz"; + sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw"; }; - seq = fetchurl { - url = "https://github.com/c-cube/seq/archive/0.1.tar.gz"; - sha256 = "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r"; + "seq" = fetchurl { + url = "https://github.com/c-cube/seq/archive/0.2.2.tar.gz"; + sha256 = "1ck15v3pg8bacdg6d6iyp2jc3kgrzxk5jsgzx3287x2ycb897j53"; + }; + "stdlib-shims" = fetchurl { + url = "https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz"; + sha256 = "0jnqsv6pqp5b5g7lcjwgd75zqqvcwcl5a32zi03zg1kvj79p5gxs"; }; opam = fetchurl { - url = "https://github.com/ocaml/opam/archive/2.0.8.zip"; - sha256 = "1h55jh4nnx1fcn7v7ss3fgxrn6ixkgnq7pvg5njz8c9xq4njwbc1"; + url = "https://github.com/ocaml/opam/archive/2.1.0.zip"; + sha256 = "063df5gsvp4yrbqbnd8k7a1f04cf12prc5wh4f1200acs3jwjxwb"; }; }; in stdenv.mkDerivation { pname = "opam"; - version = "2.0.8"; + version = "2.1.0"; nativeBuildInputs = [ makeWrapper unzip ]; buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap; @@ -69,18 +81,21 @@ in stdenv.mkDerivation { src = srcs.opam; postUnpack = '' - ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/cmdliner.tbz - ln -sv ${srcs.cppo} $sourceRoot/src_ext/cppo.tbz - ln -sv ${srcs.cudf} $sourceRoot/src_ext/cudf.tar.gz - ln -sv ${srcs.dose3} $sourceRoot/src_ext/dose3.tar.gz - ln -sv ${srcs.dune-local} $sourceRoot/src_ext/dune-local.tbz - ln -sv ${srcs.extlib} $sourceRoot/src_ext/extlib.tar.gz - ln -sv ${srcs.mccs} $sourceRoot/src_ext/mccs.tar.gz - ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/ocamlgraph.tar.gz - ln -sv ${srcs.opam-file-format} $sourceRoot/src_ext/opam-file-format.tar.gz - ln -sv ${srcs.re} $sourceRoot/src_ext/re.tbz - ln -sv ${srcs.result} $sourceRoot/src_ext/result.tar.gz - ln -sv ${srcs.seq} $sourceRoot/src_ext/seq.tar.gz + ln -sv ${srcs."0install-solver"} $sourceRoot/src_ext/0install-solver.tbz + ln -sv ${srcs."cmdliner"} $sourceRoot/src_ext/cmdliner.tbz + ln -sv ${srcs."cppo"} $sourceRoot/src_ext/cppo.tbz + ln -sv ${srcs."cudf"} $sourceRoot/src_ext/cudf.tar.gz + ln -sv ${srcs."dose3"} $sourceRoot/src_ext/dose3.tar.gz + ln -sv ${srcs."dune-local"} $sourceRoot/src_ext/dune-local.tbz + ln -sv ${srcs."extlib"} $sourceRoot/src_ext/extlib.tar.gz + ln -sv ${srcs."mccs"} $sourceRoot/src_ext/mccs.tar.gz + ln -sv ${srcs."ocamlgraph"} $sourceRoot/src_ext/ocamlgraph.tbz + ln -sv ${srcs."opam-0install-cudf"} $sourceRoot/src_ext/opam-0install-cudf.tbz + ln -sv ${srcs."opam-file-format"} $sourceRoot/src_ext/opam-file-format.tar.gz + ln -sv ${srcs."re"} $sourceRoot/src_ext/re.tbz + ln -sv ${srcs."result"} $sourceRoot/src_ext/result.tbz + ln -sv ${srcs."seq"} $sourceRoot/src_ext/seq.tar.gz + ln -sv ${srcs."stdlib-shims"} $sourceRoot/src_ext/stdlib-shims.tbz ''; patches = [ ./opam-shebangs.patch ]; @@ -118,4 +133,4 @@ in stdenv.mkDerivation { platforms = platforms.all; }; } -# Generated by: ./opam.nix.pl -v 2.0.8 -p opam-shebangs.patch +# Generated by: ./opam.nix.pl -v 2.1.0 -p opam-shebangs.patch diff --git a/pkgs/development/tools/ocaml/opam/opam-shebangs.patch b/pkgs/development/tools/ocaml/opam/opam-shebangs.patch index 13aa7a895708..72efec0a9105 100644 --- a/pkgs/development/tools/ocaml/opam/opam-shebangs.patch +++ b/pkgs/development/tools/ocaml/opam/opam-shebangs.patch @@ -2,7 +2,7 @@ diff --git a/src/client/opamInitDefaults.ml b/src/client/opamInitDefaults.ml index eca13a7c..1fd66f43 100644 --- a/src/client/opamInitDefaults.ml +++ b/src/client/opamInitDefaults.ml -@@ -35,11 +35,15 @@ let eval_variables = [ +@@ -35,14 +35,18 @@ let eval_variables = [ let os_filter os = FOp (FIdent ([], OpamVariable.of_string "os", None), `Eq, FString os) @@ -13,6 +13,9 @@ index eca13a7c..1fd66f43 100644 let macos_filter = os_filter "macos" let openbsd_filter = os_filter "openbsd" let freebsd_filter = os_filter "freebsd" + let not_open_free_bsd_filter = + FNot (FOr (openbsd_filter, freebsd_filter)) + let win32_filter = os_filter "win32" let sandbox_filter = FOr (linux_filter, macos_filter) +let nixos_filter = os_distribution_filter "nixos" diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl index bfaea0c7ef30..c914bac8b5c6 100755 --- a/pkgs/development/tools/ocaml/opam/opam.nix.pl +++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl @@ -51,7 +51,7 @@ for my $src (sort keys %urls) { system "echo \Q$md5s{$src}\E' *'\Q$store_path\E | md5sum -c 1>&2"; die "md5 check failed for $urls{$src}\n" if $?; print <<"EOF"; - $src = fetchurl { + "$src" = fetchurl { url = "$urls{$src}"; sha256 = "$sha256"; }; @@ -68,8 +68,8 @@ in stdenv.mkDerivation { pname = "opam"; version = "$OPAM_RELEASE"; - nativeBuildInputs = [ unzip ]; - buildInputs = [ curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap; + nativeBuildInputs = [ makeWrapper unzip ]; + buildInputs = [ curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap; src = srcs.opam; @@ -79,7 +79,7 @@ for my $src (sort keys %urls) { my($ext) = $urls{$src} =~ /(\.(?:t(?:ar\.|)|)(?:gz|bz2?))$/ or die "could not find extension for $urls{$src}\n"; print <<"EOF"; - ln -sv \${srcs.$src} \$sourceRoot/src_ext/$src$ext + ln -sv \${srcs."$src"} \$sourceRoot/src_ext/$src$ext EOF } print <<'EOF'; From bef038a48687766a2d5163105ee46cd544162af0 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 26 Jul 2021 04:20:00 +0000 Subject: [PATCH 08/41] dune-release: 1.4.0 -> 1.5.0 https://github.com/ocamllabs/dune-release/releases/tag/1.5.0 --- .../tools/ocaml/dune-release/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/ocaml/dune-release/default.nix b/pkgs/development/tools/ocaml/dune-release/default.nix index 60a9bfba58fe..0eb56d3f539a 100644 --- a/pkgs/development/tools/ocaml/dune-release/default.nix +++ b/pkgs/development/tools/ocaml/dune-release/default.nix @@ -1,6 +1,6 @@ { lib, buildDunePackage, fetchurl, makeWrapper , curly, fmt, bos, cmdliner, re, rresult, logs -, odoc, opam-format, opam-core, opam-state, yojson +, odoc, opam-format, opam-core, opam-state, yojson, astring , opam, git, findlib, mercurial, bzip2, gnutar, coreutils , alcotest, mdx }: @@ -10,18 +10,18 @@ let runtimeInputs = [ opam findlib git mercurial bzip2 gnutar coreutils ]; in buildDunePackage rec { pname = "dune-release"; - version = "1.4.0"; + version = "1.5.0"; minimumOCamlVersion = "4.06"; src = fetchurl { url = "https://github.com/ocamllabs/${pname}/releases/download/${version}/${pname}-${version}.tbz"; - sha256 = "1frinv1rsrm30q6jclicsswpshkdwwdgxx7sp6q9w4c2p211n1ln"; + sha256 = "1lyfaczskdbqnhmpiy6wga9437frds3m8prfk2rhwyb96h69y3pv"; }; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ curly fmt cmdliner re opam-format opam-state opam-core - rresult logs odoc bos yojson ]; + rresult logs odoc bos yojson astring ]; checkInputs = [ alcotest mdx ] ++ runtimeInputs; doCheck = true; @@ -44,6 +44,11 @@ in buildDunePackage rec { sed -i 's/yes |/yes 2>\/dev\/null |/' tests/bin/no_doc/run.t ''; + preCheck = '' + # it fails when it tries to reference "./make_check_deterministic.exe" + rm -fr tests/bin/check + ''; + # tool specific env vars have been deprecated, use PATH preFixup = '' wrapProgram $out/bin/dune-release \ From 6b892752a0aeeb8fb89d8f86921367d0e93a53e9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 27 Jul 2021 19:20:56 +0200 Subject: [PATCH 09/41] python3Packages.emoji: 1.4.0 -> 1.4.1 --- pkgs/development/python-modules/emoji/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix index 67c9c7a1abd0..97a969abf16f 100644 --- a/pkgs/development/python-modules/emoji/default.nix +++ b/pkgs/development/python-modules/emoji/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "emoji"; - version = "1.4.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "carpedm20"; repo = pname; rev = "v.${version}"; - sha256 = "0xksxdld20sh3c2s6pry1fm2br9xq8ypdq5pf971fpg5pk2f4iy9"; + sha256 = "0gakvh8hfmfdjyp46bl18b2zm3grm3k5shiqrpzqlipbaxb7ifrk"; }; checkInputs = [ From e97a72033852c1e5e9dbd34ebbd9fc2c5d461d13 Mon Sep 17 00:00:00 2001 From: Maximilian Huber Date: Tue, 27 Jul 2021 21:48:54 +0200 Subject: [PATCH 10/41] freeplane: 1.8.11 -> 1.9.5 Signed-off-by: Maximilian Huber --- pkgs/applications/misc/freeplane/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix index f9c04fedfdd9..37c4abb37646 100644 --- a/pkgs/applications/misc/freeplane/default.nix +++ b/pkgs/applications/misc/freeplane/default.nix @@ -2,13 +2,13 @@ let pname = "freeplane"; - version = "1.8.11"; + version = "1.9.5"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "release-${version}"; - sha256 = "07xjx9pf62dvy8lx6vnbwwcn1zqy89cmdmwy792k7gb12wz81nnc"; + sha256 = "qfhhmF3mePxcL4U8izkEmWaiaOLi4slsaymVnDoO3sY="; }; deps = stdenv.mkDerivation { @@ -31,7 +31,7 @@ let outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "0r7f6713m0whh5hlk1id7z9j5v9494r41sivn9fzl63q70kzz92g"; + outputHash = "xphTzaSXTGpP7vI/t4oIiv1ZpbekG2dFRzyl3ub6qnA="; }; # Point to our local deps repo From badbbb7e056e9252bc7ed98958a72a32957765a4 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Wed, 17 Mar 2021 21:27:15 +0000 Subject: [PATCH 11/41] nixos/node-red: add module Adds a basic nixos module/service for node-red based on nodePackages.node-red Co-authored-by: Aaron Andersen Co-authored-by: Sandro Co-authored by: Adrian Parvin Ouano Co-authored-by: Norbert Melzer --- nixos/modules/module-list.nix | 1 + nixos/modules/services/web-apps/node-red.nix | 148 +++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100644 nixos/modules/services/web-apps/node-red.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 3a1907ee201e..38fcacb6ec6e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -907,6 +907,7 @@ ./services/web-apps/moodle.nix ./services/web-apps/nextcloud.nix ./services/web-apps/nexus.nix + ./services/web-apps/node-red.nix ./services/web-apps/plantuml-server.nix ./services/web-apps/pgpkeyserver-lite.nix ./services/web-apps/matomo.nix diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix new file mode 100644 index 000000000000..16cfb29cf572 --- /dev/null +++ b/nixos/modules/services/web-apps/node-red.nix @@ -0,0 +1,148 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.node-red; + defaultUser = "node-red"; + finalPackage = if cfg.withNpmAndGcc then node-red_withNpmAndGcc else cfg.package; + node-red_withNpmAndGcc = pkgs.runCommandNoCC "node-red" { + nativeBuildInputs = [ pkgs.makeWrapper ]; + } + '' + mkdir -p $out/bin + makeWrapper ${pkgs.nodePackages.node-red}/bin/node-red $out/bin/node-red \ + --set PATH '${lib.makeBinPath [ pkgs.nodePackages.npm pkgs.gcc ]}:$PATH' \ + ''; +in +{ + options.services.node-red = { + enable = mkEnableOption "the Node-RED service"; + + package = mkOption { + default = pkgs.nodePackages.node-red; + defaultText = "pkgs.nodePackages.node-red"; + type = types.package; + description = "Node-RED package to use."; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the server. + ''; + }; + + withNpmAndGcc = mkOption { + type = types.bool; + default = false; + description = '' + Give Node-RED access to NPM and GCC at runtime, so 'Nodes' can be + downloaded and managed imperatively via the 'Palette Manager'. + ''; + }; + + configFile = mkOption { + type = types.path; + default = "${cfg.package}/lib/node_modules/node-red/settings.js"; + defaultText = "\${cfg.package}/lib/node_modules/node-red/settings.js"; + description = '' + Path to the JavaScript configuration file. + See + for a configuration example. + ''; + }; + + port = mkOption { + type = types.port; + default = 1880; + description = "Listening port."; + }; + + user = mkOption { + type = types.str; + default = defaultUser; + description = '' + User under which Node-RED runs.If left as the default value this user + will automatically be created on system activation, otherwise the + sysadmin is responsible for ensuring the user exists. + ''; + }; + + group = mkOption { + type = types.str; + default = defaultUser; + description = '' + Group under which Node-RED runs.If left as the default value this group + will automatically be created on system activation, otherwise the + sysadmin is responsible for ensuring the group exists. + ''; + }; + + userDir = mkOption { + type = types.path; + default = "/var/lib/node-red"; + description = '' + The directory to store all user data, such as flow and credential files and all library data. If left + as the default value this directory will automatically be created before the node-red service starts, + otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership + and permissions. + ''; + }; + + safe = mkOption { + type = types.bool; + default = false; + description = "Whether to launch Node-RED in --safe mode."; + }; + + define = mkOption { + type = types.attrs; + default = {}; + description = "List of settings.js overrides to pass via -D to Node-RED."; + example = literalExample '' + { + "logging.console.level" = "trace"; + } + ''; + }; + }; + + config = mkIf cfg.enable { + users.users = optionalAttrs (cfg.user == defaultUser) { + ${defaultUser} = { + isSystemUser = true; + }; + }; + + users.groups = optionalAttrs (cfg.group == defaultUser) { + ${defaultUser} = { }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ cfg.port ]; + }; + + systemd.services.node-red = { + description = "Node-RED Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "networking.target" ]; + environment = { + HOME = cfg.userDir; + }; + serviceConfig = mkMerge [ + { + User = cfg.user; + Group = cfg.group; + ExecStart = "${finalPackage}/bin/node-red ${pkgs.lib.optionalString cfg.safe "--safe"} --settings ${cfg.configFile} --port ${toString cfg.port} --userDir ${cfg.userDir} ${concatStringsSep " " (mapAttrsToList (name: value: "-D ${name}=${value}") cfg.define)}"; + PrivateTmp = true; + Restart = "always"; + WorkingDirectory = cfg.userDir; + } + (mkIf (cfg.userDir == "/var/lib/node-red") { StateDirectory = "node-red"; }) + ]; + }; + }; +} From b9c9d52aec8cc787629b4de6c7bb5732dca3ac0c Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Wed, 28 Jul 2021 11:42:26 +0100 Subject: [PATCH 12/41] nixos/node-red: add test --- nixos/tests/all-tests.nix | 1 + nixos/tests/node-red.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 nixos/tests/node-red.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 251f24a9a089..df384664f004 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -280,6 +280,7 @@ in nginx-variants = handleTest ./nginx-variants.nix {}; nix-ssh-serve = handleTest ./nix-ssh-serve.nix {}; nixos-generate-config = handleTest ./nixos-generate-config.nix {}; + node-red = handleTest ./node-red.nix {}; nomad = handleTest ./nomad.nix {}; novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {}; nsd = handleTest ./nsd.nix {}; diff --git a/nixos/tests/node-red.nix b/nixos/tests/node-red.nix new file mode 100644 index 000000000000..7660bc32f4c9 --- /dev/null +++ b/nixos/tests/node-red.nix @@ -0,0 +1,31 @@ +import ./make-test-python.nix ({ pkgs, ... }: { + name = "nodered"; + meta = with pkgs.lib.maintainers; { + maintainers = [ matthewcroughan ]; + }; + + nodes = { + client = { config, pkgs, ... }: { + environment.systemPackages = [ pkgs.curl ]; + }; + nodered = { config, pkgs, ... }: { + services.node-red = { + enable = true; + openFirewall = true; + }; + }; + }; + + testScript = '' + start_all() + nodered.wait_for_unit("node-red.service") + nodered.wait_for_open_port("1880") + + client.wait_for_unit("multi-user.target") + + with subtest("Check that the Node-RED webserver can be reached."): + assert "Node-RED" in client.succeed( + "curl -sSf http:/nodered:1880/ | grep title" + ) + ''; +}) From 0876c079f7ec1d2b8aaf86ea8c97198241a1aac0 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Thu, 29 Jul 2021 14:13:51 +0200 Subject: [PATCH 13/41] dune-release: remove now unnecessary test fixes We've upstreamed those git fixes. --- pkgs/development/tools/ocaml/dune-release/default.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/development/tools/ocaml/dune-release/default.nix b/pkgs/development/tools/ocaml/dune-release/default.nix index 0eb56d3f539a..e3c8728cbfda 100644 --- a/pkgs/development/tools/ocaml/dune-release/default.nix +++ b/pkgs/development/tools/ocaml/dune-release/default.nix @@ -32,14 +32,6 @@ in buildDunePackage rec { # to have a fixed path to the binary in nix store sed -i '/must_exist (Cmd\.v "curl"/d' lib/github.ml - # fix problems with git invocations in tests - for f in tests/bin/{delegate_info,errors,tag,no_doc,x-commit-hash}/run.t; do - # set bogus user info in git so git commit doesn't fail - sed -i '/git init/ a \ $ git config user.name test; git config user.email "pseudo@pseudo.invalid"' "$f" - # surpress hint to set default branch name - substituteInPlace "$f" --replace "git init" "git init -b main" - done - # ignore weird yes error message sed -i 's/yes |/yes 2>\/dev\/null |/' tests/bin/no_doc/run.t ''; From 6f460f1127f73be60c159aa38534609e512dd74e Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Thu, 29 Jul 2021 14:14:15 +0200 Subject: [PATCH 14/41] dune-release: apply yes broken pipe fix in additional places Seems the use of yes increased and we need to fix it in additional places. Alternatively we could ofcourse find out why SIGHUP is trapped somewhere?! --- pkgs/development/tools/ocaml/dune-release/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/ocaml/dune-release/default.nix b/pkgs/development/tools/ocaml/dune-release/default.nix index e3c8728cbfda..4e0f8d80f780 100644 --- a/pkgs/development/tools/ocaml/dune-release/default.nix +++ b/pkgs/development/tools/ocaml/dune-release/default.nix @@ -33,7 +33,10 @@ in buildDunePackage rec { sed -i '/must_exist (Cmd\.v "curl"/d' lib/github.ml # ignore weird yes error message - sed -i 's/yes |/yes 2>\/dev\/null |/' tests/bin/no_doc/run.t + sed -i 's/yes |/yes 2>\/dev\/null |/' \ + tests/bin/no_doc/run.t \ + tests/bin/draft/run.t \ + tests/bin/url-file/run.t ''; preCheck = '' From 1dcfd1e3298d5415d962e35f53d206b1f5845222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaros=C5=82aw=20Wygoda?= Date: Fri, 30 Jul 2021 17:41:54 +0200 Subject: [PATCH 15/41] nixos/litestream: init --- nixos/modules/module-list.nix | 1 + .../litestream/default.nix | 100 ++++++++++++++++++ .../litestream/litestream.xml | 65 ++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/litestream.nix | 93 ++++++++++++++++ 5 files changed, 260 insertions(+) create mode 100644 nixos/modules/services/network-filesystems/litestream/default.nix create mode 100644 nixos/modules/services/network-filesystems/litestream/litestream.xml create mode 100644 nixos/tests/litestream.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 980e7027c98c..fd35dbb83af7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -631,6 +631,7 @@ ./services/network-filesystems/glusterfs.nix ./services/network-filesystems/kbfs.nix ./services/network-filesystems/ipfs.nix + ./services/network-filesystems/litestream/default.nix ./services/network-filesystems/netatalk.nix ./services/network-filesystems/nfsd.nix ./services/network-filesystems/openafs/client.nix diff --git a/nixos/modules/services/network-filesystems/litestream/default.nix b/nixos/modules/services/network-filesystems/litestream/default.nix new file mode 100644 index 000000000000..f1806c5af0a9 --- /dev/null +++ b/nixos/modules/services/network-filesystems/litestream/default.nix @@ -0,0 +1,100 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.litestream; + settingsFormat = pkgs.formats.yaml {}; +in +{ + options.services.litestream = { + enable = mkEnableOption "litestream"; + + package = mkOption { + description = "Package to use."; + default = pkgs.litestream; + defaultText = "pkgs.litestream"; + type = types.package; + }; + + settings = mkOption { + description = '' + See the documentation. + ''; + type = settingsFormat.type; + example = { + dbs = [ + { + path = "/var/lib/db1"; + replicas = [ + { + url = "s3://mybkt.litestream.io/db1"; + } + ]; + } + ]; + }; + }; + + environmentFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/secrets/litestream"; + description = '' + Environment file as defined in + systemd.exec5 + . + + Secrets may be passed to the service without adding them to the + world-readable Nix store, by specifying placeholder variables as + the option value in Nix and setting these variables accordingly in the + environment file. + + By default, Litestream will perform environment variable expansion + within the config file before reading it. Any references to ''$VAR or + ''${VAR} formatted variables will be replaced with their environment + variable values. If no value is set then it will be replaced with an + empty string. + + + # Content of the environment file + LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx + LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx + + + Note that this file needs to be available on the host on which + this exporter is running. + ''; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + environment.etc = { + "litestream.yml" = { + source = settingsFormat.generate "litestream-config.yaml" cfg.settings; + }; + }; + + systemd.services.litestream = { + description = "Litestream"; + wantedBy = [ "multi-user.target" ]; + after = [ "networking.target" ]; + serviceConfig = { + EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile; + ExecStart = "${cfg.package}/bin/litestream replicate"; + Restart = "always"; + User = "litestream"; + Group = "litestream"; + }; + }; + + users.users.litestream = { + description = "Litestream user"; + group = "litestream"; + isSystemUser = true; + }; + users.groups.litestream = {}; + }; + meta.doc = ./litestream.xml; +} diff --git a/nixos/modules/services/network-filesystems/litestream/litestream.xml b/nixos/modules/services/network-filesystems/litestream/litestream.xml new file mode 100644 index 000000000000..598f9be8cf63 --- /dev/null +++ b/nixos/modules/services/network-filesystems/litestream/litestream.xml @@ -0,0 +1,65 @@ + + Litestream + + Litestream is a standalone streaming + replication tool for SQLite. + + +
+ Configuration + + + Litestream service is managed by a dedicated user named litestream + which needs permission to the database file. Here's an example config which gives + required permissions to access + grafana database: + +{ pkgs, ... }: +{ + users.users.litestream.extraGroups = [ "grafana" ]; + + systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" '' + timeout=10 + + while [ ! -f /var/lib/grafana/data/grafana.db ]; + do + if [ "$timeout" == 0 ]; then + echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db." + exit 1 + fi + + sleep 1 + + ((timeout--)) + done + + find /var/lib/grafana -type d -exec chmod -v 775 {} \; + find /var/lib/grafana -type f -exec chmod -v 660 {} \; + ''; + + services.litestream = { + enable = true; + + environmentFile = "/run/secrets/litestream"; + + settings = { + dbs = [ + { + path = "/var/lib/grafana/data/grafana.db"; + replicas = [{ + url = "s3://mybkt.litestream.io/grafana"; + }]; + } + ]; + }; + }; +} + + +
+ +
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 741606732144..9eeb36b09751 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -224,6 +224,7 @@ in libreswan = handleTest ./libreswan.nix {}; lightdm = handleTest ./lightdm.nix {}; limesurvey = handleTest ./limesurvey.nix {}; + litestream = handleTest ./litestream.nix {}; locate = handleTest ./locate.nix {}; login = handleTest ./login.nix {}; loki = handleTest ./loki.nix {}; diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix new file mode 100644 index 000000000000..886fbfef9cf5 --- /dev/null +++ b/nixos/tests/litestream.nix @@ -0,0 +1,93 @@ +import ./make-test-python.nix ({ pkgs, ...} : { + name = "litestream"; + meta = with pkgs.lib.maintainers; { + maintainers = [ jwygoda ]; + }; + + machine = + { pkgs, ... }: + { services.litestream = { + enable = true; + settings = { + dbs = [ + { + path = "/var/lib/grafana/data/grafana.db"; + replicas = [{ + url = "sftp://foo:bar@127.0.0.1:22/home/foo/grafana"; + }]; + } + ]; + }; + }; + systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" '' + timeout=10 + + while [ ! -f /var/lib/grafana/data/grafana.db ]; + do + if [ "$timeout" == 0 ]; then + echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db." + exit 1 + fi + + sleep 1 + + ((timeout--)) + done + + find /var/lib/grafana -type d -exec chmod -v 775 {} \; + find /var/lib/grafana -type f -exec chmod -v 660 {} \; + ''; + services.openssh = { + enable = true; + allowSFTP = true; + listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ]; + }; + services.grafana = { + enable = true; + security = { + adminUser = "admin"; + adminPassword = "admin"; + }; + addr = "localhost"; + port = 3000; + extraOptions = { + DATABASE_URL = "sqlite3:///var/lib/grafana/data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL"; + }; + }; + users.users.foo = { + isNormalUser = true; + password = "bar"; + }; + users.users.litestream.extraGroups = [ "grafana" ]; + }; + + testScript = '' + start_all() + machine.wait_until_succeeds("test -d /home/foo/grafana") + machine.wait_for_open_port(3000) + machine.succeed(""" + curl -sSfN -X PUT -H "Content-Type: application/json" -d '{ + "oldPassword": "admin", + "newPassword": "newpass", + "confirmNew": "newpass" + }' http://admin:admin@127.0.0.1:3000/api/user/password + """) + # https://litestream.io/guides/systemd/#simulating-a-disaster + machine.systemctl("stop litestream.service") + machine.succeed( + "rm -f /var/lib/grafana/data/grafana.db " + "/var/lib/grafana/data/grafana.db-shm " + "/var/lib/grafana/data/grafana.db-wal" + ) + machine.succeed( + "litestream restore /var/lib/grafana/data/grafana.db " + "&& chown grafana:grafana /var/lib/grafana/data/grafana.db " + "&& chmod 660 /var/lib/grafana/data/grafana.db" + ) + machine.systemctl("restart grafana.service") + machine.wait_for_open_port(3000) + machine.succeed( + "curl -sSfN -u admin:newpass http://127.0.0.1:3000/api/org/users | grep admin\@localhost" + ) + ''; +}) From 42bfc113569c242947b7a0f6edf94031fbb8bac5 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Fri, 30 Jul 2021 20:17:46 +0100 Subject: [PATCH 16/41] python3Packages.tensorflow: add patch fixing NotImplementedError with numpy 1.20 see upstream pr https://github.com/tensorflow/tensorflow/pull/47957 --- pkgs/development/python-modules/tensorflow/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index e87c8aca40eb..c077265bf632 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -1,5 +1,5 @@ { stdenv, bazel_3, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin -, addOpenGLRunpath +, addOpenGLRunpath, fetchpatch # Python deps , buildPythonPackage, pythonOlder, pythonAtLeast, python # Python libraries @@ -114,6 +114,12 @@ let }; patches = [ + # included from 2.6.0 onwards + (fetchpatch { + name = "fix-numpy-1.20-notimplementederror.patch"; + url = "https://github.com/tensorflow/tensorflow/commit/b258941525f496763d4277045b6513c815720e3a.patch"; + sha256 = "19f9bzrcfsynk11s2hqvscin5c65zf7r6g3nb10jnimw79vafiry"; + }) # Relax too strict Python packages versions dependencies. ./relax-dependencies.patch # Add missing `io_bazel_rules_docker` dependency. From 61c966595a2fd5944c2a1b1b90bf7a09e0e09eda Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 30 Jul 2021 23:09:19 +0200 Subject: [PATCH 17/41] python3Packages.motioneye-client: 0.3.10 -> 0.3.11 --- pkgs/development/python-modules/motioneye-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix index a7981feb2055..35632e780e7e 100644 --- a/pkgs/development/python-modules/motioneye-client/default.nix +++ b/pkgs/development/python-modules/motioneye-client/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "motioneye-client"; - version = "0.3.10"; + version = "0.3.11"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "dermotduffy"; repo = pname; rev = "v${version}"; - sha256 = "0ilh9wfzggnbfz068vkz66g64ar6isl3m2vcp7jf2zbaj0bqsjax"; + sha256 = "0f34ig8njyn7dzy8272m0b1nlnnhir58ar3vx4zps10i0dc32hb2"; }; nativeBuildInputs = [ From b826d7228a3102903fb9baec353b514114c5246c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 18:33:18 +0200 Subject: [PATCH 18/41] python3Packages.pysma: 0.6.4 -> 0.6.5 --- pkgs/development/python-modules/pysma/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix index 4f04038d6507..f538830a7fbe 100644 --- a/pkgs/development/python-modules/pysma/default.nix +++ b/pkgs/development/python-modules/pysma/default.nix @@ -9,11 +9,11 @@ buildPythonPackage rec { pname = "pysma"; - version = "0.6.4"; + version = "0.6.5"; src = fetchPypi { inherit pname version; - sha256 = "sha256-hnvbQOilsoHn1qc/pKJ2Eq1VwJi+HbGlAAJwiME1Pgc="; + sha256 = "0kabwx8mi2kkbxxg7abnxwggxvidjrzgp5yidiyll5iba0ghhgnw"; }; propagatedBuildInputs = [ From 598266b34c7c6cccd26f8c65c16d9397932153d7 Mon Sep 17 00:00:00 2001 From: Mukund Lakshman Date: Sat, 31 Jul 2021 19:33:49 +0100 Subject: [PATCH 19/41] calibre: 5.17.0 -> 5.24.0 - No need to pin zeroconf to older version. - Override apsw to compile with load_extension support. [1] [1] https://bugs.launchpad.net/calibre/+bug/1935747 --- pkgs/applications/misc/calibre/default.nix | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 07e0a62b901b..85a644e5f1b9 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -22,15 +22,16 @@ , libmtp , xdg-utils , removeReferencesTo +, libstemmer }: mkDerivation rec { pname = "calibre"; - version = "5.17.0"; + version = "5.24.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; - hash = "sha256-rdiBL3Y3q/0wFfWGE4jGkWakgV8hA9HjDcKXso6tVrs="; + hash = "sha256:18dr577nv7ijw3ar6mrk2xrc54mlrqkaj5jrc6s5sirl0710fdfg"; }; patches = [ @@ -65,6 +66,7 @@ mkDerivation rec { libjpeg libmtp libpng + libstemmer libusb1 podofo poppler_utils @@ -73,7 +75,9 @@ mkDerivation rec { xdg-utils ] ++ ( with python3Packages; [ - apsw + (apsw.overrideAttrs (oldAttrs: rec { + setupPyBuildFlags = [ "--enable=load_extension" ]; + })) beautifulsoup4 cchardet css-parser @@ -95,15 +99,7 @@ mkDerivation rec { python regex sip - (zeroconf.overrideAttrs (oldAttrs: rec { - version = "0.31.0"; - src = fetchFromGitHub { - owner = "jstasiak"; - repo = "python-zeroconf"; - rev = version; - sha256 = "158dqay74zvnz6kmpvip4ml0kw59nf2aaajwgaamx0zc8ci1p5pj"; - }; - })) + zeroconf # the following are distributed with calibre, but we use upstream instead odfpy ] ++ lib.optional (unrarSupport) unrardll From 10cd1a5497a906f951591a3bfa0a56649ecf9ed9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 22:07:44 +0200 Subject: [PATCH 20/41] python3Packages.sentry-sdk: 1.3.0 -> 1.3.1 --- pkgs/development/python-modules/sentry-sdk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index 9b3875822527..ff58edbeb313 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -29,11 +29,11 @@ buildPythonPackage rec { pname = "sentry-sdk"; - version = "1.3.0"; + version = "1.3.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-UhCnEt1X2I0iXB/D/jo2Jv7kk2N7zVTiBIJs8EuNdpw="; + sha256 = "0v72zzghlk6kvjg7fg4c4mfr1kasnwlpjzk1wyqd864nz9293sgb"; }; checkInputs = [ blinker botocore chalice django flask tornado bottle rq falcon sqlalchemy werkzeug trytond From 47177fcf4eb86928e69bf3cfd1890f97f405edf0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 22:14:30 +0200 Subject: [PATCH 21/41] python3Packages.pg8000: 1.20.0 -> 1.21.0 --- pkgs/development/python-modules/pg8000/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix index db18611f20aa..07efa604cad0 100644 --- a/pkgs/development/python-modules/pg8000/default.nix +++ b/pkgs/development/python-modules/pg8000/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "pg8000"; - version = "1.20.0"; + version = "1.21.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-SQ7CKpJgHwRUs+1MjU7N3DD2bA4/eD8OzFgQN3SajFU="; + sha256 = "1msj0vk14fbsis8yfk0my1ygpcli9jz3ivwdi9k6ii5i6330i4f9"; }; propagatedBuildInputs = [ @@ -21,11 +21,6 @@ buildPythonPackage rec { scramp ]; - postPatch = '' - substituteInPlace setup.py \ - --replace "scramp==1.4.0" "scramp>=1.4.0" - ''; - # Tests require a running PostgreSQL instance doCheck = false; pythonImportsCheck = [ "pg8000" ]; From e5cf1f11c21c3cc31521021fa069dc169b51f919 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 22:20:12 +0200 Subject: [PATCH 22/41] python3Packages.phonenumbers: 8.12.26 -> 8.12.28 --- pkgs/development/python-modules/phonenumbers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix index fa869c5d75d9..6d2a4cac36b3 100644 --- a/pkgs/development/python-modules/phonenumbers/default.nix +++ b/pkgs/development/python-modules/phonenumbers/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "phonenumbers"; - version = "8.12.26"; + version = "8.12.28"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Zbq269vg7FGWx0YmlJdI21M30jiVqrwe+PXXKEeHmYo="; + sha256 = "1g86bf791lr9ggrfgllah9liwa3bx917h9ffrdb01kjwdna4zsj2"; }; checkInputs = [ From a895c83b03ec053665f82599e97e35411b7c62f9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 22:45:32 +0200 Subject: [PATCH 23/41] python3Packages.pipdate: 0.5.2 -> 0.5.5 --- .../python-modules/pipdate/default.nix | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/pkgs/development/python-modules/pipdate/default.nix b/pkgs/development/python-modules/pipdate/default.nix index 35fbb624e6b7..627e2b0a6fae 100644 --- a/pkgs/development/python-modules/pipdate/default.nix +++ b/pkgs/development/python-modules/pipdate/default.nix @@ -2,23 +2,23 @@ , buildPythonPackage , fetchPypi , pythonOlder -, isPy27 , appdirs , importlib-metadata , requests -, pytest +, rich +, setuptools , wheel }: buildPythonPackage rec { pname = "pipdate"; - version = "0.5.2"; + version = "0.5.5"; format = "pyproject"; - disabled = isPy27; # abandoned + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "507065231f2d50b6319d483432cba82aadad78be21b7a2969b5881ed8dee9ab4"; + sha256 = "03hr9i691cpg9q2xc1xr4lpd90xs8rba0xjh6qmc1vg7lgcdgbaa"; }; nativeBuildInputs = [ wheel ]; @@ -26,25 +26,19 @@ buildPythonPackage rec { propagatedBuildInputs = [ appdirs requests + rich + setuptools ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]; - checkInputs = [ - pytest - ]; - - checkPhase = '' - HOME=$(mktemp -d) pytest test/test_pipdate.py - ''; - - # tests require network access + # Tests require network access and pythonImportsCheck requires configuration file doCheck = false; meta = with lib; { description = "pip update helpers"; homepage = "https://github.com/nschloe/pipdate"; - license = licenses.mit; - maintainers = [ maintainers.costrouc ]; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ costrouc ]; }; } From ab21b704130458c4fc5e5e840cf1e7ac2094f93e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 22:56:43 +0200 Subject: [PATCH 24/41] python3Packages.plexapi: 4.6.1 -> 4.7.0 --- pkgs/development/python-modules/plexapi/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix index d2e04586e382..2df3e3a17c84 100644 --- a/pkgs/development/python-modules/plexapi/default.nix +++ b/pkgs/development/python-modules/plexapi/default.nix @@ -4,19 +4,19 @@ , requests , tqdm , websocket-client -, isPy27 +, pythonOlder }: buildPythonPackage rec { - pname = "PlexAPI"; - version = "4.6.1"; - disabled = isPy27; + pname = "plexapi"; + version = "4.7.0"; + disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "pkkid"; repo = "python-plexapi"; rev = version; - sha256 = "sha256-WL5UBsvAdtfOCkVX9NI0Z2fJ2CAO+NwD8wvkvkJ2uww="; + sha256 = "1gh36ln9ki69rs7ml9syqq956i996rdi145qffjwb3736zylrzkp"; }; propagatedBuildInputs = [ @@ -27,6 +27,7 @@ buildPythonPackage rec { # Tests require a running Plex instance doCheck = false; + pythonImportsCheck = [ "plexapi" ]; meta = with lib; { From eb6202d5e7ea1ec3f761cadc61f9dbfa24aeb6b1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 23:01:53 +0200 Subject: [PATCH 25/41] python3Packages.neo: 0.9.0 -> 0.10.0 --- pkgs/development/python-modules/neo/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/neo/default.nix b/pkgs/development/python-modules/neo/default.nix index e5db8450e788..27da5b71b68b 100644 --- a/pkgs/development/python-modules/neo/default.nix +++ b/pkgs/development/python-modules/neo/default.nix @@ -4,15 +4,17 @@ , nose , numpy , quantities +, pythonOlder }: buildPythonPackage rec { pname = "neo"; - version = "0.9.0"; + version = "0.10.0"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb"; + sha256 = "0lw3r9p1ky1cswhrs9radc0vq1qfzbrk7qd00f34g96g30zab4g5"; }; propagatedBuildInputs = [ numpy quantities ]; From f85d58f97845131e9959f5915bd9ec3ecdd0a743 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 23:07:17 +0200 Subject: [PATCH 26/41] python3Packages.nbxmpp: 2.0.2 -> 2.0.3 --- pkgs/development/python-modules/nbxmpp/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix index c145b9d888f4..75a8f884fad0 100644 --- a/pkgs/development/python-modules/nbxmpp/default.nix +++ b/pkgs/development/python-modules/nbxmpp/default.nix @@ -4,17 +4,16 @@ buildPythonPackage rec { pname = "nbxmpp"; - version = "2.0.2"; + version = "2.0.3"; disabled = pythonOlder "3.7"; - # Tests aren't included in PyPI tarball. src = fetchFromGitLab { domain = "dev.gajim.org"; owner = "gajim"; repo = "python-nbxmpp"; rev = "nbxmpp-${version}"; - sha256 = "0z27mxgfk7hvpx0xdrd8g9441rywv74yk7s83zjnc2mc7xvpwhf4"; + sha256 = "0gzyd25sja7n49f1ihyg6gch1b0r409r0p3qpwn8w8xy7jgn6ysc"; }; buildInputs = [ precis-i18n ]; From 83d432ea5aac1bc5a9a8bd2778b3abb093da139d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 31 Jul 2021 23:12:24 +0200 Subject: [PATCH 27/41] python3Packages.nbxmpp: enable tests --- .../python-modules/nbxmpp/default.nix | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix index 75a8f884fad0..44460a21d5b9 100644 --- a/pkgs/development/python-modules/nbxmpp/default.nix +++ b/pkgs/development/python-modules/nbxmpp/default.nix @@ -1,5 +1,14 @@ -{ lib, buildPythonPackage, pythonOlder, fetchFromGitLab -, gobject-introspection, idna, libsoup, precis-i18n, pygobject3, pyopenssl +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitLab +, gobject-introspection +, idna +, libsoup +, precis-i18n +, pygobject3 +, pyopenssl +, pytestCheckHook }: buildPythonPackage rec { @@ -16,8 +25,21 @@ buildPythonPackage rec { sha256 = "0gzyd25sja7n49f1ihyg6gch1b0r409r0p3qpwn8w8xy7jgn6ysc"; }; - buildInputs = [ precis-i18n ]; - propagatedBuildInputs = [ gobject-introspection idna libsoup pygobject3 pyopenssl ]; + buildInputs = [ + precis-i18n + ]; + + propagatedBuildInputs = [ + gobject-introspection + idna + libsoup + pygobject3 + pyopenssl + ]; + + checkInputs = [ + pytestCheckHook + ]; pythonImportsCheck = [ "nbxmpp" ]; From 5ba6336647cb7d015a2463df1dd822a06518fa4b Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 31 Jul 2021 18:48:08 -0300 Subject: [PATCH 28/41] rst2html5: 1.10.6 -> 2.0 --- pkgs/tools/text/rst2html5/default.nix | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/text/rst2html5/default.nix b/pkgs/tools/text/rst2html5/default.nix index c9e8b0469869..5ae0caa34e13 100644 --- a/pkgs/tools/text/rst2html5/default.nix +++ b/pkgs/tools/text/rst2html5/default.nix @@ -1,22 +1,23 @@ { lib, python3Packages }: -let +python3Packages.buildPythonPackage rec { pname = "rst2html5"; - version = "1.10.6"; - format = "wheel"; -in python3Packages.buildPythonPackage { - inherit pname version format; + version = "2.0"; src = python3Packages.fetchPypi { - inherit pname version format; - sha256 = "sha256-jmToDFLQODqgTycBp2J8LyoJ1Zxho9w1VdhFMzvDFkg="; + inherit pname version; + hash = "sha256-Ejjja/fm6wXTf9YtjCYZsNDB8X5oAtyPoUIsYFDuZfc="; }; - propagatedBuildInputs = with python3Packages; - [ docutils genshi pygments beautifulsoup4 ]; + buildInputs = with python3Packages; [ + beautifulsoup4 + docutils + genshi + pygments + ]; meta = with lib;{ - homepage = "https://pypi.org/project/rst2html5/"; + homepage = "https://rst2html5.readthedocs.io/en/latest/"; description = "Converts ReSTructuredText to (X)HTML5"; license = licenses.mit; maintainers = with maintainers; [ AndersonTorres ]; From ce2d6c8e978a686435acdba4929b8c34e99989e6 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 31 Jul 2021 19:26:30 -0300 Subject: [PATCH 29/41] zchunk: 1.1.11 -> 1.1.16 --- pkgs/development/libraries/zchunk/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/zchunk/default.nix b/pkgs/development/libraries/zchunk/default.nix index cf0063f7780d..ddbd95b55d96 100644 --- a/pkgs/development/libraries/zchunk/default.nix +++ b/pkgs/development/libraries/zchunk/default.nix @@ -11,15 +11,13 @@ stdenv.mkDerivation rec { pname = "zchunk"; - version = "1.1.11"; - - outputs = [ "out" "lib" "dev" ]; + version = "1.1.16"; src = fetchFromGitHub { owner = "zchunk"; repo = pname; rev = version; - hash = "sha256-r+qWJOUnTyPJjM9eW44Q2DMKxx4HloyfNrQ6xWDO9vQ="; + hash = "sha256-+8FkivLTZXdu0+1wu+7T98y6rQzIHbG9l15Abrbln1o="; }; nativeBuildInputs = [ @@ -33,6 +31,13 @@ stdenv.mkDerivation rec { zstd ] ++ lib.optional stdenv.isDarwin argp-standalone; + + outputs = [ + "out" + "lib" + "dev" + ]; + meta = with lib; { homepage = "https://github.com/zchunk/zchunk"; description = "File format designed for highly efficient deltas while maintaining good compression"; From e8b00e9eebf7d6138a767107758920bb98b47a22 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Sat, 31 Jul 2021 18:40:30 -0400 Subject: [PATCH 30/41] mavproxy: 1.8.39 -> 1.8.40 --- pkgs/applications/science/robotics/mavproxy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix index ba0c2530849a..4f83f957dbf7 100644 --- a/pkgs/applications/science/robotics/mavproxy/default.nix +++ b/pkgs/applications/science/robotics/mavproxy/default.nix @@ -3,11 +3,11 @@ buildPythonApplication rec { pname = "MAVProxy"; - version = "1.8.39"; + version = "1.8.40"; src = fetchPypi { inherit pname version; - sha256 = "sha256-1RXuAiz9i5ZnLtDGQ+o3DNgWJ2FDJGIoelmlDmEzrts="; + sha256 = "cad317e2e879f1f7cb59af078788aaf0d09cd761ecd91ad091adf7ac6cc1bcdb"; }; postPatch = '' From c9e991bd649c231e673bef17dd8820b71fb90f64 Mon Sep 17 00:00:00 2001 From: Alexandre Macabies Date: Sun, 1 Aug 2021 00:44:02 +0200 Subject: [PATCH 31/41] mpvScripts.simple-mpv-webui: 1.0.0 -> 2.1.0 This also adds a test. The current packaged version (1.0.0) is broken, it cannot find relevant files. --- nixos/tests/all-tests.nix | 1 + nixos/tests/mpv.nix | 28 +++++++++++++++++++ .../video/mpv/scripts/simple-mpv-webui.nix | 6 ++-- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 nixos/tests/mpv.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index ae2aff2226b3..1a71e8f86b9e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -259,6 +259,7 @@ in morty = handleTest ./morty.nix {}; mosquitto = handleTest ./mosquitto.nix {}; mpd = handleTest ./mpd.nix {}; + mpv = handleTest ./mpv.nix {}; mumble = handleTest ./mumble.nix {}; musescore = handleTest ./musescore.nix {}; munin = handleTest ./munin.nix {}; diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix new file mode 100644 index 000000000000..bcfc17cf3328 --- /dev/null +++ b/nixos/tests/mpv.nix @@ -0,0 +1,28 @@ +import ./make-test-python.nix ({ lib, ... }: + +with lib; + +let + port = toString 4321; +in +{ + name = "mpv"; + meta.maintainers = with maintainers; [ zopieux ]; + + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ + pkgs.curl + (pkgs.mpv-with-scripts.override { + scripts = [ pkgs.mpvScripts.simple-mpv-webui ]; + }) + ]; + }; + + testScript = '' + machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &") + machine.wait_for_open_port(${port}) + assert "simple-mpv-webui" in machine.succeed("curl -s localhost:${port}") + ''; +}) diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix index 99b731757ff9..01f2c3a099fa 100644 --- a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix +++ b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix @@ -2,13 +2,13 @@ , fetchFromGitHub }: stdenvNoCC.mkDerivation rec { pname = "simple-mpv-ui"; - version = "1.0.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "open-dynaMIX"; repo = "simple-mpv-webui"; rev = "v${version}"; - sha256 = "1glrnnl1slcl0ri0zs4j64lc9aa52p9ffh6av0d81fk95nm98917"; + sha256 = "1z0y8sdv5mbxznxqh43w5592ym688vkvqg7w26p8cinrhf09pbw8"; }; dontBuild = true; @@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "A web based user interface with controls for the mpv mediaplayer"; homepage = "https://github.com/open-dynaMIX/simple-mpv-webui"; - maintainers = [ maintainers.cript0nauta ]; + maintainers = with maintainers; [ cript0nauta zopieux ]; longDescription = '' You can access the webui when accessing http://127.0.0.1:8080 or http://[::1]:8080 in your webbrowser. By default it listens on From bf3fd5a7db0af881356e2433ef3dce82619329f4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 31 Jul 2021 23:02:39 +0000 Subject: [PATCH 32/41] gensio: 2.2.7 -> 2.2.8 --- pkgs/development/libraries/gensio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix index 3978c05f2c71..0cd2f79ea552 100644 --- a/pkgs/development/libraries/gensio/default.nix +++ b/pkgs/development/libraries/gensio/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "gensio"; - version = "2.2.7"; + version = "2.2.8"; src = fetchFromGitHub { owner = "cminyard"; repo = pname; rev = "v${version}"; - sha256 = "sha256-2wxsPHrQ9GgyUE4p6zYuR1mPU2OyjtgiPnMApEscR2g="; + sha256 = "sha256-6+hYytLMg5E1KTBPWSteVu2VjF0APkcoOiigqzrBI+U="; }; passthru = { From da663a953bb3345288acc0f890173ae3e5b34880 Mon Sep 17 00:00:00 2001 From: Robert Hensing <robert@roberthensing.nl> Date: Sun, 1 Aug 2021 01:03:57 +0200 Subject: [PATCH 33/41] ghostunnel: 1.5.3 -> 1.6.0 --- pkgs/tools/networking/ghostunnel/default.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/ghostunnel/default.nix b/pkgs/tools/networking/ghostunnel/default.nix index 5d00b493bc37..d93ac670500d 100644 --- a/pkgs/tools/networking/ghostunnel/default.nix +++ b/pkgs/tools/networking/ghostunnel/default.nix @@ -7,16 +7,25 @@ buildGoModule rec { pname = "ghostunnel"; - version = "1.5.3"; + version = "1.6.0"; src = fetchFromGitHub { owner = "ghostunnel"; repo = "ghostunnel"; rev = "v${version}"; - sha256 = "15rmd89j7sfpznzznss899smizbyshprsrvsdmrbhb617myd9fpy"; + sha256 = "sha256-EE8gCm/gOp3lmCx1q4PahulipLoBZnEatNAVUXzHIVw="; }; - vendorSha256 = "1i95fx4a0fh6id6iy6afbva4pazr7ym6sbwi9r7la6gxzyncd023"; + vendorSha256 = "sha256-XgmvqB1PCfL2gSDqwqauSixk8vlINHRmX6U0h9EXXdU="; + + deleteVendor = true; + + # The certstore directory isn't recognized as a subpackage, but is when moved + # into the vendor directory. + postUnpack = '' + mkdir -p $sourceRoot/vendor/ghostunnel + mv $sourceRoot/certstore $sourceRoot/vendor/ghostunnel/ + ''; meta = with lib; { description = "A simple TLS proxy with mutual authentication support for securing non-TLS backend applications"; From 9a6d7eab73b9642eaea666e04bd9c18460511c40 Mon Sep 17 00:00:00 2001 From: Robert Hensing <robert@roberthensing.nl> Date: Sun, 1 Aug 2021 01:11:28 +0200 Subject: [PATCH 34/41] ghostunnel: Add passthru.tests.podman --- pkgs/tools/networking/ghostunnel/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/networking/ghostunnel/default.nix b/pkgs/tools/networking/ghostunnel/default.nix index d93ac670500d..c5b7d3db0f1b 100644 --- a/pkgs/tools/networking/ghostunnel/default.nix +++ b/pkgs/tools/networking/ghostunnel/default.nix @@ -35,4 +35,5 @@ buildGoModule rec { }; passthru.tests.nixos = nixosTests.ghostunnel; + passthru.tests.podman = nixosTests.podman-tls-ghostunnel; } From 2730f105acd2aa4f866b45e33caf4c619558ef7d Mon Sep 17 00:00:00 2001 From: AndersonTorres <torres.anderson.85@protonmail.com> Date: Sat, 31 Jul 2021 20:20:19 -0300 Subject: [PATCH 35/41] arcan: 0.6.1pre1+unstable=2021-07-10 -> 0.6.1pre1+unstable=2021-07-30 --- pkgs/desktops/arcan/arcan.nix | 6 +++--- pkgs/desktops/arcan/wrapper.nix | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/arcan/arcan.nix b/pkgs/desktops/arcan/arcan.nix index c6a57ecc3bda..6cd31001fa76 100644 --- a/pkgs/desktops/arcan/arcan.nix +++ b/pkgs/desktops/arcan/arcan.nix @@ -52,13 +52,13 @@ let in stdenv.mkDerivation rec { pname = "arcan"; - version = "0.6.1pre1+unstable=2021-07-10"; + version = "0.6.1pre1+unstable=2021-07-30"; src = fetchFromGitHub { owner = "letoram"; repo = "arcan"; - rev = "25da999e6e03688c71c7df3852314c01ed610e0d"; - hash = "sha256-+ZF6mD/Z0N/5QCjXe80z4L6JOE33+Yv4ZlwKvlG/c44="; + rev = "885b2f0c9e031fd157af21302af2027ecbe3fe1f"; + hash = "sha256-tj5kPa5OWCGt7LTzo4ZYV1UjBpOrjQHER/K+ZfL3h+8="; }; postUnpack = '' diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/desktops/arcan/wrapper.nix index 4368b0ad3a59..e394e2e08976 100644 --- a/pkgs/desktops/arcan/wrapper.nix +++ b/pkgs/desktops/arcan/wrapper.nix @@ -20,9 +20,10 @@ symlinkJoin rec { --set ARCAN_BINPATH "${placeholder "out"}/bin/arcan_frameserver" \ --set ARCAN_LIBPATH "${placeholder "out"}/lib/" \ --set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/" \ - --set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/" \ - --set ARCAN_STATEBASEPATH "\$HOME/.arcan/resources/savestates/" + --set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/" done ''; } # TODO: set ARCAN_FONTPATH to a set of fonts that can be provided in a parameter +# TODO: set ARCAN_STATEBASEPATH to $HOME/.arcan/resources/savestates/ - possibly +# via a suitable script From bf0cd1ce16321de4823ede4fd7e6ac4c03a74d82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Mancilla?= <smancill@smancill.dev> Date: Thu, 29 Jul 2021 16:51:25 -0400 Subject: [PATCH 36/41] libcanberra/libcanberra-gtk2: fix build on darwin All libcanberra/libcanberra-gtk2/libcanberra-gtk3 packages were marked as broken on commit 806d814516c (libcanberra: mark broken on darwin, 2021-02-11), but only libcanberra-gtk3 is broken due to the missing header. This commit refactors how to enable GTK support, to mark just libcanberra-gtk3 as broken and allow building libcanberra and libcanberra-gtk2. libcanberra builds but the linker fails with: ld: file not found: /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon for architecture x86_64 clang-7: error: linker command failed with exit code 1 (use -v to see invocation) Adding Carbon to the inputs solves the problem. libcanberra-gtk2 builds and the linker finishes without the above error, most likely because it depends on gtk2 and gtk2 depends on Cocoa. Also fix some issues with the derivation: - Use pname/version instead of name. - Use lib.optionalString to set postPatch. - Only set passthru if building with GTK support, and ensure that the proper directory is passed for each GTK version. --- .../libraries/libcanberra/default.nix | 23 +++++++++++-------- pkgs/top-level/all-packages.nix | 6 ++--- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix index 5d4bca0f1b9f..92f05b8cd303 100644 --- a/pkgs/development/libraries/libcanberra/default.nix +++ b/pkgs/development/libraries/libcanberra/default.nix @@ -1,22 +1,25 @@ { stdenv, lib, fetchurl, fetchpatch, pkg-config, libtool -, gtk ? null +, gtk2-x11, gtk3-x11 , gtkSupport ? null , libpulseaudio, gst_all_1, libvorbis, libcap -, CoreServices +, Carbon, CoreServices , withAlsa ? stdenv.isLinux, alsa-lib }: stdenv.mkDerivation rec { - name = "libcanberra-0.30"; + pname = "libcanberra"; + version = "0.30"; src = fetchurl { - url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.xz"; + url = "http://0pointer.de/lennart/projects/libcanberra/${pname}-${version}.tar.xz"; sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2"; }; nativeBuildInputs = [ pkg-config libtool ]; buildInputs = [ - libpulseaudio libvorbis gtk + libpulseaudio libvorbis ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ]) - ++ lib.optional stdenv.isDarwin CoreServices + ++ lib.optional (gtkSupport == "gtk2") gtk2-x11 + ++ lib.optional (gtkSupport == "gtk3") gtk3-x11 + ++ lib.optionals stdenv.isDarwin [Carbon CoreServices] ++ lib.optional stdenv.isLinux libcap ++ lib.optional withAlsa alsa-lib; @@ -30,7 +33,7 @@ stdenv.mkDerivation rec { }) ]; - postPatch = (lib.optional stdenv.isDarwin) '' + postPatch = lib.optionalString stdenv.isDarwin '' patch -p0 < ${fetchpatch { url = "https://raw.githubusercontent.com/macports/macports-ports/master/audio/libcanberra/files/patch-configure.diff"; sha256 = "1f7h7ifpqvbfhqygn1b7klvwi80zmpv3538vbmq7ql7bkf1q8h31"; @@ -43,8 +46,8 @@ stdenv.mkDerivation rec { done ''; - passthru = { - gtkModule = "/lib/gtk-2.0/"; + passthru = lib.optionalAttrs (gtkSupport != null) { + gtkModule = if gtkSupport == "gtk2" then "/lib/gtk-2.0" else "/lib/gtk-3.0/"; }; meta = with lib; { @@ -62,6 +65,6 @@ stdenv.mkDerivation rec { platforms = platforms.unix; # canberra-gtk-module.c:28:10: fatal error: 'gdk/gdkx.h' file not found # #include <gdk/gdkx.h> - broken = stdenv.isDarwin; + broken = stdenv.isDarwin && (gtkSupport == "gtk3"); }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ef3ab8e60e7..1fb91e0c20e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16295,13 +16295,13 @@ in libcacard = callPackage ../development/libraries/libcacard { }; libcanberra = callPackage ../development/libraries/libcanberra { - inherit (darwin.apple_sdk.frameworks) CoreServices; + inherit (darwin.apple_sdk.frameworks) Carbon CoreServices; }; libcanberra-gtk2 = pkgs.libcanberra.override { - gtk = gtk2-x11; + gtkSupport = "gtk2"; }; libcanberra-gtk3 = pkgs.libcanberra.override { - gtk = gtk3-x11; + gtkSupport = "gtk3"; }; libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true) From db915d4cca276cddb5957bc97a4072a6e25a5d72 Mon Sep 17 00:00:00 2001 From: AndersonTorres <torres.anderson.85@protonmail.com> Date: Sat, 31 Jul 2021 21:48:07 -0300 Subject: [PATCH 37/41] yambar: 1.6.1 -> 1.6.2 --- pkgs/applications/misc/yambar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix index 375b802d5c16..933f352e5e86 100644 --- a/pkgs/applications/misc/yambar/default.nix +++ b/pkgs/applications/misc/yambar/default.nix @@ -24,12 +24,12 @@ stdenv.mkDerivation rec { pname = "yambar"; - version = "1.6.1"; + version = "1.6.2"; src = fetchgit { url = "https://codeberg.org/dnkl/yambar.git"; rev = version; - sha256 = "p47tFsEWsYNe6IVV65xGG211u6Vm2biRf4pmUDylBOQ="; + sha256 = "sha256-oUNkaWrYIcsK2u+aeRg6DHmH4M1VZ0leNSM0lV9Yy1Y="; }; nativeBuildInputs = [ pkg-config meson ninja scdoc ]; From d4d9dd61a192f98f88d86f62d3b5484fec0f2e17 Mon Sep 17 00:00:00 2001 From: Kevin Cox <kevincox@kevincox.ca> Date: Sat, 31 Jul 2021 20:20:28 -0400 Subject: [PATCH 38/41] dwarf-fortress-packages.twbt: Fix twbt version to match tfhack version. Otherwise you get an error upon starting the game: ``` Plugin twbt was not built for this version of DFHack. Plugin: 0.47.05-beta1, DFHack: 0.47.05-r1 ``` --- pkgs/games/dwarf-fortress/twbt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/dwarf-fortress/twbt/default.nix b/pkgs/games/dwarf-fortress/twbt/default.nix index 7882cf06a074..7d2816d97a4a 100644 --- a/pkgs/games/dwarf-fortress/twbt/default.nix +++ b/pkgs/games/dwarf-fortress/twbt/default.nix @@ -52,8 +52,8 @@ let }; "0.47.05" = { twbtRelease = "6.xx"; - dfhackRelease = "0.47.05-beta1"; - sha256 = "sha256-Y6G0qBMHvotp/oyiqANlzXZVklL270dhskd135PnE9Q="; + dfhackRelease = "0.47.05-r1"; + sha256 = "1nqhaf7271bm9rq9dmilhhk9q7v3841d0rv4y3fid40vfi4gpi3p"; prerelease = true; }; }; From 4f0545c3d44ca09cbaa6295e17370abfadbf2d56 Mon Sep 17 00:00:00 2001 From: Ilan Joselevich <personal@ilanjoselevich.com> Date: Fri, 30 Jul 2021 11:57:06 +0300 Subject: [PATCH 39/41] vial: 0.4 -> 0.4.1 --- pkgs/tools/misc/vial/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/vial/default.nix b/pkgs/tools/misc/vial/default.nix index c8d38d826d1f..f1295e2b9dc5 100644 --- a/pkgs/tools/misc/vial/default.nix +++ b/pkgs/tools/misc/vial/default.nix @@ -1,12 +1,12 @@ { lib, fetchurl, appimageTools }: let name = "vial-${version}"; - version = "0.4"; + version = "0.4.1"; pname = "Vial"; src = fetchurl { url = "https://github.com/vial-kb/vial-gui/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage"; - sha256 = "sha256-4EDEVSqjQ6Ybqx4BoNwE4pT5yFLYM05FBHc5deQU9f8="; + sha256 = "sha256-aN0wvgahWPNSXP/JmV1JWaEnARIOTyRdz1ko6eC7Y5s="; }; appimageContents = appimageTools.extractType2 { inherit name src; }; From 092851ddeb92a08d674c03af7078ca14beec4240 Mon Sep 17 00:00:00 2001 From: Ilan Joselevich <personal@ilanjoselevich.com> Date: Fri, 30 Jul 2021 11:58:42 +0300 Subject: [PATCH 40/41] vial: gpl2Only -> gpl2Plus --- pkgs/tools/misc/vial/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/vial/default.nix b/pkgs/tools/misc/vial/default.nix index f1295e2b9dc5..5685141e4465 100644 --- a/pkgs/tools/misc/vial/default.nix +++ b/pkgs/tools/misc/vial/default.nix @@ -26,7 +26,7 @@ appimageTools.wrapType2 { meta = with lib; { description = "An Open-source cross-platform (Windows, Linux and Mac) GUI and a QMK fork for configuring your keyboard in real time"; homepage = "https://get.vial.today"; - license = licenses.gpl2Only; + license = licenses.gpl2Plus; maintainers = with maintainers; [ kranzes ]; platforms = [ "x86_64-linux" ]; }; From ad5c19a72808ef82b9299f1b516fdc6e22b0d277 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg <andersk@mit.edu> Date: Thu, 29 Jul 2021 20:57:14 -0700 Subject: [PATCH 41/41] =?UTF-8?q?zulip:=205.8.0=20=E2=86=92=205.8.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Anders Kaseorg <andersk@mit.edu> --- .../networking/instant-messengers/zulip/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix index 6e3ef93ec771..1fce1a6b6e52 100644 --- a/pkgs/applications/networking/instant-messengers/zulip/default.nix +++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix @@ -5,12 +5,12 @@ let pname = "zulip"; - version = "5.8.0"; + version = "5.8.1"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage"; - sha256 = "0z8lp56j6qvm57sfqdyqrqzj9add3drh1z4zsckg45jfw6yn3jdv"; + sha256 = "02m18y5j6jmmlygv8ycwaaq6n7mvj97ljhd3l9pvii0adwcvrpfz"; name="${pname}-${version}.AppImage"; };